PageSourceSearch

https://speakflare.com/assets/index-CTc-D-_m.js

js speakflare.com collected 2026-10-02 01:43:56 UTC 2,405,901 bytes, 954 lines download raw bytes

vendor: 5,972 bytes, lines 1-9
1var FZ=Object.defineProperty;var _T=e=>{throw TypeError(e)};var DZ=(e,t,r)=>t in e?FZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Y=(e,t,r)=>DZ(e,typeof t!="symbol"?t+"":t,r),E0=(e,t,r)=>t.has(e)||_T("Cannot "+r);var q=(e,t,r)=>(E0(e,t,"read from private field"),r?r.call(e):t.get(e)),Le=(e,t,r)=>t.has(e)?_T("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Pe=(e,t,r,a)=>(E0(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),nt=(e,t,r)=>(E0(e,t,"access private method"),r);var Wp=(e,t,r,a)=>({set _(s){Pe(e,t,s,r)},get _(){return q(e,t,a)}});function $Z(e,t){for(var r=0;r<t.length;r++){const a=t[r];if(typeof a!="string"&&!Array.isArray(a)){for(const s in a)if(s!=="default"&&!(s in e)){const i=Object.getOwnPropertyDescriptor(a,s);i&&Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>a[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function a(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();var Up=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ft(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var c6={exports:{}},kv={},d6={exports:{}},mt={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var rp=Symbol.for("react.element"),LZ=Symbol.for("react.portal"),zZ=Symbol.for("react.fragment"),BZ=Symbol.for("react.strict_mode"),WZ=Symbol.for("react.profiler"),UZ=Symbol.for("react.provider"),VZ=Symbol.for("react.context"),qZ=Symbol.for("react.forward_ref"),HZ=Symbol.for("react.suspense"),GZ=Symbol.for("react.memo"),KZ=Symbol.for("react.lazy"),MT=Symbol.iterator;function YZ(e){return e===null||typeof e!="object"?null:(e=MT&&e[MT]||e["@@iterator"],typeof e=="function"?e:null)}var u6={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m6=Object.assign,h6={};function Uu(e,t,r){this.props=e,this.context=t,this.refs=h6,this.updater=r||u6}Uu.prototype.isReactComponent={};Uu.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): 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")};Uu.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function f6(){}f6.prototype=Uu.prototype;function CS(e,t,r){this.props=e,this.context=t,this.refs=h6,this.updater=r||u6}var PS=CS.prototype=new f6;PS.constructor=CS;m6(PS,Uu.prototype);PS.isPureReactComponent=!0;var OT=Array.isArray,p6=Object.prototype.hasOwnProperty,TS={current:null},g6={key:!0,ref:!0,__self:!0,__source:!0};function x6(e,t,r){var a,s={},i=null,o=null;if(t!=null)for(a in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)p6.call(t,a)&&!g6.hasOwnProperty(a)&&(s[a]=t[a]);var l=arguments.length-2;if(l===1)s.children=r;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];s.children=c}if(e&&e.defaultProps)for(a in l=e.defaultProps,l)s[a]===void 0&&(s[a]=l[a]);return{$$typeof:rp,type:e,key:i,ref:o,props:s,_owner:TS.current}}function ZZ(e,t){return{$$typeof:rp,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function AS(e){return typeof e=="object"&&e!==null&&e.$$typeof===rp}function QZ(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var RT=/\/+/g;function I0(e,t){return typeof e=="object"&&e!==null&&e.key!=null?QZ(""+e.key):t.toString(36)}function Wg(e,t,r,a,s){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case rp:case LZ:o=!0}}if(o)return o=e,s=s(o),e=a===""?"."+I0(o,0):a,OT(s)?(r="",e!=null&&(r=e.replace(RT,"$&/")+"/"),Wg(s,t,r,"",function(d){return d})):s!=null&&(AS(s)&&(s=ZZ(s,r+(!s.key||o&&o.key===s.key?"":(""+s.key).replace(RT,"$&/")+"/")+e)),t.push(s)),1;if(o=0,a=a===""?".":a+":",OT(e))for(var l=0;l<e.length;l++){i=e[l];var c=a+I0(i,l);o+=Wg(i,t,r,c,s)}else if(c=YZ(e),typeof c=="function")for(e=c.call(e),l=0;!(i=e.next()).done;)i=i.value,c=a+I0(i,l++),o+=Wg(i,t,r,c,s);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Vp(e,t,r){if(e==null)return e;var a=[],s=0;return Wg(e,a,"","",function(i){return t.call(r,i,s++)}),a}function XZ(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var On={current:null},Ug={transition:null},JZ={ReactCurrentDispatcher:On,ReactCurrentBatchConfig:Ug,ReactCurrentOwner:TS};function y6(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 5,403 bytes, lines 9-25
9mt.Children={map:Vp,forEach:function(e,t,r){Vp(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return Vp(e,function(){t++}),t},toArray:function(e){return Vp(e,function(t){return t})||[]},only:function(e){if(!AS(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};mt.Component=Uu;mt.Fragment=zZ;mt.Profiler=WZ;mt.PureComponent=CS;mt.StrictMode=BZ;mt.Suspense=HZ;mt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=JZ;mt.act=y6;mt.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=m6({},e.props),s=e.key,i=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,o=TS.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)p6.call(t,c)&&!g6.hasOwnProperty(c)&&(a[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];a.children=l}return{$$typeof:rp,type:e.type,key:s,ref:i,props:a,_owner:o}};mt.createContext=function(e){return e={$$typeof:VZ,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:UZ,_context:e},e.Consumer=e};mt.createElement=x6;mt.createFactory=function(e){var t=x6.bind(null,e);return t.type=e,t};mt.createRef=function(){return{current:null}};mt.forwardRef=function(e){return{$$typeof:qZ,render:e}};mt.isValidElement=AS;mt.lazy=function(e){return{$$typeof:KZ,_payload:{_status:-1,_result:e},_init:XZ}};mt.memo=function(e,t){return{$$typeof:GZ,type:e,compare:t===void 0?null:t}};mt.startTransition=function(e){var t=Ug.transition;Ug.transition={};try{e()}finally{Ug.transition=t}};mt.unstable_act=y6;mt.useCallback=function(e,t){return On.current.useCallback(e,t)};mt.useContext=function(e){return On.current.useContext(e)};mt.useDebugValue=function(){};mt.useDeferredValue=function(e){return On.current.useDeferredValue(e)};mt.useEffect=function(e,t){return On.current.useEffect(e,t)};mt.useId=function(){return On.current.useId()};mt.useImperativeHandle=function(e,t,r){return On.current.useImperativeHandle(e,t,r)};mt.useInsertionEffect=function(e,t){return On.current.useInsertionEffect(e,t)};mt.useLayoutEffect=function(e,t){return On.current.useLayoutEffect(e,t)};mt.useMemo=function(e,t){return On.current.useMemo(e,t)};mt.useReducer=function(e,t,r){return On.current.useReducer(e,t,r)};mt.useRef=function(e){return On.current.useRef(e)};mt.useState=function(e){return On.current.useState(e)};mt.useSyncExternalStore=function(e,t,r){return On.current.useSyncExternalStore(e,t,r)};mt.useTransition=function(){return On.current.useTransition()};mt.version="18.3.1";d6.exports=mt;var y=d6.exports;const L=Ft(y),v6=$Z({__proto__:null,default:L},[y]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var eQ=y,tQ=Symbol.for("react.element"),rQ=Symbol.for("react.fragment"),nQ=Object.prototype.hasOwnProperty,aQ=eQ.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,sQ={key:!0,ref:!0,__self:!0,__source:!0};function b6(e,t,r){var a,s={},i=null,o=null;r!==void 0&&(i=""+r),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(a in t)nQ.call(t,a)&&!sQ.hasOwnProperty(a)&&(s[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)s[a]===void 0&&(s[a]=t[a]);return{$$typeof:tQ,type:e,key:i,ref:o,props:s,_owner:aQ.current}}kv.Fragment=rQ;kv.jsx=b6;kv.jsxs=b6;c6.exports=kv;var n=c6.exports,w6={exports:{}},va={},j6={exports:{}},N6={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function t(_,F){var U=_.length;_.push(F);e:for(;0<U;){var Z=U-1>>>1,H=_[Z];if(0<s(H,F))_[Z]=F,_[U]=H,U=Z;else break e}}function r(_){return _.length===0?null:_[0]}function a(_){if(_.length===0)return null;var F=_[0],U=_.pop();if(U!==F){_[0]=U;e:for(var Z=0,H=_.length,Q=H>>>1;Z<Q;){var B=2*(Z+1)-1,se=_[B],ye=B+1,ne=_[ye];if(0>s(se,U))ye<H&&0>s(ne,se)?(_[Z]=ne,_[ye]=U,Z=ye):(_[Z]=se,_[B]=U,Z=B);else if(ye<H&&0>s(ne,U))_[Z]=ne,_[ye]=U,Z=ye;else break e}}return F}function s(_,F){var U=_.sortIndex-F.sortIndex;return U!==0?U:_.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,m=null,h=3,f=!1,b=!1,g=!1,p=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(_){for(var F=r(d);F!==null;){if(F.callback===null)a(d);else if(F.startTime<=_)a(d),F.sortIndex=F.expirationTime,t(c,F);else break;F=r(d)}}function N(_){if(g=!1,w(_),!b)if(r(c)!==null)b=!0,O(j);else{var F=r(d);F!==null&&$(N,F.startTime-_)}}function j(_,F){b=!1,g&&(g=!1,x(C),C=-1),f=!0;var U=h;
vendor: 9,235 bytes, lines 25-34
25try{for(w(F),m=r(c);m!==null&&(!(m.expirationTime>F)||_&&!E());){var Z=m.callback;if(typeof Z=="function"){m.callback=null,h=m.priorityLevel;var H=Z(m.expirationTime<=F);F=e.unstable_now(),typeof H=="function"?m.callback=H:m===r(c)&&a(c),w(F)}else a(c);m=r(c)}if(m!==null)var Q=!0;else{var B=r(d);B!==null&&$(N,B.startTime-F),Q=!1}return Q}finally{m=null,h=U,f=!1}}var k=!1,S=null,C=-1,A=5,T=-1;function E(){return!(e.unstable_now()-T<A)}function I(){if(S!==null){var _=e.unstable_now();T=_;var F=!0;try{F=S(!0,_)}finally{F?R():(k=!1,S=null)}}else k=!1}var R;if(typeof v=="function")R=function(){v(I)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,M=P.port2;P.port1.onmessage=I,R=function(){M.postMessage(null)}}else R=function(){p(I,0)};function O(_){S=_,k||(k=!0,R())}function $(_,F){C=p(function(){_(e.unstable_now())},F)}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(_){_.callback=null},e.unstable_continueExecution=function(){b||f||(b=!0,O(j))},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return r(c)},e.unstable_next=function(_){switch(h){case 1:case 2:case 3:var F=3;break;default:F=h}var U=h;h=F;try{return _()}finally{h=U}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,F){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var U=h;h=_;try{return F()}finally{h=U}},e.unstable_scheduleCallback=function(_,F,U){var Z=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?Z+U:Z):U=Z,_){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=U+H,_={id:u++,callback:F,priorityLevel:_,startTime:U,expirationTime:H,sortIndex:-1},U>Z?(_.sortIndex=U,t(d,_),r(c)===null&&_===r(d)&&(g?(x(C),C=-1):g=!0,$(N,U-Z))):(_.sortIndex=H,t(c,_),b||f||(b=!0,O(j))),_},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(_){var F=h;return function(){var U=h;h=F;try{return _.apply(this,arguments)}finally{h=U}}}})(N6);j6.exports=N6;var iQ=j6.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var oQ=y,fa=iQ;function fe(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);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."}var k6=new Set,Th={};function vc(e,t){tu(e,t),tu(e+"Capture",t)}function tu(e,t){for(Th[e]=t,e=0;e<t.length;e++)k6.add(t[e])}var Mi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Nj=Object.prototype.hasOwnProperty,lQ=/^[: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]*$/,FT={},DT={};function cQ(e){return Nj.call(DT,e)?!0:Nj.call(FT,e)?!1:lQ.test(e)?DT[e]=!0:(FT[e]=!0,!1)}function dQ(e,t,r,a){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function uQ(e,t,r,a){if(t===null||typeof t>"u"||dQ(e,t,r,a))return!0;if(a)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Rn(e,t,r,a,s,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Jr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Jr[e]=new Rn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Jr[t]=new Rn(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Jr[e]=new Rn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Jr[e]=new Rn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Jr[e]=new Rn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Jr[e]=new Rn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Jr[e]=new Rn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Jr[e]=new Rn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Jr[e]=new Rn(e,5,!1,e.toLowerCase(),null,!1,!1)});var ES=/[\-:]([a-z])/g;function IS(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ES,IS);Jr[t]=new Rn(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ES,IS);Jr[t]=new Rn(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ES,IS);Jr[t]=new Rn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Jr[e]=new Rn(e,1,!1,e.toLowerCase(),null,!1,!1)});Jr.xlinkHref=new Rn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Jr[e]=new Rn(e,1,!1,e.toLowerCase(),null,!0,!0)});function _S(e,t,r,a){var s=Jr.hasOwnProperty(t)?Jr[t]:null;(s!==null?s.type!==0:a||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(uQ(t,r,s,a)&&(r=null),a||s===null?cQ(t)&&(r===null?e.removeAttribute(t):e.setAttribute(t,""+r)):s.mustUseProperty?e[s.propertyName]=r===null?s.type===3?!1:"":r:(t=s.attributeName,a=s.attributeNamespace,r===null?e.removeAttribute(t):(s=s.type,r=s===3||s===4&&r===!0?"":""+r,a?e.setAttributeNS(a,t,r):e.setAttribute(t,r))))}var Yi=oQ.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,qp=Symbol.for("react.element"),Jc=Symbol.for("react.portal"),ed=Symbol.for("react.fragment"),MS=Symbol.for("react.strict_mode"),kj=Symbol.for("react.profiler"),S6=Symbol.for("react.provider"),C6=Symbol.for("react.context"),OS=Symbol.for("react.forward_ref"),Sj=Symbol.for("react.suspense"),Cj=Symbol.for("react.suspense_list"),RS=Symbol.for("react.memo"),lo=Symbol.for("react.lazy"),P6=Symbol.for("react.offscreen"),$T=Symbol.iterator;function jm(e){return e===null||typeof e!="object"?null:(e=$T&&e[$T]||e["@@iterator"],typeof e=="function"?e:null)}var ur=Object.assign,_0;function Ym(e){if(_0===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);_0=t&&t[1]||""}return`
34`+_0+e}var M0=!1;function O0(e,t){if(!e||M0)return"";M0=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var a=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){a=d}e.call(t.prototype)}else{try{throw Error()}catch(d){a=d}e()}}
vendor: 5,081 bytes, lines 34-37
34catch(d){if(d&&a&&typeof d.stack=="string"){for(var s=d.stack.split(`
35`),i=a.stack.split(`
36`),o=s.length-1,l=i.length-1;1<=o&&0<=l&&s[o]!==i[l];)l--;for(;1<=o&&0<=l;o--,l--)if(s[o]!==i[l]){if(o!==1||l!==1)do if(o--,l--,0>l||s[o]!==i[l]){var c=`
37`+s[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{M0=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Ym(e):""}function mQ(e){switch(e.tag){case 5:return Ym(e.type);case 16:return Ym("Lazy");case 13:return Ym("Suspense");case 19:return Ym("SuspenseList");case 0:case 2:case 15:return e=O0(e.type,!1),e;case 11:return e=O0(e.type.render,!1),e;case 1:return e=O0(e.type,!0),e;default:return""}}function Pj(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ed:return"Fragment";case Jc:return"Portal";case kj:return"Profiler";case MS:return"StrictMode";case Sj:return"Suspense";case Cj:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case C6:return(e.displayName||"Context")+".Consumer";case S6:return(e._context.displayName||"Context")+".Provider";case OS:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case RS:return t=e.displayName||null,t!==null?t:Pj(e.type)||"Memo";case lo:t=e._payload,e=e._init;try{return Pj(e(t))}catch{}}return null}function hQ(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Pj(t);case 8:return t===MS?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function qo(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function T6(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function fQ(e){var t=T6(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var s=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){a=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(o){a=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Hp(e){e._valueTracker||(e._valueTracker=fQ(e))}function A6(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),a="";return e&&(a=T6(e)?e.checked?"true":"false":e.value),e=a,e!==r?(t.setValue(e),!0):!1}function mx(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Tj(e,t){var r=t.checked;return ur({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function LT(e,t){var r=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;r=qo(t.value!=null?t.value:r),e._wrapperState={initialChecked:a,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function E6(e,t){t=t.checked,t!=null&&_S(e,"checked",t,!1)}function Aj(e,t){E6(e,t);var r=qo(t.value),a=t.type;if(r!=null)a==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ej(e,t.type,r):t.hasOwnProperty("defaultValue")&&Ej(e,t.type,qo(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function zT(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function Ej(e,t,r){(t!=="number"||mx(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Zm=Array.isArray;function bd(e,t,r,a){if(e=e.options,t){t={};for(var s=0;s<r.length;s++)t["$"+r[s]]=!0;for(r=0;r<e.length;r++)s=t.hasOwnProperty("$"+e[r].value),e[r].selected!==s&&(e[r].selected=s),s&&a&&(e[r].defaultSelected=!0)}else{for(r=""+qo(r),t=null,s=0;s<e.length;
vendor: 9,025 bytes, line 37
37s++){if(e[s].value===r){e[s].selected=!0,a&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Ij(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(fe(91));return ur({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function BT(e,t){var r=t.value;if(r==null){if(r=t.children,t=t.defaultValue,r!=null){if(t!=null)throw Error(fe(92));if(Zm(r)){if(1<r.length)throw Error(fe(93));r=r[0]}t=r}t==null&&(t=""),r=t}e._wrapperState={initialValue:qo(r)}}function I6(e,t){var r=qo(t.value),a=qo(t.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),t.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),a!=null&&(e.defaultValue=""+a)}function WT(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function _6(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function _j(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?_6(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Gp,M6=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,r,a,s){MSApp.execUnsafeLocalFunction(function(){return e(t,r,a,s)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Gp=Gp||document.createElement("div"),Gp.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Gp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ah(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var sh={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pQ=["Webkit","ms","Moz","O"];Object.keys(sh).forEach(function(e){pQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),sh[t]=sh[e]})});function O6(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||sh.hasOwnProperty(e)&&sh[e]?(""+t).trim():t+"px"}function R6(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var a=r.indexOf("--")===0,s=O6(r,t[r],a);r==="float"&&(r="cssFloat"),a?e.setProperty(r,s):e[r]=s}}var gQ=ur({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Mj(e,t){if(t){if(gQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(fe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(fe(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(fe(61))}if(t.style!=null&&typeof t.style!="object")throw Error(fe(62))}}function Oj(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 Rj=null;function FS(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Fj=null,wd=null,jd=null;function UT(e){if(e=sp(e)){if(typeof Fj!="function")throw Error(fe(280));var t=e.stateNode;t&&(t=Av(t),Fj(e.stateNode,e.type,t))}}function F6(e){wd?jd?jd.push(e):jd=[e]:wd=e}function D6(){if(wd){var e=wd,t=jd;if(jd=wd=null,UT(e),t)for(e=0;e<t.length;e++)UT(t[e])}}function $6(e,t){return e(t)}function L6(){}var R0=!1;function z6(e,t,r){if(R0)return e(t,r);R0=!0;try{return $6(e,t,r)}finally{R0=!1,(wd!==null||jd!==null)&&(L6(),D6())}}function Eh(e,t){var r=e.stateNode;if(r===null)return null;var a=Av(r);if(a===null)return null;r=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(fe(231,t,typeof r));return r}var Dj=!1;if(Mi)try{var Nm={};Object.defineProperty(Nm,"passive",{get:function(){Dj=!0}}),window.addEventListener("test",Nm,Nm),window.removeEventListener("test",Nm,Nm)}catch{Dj=!1}function xQ(e,t,r,a,s,i,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(r,d)}catch(u){this.onError(u)}}var ih=!1,hx=null,fx=!1,$j=null,yQ={onError:function(e){ih=!0,hx=e}};function vQ(e,t,r,a,s,i,o,l,c){ih=!1,hx=null,xQ.apply(yQ,arguments)}function bQ(e,t,r,a,s,i,o,l,c){if(vQ.apply(this,arguments),ih){if(ih){var d=hx;ih=!1,hx=null}else throw Error(fe(198));fx||(fx=!0,$j=d)}}function bc(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(r=t.return),e=t.return;while(e)}return t.tag===3?r:null}function B6(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 VT(e){if(bc(e)!==e)throw Error(fe(188))}function wQ(e){var t=e.alternate;if(!t){if(t=bc(e),t===null)throw Error(fe(188));return t!==e?null:e}for(var r=e,a=t;;){var s=r.return;if(s===null)break;var i=s.alternate;if(i===null){if(a=s.return,a!==null){r=a;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===r)return VT(s),e;if(i===a)return VT(s),t;i=i.sibling}throw Error(fe(188))}if(r.return!==a.return)r=s,a=i;else{for(var o=!1,l=s.child;l;){if(l===r){o=!0,r=s,a=i;break}if(l===a){o=!0,a=s,r=i;break}l=l.sibling}if(!o){for(l=i.child;l;){if(l===r){o=!0,r=i,a=s;break}if(l===a){o=!0,a=i,r=s;break}l=l.sibling}if(!o)throw Error(fe(189))}}if(r.alternate!==a)throw Error(fe(190))}if(r.tag!==3)throw Error(fe(188));return r.stateNode.current===r?e:t}function W6(e){return e=wQ(e),e!==null?U6(e):null}function U6(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=U6(e);if(t!==null)return t;e=e.sibling}return null}var V6=fa.unstable_scheduleCallback,qT=fa.unstable_cancelCallback,jQ=fa.unstable_shouldYield,NQ=fa.unstable_requestPaint,wr=fa.unstable_now,kQ=fa.unstable_getCurrentPriorityLevel,DS=fa.unstable_ImmediatePriority,q6=fa.unstable_UserBlockingPriority,px=fa.unstable_NormalPriority,SQ=fa.unstable_LowPriority,H6=fa.unstable_IdlePriority,Sv=null,Fs=null;function CQ(e){if(Fs&&typeof Fs.onCommitFiberRoot=="function")try{Fs.onCommitFiberRoot(Sv,e,void 0,(e.current.flags&128)===128)}catch{}}var us=Math.clz32?Math.clz32:AQ,PQ=Math.log,TQ=Math.LN2;function AQ(e){return e>>>=0,e===0?32:31-(PQ(e)/TQ|0)|0}var Kp=64,Yp=4194304;function Qm(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function gx(e,t){var r=e.pendingLanes;if(r===0)return 0;var a=0,s=e.suspendedLanes,i=e.pingedLanes,o=r&268435455;if(o!==0){var l=o&~s;l!==0?a=Qm(l):(i&=o,i!==0&&(a=Qm(i)))}else o=r&~s,o!==0?a=Qm(o):i!==0&&(a=Qm(i));if(a===0)return 0;if(t!==0&&t!==a&&!(t&s)&&(s=a&-a,i=t&-t,s>=i||s===16&&(i&4194240)!==0))return t;if(a&4&&(a|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0<t;)r=31-us(t),s=1<<r,a|=e[r],t&=~s;return a}function EQ(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function IQ(e,t){for(var r=e.suspendedLanes,a=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-us(i),l=1<<o,c=s[o];c===-1?(!(l&r)||l&a)&&(s[o]=EQ(l,t)):c<=t&&(e.expiredLanes|=l),i&=~l}}function Lj(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function G6(){var e=Kp;return Kp<<=1,!(Kp&4194240)&&(Kp=64),e}function F0(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}
vendor: 4,087 bytes, line 37
37function np(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-us(t),e[t]=r}function _Q(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<r;){var s=31-us(r),i=1<<s;t[s]=0,a[s]=-1,e[s]=-1,r&=~i}}function $S(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var a=31-us(r),s=1<<a;s&t|e[a]&t&&(e[a]|=t),r&=~s}}var It=0;function K6(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Y6,LS,Z6,Q6,X6,zj=!1,Zp=[],Eo=null,Io=null,_o=null,Ih=new Map,_h=new Map,mo=[],MQ="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 submit".split(" ");function HT(e,t){switch(e){case"focusin":case"focusout":Eo=null;break;case"dragenter":case"dragleave":Io=null;break;case"mouseover":case"mouseout":_o=null;break;case"pointerover":case"pointerout":Ih.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":_h.delete(t.pointerId)}}function km(e,t,r,a,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:r,eventSystemFlags:a,nativeEvent:i,targetContainers:[s]},t!==null&&(t=sp(t),t!==null&&LS(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function OQ(e,t,r,a,s){switch(t){case"focusin":return Eo=km(Eo,e,t,r,a,s),!0;case"dragenter":return Io=km(Io,e,t,r,a,s),!0;case"mouseover":return _o=km(_o,e,t,r,a,s),!0;case"pointerover":var i=s.pointerId;return Ih.set(i,km(Ih.get(i)||null,e,t,r,a,s)),!0;case"gotpointercapture":return i=s.pointerId,_h.set(i,km(_h.get(i)||null,e,t,r,a,s)),!0}return!1}function J6(e){var t=_l(e.target);if(t!==null){var r=bc(t);if(r!==null){if(t=r.tag,t===13){if(t=B6(r),t!==null){e.blockedOn=t,X6(e.priority,function(){Z6(r)});return}}else if(t===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Vg(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var r=Bj(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var a=new r.constructor(r.type,r);Rj=a,r.target.dispatchEvent(a),Rj=null}else return t=sp(r),t!==null&&LS(t),e.blockedOn=r,!1;t.shift()}return!0}function GT(e,t,r){Vg(e)&&r.delete(t)}function RQ(){zj=!1,Eo!==null&&Vg(Eo)&&(Eo=null),Io!==null&&Vg(Io)&&(Io=null),_o!==null&&Vg(_o)&&(_o=null),Ih.forEach(GT),_h.forEach(GT)}function Sm(e,t){e.blockedOn===t&&(e.blockedOn=null,zj||(zj=!0,fa.unstable_scheduleCallback(fa.unstable_NormalPriority,RQ)))}function Mh(e){function t(s){return Sm(s,e)}if(0<Zp.length){Sm(Zp[0],e);for(var r=1;r<Zp.length;r++){var a=Zp[r];a.blockedOn===e&&(a.blockedOn=null)}}for(Eo!==null&&Sm(Eo,e),Io!==null&&Sm(Io,e),_o!==null&&Sm(_o,e),Ih.forEach(t),_h.forEach(t),r=0;r<mo.length;r++)a=mo[r],a.blockedOn===e&&(a.blockedOn=null);for(;0<mo.length&&(r=mo[0],r.blockedOn===null);)J6(r),r.blockedOn===null&&mo.shift()}var Nd=Yi.ReactCurrentBatchConfig,xx=!0;function FQ(e,t,r,a){var s=It,i=Nd.transition;Nd.transition=null;try{It=1,zS(e,t,r,a)}finally{It=s,Nd.transition=i}}function DQ(e,t,r,a){var s=It,i=Nd.transition;Nd.transition=null;try{It=4,zS(e,t,r,a)}finally{It=s,Nd.transition=i}}function zS(e,t,r,a){if(xx){var s=Bj(e,t,r,a);if(s===null)H0(e,t,a,yx,r),HT(e,a);else if(OQ(s,e,t,r,a))a.stopPropagation();else if(HT(e,a),t&4&&-1<MQ.indexOf(e)){for(;s!==null;){var i=sp(s);if(i!==null&&Y6(i),i=Bj(e,t,r,a),i===null&&H0(e,t,a,yx,r),i===s)break;s=i}s!==null&&a.stopPropagation()}else H0(e,t,a,null,r)}}var yx=null;function Bj(e,t,r,a){if(yx=null,e=FS(a),e=_l(e),e!==null)if(t=bc(e),t===null)e=null;else if(r=t.tag,r===13){if(e=B6(t),e!==null)return e;e=null}else if(r===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return yx=e,null}
vendor: 10,401 bytes, line 37
37function eL(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(kQ()){case DS:return 1;case q6:return 4;case px:case SQ:return 16;case H6:return 536870912;default:return 16}default:return 16}}var Co=null,BS=null,qg=null;function tL(){if(qg)return qg;var e,t=BS,r=t.length,a,s="value"in Co?Co.value:Co.textContent,i=s.length;for(e=0;e<r&&t[e]===s[e];e++);var o=r-e;for(a=1;a<=o&&t[r-a]===s[i-a];a++);return qg=s.slice(e,1<a?1-a:void 0)}function Hg(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 Qp(){return!0}function KT(){return!1}function ba(e){function t(r,a,s,i,o){this._reactName=r,this._targetInst=s,this.type=a,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(r=e[l],this[l]=r?r(i):i[l]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Qp:KT,this.isPropagationStopped=KT,this}return ur(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Qp)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Qp)},persist:function(){},isPersistent:Qp}),t}var Vu={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},WS=ba(Vu),ap=ur({},Vu,{view:0,detail:0}),$Q=ba(ap),D0,$0,Cm,Cv=ur({},ap,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:US,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!==Cm&&(Cm&&e.type==="mousemove"?(D0=e.screenX-Cm.screenX,$0=e.screenY-Cm.screenY):$0=D0=0,Cm=e),D0)},movementY:function(e){return"movementY"in e?e.movementY:$0}}),YT=ba(Cv),LQ=ur({},Cv,{dataTransfer:0}),zQ=ba(LQ),BQ=ur({},ap,{relatedTarget:0}),L0=ba(BQ),WQ=ur({},Vu,{animationName:0,elapsedTime:0,pseudoElement:0}),UQ=ba(WQ),VQ=ur({},Vu,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),qQ=ba(VQ),HQ=ur({},Vu,{data:0}),ZT=ba(HQ),GQ={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},KQ={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:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},YQ={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ZQ(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=YQ[e])?!!t[e]:!1}function US(){return ZQ}var QQ=ur({},ap,{key:function(e){if(e.key){var t=GQ[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Hg(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?KQ[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:US,charCode:function(e){return e.type==="keypress"?Hg(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Hg(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),XQ=ba(QQ),JQ=ur({},Cv,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),QT=ba(JQ),eX=ur({},ap,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:US}),tX=ba(eX),rX=ur({},Vu,{propertyName:0,elapsedTime:0,pseudoElement:0}),nX=ba(rX),aX=ur({},Cv,{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}),sX=ba(aX),iX=[9,13,27,32],VS=Mi&&"CompositionEvent"in window,oh=null;Mi&&"documentMode"in document&&(oh=document.documentMode);var oX=Mi&&"TextEvent"in window&&!oh,rL=Mi&&(!VS||oh&&8<oh&&11>=oh),XT=" ",JT=!1;function nL(e,t){switch(e){case"keyup":return iX.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function aL(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var td=!1;function lX(e,t){switch(e){case"compositionend":return aL(t);case"keypress":return t.which!==32?null:(JT=!0,XT);case"textInput":return e=t.data,e===XT&&JT?null:e;default:return null}}function cX(e,t){if(td)return e==="compositionend"||!VS&&nL(e,t)?(e=tL(),qg=BS=Co=null,td=!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 rL&&t.locale!=="ko"?null:t.data;default:return null}}var dX={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 eA(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!dX[e.type]:t==="textarea"}function sL(e,t,r,a){F6(a),t=vx(t,"onChange"),0<t.length&&(r=new WS("onChange","change",null,r,a),e.push({event:r,listeners:t}))}var lh=null,Oh=null;function uX(e){gL(e,0)}function Pv(e){var t=ad(e);if(A6(t))return e}function mX(e,t){if(e==="change")return t}var iL=!1;if(Mi){var z0;if(Mi){var B0="oninput"in document;if(!B0){var tA=document.createElement("div");tA.setAttribute("oninput","return;"),B0=typeof tA.oninput=="function"}z0=B0}else z0=!1;iL=z0&&(!document.documentMode||9<document.documentMode)}function rA(){lh&&(lh.detachEvent("onpropertychange",oL),Oh=lh=null)}function oL(e){if(e.propertyName==="value"&&Pv(Oh)){var t=[];sL(t,Oh,e,FS(e)),z6(uX,t)}}function hX(e,t,r){e==="focusin"?(rA(),lh=t,Oh=r,lh.attachEvent("onpropertychange",oL)):e==="focusout"&&rA()}function fX(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Pv(Oh)}function pX(e,t){if(e==="click")return Pv(t)}function gX(e,t){if(e==="input"||e==="change")return Pv(t)}function xX(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var fs=typeof Object.is=="function"?Object.is:xX;function Rh(e,t){if(fs(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(a=0;a<r.length;a++){var s=r[a];if(!Nj.call(t,s)||!fs(e[s],t[s]))return!1}return!0}function nA(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function aA(e,t){var r=nA(e);e=0;for(var a;r;){if(r.nodeType===3){if(a=e+r.textContent.length,e<=t&&a>=t)return{node:r,offset:t-e};e=a}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nA(r)}}function lL(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?lL(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function cL(){for(var e=window,t=mx();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=mx(e.document)}return t}function qS(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")}function yX(e){var t=cL(),r=e.focusedElem,a=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&lL(r.ownerDocument.documentElement,r)){if(a!==null&&qS(r)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,i=Math.min(a.start,s);a=a.end===void 0?i:Math.min(a.end,s),!e.extend&&i>a&&(s=a,a=i,i=s),s=aA(r,i);var o=aA(r,a);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<t.length;r++)e=t[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var vX=Mi&&"documentMode"in document&&11>=document.documentMode,rd=null,Wj=null,ch=null,Uj=!1;function sA(e,t,r){var a=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Uj||rd==null||rd!==mx(a)||(a=rd,"selectionStart"in a&&qS(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focu
vendor: 4,501 bytes, line 37
37sNode:a.focusNode,focusOffset:a.focusOffset}),ch&&Rh(ch,a)||(ch=a,a=vx(Wj,"onSelect"),0<a.length&&(t=new WS("onSelect","select",null,t,r),e.push({event:t,listeners:a}),t.target=rd)))}function Xp(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var nd={animationend:Xp("Animation","AnimationEnd"),animationiteration:Xp("Animation","AnimationIteration"),animationstart:Xp("Animation","AnimationStart"),transitionend:Xp("Transition","TransitionEnd")},W0={},dL={};Mi&&(dL=document.createElement("div").style,"AnimationEvent"in window||(delete nd.animationend.animation,delete nd.animationiteration.animation,delete nd.animationstart.animation),"TransitionEvent"in window||delete nd.transitionend.transition);function Tv(e){if(W0[e])return W0[e];if(!nd[e])return e;var t=nd[e],r;for(r in t)if(t.hasOwnProperty(r)&&r in dL)return W0[e]=t[r];return e}var uL=Tv("animationend"),mL=Tv("animationiteration"),hL=Tv("animationstart"),fL=Tv("transitionend"),pL=new Map,iA="abort auxClick 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(" ");function il(e,t){pL.set(e,t),vc(t,[e])}for(var U0=0;U0<iA.length;U0++){var V0=iA[U0],bX=V0.toLowerCase(),wX=V0[0].toUpperCase()+V0.slice(1);il(bX,"on"+wX)}il(uL,"onAnimationEnd");il(mL,"onAnimationIteration");il(hL,"onAnimationStart");il("dblclick","onDoubleClick");il("focusin","onFocus");il("focusout","onBlur");il(fL,"onTransitionEnd");tu("onMouseEnter",["mouseout","mouseover"]);tu("onMouseLeave",["mouseout","mouseover"]);tu("onPointerEnter",["pointerout","pointerover"]);tu("onPointerLeave",["pointerout","pointerover"]);vc("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));vc("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));vc("onBeforeInput",["compositionend","keypress","textInput","paste"]);vc("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));vc("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));vc("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Xm="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(" "),jX=new Set("cancel close invalid load scroll toggle".split(" ").concat(Xm));function oA(e,t,r){var a=e.type||"unknown-event";e.currentTarget=r,bQ(a,t,void 0,e),e.currentTarget=null}function gL(e,t){t=(t&4)!==0;for(var r=0;r<e.length;r++){var a=e[r],s=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var o=a.length-1;0<=o;o--){var l=a[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==i&&s.isPropagationStopped())break e;oA(s,l,d),i=c}else for(o=0;o<a.length;o++){if(l=a[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==i&&s.isPropagationStopped())break e;oA(s,l,d),i=c}}}if(fx)throw e=$j,fx=!1,$j=null,e}function Qt(e,t){var r=t[Kj];r===void 0&&(r=t[Kj]=new Set);var a=e+"__bubble";r.has(a)||(xL(t,e,2,!1),r.add(a))}function q0(e,t,r){var a=0;t&&(a|=4),xL(r,e,a,t)}var Jp="_reactListening"+Math.random().toString(36).slice(2);function Fh(e){if(!e[Jp]){e[Jp]=!0,k6.forEach(function(r){r!=="selectionchange"&&(jX.has(r)||q0(r,!1,e),q0(r,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Jp]||(t[Jp]=!0,q0("selectionchange",!1,t))}}function xL(e,t,r,a){switch(eL(t)){case 1:var s=FQ;break;case 4:s=DQ;break;default:s=zS}r=s.bind(null,t,r,e),s=void 0,!Dj||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),a?s!==void 0?e.addEventListener(t,r,{capture:!0,passive:s}):e.addEventListener(t,r,!0):s!==void 0?e.addEventListener(t,r,{passive:s}):e.addEventListener(t,r,!1)}function H0(e,t,r,a,s){var i=a;if(!(t&1)&&!(t&2)&&a!==null)e:for(;;){if(a===null)return;var o=a.tag;if(o===3||o===4){var l=a.stateNode.containerInfo;
vendor: 2,527 bytes, line 37
37if(l===s||l.nodeType===8&&l.parentNode===s)break;if(o===4)for(o=a.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===s||c.nodeType===8&&c.parentNode===s))return;o=o.return}for(;l!==null;){if(o=_l(l),o===null)return;if(c=o.tag,c===5||c===6){a=i=o;continue e}l=l.parentNode}}a=a.return}z6(function(){var d=i,u=FS(r),m=[];e:{var h=pL.get(e);if(h!==void 0){var f=WS,b=e;switch(e){case"keypress":if(Hg(r)===0)break e;case"keydown":case"keyup":f=XQ;break;case"focusin":b="focus",f=L0;break;case"focusout":b="blur",f=L0;break;case"beforeblur":case"afterblur":f=L0;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=YT;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=zQ;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=tX;break;case uL:case mL:case hL:f=UQ;break;case fL:f=nX;break;case"scroll":f=$Q;break;case"wheel":f=sX;break;case"copy":case"cut":case"paste":f=qQ;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=QT}var g=(t&4)!==0,p=!g&&e==="scroll",x=g?h!==null?h+"Capture":null:h;g=[];for(var v=d,w;v!==null;){w=v;var N=w.stateNode;if(w.tag===5&&N!==null&&(w=N,x!==null&&(N=Eh(v,x),N!=null&&g.push(Dh(v,N,w)))),p)break;v=v.return}0<g.length&&(h=new f(h,b,null,r,u),m.push({event:h,listeners:g}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",f=e==="mouseout"||e==="pointerout",h&&r!==Rj&&(b=r.relatedTarget||r.fromElement)&&(_l(b)||b[Oi]))break e;if((f||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,f?(b=r.relatedTarget||r.toElement,f=d,b=b?_l(b):null,b!==null&&(p=bc(b),b!==p||b.tag!==5&&b.tag!==6)&&(b=null)):(f=null,b=d),f!==b)){if(g=YT,N="onMouseLeave",x="onMouseEnter",v="mouse",(e==="pointerout"||e==="pointerover")&&(g=QT,N="onPointerLeave",x="onPointerEnter",v="pointer"),p=f==null?h:ad(f),w=b==null?h:ad(b),h=new g(N,v+"leave",f,r,u),h.target=p,h.relatedTarget=w,N=null,_l(u)===d&&(g=new g(x,v+"enter",b,r,u),g.target=w,g.relatedTarget=p,N=g),p=N,f&&b)t:{for(g=f,x=b,v=0,w=g;w;w=Lc(w))v++;for(w=0,N=x;N;N=Lc(N))w++;for(;0<v-w;)g=Lc(g),v--;for(;0<w-v;)x=Lc(x),w--;for(;v--;){if(g===x||x!==null&&g===x.alternate)break t;g=Lc(g),x=Lc(x)}g=null}else g=null;f!==null&&lA(m,h,f,g,!1),b!==null&&p!==null&&lA(m,p,b,g,!0)}}
vendor: 5,564 bytes, lines 37-38
37e:{if(h=d?ad(d):window,f=h.nodeName&&h.nodeName.toLowerCase(),f==="select"||f==="input"&&h.type==="file")var j=mX;else if(eA(h))if(iL)j=gX;else{j=fX;var k=hX}else(f=h.nodeName)&&f.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(j=pX);if(j&&(j=j(e,d))){sL(m,j,r,u);break e}k&&k(e,h,d),e==="focusout"&&(k=h._wrapperState)&&k.controlled&&h.type==="number"&&Ej(h,"number",h.value)}switch(k=d?ad(d):window,e){case"focusin":(eA(k)||k.contentEditable==="true")&&(rd=k,Wj=d,ch=null);break;case"focusout":ch=Wj=rd=null;break;case"mousedown":Uj=!0;break;case"contextmenu":case"mouseup":case"dragend":Uj=!1,sA(m,r,u);break;case"selectionchange":if(vX)break;case"keydown":case"keyup":sA(m,r,u)}var S;if(VS)e:{switch(e){case"compositionstart":var C="onCompositionStart";break e;case"compositionend":C="onCompositionEnd";break e;case"compositionupdate":C="onCompositionUpdate";break e}C=void 0}else td?nL(e,r)&&(C="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(C="onCompositionStart");C&&(rL&&r.locale!=="ko"&&(td||C!=="onCompositionStart"?C==="onCompositionEnd"&&td&&(S=tL()):(Co=u,BS="value"in Co?Co.value:Co.textContent,td=!0)),k=vx(d,C),0<k.length&&(C=new ZT(C,e,null,r,u),m.push({event:C,listeners:k}),S?C.data=S:(S=aL(r),S!==null&&(C.data=S)))),(S=oX?lX(e,r):cX(e,r))&&(d=vx(d,"onBeforeInput"),0<d.length&&(u=new ZT("onBeforeInput","beforeinput",null,r,u),m.push({event:u,listeners:d}),u.data=S))}gL(m,t)})}function Dh(e,t,r){return{instance:e,listener:t,currentTarget:r}}function vx(e,t){for(var r=t+"Capture",a=[];e!==null;){var s=e,i=s.stateNode;s.tag===5&&i!==null&&(s=i,i=Eh(e,r),i!=null&&a.unshift(Dh(e,i,s)),i=Eh(e,t),i!=null&&a.push(Dh(e,i,s))),e=e.return}return a}function Lc(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function lA(e,t,r,a,s){for(var i=t._reactName,o=[];r!==null&&r!==a;){var l=r,c=l.alternate,d=l.stateNode;if(c!==null&&c===a)break;l.tag===5&&d!==null&&(l=d,s?(c=Eh(r,i),c!=null&&o.unshift(Dh(r,c,l))):s||(c=Eh(r,i),c!=null&&o.push(Dh(r,c,l)))),r=r.return}o.length!==0&&e.push({event:t,listeners:o})}var NX=/\r\n?/g,kX=/\u0000|\uFFFD/g;function cA(e){return(typeof e=="string"?e:""+e).replace(NX,`
38`).replace(kX,"")}function eg(e,t,r){if(t=cA(t),cA(e)!==t&&r)throw Error(fe(425))}function bx(){}var Vj=null,qj=null;function Hj(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Gj=typeof setTimeout=="function"?setTimeout:void 0,SX=typeof clearTimeout=="function"?clearTimeout:void 0,dA=typeof Promise=="function"?Promise:void 0,CX=typeof queueMicrotask=="function"?queueMicrotask:typeof dA<"u"?function(e){return dA.resolve(null).then(e).catch(PX)}:Gj;function PX(e){setTimeout(function(){throw e})}function G0(e,t){var r=t,a=0;do{var s=r.nextSibling;if(e.removeChild(r),s&&s.nodeType===8)if(r=s.data,r==="/$"){if(a===0){e.removeChild(s),Mh(t);return}a--}else r!=="$"&&r!=="$?"&&r!=="$!"||a++;r=s}while(r);Mh(t)}function Mo(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==="$?")break;if(t==="/$")return null}}return e}function uA(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(t===0)return e;t--}else r==="/$"&&t++}e=e.previousSibling}return null}var qu=Math.random().toString(36).slice(2),_s="__reactFiber$"+qu,$h="__reactProps$"+qu,Oi="__reactContainer$"+qu,Kj="__reactEvents$"+qu,TX="__reactListeners$"+qu,AX="__reactHandles$"+qu;function _l(e){var t=e[_s];if(t)return t;for(var r=e.parentNode;r;){if(t=r[Oi]||r[_s]){if(r=t.alternate,t.child!==null||r!==null&&r.child!==null)for(e=uA(e);e!==null;){if(r=e[_s])return r;e=uA(e)}return t}e=r,r=e.parentNode}return null}function sp(e){return e=e[_s]||e[Oi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ad(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(fe(33))}function Av(e){return e[$h]||null}var Yj=[],sd=-1;function ol(e){return{current:e}}function tr(e){0>sd||(e.current=Yj[sd],Yj[sd]=null,sd--)}function qt(e,t){sd++,Yj[sd]=e.current,e.current=t}var Ho={},pn=ol(Ho),Vn=ol(!1),ec=Ho;function ru(e,t){var r=e.type.contextTypes;if(!r)return Ho;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in r)s[i]=t[i];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function qn(e){return e=e.childContextTypes,e!=null}function wx(){tr(Vn),tr(pn)}function mA(e,t,r){if(pn.current!==Ho)throw Error(fe(168));qt(pn,t),qt(Vn,r)}function yL(e,t,r){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return r;a=a.getChildContext();for(var s in a)if(!(s in t))throw Error(fe(108,hQ(e)||"Unknown",s));return ur({},r,a)}function jx(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ho,ec=pn.current,qt(pn,e),qt(Vn,Vn.current),!0}function hA(e,t,r){var a=e.stateNode;if(!a)throw Error(fe(169));r?(e=yL(e,t,ec),a.__reactInternalMemoizedMergedChildContext=e,tr(Vn),tr(pn),qt(pn,e)):tr(Vn),qt(Vn,r)}var hi=null,Ev=!1,K0=!1;function vL(e){hi===null?hi=[e]:hi.push(e)}function EX(e){Ev=!0,vL(e)}function ll(){if(!K0&&hi!==null){K0=!0;var e=0,t=It;try{var r=hi;for(It=1;e<r.length;e++){var a=r[e];do a=a(!0);while(a!==null)}hi=null,Ev=!1}catch(s){throw hi!==null&&(hi=hi.slice(e+1)),V6(DS,ll),s}finally{It=t,K0=!1}
vendor: 14,550 bytes, line 38
38}return null}var id=[],od=0,Nx=null,kx=0,Ea=[],Ia=0,tc=null,gi=1,xi="";function kl(e,t){id[od++]=kx,id[od++]=Nx,Nx=e,kx=t}function bL(e,t,r){Ea[Ia++]=gi,Ea[Ia++]=xi,Ea[Ia++]=tc,tc=e;var a=gi;e=xi;var s=32-us(a)-1;a&=~(1<<s),r+=1;var i=32-us(t)+s;if(30<i){var o=s-s%5;i=(a&(1<<o)-1).toString(32),a>>=o,s-=o,gi=1<<32-us(t)+s|r<<s|a,xi=i+e}else gi=1<<i|r<<s|a,xi=e}function HS(e){e.return!==null&&(kl(e,1),bL(e,1,0))}function GS(e){for(;e===Nx;)Nx=id[--od],id[od]=null,kx=id[--od],id[od]=null;for(;e===tc;)tc=Ea[--Ia],Ea[Ia]=null,xi=Ea[--Ia],Ea[Ia]=null,gi=Ea[--Ia],Ea[Ia]=null}var la=null,oa=null,ar=!1,rs=null;function wL(e,t){var r=_a(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,t=e.deletions,t===null?(e.deletions=[r],e.flags|=16):t.push(r)}function fA(e,t){switch(e.tag){case 5:var r=e.type;return t=t.nodeType!==1||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,la=e,oa=Mo(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,la=e,oa=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(r=tc!==null?{id:gi,overflow:xi}:null,e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},r=_a(18,null,null,0),r.stateNode=t,r.return=e,e.child=r,la=e,oa=null,!0):!1;default:return!1}}function Zj(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Qj(e){if(ar){var t=oa;if(t){var r=t;if(!fA(e,t)){if(Zj(e))throw Error(fe(418));t=Mo(r.nextSibling);var a=la;t&&fA(e,t)?wL(a,r):(e.flags=e.flags&-4097|2,ar=!1,la=e)}}else{if(Zj(e))throw Error(fe(418));e.flags=e.flags&-4097|2,ar=!1,la=e}}}function pA(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;la=e}function tg(e){if(e!==la)return!1;if(!ar)return pA(e),ar=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Hj(e.type,e.memoizedProps)),t&&(t=oa)){if(Zj(e))throw jL(),Error(fe(418));for(;t;)wL(e,t),t=Mo(t.nextSibling)}if(pA(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(fe(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(t===0){oa=Mo(e.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++}e=e.nextSibling}oa=null}}else oa=la?Mo(e.stateNode.nextSibling):null;return!0}function jL(){for(var e=oa;e;)e=Mo(e.nextSibling)}function nu(){oa=la=null,ar=!1}function KS(e){rs===null?rs=[e]:rs.push(e)}var IX=Yi.ReactCurrentBatchConfig;function Pm(e,t,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(fe(309));var a=r.stateNode}if(!a)throw Error(fe(147,e));var s=a,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(o){var l=s.refs;o===null?delete l[i]:l[i]=o},t._stringRef=i,t)}if(typeof e!="string")throw Error(fe(284));if(!r._owner)throw Error(fe(290,e))}return e}function rg(e,t){throw e=Object.prototype.toString.call(t),Error(fe(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function gA(e){var t=e._init;return t(e._payload)}function NL(e){function t(x,v){if(e){var w=x.deletions;w===null?(x.deletions=[v],x.flags|=16):w.push(v)}}function r(x,v){if(!e)return null;for(;v!==null;)t(x,v),v=v.sibling;return null}function a(x,v){for(x=new Map;v!==null;)v.key!==null?x.set(v.key,v):x.set(v.index,v),v=v.sibling;return x}function s(x,v){return x=Do(x,v),x.index=0,x.sibling=null,x}function i(x,v,w){return x.index=w,e?(w=x.alternate,w!==null?(w=w.index,w<v?(x.flags|=2,v):w):(x.flags|=2,v)):(x.flags|=1048576,v)}function o(x){return e&&x.alternate===null&&(x.flags|=2),x}function l(x,v,w,N){return v===null||v.tag!==6?(v=tw(w,x.mode,N),v.return=x,v):(v=s(v,w),v.return=x,v)}function c(x,v,w,N){var j=w.type;return j===ed?u(x,v,w.props.children,N,w.key):v!==null&&(v.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===lo&&gA(j)===v.type)?(N=s(v,w.props),N.ref=Pm(x,v,w),N.return=x,N):(N=Jg(w.type,w.key,w.props,null,x.mode,N),N.ref=Pm(x,v,w),N.return=x,N)}function d(x,v,w,N){return v===null||v.tag!==4||v.stateNode.containerInfo!==w.containerInfo||v.stateNode.implementation!==w.implementation?(v=rw(w,x.mode,N),v.return=x,v):(v=s(v,w.children||[]),v.return=x,v)}function u(x,v,w,N,j){return v===null||v.tag!==7?(v=Yl(w,x.mode,N,j),v.return=x,v):(v=s(v,w),v.return=x,v)}function m(x,v,w){if(typeof v=="string"&&v!==""||typeof v=="number")return v=tw(""+v,x.mode,w),v.return=x,v;if(typeof v=="object"&&v!==null){switch(v.$$typeof){case qp:return w=Jg(v.type,v.key,v.props,null,x.mode,w),w.ref=Pm(x,null,v),w.return=x,w;case Jc:return v=rw(v,x.mode,w),v.return=x,v;case lo:var N=v._init;return m(x,N(v._payload),w)}if(Zm(v)||jm(v))return v=Yl(v,x.mode,w,null),v.return=x,v;rg(x,v)}return null}function h(x,v,w,N){var j=v!==null?v.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return j!==null?null:l(x,v,""+w,N);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case qp:return w.key===j?c(x,v,w,N):null;case Jc:return w.key===j?d(x,v,w,N):null;case lo:return j=w._init,h(x,v,j(w._payload),N)}if(Zm(w)||jm(w))return j!==null?null:u(x,v,w,N,null);rg(x,w)}return null}function f(x,v,w,N,j){if(typeof N=="string"&&N!==""||typeof N=="number")return x=x.get(w)||null,l(v,x,""+N,j);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case qp:return x=x.get(N.key===null?w:N.key)||null,c(v,x,N,j);case Jc:return x=x.get(N.key===null?w:N.key)||null,d(v,x,N,j);case lo:var k=N._init;return f(x,v,w,k(N._payload),j)}if(Zm(N)||jm(N))return x=x.get(w)||null,u(v,x,N,j,null);rg(v,N)}return null}function b(x,v,w,N){for(var j=null,k=null,S=v,C=v=0,A=null;S!==null&&C<w.length;C++){S.index>C?(A=S,S=null):A=S.sibling;var T=h(x,S,w[C],N);if(T===null){S===null&&(S=A);break}e&&S&&T.alternate===null&&t(x,S),v=i(T,v,C),k===null?j=T:k.sibling=T,k=T,S=A}if(C===w.length)return r(x,S),ar&&kl(x,C),j;if(S===null){for(;C<w.length;C++)S=m(x,w[C],N),S!==null&&(v=i(S,v,C),k===null?j=S:k.sibling=S,k=S);return ar&&kl(x,C),j}for(S=a(x,S);C<w.length;C++)A=f(S,x,C,w[C],N),A!==null&&(e&&A.alternate!==null&&S.delete(A.key===null?C:A.key),v=i(A,v,C),k===null?j=A:k.sibling=A,k=A);return e&&S.forEach(function(E){return t(x,E)}),ar&&kl(x,C),j}function g(x,v,w,N){var j=jm(w);if(typeof j!="function")throw Error(fe(150));if(w=j.call(w),w==null)throw Error(fe(151));for(var k=j=null,S=v,C=v=0,A=null,T=w.next();S!==null&&!T.done;C++,T=w.next()){S.index>C?(A=S,S=null):A=S.sibling;var E=h(x,S,T.value,N);if(E===null){S===null&&(S=A);break}e&&S&&E.alternate===null&&t(x,S),v=i(E,v,C),k===null?j=E:k.sibling=E,k=E,S=A}if(T.done)return r(x,S),ar&&kl(x,C),j;if(S===null){for(;!T.done;C++,T=w.next())T=m(x,T.value,N),T!==null&&(v=i(T,v,C),k===null?j=T:k.sibling=T,k=T);return ar&&kl(x,C),j}for(S=a(x,S);!T.done;C++,T=w.next())T=f(S,x,C,T.value,N),T!==null&&(e&&T.alternate!==null&&S.delete(T.key===null?C:T.key),v=i(T,v,C),k===null?j=T:k.sibling=T,k=T);return e&&S.forEach(function(I){return t(x,I)}),ar&&kl(x,C),j}function p(x,v,w,N){if(typeof w=="object"&&w!==null&&w.type===ed&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case qp:e:{for(var j=w.key,k=v;k!==null;){if(k.key===j){if(j=w.type,j===ed){if(k.tag===7){r(x,k.sibling),v=s(k,w.props.children),v.return=x,x=v;break e}}else if(k.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===lo&&gA(j)===k.type){r(x,k.sibling),v=s(k,w.props),v.ref=Pm(x,k,w),v.return=x,x=v;break e}r(x,k);break}else t(x,k);k=k.sibling}w.type===ed?(v=Yl(w.props.children,x.mode,N,w.key),v.return=x,x=v):(N=Jg(w.type,w.key,w.props,null,x.mode,N),N.ref=Pm(x,v,w),N.return=x,x=N)}return o(x);case Jc:e:{for(k=w.key;v!==null;){if(v.key===k)if(v.tag===4&&v.stateNode.containerInfo===w.containerInfo&&v.stateNode.implementation===w.implementation){r(x,v.sibling),v=s(v,w.children||[]),v.return=x,x=v;break e}else{r(x,v);break}else t(x,v);v=v.sibling}v=rw(w,x.mode,N),v.return=x,x=v}return o(x);case lo:return k=w._init,p(x,v,k(w._payload),N)}if(Zm(w))return b(x,v,w,N);if(jm(w))return g(x,v,w,N);rg(x,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,v!==null&&v.tag===6?(r(x,v.sibling),v=s(v,w),v.return=x,x=v):(r(x,v),v=tw(w,x.mode,N),v.return=x,x=v),o(x)):r(x,v)}return p}var au=NL(!0),kL=NL(!1),Sx=ol(null),Cx=null,ld=null,YS=null;function ZS(){YS=ld=Cx=null}function QS(e){var t=Sx.current;tr(Sx),e._currentValue=t}function Xj(e,t,r){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===r)break;e=e.return}}function kd(e,t){Cx=e,YS=ld=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Wn=!0),e.firstContext=null)}function za(e){var t=e._currentValue;if(YS!==e)if(e={context:e,memoizedValue:t,next:null},ld===null){if(Cx===null)throw Error(fe(308));ld=e,Cx.dependencies={lanes:0,firstContext:e}}else ld=ld.next=e;return t}var Ml=null;function XS(e){Ml===null?Ml=[e]:Ml.push(e)}function SL(e,t,r,a){var s=t.interleaved;return s===null?(r.next=r,XS(t)):(r.next=s.next,s.next=r),t.interleaved=r,Ri(e,a)}function Ri(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var co=!1;function JS(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function CL(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ni(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Oo(e,t,r){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,wt&2){var s=a.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),a.pending=t,Ri(e,r)}return s=a.interleaved,s===null?(t.next=t,XS(a)):(t.next=s.next,s.next=t),a.interleaved=t,Ri(e,r)}function Gg(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var a=t.lanes;a&=e.pendingLanes,r|=a,t.lanes=r,$S(e,r)}}function xA(e,t){var r=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,r===a)){var s=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?s=i=o:i=i.next=o,r=r.next}while(r!==null);i===null?s=i=t:i=i.next=t}else s=i=t;r={baseState:a.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:a.shared,effects:a.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Px(e,t,r,a){var s=e.updateQueue;co=!1;var i=s.firstBaseUpdate,o=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?i=d:o.next=d,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(i!==null){var m=s.baseState;o=0,u=d=c=null,l=i;do{var h=l.lane,f=l.eventTime;if((a&h)===h){u!==null&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var b=e,g=l;switch(h=t,f=r,g.tag){case 1:if(b=g.payload,typeof b=="function"){m=b.call(f,m,h);break e}m=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=g.payload,h=typeof b=="function"?b.call(f,m,h):b,h==null)break e;m=ur({},m,h);break e;case 2:co=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,h=s.effects,h===null?s.effects=[l]:h.push(l))}else f={eventTime:f,lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=f,c=m):u=u.next=f,o|=h;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;h=l,l=h.next,h.next=null,s.lastBaseUpdate=h,s.shared.pending=null}}while(!0);if(u===null&&(c=m),s.baseState=c,s.firstBaseUpdate=d,s.lastBaseUpdate=u,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else i===null&&(s.shared.lanes=0);nc|=o,e.lanes=o,e.memoizedState=m}}function yA(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var a=e[t],s=a.callback;if(s!==null){if(a.callback=null,a=r,typeof s!="function")throw Error(fe(191,s));s.call(a)}}}var ip={},Ds=ol(ip),Lh=ol(ip),zh=ol(ip);function Ol(e){if(e===ip)throw Error(fe(174));return e}function e2(e,t){switch(qt(zh,t),qt(Lh,e),qt(Ds,ip),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_j(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=_j(t,e)}tr(Ds),qt(Ds,t)}function su(){tr(Ds),tr(Lh),tr(zh)}function PL(e){Ol(zh.current);var t=Ol(Ds.current),r=_j(t,e.type);t!==r&&(qt(Lh,e),qt(Ds,r))}function t2(e){Lh.current===e&&(tr(Ds),tr(Lh))}var lr=ol(0);function Tx(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){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 Y0=[];function r2(){for(var e=0;e<Y0.length;e++)Y0[e]._workInProgressVersionPrimary=null;Y0.length=0}var Kg=Yi.ReactCurrentDispatcher,Z0=Yi.ReactCurrentBatchConfig,rc=0,dr=null,_r=null,zr=null,Ax=!1,dh=!1,Bh=0,_X=0;function an(){throw Error(fe(321))}function n2(e,t){if(t===null)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!fs(e[r],t[r]))return!1;return!0}function a2(e,t,r,a,s,i){if(rc=i,dr=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Kg.current=e===null||e.memoizedState===null?FX:DX,e=r(a,s),dh){i=0;do{if(dh=!1,Bh=0,25<=i)throw Error(fe(301));i+=1,zr=_r=null,t.updateQueue=null,Kg.current=$X,e=r(a,s)}while(dh)}if(Kg.current=Ex,t=_r!==null&&_r.next!==null,rc=0,zr=_r=dr=null,Ax=!1,t)throw Error(fe(300));return e}function s2(){var e=Bh!==0;return Bh=0,e}function Cs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return zr===null?dr.memoizedState=zr=e:zr=zr.next=e,zr}function Ba(){if(_r===null){var e=dr.alternate;e=e!==null?e.memoizedState:null}else e=_r.next;var t=zr===null?dr.memoizedState:zr.next;if(t!==null)zr=t,_r=e;else{if(e===null)throw Error(fe(310));_r=e,e={memoizedState:_r.memoizedState,baseState:_r.baseState,baseQueue:_r.baseQueue,queue:_r.queue,next:null},zr===null?dr.memoizedState=zr=e:zr=zr.next=e}return zr}function Wh(e,t){return typeof t=="function"?t(e):t}function Q0(e){var t=Ba(),r=t.queue;if(r===null)throw Error(fe(311));r.lastRenderedReducer=e;
vendor: 5,690 bytes, line 38
38var a=_r,s=a.baseQueue,i=r.pending;if(i!==null){if(s!==null){var o=s.next;s.next=i.next,i.next=o}a.baseQueue=s=i,r.pending=null}if(s!==null){i=s.next,a=a.baseState;var l=o=null,c=null,d=i;do{var u=d.lane;if((rc&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),a=d.hasEagerState?d.eagerState:e(a,d.action);else{var m={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=m,o=a):c=c.next=m,dr.lanes|=u,nc|=u}d=d.next}while(d!==null&&d!==i);c===null?o=a:c.next=l,fs(a,t.memoizedState)||(Wn=!0),t.memoizedState=a,t.baseState=o,t.baseQueue=c,r.lastRenderedState=a}if(e=r.interleaved,e!==null){s=e;do i=s.lane,dr.lanes|=i,nc|=i,s=s.next;while(s!==e)}else s===null&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function X0(e){var t=Ba(),r=t.queue;if(r===null)throw Error(fe(311));r.lastRenderedReducer=e;var a=r.dispatch,s=r.pending,i=t.memoizedState;if(s!==null){r.pending=null;var o=s=s.next;do i=e(i,o.action),o=o.next;while(o!==s);fs(i,t.memoizedState)||(Wn=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),r.lastRenderedState=i}return[i,a]}function TL(){}function AL(e,t){var r=dr,a=Ba(),s=t(),i=!fs(a.memoizedState,s);if(i&&(a.memoizedState=s,Wn=!0),a=a.queue,i2(_L.bind(null,r,a,e),[e]),a.getSnapshot!==t||i||zr!==null&&zr.memoizedState.tag&1){if(r.flags|=2048,Uh(9,IL.bind(null,r,a,s,t),void 0,null),Wr===null)throw Error(fe(349));rc&30||EL(r,t,s)}return s}function EL(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},t=dr.updateQueue,t===null?(t={lastEffect:null,stores:null},dr.updateQueue=t,t.stores=[e]):(r=t.stores,r===null?t.stores=[e]:r.push(e))}function IL(e,t,r,a){t.value=r,t.getSnapshot=a,ML(t)&&OL(e)}function _L(e,t,r){return r(function(){ML(t)&&OL(e)})}function ML(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!fs(e,r)}catch{return!0}}function OL(e){var t=Ri(e,1);t!==null&&ms(t,e,1,-1)}function vA(e){var t=Cs();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Wh,lastRenderedState:e},t.queue=e,e=e.dispatch=RX.bind(null,dr,e),[t.memoizedState,e]}function Uh(e,t,r,a){return e={tag:e,create:t,destroy:r,deps:a,next:null},t=dr.updateQueue,t===null?(t={lastEffect:null,stores:null},dr.updateQueue=t,t.lastEffect=e.next=e):(r=t.lastEffect,r===null?t.lastEffect=e.next=e:(a=r.next,r.next=e,e.next=a,t.lastEffect=e)),e}function RL(){return Ba().memoizedState}function Yg(e,t,r,a){var s=Cs();dr.flags|=e,s.memoizedState=Uh(1|t,r,void 0,a===void 0?null:a)}function Iv(e,t,r,a){var s=Ba();a=a===void 0?null:a;var i=void 0;if(_r!==null){var o=_r.memoizedState;if(i=o.destroy,a!==null&&n2(a,o.deps)){s.memoizedState=Uh(t,r,i,a);return}}dr.flags|=e,s.memoizedState=Uh(1|t,r,i,a)}function bA(e,t){return Yg(8390656,8,e,t)}function i2(e,t){return Iv(2048,8,e,t)}function FL(e,t){return Iv(4,2,e,t)}function DL(e,t){return Iv(4,4,e,t)}function $L(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function LL(e,t,r){return r=r!=null?r.concat([e]):null,Iv(4,4,$L.bind(null,t,e),r)}function o2(){}function zL(e,t){var r=Ba();t=t===void 0?null:t;var a=r.memoizedState;return a!==null&&t!==null&&n2(t,a[1])?a[0]:(r.memoizedState=[e,t],e)}function BL(e,t){var r=Ba();t=t===void 0?null:t;var a=r.memoizedState;return a!==null&&t!==null&&n2(t,a[1])?a[0]:(e=e(),r.memoizedState=[e,t],e)}function WL(e,t,r){return rc&21?(fs(r,t)||(r=G6(),dr.lanes|=r,nc|=r,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Wn=!0),e.memoizedState=r)}function MX(e,t){var r=It;It=r!==0&&4>r?r:4,e(!0);var a=Z0.transition;Z0.transition={};try{e(!1),t()}finally{It=r,Z0.transition=a}}function UL(){return Ba().memoizedState}function OX(e,t,r){var a=Fo(e);if(r={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null},VL(e))qL(t,r);else if(r=SL(e,t,r,a),r!==null){var s=In();ms(r,e,a,s),HL(r,t,a)}}function RX(e,t,r){var a=Fo(e),s={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null};if(VL(e))qL(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,r);if(s.hasEagerState=!0,s.eagerState=l,fs(l,o)){var c=t.interleaved;c===null?(s.next=s,XS(t)):(s.next=c.next,c.next=s),t.interleaved=s;return}}catch{}finally{}r=SL(e,t,s,a),r!==null&&(s=In(),ms(r,e,a,s),HL(r,t,a))}}function VL(e){var t=e.alternate;return e===dr||t!==null&&t===dr}function qL(e,t){dh=Ax=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function HL(e,t,r){if(r&4194240){var a=t.lanes;a&=e.pendingLanes,r|=a,t.lanes=r,$S(e,r)}}var Ex={readContext:za,useCallback:an,useContext:an,useEffect:an,useImperativeHandle:an,useInsertionEffect:an,useLayoutEffect:an,useMemo:an,useReducer:an,useRef:an,useState:an,useDebugValue:an,useDeferredValue:an,useTransition:an,useMutableSource:an,useSyncExternalStore:an,useId:an,unstable_isNewReconciler:!1},FX={readContext:za,useCallback:function(e,t){return Cs().memoizedState=[e,t===void 0?null:t],e},useContext:za,useEffect:bA,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,Yg(4194308,4,$L.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Yg(4194308,4,e,t)},useInsertionEffect:function(e,t){return Yg(4,2,e,t)},useMemo:function(e,t){var r=Cs();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var a=Cs();return t=r!==void 0?r(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=OX.bind(null,dr,e),[a.memoizedState,e]}
vendor: 7,433 bytes, lines 38-40
38,useRef:function(e){var t=Cs();return e={current:e},t.memoizedState=e},useState:vA,useDebugValue:o2,useDeferredValue:function(e){return Cs().memoizedState=e},useTransition:function(){var e=vA(!1),t=e[0];return e=MX.bind(null,e[1]),Cs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var a=dr,s=Cs();if(ar){if(r===void 0)throw Error(fe(407));r=r()}else{if(r=t(),Wr===null)throw Error(fe(349));rc&30||EL(a,t,r)}s.memoizedState=r;var i={value:r,getSnapshot:t};return s.queue=i,bA(_L.bind(null,a,i,e),[e]),a.flags|=2048,Uh(9,IL.bind(null,a,i,r,t),void 0,null),r},useId:function(){var e=Cs(),t=Wr.identifierPrefix;if(ar){var r=xi,a=gi;r=(a&~(1<<32-us(a)-1)).toString(32)+r,t=":"+t+"R"+r,r=Bh++,0<r&&(t+="H"+r.toString(32)),t+=":"}else r=_X++,t=":"+t+"r"+r.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},DX={readContext:za,useCallback:zL,useContext:za,useEffect:i2,useImperativeHandle:LL,useInsertionEffect:FL,useLayoutEffect:DL,useMemo:BL,useReducer:Q0,useRef:RL,useState:function(){return Q0(Wh)},useDebugValue:o2,useDeferredValue:function(e){var t=Ba();return WL(t,_r.memoizedState,e)},useTransition:function(){var e=Q0(Wh)[0],t=Ba().memoizedState;return[e,t]},useMutableSource:TL,useSyncExternalStore:AL,useId:UL,unstable_isNewReconciler:!1},$X={readContext:za,useCallback:zL,useContext:za,useEffect:i2,useImperativeHandle:LL,useInsertionEffect:FL,useLayoutEffect:DL,useMemo:BL,useReducer:X0,useRef:RL,useState:function(){return X0(Wh)},useDebugValue:o2,useDeferredValue:function(e){var t=Ba();return _r===null?t.memoizedState=e:WL(t,_r.memoizedState,e)},useTransition:function(){var e=X0(Wh)[0],t=Ba().memoizedState;return[e,t]},useMutableSource:TL,useSyncExternalStore:AL,useId:UL,unstable_isNewReconciler:!1};function Qa(e,t){if(e&&e.defaultProps){t=ur({},t),e=e.defaultProps;for(var r in e)t[r]===void 0&&(t[r]=e[r]);return t}return t}function Jj(e,t,r,a){t=e.memoizedState,r=r(a,t),r=r==null?t:ur({},t,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var _v={isMounted:function(e){return(e=e._reactInternals)?bc(e)===e:!1},enqueueSetState:function(e,t,r){e=e._reactInternals;var a=In(),s=Fo(e),i=Ni(a,s);i.payload=t,r!=null&&(i.callback=r),t=Oo(e,i,s),t!==null&&(ms(t,e,s,a),Gg(t,e,s))},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var a=In(),s=Fo(e),i=Ni(a,s);i.tag=1,i.payload=t,r!=null&&(i.callback=r),t=Oo(e,i,s),t!==null&&(ms(t,e,s,a),Gg(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=In(),a=Fo(e),s=Ni(r,a);s.tag=2,t!=null&&(s.callback=t),t=Oo(e,s,a),t!==null&&(ms(t,e,a,r),Gg(t,e,a))}};function wA(e,t,r,a,s,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,o):t.prototype&&t.prototype.isPureReactComponent?!Rh(r,a)||!Rh(s,i):!0}function GL(e,t,r){var a=!1,s=Ho,i=t.contextType;return typeof i=="object"&&i!==null?i=za(i):(s=qn(t)?ec:pn.current,a=t.contextTypes,i=(a=a!=null)?ru(e,s):Ho),t=new t(r,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=_v,e.stateNode=t,t._reactInternals=e,a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=i),t}function jA(e,t,r,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(r,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(r,a),t.state!==e&&_v.enqueueReplaceState(t,t.state,null)}function e1(e,t,r,a){var s=e.stateNode;s.props=r,s.state=e.memoizedState,s.refs={},JS(e);var i=t.contextType;typeof i=="object"&&i!==null?s.context=za(i):(i=qn(t)?ec:pn.current,s.context=ru(e,i)),s.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Jj(e,t,i,r),s.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(t=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),t!==s.state&&_v.enqueueReplaceState(s,s.state,null),Px(e,r,s,a),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function iu(e,t){try{var r="",a=t;do r+=mQ(a),a=a.return;while(a);var s=r}catch(i){s=`
39Error generating stack: `+i.message+`
40`+i.stack}return{value:e,source:t,stack:s,digest:null}}function J0(e,t,r){return{value:e,source:null,stack:r??null,digest:t??null}}function t1(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var LX=typeof WeakMap=="function"?WeakMap:Map;function KL(e,t,r){r=Ni(-1,r),r.tag=3,r.payload={element:null};var a=t.value;return r.callback=function(){_x||(_x=!0,u1=a),t1(e,t)},r}function YL(e,t,r){r=Ni(-1,r),r.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var s=t.value;r.payload=function(){return a(s)},r.callback=function(){t1(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(r.callback=function(){t1(e,t),typeof a!="function"&&(Ro===null?Ro=new Set([this]):Ro.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),r}function NA(e,t,r){var a=e.pingCache;if(a===null){a=e.pingCache=new LX;var s=new Set;a.set(t,s)}else s=a.get(t),s===void 0&&(s=new Set,a.set(t,s));s.has(r)||(s.add(r),e=JX.bind(null,e,t,r),t.then(e,e))}function kA(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function SA(e,t,r,a,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(t=Ni(-1,1),t.tag=2,Oo(r,t,1))),r.lanes|=1),e)}var zX=Yi.ReactCurrentOwner,Wn=!1;function Cn(e,t,r,a){t.child=e===null?kL(t,null,r,a):au(t,e.child,r,a)}function CA(e,t,r,a,s){r=r.render;var i=t.ref;return kd(t,s),a=a2(e,t,r,a,i,s),r=s2(),e!==null&&!Wn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,Fi(e,t,s)):(ar&&r&&HS(t),t.flags|=1,Cn(e,t,a,s),t.child)}function PA(e,t,r,a,s){if(e===null){var i=r.type;return typeof i=="function"&&!p2(i)&&i.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(t.tag=15,t.type=i,ZL(e,t,i,a,s)):(e=Jg(r.type,null,a,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&s)){var o=i.memoizedProps;if(r=r.compare,r=r!==null?r:Rh,r(o,a)&&e.ref===t.ref)return Fi(e,t,s)}return t.flags|=1,e=Do(i,a),e.ref=t.ref,e.return=t,t.child=e}function ZL(e,t,r,a,s){if(e!==null){var i=e.memoizedProps;if(Rh(i,a)&&e.ref===t.ref)if(Wn=!1,t.pendingProps=a=i,(e.lanes&s)!==0)e.flags&131072&&(Wn=!0);else return t.lanes=e.lanes,Fi(e,t,s)}return r1(e,t,r,a,s)}function QL(e,t,r){var a=t.pendingProps,s=a.children,i=e!==null?e.memoizedState:null;if(a.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},qt(dd,ta),ta|=r;else{if(!(r&1073741824))return e=i!==null?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,qt(dd,ta),ta|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=i!==null?i.baseLanes:r,qt(dd,ta),ta|=a}else i!==null?(a=i.baseLanes|r,t.memoizedState=null):a=r,qt(dd,ta),ta|=a;return Cn(e,t,s,r),t.child}function XL(e,t){var r=t.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}
vendor: 4,711 bytes, line 40
40function r1(e,t,r,a,s){var i=qn(r)?ec:pn.current;return i=ru(t,i),kd(t,s),r=a2(e,t,r,a,i,s),a=s2(),e!==null&&!Wn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,Fi(e,t,s)):(ar&&a&&HS(t),t.flags|=1,Cn(e,t,r,s),t.child)}function TA(e,t,r,a,s){if(qn(r)){var i=!0;jx(t)}else i=!1;if(kd(t,s),t.stateNode===null)Zg(e,t),GL(t,r,a),e1(t,r,a,s),a=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,d=r.contextType;typeof d=="object"&&d!==null?d=za(d):(d=qn(r)?ec:pn.current,d=ru(t,d));var u=r.getDerivedStateFromProps,m=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==a||c!==d)&&jA(t,o,a,d),co=!1;var h=t.memoizedState;o.state=h,Px(t,a,o,s),c=t.memoizedState,l!==a||h!==c||Vn.current||co?(typeof u=="function"&&(Jj(t,r,u,a),c=t.memoizedState),(l=co||wA(t,r,l,a,h,c,d))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),o.props=a,o.state=c,o.context=d,a=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{o=t.stateNode,CL(e,t),l=t.memoizedProps,d=t.type===t.elementType?l:Qa(t.type,l),o.props=d,m=t.pendingProps,h=o.context,c=r.contextType,typeof c=="object"&&c!==null?c=za(c):(c=qn(r)?ec:pn.current,c=ru(t,c));var f=r.getDerivedStateFromProps;(u=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==m||h!==c)&&jA(t,o,a,c),co=!1,h=t.memoizedState,o.state=h,Px(t,a,o,s);var b=t.memoizedState;l!==m||h!==b||Vn.current||co?(typeof f=="function"&&(Jj(t,r,f,a),b=t.memoizedState),(d=co||wA(t,r,d,a,h,b,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(a,b,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(a,b,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=b),o.props=a,o.state=b,o.context=c,a=d):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),a=!1)}return n1(e,t,r,a,i,s)}function n1(e,t,r,a,s,i){XL(e,t);var o=(t.flags&128)!==0;if(!a&&!o)return s&&hA(t,r,!1),Fi(e,t,i);a=t.stateNode,zX.current=t;var l=o&&typeof r.getDerivedStateFromError!="function"?null:a.render();return t.flags|=1,e!==null&&o?(t.child=au(t,e.child,null,i),t.child=au(t,null,l,i)):Cn(e,t,l,i),t.memoizedState=a.state,s&&hA(t,r,!0),t.child}function JL(e){var t=e.stateNode;t.pendingContext?mA(e,t.pendingContext,t.pendingContext!==t.context):t.context&&mA(e,t.context,!1),e2(e,t.containerInfo)}function AA(e,t,r,a,s){return nu(),KS(s),t.flags|=256,Cn(e,t,r,a),t.child}var a1={dehydrated:null,treeContext:null,retryLane:0};function s1(e){return{baseLanes:e,cachePool:null,transitions:null}}function ez(e,t,r){var a=t.pendingProps,s=lr.current,i=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(s&2)!==0),l?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),qt(lr,s&1),e===null)return Qj(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=a.children,e=a.fallback,i?(a=t.mode,i=t.child,o={mode:"hidden",children:o},!(a&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Rv(o,a,0,null),e=Yl(e,a,r,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=s1(r),t.memoizedState=a1,e):l2(t,o));if(s=e.memoizedState,s!==null&&(l=s.dehydrated,l!==null))return BX(e,t,o,a,l,s,r);if(i){i=a.fallback,o=t.mode,s=e.child,l=s.sibling;var c={mode:"hidden",children:a.children};return!(o&1)&&t.child!==s?(a=t.child,a.childLanes=0,a.pendingProps=c,t.deletions=null):(a=Do(s,c),a.subtreeFlags=s.subtreeFlags&14680064),l!==null?i=Do(l,i):(i=Yl(i,o,r,null),i.flags|=2),i.return=t,a.return=t,a.sibling=i,t.child=a,a=i,i=t.child,o=e.child.memoizedState,o=o===null?s1(r):{base
vendor: 4,808 bytes, line 40
40Lanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~r,t.memoizedState=a1,a}return i=e.child,e=i.sibling,a=Do(i,{mode:"visible",children:a.children}),!(t.mode&1)&&(a.lanes=r),a.return=t,a.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=a,t.memoizedState=null,a}function l2(e,t){return t=Rv({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function ng(e,t,r,a){return a!==null&&KS(a),au(t,e.child,null,r),e=l2(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function BX(e,t,r,a,s,i,o){if(r)return t.flags&256?(t.flags&=-257,a=J0(Error(fe(422))),ng(e,t,o,a)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=a.fallback,s=t.mode,a=Rv({mode:"visible",children:a.children},s,0,null),i=Yl(i,s,o,null),i.flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,t.mode&1&&au(t,e.child,null,o),t.child.memoizedState=s1(o),t.memoizedState=a1,i);if(!(t.mode&1))return ng(e,t,o,null);if(s.data==="$!"){if(a=s.nextSibling&&s.nextSibling.dataset,a)var l=a.dgst;return a=l,i=Error(fe(419)),a=J0(i,a,void 0),ng(e,t,o,a)}if(l=(o&e.childLanes)!==0,Wn||l){if(a=Wr,a!==null){switch(o&-o){case 4:s=2;break;case 16:s=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(a.suspendedLanes|o)?0:s,s!==0&&s!==i.retryLane&&(i.retryLane=s,Ri(e,s),ms(a,e,s,-1))}return f2(),a=J0(Error(fe(421))),ng(e,t,o,a)}return s.data==="$?"?(t.flags|=128,t.child=e.child,t=eJ.bind(null,e),s._reactRetry=t,null):(e=i.treeContext,oa=Mo(s.nextSibling),la=t,ar=!0,rs=null,e!==null&&(Ea[Ia++]=gi,Ea[Ia++]=xi,Ea[Ia++]=tc,gi=e.id,xi=e.overflow,tc=t),t=l2(t,a.children),t.flags|=4096,t)}function EA(e,t,r){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Xj(e.return,t,r)}function ew(e,t,r,a,s){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:r,tailMode:s}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=r,i.tailMode=s)}function tz(e,t,r){var a=t.pendingProps,s=a.revealOrder,i=a.tail;if(Cn(e,t,a.children,r),a=lr.current,a&2)a=a&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&EA(e,r,t);else if(e.tag===19)EA(e,r,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(qt(lr,a),!(t.mode&1))t.memoizedState=null;else switch(s){case"forwards":for(r=t.child,s=null;r!==null;)e=r.alternate,e!==null&&Tx(e)===null&&(s=r),r=r.sibling;r=s,r===null?(s=t.child,t.child=null):(s=r.sibling,r.sibling=null),ew(t,!1,s,r,i);break;case"backwards":for(r=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Tx(e)===null){t.child=s;break}e=s.sibling,s.sibling=r,r=s,s=e}ew(t,!0,r,null,i);break;case"together":ew(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Zg(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Fi(e,t,r){if(e!==null&&(t.dependencies=e.dependencies),nc|=t.lanes,!(r&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(fe(153));if(t.child!==null){for(e=t.child,r=Do(e,e.pendingProps),t.child=r,r.return=t;e.sibling!==null;)e=e.sibling,r=r.sibling=Do(e,e.pendingProps),r.return=t;r.sibling=null}return t.child}function WX(e,t,r){switch(t.tag){case 3:JL(t),nu();break;case 5:PL(t);break;case 1:qn(t.type)&&jx(t);break;case 4:e2(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,s=t.memoizedProps.value;qt(Sx,a._currentValue),a._currentValue=s;break;case 13:if(a=t.memoizedState,a!==null)return a.dehydrated!==null?(qt(lr,lr.current&1),t.flags|=128,null):r&t.child.childLanes?ez(e,t,r):(qt(lr,lr.current&1),e=Fi(e,t,r),e!==null?e.sibling:null);qt(lr,lr.current&1);break;case 19:if(a=(r&t.childLanes)!==0,e.flags&128){if(a)return tz(e,t,r);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),qt(lr,lr.current),a)break;return null;case 22:case 23:return t.lanes=0,QL(e,t,r)}return Fi(e,t,r)}var rz,i1,nz,az;rz=function(e,t){for(var r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};i1=function(){};nz=function(e,t,r,a){var s=e.memoizedProps;if(s!==a){e=t.stateNode,Ol(Ds.current);var i=null;
vendor: 1,834 bytes, line 40
40switch(r){case"input":s=Tj(e,s),a=Tj(e,a),i=[];break;case"select":s=ur({},s,{value:void 0}),a=ur({},a,{value:void 0}),i=[];break;case"textarea":s=Ij(e,s),a=Ij(e,a),i=[];break;default:typeof s.onClick!="function"&&typeof a.onClick=="function"&&(e.onclick=bx)}Mj(r,a);var o;r=null;for(d in s)if(!a.hasOwnProperty(d)&&s.hasOwnProperty(d)&&s[d]!=null)if(d==="style"){var l=s[d];for(o in l)l.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Th.hasOwnProperty(d)?i||(i=[]):(i=i||[]).push(d,null));for(d in a){var c=a[d];if(l=s!=null?s[d]:void 0,a.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(r||(r={}),r[o]=c[o])}else r||(i||(i=[]),i.push(d,r)),r=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(i=i||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Th.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&Qt("scroll",e),i||l===c||(i=[])):(i=i||[]).push(d,c))}r&&(i=i||[]).push("style",r);var d=i;(t.updateQueue=d)&&(t.flags|=4)}};az=function(e,t,r,a){r!==a&&(t.flags|=4)};function Tm(e,t){if(!ar)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var a=null;r!==null;)r.alternate!==null&&(a=r),r=r.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function sn(e){var t=e.alternate!==null&&e.alternate.child===e.child,r=0,a=0;if(t)for(var s=e.child;s!==null;
vendor: 34,302 bytes, line 40
40)r|=s.lanes|s.childLanes,a|=s.subtreeFlags&14680064,a|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)r|=s.lanes|s.childLanes,a|=s.subtreeFlags,a|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=a,e.childLanes=r,t}function UX(e,t,r){var a=t.pendingProps;switch(GS(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return sn(t),null;case 1:return qn(t.type)&&wx(),sn(t),null;case 3:return a=t.stateNode,su(),tr(Vn),tr(pn),r2(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(tg(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,rs!==null&&(f1(rs),rs=null))),i1(e,t),sn(t),null;case 5:t2(t);var s=Ol(zh.current);if(r=t.type,e!==null&&t.stateNode!=null)nz(e,t,r,a,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(t.stateNode===null)throw Error(fe(166));return sn(t),null}if(e=Ol(Ds.current),tg(t)){a=t.stateNode,r=t.type;var i=t.memoizedProps;switch(a[_s]=t,a[$h]=i,e=(t.mode&1)!==0,r){case"dialog":Qt("cancel",a),Qt("close",a);break;case"iframe":case"object":case"embed":Qt("load",a);break;case"video":case"audio":for(s=0;s<Xm.length;s++)Qt(Xm[s],a);break;case"source":Qt("error",a);break;case"img":case"image":case"link":Qt("error",a),Qt("load",a);break;case"details":Qt("toggle",a);break;case"input":LT(a,i),Qt("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},Qt("invalid",a);break;case"textarea":BT(a,i),Qt("invalid",a)}Mj(r,i),s=null;for(var o in i)if(i.hasOwnProperty(o)){var l=i[o];o==="children"?typeof l=="string"?a.textContent!==l&&(i.suppressHydrationWarning!==!0&&eg(a.textContent,l,e),s=["children",l]):typeof l=="number"&&a.textContent!==""+l&&(i.suppressHydrationWarning!==!0&&eg(a.textContent,l,e),s=["children",""+l]):Th.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&Qt("scroll",a)}switch(r){case"input":Hp(a),zT(a,i,!0);break;case"textarea":Hp(a),WT(a);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(a.onclick=bx)}a=s,t.updateQueue=a,a!==null&&(t.flags|=4)}else{o=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=_6(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=o.createElement(r,{is:a.is}):(e=o.createElement(r),r==="select"&&(o=e,a.multiple?o.multiple=!0:a.size&&(o.size=a.size))):e=o.createElementNS(e,r),e[_s]=t,e[$h]=a,rz(e,t,!1,!1),t.stateNode=e;e:{switch(o=Oj(r,a),r){case"dialog":Qt("cancel",e),Qt("close",e),s=a;break;case"iframe":case"object":case"embed":Qt("load",e),s=a;break;case"video":case"audio":for(s=0;s<Xm.length;s++)Qt(Xm[s],e);s=a;break;case"source":Qt("error",e),s=a;break;case"img":case"image":case"link":Qt("error",e),Qt("load",e),s=a;break;case"details":Qt("toggle",e),s=a;break;case"input":LT(e,a),s=Tj(e,a),Qt("invalid",e);break;case"option":s=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},s=ur({},a,{value:void 0}),Qt("invalid",e);break;case"textarea":BT(e,a),s=Ij(e,a),Qt("invalid",e);break;default:s=a}Mj(r,s),l=s;for(i in l)if(l.hasOwnProperty(i)){var c=l[i];i==="style"?R6(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&M6(e,c)):i==="children"?typeof c=="string"?(r!=="textarea"||c!=="")&&Ah(e,c):typeof c=="number"&&Ah(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Th.hasOwnProperty(i)?c!=null&&i==="onScroll"&&Qt("scroll",e):c!=null&&_S(e,i,c,o))}switch(r){case"input":Hp(e),zT(e,a,!1);break;case"textarea":Hp(e),WT(e);break;case"option":a.value!=null&&e.setAttribute("value",""+qo(a.value));break;case"select":e.multiple=!!a.multiple,i=a.value,i!=null?bd(e,!!a.multiple,i,!1):a.defaultValue!=null&&bd(e,!!a.multiple,a.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=bx)}switch(r){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return sn(t),null;case 6:if(e&&t.stateNode!=null)az(e,t,e.memoizedProps,a);else{if(typeof a!="string"&&t.stateNode===null)throw Error(fe(166));if(r=Ol(zh.current),Ol(Ds.current),tg(t)){if(a=t.stateNode,r=t.memoizedProps,a[_s]=t,(i=a.nodeValue!==r)&&(e=la,e!==null))switch(e.tag){case 3:eg(a.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&eg(a.nodeValue,r,(e.mode&1)!==0)}i&&(t.flags|=4)}else a=(r.nodeType===9?r:r.ownerDocument).createTextNode(a),a[_s]=t,t.stateNode=a}return sn(t),null;case 13:if(tr(lr),a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ar&&oa!==null&&t.mode&1&&!(t.flags&128))jL(),nu(),t.flags|=98560,i=!1;else if(i=tg(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(fe(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(fe(317));i[_s]=t}else nu(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;sn(t),i=!1}else rs!==null&&(f1(rs),rs=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=r,t):(a=a!==null,a!==(e!==null&&e.memoizedState!==null)&&a&&(t.child.flags|=8192,t.mode&1&&(e===null||lr.current&1?Rr===0&&(Rr=3):f2())),t.updateQueue!==null&&(t.flags|=4),sn(t),null);case 4:return su(),i1(e,t),e===null&&Fh(t.stateNode.containerInfo),sn(t),null;case 10:return QS(t.type._context),sn(t),null;case 17:return qn(t.type)&&wx(),sn(t),null;case 19:if(tr(lr),i=t.memoizedState,i===null)return sn(t),null;if(a=(t.flags&128)!==0,o=i.rendering,o===null)if(a)Tm(i,!1);else{if(Rr!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Tx(e),o!==null){for(t.flags|=128,Tm(i,!1),a=o.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=r,r=t.child;r!==null;)i=r,e=a,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return qt(lr,lr.current&1|2),t.child}e=e.sibling}i.tail!==null&&wr()>ou&&(t.flags|=128,a=!0,Tm(i,!1),t.lanes=4194304)}else{if(!a)if(e=Tx(o),e!==null){if(t.flags|=128,a=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),Tm(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!ar)return sn(t),null}else 2*wr()-i.renderingStartTime>ou&&r!==1073741824&&(t.flags|=128,a=!0,Tm(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(r=i.last,r!==null?r.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=wr(),t.sibling=null,r=lr.current,qt(lr,a?r&1|2:r&1),t):(sn(t),null);case 22:case 23:return h2(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&t.mode&1?ta&1073741824&&(sn(t),t.subtreeFlags&6&&(t.flags|=8192)):sn(t),null;case 24:return null;case 25:return null}throw Error(fe(156,t.tag))}function VX(e,t){switch(GS(t),t.tag){case 1:return qn(t.type)&&wx(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return su(),tr(Vn),tr(pn),r2(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return t2(t),null;case 13:if(tr(lr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(fe(340));nu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tr(lr),null;case 4:return su(),null;case 10:return QS(t.type._context),null;case 22:case 23:return h2(),null;case 24:return null;default:return null}}var ag=!1,dn=!1,qX=typeof WeakSet=="function"?WeakSet:Set,Ee=null;function cd(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(a){fr(e,t,a)}else r.current=null}function o1(e,t,r){try{r()}catch(a){fr(e,t,a)}}var IA=!1;function HX(e,t){if(Vj=xx,e=cL(),qS(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var a=r.getSelection&&r.getSelection();if(a&&a.rangeCount!==0){r=a.anchorNode;var s=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,l=-1,c=-1,d=0,u=0,m=e,h=null;t:for(;;){for(var f;m!==r||s!==0&&m.nodeType!==3||(l=o+s),m!==i||a!==0&&m.nodeType!==3||(c=o+a),m.nodeType===3&&(o+=m.nodeValue.length),(f=m.firstChild)!==null;)h=m,m=f;for(;;){if(m===e)break t;if(h===r&&++d===s&&(l=o),h===i&&++u===a&&(c=o),(f=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=f}r=l===-1||c===-1?null:{start:l,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(qj={focusedElem:e,selectionRange:r},xx=!1,Ee=t;Ee!==null;)if(t=Ee,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ee=e;else for(;Ee!==null;){t=Ee;try{var b=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var g=b.memoizedProps,p=b.memoizedState,x=t.stateNode,v=x.getSnapshotBeforeUpdate(t.elementType===t.type?g:Qa(t.type,g),p);x.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(fe(163))}}catch(N){fr(t,t.return,N)}if(e=t.sibling,e!==null){e.return=t.return,Ee=e;break}Ee=t.return}return b=IA,IA=!1,b}function uh(e,t,r){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var s=a=a.next;do{if((s.tag&e)===e){var i=s.destroy;s.destroy=void 0,i!==void 0&&o1(t,r,i)}s=s.next}while(s!==a)}}function Mv(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var a=r.create;r.destroy=a()}r=r.next}while(r!==t)}}function l1(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function sz(e){var t=e.alternate;t!==null&&(e.alternate=null,sz(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[$h],delete t[Kj],delete t[TX],delete t[AX])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function iz(e){return e.tag===5||e.tag===3||e.tag===4}function _A(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||iz(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.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function c1(e,t,r){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=bx));else if(a!==4&&(e=e.child,e!==null))for(c1(e,t,r),e=e.sibling;e!==null;)c1(e,t,r),e=e.sibling}function d1(e,t,r){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(d1(e,t,r),e=e.sibling;e!==null;)d1(e,t,r),e=e.sibling}var Yr=null,Ja=!1;function to(e,t,r){for(r=r.child;r!==null;)oz(e,t,r),r=r.sibling}function oz(e,t,r){if(Fs&&typeof Fs.onCommitFiberUnmount=="function")try{Fs.onCommitFiberUnmount(Sv,r)}catch{}switch(r.tag){case 5:dn||cd(r,t);case 6:var a=Yr,s=Ja;Yr=null,to(e,t,r),Yr=a,Ja=s,Yr!==null&&(Ja?(e=Yr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Yr.removeChild(r.stateNode));break;case 18:Yr!==null&&(Ja?(e=Yr,r=r.stateNode,e.nodeType===8?G0(e.parentNode,r):e.nodeType===1&&G0(e,r),Mh(e)):G0(Yr,r.stateNode));break;case 4:a=Yr,s=Ja,Yr=r.stateNode.containerInfo,Ja=!0,to(e,t,r),Yr=a,Ja=s;break;case 0:case 11:case 14:case 15:if(!dn&&(a=r.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){s=a=a.next;do{var i=s,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&o1(r,t,o),s=s.next}while(s!==a)}to(e,t,r);break;case 1:if(!dn&&(cd(r,t),a=r.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=r.memoizedProps,a.state=r.memoizedState,a.componentWillUnmount()}catch(l){fr(r,t,l)}to(e,t,r);break;case 21:to(e,t,r);break;case 22:r.mode&1?(dn=(a=dn)||r.memoizedState!==null,to(e,t,r),dn=a):to(e,t,r);break;default:to(e,t,r)}}function MA(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new qX),t.forEach(function(a){var s=tJ.bind(null,e,a);r.has(a)||(r.add(a),a.then(s,s))})}}function Ha(e,t){var r=t.deletions;if(r!==null)for(var a=0;a<r.length;a++){var s=r[a];try{var i=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:Yr=l.stateNode,Ja=!1;break e;case 3:Yr=l.stateNode.containerInfo,Ja=!0;break e;case 4:Yr=l.stateNode.containerInfo,Ja=!0;break e}l=l.return}if(Yr===null)throw Error(fe(160));oz(i,o,s),Yr=null,Ja=!1;var c=s.alternate;c!==null&&(c.return=null),s.return=null}catch(d){fr(s,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)lz(t,e),t=t.sibling}function lz(e,t){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ha(t,e),js(e),a&4){try{uh(3,e,e.return),Mv(3,e)}catch(g){fr(e,e.return,g)}try{uh(5,e,e.return)}catch(g){fr(e,e.return,g)}}break;case 1:Ha(t,e),js(e),a&512&&r!==null&&cd(r,r.return);break;case 5:if(Ha(t,e),js(e),a&512&&r!==null&&cd(r,r.return),e.flags&32){var s=e.stateNode;try{Ah(s,"")}catch(g){fr(e,e.return,g)}}if(a&4&&(s=e.stateNode,s!=null)){var i=e.memoizedProps,o=r!==null?r.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&i.type==="radio"&&i.name!=null&&E6(s,i),Oj(l,o);var d=Oj(l,i);for(o=0;o<c.length;o+=2){var u=c[o],m=c[o+1];u==="style"?R6(s,m):u==="dangerouslySetInnerHTML"?M6(s,m):u==="children"?Ah(s,m):_S(s,u,m,d)}switch(l){case"input":Aj(s,i);break;case"textarea":I6(s,i);break;case"select":var h=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!i.multiple;var f=i.value;f!=null?bd(s,!!i.multiple,f,!1):h!==!!i.multiple&&(i.defaultValue!=null?bd(s,!!i.multiple,i.defaultValue,!0):bd(s,!!i.multiple,i.multiple?[]:"",!1))}s[$h]=i}catch(g){fr(e,e.return,g)}}break;case 6:if(Ha(t,e),js(e),a&4){if(e.stateNode===null)throw Error(fe(162));s=e.stateNode,i=e.memoizedProps;try{s.nodeValue=i}catch(g){fr(e,e.return,g)}}break;case 3:if(Ha(t,e),js(e),a&4&&r!==null&&r.memoizedState.isDehydrated)try{Mh(t.containerInfo)}catch(g){fr(e,e.return,g)}break;case 4:Ha(t,e),js(e);break;case 13:Ha(t,e),js(e),s=e.child,s.flags&8192&&(i=s.memoizedState!==null,s.stateNode.isHidden=i,!i||s.alternate!==null&&s.alternate.memoizedState!==null||(u2=wr())),a&4&&MA(e);break;case 22:if(u=r!==null&&r.memoizedState!==null,e.mode&1?(dn=(d=dn)||u,Ha(t,e),dn=d):Ha(t,e),js(e),a&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(Ee=e,u=e.child;u!==null;){for(m=Ee=u;Ee!==null;){switch(h=Ee,f=h.child,h.tag){case 0:case 11:case 14:case 15:uh(4,h,h.return);break;case 1:cd(h,h.return);var b=h.stateNode;if(typeof b.componentWillUnmount=="function"){a=h,r=h.return;try{t=a,b.props=t.memoizedProps,b.state=t.memoizedState,b.componentWillUnmount()}catch(g){fr(a,r,g)}}break;case 5:cd(h,h.return);break;case 22:if(h.memoizedState!==null){RA(m);continue}}f!==null?(f.return=h,Ee=f):RA(m)}u=u.sibling}e:for(u=null,m=e;;){if(m.tag===5){if(u===null){u=m;try{s=m.stateNode,d?(i=s.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(l=m.stateNode,c=m.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=O6("display",o))}catch(g){fr(e,e.return,g)}}}else if(m.tag===6){if(u===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(g){fr(e,e.return,g)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;u===m&&(u=null),m=m.return}u===m&&(u=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Ha(t,e),js(e),a&4&&MA(e);break;case 21:break;default:Ha(t,e),js(e)}}function js(e){var t=e.flags;if(t&2){try{e:{for(var r=e.return;r!==null;){if(iz(r)){var a=r;break e}r=r.return}throw Error(fe(160))}switch(a.tag){case 5:var s=a.stateNode;a.flags&32&&(Ah(s,""),a.flags&=-33);var i=_A(e);d1(e,i,s);break;case 3:case 4:var o=a.stateNode.containerInfo,l=_A(e);c1(e,l,o);break;default:throw Error(fe(161))}}catch(c){fr(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function GX(e,t,r){Ee=e,cz(e)}function cz(e,t,r){for(var a=(e.mode&1)!==0;Ee!==null;){var s=Ee,i=s.child;if(s.tag===22&&a){var o=s.memoizedState!==null||ag;if(!o){var l=s.alternate,c=l!==null&&l.memoizedState!==null||dn;l=ag;var d=dn;if(ag=o,(dn=c)&&!d)for(Ee=s;Ee!==null;)o=Ee,c=o.child,o.tag===22&&o.memoizedState!==null?FA(s):c!==null?(c.return=o,Ee=c):FA(s);for(;i!==null;)Ee=i,cz(i),i=i.sibling;Ee=s,ag=l,dn=d}OA(e)}else s.subtreeFlags&8772&&i!==null?(i.return=s,Ee=i):OA(e)}}function OA(e){for(;Ee!==null;){var t=Ee;if(t.flags&8772){var r=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:dn||Mv(5,t);break;case 1:var a=t.stateNode;if(t.flags&4&&!dn)if(r===null)a.componentDidMount();else{var s=t.elementType===t.type?r.memoizedProps:Qa(t.type,r.memoizedProps);a.componentDidUpdate(s,r.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&yA(t,i,a);break;case 3:var o=t.updateQueue;if(o!==null){if(r=null,t.child!==null)switch(t.child.tag){case 5:r=t.child.stateNode;break;case 1:r=t.child.stateNode}yA(t,o,r)}break;case 5:var l=t.stateNode;if(r===null&&t.flags&4){r=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&r.focus();break;case"img":c.src&&(r.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var m=u.dehydrated;m!==null&&Mh(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(fe(163))}dn||t.flags&512&&l1(t)}catch(h){fr(t,t.return,h)}}if(t===e){Ee=null;break}if(r=t.sibling,r!==null){r.return=t.return,Ee=r;break}Ee=t.return}}function RA(e){for(;Ee!==null;){var t=Ee;if(t===e){Ee=null;break}var r=t.sibling;if(r!==null){r.return=t.return,Ee=r;break}Ee=t.return}}function FA(e){for(;Ee!==null;){var t=Ee;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{Mv(4,t)}catch(c){fr(t,r,c)}break;case 1:var a=t.stateNode;if(typeof a.componentDidMount=="function"){var s=t.return;try{a.componentDidMount()}catch(c){fr(t,s,c)}}var i=t.return;try{l1(t)}catch(c){fr(t,i,c)}break;case 5:var o=t.return;try{l1(t)}catch(c){fr(t,o,c)}}}catch(c){fr(t,t.return,c)}if(t===e){Ee=null;break}var l=t.sibling;if(l!==null){l.return=t.return,Ee=l;break}Ee=t.return}}var KX=Math.ceil,Ix=Yi.ReactCurrentDispatcher,c2=Yi.ReactCurrentOwner,Oa=Yi.ReactCurrentBatchConfig,wt=0,Wr=null,Cr=null,Xr=0,ta=0,dd=ol(0),Rr=0,Vh=null,nc=0,Ov=0,d2=0,mh=null,Bn=null,u2=0,ou=1/0,mi=null,_x=!1,u1=null,Ro=null,sg=!1,Po=null,Mx=0,hh=0,m1=null,Qg=-1,Xg=0;function In(){return wt&6?wr():Qg!==-1?Qg:Qg=wr()}function Fo(e){return e.mode&1?wt&2&&Xr!==0?Xr&-Xr:IX.transition!==null?(Xg===0&&(Xg=G6()),Xg):(e=It,e!==0||(e=window.event,e=e===void 0?16:eL(e.type)),e):1}function ms(e,t,r,a){if(50<hh)throw hh=0,m1=null,Error(fe(185));np(e,r,a),(!(wt&2)||e!==Wr)&&(e===Wr&&(!(wt&2)&&(Ov|=r),Rr===4&&ho(e,Xr)),Hn(e,a),r===1&&wt===0&&!(t.mode&1)&&(ou=wr()+500,Ev&&ll()))}function Hn(e,t){var r=e.callbackNode;IQ(e,t);var a=gx(e,e===Wr?Xr:0);if(a===0)r!==null&&qT(r),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(r!=null&&qT(r),t===1)e.tag===0?EX(DA.bind(null,e)):vL(DA.bind(null,e)),CX(function(){!(wt&6)&&ll()}),r=null;else{switch(K6(a)){case 1:r=DS;break;case 4:r=q6;break;case 16:r=px;break;case 536870912:r=H6;break;default:r=px}r=xz(r,dz.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function dz(e,t){if(Qg=-1,Xg=0,wt&6)throw Error(fe(327));var r=e.callbackNode;if(Sd()&&e.callbackNode!==r)return null;var a=gx(e,e===Wr?Xr:0);if(a===0)return null;if(a&30||a&e.expiredLanes||t)t=Ox(e,a);else{t=a;var s=wt;wt|=2;var i=mz();(Wr!==e||Xr!==t)&&(mi=null,ou=wr()+500,Kl(e,t));do try{QX();break}catch(l){uz(e,l)}while(!0);ZS(),Ix.current=i,wt=s,Cr!==null?t=0:(Wr=null,Xr=0,t=Rr)}if(t!==0){if(t===2&&(s=Lj(e),s!==0&&(a=s,t=h1(e,s))),t===1)throw r=Vh,Kl(e,0),ho(e,a),Hn(e,wr()),r;if(t===6)ho(e,a);else{if(s=e.current.alternate,!(a&30)&&!YX(s)&&(t=Ox(e,a),t===2&&(i=Lj(e),i!==0&&(a=i,t=h1(e,i))),t===1))throw r=Vh,Kl(e,0),ho(e,a),Hn(e,wr()),r;switch(e.finishedWork=s,e.finishedLanes=a,t){case 0:case 1:throw Error(fe(345));case 2:Sl(e,Bn,mi);break;case 3:if(ho(e,a),(a&130023424)===a&&(t=u2+500-wr(),10<t)){if(gx(e,0)!==0)break;if(s=e.suspendedLanes,(s&a)!==a){In(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=Gj(Sl.bind(null,e,Bn,mi),t);break}Sl(e,Bn,mi);break;case 4:if(ho(e,a),(a&4194240)===a)break;for(t=e.eventTimes,s=-1;0<a;){var o=31-us(a);i=1<<o,o=t[o],o>s&&(s=o),a&=~i}if(a=s,a=wr()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*KX(a/1960))-a,10<a){e.timeoutHandle=Gj(Sl.bind(null,e,Bn,mi),a);break}Sl(e,Bn,mi);break;case 5:Sl(e,Bn,mi);break;default:throw Error(fe(329))}}}return Hn(e,wr()),e.callbackNode===r?dz.bind(null,e):null}function h1(e,t){var r=mh;return e.current.memoizedState.isDehydrated&&(Kl(e,t).flags|=256),e=Ox(e,t),e!==2&&(t=Bn,Bn=r,t!==null&&f1(t)),e}function f1(e){Bn===null?Bn=e:Bn.push.apply(Bn,e)}function YX(e){for(var t=e;;){if(t.flags&16384){var r=t.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var a=0;a<r.length;a++){var s=r[a],i=s.getSnapshot;s=s.value;try{if(!fs(i(),s))return!1}catch{return!1}}}if(r=t.child,t.subtreeFlags&16384&&r!==null)r.return=t,t=r;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 ho(e,t){for(t&=~d2,t&=~Ov,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-us(t),a=1<<r;e[r]=-1,t&=~a}}function DA(e){if(wt&6)throw Error(fe(327));Sd();var t=gx(e,0);if(!(t&1))return Hn(e,wr()),null;var r=Ox(e,t);if(e.tag!==0&&r===2){var a=Lj(e);a!==0&&(t=a,r=h1(e,a))}if(r===1)throw r=Vh,Kl(e,0),ho(e,t),Hn(e,wr()),r;if(r===6)throw Error(fe(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Sl(e,Bn,mi),Hn(e,wr()),null}function m2(e,t){var r=wt;wt|=1;try{return e(t)}finally{wt=r,wt===0&&(ou=wr()+500,Ev&&ll())}}function ac(e){Po!==null&&Po.tag===0&&!(wt&6)&&Sd();var t=wt;wt|=1;var r=Oa.transition,a=It;try{if(Oa.transition=null,It=1,e)return e()}finally{It=a,Oa.transition=r,wt=t,!(wt&6)&&ll()}}function h2(){ta=dd.current,tr(dd)}function Kl(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,SX(r)),Cr!==null)for(r=Cr.return;r!==null;){var a=r;switch(GS(a),a.tag){case 1:a=a.type.childContextTypes,a!=null&&wx();break;case 3:su(),tr(Vn),tr(pn),r2();break;case 5:t2(a);break;case 4:su();break;case 13:tr(lr);break;case 19:tr(lr);break;case 10:QS(a.type._context);break;case 22:case 23:h2()}r=r.return}if(Wr=e,Cr=e=Do(e.current,null),Xr=ta=t,Rr=0,Vh=null,d2=Ov=nc=0,Bn=mh=null,Ml!==null){for(t=0;t<Ml.length;t++)if(r=Ml[t],a=r.interleaved,a!==null){r.interleaved=null;var s=a.next,i=r.pending;if(i!==null){var o=i.next;i.next=s,a.next=o}r.pending=a}Ml=null}return e}function uz(e,t){do{var r=Cr;try{if(ZS(),Kg.current=Ex,Ax){for(var a=dr.memoizedState;a!==null;){var s=a.queue;s!==null&&(s.pending=null),a=a.next}Ax=!1}if(rc=0,zr=_r=dr=null,dh=!1,Bh=0,c2.current=null,r===null||r.return===null){Rr=1,Vh=t,Cr=null;break}e:{var i=e,o=r.return,l=r,c=t;if(t=Xr,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,m=u.tag;if(!(u.mode&1)&&(m===0||m===11||m===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=kA(o);if(f!==null){f.flags&=-257,SA(f,o,l,i,t),f.mode&1&&NA(i,d,t),t=f,c=d;var b=t.updateQueue;if(b===null){var g=new Set;g.add(c),t.updateQueue=g}else b.add(c);break e}else{if(!(t&1)){NA(i,d,t),f2();break e}c=Error(fe(426))}}else if(ar&&l.mode&1){var p=kA(o);if(p!==null){!(p.flags&65536)&&(p.flags|=256),SA(p,o,l,i,t),KS(iu(c,l));break e}}i=c=iu(c,l),Rr!==4&&(Rr=2),mh===null?mh=[i]:mh.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var x=KL(i,c,t);xA(i,x);break e;case 1:l=c;var v=i.type,w=i.stateNode;if(!(i.flags&128)&&(typeof v.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(Ro===null||!Ro.has(w)))){i.flags|=65536,t&=-t,i.lanes|=t;var N=YL(i,l,t);xA(i,N);break e}}i=i.return}while(i!==null)}fz(r)}catch(j){t=j,Cr===r&&r!==null&&(Cr=r=r.return);continue}break}while(!0)}function mz(){var e=Ix.current;return Ix.current=Ex,e===null?Ex:e}function f2(){(Rr===0||Rr===3||Rr===2)&&(Rr=4),Wr===null||!(nc&268435455)&&!(Ov&268435455)||ho(Wr,Xr)}function Ox(e,t){var r=wt;wt|=2;var a=mz();(Wr!==e||Xr!==t)&&(mi=null,Kl(e,t));do try{ZX();break}catch(s){uz(e,s)}while(!0);if(ZS(),wt=r,Ix.current=a,Cr!==null)throw Error(fe(261));return Wr=null,Xr=0,Rr}function ZX(){for(;Cr!==null;)hz(Cr)}function QX(){for(;Cr!==null&&!jQ();)hz(Cr)}function hz(e){var t=gz(e.alternate,e,ta);e.memoizedProps=e.pendingProps,t===null?fz(e):Cr=t,c2.current=null}function fz(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&32768){if(r=VX(r,t),r!==null){r.flags&=32767,Cr=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Rr=6,Cr=null;return}}else if(r=UX(r,t,ta),r!==null){Cr=r;return}if(t=t.sibling,t!==null){Cr=t;return}Cr=t=e}while(t!==null);Rr===0&&(Rr=5)}function Sl(e,t,r){var a=It,s=Oa.transition;try{Oa.transition=null,It=1,XX(e,t,r,a)}finally{Oa.transition=s,It=a}return null}function XX(e,t,r,a){do Sd();while(Po!==null);if(wt&6)throw Error(fe(327));r=e.finishedWork;var s=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(fe(177));e.callbackNode=null,e.callbackPriority=0;var i=r.lanes|r.childLanes;if(_Q(e,i),e===Wr&&(Cr=Wr=null,Xr=0),!(r.subtreeFlags&2064)&&!(r.flags&2064)||sg||(sg=!0,xz(px,function(){return Sd(),null})),i=(r.flags&15990)!==0,r.subtreeFlags&15990||i){i=Oa.transition,Oa.transition=null;var o=It;It=1;var l=wt;wt|=4,c2.current=null,HX(e,r),lz(r,e),yX(qj),xx=!!Vj,qj=Vj=null,e.current=r,GX(r),NQ(),wt=l,It=o,Oa.transition=i}else e.current=r;if(sg&&(sg=!1,Po=e,Mx=s),i=e.pendingLanes,i===0&&(Ro=null),CQ(r.stateNode),Hn(e,wr()),t!==null)for(a=e.onRecoverableError,r=0;r<t.length;r++)s=t[r],a(s.value,{componentStack:s.stack,digest:s.digest});if(_x)throw _x=!1,e=u1,u1=null,e;return Mx&1&&e.tag!==0&&Sd(),i=e.pendingLanes,i&1?e===m1?hh++:(hh=0,m1=e):hh=0,ll(),null}function Sd(){if(Po!==null){var e=K6(Mx),t=Oa.transition,r=It;try{if(Oa.transition=null,It=16>e?16:e,Po===null)var a=!1;else{if(e=Po,Po=null,Mx=0,wt&6)throw Error(fe(331));var s=wt;for(wt|=4,Ee=e.current;Ee!==null;){var i=Ee,o=i.child;if(Ee.flags&16){var l=i.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(Ee=d;Ee!==null;){var u=Ee;switch(u.tag){case 0:case 11:case 15:uh(8,u,i)}var m=u.child;if(m!==null)m.return=u,Ee=m;else for(;Ee!==null;){u=Ee;var h=u.sibling,f=u.return;if(sz(u),u===d){Ee=null;break}if(h!==null){h.return=f,Ee=h;break}Ee=f}}}var b=i.alternate;if(b!==null){var g=b.child;if(g!==null){b.child=null;do{var p=g.sibling;g.sibling=null,g=p}while(g!==null)}}Ee=i}}if(i.subtreeFlags&2064&&o!==null)o.return=i,Ee=o;else e:for(;Ee!==null;){if(i=Ee,i.flags&2048)switch(i.tag){case 0:case 11:case 15:uh(9,i,i.return)}var x=i.sibling;if(x!==null){x.return=i.return,Ee=x;break e}Ee=i.return}}var v=e.current;for(Ee=v;Ee!==null;){o=Ee;var w=o.child;if(o.subtreeFlags&2064&&w!==null)w.return=o,Ee=w;else e:for(o=v;Ee!==null;){if(l=Ee,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Mv(9,l)}}catch(j){fr(l,l.return,j)}if(l===o){Ee=null;break e}var N=l.sibling;if(N!==null){N.return=l.return,Ee=N;break e}Ee=l.return}}if(wt=s,ll(),Fs&&typeof Fs.onPostCommitFiberRoot=="function")try{Fs.onPostCommitFiberRoot(Sv,e)}catch{}a=!0}return a}finally{It=r,Oa.transition=t}}return!1}function $A(e,t,r){t=iu(r,t),t=KL(e,t,1),e=Oo(e,t,1),t=In(),e!==null&&(np(e,1,t),Hn(e,t))}function fr(e,t,r){if(e.tag===3)$A(e,e,r);else for(;t!==null;){if(t.tag===3){$A(t,e,r);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Ro===null||!Ro.has(a))){e=iu(r,e),e=YL(t,e,1),t=Oo(t,e,1),e=In(),t!==null&&(np(t,1,e),Hn(t,e));break}}t=t.return}}function JX(e,t,r){var a=e.pingCache;a!==null&&a.delete(t),t=In(),e.pingedLanes|=e.suspendedLanes&r,Wr===e&&(Xr&r)===r&&(Rr===4||Rr===3&&(Xr&130023424)===Xr&&500>wr()-u2?Kl(e,0):d2|=r),Hn(e,t)}function pz(e,t){t===0&&(e.mode&1?(t=Yp,Yp<<=1,!(Yp&130023424)&&(Yp=4194304)):t=1);var r=In();e=Ri(e,t),e!==null&&(np(e,t,r),Hn(e,r))}function eJ(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),pz(e,r)}function tJ(e,t){var r=0;switch(e.tag){case 13:var a=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(fe(314))}a!==null&&a.delete(t),pz(e,r)}var gz;gz=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Vn.current)Wn=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Wn=!1,WX(e,t,r);Wn=!!(e.flags&131072)}else Wn=!1,ar&&t.flags&1048576&&bL(t,kx,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Zg(e,t),e=t.pendingProps;var s=ru(t,pn.current);kd(t,r),s=a2(null,t,a,e,s,r);var i=s2();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,qn(a)?(i=!0,jx(t)):i=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,JS(t),s.updater=_v,t.stateNode=s,s._reactInternals=t,e1(t,a,e,r),t=n1(null,t,a,!0,i,r)):(t.tag=0,ar&&i&&HS(t),Cn(null,t,s,r),t=t.child),t;case 16:a=t.elementType;e:{switch(Zg(e,t),e=t.pendingProps,s=a._init,a=s(a._payload),t.type=a,s=t.tag=nJ(a),e=Qa(a,e),s){case 0:t=r1(null,t,a,e,r);break e;case 1:t=TA(null,t,a,e,r);break e;case 11:t=CA(null,t,a,e,r);break e;case 14:t=PA(null,t,a,Qa(a.type,e),r);break e}throw Error(fe(306,a,""))}return t;case 0:return a=t.type,s=t.pendingProps,s=t.elementType===a?s:Qa(a,s),r1(e,t,a,s,r);case 1:return a=t.type,s=t.pendingProps,s=t.elementType===a?s:Qa(a,s),TA(e,t,a,s,r);case 3:e:{if(JL(t),e===null)throw Error(fe(387));a=t.pendingProps,i=t.memoizedState,s=i.element,CL(e,t),Px(t,a,null,r);var o=t.memoizedState;if(a=o.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){s=iu(Error(fe(423)),t),t=AA(e,t,a,r,s);break e}else if(a!==s){s=iu(Error(fe(424)),t),t=AA(e,t,a,r,s);break e}else for(oa=Mo(t.stateNode.containerInfo.firstChild),la=t,ar=!0,rs=null,r=kL(t,null,a,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(nu(),a===s){t=Fi(e,t,r);break e}Cn(e,t,a,r)}t=t.child}return t;case 5:return PL(t),e===null&&Qj(t),a=t.type,s=t.pendingProps,i=e!==null?e.memoizedProps:null,o=s.children,Hj(a,s)?o=null:i!==null&&Hj(a,i)&&(t.flags|=32),XL(e,t),Cn(e,t,o,r),t.child;case 6:return e===null&&Qj(t),null;case 13:return ez(e,t,r);case 4:return e2(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=au(t,null,a,r):Cn(e,t,a,r),t.child;case 11:return a=t.type,s=t.pendingProps,s=t.elementType===a?s:Qa(a,s),CA(e,t,a,s,r);case 7:return Cn(e,t,t.pendingProps,r),t.child;case 8:return Cn(e,t,t.pendingProps.children,r),t.child;case 12:return Cn(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(a=t.type._context,s=t.pendingProps,i=t.memoizedProps,o=s.value,qt(Sx,a._currentValue),a._currentValue=o,i!==null)if(fs(i.value,o)){if(i.children===s.children&&!Vn.current){t=Fi(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var l=i.dependencies;if(l!==null){o=i.child;for(var c=l.firstContext;c!==null;){if(c.context===a){if(i.tag===1){c=Ni(-1,r&-r),c.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}i.lanes|=r,c=i.alternate,c!==null&&(c.lanes|=r),Xj(i.return,r,t),l.lanes|=r;break}c=c.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(fe(341));o.lanes|=r,l=o.alternate,l!==null&&(l.lanes|=r),Xj(o,r,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}Cn(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,a=t.pendingProps.children,kd(t,r),s=za(s),a=a(s),t.flags|=1,Cn(e,t,a,r),t.child;case 14:return a=t.type,s=Qa(a,t.pendingProps),s=Qa(a.type,s),PA(e,t,a,s,r);case 15:return ZL(e,t,t.type,t.pendingProps,r);case 17:return a=t.type,s=t.pendingProps,s=t.elementType===a?s:Qa(a,s),Zg(e,t),t.tag=1,qn(a)?(e=!0,jx(t)):e=!1,kd(t,r),GL(t,a,s),e1(t,a,s,r),n1(null,t,a,!0,e,r);case 19:return tz(e,t,r);case 22:return QL(e,t,r)}throw Error(fe(156,t.tag))};function xz(e,t){return V6(e,t)}function rJ(e,t,r,a){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _a(e,t,r,a){return new rJ(e,t,r,a)}function p2(e){return e=e.prototype,!(!e||!e.isReactComponent)}function nJ(e){if(typeof e=="function")return p2(e)?1:0;if(e!=null){if(e=e.$$typeof,e===OS)return 11;if(e===RS)return 14}return 2}function Do(e,t){var r=e.alternate;return r===null?(r=_a(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.depen
vendor: 5,678 bytes, line 40
40dencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Jg(e,t,r,a,s,i){var o=2;if(a=e,typeof e=="function")p2(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ed:return Yl(r.children,s,i,t);case MS:o=8,s|=8;break;case kj:return e=_a(12,r,t,s|2),e.elementType=kj,e.lanes=i,e;case Sj:return e=_a(13,r,t,s),e.elementType=Sj,e.lanes=i,e;case Cj:return e=_a(19,r,t,s),e.elementType=Cj,e.lanes=i,e;case P6:return Rv(r,s,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case S6:o=10;break e;case C6:o=9;break e;case OS:o=11;break e;case RS:o=14;break e;case lo:o=16,a=null;break e}throw Error(fe(130,e==null?e:typeof e,""))}return t=_a(o,r,t,s),t.elementType=e,t.type=a,t.lanes=i,t}function Yl(e,t,r,a){return e=_a(7,e,a,t),e.lanes=r,e}function Rv(e,t,r,a){return e=_a(22,e,a,t),e.elementType=P6,e.lanes=r,e.stateNode={isHidden:!1},e}function tw(e,t,r){return e=_a(6,e,null,t),e.lanes=r,e}function rw(e,t,r){return t=_a(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function aJ(e,t,r,a,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=F0(0),this.expirationTimes=F0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=F0(0),this.identifierPrefix=a,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function g2(e,t,r,a,s,i,o,l,c){return e=new aJ(e,t,r,l,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_a(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},JS(i),e}function sJ(e,t,r){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Jc,key:a==null?null:""+a,children:e,containerInfo:t,implementation:r}}function yz(e){if(!e)return Ho;e=e._reactInternals;e:{if(bc(e)!==e||e.tag!==1)throw Error(fe(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(qn(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(fe(171))}if(e.tag===1){var r=e.type;if(qn(r))return yL(e,r,t)}return t}function vz(e,t,r,a,s,i,o,l,c){return e=g2(r,a,!0,e,s,i,o,l,c),e.context=yz(null),r=e.current,a=In(),s=Fo(r),i=Ni(a,s),i.callback=t??null,Oo(r,i,s),e.current.lanes=s,np(e,s,a),Hn(e,a),e}function Fv(e,t,r,a){var s=t.current,i=In(),o=Fo(s);return r=yz(r),t.context===null?t.context=r:t.pendingContext=r,t=Ni(i,o),t.payload={element:e},a=a===void 0?null:a,a!==null&&(t.callback=a),e=Oo(s,t,o),e!==null&&(ms(e,s,o,i),Gg(e,s,o)),o}function Rx(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function LA(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<t?r:t}}function x2(e,t){LA(e,t),(e=e.alternate)&&LA(e,t)}function iJ(){return null}var bz=typeof reportError=="function"?reportError:function(e){console.error(e)};function y2(e){this._internalRoot=e}Dv.prototype.render=y2.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(fe(409));Fv(e,t,null,null)};Dv.prototype.unmount=y2.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ac(function(){Fv(null,e,null,null)}),t[Oi]=null}};function Dv(e){this._internalRoot=e}Dv.prototype.unstable_scheduleHydration=function(e){if(e){var t=Q6();e={blockedOn:null,target:e,priority:t};for(var r=0;r<mo.length&&t!==0&&t<mo[r].priority;r++);mo.splice(r,0,e),r===0&&J6(e)}};function v2(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function $v(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function zA(){}function oJ(e,t,r,a,s){if(s){if(typeof a=="function"){var i=a;a=function(){var d=Rx(o);i.call(d)}}var o=vz(t,a,e,0,null,!1,!1,"",zA);return e._reactRootContainer=o,e[Oi]=o.current,Fh(e.nodeType===8?e.parentNode:e),ac(),o}for(;s=e.lastChild;)e.removeChild(s);if(typeof a=="function"){var l=a;a=function(){var d=Rx(c);l.call(d)}}var c=g2(e,0,!1,null,null,!1,!1,"",zA);return e._reactRootContainer=c,e[Oi]=c.current,Fh(e.nodeType===8?e.parentNode:e),ac(function(){Fv(t,c,r,a)}),c}function Lv(e,t,r,a,s){var i=r._reactRootContainer;if(i){var o=i;if(typeof s=="function"){var l=s;s=function(){var c=Rx(o);l.call(c)}}Fv(t,o,e,s)}else o=oJ(r,t,e,s,a);return Rx(o)}Y6=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=Qm(t.pendingLanes);r!==0&&($S(t,r|1),Hn(t,wr()),!(wt&6)&&(ou=wr()+500,ll()))}break;case 13:ac(function(){var a=Ri(e,1);if(a!==null){var s=In();ms(a,e,1,s)}}),x2(e,1)}};LS=function(e){if(e.tag===13){var t=Ri(e,134217728);if(t!==null){var r=In();ms(t,e,134217728,r)}x2(e,134217728)}};Z6=function(e){if(e.tag===13){var t=Fo(e),r=Ri(e,t);if(r!==null){var a=In();ms(r,e,t,a)}x2(e,t)}};Q6=function(){return It};X6=function(e,t){var r=It;try{return It=e,t()}finally{It=r}};Fj=function(e,t,r){switch(t){case"input":if(Aj(e,r),t=r.name,r.type==="radio"&&t!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var a=r[t];if(a!==e&&a.form===e.form){var s=Av(a);if(!s)throw Error(fe(90));A6(a),Aj(a,s)}}}break;
40case"textarea":I6(e,r);break;case"select":t=r.value,t!=null&&bd(e,!!r.multiple,t,!1)}};$6=m2;L6=ac;var lJ={usingClientEntryPoint:!1,Events:[sp,ad,Av,F6,D6,m2]},Am={findFiberByHostInstance:_l,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},cJ={bundleType:Am.bundleType,version:Am.version,rendererPackageName:Am.rendererPackageName,rendererConfig:Am.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Yi.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=W6(e),e===null?null:e.stateNode},findFiberByHostInstance:Am.findFiberByHostInstance||iJ,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ig=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ig.isDisabled&&ig.supportsFiber)try{Sv=ig.inject(cJ),Fs=ig}catch{}}va.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lJ;va.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!v2(t))throw Error(fe(200));return sJ(e,t,null,r)};va.createRoot=function(e,t){if(!v2(e))throw Error(fe(299));var r=!1,a="",s=bz;return t!=null&&(t.unstable_strictMode===!0&&(r=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),t=g2(e,1,!1,null,null,r,!1,a,s),e[Oi]=t.current,Fh(e.nodeType===8?e.parentNode:e),new y2(t)};va.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(fe(188)):(e=Object.keys(e).join(","),Error(fe(268,e)));return e=W6(t),e=e===null?null:e.stateNode,e};va.flushSync=function(e){return ac(e)};va.hydrate=function(e,t,r){if(!$v(t))throw Error(fe(200));return Lv(null,e,t,!0,r)};va.hydrateRoot=function(e,t,r){if(!v2(e))throw Error(fe(405));var a=r!=null&&r.hydratedSources||null,s=!1,i="",o=bz;if(r!=null&&(r.unstable_strictMode===!0&&(s=!0),r.identifierPrefix!==void 0&&(i=r.identifierPrefix),r.onRecoverableError!==void 0&&(o=r.onRecoverableError)),t=vz(t,null,e,1,r??null,s,!1,i,o),e[Oi]=t.current,Fh(e),a)for(e=0;e<a.length;e++)r=a[e],s=r._getVersion,s=s(r._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[r,s]:t.mutableSourceEagerHydrationData.push(r,s);return new Dv(t)};va.render=function(e,t,r){if(!$v(t))throw Error(fe(200));return Lv(null,e,t,!1,r)};va.unmountComponentAtNode=function(e){if(!$v(e))throw Error(fe(40));return e._reactRootContainer?(ac(function(){Lv(null,null,e,!1,function(){e._reactRootContainer=null,e[Oi]=null})}),!0):!1};va.unstable_batchedUpdates=m2;va.unstable_renderSubtreeIntoContainer=function(e,t,r,a){if(!$v(r))throw Error(fe(200));if(e==null||e._reactInternals===void 0)throw Error(fe(38));return Lv(e,t,r,!1,a)};va.version="18.3.1-next-f1338f8080-20240426";function wz(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wz)}catch(e){console.error(e)}}wz(),w6.exports=va;var wc=w6.exports;const dJ=Ft(wc);var jz,BA=wc;jz=BA.createRoot,BA.hydrateRoot;function uJ(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var r,a,s,i,o=[],l="",c=e.split("/");for(c[0]||c.shift();s=c.shift();)r=s[0],r==="*"?(o.push(r),l+=s[1]==="?"?"(?:/(.*))?":"/(.*)"):r===":"?(a=s.indexOf("?",1),i=s.indexOf(".",1),o.push(s.substring(1,~a?a:~i?i:s.length)),l+=~a&&!~i?"(?:/([^/]+?))?":"/([^/]+?)",~i&&(l+=(~a?"?":"")+"\\"+s.substring(i))):l+="/"+s;return{keys:o,pattern:new RegExp("^"+l+(t?"(?=$|/)":"/?$"),"i")}}var Nz={exports:{}},kz={};/**
41 * @license React
42 * use-sync-external-store-shim.production.min.js
43 *
44 * Copyright (c) Facebook, Inc. and its affiliates.
45 *
46 * This source code is licensed under the MIT license found in the
47 * LICENSE file in the root directory of this source tree.
48 */var lu=y;function mJ(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hJ=typeof Object.is=="function"?Object.is:mJ,fJ=lu.useState,pJ=lu.useEffect,gJ=lu.useLayoutEffect,xJ=lu.useDebugValue;function yJ(e,t){var r=t(),a=fJ({inst:{value:r,getSnapshot:t}}),s=a[0].inst,i=a[1];return gJ(function(){s.value=r,s.getSnapshot=t,nw(s)&&i({inst:s})},[e,r,t]),pJ(function(){return nw(s)&&i({inst:s}),e(function(){nw(s)&&i({inst:s})})},[e]),xJ(r),r}function nw(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!hJ(e,r)}catch{return!0}}function vJ(e,t){return t()}var bJ=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?vJ:yJ;kz.useSyncExternalStore=lu.useSyncExternalStore!==void 0?lu.useSyncExternalStore:bJ;Nz.exports=kz;var wJ=Nz.exports;const jJ=v6.useInsertionEffect,NJ=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",kJ=NJ?y.useLayoutEffect:y.useEffect,SJ=jJ||kJ,Sz=e=>{const t=y.useRef([e,(...r)=>t[0](...r)]).current;return SJ(()=>{t[0]=e}),t[1]},CJ="popstate",b2="pushState",w2="replaceState",PJ="hashchange",WA=[CJ,b2,w2,PJ],TJ=e=>{for(const t of WA)addEventListener(t,e);return()=>{for(const t of WA)removeEventListener(t,e)}},Cz=(e,t)=>
48wJ.useSyncExternalStore(TJ,e,t),AJ=()=>location.search,EJ=({ssrSearch:e=""}={})=>Cz(AJ,()=>e),UA=()=>location.pathname,IJ=({ssrPath:e}={})=>Cz(UA,e?()=>e:UA),_J=(e,{replace:t=!1,state:r=null}={})=>history[t?w2:b2](r,"",e),MJ=(e={})=>[IJ(e),_J],VA=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[VA]>"u"){for(const e of[b2,w2]){const t=history[e];history[e]=function(){const r=t.apply(this,arguments),a=new Event(e);return a.arguments=arguments,dispatchEvent(a),r}}Object.defineProperty(window,VA,{value:!0})}const OJ=(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())?"~"+t:t.slice(e.length)||"/",Pz=(e="")=>e==="/"?"":e,RJ=(e,t)=>e[0]==="~"?e.slice(1):Pz(t)+e,FJ=(e="",t)=>OJ(p1(Pz(e)),p1(t)),DJ=e=>e[0]==="?"?e.slice(1):e,p1=e=>{try{return decodeURI(e)}catch{return e}},$J=e=>p1(DJ(e)),Tz={hook:MJ,searchHook:EJ,parser:uJ,base:"",ssrPath:void 0,ssrSearch:void 0,hrefs:e=>e},Az=y.createContext(Tz),jc=()=>y.useContext(Az),Ez={},Iz=y.createContext(Ez),LJ=()=>y.useContext(Iz),zv=e=>{const[t,r]=e.hook(e);return[FJ(e.base,t),Sz((a,s)=>r(RJ(a,e.base),s))]},ze=()=>zv(jc()),_z=()=>{const e=jc();return $J(e.searchHook(e))},j2=(e,t,r,a)=>{const{pattern:s,keys:i}=t instanceof RegExp?{keys:!1,pattern:t}:e(t||"*",a),o=s.exec(r)||[],[l,...c]=o;return l!==void 0?[!0,(()=>{const d=i!==!1?Object.fromEntries(i.map((m,h)=>[m,c[h]])):o.groups;let u={...c};return d&&Object.assign(u,d),u})(),...a?[l]:[]]:[!1,null]},Hu=e=>j2(jc().parser,e,ze()[0]),zJ=({children:e,...t})=>{var u,m;const r=jc(),a=t.hook?Tz:r;let s=a;const[i,o]=((u=t.ssrPath)==null?void 0:u.split("?"))??[];o&&(t.ssrSearch=o,t.ssrPath=i),t.hrefs=t.hrefs??((m=t.hook)==null?void 0:m.hrefs);let l=y.useRef({}),c=l.current,d=c;for(let h in a){const f=h==="base"?a[h]+(t[h]||""):t[h]||a[h];c===d&&f!==d[h]&&(l.current=d={...d}),d[h]=f,f!==a[h]&&(s=d)}return y.createElement(Az.Provider,{value:s,children:e})},qA=({children:e,component:t},r)=>t?y.createElement(t,{params:r}):typeof e=="function"?e(r):e,BJ=e=>{let t=y.useRef(Ez),r=t.current;for(const a in e)e[a]!==r[a]&&(r=e);return Object.keys(e).length===0&&(r=e),t.current=r},re=({path:e,nest:t,match:r,...a})=>{const s=jc(),[i]=zv(s),[o,l,c]=r??j2(s.parser,e,i,t),d=BJ({...LJ(),...l});if(!o)return null;const u=c?y.createElement(zJ,{base:c},qA(a,d)):qA(a,d);return y.createElement(Iz.Provider,{value:d,children:u})},Fe=y.forwardRef((e,t)=>{const r=jc(),[a,s]=zv(r),{to:i="",href:o=i,onClick:l,asChild:c,children:d,className:u,replace:m,state:h,...f}=e,b=Sz(p=>{p.ctrlKey||p.metaKey||p.altKey||p.shiftKey||p.button!==0||(l==null||l(p),p.defaultPrevented||(p.preventDefault(),s(o,e)))}),g=r.hrefs(o[0]==="~"?o.slice(1):r.base+o,r);return c&&y.isValidElement(d)?y.cloneElement(d,{onClick:b,href:g}):y.createElement("a",{...f,onClick:b,href:g,className:u!=null&&u.call?u(a===o):u,children:d,ref:t})}),Mz=e=>Array.isArray(e)?e.flatMap(t=>Mz(t&&t.type===y.Fragment?t.props.children:t)):[e],HA=({children:e,location:t})=>{const r=jc(),[a]=zv(r);for(const s of Mz(e)){let i=0;if(y.isValidElement(s)&&(i=j2(r.parser,s.props.path,t||a,s.props.nest))[0])return y.cloneElement(s,{match:i})}return null};var Gu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},sc=typeof window>"u"||"Deno"in globalThis;function Ta(){}function WJ(e,t){return typeof e=="function"?e(t):e}function g1(e){return typeof e=="number"&&e>=0&&e!==1/0}function Oz(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Cd(e,t){return typeof e=="function"?e(t):e}function ns(e,t){return typeof e=="function"?e(t):e}function GA(e,t){const{type:r="all",exact:a,fetchStatus:s,predicate:i,queryKey:o,stale:l}=e;if(o){if(a){if(t.queryHash!==N2(o,t.options))return!1}else if(!qh(t.queryKey,o))return!1}if(r!=="all"){const c=t.isActive();if(r==="active"&&!c||r==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||s&&s!==t.state.fetchStatus||i&&!i(t))}function KA(e,t){const{exact:r,status:a,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(ic(t.options.mutationKey)!==ic(i))return!1}else if(!qh(t.options.mutationKey,i))return!1}return!(a&&t.state.status!==a||s&&!s(t))}function N2(e,t){return((t==null?void 0:t.queryKeyHashFn)||ic)(e)}function ic(e){return JSON.stringify(e,(t,r)=>x1(r)?Object.keys(r).sort().reduce((a,s)=>(a[s]=r[s],a),{}):r)}function qh(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(r=>!qh(e[r],t[r])):!1}function Rz(e,t){if(e===t)return e;const r=YA(e)&&YA(t);if(r||x1(e)&&x1(t)){const a=r?e:Object.keys(e),s=a.length,i=r?t:Object.keys(t),o=i.length,l=r?[]:{};let c=0;for(let d=0;d<o;d++){const u=r?d:i[d];(!r&&a.includes(u)||r)&&e[u]===void 0&&t[u]===void 0?(l[u]=void 0,c++):(l[u]=Rz(e[u],t[u]),l[u]===e[u]&&e[u]!==void 0&&c++)}return s===o&&c===s?e:l}return t}function Fx(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}function YA(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function x1(e){if(!ZA(e))return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(!ZA(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function ZA(e){return Object.prototype.toString.call(e)==="[object Object]"}function UJ(e){return new Promise(t=>{setTimeout(t,e)})}function y1(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?Rz(e,t):t}function VJ(e,t,r=0){const a=[...e,t];return r&&a.length>r?a.slice(1):a}function qJ(e,t,r=0){const a=[t,...e];return r&&a.length>r?a.slice(0,-1):a}var k2=Symbol();function Fz(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===k2?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Bl,xo,Wd,hR,HJ=(hR=class extends Gu{constructor(){super();Le(this,Bl);Le(this,xo);Le(this,Wd);Pe(this,Wd,t=>{if(!sc&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){q(this,xo)||this.setEventListener(q(this,Wd))}onUnsubscribe(){var t;this.hasListeners()||((t=q(this,xo))==null||t.call(this),Pe(this,xo,void 0))}setEventListener(t){var r;Pe(this,Wd,t),(r=q(this,xo))==null||r.call(this),Pe(this,xo,t(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()}))}setFocused(t){q(this,Bl)!==t&&(Pe(this,Bl,t),this.onFocus())}onFocus(){const t=this.isFocused();
vendor: 35,851 bytes, line 48
48this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof q(this,Bl)=="boolean"?q(this,Bl):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Bl=new WeakMap,xo=new WeakMap,Wd=new WeakMap,hR),S2=new HJ,Ud,yo,Vd,fR,GJ=(fR=class extends Gu{constructor(){super();Le(this,Ud,!0);Le(this,yo);Le(this,Vd);Pe(this,Vd,t=>{if(!sc&&window.addEventListener){const r=()=>t(!0),a=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",a)}}})}onSubscribe(){q(this,yo)||this.setEventListener(q(this,Vd))}onUnsubscribe(){var t;this.hasListeners()||((t=q(this,yo))==null||t.call(this),Pe(this,yo,void 0))}setEventListener(t){var r;Pe(this,Vd,t),(r=q(this,yo))==null||r.call(this),Pe(this,yo,t(this.setOnline.bind(this)))}setOnline(t){q(this,Ud)!==t&&(Pe(this,Ud,t),this.listeners.forEach(a=>{a(t)}))}isOnline(){return q(this,Ud)}},Ud=new WeakMap,yo=new WeakMap,Vd=new WeakMap,fR),Dx=new GJ;function v1(){let e,t;const r=new Promise((s,i)=>{e=s,t=i});r.status="pending",r.catch(()=>{});function a(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{a({status:"fulfilled",value:s}),e(s)},r.reject=s=>{a({status:"rejected",reason:s}),t(s)},r}function KJ(e){return Math.min(1e3*2**e,3e4)}function Dz(e){return(e??"online")==="online"?Dx.isOnline():!0}var $z=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function aw(e){return e instanceof $z}function Lz(e){let t=!1,r=0,a=!1,s;const i=v1(),o=g=>{var p;a||(h(new $z(g)),(p=e.abort)==null||p.call(e))},l=()=>{t=!0},c=()=>{t=!1},d=()=>S2.isFocused()&&(e.networkMode==="always"||Dx.isOnline())&&e.canRun(),u=()=>Dz(e.networkMode)&&e.canRun(),m=g=>{var p;a||(a=!0,(p=e.onSuccess)==null||p.call(e,g),s==null||s(),i.resolve(g))},h=g=>{var p;a||(a=!0,(p=e.onError)==null||p.call(e,g),s==null||s(),i.reject(g))},f=()=>new Promise(g=>{var p;s=x=>{(a||d())&&g(x)},(p=e.onPause)==null||p.call(e)}).then(()=>{var g;s=void 0,a||(g=e.onContinue)==null||g.call(e)}),b=()=>{if(a)return;let g;const p=r===0?e.initialPromise:void 0;try{g=p??e.fn()}catch(x){g=Promise.reject(x)}Promise.resolve(g).then(m).catch(x=>{var k;if(a)return;const v=e.retry??(sc?0:3),w=e.retryDelay??KJ,N=typeof w=="function"?w(r,x):w,j=v===!0||typeof v=="number"&&r<v||typeof v=="function"&&v(r,x);if(t||!j){h(x);return}r++,(k=e.onFail)==null||k.call(e,r,x),UJ(N).then(()=>d()?void 0:f()).then(()=>{t?h(x):b()})})};return{promise:i,cancel:o,continue:()=>(s==null||s(),i),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?b():f().then(b),i)}}function YJ(){let e=[],t=0,r=l=>{l()},a=l=>{l()},s=l=>setTimeout(l,0);const i=l=>{t?e.push(l):s(()=>{r(l)})},o=()=>{const l=e;e=[],l.length&&s(()=>{a(()=>{l.forEach(c=>{r(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{i(()=>{l(...c)})},schedule:i,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{a=l},setScheduler:l=>{s=l}}}var Mr=YJ(),Wl,pR,zz=(pR=class{constructor(){Le(this,Wl)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),g1(this.gcTime)&&Pe(this,Wl,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(sc?1/0:5*60*1e3))}clearGcTimeout(){q(this,Wl)&&(clearTimeout(q(this,Wl)),Pe(this,Wl,void 0))}},Wl=new WeakMap,pR),qd,Hd,Pa,on,Xf,Ul,Xa,di,gR,ZJ=(gR=class extends zz{constructor(t){super();Le(this,Xa);Le(this,qd);Le(this,Hd);Le(this,Pa);Le(this,on);Le(this,Xf);Le(this,Ul);Pe(this,Ul,!1),Pe(this,Xf,t.defaultOptions),this.setOptions(t.options),this.observers=[],Pe(this,Pa,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,Pe(this,qd,QJ(this.options)),this.state=t.state??q(this,qd),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=q(this,on))==null?void 0:t.promise}setOptions(t){this.options={...q(this,Xf),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&q(this,Pa).remove(this)}setData(t,r){const a=y1(this.state.data,t,this.options);return nt(this,Xa,di).call(this,{data:a,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),a}setState(t,r){nt(this,Xa,di).call(this,{type:"setState",state:t,setStateOptions:r})}cancel(t){var a,s;const r=(a=q(this,on))==null?void 0:a.promise;return(s=q(this,on))==null||s.cancel(t),r?r.then(Ta).catch(Ta):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(q(this,qd))}isActive(){return this.observers.some(t=>ns(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===k2||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!Oz(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(a=>a.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=q(this,on))==null||r.continue()}onOnline(){var r;const t=this.observers.find(a=>a.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=q(this,on))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),q(this,Pa).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||(q(this,on)&&(q(this,Ul)?q(this,on).cancel({revert:!0}):q(this,on).cancelRetry()),this.scheduleGc()),q(this,Pa).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||nt(this,Xa,di).call(this,{type:"invalidate"})}fetch(t,r){var c,d,u;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(q(this,on))return q(this,on).continueRetry(),q(this,on).promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(h=>h.options.queryFn);m&&this.setOptions(m.options)}const a=new AbortController,s=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(Pe(this,Ul,!0),a.signal)})},i=()=>{const m=Fz(this.options,r),h={queryKey:this.queryKey,meta:this.meta};return s(h),Pe(this,Ul,!1),this.options.persister?this.options.persister(m,h,this):m(h)},o={fetchOptions:r,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};s(o),(c=this.options.behavior)==null||c.onFetch(o,this),Pe(this,Hd,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=o.fetchOptions)==null?void 0:d.meta))&&nt(this,Xa,di).call(this,{type:"fetch",meta:(u=o.fetchOptions)==null?void 0:u.meta});const l=m=>{var h,f,b,g;aw(m)&&m.silent||nt(this,Xa,di).call(this,{type:"error",error:m}),aw(m)||((f=(h=q(this,Pa).config).onError)==null||f.call(h,m,this),(g=(b=q(this,Pa).config).onSettled)==null||g.call(b,this.state.data,m,this)),this.scheduleGc()};return Pe(this,on,Lz({initialPromise:r==null?void 0:r.initialPromise,fn:o.fetchFn,abort:a.abort.bind(a),onSuccess:m=>{var h,f,b,g;if(m===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(p){l(p);return}(f=(h=q(this,Pa).config).onSuccess)==null||f.call(h,m,this),(g=(b=q(this,Pa).config).onSettled)==null||g.call(b,m,this.state.error,this),this.scheduleGc()},onError:l,onFail:(m,h)=>{nt(this,Xa,di).call(this,{type:"failed",failureCount:m,error:h})},onPause:()=>{nt(this,Xa,di).call(this,{type:"pause"})},onContinue:()=>{nt(this,Xa,di).call(this,{type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0})),q(this,on).start()}},qd=new WeakMap,Hd=new WeakMap,Pa=new WeakMap,on=new WeakMap,Xf=new WeakMap,Ul=new WeakMap,Xa=new WeakSet,di=function(t){const r=a=>{switch(t.type){case"failed":return{...a,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...Bz(a.data,this.options),fetchMeta:t.meta??null};case"success":return{...a,data:t.data,dataUpdateCount:a.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return aw(s)&&s.revert&&q(this,Hd)?{...q(this,Hd),fetchStatus:"idle"}:{...a,error:s,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...t.state}}};this.state=r(this.state),Mr.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),q(this,Pa).notify({query:this,type:"updated",action:t})})},gR);function Bz(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Dz(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function QJ(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,a=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?a??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Ts,xR,XJ=(xR=class extends Gu{constructor(t={}){super();Le(this,Ts);this.config=t,Pe(this,Ts,new Map)}build(t,r,a){const s=r.queryKey,i=r.queryHash??N2(s,r);let o=this.get(i);return o||(o=new ZJ({cache:this,queryKey:s,queryHash:i,options:t.defaultQueryOptions(r),state:a,defaultOptions:t.getQueryDefaults(s)}),this.add(o)),o}add(t){q(this,Ts).has(t.queryHash)||(q(this,Ts).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=q(this,Ts).get(t.queryHash);r&&(t.destroy(),r===t&&q(this,Ts).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Mr.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return q(this,Ts).get(t)}getAll(){return[...q(this,Ts).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(a=>GA(r,a))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(a=>GA(t,a)):r}notify(t){Mr.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){Mr.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Mr.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ts=new WeakMap,xR),As,Nn,Vl,Es,so,yR,JJ=(yR=class extends zz{constructor(t){super();Le(this,Es);Le(this,As);Le(this,Nn);Le(this,Vl);this.mutationId=t.mutationId,Pe(this,Nn,t.mutationCache),Pe(this,As,[]),this.state=t.state||Wz(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){q(this,As).includes(t)||(q(this,As).push(t),this.clearGcTimeout(),q(this,Nn).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){Pe(this,As,q(this,As).filter(r=>r!==t)),this.scheduleGc(),q(this,Nn).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){q(this,As).length||(this.state.status==="pending"?this.scheduleGc():q(this,Nn).remove(this))}continue(){var t;return((t=q(this,Vl))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var s,i,o,l,c,d,u,m,h,f,b,g,p,x,v,w,N,j,k,S;Pe(this,Vl,Lz({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(C,A)=>{nt(this,Es,so).call(this,{type:"failed",failureCount:C,error:A})},onPause:()=>{nt(this,Es,so).call(this,{type:"pause"})},onContinue:()=>{nt(this,Es,so).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>q(this,Nn).canRun(this)}));const r=this.state.status==="pending",a=!q(this,Vl).canStart();try{if(!r){nt(this,Es,so).call(this,{type:"pending",variables:t,isPaused:a}),await((i=(s=q(this,Nn).config).onMutate)==null?void 0:i.call(s,t,this));const A=await((l=(o=this.options).onMutate)==null?void 0:l.call(o,t));A!==this.state.context&&nt(this,Es,so).call(this,{type:"pending",context:A,variables:t,isPaused:a})}const C=await q(this,Vl).start();return await((d=(c=q(this,Nn).config).onSuccess)==null?void 0:d.call(c,C,t,this.state.context,this)),await((m=(u=this.options).onSuccess)==null?void 0:m.call(u,C,t,this.state.context)),await((f=(h=q(this,Nn).config).onSettled)==null?void 0:f.call(h,C,null,this.state.variables,this.state.context,this)),await((g=(b=this.options).onSettled)==null?void 0:g.call(b,C,null,t,this.state.context)),nt(this,Es,so).call(this,{type:"success",data:C}),C}catch(C){try{throw await((x=(p=q(this,Nn).config).onError)==null?void 0:x.call(p,C,t,this.state.context,this)),await((w=(v=this.options).onError)==null?void 0:w.call(v,C,t,this.state.context)),await((j=(N=q(this,Nn).config).onSettled)==null?void 0:j.call(N,void 0,C,this.state.variables,this.state.context,this)),await((S=(k=this.options).onSettled)==null?void 0:S.call(k,void 0,C,t,this.state.context)),C}finally{nt(this,Es,so).call(this,{type:"error",error:C})}}finally{q(this,Nn).runNext(this)}}},As=new WeakMap,Nn=new WeakMap,Vl=new WeakMap,Es=new WeakSet,so=function(t){const r=a=>{switch(t.type){case"failed":return{...a,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...a,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:t.error,failureCount:a.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),Mr.batch(()=>{q(this,As).forEach(a=>{a.onMutationUpdate(t)}),q(this,Nn).notify({mutation:this,type:"updated",action:t})})},yR);function Wz(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ea,Jf,vR,eee=(vR=class extends Gu{constructor(t={}){super();Le(this,ea);Le(this,Jf);this.config=t,Pe(this,ea,new Map),Pe(this,Jf,Date.now())}build(t,r,a){const s=new JJ({mutationCache:this,mutationId:++Wp(this,Jf)._,options:t.defaultMutationOptions(r),state:a});return this.add(s),s}add(t){const r=og(t),a=q(this,ea).get(r)??[];a.push(t),q(this,ea).set(r,a),this.notify({type:"added",mutation:t})}remove(t){var a;const r=og(t);if(q(this,ea).has(r)){const s=(a=q(this,ea).get(r))==null?void 0:a.filter(i=>i!==t);s&&(s.length===0?q(this,ea).delete(r):q(this,ea).set(r,s))}this.notify({type:"removed",mutation:t})}canRun(t){var a;const r=(a=q(this,ea).get(og(t)))==null?void 0:a.find(s=>s.state.status==="pending");return!r||r===t}runNext(t){var a;const r=(a=q(this,ea).get(og(t)))==null?void 0:a.find(s=>s!==t&&s.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}clear(){Mr.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}getAll(){return[...q(this,ea).values()].flat()}find(t){const r={exact:!0,...t};return this.getAll().find(a=>KA(r,a))}findAll(t={}){return this.getAll().filter(r=>KA(t,r))}notify(t){Mr.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return Mr.batch(()=>Promise.all(t.map(r=>r.continue().catch(Ta))))}},ea=new WeakMap,Jf=new WeakMap,vR);function og(e){var t;return((t=e.options.scope)==null?void 0:t.id)??String(e.mutationId)}function QA(e){return{onFetch:(t,r)=>{var u,m,h,f,b;const a=t.options,s=(h=(m=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:m.fetchMore)==null?void 0:h.direction,i=((f=t.state.data)==null?void 0:f.pages)||[],o=((b=t.state.data)==null?void 0:b.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let g=!1;const p=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},x=Fz(t.options,t.fetchOptions),v=async(w,N,j)=>{if(g)return Promise.reject();if(N==null&&w.pages.length)return Promise.resolve(w);const k={queryKey:t.queryKey,pageParam:N,direction:j?"backward":"forward",meta:t.options.meta};p(k);const S=await x(k),{maxPages:C}=t.options,A=j?qJ:VJ;return{pages:A(w.pages,S,C),pageParams:A(w.pageParams,N,C)}};if(s&&i.length){const w=s==="backward",N=w?tee:XA,j={pages:i,pageParams:o},k=N(a,j);l=await v(j,k,w)}else{const w=e??i.length;do{const N=c===0?o[0]??a.initialPageParam:XA(a,l);if(c>0&&N==null)break;l=await v(l,N),c++}while(c<w)}return l};t.options.persister?t.fetchFn=()=>{var g,p;return(p=(g=t.options).persister)==null?void 0:p.call(g,d,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=d}}}function XA(e,{pages:t,pageParams:r}){const a=t.length-1;return t.length>0?e.getNextPageParam(t[a],t,r[a],r):void 0}function tee(e,{pages:t,pageParams:r}){var a;return t.length>0?(a=e.getPreviousPageParam)==null?void 0:a.call(e,t[0],t,r[0],r):void 0}var mr,vo,bo,Gd,Kd,wo,Yd,Zd,bR,ree=(bR=class{constructor(e={}){Le(this,mr);Le(this,vo);Le(this,bo);Le(this,Gd);Le(this,Kd);Le(this,wo);Le(this,Yd);Le(this,Zd);Pe(this,mr,e.queryCache||new XJ),Pe(this,vo,e.mutationCache||new eee),Pe(this,bo,e.defaultOptions||{}),Pe(this,Gd,new Map),Pe(this,Kd,new Map),Pe(this,wo,0)}mount(){Wp(this,wo)._++,q(this,wo)===1&&(Pe(this,Yd,S2.subscribe(async e=>{e&&(await this.resumePausedMutations(),q(this,mr).onFocus())})),Pe(this,Zd,Dx.subscribe(async e=>{e&&(await this.resumePausedMutations(),q(this,mr).onOnline())})))}unmount(){var e,t;Wp(this,wo)._--,q(this,wo)===0&&((e=q(this,Yd))==null||e.call(this),Pe(this,Yd,void 0),(t=q(this,Zd))==null||t.call(this),Pe(this,Zd,void 0))}isFetching(e){return q(this,mr).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return q(this,vo).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=q(this,mr).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(t===void 0)return this.fetchQuery(e);{const r=this.defaultQueryOptions(e),a=q(this,mr).build(this,r);return e.revalidateIfStale&&a.isStaleByTime(Cd(r.staleTime,a))&&this.prefetchQuery(r),Promise.resolve(t)}}getQueriesData(e){return q(this,mr).findAll(e).map(({queryKey:t,state:r})=>{const a=r.data;return[t,a]})}setQueryData(e,t,r){const a=this.defaultQueryOptions({queryKey:e}),s=q(this,mr).get(a.queryHash),i=s==null?void 0:s.state.data,o=WJ(t,i);if(o!==void 0)return q(this,mr).build(this,a).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return Mr.batch(()=>q(this,mr).findAll(e).map(({queryKey:a})=>[a,this.setQueryData(a,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=q(this,mr).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=q(this,mr);Mr.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=q(this,mr),a={type:"active",...e};return Mr.batch(()=>(r.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries(a,t)))}cancelQueries(e={},t={}){const r={revert:!0,...t},a=Mr.batch(()=>q(this,mr).findAll(e).map(s=>s.cancel(r)));return Promise.all(a).then(Ta).catch(Ta)}invalidateQueries(e={},t={}){return Mr.batch(()=>{if(q(this,mr).findAll(e).forEach(a=>{a.invalidate()}),e.refetchType==="none")return Promise.resolve();const r={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(r,t)})}refetchQueries(e={},t){const r={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},a=Mr.batch(()=>q(this,mr).findAll(e).filter(s=>!s.isDisabled()).map(s=>{let i=s.fetch(void 0,r);return r.throwOnError||(i=i.catch(Ta)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(a).then(Ta)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=q(this,mr).build(this,t);return r.isStaleByTime(Cd(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ta).catch(Ta)}fetchInfiniteQuery(e){return e.behavior=QA(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ta).catch(Ta)}ensureInfiniteQueryData(e){return e.behavior=QA(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Dx.isOnline()?q(this,vo).resumePausedMutations():Promise.resolve()}getQueryCache(){return q(this,mr)}getMutationCache(){return q(this,vo)}getDefaultOptions(){return q(this,bo)}setDefaultOptions(e){Pe(this,bo,e)}setQueryDefaults(e,t){q(this,Gd).set(ic(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...q(this,Gd).values()];let r={};return t.forEach(a=>{qh(e,a.queryKey)&&(r={...r,...a.defaultOptions})}),r}setMutationDefaults(e,t){q(this,Kd).set(ic(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...q(this,Kd).values()];let r={};return t.forEach(a=>{qh(e,a.mutationKey)&&(r={...r,...a.defaultOptions})}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...q(this,bo).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=N2(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.enabled!==!0&&t.queryFn===k2&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...q(this,bo).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){q(this,mr).clear(),q(this,vo).clear()}},mr=new WeakMap,vo=new WeakMap,bo=new WeakMap,Gd=new WeakMap,Kd=new WeakMap,wo=new WeakMap,Yd=new WeakMap,Zd=new WeakMap,bR),$n,gt,ep,kn,ql,Qd,jo,Is,tp,Xd,Jd,Hl,Gl,No,eu,Tt,Jm,b1,w1,j1,N1,k1,S1,C1,Uz,wR,nee=(wR=class extends Gu{constructor(t,r){super();Le(this,Tt);Le(this,$n);Le(this,gt);Le(this,ep);Le(this,kn);Le(this,ql);Le(this,Qd);Le(this,jo);Le(this,Is);Le(this,tp);Le(this,Xd);Le(this,Jd);Le(this,Hl);Le(this,Gl);Le(this,No);Le(this,eu,new Set);this.options=r,Pe(this,$n,t),Pe(this,Is,null),Pe(this,jo,v1()),this.options.experimental_prefetchInRender||q(this,jo).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(q(this,gt).addObserver(this),JA(q(this,gt),this.options)?nt(this,Tt,Jm).call(this):this.updateResult(),nt(this,Tt,N1).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return P1(q(this,gt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return P1(q(this,gt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,nt(this,Tt,k1).call(this),nt(this,Tt,S1).call(this),q(this,gt).removeObserver(this)}setOptions(t,r){const a=this.options,s=q(this,gt);if(this.options=q(this,$n).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ns(this.options.enabled,q(this,gt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");nt(this,Tt,C1).call(this),q(this,gt).setOptions(this.options),a._defaulted&&!Fx(this.options,a)&&q(this,$n).getQueryCache().notify({type:"observerOptionsUpdated",query:q(this,gt),observer:this});const i=this.hasListeners();i&&e4(q(this,gt),s,this.options,a)&&nt(this,Tt,Jm).call(this),this.updateResult(r),i&&(q(this,gt)!==s||ns(this.options.enabled,q(this,gt))!==ns(a.enabled,q(this,gt))||Cd(this.options.staleTime,q(this,gt))!==Cd(a.staleTime,q(this,gt)))&&nt(this,Tt,b1).call(this);const o=nt(this,Tt,w1).call(this);i&&(q(this,gt)!==s||ns(this.options.enabled,q(this,gt))!==ns(a.enabled,q(this,gt))||o!==q(this,No))&&nt(this,Tt,j1).call(this,o)}getOptimisticResult(t){const r=q(this,$n).getQueryCache().build(q(this,$n),t),a=this.createResult(r,t);return see(this,a)&&(Pe(this,kn,a),Pe(this,Qd,this.options),Pe(this,ql,q(this,gt).state)),a}getCurrentResult(){return q(this,kn)}trackResult(t,r){const a={};return Object.keys(t).forEach(s=>{Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(s),r==null||r(s),t[s])})}),a}trackProp(t){q(this,eu).add(t)}getCurrentQuery(){return q(this,gt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const r=q(this,$n).defaultQueryOptions(t),a=q(this,$n).getQueryCache().build(q(this,$n),r);return a.fetch().then(()=>this.createResult(a,r))}fetch(t){return nt(this,Tt,Jm).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),q(this,kn)))}createResult(t,r){var C;const a=q(this,gt),s=this.options,i=q(this,kn),o=q(this,ql),l=q(this,Qd),d=t!==a?t.state:q(this,ep),{state:u}=t;let m={...u},h=!1,f;if(r._optimisticResults){const A=this.hasListeners(),T=!A&&JA(t,r),E=A&&e4(t,a,r,s);(T||E)&&(m={...m,...Bz(u.data,t.options)}),r._optimisticResults==="isRestoring"&&(m.fetchStatus="idle")}let{error:b,errorUpdatedAt:g,status:p}=m;if(r.select&&m.data!==void 0)if(i&&m.data===(o==null?void 0:o.data)&&r.select===q(this,tp))f=q(this,Xd);else try{Pe(this,tp,r.select),f=r.select(m.data),f=y1(i==null?void 0:i.data,f,r),Pe(this,Xd,f),Pe(this,Is,null)}catch(A){Pe(this,Is,A)}else f=m.data;if(r.placeholderData!==void 0&&f===void 0&&p==="pending"){let A;if(i!=null&&i.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData))A=i.data;else if(A=typeof r.placeholderData=="function"?r.placeholderData((C=q(this,Jd))==null?void 0:C.state.data,q(this,Jd)):r.placeholderData,r.select&&A!==void 0)try{A=r.select(A),Pe(this,Is,null)}catch(T){Pe(this,Is,T)}A!==void 0&&(p="success",f=y1(i==null?void 0:i.data,A,r),h=!0)}q(this,Is)&&(b=q(this,Is),f=q(this,Xd),g=Date.now(),p="error");const x=m.fetchStatus==="fetching",v=p==="pending",w=p==="error",N=v&&x,j=f!==void 0,S={status:p,fetchStatus:m.fetchStatus,isPending:v,isSuccess:p==="success",isError:w,isInitialLoading:N,isLoading:N,data:f,dataUpdatedAt:m.dataUpdatedAt,error:b,errorUpdatedAt:g,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>d.dataUpdateCount||m.errorUpdateCount>d.errorUpdateCount,isFetching:x,isRefetching:x&&!v,isLoadingError:w&&!j,isPaused:m.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:w&&j,isStale:C2(t,r),refetch:this.refetch,promise:q(this,jo)};if(this.options.experimental_prefetchInRender){const A=I=>{S.status==="error"?I.reject(S.error):S.data!==void 0&&I.resolve(S.data)},T=()=>{const I=Pe(this,jo,S.promise=v1());A(I)},E=q(this,jo);switch(E.status){case"pending":t.queryHash===a.queryHash&&A(E);break;case"fulfilled":(S.status==="error"||S.data!==E.value)&&T();break;case"rejected":(S.status!=="error"||S.error!==E.reason)&&T();break}}return S}updateResult(t){const r=q(this,kn),a=this.createResult(q(this,gt),this.options);if(Pe(this,ql,q(this,gt).state),Pe(this,Qd,this.options),q(this,ql).data!==void 0&&Pe(this,Jd,q(this,gt)),Fx(a,r))return;Pe(this,kn,a);const s={},i=()=>{if(!r)return!0;const{notifyOnChangeProps:o}=this.options,l=typeof o=="function"?o():o;if(l==="all"||!l&&!q(this,eu).size)return!0;const c=new Set(l??q(this,eu));return this.options.throwOnError&&c.add("error"),Object.keys(q(this,kn)).some(d=>{const u=d;return q(this,kn)[u]!==r[u]&&c.has(u)})};(t==null?void 0:t.listeners)!==!1&&i()&&(s.listeners=!0),nt(this,Tt,Uz).call(this,{...s,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&nt(this,Tt,N1).call(this)}},$n=new WeakMap,gt=new WeakMap,ep=new WeakMap,kn=new WeakMap,ql=new WeakMap,Qd=new WeakMap,jo=new WeakMap,Is=new WeakMap,tp=new WeakMap,Xd=new WeakMap,Jd=new WeakMap,Hl=new WeakMap,Gl=new WeakMap,No=new WeakMap,eu=new WeakMap,Tt=new WeakSet,Jm=function(t){nt(this,Tt,C1).call(this);let r=q(this,gt).fetch(this.options,t);return t!=null&&t.throwOnError||(r=r.catch(Ta)),r},b1=function(){nt(this,Tt,k1).call(this);const t=Cd(this.options.staleTime,q(this,gt));if(sc||q(this,kn).isStale||!g1(t))return;const a=Oz(q(this,kn).dataUpdatedAt,t)+1;Pe(this,Hl,setTimeout(()=>{q(this,kn).isStale||this.updateResult()},a))},w1=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(q(this,gt)):this.options.refetchInterval)??!1},j1=function(t){nt(this,Tt,S1).call(this),Pe(this,No,t),!(sc||ns(this.options.enabled,q(this,gt))===!1||!g1(q(this,No))||q(this,No)===0)&&Pe(this,Gl,setInterval(()=>{(this.options.refetchIntervalInBackground||S2.isFocused())&&nt(this,Tt,Jm).call(this)},q(this,No)))},N1=function(){nt(this,Tt,b1).call(this),nt(this,Tt,j1).call(this,nt(this,Tt,w1).call(this))},k1=function(){q(this,Hl)&&(clearTimeout(q(this,Hl)),Pe(this,Hl,void 0))},S1=function(){q(this,Gl)&&(clearInterval(q(this,Gl)),Pe(this,Gl,void 0))},C1=function(){const t=q(this,$n).getQueryCache().build(q(this,$n),this.options);if(t===q(this,gt))return;const r=q(this,gt);Pe(this,gt,t),Pe(this,ep,t.state),this.hasListeners()&&(r==null||r.removeObserver(this),t.addObserver(this))},Uz=function(t){Mr.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(q(this,kn))}),q(this,$n).getQueryCache().notify({query:q(this,gt),type:"observerResultsUpdated"})})},wR);function aee(e,t){return ns(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function JA(e,t){return aee(e,t)||e.state.data!==void 0&&P1(e,t,t.refetchOnMount)}function P1(e,t,r){if(ns(t.enabled,e)!==!1){const a=typeof r=="function"?r(e):r;return a==="always"||a!==!1&&C2(e,t)}return!1}function e4(e,t,r,a){return(e!==t||ns(a.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&C2(e,r)}function C2(e,t){return ns(t.enabled,e)!==!1&&e.isStaleByTime(Cd(t.staleTime,e))}function see(e,t){return!Fx(e.getCurrentResult(),t)}var ko,So,Ln,pi,_i,ex,T1,jR,iee=(jR=class extends Gu{constructor(r,a){super();Le(this,_i);Le(this,ko);Le(this,So);Le(this,Ln);Le(this,pi);Pe(this,ko,r),this.setOptions(a),this.bindMethods(),nt(this,_i,ex).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){var s;const a=this.options;this.options=q(this,ko).defaultMutationOptions(r),Fx(this.options,a)||q(this,ko).getMutationCache().notify({type:"observerOptionsUpdated",mutation:q(this,Ln),observer:this}),a!=null&&a.mutationKey&&this.options.mutationKey&&ic(a.mutationKey)!==ic(this.options.mutationKey)?this.reset():((s=q(this,Ln))==null?void 0:s.state.status)==="pending"&&q(this,Ln).setOptions(this.options)}onUnsubscribe(){var r;this.hasListeners()||(r=q(this,Ln))==null||r.removeObserver(this)}onMutationUpdate(r){nt(this,_i,ex).call(this),nt(this,_i,T1).call(this,r)}getCurrentResult(){return q(this,So)}reset(){var r;(r=q(this,Ln))==null||r.removeObserver(this),Pe(this,Ln,void 0),nt(this,_i,ex).call(this),nt(this,_i,T1).call(this)}mutate(r,a){var s;return Pe(this,pi,a),(s=q(this,Ln))==null||s.removeObserver(this),Pe(this,Ln,q(this,ko).getMutationCache().build(q(this,ko),this.options)),q(this,Ln).addObserver(this),q(this,Ln).execute(r)}},ko=new WeakMap,So=new WeakMap,Ln=new WeakMap,pi=new WeakMap,_i=new WeakSet,ex=function(){var a;const r=((a=q(this,Ln))==null?void 0:a.state)??Wz();Pe(this,So,{...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset})},T1=function(r){Mr.batch(()=>{var a,s,i,o,l,c,d,u;if(q(this,pi)&&this.hasListeners()){const m=q(this,So).variables,h=q(this,So).context;(r==null?void 0:r.type)==="success"?((s=(a=q(this,pi)).onSuccess)==null||s.call(a,r.data,m,h),(o=(i=q(this,pi)).onSettled)==null||o.call(i,r.data,null,m,h)):(r==null?void 0:r.type)==="error"&&((c=(l=q(this,pi)).onError)==null||c.call(l,r.error,m,h),(u=(d=q(this,pi)).onSettled)==null||u.call(d,void 0,r.error,m,h))}this.listeners.forEach(m=>{m(q(this,So))})})},jR),Vz=y.createContext(void 0),Qs=e=>{const t=y.useContext(Vz);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},oee=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(Vz.Provider,{value:e,children:t})),qz=y.createContext(!1),lee=()=>y.useContext(qz);qz.Provider;function cee(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var dee=y.createContext(cee()),uee=()=>y.useContext(dee);function Hz(e,t){return typeof e=="function"?e(...t):!!e}function A1(){}var mee=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},hee=e=>{y.useEffect(()=>{e.clearReset()},[e])},fee=({result:e,errorResetBoundary:t,throwOnError:r,query:a})=>e.isError&&!t.isReset()&&!e.isFetching&&a&&Hz(r,[e.error,a]),pee=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},gee=(e,t)=>e.isLoading&&e.isFetching&&!t,xee=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,t4=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function yee(e,t,r){var u,m,h,f,b;const a=Qs(),s=lee(),i=uee(),o=a.defaultQueryOptions(e);(m=(u=a.getDefaultOptions().queries)==null?void 0:u._experimental_beforeQuery)==null||m.call(u,o),o._optimisticResults=s?"isRestoring":"optimistic",pee(o),mee(o,i),hee(i);const l=!a.getQueryCache().get(o.queryHash),[c]=y.useState(()=>new t(a,o)),d=c.getOptimisticResult(o);if(y.useSyncExternalStore(y.useCallback(g=>{const p=s?A1:c.subscribe(Mr.batchCalls(g));return c.updateResult(),p},[c,s]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),y.useEffect(()=>{c.setOptions(o,{listeners:!1})},[o,c]),xee(o,d))throw t4(o,c,i);if(fee({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:a.getQueryCache().get(o.queryHash)}))throw d.error;if((f=(h=a.getDefaultOptions().queries)==null?void 0:h._experimental_afterQuery)==null||f.call(h,o,d),o.experimental_prefetchInRender&&!sc&&gee(d,s)){const g=l?t4(o,c,i):(b=a.getQueryCache().get(o.queryHash))==null?void 0:b.promise;g==null||g.catch(A1).finally(()=>{c.updateResult()})}return o.notifyOnChangeProps?d:c.trackResult(d)}function De(e,t){return yee(e,nee)}function Ve(e,t){const r=Qs(),[a]=y.useState(()=>new iee(r,e));y.useEffect(()=>{a.setOptions(e)},[a,e]);const s=y.useSyncExternalStore(y.useCallback(o=>a.subscribe(Mr.batchCalls(o)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),i=y.useCallback((o,l)=>{a.mutate(o,l).catch(A1)},[a]);if(s.error&&Hz(a.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}async function Gz(e){if(!e.ok){const t=await e.text()||e.statusText;throw new Error(`${e.status}: ${t}`)}}async function ct(e,t,r){const a=await fetch(e,{method:t,headers:r?{"Content-Type":"application/json"}:{},body:r?JSON.stringify(r):void 0,credentials:"include"});return await Gz(a),a}const vee=({on401:e})=>async({queryKey:t})=>{const r=await fetch(t.join("/"),{credentials:"include"});return e==="returnNull"&&r.status===401?null:(await Gz(r),await r.json())},Qe=new ree({defaultOptions:{queries:{queryFn:vee({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:1/0,retry:!1},mutations:{retry:!1}}}),bee=1,wee=1e6;let sw=0;function jee(){return sw=(sw+1)%Number.MAX_SAFE_INTEGER,sw.toString()}const iw=new Map,r4=e=>{if(iw.has(e))return;const t=setTimeout(()=>{iw.delete(e),fh({type:"REMOVE_TOAST",toastId:e})},wee);iw.set(e,t)},Nee=(e,t)=>
48{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,bee)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?r4(r):e.toasts.forEach(a=>{r4(a.id)}),{...e,toasts:e.toasts.map(a=>a.id===r||r===void 0?{...a,open:!1}:a)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},tx=[];let rx={toasts:[]};function fh(e){rx=Nee(rx,e),tx.forEach(t=>{t(rx)})}function kee({...e}){const t=jee(),r=s=>fh({type:"UPDATE_TOAST",toast:{...s,id:t}}),a=()=>fh({type:"DISMISS_TOAST",toastId:t});return fh({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:s=>{s||a()}}}),{id:t,dismiss:a,update:r}}function dt(){const[e,t]=y.useState(rx);return y.useEffect(()=>(tx.push(t),()=>{const r=tx.indexOf(t);r>-1&&tx.splice(r,1)}),[e]),{...e,toast:kee,dismiss:r=>fh({type:"DISMISS_TOAST",toastId:r})}}function ge(e,t,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e==null||e(s),r===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function n4(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Bv(...e){return t=>{let r=!1;const a=e.map(s=>{const i=n4(s,t);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<a.length;s++){const i=a[s];typeof i=="function"?i():n4(e[s],null)}}}}function tt(...e){return y.useCallback(Bv(...e),e)}function See(e,t){const r=y.createContext(t),a=i=>{const{children:o,...l}=i,c=y.useMemo(()=>l,Object.values(l));return n.jsx(r.Provider,{value:c,children:o})};a.displayName=e+"Provider";function s(i){const o=y.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[a,s]}function rn(e,t=[]){let r=[];function a(i,o){const l=y.createContext(o),c=r.length;r=[...r,o];const d=m=>{var x;const{scope:h,children:f,...b}=m,g=((x=h==null?void 0:h[e])==null?void 0:x[c])||l,p=y.useMemo(()=>b,Object.values(b));return n.jsx(g.Provider,{value:p,children:f})};d.displayName=i+"Provider";function u(m,h){var g;const f=((g=h==null?void 0:h[e])==null?void 0:g[c])||l,b=y.useContext(f);if(b)return b;if(o!==void 0)return o;throw new Error(`\`${m}\` must be used within \`${i}\``)}return[d,u]}const s=()=>{const i=r.map(o=>y.createContext(o));return function(l){const c=(l==null?void 0:l[e])||i;return y.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return s.scopeName=e,[a,Cee(s,...t)]}function Cee(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const a=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const o=a.reduce((l,{useScope:c,scopeName:d})=>{const m=c(i)[`__scope${d}`];return{...l,...m}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}function Go(e){const t=Pee(e),r=y.forwardRef((a,s)=>{const{children:i,...o}=a,l=y.Children.toArray(i),c=l.find(Aee);if(c){const d=c.props.children,u=l.map(m=>m===c?y.Children.count(d)>1?y.Children.only(null):y.isValidElement(d)?d.props.children:null:m);return n.jsx(t,{...o,ref:s,children:y.isValidElement(d)?y.cloneElement(d,void 0,u):null})}return n.jsx(t,{...o,ref:s,children:i})});return r.displayName=`${e}.Slot`,r}var Kz=Go("Slot");function Pee(e){const t=y.forwardRef((r,a)=>{const{children:s,...i}=r;if(y.isValidElement(s)){const o=Iee(s),l=Eee(i,s.props);return s.type!==y.Fragment&&(l.ref=a?Bv(a,o):o),y.cloneElement(s,l)}return y.Children.count(s)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Yz=Symbol("radix.slottable");function Tee(e){const t=({children:r})=>n.jsx(n.Fragment,{children:r});return t.displayName=`${e}.Slottable`,t.__radixId=Yz,t}function Aee(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Yz}function Eee(e,t){const r={...t};for(const a in t){const s=e[a],i=t[a];/^on[A-Z]/.test(a)?s&&i?r[a]=(...l)=>{i(...l),s(...l)}:s&&(r[a]=s):a==="style"?r[a]={...s,...i}:a==="className"&&(r[a]=[s,i].filter(Boolean).join(" "))}return{...e,...r}}function Iee(e){var a,s;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Ku(e){const t=e+"CollectionProvider",[r,a]=rn(t),[s,i]=r(t,{collectionRef:{current:null},itemMap:new Map}),o=g=>{const{scope:p,children:x}=g,v=L.useRef(null),w=L.useRef(new Map).current;return n.jsx(s,{scope:p,itemMap:w,collectionRef:v,children:x})};o.displayName=t;const l=e+"CollectionSlot",c=Go(l),d=L.forwardRef((g,p)=>{const{scope:x,children:v}=g,w=i(l,x),N=tt(p,w.collectionRef);return n.jsx(c,{ref:N,children:v})});d.displayName=l;const u=e+"CollectionItemSlot",m="data-radix-collection-item",h=Go(u),f=L.forwardRef((g,p)=>{const{scope:x,children:v,...w}=g,N=L.useRef(null),j=tt(p,N),k=i(u,x);return L.useEffect(()=>(k.itemMap.set(N,{ref:N,...w}),()=>void k.itemMap.delete(N))),n.jsx(h,{[m]:"",ref:j,children:v})});f.displayName=u;function b(g){const p=i(e+"CollectionConsumer",g);return L.useCallback(()=>{const v=p.collectionRef.current;if(!v)return[];const w=Array.from(v.querySelectorAll(`[${m}]`));return Array.from(p.itemMap.values()).sort((k,S)=>w.indexOf(k.ref.current)-w.indexOf(S.ref.current))},[p.collectionRef,p.itemMap])}return[{Provider:o,Slot:d,ItemSlot:f},b,a]}var _ee=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Me=_ee.reduce((e,t)=>
vendor: 4,274 bytes, line 48
48{const r=Go(`Primitive.${t}`),a=y.forwardRef((s,i)=>{const{asChild:o,...l}=s,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(c,{...l,ref:i})});return a.displayName=`Primitive.${t}`,{...e,[t]:a}},{});function P2(e,t){e&&wc.flushSync(()=>e.dispatchEvent(t))}function en(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...r)=>{var a;return(a=t.current)==null?void 0:a.call(t,...r)},[])}function Mee(e,t=globalThis==null?void 0:globalThis.document){const r=en(e);y.useEffect(()=>{const a=s=>{s.key==="Escape"&&r(s)};return t.addEventListener("keydown",a,{capture:!0}),()=>t.removeEventListener("keydown",a,{capture:!0})},[r,t])}var Oee="DismissableLayer",E1="dismissableLayer.update",Ree="dismissableLayer.pointerDownOutside",Fee="dismissableLayer.focusOutside",a4,Zz=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Nc=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...c}=e,d=y.useContext(Zz),[u,m]=y.useState(null),h=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=y.useState({}),b=tt(t,S=>m(S)),g=Array.from(d.layers),[p]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),x=g.indexOf(p),v=u?g.indexOf(u):-1,w=d.layersWithOutsidePointerEventsDisabled.size>0,N=v>=x,j=$ee(S=>{const C=S.target,A=[...d.branches].some(T=>T.contains(C));!N||A||(s==null||s(S),o==null||o(S),S.defaultPrevented||l==null||l())},h),k=Lee(S=>{const C=S.target;[...d.branches].some(T=>T.contains(C))||(i==null||i(S),o==null||o(S),S.defaultPrevented||l==null||l())},h);return Mee(S=>{v===d.layers.size-1&&(a==null||a(S),!S.defaultPrevented&&l&&(S.preventDefault(),l()))},h),y.useEffect(()=>{if(u)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(a4=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),s4(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=a4)}},[u,h,r,d]),y.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),s4())},[u,d]),y.useEffect(()=>{const S=()=>f({});return document.addEventListener(E1,S),()=>document.removeEventListener(E1,S)},[]),n.jsx(Me.div,{...c,ref:b,style:{pointerEvents:w?N?"auto":"none":void 0,...e.style},onFocusCapture:ge(e.onFocusCapture,k.onFocusCapture),onBlurCapture:ge(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:ge(e.onPointerDownCapture,j.onPointerDownCapture)})});Nc.displayName=Oee;var Dee="DismissableLayerBranch",Qz=y.forwardRef((e,t)=>{const r=y.useContext(Zz),a=y.useRef(null),s=tt(t,a);return y.useEffect(()=>{const i=a.current;if(i)return r.branches.add(i),()=>{r.branches.delete(i)}},[r.branches]),n.jsx(Me.div,{...e,ref:s})});Qz.displayName=Dee;function $ee(e,t=globalThis==null?void 0:globalThis.document){const r=en(e),a=y.useRef(!1),s=y.useRef(()=>{});return y.useEffect(()=>{const i=l=>{if(l.target&&!a.current){let c=function(){Xz(Ree,r,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=c,t.addEventListener("click",s.current,{once:!0})):c()}else t.removeEventListener("click",s.current);a.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",i),t.removeEventListener("click",s.current)}},[t,r]),{onPointerDownCapture:()=>a.current=!0}}function Lee(e,t=globalThis==null?void 0:globalThis.document){const r=en(e),a=y.useRef(!1);return y.useEffect(()=>{const s=i=>{i.target&&!a.current&&Xz(Fee,r,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,r]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function s4(){const e=new CustomEvent(E1);document.dispatchEvent(e)}function Xz(e,t,r,{discrete:a}){const s=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),a?P2(s,i):s.dispatchEvent(i)}var zee=Nc,Bee=Qz,Ar=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},Wee="Portal",Yu=y.forwardRef((e,t)=>
48{var l;const{container:r,...a}=e,[s,i]=y.useState(!1);Ar(()=>i(!0),[]);const o=r||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?dJ.createPortal(n.jsx(Me.div,{...a,ref:t}),o):null});Yu.displayName=Wee;function Uee(e,t){return y.useReducer((r,a)=>t[r][a]??r,e)}var Yn=e=>{const{present:t,children:r}=e,a=Vee(t),s=typeof r=="function"?r({present:a.isPresent}):y.Children.only(r),i=tt(a.ref,qee(s));return typeof r=="function"||a.isPresent?y.cloneElement(s,{ref:i}):null};Yn.displayName="Presence";function Vee(e){const[t,r]=y.useState(),a=y.useRef({}),s=y.useRef(e),i=y.useRef("none"),o=e?"mounted":"unmounted",[l,c]=Uee(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const d=lg(a.current);i.current=l==="mounted"?d:"none"},[l]),Ar(()=>{const d=a.current,u=s.current;if(u!==e){const h=i.current,f=lg(d);e?c("MOUNT"):f==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&h!==f?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,c]),Ar(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,m=f=>{const g=lg(a.current).includes(f.animationName);if(f.target===t&&g&&(c("ANIMATION_END"),!s.current)){const p=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=p)})}},h=f=>{f.target===t&&(i.current=lg(a.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:y.useCallback(d=>{d&&(a.current=getComputedStyle(d)),r(d)},[])}}function lg(e){return(e==null?void 0:e.animationName)||"none"}function qee(e){var a,s;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Kn({prop:e,defaultProp:t,onChange:r=()=>{}}){const[a,s]=Hee({defaultProp:t,onChange:r}),i=e!==void 0,o=i?e:a,l=en(r),c=y.useCallback(d=>{if(i){const m=typeof d=="function"?d(e):d;m!==e&&l(m)}else s(d)},[i,e,s,l]);return[o,c]}function Hee({defaultProp:e,onChange:t}){const r=y.useState(e),[a]=r,s=y.useRef(a),i=en(t);return y.useEffect(()=>{s.current!==a&&(i(a),s.current=a)},[a,s,i]),r}var Gee="VisuallyHidden",Zu=y.forwardRef((e,t)=>n.jsx(Me.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Zu.displayName=Gee;var Kee=Zu,T2="ToastProvider",[A2,Yee,Zee]=Ku("Toast"),[Jz,I8e]=rn("Toast",[Zee]),[Qee,Wv]=Jz(T2),e8=e=>{const{__scopeToast:t,label:r="Notification",duration:a=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:o}=e,[l,c]=y.useState(null),[d,u]=y.useState(0),m=y.useRef(!1),h=y.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${T2}\`. Expected non-empty \`string\`.`),n.jsx(A2.Provider,{scope:t,children:n.jsx(Qee,{scope:t,label:r,duration:a,swipeDirection:s,swipeThreshold:i,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:y.useCallback(()=>u(f=>f+1),[]),onToastRemove:y.useCallback(()=>u(f=>f-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:h,children:o})})};e8.displayName=T2;var t8="ToastViewport",Xee=["F8"],I1="toast.viewportPause",_1="toast.viewportResume",r8=y.forwardRef((e,t)=>{const{__scopeToast:r,hotkey:a=Xee,label:s="Notifications ({hotkey})",...i}=e,o=Wv(t8,r),l=Yee(r),c=y.useRef(null),d=y.useRef(null),u=y.useRef(null),m=y.useRef(null),h=tt(t,m,o.onViewportChange),f=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),b=o.toastCount>0;y.useEffect(()=>{const p=x=>{var w;a.length!==0&&a.every(N=>x[N]||x.code===N)&&((w=m.current)==null||w.focus())};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[a]),y.useEffect(()=>{const p=c.current,x=m.current;if(b&&p&&x){const v=()=>{if(!o.isClosePausedRef.current){const k=new CustomEvent(I1);x.dispatchEvent(k),o.isClosePausedRef.current=!0}},w=()=>
48{if(o.isClosePausedRef.current){const k=new CustomEvent(_1);x.dispatchEvent(k),o.isClosePausedRef.current=!1}},N=k=>{!p.contains(k.relatedTarget)&&w()},j=()=>{p.contains(document.activeElement)||w()};return p.addEventListener("focusin",v),p.addEventListener("focusout",N),p.addEventListener("pointermove",v),p.addEventListener("pointerleave",j),window.addEventListener("blur",v),window.addEventListener("focus",w),()=>{p.removeEventListener("focusin",v),p.removeEventListener("focusout",N),p.removeEventListener("pointermove",v),p.removeEventListener("pointerleave",j),window.removeEventListener("blur",v),window.removeEventListener("focus",w)}}},[b,o.isClosePausedRef]);const g=y.useCallback(({tabbingDirection:p})=>{const v=l().map(w=>{const N=w.ref.current,j=[N,...ute(N)];return p==="forwards"?j:j.reverse()});return(p==="forwards"?v.reverse():v).flat()},[l]);return y.useEffect(()=>{const p=m.current;if(p){const x=v=>{var j,k,S;const w=v.altKey||v.ctrlKey||v.metaKey;if(v.key==="Tab"&&!w){const C=document.activeElement,A=v.shiftKey;if(v.target===p&&A){(j=d.current)==null||j.focus();return}const I=g({tabbingDirection:A?"backwards":"forwards"}),R=I.findIndex(P=>P===C);ow(I.slice(R+1))?v.preventDefault():A?(k=d.current)==null||k.focus():(S=u.current)==null||S.focus()}};return p.addEventListener("keydown",x),()=>p.removeEventListener("keydown",x)}},[l,g]),n.jsxs(Bee,{ref:c,role:"region","aria-label":s.replace("{hotkey}",f),tabIndex:-1,style:{pointerEvents:b?void 0:"none"},children:[b&&n.jsx(M1,{ref:d,onFocusFromOutsideViewport:()=>{const p=g({tabbingDirection:"forwards"});ow(p)}}),n.jsx(A2.Slot,{scope:r,children:n.jsx(Me.ol,{tabIndex:-1,...i,ref:h})}),b&&n.jsx(M1,{ref:u,onFocusFromOutsideViewport:()=>{const p=g({tabbingDirection:"backwards"});ow(p)}})]})});r8.displayName=t8;var n8="ToastFocusProxy",M1=y.forwardRef((e,t)=>{const{__scopeToast:r,onFocusFromOutsideViewport:a,...s}=e,i=Wv(n8,r);return n.jsx(Zu,{"aria-hidden":!0,tabIndex:0,...s,ref:t,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=i.viewport)!=null&&d.contains(l))&&a()}})});M1.displayName=n8;var Uv="Toast",Jee="toast.swipeStart",ete="toast.swipeMove",tte="toast.swipeCancel",rte="toast.swipeEnd",a8=y.forwardRef((e,t)=>{const{forceMount:r,open:a,defaultOpen:s,onOpenChange:i,...o}=e,[l=!0,c]=Kn({prop:a,defaultProp:s,onChange:i});return n.jsx(Yn,{present:r||l,children:n.jsx(ste,{open:l,...o,ref:t,onClose:()=>c(!1),onPause:en(e.onPause),onResume:en(e.onResume),onSwipeStart:ge(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:ge(e.onSwipeMove,d=>{const{x:u,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${m}px`)}),onSwipeCancel:ge(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:ge(e.onSwipeEnd,d=>{const{x:u,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${m}px`),c(!1)})})})});a8.displayName=Uv;var[nte,ate]=Jz(Uv,{onClose(){}}),ste=y.forwardRef((e,t)=>{const{__scopeToast:r,type:a="foreground",duration:s,open:i,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:m,onSwipeCancel:h,onSwipeEnd:f,...b}=e,g=Wv(Uv,r),[p,x]=y.useState(null),v=tt(t,P=>x(P)),w=y.useRef(null),N=y.useRef(null),j=s||g.duration,k=y.useRef(0),S=y.useRef(j),C=y.useRef(0),{onToastAdd:A,onToastRemove:T}=g,E=en(()=>{var M;(p==null?void 0:p.contains(document.activeElement))&&((M=g.viewport)==null||M.focus()),o()}),I=y.useCallback(P=>
vendor: 4,537 bytes, line 48
48{!P||P===1/0||(window.clearTimeout(C.current),k.current=new Date().getTime(),C.current=window.setTimeout(E,P))},[E]);y.useEffect(()=>{const P=g.viewport;if(P){const M=()=>{I(S.current),d==null||d()},O=()=>{const $=new Date().getTime()-k.current;S.current=S.current-$,window.clearTimeout(C.current),c==null||c()};return P.addEventListener(I1,O),P.addEventListener(_1,M),()=>{P.removeEventListener(I1,O),P.removeEventListener(_1,M)}}},[g.viewport,j,c,d,I]),y.useEffect(()=>{i&&!g.isClosePausedRef.current&&I(j)},[i,j,g.isClosePausedRef,I]),y.useEffect(()=>(A(),()=>T()),[A,T]);const R=y.useMemo(()=>p?u8(p):null,[p]);return g.viewport?n.jsxs(n.Fragment,{children:[R&&n.jsx(ite,{__scopeToast:r,role:"status","aria-live":a==="foreground"?"assertive":"polite","aria-atomic":!0,children:R}),n.jsx(nte,{scope:r,onClose:E,children:wc.createPortal(n.jsx(A2.ItemSlot,{scope:r,children:n.jsx(zee,{asChild:!0,onEscapeKeyDown:ge(l,()=>{g.isFocusedToastEscapeKeyDownRef.current||E(),g.isFocusedToastEscapeKeyDownRef.current=!1}),children:n.jsx(Me.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":g.swipeDirection,...b,ref:v,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:ge(e.onKeyDown,P=>{P.key==="Escape"&&(l==null||l(P.nativeEvent),P.nativeEvent.defaultPrevented||(g.isFocusedToastEscapeKeyDownRef.current=!0,E()))}),onPointerDown:ge(e.onPointerDown,P=>{P.button===0&&(w.current={x:P.clientX,y:P.clientY})}),onPointerMove:ge(e.onPointerMove,P=>{if(!w.current)return;const M=P.clientX-w.current.x,O=P.clientY-w.current.y,$=!!N.current,_=["left","right"].includes(g.swipeDirection),F=["left","up"].includes(g.swipeDirection)?Math.min:Math.max,U=_?F(0,M):0,Z=_?0:F(0,O),H=P.pointerType==="touch"?10:2,Q={x:U,y:Z},B={originalEvent:P,delta:Q};$?(N.current=Q,cg(ete,m,B,{discrete:!1})):i4(Q,g.swipeDirection,H)?(N.current=Q,cg(Jee,u,B,{discrete:!1}),P.target.setPointerCapture(P.pointerId)):(Math.abs(M)>H||Math.abs(O)>H)&&(w.current=null)}),onPointerUp:ge(e.onPointerUp,P=>{const M=N.current,O=P.target;if(O.hasPointerCapture(P.pointerId)&&O.releasePointerCapture(P.pointerId),N.current=null,w.current=null,M){const $=P.currentTarget,_={originalEvent:P,delta:M};i4(M,g.swipeDirection,g.swipeThreshold)?cg(rte,f,_,{discrete:!0}):cg(tte,h,_,{discrete:!0}),$.addEventListener("click",F=>F.preventDefault(),{once:!0})}})})})}),g.viewport)})]}):null}),ite=e=>{const{__scopeToast:t,children:r,...a}=e,s=Wv(Uv,t),[i,o]=y.useState(!1),[l,c]=y.useState(!1);return cte(()=>o(!0)),y.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:n.jsx(Yu,{asChild:!0,children:n.jsx(Zu,{...a,children:i&&n.jsxs(n.Fragment,{children:[s.label," ",r]})})})},ote="ToastTitle",s8=y.forwardRef((e,t)=>{const{__scopeToast:r,...a}=e;return n.jsx(Me.div,{...a,ref:t})});s8.displayName=ote;var lte="ToastDescription",i8=y.forwardRef((e,t)=>{const{__scopeToast:r,...a}=e;return n.jsx(Me.div,{...a,ref:t})});i8.displayName=lte;var o8="ToastAction",l8=y.forwardRef((e,t)=>{const{altText:r,...a}=e;return r.trim()?n.jsx(d8,{altText:r,asChild:!0,children:n.jsx(E2,{...a,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${o8}\`. Expected non-empty \`string\`.`),null)});l8.displayName=o8;var c8="ToastClose",E2=y.forwardRef((e,t)=>{const{__scopeToast:r,...a}=e,s=ate(c8,r);return n.jsx(d8,{asChild:!0,children:n.jsx(Me.button,{type:"button",...a,ref:t,onClick:ge(e.onClick,s.onClose)})})});E2.displayName=c8;var d8=y.forwardRef((e,t)=>{const{__scopeToast:r,altText:a,...s}=e;return n.jsx(Me.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":a||void 0,...s,ref:t})});function u8(e){const t=[];return Array.from(e.childNodes).forEach(a=>{if(a.nodeType===a.TEXT_NODE&&a.textContent&&t.push(a.textContent),dte(a)){const s=a.ariaHidden||a.hidden||a.style.display==="none",i=a.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const o=a.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(...u8(a))}}),t}function cg(e,t,r,{discrete:a}){const s=r.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),a?P2(s,i):s.dispatchEvent(i)}var i4=(e,t,r=0)=>{const a=Math.abs(e.x),s=Math.abs(e.y),i=a>s;return t==="left"||t==="right"?i&&a>r:!i&&s>r};function cte(e=()=>{}){const t=en(e);Ar(()=>{let r=0,a=0;return r=window.requestAnimationFrame(()=>a=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(a)}},[t])}
vendor: 6,189 bytes, lines 48-108
48function dte(e){return e.nodeType===e.ELEMENT_NODE}function ute(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const s=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||s?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function ow(e){const t=document.activeElement;return e.some(r=>r===t?!0:(r.focus(),document.activeElement!==t))}var mte=e8,m8=r8,h8=a8,f8=s8,p8=i8,g8=l8,x8=E2;function y8(e){var t,r,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(r=y8(e[t]))&&(a&&(a+=" "),a+=r)}else for(r in e)e[r]&&(a&&(a+=" "),a+=r);return a}function vt(){for(var e,t,r=0,a="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=y8(e))&&(a&&(a+=" "),a+=t);return a}const o4=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,l4=vt,Qu=(e,t)=>r=>{var a;if((t==null?void 0:t.variants)==null)return l4(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:i}=t,o=Object.keys(s).map(d=>{const u=r==null?void 0:r[d],m=i==null?void 0:i[d];if(u===null)return null;const h=o4(u)||o4(m);return s[d][h]}),l=r&&Object.entries(r).reduce((d,u)=>{let[m,h]=u;return h===void 0||(d[m]=h),d},{}),c=t==null||(a=t.compoundVariants)===null||a===void 0?void 0:a.reduce((d,u)=>{let{class:m,className:h,...f}=u;return Object.entries(f).every(b=>{let[g,p]=b;return Array.isArray(p)?p.includes({...i,...l}[g]):{...i,...l}[g]===p})?[...d,m,h]:d},[]);return l4(e,o,c,r==null?void 0:r.class,r==null?void 0:r.className)};/**
49 * @license lucide-react v0.453.0 - ISC
50 *
51 * This source code is licensed under the ISC license.
52 * See the LICENSE file in the root directory of this source tree.
53 */const hte=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),v8=(...e)=>e.filter((t,r,a)=>!!t&&a.indexOf(t)===r).join(" ");/**
54 * @license lucide-react v0.453.0 - ISC
55 *
56 * This source code is licensed under the ISC license.
57 * See the LICENSE file in the root directory of this source tree.
58 */var fte={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
59 * @license lucide-react v0.453.0 - ISC
60 *
61 * This source code is licensed under the ISC license.
62 * See the LICENSE file in the root directory of this source tree.
63 */const pte=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:a,className:s="",children:i,iconNode:o,...l},c)=>y.createElement("svg",{ref:c,...fte,width:t,height:t,stroke:e,strokeWidth:a?Number(r)*24/Number(t):r,className:v8("lucide",s),...l},[...o.map(([d,u])=>y.createElement(d,u)),...Array.isArray(i)?i:[i]]));/**
64 * @license lucide-react v0.453.0 - ISC
65 *
66 * This source code is licensed under the ISC license.
67 * See the LICENSE file in the root directory of this source tree.
68 */const ie=(e,t)=>{const r=y.forwardRef(({className:a,...s},i)=>y.createElement(pte,{ref:i,iconNode:t,className:v8(`lucide-${hte(e)}`,a),...s}));return r.displayName=`${e}`,r};/**
69 * @license lucide-react v0.453.0 - ISC
70 *
71 * This source code is licensed under the ISC license.
72 * See the LICENSE file in the root directory of this source tree.
73 */const cu=ie("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/**
74 * @license lucide-react v0.453.0 - ISC
75 *
76 * This source code is licensed under the ISC license.
77 * See the LICENSE file in the root directory of this source tree.
78 */const Hh=ie("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
79 * @license lucide-react v0.453.0 - ISC
80 *
81 * This source code is licensed under the ISC license.
82 * See the LICENSE file in the root directory of this source tree.
83 */const At=ie("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
84 * @license lucide-react v0.453.0 - ISC
85 *
86 * This source code is licensed under the ISC license.
87 * See the LICENSE file in the root directory of this source tree.
88 */const Vv=ie("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/**
89 * @license lucide-react v0.453.0 - ISC
90 *
91 * This source code is licensed under the ISC license.
92 * See the LICENSE file in the root directory of this source tree.
93 */const Ua=ie("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/**
94 * @license lucide-react v0.453.0 - ISC
95 *
96 * This source code is licensed under the ISC license.
97 * See the LICENSE file in the root directory of this source tree.
98 */const gte=ie("Book",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]);/**
99 * @license lucide-react v0.453.0 - ISC
100 *
101 * This source code is licensed under the ISC license.
102 * See the LICENSE file in the root directory of this source tree.
103 */const O1=ie("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
104 * @license lucide-react v0.453.0 - ISC
105 *
106 * This source code is licensed under the ISC license.
107 * See the LICENSE file in the root directory of this source tree.
108 */const lw=ie("BrainCircuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}
108],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);/**
109 * @license lucide-react v0.453.0 - ISC
110 *
111 * This source code is licensed under the ISC license.
112 * See the LICENSE file in the root directory of this source tree.
113 */const qv=ie("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/**
114 * @license lucide-react v0.453.0 - ISC
115 *
116 * This source code is licensed under the ISC license.
117 * See the LICENSE file in the root directory of this source tree.
118 */const Hv=ie("Briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);/**
119 * @license lucide-react v0.453.0 - ISC
120 *
121 * This source code is licensed under the ISC license.
122 * See the LICENSE file in the root directory of this source tree.
123 */const xte=ie("Bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]);/**
124 * @license lucide-react v0.453.0 - ISC
125 *
126 * This source code is licensed under the ISC license.
127 * See the LICENSE file in the root directory of this source tree.
128 */const yte=ie("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
129 * @license lucide-react v0.453.0 - ISC
130 *
131 * This source code is licensed under the ISC license.
132 * See the LICENSE file in the root directory of this source tree.
133 */const ys=ie("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
134 * @license lucide-react v0.453.0 - ISC
135 *
136 * This source code is licensed under the ISC license.
137 * See the LICENSE file in the root directory of this source tree.
138 */const _t=ie("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/**
139 * @license lucide-react v0.453.0 - ISC
140 *
141 * This source code is licensed under the ISC license.
142 * See the LICENSE file in the root directory of this source tree.
143 */const b8=ie("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]);/**
144 * @license lucide-react v0.453.0 - ISC
145 *
146 * This source code is licensed under the ISC license.
147 * See the LICENSE file in the root directory of this source tree.
148 */const I2=ie("ChartNoAxesColumn",[["line",{x1:"18",x2:"18",y1:"20",y2:"10",key:"1xfpm4"}],["line",{x1:"12",x2:"12",y1:"20",y2:"4",key:"be30l9"}],["line",{x1:"6",x2:"6",y1:"20",y2:"14",key:"1r4le6"}]]);/**
149 * @license lucide-react v0.453.0 - ISC
150 *
151 * This source code is licensed under the ISC license.
152 * See the LICENSE file in the root directory of this source tree.
153 */const vte=ie("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);/**
154 * @license lucide-react v0.453.0 - ISC
155 *
156 * This source code is licensed under the ISC license.
157 * See the LICENSE file in the root directory of this source tree.
158 */const ut=ie("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
159 * @license lucide-react v0.453.0 - ISC
160 *
161 * This source code is licensed under the ISC license.
162 * See the LICENSE file in the root directory of this source tree.
163 */const Jt=ie("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
164 * @license lucide-react v0.453.0 - ISC
165 *
166 * This source code is licensed under the ISC license.
167 * See the LICENSE file in the root directory of this source tree.
168 */const Gv=ie("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
169 * @license lucide-react v0.453.0 - ISC
170 *
171 * This source code is licensed under the ISC license.
172 * See the LICENSE file in the root directory of this source tree.
173 */const Xs=ie("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
174 * @license lucide-react v0.453.0 - ISC
175 *
176 * This source code is licensed under the ISC license.
177 * See the LICENSE file in the root directory of this source tree.
178 */const Ps=ie("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
179 * @license lucide-react v0.453.0 - ISC
180 *
181 * This source code is licensed under the ISC license.
182 * See the LICENSE file in the root directory of this source tree.
183 */const ki=ie("Chrome",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["line",{x1:"21.17",x2:"12",y1:"8",y2:"8",key:"a0cw5f"}],["line",{x1:"3.95",x2:"8.54",y1:"6.06",y2:"14",key:"1kftof"}],["line",{x1:"10.88",x2:"15.46",y1:"21.94",y2:"14",key:"1ymyh8"}]]);/**
184 * @license lucide-react v0.453.0 - ISC
185 *
186 * This source code is licensed under the ISC license.
187 * See the LICENSE file in the root directory of this source tree.
188 */const Vs=ie("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
189 * @license lucide-react v0.453.0 - ISC
190 *
191 * This source code is licensed under the ISC license.
192 * See the LICENSE file in the root directory of this source tree.
193 */const nr=ie("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
194 * @license lucide-react v0.453.0 - ISC
195 *
196 * This source code is licensed under the ISC license.
197 * See the LICENSE file in the root directory of this source tree.
198 */const gn=ie("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
199 * @license lucide-react v0.453.0 - ISC
200 *
201 * This source code is licensed under the ISC license.
202 * See the LICENSE file in the root directory of this source tree.
203 */const w8=ie("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
204 * @license lucide-react v0.453.0 - ISC
205 *
206 * This source code is licensed under the ISC license.
207 * See the LICENSE file in the root directory of this source tree.
208 */const Di=ie("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
209 * @license lucide-react v0.453.0 - ISC
210 *
211 * This source code is licensed under the ISC license.
212 * See the LICENSE file in the root directory of this source tree.
213 */const j8=ie("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
214 * @license lucide-react v0.453.0 - ISC
215 *
216 * This source code is licensed under the ISC license.
217 * See the LICENSE file in the root directory of this source tree.
218 */const c4=ie("ClipboardList",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);/**
219 * @license lucide-react v0.453.0 - ISC
220 *
221 * This source code is licensed under the ISC license.
222 * See the LICENSE file in the root directory of this source tree.
223 */const vn=ie("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
224 * @license lucide-react v0.453.0 - ISC
225 *
226 * This source code is licensed under the ISC license.
227 * See the LICENSE file in the root directory of this source tree.
228 */const N8=ie("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/**
229 * @license lucide-react v0.453.0 - ISC
230 *
231 * This source code is licensed under the ISC license.
232 * See the LICENSE file in the root directory of this source tree.
233 */const d4=ie("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
234 * @license lucide-react v0.453.0 - ISC
235 *
236 * This source code is licensed under the ISC license.
237 * See the LICENSE file in the root directory of this source tree.
238 */const bte=ie("Cookie",[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]]);/**
239 * @license lucide-react v0.453.0 - ISC
240 *
241 * This source code is licensed under the ISC license.
242 * See the LICENSE file in the root directory of this source tree.
243 */const Xu=ie("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
244 * @license lucide-react v0.453.0 - ISC
245 *
246 * This source code is licensed under the ISC license.
247 * See the LICENSE file in the root directory of this source tree.
248 */const _2=ie("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
249 * @license lucide-react v0.453.0 - ISC
250 *
251 * This source code is licensed under the ISC license.
252 * See the LICENSE file in the root directory of this source tree.
253 */const wte=ie("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
254 * @license lucide-react v0.453.0 - ISC
255 *
256 * This source code is licensed under the ISC license.
257 * See the LICENSE file in the root directory of this source tree.
258 */const Gh=ie("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);/**
259 * @license lucide-react v0.453.0 - ISC
260 *
261 * This source code is licensed under the ISC license.
262 * See the LICENSE file in the root directory of this source tree.
263 */const Kv=ie("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
264 * @license lucide-react v0.453.0 - ISC
265 *
266 * This source code is licensed under the ISC license.
267 * See the LICENSE file in the root directory of this source tree.
268 */const jte=ie("Ear",[["path",{d:"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0",key:"1dfaln"}],["path",{d:"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4",key:"1qnva7"}]]);/**
269 * @license lucide-react v0.453.0 - ISC
270 *
271 * This source code is licensed under the ISC license.
272 * See the LICENSE file in the root directory of this source tree.
273 */const u4=ie("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);/**
274 * @license lucide-react v0.453.0 - ISC
275 *
276 * This source code is licensed under the ISC license.
277 * See the LICENSE file in the root directory of this source tree.
278 */const Nte=ie("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/**
279 * @license lucide-react v0.453.0 - ISC
280 *
281 * This source code is licensed under the ISC license.
282 * See the LICENSE file in the root directory of this source tree.
283 */const m4=ie("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
284 * @license lucide-react v0.453.0 - ISC
285 *
286 * This source code is licensed under the ISC license.
287 * See the LICENSE file in the root directory of this source tree.
288 */const Js=ie("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
289 * @license lucide-react v0.453.0 - ISC
290 *
291 * This source code is licensed under the ISC license.
292 * See the LICENSE file in the root directory of this source tree.
293 */const R1=ie("FileAudio",[["path",{d:"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"rslqgf"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0",key:"9f7x3i"}]]);/**
294 * @license lucide-react v0.453.0 - ISC
295 *
296 * This source code is licensed under the ISC license.
297 * See the LICENSE file in the root directory of this source tree.
298 */const kte=ie("FileCheck",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]]);/**
299 * @license lucide-react v0.453.0 - ISC
300 *
301 * This source code is licensed under the ISC license.
302 * See the LICENSE file in the root directory of this source tree.
303 */const Ste=ie("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",ke
303y:"1mlx9k"}]]);/**
304 * @license lucide-react v0.453.0 - ISC
305 *
306 * This source code is licensed under the ISC license.
307 * See the LICENSE file in the root directory of this source tree.
308 */const k8=ie("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
309 * @license lucide-react v0.453.0 - ISC
310 *
311 * This source code is licensed under the ISC license.
312 * See the LICENSE file in the root directory of this source tree.
313 */const Yv=ie("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]]);/**
314 * @license lucide-react v0.453.0 - ISC
315 *
316 * This source code is licensed under the ISC license.
317 * See the LICENSE file in the root directory of this source tree.
318 */const ei=ie("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/**
319 * @license lucide-react v0.453.0 - ISC
320 *
321 * This source code is licensed under the ISC license.
322 * See the LICENSE file in the root directory of this source tree.
323 */const S8=ie("Gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]);/**
324 * @license lucide-react v0.453.0 - ISC
325 *
326 * This source code is licensed under the ISC license.
327 * See the LICENSE file in the root directory of this source tree.
328 */const Zv=ie("GitCompare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);/**
329 * @license lucide-react v0.453.0 - ISC
330 *
331 * This source code is licensed under the ISC license.
332 * See the LICENSE file in the root directory of this source tree.
333 */const ti=ie("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
334 * @license lucide-react v0.453.0 - ISC
335 *
336 * This source code is licensed under the ISC license.
337 * See the LICENSE file in the root directory of this source tree.
338 */const h4=ie("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/**
339 * @license lucide-react v0.453.0 - ISC
340 *
341 * This source code is licensed under the ISC license.
342 * See the LICENSE file in the root directory of this source tree.
343 */const M2=ie("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
344 * @license lucide-react v0.453.0 - ISC
345 *
346 * This source code is licensed under the ISC license.
347 * See the LICENSE file in the root directory of this source tree.
348 */const Cte=ie("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
349 * @license lucide-react v0.453.0 - ISC
350 *
351 * This source code is licensed under the ISC license.
352 * See the LICENSE file in the root directory of this source tree.
353 */const f4=ie("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
354 * @license lucide-react v0.453.0 - ISC
355 *
356 * This source code is licensed under the ISC license.
357 * See the LICENSE file in the root directory of this source tree.
358 */const Pte=ie("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);/**
359 * @license lucide-react v0.453.0 - ISC
360 *
361 * This source code is licensed under the ISC license.
362 * See the LICENSE file in the root directory of this source tree.
363 */const Tte=ie("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/**
364 * @license lucide-react v0.453.0 - ISC
365 *
366 * This source code is licensed under the ISC license.
367 * See the LICENSE file in the root directory of this source tree.
368 */const C8=ie("LayoutGrid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);/**
369 * @license lucide-react v0.453.0 - ISC
370 *
371 * This source code is licensed under the ISC license.
372 * See the LICENSE file in the root directory of this source tree.
373 */const Ate=ie("LayoutList",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["path",{d:"M14 4h7",key:"3xa0d5"}],["path",{d:"M14 9h7",key:"1icrd9"}],["path",{d:"M14 15h7",key:"1mj8o2"}],["path",{d:"M14 20h7",key:"11slyb"}]]);/**
374 * @license lucide-react v0.453.0 - ISC
375 *
376 * This source code is licensed under the ISC license.
377 * See the LICENSE file in the root directory of this source tree.
378 */const O2=ie("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/**
379 * @license lucide-react v0.453.0 - ISC
380 *
381 * This source code is licensed under the ISC license.
382 * See the LICENSE file in the root directory of this source tree.
383 */const R2=ie("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
384 * @license lucide-react v0.453.0 - ISC
385 *
386 * This source code is licensed under the ISC license.
387 * See the LICENSE file in the root directory of this source tree.
388 */const Qv=ie("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/**
389 * @license lucide-react v0.453.0 - ISC
390 *
391 * This source code is licensed under the ISC license.
392 * See the LICENSE file in the root directory of this source tree.
393 */const P8=ie("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
394 * @license lucide-react v0.453.0 - ISC
395 *
396 * This source code is licensed under the ISC license.
397 * See the LICENSE file in the root directory of this source tree.
398 */const Ce=ie("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
399 * @license lucide-react v0.453.0 - ISC
400 *
401 * This source code is licensed under the ISC license.
402 * See the LICENSE file in the root directory of this source tree.
403 */const op=ie("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
404 * @license lucide-react v0.453.0 - ISC
405 *
406 * This source code is licensed under the ISC license.
407 * See the LICENSE file in the root directory of this source tree.
408 */const Ete=ie("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/**
409 * @license lucide-react v0.453.0 - ISC
410 *
411 * This source code is licensed under the ISC license.
412 * See the LICENSE file in the root directory of this source tree.
413 */const Ite=ie("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
414 * @license lucide-react v0.453.0 - ISC
415 *
416 * This source code is licensed under the ISC license.
417 * See the LICENSE file in the root directory of this source tree.
418 */const Ht=ie("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
419 * @license lucide-react v0.453.0 - ISC
420 *
421 * This source code is licensed under the ISC license.
422 * See the LICENSE file in the root directory of this source tree.
423 */const _te=ie("Medal",[["path",{d:"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15",key:"143lza"}],["path",{d:"M11 12 5.12 2.2",key:"qhuxz6"}],["path",{d:"m13 12 5.88-9.8",key:"hbye0f"}],["path",{d:"M8 7h8",key:"i86dvs"}],["circle",{cx:"12",cy:"17",r:"5",key:"qbz8iq"}],["path",{d:"M12 18v-2h-.5",key:"fawc4q"}]]);/**
424 * @license lucide-react v0.453.0 - ISC
425 *
426 * This source code is licensed under the ISC license.
427 * See the LICENSE file in the root directory of this source tree.
428 */const Mte=ie("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
429 * @license lucide-react v0.453.0 - ISC
430 *
431 * This source code is licensed under the ISC license.
432 * See the LICENSE file in the root directory of this source tree.
433 */const T8=ie("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/**
434 * @license lucide-react v0.453.0 - ISC
435 *
436 * This source code is licensed under the ISC license.
437 * See the LICENSE file in the root directory of this source tree.
438 */const Ote=ie("MessageSquarePlus",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M12 7v6",key:"lw1j43"}],["path",{d:"M9 10h6",key:"9gxzsh"}]]);/**
439 * @license lucide-react v0.453.0 - ISC
440 *
441 * This source code is licensed under the ISC license.
442 * See the LICENSE file in the root directory of this source tree.
443 */const tn=ie("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
444 * @license lucide-react v0.453.0 - ISC
445 *
446 * This source code is licensed under the ISC license.
447 * See the LICENSE file in the root directory of this source tree.
448 */const Ze=ie("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/**
449 * @license lucide-react v0.453.0 - ISC
450 *
451 * This source code is licensed under the ISC license.
452 * See the LICENSE file in the root directory of this source tree.
453 */const lp=ie("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
454 * @license lucide-react v0.453.0 - ISC
455 *
456 * This source code is licensed under the ISC license.
457 * See the LICENSE file in the root directory of this source tree.
458 */const A8=ie("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
459 * @license lucide-react v0.453.0 - ISC
460 *
461 * This source code is licensed under the ISC license.
462 * See the LICENSE file in the root directory of this source tree.
463 */const Rte=ie("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/**
464 * @license lucide-react v0.453.0 - ISC
465 *
466 * This source code is licensed under the ISC license.
467 * See the LICENSE file in the root directory of this source tree.
468 */const Fte=ie("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/**
469 * @license lucide-react v0.453.0 - ISC
470 *
471 * This source code is licensed under the ISC license.
472 * See the LICENSE file in the root directory of this source tree.
473 */const Dte=ie("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/**
474 * @license lucide-react v0.453.0 - ISC
475 *
476 * This source code is licensed under the ISC license.
477 * See the LICENSE file in the root directory of this source tree.
478 */const $o=ie("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
479 * @license lucide-react v0.453.0 - ISC
480 *
481 * This source code is licensed under the ISC license.
482 * See the LICENSE file in the root directory of this source tree.
483 */const p4=ie("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
484 * @license lucide-react v0.453.0 - ISC
485 *
486 * This source code is licensed under the ISC license.
487 * See the LICENSE file in the root directory of this source tree.
488 */const F2=ie("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]);/**
489 * @license lucide-react v0.453.0 - ISC
490 *
491 * This source code is licensed under the ISC license.
492 * See the LICENSE file in the root directory of this source tree.
493 */const $te=ie("Printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]]);/**
494 * @license lucide-react v0.453.0 - ISC
495 *
496 * This source code is licensed under the ISC license.
497 * See the LICENSE file in the root directory of this source tree.
498 */const Lte=ie("Puzzle",[["path",{d:"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z",key:"i0oyt7"}]]);/**
499 * @license lucide-react v0.453.0 - ISC
500 *
501 * This source code is licensed under the ISC license.
502 * See the LICENSE file in the root directory of this source tree.
503 */const _n=ie("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
504 * @license lucide-react v0.453.0 - ISC
505 *
506 * This source code is licensed under the ISC license.
507 * See the LICENSE file in the root directory of this source tree.
508 */const zte=ie("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/**
509 * @license lucide-react v0.453.0 - ISC
510 *
511 * This source code is licensed under the ISC license.
512 * See the LICENSE file in the root directory of this source tree.
513 */const Kh=ie("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
514 * @license lucide-react v0.453.0 - ISC
515 *
516 * This source code is licensed under the ISC license.
517 * See the LICENSE file in the root directory of this source tree.
518 */const Bte=ie("ScanText",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 8h8",key:"1jbsf9"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M7 16h6",key:"1vyc9m"}]]);/**
519 * @license lucide-react v0.453.0 - ISC
520 *
521 * This source code is licensed under the ISC license.
522 * See the LICENSE file in the root directory of this source tree.
523 */const Wte=ie("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
524 * @license lucide-react v0.453.0 - ISC
525 *
526 * This source code is licensed under the ISC license.
527 * See the LICENSE file in the root directory of this source tree.
528 */const ls=ie("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
529 * @license lucide-react v0.453.0 - ISC
530 *
531 * This source code is licensed under the ISC license.
532 * See the LICENSE file in the root directory of this source tree.
533 */const E8=ie("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/**
534 * @license lucide-react v0.453.0 - ISC
535 *
536 * This source code is licensed under the ISC license.
537 * See the LICENSE file in the root directory of this source tree.
538 */const Xv=ie("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
539 * @license lucide-react v0.453.0 - ISC
540 *
541 * This source code is licensed under the ISC license.
542 * See the LICENSE file in the root directory of this source tree.
543 */const Ko=ie("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
544 * @license lucide-react v0.453.0 - ISC
545 *
546 * This source code is licensed under the ISC license.
547 * See the LICENSE file in the root directory of this source tree.
548 */const Ute=ie("Share",[["path",{d:"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",key:"1b2hhj"}],["polyline",{points:"16 6 12 2 8 6",key:"m901s6"}],["line",{x1:"12",x2:"12",y1:"2",y2:"15",key:"1p0rca"}]]);/**
549 * @license lucide-react v0.453.0 - ISC
550 *
551 * This source code is licensed under the ISC license.
552 * See the LICENSE file in the root directory of this source tree.
553 */const Ju=ie("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
553y:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
554 * @license lucide-react v0.453.0 - ISC
555 *
556 * This source code is licensed under the ISC license.
557 * See the LICENSE file in the root directory of this source tree.
558 */const Pr=ie("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
559 * @license lucide-react v0.453.0 - ISC
560 *
561 * This source code is licensed under the ISC license.
562 * See the LICENSE file in the root directory of this source tree.
563 */const F1=ie("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
564 * @license lucide-react v0.453.0 - ISC
565 *
566 * This source code is licensed under the ISC license.
567 * See the LICENSE file in the root directory of this source tree.
568 */const oc=ie("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
569 * @license lucide-react v0.453.0 - ISC
570 *
571 * This source code is licensed under the ISC license.
572 * See the LICENSE file in the root directory of this source tree.
573 */const cw=ie("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
574 * @license lucide-react v0.453.0 - ISC
575 *
576 * This source code is licensed under the ISC license.
577 * See the LICENSE file in the root directory of this source tree.
578 */const cp=ie("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
579 * @license lucide-react v0.453.0 - ISC
580 *
581 * This source code is licensed under the ISC license.
582 * See the LICENSE file in the root directory of this source tree.
583 */const em=ie("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/**
584 * @license lucide-react v0.453.0 - ISC
585 *
586 * This source code is licensed under the ISC license.
587 * See the LICENSE file in the root directory of this source tree.
588 */const Vte=ie("Stethoscope",[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]]);/**
589 * @license lucide-react v0.453.0 - ISC
590 *
591 * This source code is licensed under the ISC license.
592 * See the LICENSE file in the root directory of this source tree.
593 */const rr=ie("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
594 * @license lucide-react v0.453.0 - ISC
595 *
596 * This source code is licensed under the ISC license.
597 * See the LICENSE file in the root directory of this source tree.
598 */const D2=ie("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);/**
599 * @license lucide-react v0.453.0 - ISC
600 *
601 * This source code is licensed under the ISC license.
602 * See the LICENSE file in the root directory of this source tree.
603 */const qte=ie("ToggleLeft",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"8",cy:"12",r:"2",key:"1nvbw3"}]]);/**
604 * @license lucide-react v0.453.0 - ISC
605 *
606 * This source code is licensed under the ISC license.
607 * See the LICENSE file in the root directory of this source tree.
608 */const Hte=ie("ToggleRight",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}]]);/**
609 * @license lucide-react v0.453.0 - ISC
610 *
611 * This source code is licensed under the ISC license.
612 * See the LICENSE file in the root directory of this source tree.
613 */const Yo=ie("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}
613],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
614 * @license lucide-react v0.453.0 - ISC
615 *
616 * This source code is licensed under the ISC license.
617 * See the LICENSE file in the root directory of this source tree.
618 */const kc=ie("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]);/**
619 * @license lucide-react v0.453.0 - ISC
620 *
621 * This source code is licensed under the ISC license.
622 * See the LICENSE file in the root directory of this source tree.
623 */const it=ie("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
624 * @license lucide-react v0.453.0 - ISC
625 *
626 * This source code is licensed under the ISC license.
627 * See the LICENSE file in the root directory of this source tree.
628 */const pa=ie("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
629 * @license lucide-react v0.453.0 - ISC
630 *
631 * This source code is licensed under the ISC license.
632 * See the LICENSE file in the root directory of this source tree.
633 */const Zo=ie("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);/**
634 * @license lucide-react v0.453.0 - ISC
635 *
636 * This source code is licensed under the ISC license.
637 * See the LICENSE file in the root directory of this source tree.
638 */const I8=ie("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);/**
639 * @license lucide-react v0.453.0 - ISC
640 *
641 * This source code is licensed under the ISC license.
642 * See the LICENSE file in the root directory of this source tree.
643 */const Gte=ie("Unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]);/**
644 * @license lucide-react v0.453.0 - ISC
645 *
646 * This source code is licensed under the ISC license.
647 * See the LICENSE file in the root directory of this source tree.
648 */const Pd=ie("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/**
649 * @license lucide-react v0.453.0 - ISC
650 *
651 * This source code is licensed under the ISC license.
652 * See the LICENSE file in the root directory of this source tree.
653 */const dp=ie("UserPlus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
654 * @license lucide-react v0.453.0 - ISC
655 *
656 * This source code is licensed under the ISC license.
657 * See the LICENSE file in the root directory of this source tree.
658 */const To=ie("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
659 * @license lucide-react v0.453.0 - ISC
660 *
661 * This source code is licensed under the ISC license.
662 * See the LICENSE file in the root directory of this source tree.
663 */const Wt=ie("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
664 * @license lucide-react v0.453.0 - ISC
665 *
666 * This source code is licensed under the ISC license.
667 * See the LICENSE file in the root directory of this source tree.
668 */const ca=ie("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);/**
669 * @license lucide-react v0.453.0 - ISC
670 *
671 * This source code is licensed under the ISC license.
672 * See the LICENSE file in the root directory of this source tree.
673 */const Jv=ie("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);/**
674 * @license lucide-react v0.453.0 - ISC
675 *
676 * This source code is licensed under the ISC license.
677 * See the LICENSE file in the root directory of this source tree.
678 */const g4=ie("VolumeX",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]);/**
679 * @license lucide-react v0.453.0 - ISC
680 *
681 * This source code is licensed under the ISC license.
682 * See the LICENSE file in the root directory of this source tree.
683 */const Kte=ie("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);/**
684 * @license lucide-react v0.453.0 - ISC
685 *
686 * This source code is licensed under the ISC license.
687 * See the LICENSE file in the root directory of this source tree.
688 */const $2=ie("Waves",[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]]);/**
689 * @license lucide-react v0.453.0 - ISC
690 *
691 * This source code is licensed under the ISC license.
692 * See the LICENSE file in the root directory of this source tree.
693 */const Yte=ie("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}
vendor: 8,692 bytes, lines 693-708
693],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/**
694 * @license lucide-react v0.453.0 - ISC
695 *
696 * This source code is licensed under the ISC license.
697 * See the LICENSE file in the root directory of this source tree.
698 */const Zte=ie("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
699 * @license lucide-react v0.453.0 - ISC
700 *
701 * This source code is licensed under the ISC license.
702 * See the LICENSE file in the root directory of this source tree.
703 */const Ra=ie("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
704 * @license lucide-react v0.453.0 - ISC
705 *
706 * This source code is licensed under the ISC license.
707 * See the LICENSE file in the root directory of this source tree.
708 */const Ur=ie("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),L2="-",Qte=e=>{const t=Jte(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:o=>{const l=o.split(L2);return l[0]===""&&l.length!==1&&l.shift(),_8(l,t)||Xte(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&a[o]?[...c,...a[o]]:c}}},_8=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const r=e[0],a=t.nextPart.get(r),s=a?_8(e.slice(1),a):void 0;if(s)return s;if(t.validators.length===0)return;const i=e.join(L2);return(o=t.validators.find(({validator:l})=>l(i)))==null?void 0:o.classGroupId},x4=/^\[(.+)\]$/,Xte=e=>{if(x4.test(e)){const t=x4.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},Jte=e=>{const{theme:t,prefix:r}=e,a={nextPart:new Map,validators:[]};return tre(Object.entries(e.classGroups),r).forEach(([i,o])=>{D1(o,a,i,t)}),a},D1=(e,t,r,a)=>{e.forEach(s=>{if(typeof s=="string"){const i=s===""?t:y4(t,s);i.classGroupId=r;return}if(typeof s=="function"){if(ere(s)){D1(s(a),t,r,a);return}t.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([i,o])=>{D1(o,y4(t,i),r,a)})})},y4=(e,t)=>{let r=e;return t.split(L2).forEach(a=>{r.nextPart.has(a)||r.nextPart.set(a,{nextPart:new Map,validators:[]}),r=r.nextPart.get(a)}),r},ere=e=>e.isThemeGetter,tre=(e,t)=>t?e.map(([r,a])=>{const s=a.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([o,l])=>[t+o,l])):i);return[r,s]}):e,rre=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,a=new Map;const s=(i,o)=>{r.set(i,o),t++,t>e&&(t=0,a=r,r=new Map)};return{get(i){let o=r.get(i);if(o!==void 0)return o;if((o=a.get(i))!==void 0)return s(i,o),o},set(i,o){r.has(i)?r.set(i,o):s(i,o)}}},M8="!",nre=e=>{const{separator:t,experimentalParseClassName:r}=e,a=t.length===1,s=t[0],i=t.length,o=l=>{const c=[];let d=0,u=0,m;for(let p=0;p<l.length;p++){let x=l[p];if(d===0){if(x===s&&(a||l.slice(p,p+i)===t)){c.push(l.slice(u,p)),u=p+i;continue}if(x==="/"){m=p;continue}}x==="["?d++:x==="]"&&d--}const h=c.length===0?l:l.substring(u),f=h.startsWith(M8),b=f?h.substring(1):h,g=m&&m>u?m-u:void 0;return{modifiers:c,hasImportantModifier:f,baseClassName:b,maybePostfixModifierPosition:g}};return r?l=>r({className:l,parseClassName:o}):o},are=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(a=>{a[0]==="["?(t.push(...r.sort(),a),r=[]):r.push(a)}),t.push(...r.sort()),t},sre=e=>({cache:rre(e.cacheSize),parseClassName:nre(e),...Qte(e)}),ire=/\s+/,ore=(e,t)=>{const{parseClassName:r,getClassGroupId:a,getConflictingClassGroupIds:s}=t,i=[],o=e.trim().split(ire);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:m,baseClassName:h,maybePostfixModifierPosition:f}=r(d);let b=!!f,g=a(b?h.substring(0,f):h);if(!g){if(!b){l=d+(l.length>0?" "+l:l);continue}if(g=a(h),!g){l=d+(l.length>0?" "+l:l);continue}b=!1}const p=are(u).join(":"),x=m?p+M8:p,v=x+g;if(i.includes(v))continue;i.push(v);const w=s(g,b);for(let N=0;N<w.length;++N){const j=w[N];i.push(x+j)}l=d+(l.length>0?" "+l:l)}return l};function lre(){let e=0,t,r,a="";for(;e<arguments.length;)(t=arguments[e++])&&(r=O8(t))&&(a&&(a+=" "),a+=r);return a}const O8=e=>{if(typeof e=="string")return e;let t,r="";for(let a=0;a<e.length;a++)e[a]&&(t=O8(e[a]))&&(r&&(r+=" "),r+=t);return r};function cre(e,...t){let r,a,s,i=o;function o(c){const d=t.reduce((u,m)=>m(u),e());return r=sre(d),a=r.cache.get,s=r.cache.set,i=l,l(c)}function l(c){const d=a(c);if(d)return d;const u=ore(c,r);return s(c,u),u}return function(){return i(lre.apply(null,arguments))}}const Yt=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},R8=/^\[(?:([a-z-]+):)?(.+)\]$/i,dre=/^\d+\/\d+$/,ure=new Set(["px","full","screen"]),mre=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hre=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fre=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,pre=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gre=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,oi=e=>Td(e)||ure.has(e)||dre.test(e),ro=e=>tm(e,"length",kre),Td=e=>!!e&&!Number.isNaN(Number(e)),dw=e=>tm(e,"number",Td),Em=e=>!!e&&Number.isInteger(Number(e)),xre=e=>e.endsWith("%")&&Td(e.slice(0,-1)),et=e=>R8.test(e),no=e=>mre.test(e),yre=new Set(["length","size","percentage"]),vre=e=>tm(e,yre,F8),bre=e=>tm(e,"position",F8),wre=new Set(["image","url"]),jre=e=>tm(e,wre,Cre),Nre=e=>tm(e,"",Sre),Im=()=>!0,tm=(e,t,r)=>{const a=R8.exec(e);return a?a[1]?typeof t=="string"?a[1]===t:t.has(a[1]):r(a[2]):!1},kre=e=>hre.test(e)&&!fre.test(e),F8=()=>!1,Sre=e=>pre.test(e),Cre=e=>gre.test(e),Pre=()=>{const e=Yt("colors"),t=Yt("spacing"),r=Yt("blur"),a=Yt("brightness"),s=Yt("borderColor"),i=Yt("borderRadius"),o=Yt("borderSpacing"),l=Yt("borderWidth"),c=Yt("contrast"),d=Yt("grayscale"),u=Yt("hueRotate"),m=Yt("invert"),h=Yt("gap"),f=Yt("gradientColorStops"),b=Yt("gradientColorStopPositions"),g=Yt("inset"),p=Yt("margin"),x=Yt("opacity"),v=Yt("padding"),w=Yt("saturate"),N=Yt("scale"),j=Yt("sepia"),k=Yt("skew"),S=Yt("space"),C=Yt("translate"),A=()=>["auto","contain","none"],T=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto",et,t],I=()=>[et,t],R=()=>["",oi,ro],P=()=>["auto",Td,et],M=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],O=()=>["solid","dashed","dotted","double","none"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],F=()=>["","0",et],U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Z=()=>[Td,et];return{cacheSize:500,separator:":",theme:{colors:[Im],spacing:[oi,ro],blur:["none","",no,et],brightness:Z(),borderColor:[e],borderRadius:["none","","full",no,et],borderSpacing:I(),borderWidth:R(),contrast:Z(),grayscale:F(),hueRotate:Z(),invert:F(),gap:I(),gradientColorStops:[e],gradientColorStopPositions:[xre,ro],inset:E(),margin:E(),opacity:Z(),padding:I(),saturate:Z(),scale:Z(),sepia:F(),skew:Z(),space:I(),translate:I()},classGroups:{aspect:[{aspect:["auto","square","video",et]}],container:["container"],columns:[{columns:[no]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...M(),et]}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}
vendor: 9,951 bytes, line 708
708],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Em,et]}],basis:[{basis:E()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",et]}],grow:[{grow:F()}],shrink:[{shrink:F()}],order:[{order:["first","last","none",Em,et]}],"grid-cols":[{"grid-cols":[Im]}],"col-start-end":[{col:["auto",{span:["full",Em,et]},et]}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":[Im]}],"row-start-end":[{row:["auto",{span:[Em,et]},et]}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",et]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",et]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[p]}],mx:[{mx:[p]}],my:[{my:[p]}],ms:[{ms:[p]}],me:[{me:[p]}],mt:[{mt:[p]}],mr:[{mr:[p]}],mb:[{mb:[p]}],ml:[{ml:[p]}],"space-x":[{"space-x":[S]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[S]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",et,t]}],"min-w":[{"min-w":[et,t,"min","max","fit"]}],"max-w":[{"max-w":[et,t,"none","full","min","max","fit","prose",{screen:[no]},no]}],h:[{h:[et,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[et,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[et,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[et,t,"auto","min","max","fit"]}],"font-size":[{text:["base",no,ro]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",dw]}],"font-family":[{font:[Im]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",et]}],"line-clamp":[{"line-clamp":["none",Td,dw]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",oi,et]}],"list-image":[{"list-image":["none",et]}],"list-style-type":[{list:["none","disc","decimal",et]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[x]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[x]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",oi,ro]}],"underline-offset":[{"underline-offset":["auto",oi,et]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",et]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",et]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[x]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...M(),bre]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",vre]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},jre]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[b]}],"gradient-via-pos":[{via:[b]}],"gradient-to-pos":[{to:[b]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[x]}],"border-style":[{border:[...O(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[x]}],"divide-style":[{divide:O()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...O()]}],"outline-offset":[{"outline-offset":[oi,et]}],"outline-w":[{outline:[oi,ro]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[x]}],"ring-offset-w":[{"ring-offset":[oi,ro]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",no,Nre]}],"shadow-color":[{shadow:[Im]}],opacity:[{opacity:[x]}],"mix-blend":[{"mix-blend":[...$(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":$()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[a]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",no,et]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[m]}],saturate:[{saturate:[w]}],sepia:[{sepia:[j]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[a]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[x]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",et]}],duration:[{duration:Z()}],ease:[{ease:["linear","in","out","in-out",et]}],delay:[{delay:Z()}],animate:[{animate:["none","spin","ping","pulse","bounce",et]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[N]}],"scale-x":[{"scale-x":[N]}],"scale-y":[{"scale-y":[N]}],rotate:[{rotate:[Em,et]}],"translate-x":[{"translate-x":[C]}],"translate-y":[{"translate-y":[C]}],"skew-x":[{"skew-x":[k]}],"skew-y":[{"skew-y":[k]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",et]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",et]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
vendor: 4,657 bytes, line 708
708],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",et]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[oi,ro,dw]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Tre=cre(Pre);function _e(...e){return Tre(vt(e))}const Are=mte,D8=y.forwardRef(({className:e,...t},r)=>n.jsx(m8,{ref:r,className:_e("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));D8.displayName=m8.displayName;const Ere=Qu("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),$8=y.forwardRef(({className:e,variant:t,...r},a)=>n.jsx(h8,{ref:a,className:_e(Ere({variant:t}),e),...r}));$8.displayName=h8.displayName;const Ire=y.forwardRef(({className:e,...t},r)=>n.jsx(g8,{ref:r,className:_e("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));Ire.displayName=g8.displayName;const L8=y.forwardRef(({className:e,...t},r)=>n.jsx(x8,{ref:r,className:_e("absolute right-2 top-2 rounded-md p-1 text-foreground
vendor: 3,529 bytes, line 708
708/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:n.jsx(Ra,{className:"h-4 w-4"})}));L8.displayName=x8.displayName;const z8=y.forwardRef(({className:e,...t},r)=>n.jsx(f8,{ref:r,className:_e("text-sm font-semibold",e),...t}));z8.displayName=f8.displayName;const B8=y.forwardRef(({className:e,...t},r)=>n.jsx(p8,{ref:r,className:_e("text-sm opacity-90",e),...t}));B8.displayName=p8.displayName;function _re(){const{toasts:e}=dt();return n.jsxs(Are,{children:[e.map(function({id:t,title:r,description:a,action:s,...i}){return n.jsxs($8,{...i,children:[n.jsxs("div",{className:"grid gap-1",children:[r&&n.jsx(z8,{children:r}),a&&n.jsx(B8,{children:a})]}),s,n.jsx(L8,{})]},t)}),n.jsx(D8,{})]})}var Mre=v6[" useId ".trim().toString()]||(()=>{}),Ore=0;function Gn(e){const[t,r]=y.useState(Mre());return Ar(()=>{r(a=>a??String(Ore++))},[e]),t?`radix-${t}`:""}const Rre=["top","right","bottom","left"],Qo=Math.min,aa=Math.max,$x=Math.round,dg=Math.floor,$s=e=>({x:e,y:e}),Fre={left:"right",right:"left",bottom:"top",top:"bottom"},Dre={start:"end",end:"start"};function $1(e,t,r){return aa(e,Qo(t,r))}function $i(e,t){return typeof e=="function"?e(t):e}function Li(e){return e.split("-")[0]}function rm(e){return e.split("-")[1]}function z2(e){return e==="x"?"y":"x"}function B2(e){return e==="y"?"height":"width"}function Xo(e){return["top","bottom"].includes(Li(e))?"y":"x"}function W2(e){return z2(Xo(e))}function $re(e,t,r){r===void 0&&(r=!1);const a=rm(e),s=W2(e),i=B2(s);let o=s==="x"?a===(r?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(o=Lx(o)),[o,Lx(o)]}function Lre(e){const t=Lx(e);return[L1(e),t,L1(t)]}function L1(e){return e.replace(/start|end/g,t=>Dre[t])}function zre(e,t,r){const a=["left","right"],s=["right","left"],i=["top","bottom"],o=["bottom","top"];switch(e){case"top":case"bottom":return r?t?s:a:t?a:s;case"left":case"right":return t?i:o;default:return[]}}function Bre(e,t,r,a){const s=rm(e);let i=zre(Li(e),r==="start",a);return s&&(i=i.map(o=>o+"-"+s),t&&(i=i.concat(i.map(L1)))),i}function Lx(e){return e.replace(/left|right|bottom|top/g,t=>Fre[t])}function Wre(e){return{top:0,right:0,bottom:0,left:0,...e}}function W8(e){return typeof e!="number"?Wre(e):{top:e,right:e,bottom:e,left:e}}function zx(e){const{x:t,y:r,width:a,height:s}=e;return{width:a,height:s,top:r,left:t,right:t+a,bottom:r+s,x:t,y:r}}function v4(e,t,r){let{reference:a,floating:s}=e;const i=Xo(t),o=W2(t),l=B2(o),c=Li(t),d=i==="y",u=a.x+a.width/2-s.width/2,m=a.y+a.height/2-s.height/2,h=a[l]/2-s[l]/2;let f;switch(c){case"top":f={x:u,y:a.y-s.height};break;case"bottom":f={x:u,y:a.y+a.height};break;case"right":f={x:a.x+a.width,y:m};break;case"left":f={x:a.x-s.width,y:m};break;default:f={x:a.x,y:a.y}}switch(rm(t)){case"start":f[o]-=h*(r&&d?-1:1);break;case"end":f[o]+=h*(r&&d?-1:1);break}return f}const Ure=async(e,t,r)=>{const{placement:a="bottom",strategy:s="absolute",middleware:i=[],platform:o}=r,l=i.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:s}),{x:u,y:m}=v4(d,a,c),h=a,f={},b=0;for(let g=0;g<l.length;g++){const{name:p,fn:x}=l[g],{x:v,y:w,data:N,reset:j}=await x({x:u,y:m,initialPlacement:a,placement:h,strategy:s,middlewareData:f,re
vendor: 9,456 bytes, line 708
708cts:d,platform:o,elements:{reference:e,floating:t}});u=v??u,m=w??m,f={...f,[p]:{...f[p],...N}},j&&b<=50&&(b++,typeof j=="object"&&(j.placement&&(h=j.placement),j.rects&&(d=j.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:s}):j.rects),{x:u,y:m}=v4(d,h,c)),g=-1)}return{x:u,y:m,placement:h,strategy:s,middlewareData:f}};async function Yh(e,t){var r;t===void 0&&(t={});const{x:a,y:s,platform:i,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:h=!1,padding:f=0}=$i(t,e),b=W8(f),p=l[h?m==="floating"?"reference":"floating":m],x=zx(await i.getClippingRect({element:(r=await(i.isElement==null?void 0:i.isElement(p)))==null||r?p:p.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),v=m==="floating"?{x:a,y:s,width:o.floating.width,height:o.floating.height}:o.reference,w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),N=await(i.isElement==null?void 0:i.isElement(w))?await(i.getScale==null?void 0:i.getScale(w))||{x:1,y:1}:{x:1,y:1},j=zx(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:v,offsetParent:w,strategy:c}):v);return{top:(x.top-j.top+b.top)/N.y,bottom:(j.bottom-x.bottom+b.bottom)/N.y,left:(x.left-j.left+b.left)/N.x,right:(j.right-x.right+b.right)/N.x}}const Vre=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:a,placement:s,rects:i,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=$i(e,t)||{};if(d==null)return{};const m=W8(u),h={x:r,y:a},f=W2(s),b=B2(f),g=await o.getDimensions(d),p=f==="y",x=p?"top":"left",v=p?"bottom":"right",w=p?"clientHeight":"clientWidth",N=i.reference[b]+i.reference[f]-h[f]-i.floating[b],j=h[f]-i.reference[f],k=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let S=k?k[w]:0;(!S||!await(o.isElement==null?void 0:o.isElement(k)))&&(S=l.floating[w]||i.floating[b]);const C=N/2-j/2,A=S/2-g[b]/2-1,T=Qo(m[x],A),E=Qo(m[v],A),I=T,R=S-g[b]-E,P=S/2-g[b]/2+C,M=$1(I,P,R),O=!c.arrow&&rm(s)!=null&&P!==M&&i.reference[b]/2-(P<I?T:E)-g[b]/2<0,$=O?P<I?P-I:P-R:0;return{[f]:h[f]+$,data:{[f]:M,centerOffset:P-M-$,...O&&{alignmentOffset:$}},reset:O}}}),qre=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,a;const{placement:s,middlewareData:i,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:h,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:g=!0,...p}=$i(e,t);if((r=i.arrow)!=null&&r.alignmentOffset)return{};const x=Li(s),v=Xo(l),w=Li(l)===l,N=await(c.isRTL==null?void 0:c.isRTL(d.floating)),j=h||(w||!g?[Lx(l)]:Lre(l)),k=b!=="none";!h&&k&&j.push(...Bre(l,g,b,N));const S=[l,...j],C=await Yh(t,p),A=[];let T=((a=i.flip)==null?void 0:a.overflows)||[];if(u&&A.push(C[x]),m){const P=$re(s,o,N);A.push(C[P[0]],C[P[1]])}if(T=[...T,{placement:s,overflows:A}],!A.every(P=>P<=0)){var E,I;const P=(((E=i.flip)==null?void 0:E.index)||0)+1,M=S[P];if(M)return{data:{index:P,overflows:T},reset:{placement:M}};let O=(I=T.filter($=>$.overflows[0]<=0).sort(($,_)=>$.overflows[1]-_.overflows[1])[0])==null?void 0:I.placement;if(!O)switch(f){case"bestFit":{var R;const $=(R=T.filter(_=>{if(k){const F=Xo(_.placement);return F===v||F==="y"}return!0}).map(_=>[_.placement,_.overflows.filter(F=>F>0).reduce((F,U)=>F+U,0)]).sort((_,F)=>_[1]-F[1])[0])==null?void 0:R[0];$&&(O=$);break}case"initialPlacement":O=l;break}if(s!==O)return{reset:{placement:O}}}return{}}}};function b4(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function w4(e){return Rre.some(t=>e[t]>=0)}const Hre=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:a="referenceHidden",...s}=$i(e,t);switch(a){case"referenceHidden":{const i=await Yh(t,{...s,elementContext:"reference"}),o=b4(i,r.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:w4(o)}}}case"escaped":{const i=await Yh(t,{...s,altBoundary:!0}),o=b4(i,r.floating);return{data:{escapedOffsets:o,escaped:w4(o)}}}default:return{}}}}};async function Gre(e,t){const{placement:r,platform:a,elements:s}=e,i=await(a.isRTL==null?void 0:a.isRTL(s.floating)),o=Li(r),l=rm(r),c=Xo(r)==="y",d=["left","top"].includes(o)?-1:1,u=i&&c?-1:1,m=$i(t,e);let{mainAxis:h,crossAxis:f,alignmentAxis:b}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return l&&typeof b=="number"&&(f=l==="end"?b*-1:b),c?{x:f*u,y:h*d}:{x:h*d,y:f*u}}const Kre=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,a;const{x:s,y:i,placement:o,middlewareData:l}=t,c=await Gre(t,e);return o===((r=l.offset)==null?void 0:r.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:s+c.x,y:i+c.y,data:{...c,placement:o}}}}},Yre=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:a,placement:s}=t,{mainAxis:i=!0,crossAxis:o=!1,limiter:l={fn:p=>{let{x,y:v}=p;return{x,y:v}}},...c}=$i(e,t),d={x:r,y:a},u=await Yh(t,c),m=Xo(Li(s)),h=z2(m);let f=d[h],b=d[m];if(i){const p=h==="y"?"top":"left",x=h==="y"?"bottom":"right",v=f+u[p],w=f-u[x];f=$1(v,f,w)}if(o){const p=m==="y"?"top":"left",x=m==="y"?"bottom":"right",v=b+u[p],w=b-u[x];b=$1(v,b,w)}const g=l.fn({...t,[h]:f,[m]:b});return{...g,data:{x:g.x-r,y:g.y-a,enabled:{[h]:i,[m]:o}}}}}},Zre=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:a,placement:s,rects:i,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=$i(e,t),u={x:r,y:a},m=Xo(s),h=z2(m);let f=u[h],b=u[m];const g=$i(l,t),p=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const w=h==="y"?"height":"width",N=i.reference[h]-i.floating[w]+p.mainAxis,j=i.reference[h]+i.reference[w]-p.mainAxis;f<N?f=N:f>j&&(f=j)}if(d){var x,v;const w=h==="y"?"width":"height",N=["top","left"].includes(Li(s)),j=i.reference[m]-i.floating[w]+(N&&((x=o.offset)==null?void 0:x[m])||0)+(N?0:p.crossAxis),k=i.reference[m]+i.reference[w]+(N?0:((v=o.offset)==null?void 0:v[m])||0)-(N?p.crossAxis:0);b<j?b=j:b>k&&(b=k)}return{[h]:f,[m]:b}}}},Qre=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,a;const{placement:s,rects:i,platform:o,elements:l}=t,{apply:c=()=>{},...d}=$i(e,t),u=await Yh(t,d),m=Li(s),h=rm(s),f=Xo(s)==="y",{width:b,height:g}=i.floating;let p,x;m==="top"||m==="bottom"?(p=m,x=h===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(x=m,p=h==="end"?"top":"bottom");const v=g-u.top-u.bottom,w=b-u.left-u.right,N=Qo(g-u[p],v),j=Qo(b-u[x],w),k=!t.middlewareData.shift;let S=N,C=j;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(C=w),(a=t.middlewareData.shift)!=null&&a.enabled.y&&(S=v),k&&!h){const T=aa(u.left,0),E=aa(u.right,0),I=aa(u.top,0),R=aa(u.bottom,0);f?C=b-2*(T!==0||E!==0?T+E:aa(u.left,u.right)):S=g-2*(I!==0||R!==0?I+R:aa(u.top,u.bottom))}await c({...t,availableWidth:C,availableHeight:S});const A=await o.getDimensions(l.floating);return b!==A.width||g!==A.height?{reset:{rects:!0}}:{}}}};function eb(){return typeof window<"u"}function nm(e){return U8(e)?(e.nodeName||"").toLowerCase():"#document"}function da(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ri(e){var t;return(t=(U8(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function U8(e){return eb()?e instanceof Node||e instanceof da(e).Node:!1}function ps(e){return eb()?e instanceof Element||e instanceof da(e).Element:!1}function qs(e){return eb()?e instanceof HTMLElement||e instanceof da(e).HTMLElement:!1}function j4(e){return!eb()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof da(e).ShadowRoot}function up(e){const{overflow:t,overflowX:r,overflowY:a,display:s}=gs(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+r)&&!["inline","contents"].includes(s)}function Xre(e){return["table","td","th"].includes(nm(e))}function tb(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function U2(e){const t=V2(),r=ps(e)?gs(e):e;return["transform","translate","scale","rotate","perspective"].some(a=>r[a]?r[a]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(a=>(r.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(r.contain||"").includes(a))}function Jre(e){let t=Jo(e);for(;qs(t)&&!du(t);){if(U2(t))return t;if(tb(t))return null;t=Jo(t)}return null}function V2(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function du(e){return["html","body","#document"].includes(nm(e))}function gs(e){return da(e).getComputedStyle(e)}function rb(e){return ps(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Jo(e){if(nm(e)==="html")return e;const t=e.assignedSlot||e.parentNode||j4(e)&&e.host||ri(e);return j4(t)?t.host:t}function V8(e){const t=Jo(e);return du(t)?e.ownerDocument?e.ownerDocument.body:e.body:qs(t)&&up(t)?t:V8(t)}function Zh(e,t,r){var a;t===void 0&&(t=[]),r===void 0&&(r=!0);const s=V8(e),i=s===((a=e.ownerDocument)==null?void 0:a.body),o=da(s);if(i){const l=z1(o);
vendor: 4,892 bytes, line 708
708return t.concat(o,o.visualViewport||[],up(s)?s:[],l&&r?Zh(l):[])}return t.concat(s,Zh(s,[],r))}function z1(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function q8(e){const t=gs(e);let r=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const s=qs(e),i=s?e.offsetWidth:r,o=s?e.offsetHeight:a,l=$x(r)!==i||$x(a)!==o;return l&&(r=i,a=o),{width:r,height:a,$:l}}function q2(e){return ps(e)?e:e.contextElement}function Ad(e){const t=q2(e);if(!qs(t))return $s(1);const r=t.getBoundingClientRect(),{width:a,height:s,$:i}=q8(t);let o=(i?$x(r.width):r.width)/a,l=(i?$x(r.height):r.height)/s;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const ene=$s(0);function H8(e){const t=da(e);return!V2()||!t.visualViewport?ene:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function tne(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==da(e)?!1:t}function lc(e,t,r,a){t===void 0&&(t=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),i=q2(e);let o=$s(1);t&&(a?ps(a)&&(o=Ad(a)):o=Ad(e));const l=tne(i,r,a)?H8(i):$s(0);let c=(s.left+l.x)/o.x,d=(s.top+l.y)/o.y,u=s.width/o.x,m=s.height/o.y;if(i){const h=da(i),f=a&&ps(a)?da(a):a;let b=h,g=z1(b);for(;g&&a&&f!==b;){const p=Ad(g),x=g.getBoundingClientRect(),v=gs(g),w=x.left+(g.clientLeft+parseFloat(v.paddingLeft))*p.x,N=x.top+(g.clientTop+parseFloat(v.paddingTop))*p.y;c*=p.x,d*=p.y,u*=p.x,m*=p.y,c+=w,d+=N,b=da(g),g=z1(b)}}return zx({width:u,height:m,x:c,y:d})}function H2(e,t){const r=rb(e).scrollLeft;return t?t.left+r:lc(ri(e)).left+r}function G8(e,t,r){r===void 0&&(r=!1);const a=e.getBoundingClientRect(),s=a.left+t.scrollLeft-(r?0:H2(e,a)),i=a.top+t.scrollTop;return{x:s,y:i}}function rne(e){let{elements:t,rect:r,offsetParent:a,strategy:s}=e;const i=s==="fixed",o=ri(a),l=t?tb(t.floating):!1;if(a===o||l&&i)return r;let c={scrollLeft:0,scrollTop:0},d=$s(1);const u=$s(0),m=qs(a);if((m||!m&&!i)&&((nm(a)!=="body"||up(o))&&(c=rb(a)),qs(a))){const f=lc(a);d=Ad(a),u.x=f.x+a.clientLeft,u.y=f.y+a.clientTop}const h=o&&!m&&!i?G8(o,c,!0):$s(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+u.x+h.x,y:r.y*d.y-c.scrollTop*d.y+u.y+h.y}}function nne(e){return Array.from(e.getClientRects())}function ane(e){const t=ri(e),r=rb(e),a=e.ownerDocument.body,s=aa(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),i=aa(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let o=-r.scrollLeft+H2(e);const l=-r.scrollTop;return gs(a).direction==="rtl"&&(o+=aa(t.clientWidth,a.clientWidth)-s),{width:s,height:i,x:o,y:l}}function sne(e,t){const r=da(e),a=ri(e),s=r.visualViewport;let i=a.clientWidth,o=a.clientHeight,l=0,c=0;if(s){i=s.width,o=s.height;const d=V2();(!d||d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:i,height:o,x:l,y:c}}function ine(e,t){const r=lc(e,!0,t==="fixed"),a=r.top+e.clientTop,s=r.left+e.clientLeft,i=qs(e)?Ad(e):$s(1),o=e.clientWidth*i.x,l=e.clientHeight*i.y,c=s*i.x,d=a*i.y;return{width:o,height:l,x:c,y:d}}function N4(e,t,r){let a;if(t==="viewport")a=sne(e,r);else if(t==="document")a=ane(ri(e));else if(ps(t))a=ine(t,r);else{const s=H8(e);a={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return zx(a)}function K8(e,t){const r=Jo(e);return r===t||!ps(r)||du(r)?!1:gs(r).position==="fixed"||K8(r,t)}function one(e,t){const r=t.get(e);if(r)return r;let a=Zh(e,[],!1).filter(l=>ps(l)&&nm(l)!=="body"),s=null;const i=gs(e).position==="fixed";let o=i?Jo(e):e;for(;ps(o)&&!du(o);){const l=gs(o),c=U2(o);!c&&l.position==="fixed"&&(s=null),(i?!c&&!s:!c&&l.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||up(o)&&!c&&K8(e,o))?a=a.filter(u=>u!==o):s=l,o=Jo(o)}return t.set(e,a),a}function lne(e){let{element:t,boundary:r,rootBoundary:a,strategy:s}=e;const o=[...r==="clippingAncestors"?tb(t)?[]:one(t,this._c):[].concat(r),a],l=o[0],c=o.reduce((d,u)=>{const m=N4(t,u,s);return d.top=aa(m.top,d.top),d.right=Qo(m.right,d.right),d.bottom=Qo(m.bottom,d.bottom),d.left=aa(m.left,d.left),d},N4(t,l,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function cne(e){const{width:t,height:r}=q8(e);return{width:t,height:r}}function dne(e,t,r){const a=qs(t),s=ri(t),i=r==="fixed",o=lc(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const c=$s(0);if(a||!a&&!i)if((nm(t)!=="body"||up(s))&&(l=rb(t)),a){const h=lc(t,!0,i,t);c.x=h.x+t.clientLeft,c.y=h.y+t.clientTop}else s&&(c.x=H2(s));const d=s&&!a&&!i?G8(s,l):$s(0),u=o.left+l.scrollLeft-c.x-d.x,m=o.top+l.scrollTop-c.y-d.y;return{x:u,y:m,width:o.width,height:o.height}}function uw(e){return gs(e).position==="static"}function k4(e,t){if(!qs(e)||gs(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return ri(e)===r&&(r=r.ownerDocument.body),r}function Y8(e,t){const r=da(e);if(tb(e))return r;if(!qs(e)){let s=Jo(e);for(;s&&!du(s);){if(ps(s)&&!uw(s))return s;s=Jo(s)}return r}let a=k4(e,t);for(;a&&Xre(a)&&uw(a);)a=k4(a,t);
vendor: 9,045 bytes, line 708
708return a&&du(a)&&uw(a)&&!U2(a)?r:a||Jre(e)||r}const une=async function(e){const t=this.getOffsetParent||Y8,r=this.getDimensions,a=await r(e.floating);return{reference:dne(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function mne(e){return gs(e).direction==="rtl"}const hne={convertOffsetParentRelativeRectToViewportRelativeRect:rne,getDocumentElement:ri,getClippingRect:lne,getOffsetParent:Y8,getElementRects:une,getClientRects:nne,getDimensions:cne,getScale:Ad,isElement:ps,isRTL:mne};function Z8(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function fne(e,t){let r=null,a;const s=ri(e);function i(){var l;clearTimeout(a),(l=r)==null||l.disconnect(),r=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),i();const d=e.getBoundingClientRect(),{left:u,top:m,width:h,height:f}=d;if(l||t(),!h||!f)return;const b=dg(m),g=dg(s.clientWidth-(u+h)),p=dg(s.clientHeight-(m+f)),x=dg(u),w={rootMargin:-b+"px "+-g+"px "+-p+"px "+-x+"px",threshold:aa(0,Qo(1,c))||1};let N=!0;function j(k){const S=k[0].intersectionRatio;if(S!==c){if(!N)return o();S?o(!1,S):a=setTimeout(()=>{o(!1,1e-7)},1e3)}S===1&&!Z8(d,e.getBoundingClientRect())&&o(),N=!1}try{r=new IntersectionObserver(j,{...w,root:s.ownerDocument})}catch{r=new IntersectionObserver(j,w)}r.observe(e)}return o(!0),i}function pne(e,t,r,a){a===void 0&&(a={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=a,d=q2(e),u=s||i?[...d?Zh(d):[],...Zh(t)]:[];u.forEach(x=>{s&&x.addEventListener("scroll",r,{passive:!0}),i&&x.addEventListener("resize",r)});const m=d&&l?fne(d,r):null;let h=-1,f=null;o&&(f=new ResizeObserver(x=>{let[v]=x;v&&v.target===d&&f&&(f.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=f)==null||w.observe(t)})),r()}),d&&!c&&f.observe(d),f.observe(t));let b,g=c?lc(e):null;c&&p();function p(){const x=lc(e);g&&!Z8(g,x)&&r(),g=x,b=requestAnimationFrame(p)}return r(),()=>{var x;u.forEach(v=>{s&&v.removeEventListener("scroll",r),i&&v.removeEventListener("resize",r)}),m==null||m(),(x=f)==null||x.disconnect(),f=null,c&&cancelAnimationFrame(b)}}const gne=Kre,xne=Yre,yne=qre,vne=Qre,bne=Hre,S4=Vre,wne=Zre,jne=(e,t,r)=>{const a=new Map,s={platform:hne,...r},i={...s.platform,_c:a};return Ure(e,t,{...s,platform:i})};var nx=typeof document<"u"?y.useLayoutEffect:y.useEffect;function Bx(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,a,s;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(a=r;a--!==0;)if(!Bx(e[a],t[a]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(t).length)return!1;for(a=r;a--!==0;)if(!{}.hasOwnProperty.call(t,s[a]))return!1;for(a=r;a--!==0;){const i=s[a];if(!(i==="_owner"&&e.$$typeof)&&!Bx(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function Q8(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function C4(e,t){const r=Q8(e);return Math.round(t*r)/r}function mw(e){const t=y.useRef(e);return nx(()=>{t.current=e}),t}function Nne(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:a=[],platform:s,elements:{reference:i,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,m]=y.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[h,f]=y.useState(a);Bx(h,a)||f(a);const[b,g]=y.useState(null),[p,x]=y.useState(null),v=y.useCallback(_=>{_!==k.current&&(k.current=_,g(_))},[]),w=y.useCallback(_=>{_!==S.current&&(S.current=_,x(_))},[]),N=i||b,j=o||p,k=y.useRef(null),S=y.useRef(null),C=y.useRef(u),A=c!=null,T=mw(c),E=mw(s),I=mw(d),R=y.useCallback(()=>{if(!k.current||!S.current)return;const _={placement:t,strategy:r,middleware:h};E.current&&(_.platform=E.current),jne(k.current,S.current,_).then(F=>{const U={...F,isPositioned:I.current!==!1};P.current&&!Bx(C.current,U)&&(C.current=U,wc.flushSync(()=>{m(U)}))})},[h,t,r,E,I]);nx(()=>{d===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,m(_=>({..._,isPositioned:!1})))},[d]);const P=y.useRef(!1);nx(()=>(P.current=!0,()=>{P.current=!1}),[]),nx(()=>{if(N&&(k.current=N),j&&(S.current=j),N&&j){if(T.current)return T.current(N,j,R);R()}},[N,j,R,T,A]);const M=y.useMemo(()=>({reference:k,floating:S,setReference:v,setFloating:w}),[v,w]),O=y.useMemo(()=>({reference:N,floating:j}),[N,j]),$=y.useMemo(()=>{const _={position:r,left:0,top:0};if(!O.floating)return _;const F=C4(O.floating,u.x),U=C4(O.floating,u.y);return l?{..._,transform:"translate("+F+"px, "+U+"px)",...Q8(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:F,top:U}},[r,l,O.floating,u.x,u.y]);return y.useMemo(()=>({...u,update:R,refs:M,elements:O,floatingStyles:$}),[u,R,M,O,$])}const kne=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:a,padding:s}=typeof e=="function"?e(r):e;return a&&t(a)?a.current!=null?S4({element:a.current,padding:s}).fn(r):{}:a?S4({element:a,padding:s}).fn(r):{}}}},Sne=(e,t)=>({...gne(e),options:[e,t]}),Cne=(e,t)=>({...xne(e),options:[e,t]}),Pne=(e,t)=>({...wne(e),options:[e,t]}),Tne=(e,t)=>({...yne(e),options:[e,t]}),Ane=(e,t)=>({...vne(e),options:[e,t]}),Ene=(e,t)=>({...bne(e),options:[e,t]}),Ine=(e,t)=>({...kne(e),options:[e,t]});var _ne="Arrow",X8=y.forwardRef((e,t)=>{const{children:r,width:a=10,height:s=5,...i}=e;return n.jsx(Me.svg,{...i,ref:t,width:a,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:n.jsx("polygon",{points:"0,0 30,0 15,10"})})});X8.displayName=_ne;var Mne=X8;function G2(e){const[t,r]=y.useState(void 0);return Ar(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const i=s[0];let o,l;if("borderBoxSize"in i){const c=i.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;r({width:o,height:l})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else r(void 0)},[e]),t}var K2="Popper",[J8,cl]=rn(K2),[One,eB]=J8(K2),tB=e=>{const{__scopePopper:t,children:r}=e,[a,s]=y.useState(null);return n.jsx(One,{scope:t,anchor:a,onAnchorChange:s,children:r})};tB.displayName=K2;var rB="PopperAnchor",nB=y.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:a,...s}=e,i=eB(rB,r),o=y.useRef(null),l=tt(t,o);return y.useEffect(()=>{i.onAnchorChange((a==null?void 0:a.current)||o.current)}),a?null:n.jsx(Me.div,{...s,ref:l})});nB.displayName=rB;var Y2="PopperContent",[Rne,Fne]=J8(Y2),aB=y.forwardRef((e,t)=>{var ne,xe,W,ee,ae,te;const{__scopePopper:r,side:a="bottom",sideOffset:s=0,align:i="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:m="partial",hideWhenDetached:h=!1,updatePositionStrategy:f="optimized",onPlaced:b,...g}=e,p=eB(Y2,r),[x,v]=y.useState(null),w=tt(t,Ae=>v(Ae)),[N,j]=y.useState(null),k=G2(N),S=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,A=a+(i!=="center"?"-"+i:""),T=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},E=Array.isArray(d)?d:[d],I=E.length>0,R={padding:T,boundary:E.filter($ne),altBoundary:I},{refs:P,floatingStyles:M,placement:O,isPositioned:$,middlewareData:_}=Nne({strategy:"fixed",placement:A,whileElementsMounted:(...Ae)=>pne(...Ae,{animationFrame:f==="always"}),elements:{reference:p.anchor},middleware:[Sne({mainAxis:s+C,alignmentAxis:o}),c&&Cne({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?Pne():void 0,...R}),c&&Tne({...R}),Ane({...R,apply:({elements:Ae,rects:ke,availableWidth:Oe,availableHeight:$e})=>{const{width:Ke,height:Dt}=ke.reference,$t=Ae.floating.style;$t.setProperty("--radix-popper-available-width",`${Oe}px`),$t.setProperty("--radix-popper-available-height",`${$e}px`),$t.setProperty("--radix-popper-anchor-width",`${Ke}px`),$t.setProperty("--radix-popper-anchor-height",`${Dt}px`)}}),N&&Ine({element:N,padding:l}),Lne({arrowWidth:S,arrowHeight:C}),h&&Ene({strategy:"referenceHidden",...R})]}),[F,U]=oB(O),Z=en(b);Ar(()=>{$&&(Z==null||Z())},[$,Z]);const H=(ne=_.arrow)==null?void 0:ne.x,Q=(xe=_.arrow)==null?void 0:xe.y,B=((W=_.arrow)==null?void 0:W.centerOffset)!==0,[se,ye]=y.useState();return Ar(()=>{x&&ye(window.getComputedStyle(x).zIndex)},[x]),n.jsx("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...M,transform:$?M.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:se,"--radix-popper-transform-origin":[(ee=_.transformOrigin)==null?void 0:ee.x,(ae=_.transformOrigin)==null?void 0:ae.y].join(" "),...((te=_.hide)==null?void 0:te.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:n.jsx(Rne,{scope:r,placedSide:F,onArrowChange:j,arrowX:H,arrowY:Q,shouldHideArrow:B,children:n.jsx(Me.div,{"data-side":F,"data-align":U,...g,ref:w,style:{...g.style,animation:$?void 0:"none"}})})})});aB.displayName=Y2;var sB="PopperArrow",Dne={top:"bottom",right:"left",bottom:"top",left:"r
708ight"},iB=y.forwardRef(function(t,r){const{__scopePopper:a,...s}=t,i=Fne(sB,a),o=Dne[i.placedSide];return n.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:n.jsx(Mne,{...s,ref:r,style:{...s.style,display:"block"}})})});iB.displayName=sB;function $ne(e){return e!==null}var Lne=e=>({name:"transformOrigin",options:e,fn(t){var p,x,v;const{placement:r,rects:a,middlewareData:s}=t,o=((p=s.arrow)==null?void 0:p.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,u]=oB(r),m={start:"0%",center:"50%",end:"100%"}[u],h=(((x=s.arrow)==null?void 0:x.x)??0)+l/2,f=(((v=s.arrow)==null?void 0:v.y)??0)+c/2;let b="",g="";return d==="bottom"?(b=o?m:`${h}px`,g=`${-c}px`):d==="top"?(b=o?m:`${h}px`,g=`${a.floating.height+c}px`):d==="right"?(b=`${-c}px`,g=o?m:`${f}px`):d==="left"&&(b=`${a.floating.width+c}px`,g=o?m:`${f}px`),{data:{x:b,y:g}}}});function oB(e){const[t,r="center"]=e.split("-");return[t,r]}var nb=tB,mp=nB,ab=aB,sb=iB,[ib,_8e]=rn("Tooltip",[cl]),ob=cl(),lB="TooltipProvider",zne=700,B1="tooltip.open",[Bne,Z2]=ib(lB),cB=e=>{const{__scopeTooltip:t,delayDuration:r=zne,skipDelayDuration:a=300,disableHoverableContent:s=!1,children:i}=e,o=y.useRef(!0),l=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),n.jsx(Bne,{scope:t,isOpenDelayedRef:o,delayDuration:r,onOpen:y.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,a)},[a]),isPointerInTransitRef:l,onPointerInTransitChange:y.useCallback(d=>{l.current=d},[]),disableHoverableContent:s,children:i})};cB.displayName=lB;var lb="Tooltip",[Wne,cb]=ib(lb),dB=e=>{const{__scopeTooltip:t,children:r,open:a,defaultOpen:s=!1,onOpenChange:i,disableHoverableContent:o,delayDuration:l}=e,c=Z2(lb,e.__scopeTooltip),d=ob(t),[u,m]=y.useState(null),h=Gn(),f=y.useRef(0),b=o??c.disableHoverableContent,g=l??c.delayDuration,p=y.useRef(!1),[x=!1,v]=Kn({prop:a,defaultProp:s,onChange:S=>{S?(c.onOpen(),document.dispatchEvent(new CustomEvent(B1))):c.onClose(),i==null||i(S)}}),w=y.useMemo(()=>x?p.current?"delayed-open":"instant-open":"closed",[x]),N=y.useCallback(()=>{window.clearTimeout(f.current),f.current=0,p.current=!1,v(!0)},[v]),j=y.useCallback(()=>{window.clearTimeout(f.current),f.current=0,v(!1)},[v]),k=y.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{p.current=!0,v(!0),f.current=0},g)},[g,v]);return y.useEffect(()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)},[]),n.jsx(nb,{...d,children:n.jsx(Wne,{scope:t,contentId:h,open:x,stateAttribute:w,trigger:u,onTriggerChange:m,onTriggerEnter:y.useCallback(()=>{c.isOpenDelayedRef.current?k():N()},[c.isOpenDelayedRef,k,N]),onTriggerLeave:y.useCallback(()=>{b?j():(window.clearTimeout(f.current),f.current=0)},[j,b]),onOpen:N,onClose:j,disableHoverableContent:b,children:r})})};dB.displayName=lb;var W1="TooltipTrigger",uB=y.forwardRef((e,t)=>{const{__scopeTooltip:r,...a}=e,s=cb(W1,r),i=Z2(W1,r),o=ob(r),l=y.useRef(null),c=tt(t,l,s.onTriggerChange),d=y.useRef(!1),u=y.useRef(!1),m=y.useCallback(()=>d.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),n.jsx(mp,{asChild:!0,...o,children:n.jsx(Me.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...a,ref:c,onPointerMove:ge(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),u.current=!0)}),onPointerLeave:ge(e.onPointerLeave,()=>{s.onTriggerLeave(),u.current=!1}),onPointerDown:ge(e.onPointerDown,()=>{s.open&&s.onClose(),d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:ge(e.onFocus,()=>{d.current||s.onOpen()}),onBlur:ge(e.onBlur,s.onClose),onClick:ge(e.onClick,s.onClose)})})});uB.displayName=W1;var Une="TooltipPortal",[M8e,Vne]=ib(Une,{forceMount:void 0}),uu="TooltipContent",mB=y.forwardRef((e,t)=>
vendor: 4,688 bytes, line 708
708{const r=Vne(uu,e.__scopeTooltip),{forceMount:a=r.forceMount,side:s="top",...i}=e,o=cb(uu,e.__scopeTooltip);return n.jsx(Yn,{present:a||o.open,children:o.disableHoverableContent?n.jsx(hB,{side:s,...i,ref:t}):n.jsx(qne,{side:s,...i,ref:t})})}),qne=y.forwardRef((e,t)=>{const r=cb(uu,e.__scopeTooltip),a=Z2(uu,e.__scopeTooltip),s=y.useRef(null),i=tt(t,s),[o,l]=y.useState(null),{trigger:c,onClose:d}=r,u=s.current,{onPointerInTransitChange:m}=a,h=y.useCallback(()=>{l(null),m(!1)},[m]),f=y.useCallback((b,g)=>{const p=b.currentTarget,x={x:b.clientX,y:b.clientY},v=Zne(x,p.getBoundingClientRect()),w=Qne(x,v),N=Xne(g.getBoundingClientRect()),j=eae([...w,...N]);l(j),m(!0)},[m]);return y.useEffect(()=>()=>h(),[h]),y.useEffect(()=>{if(c&&u){const b=p=>f(p,u),g=p=>f(p,c);return c.addEventListener("pointerleave",b),u.addEventListener("pointerleave",g),()=>{c.removeEventListener("pointerleave",b),u.removeEventListener("pointerleave",g)}}},[c,u,f,h]),y.useEffect(()=>{if(o){const b=g=>{const p=g.target,x={x:g.clientX,y:g.clientY},v=(c==null?void 0:c.contains(p))||(u==null?void 0:u.contains(p)),w=!Jne(x,o);v?h():w&&(h(),d())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[c,u,o,d,h]),n.jsx(hB,{...e,ref:i})}),[Hne,Gne]=ib(lb,{isInside:!1}),Kne=Tee("TooltipContent"),hB=y.forwardRef((e,t)=>{const{__scopeTooltip:r,children:a,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:o,...l}=e,c=cb(uu,r),d=ob(r),{onClose:u}=c;return y.useEffect(()=>(document.addEventListener(B1,u),()=>document.removeEventListener(B1,u)),[u]),y.useEffect(()=>{if(c.trigger){const m=h=>{const f=h.target;f!=null&&f.contains(c.trigger)&&u()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[c.trigger,u]),n.jsx(Nc,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:m=>m.preventDefault(),onDismiss:u,children:n.jsxs(ab,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(Kne,{children:a}),n.jsx(Hne,{scope:r,isInside:!0,children:n.jsx(Kee,{id:c.contentId,role:"tooltip",children:s||a})})]})})});mB.displayName=uu;var fB="TooltipArrow",Yne=y.forwardRef((e,t)=>{const{__scopeTooltip:r,...a}=e,s=ob(r);return Gne(fB,r).isInside?null:n.jsx(sb,{...s,...a,ref:t})});Yne.displayName=fB;function Zne(e,t){const r=Math.abs(t.top-e.y),a=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,a,s,i)){case i:return"left";case s:return"right";case r:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function Qne(e,t,r=5){const a=[];switch(t){case"top":a.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":a.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":a.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":a.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return a}function Xne(e){const{top:t,right:r,bottom:a,left:s}=e;return[{x:s,y:t},{x:r,y:t},{x:r,y:a},{x:s,y:a}]}function Jne(e,t){const{x:r,y:a}=e;let s=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const l=t[i].x,c=t[i].y,d=t[o].x,u=t[o].y;c>a!=u>a&&r<(d-l)*(a-c)/(u-c)+l&&(s=!s)}return s}function eae(e){const t=e.slice();return t.sort((r,a)=>r.x<a.x?-1:r.x>a.x?1:r.y<a.y?-1:r.y>a.y?1:0),tae(t)}function tae(e){if(e.length<=1)return e.slice();const t=[];for(let a=0;a<e.length;a++){const s=e[a];for(;t.length>=2;){const i=t[t.length-1],o=t[t.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))t.pop();else break}t.push(s)}t.pop();const r=[];for(let a=e.length-1;a>=0;a--){const s=e[a];for(;r.length>=2;){const i=r[r.length-1],o=r[r.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))r.pop();else break}r.push(s)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var rae=cB,nae=dB,aae=uB,pB=mB;const sae=rae,iae=nae,oae=aae,gB=y.forwardRef(({className:e,sideOffset:t=4,...r},a)=>n.jsx(pB,{ref:a,sideOffset:t,className:_e("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
708de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...r}));gB.displayName=pB.displayName;function Gt(){const{data:e,isLoading:t}=De({queryKey:["/api/auth/user"],retry:!1,queryFn:async()=>{const r=await fetch("/api/auth/user",{credentials:"include"});if(r.status===401)return null;if(!r.ok)throw new Error("Failed to fetch user");return r.json()}});return{user:e??void 0,isLoading:t,isAuthenticated:!!e,isAdmin:(e==null?void 0:e.role)==="admin"}}const lae=Qu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover-elevate active-elevate-2",{variants:{variant:{default:"bg-primary text-primary-foreground border border-primary-border",destructive:"bg-destructive text-destructive-foreground border border-destructive-border",outline:" border [border-color:var(--button-outline)]  shadow-xs active:shadow-none ",secondary:"border bg-secondary text-secondary-foreground border border-secondary-border ",ghost:"border border-transparent"},size:{default:"min-h-9 px-4 py-2",sm:"min-h-8 rounded-md px-3 text-xs",lg:"min-h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),D=y.forwardRef(({className:e,variant:t,size:r,asChild:a=!1,...s},i)=>{const o=a?Kz:"button";return n.jsx(o,{className:_e(lae({variant:t,size:r,className:e})),ref:i,...s})});D.displayName="Button";const cae="/assets/phone_call_business_professional-DkMIf7Xn.png",dae="/assets/zoom_video_call_meeting-Jgic5PKv.png",uae="/assets/live_stage_presentation_speaker-JjzT3Nwb.png",mae="/assets/conference_room_business_meeting-BIHtkj4V.png",hae="/assets/desk_microphone_podcast_setup-Cs-PbXt3.png",fae="/assets/conference_room_hub_technology-QcHc4zzh.png",pae="/assets/lapel_microphone_badge_wearable-DPWGt4Pq.png",_m="SpeakFlare",wn="https://speakflare.com",gae="https://speakflare.com/og-image.png",xae="https://speakflare.com/og-image.png",P4="@speakflare",T4=["en","he","ar","es","ru","fr","de","pt","it","tr","pl","nl","zh","ja","ko","hi","uk"];function lt({title:e="SpeakFlare - Eliminate Speaking Mistakes Automatically | AI Communication Coach",description:t="Try a free 30-second demo — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go unlimited with Pro. AI-powered speech coach eliminates grammar errors, filler words, and clarity issues. Works with Zoom & Google Meet in 50+ languages.",canonical:r=wn,ogImage:a=xae,ogType:s="website",keywords:i="free speech analysis, free AI communication coach, speech improvement, eliminate filler words, grammar checker speaking, presentation skills, public speaking, video call analysis, zoom analysis, google meet analysis, speaking mistakes, ai coach free, pitch improvement, pay as you go speech coach",noIndex:o=!1,breadcrumbs:l,faqItems:c,pageType:d="page",articlePublishedTime:u,articleModifiedTime:m,articleAuthor:h,productName:f,productPrice:b,productCurrency:g="USD",hreflang:p=!0,lang:x="en"}){return y.useEffect(()=>{document.title=e;const v=(S,C,A="name")=>{let T=document.querySelector(`meta[${A}="${S}"]`);T||(T=document.createElement("meta"),T.setAttribute(A,S),document.head.appendChild(T)),T.setAttribute("content",C)},w=S=>{const C=document.getElementById(S);C&&C.remove()},N=(S,C)=>{w(S);const A=document.createElement("script");A.id=S,A.type="application/ld+json",A.textContent=JSON.stringify(C,null,0),document.head.appendChild(A)};v("description",t),v("keywords",i),v("robots",o?"noindex, nofollow":"index, follow"),v("googlebot",o?"noindex, nofollow":"index, follow"),v("author",_m),v("og:type",s,"property"),v("og:site_name",_m,"property"),v("og:url",r,"property"),v("og:title",e,"property"),v("og:description",t,"property"),v("og:image",a,"property"),v("og:image:width","1200","property"),v("og:image:height","630","property"),v("og:image:alt",e,"property"),v("og:locale",{en:"en_US",he:"he_IL",ar:"ar_SA",es:"es_ES",ru:"ru_RU",fr:"fr_FR",de:"de_DE",pt:"pt_BR",it:"it_IT",tr:"tr_TR",pl:"pl_PL",nl:"nl_NL",zh:"zh_CN",ja:"ja_JP",ko:"ko_KR",hi:"hi_IN",uk:"uk_UA"}[x]||"en_US","property"),d==="article"&&(u&&v("article:published_time",u,"property"),m&&v("article:modified_time",m,"property"),h&&v("article:author",h,"property"),v("article:publisher",wn,"property")),v("twitter:card","summary_large_image"),v("twitter:site",P4),v("twitter:creator",P4),v("twitter:url",r),v("twitter:title",e),v("twitter:description",t),v("twitter:image",a),v("twitter:image:alt",e);let k=document.querySelector('link[rel="canonical"]');if(k||(k=document.createElement("link"),k.setAttribute("rel","canonical"),document.head.appendChild(k)),k.href=r,document.documentElement.lang=x,document.querySelectorAll("link[data-speakflare-hreflang]").forEach(S=>S.remove()),p){const S=typeof window<"u"?window.location.pathname:"/",C=S.split("/")[1],A=T4.includes(C)?"/"+S.split("/").slice(2).join("/"):S,T=A===""?"/":A,E=document.createDocumentFragment();T4.forEach(R=>{const P=document.createElement("link");P.setAttribute("rel","alternate"),P.setAttribute("hreflang",R),P.setAttribute("href",`${wn}/${R}${T==="/"?"":T}`),P.setAttribute("data-speakflare-hreflang","true"),E.appendChild(P)});const I=document.createElement("link");I.setAttribute("rel","alternate"),I.setAttribute("hreflang","x-default"),I.setAttribute("href",`${wn}${T}`),I.setAttribute("data-speakflare-hreflang","true"),E.appendChild(I),document.head.appendChild(E)}N("schema-organization",{"@context":"https://schema.org","@type":"Organization","@id":`${wn}/#organization`,name:_m,url:wn,logo:{"@type":"ImageObject",url:gae,width:1200,height:630},description:"AI-powered communication improvement platform for professionals",sameAs:["https://twitter.com/speakflare","https://linkedin.com/company/speakflare"],contactPoint:{"@type":"ContactPoint",email:"[email protected]",contactType:"customer support",availableLanguage:["English","Hebrew"]}}),N("schema-website",{"@context":"https://schema.org","@type":"WebSite","@id":`${wn}/#website`,name:_m,url:wn,description:t,publisher:{"@id":`${wn}/#organization`},potentialAction:{"@type":"SearchAction",target:{"@type":"EntryPoint",urlTemplate:`${wn}/search?q={search_term_string}`},"query-input":"required name=search_term_string"}}),N("schema-webpage",{"@context":"https://schema.org","@type":d==="article"?"Article":"WebPage","@id":`${r}/#webpage`,url:r,name:e,description:t,inLanguage:x,isPartOf:{"@id":`${wn}/#website`},publisher:{"@id":`${wn}/#organization`},...u&&{datePublished:u},...m&&{dateModified:m},...h&&{author:{"@type":"Person",name:h}}}),d==="homepage"||d==="product"?N("schema-software",{"@context":"https://schema.org","@type":"SoftwareApplication",name:_m,applicationCategory:"BusinessApplication",operatingSystem:"Web, Chrome Extension",url:wn,description:t,isAccessibleForFree:!0,offers:[{"@type":"Offer",name:"Free",price:"0",priceCurrency:"USD",description:"Free 30-second demo, no sign-up",availability:"https://schema.org/OnlineOnly"},{"@type":"Offer",name:"Pay as you go",price:"5",priceCurrency:"USD",description:"$5 for 20 full recording analyses, credits never expire",availability:"https://schema.org/OnlineOnly"},{"@type":"Offer",name:"Pro",price:"12",priceCurrency:"USD",availability:"https://schema.org/OnlineOnly"}],aggregateRating:{"@type":"AggregateRating",ratingValue:"4.8",reviewCount:"1247",bestRating:"5",worstRating:"1"},publisher:{"@id":`${wn}/#organization`}}):w("schema-software"),c&&c.length>0?N("schema-faq",{"@context":"https://schema.org","@type":"FAQPage",mainEntity:c.map(S=>
vendor: 5,773 bytes, line 708
708({"@type":"Question",name:S.question,acceptedAnswer:{"@type":"Answer",text:S.answer}}))}):w("schema-faq"),l&&l.length>0?N("schema-breadcrumbs",{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:wn},...l.map((S,C)=>({"@type":"ListItem",position:C+2,name:S.name,item:S.url}))]}):w("schema-breadcrumbs")},[e,t,r,a,s,i,o,l,c,d,u,m,h,f,b,g,p,x]),null}function xB({className:e="",size:t=32}){return n.jsxs("svg",{className:e,width:t,height:t,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:"hsl(var(--primary))"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:"white"}),n.jsx("polygon",{points:"26,22 26,42 44,32",fill:"hsl(var(--primary))"})]})}function am({className:e="",size:t=24}){return n.jsxs("svg",{className:e,width:t,height:t,viewBox:"0 0 32 32",fill:"none",children:[n.jsx("circle",{cx:"16",cy:"16",r:"14",fill:"hsl(var(--primary))"}),n.jsx("circle",{cx:"16",cy:"16",r:"11",fill:"white"}),n.jsx("polygon",{points:"13,10 13,22 23,16",fill:"hsl(var(--primary))"})]})}function Wx(e,[t,r]){return Math.min(r,Math.max(t,e))}var yae=y.createContext(void 0);function sm(e){const t=y.useContext(yae);return e||t||"ltr"}var hw=0;function db(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??A4()),document.body.insertAdjacentElement("beforeend",e[1]??A4()),hw++,()=>{hw===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),hw--}},[])}function A4(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var fw="focusScope.autoFocusOnMount",pw="focusScope.autoFocusOnUnmount",E4={bubbles:!1,cancelable:!0},vae="FocusScope",hp=y.forwardRef((e,t)=>{const{loop:r=!1,trapped:a=!1,onMountAutoFocus:s,onUnmountAutoFocus:i,...o}=e,[l,c]=y.useState(null),d=en(s),u=en(i),m=y.useRef(null),h=tt(t,g=>c(g)),f=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(a){let g=function(w){if(f.paused||!l)return;const N=w.target;l.contains(N)?m.current=N:io(m.current,{select:!0})},p=function(w){if(f.paused||!l)return;const N=w.relatedTarget;N!==null&&(l.contains(N)||io(m.current,{select:!0}))},x=function(w){if(document.activeElement===document.body)for(const j of w)j.removedNodes.length>0&&io(l)};document.addEventListener("focusin",g),document.addEventListener("focusout",p);const v=new MutationObserver(x);return l&&v.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",p),v.disconnect()}}},[a,l,f.paused]),y.useEffect(()=>{if(l){_4.add(f);const g=document.activeElement;if(!l.contains(g)){const x=new CustomEvent(fw,E4);l.addEventListener(fw,d),l.dispatchEvent(x),x.defaultPrevented||(bae(Sae(yB(l)),{select:!0}),document.activeElement===g&&io(l))}return()=>{l.removeEventListener(fw,d),setTimeout(()=>{const x=new CustomEvent(pw,E4);l.addEventListener(pw,u),l.dispatchEvent(x),x.defaultPrevented||io(g??document.body,{select:!0}),l.removeEventListener(pw,u),_4.remove(f)},0)}}},[l,d,u,f]);const b=y.useCallback(g=>{if(!r&&!a||f.paused)return;const p=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,x=document.activeElement;if(p&&x){const v=g.currentTarget,[w,N]=wae(v);w&&N?!g.shiftKey&&x===N?(g.preventDefault(),r&&io(w,{select:!0})):g.shiftKey&&x===w&&(g.preventDefault(),r&&io(N,{select:!0})):x===v&&g.preventDefault()}},[r,a,f.paused]);return n.jsx(Me.div,{tabIndex:-1,...o,ref:h,onKeyDown:b})});hp.displayName=vae;function bae(e,{select:t=!1}={}){const r=document.activeElement;for(const a of e)if(io(a,{select:t}),document.activeElement!==r)return}function wae(e){const t=yB(e),r=I4(t,e),a=I4(t.reverse(),e);return[r,a]}function yB(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const s=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||s?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function I4(e,t){for(const r of e)if(!jae(r,{upTo:t}))return r}function jae(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Nae(e){return e instanceof HTMLInputElement&&"select"in e}function io(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&Nae(e)&&t&&e.select()}}var _4=kae();function kae(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=M4(e,t),e.unshift(t)},remove(t){var r;e=M4(e,t),(r=e[0])==null||r.resume()}}}function M4(e,t){const r=[...e],a=r.indexOf(t);return a!==-1&&r.splice(a,1),r}function Sae(e){return e.filter(t=>t.tagName!=="A")}function Q2(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Cae=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},zc=new WeakMap,ug=new WeakMap,mg={},gw=0,vB=function(e){return e&&(e.host||vB(e.parentNode))},Pae=function(e,t){return t.map(function(r){if(e.contains(r))return r;var a=vB(r);return a&&e.contains(a)?a:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},Tae=function(e,t,r,a){var s=Pae(t,Array.isArray(e)?e:[e]);mg[r]||(mg[r]=new WeakMap);var i=mg[r],o=[],l=new Set,c=new Set(s),d=function(m){!m||l.has(m)||(l.add(m),d(m.parentNode))};
vendor: 4,919 bytes, line 708
708s.forEach(d);var u=function(m){!m||c.has(m)||Array.prototype.forEach.call(m.children,function(h){if(l.has(h))u(h);else try{var f=h.getAttribute(a),b=f!==null&&f!=="false",g=(zc.get(h)||0)+1,p=(i.get(h)||0)+1;zc.set(h,g),i.set(h,p),o.push(h),g===1&&b&&ug.set(h,!0),p===1&&h.setAttribute(r,"true"),b||h.setAttribute(a,"true")}catch(x){console.error("aria-hidden: cannot operate on ",h,x)}})};return u(t),l.clear(),gw++,function(){o.forEach(function(m){var h=zc.get(m)-1,f=i.get(m)-1;zc.set(m,h),i.set(m,f),h||(ug.has(m)||m.removeAttribute(a),ug.delete(m)),f||m.removeAttribute(r)}),gw--,gw||(zc=new WeakMap,zc=new WeakMap,ug=new WeakMap,mg={})}},ub=function(e,t,r){r===void 0&&(r="data-aria-hidden");var a=Array.from(Array.isArray(e)?e:[e]),s=Cae(e);return s?(a.push.apply(a,Array.from(s.querySelectorAll("[aria-live]"))),Tae(a,s,r,"aria-hidden")):function(){return null}},Ms=function(){return Ms=Object.assign||function(t){for(var r,a=1,s=arguments.length;a<s;a++){r=arguments[a];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},Ms.apply(this,arguments)};function bB(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(e);s<a.length;s++)t.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(e,a[s])&&(r[a[s]]=e[a[s]]);return r}function Aae(e,t,r){if(r||arguments.length===2)for(var a=0,s=t.length,i;a<s;a++)(i||!(a in t))&&(i||(i=Array.prototype.slice.call(t,0,a)),i[a]=t[a]);return e.concat(i||Array.prototype.slice.call(t))}var ax="right-scroll-bar-position",sx="width-before-scroll-bar",Eae="with-scroll-bars-hidden",Iae="--removed-body-scroll-bar-size";function xw(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function _ae(e,t){var r=y.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(a){var s=r.value;s!==a&&(r.value=a,r.callback(a,s))}}}})[0];return r.callback=t,r.facade}var Mae=typeof window<"u"?y.useLayoutEffect:y.useEffect,O4=new WeakMap;function Oae(e,t){var r=_ae(null,function(a){return e.forEach(function(s){return xw(s,a)})});return Mae(function(){var a=O4.get(r);if(a){var s=new Set(a),i=new Set(e),o=r.current;s.forEach(function(l){i.has(l)||xw(l,null)}),i.forEach(function(l){s.has(l)||xw(l,o)})}O4.set(r,e)},[e]),r}function Rae(e){return e}function Fae(e,t){t===void 0&&(t=Rae);var r=[],a=!1,s={read:function(){if(a)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(i){var o=t(i,a);return r.push(o),function(){r=r.filter(function(l){return l!==o})}},assignSyncMedium:function(i){for(a=!0;r.length;){var o=r;r=[],o.forEach(i)}r={push:function(l){return i(l)},filter:function(){return r}}},assignMedium:function(i){a=!0;var o=[];if(r.length){var l=r;r=[],l.forEach(i),o=r}var c=function(){var u=o;o=[],u.forEach(i)},d=function(){return Promise.resolve().then(c)};d(),r={push:function(u){o.push(u),d()},filter:function(u){return o=o.filter(u),r}}}};return s}function Dae(e){e===void 0&&(e={});var t=Fae(null);return t.options=Ms({async:!0,ssr:!1},e),t}var wB=function(e){var t=e.sideCar,r=bB(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var a=t.read();if(!a)throw new Error("Sidecar medium not found");return y.createElement(a,Ms({},r))};wB.isSideCarExport=!0;function $ae(e,t){return e.useMedium(t),wB}var jB=Dae(),yw=function(){},mb=y.forwardRef(function(e,t){var r=y.useRef(null),a=y.useState({onScrollCapture:yw,onWheelCapture:yw,onTouchMoveCapture:yw}),s=a[0],i=a[1],o=e.forwardProps,l=e.children,c=e.className,d=e.removeScrollBar,u=e.enabled,m=e.shards,h=e.sideCar,f=e.noIsolation,b=e.inert,g=e.allowPinchZoom,p=e.as,x=p===void 0?"div":p,v=e.gapMode,w=bB(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=h,j=Oae([r,t]),k=Ms(Ms({},w),s);return y.createElement(y.Fragment,null,u&&y.createElement(N,{sideCar:jB,removeScrollBar:d,shards:m,noIsolation:f,inert:b,setCallbacks:i,allowPinchZoom:!!g,lockRef:r,gapMode:v}),o?y.cloneElement(y.Children.only(l),Ms(Ms({},k),{ref:j})):y.createElement(x,Ms({},k,{className:c,ref:j}),l))});mb.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};mb.classNames={fullWidth:sx,zeroRight:ax};var Lae=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function zae(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Lae();return t&&e.setAttribute("nonce",t),e}function Bae(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Wae(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Uae=function(){var e=0,t=null;
vendor: 4,612 bytes, lines 708-748
708return{add:function(r){e==0&&(t=zae())&&(Bae(t,r),Wae(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Vae=function(){var e=Uae();return function(t,r){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},NB=function(){var e=Vae(),t=function(r){var a=r.styles,s=r.dynamic;return e(a,s),null};return t},qae={left:0,top:0,right:0,gap:0},vw=function(e){return parseInt(e||"",10)||0},Hae=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],a=t[e==="padding"?"paddingTop":"marginTop"],s=t[e==="padding"?"paddingRight":"marginRight"];return[vw(r),vw(a),vw(s)]},Gae=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return qae;var t=Hae(e),r=document.documentElement.clientWidth,a=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,a-r+t[2]-t[0])}},Kae=NB(),Ed="data-scroll-locked",Yae=function(e,t,r,a){var s=e.left,i=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),`
709  .`.concat(Eae,` {
710   overflow: hidden `).concat(a,`;
711   padding-right: `).concat(l,"px ").concat(a,`;
712  }
713  body[`).concat(Ed,`] {
714    overflow: hidden `).concat(a,`;
715    overscroll-behavior: contain;
716    `).concat([t&&"position: relative ".concat(a,";"),r==="margin"&&`
717    padding-left: `.concat(s,`px;
718    padding-top: `).concat(i,`px;
719    padding-right: `).concat(o,`px;
720    margin-left:0;
721    margin-top:0;
722    margin-right: `).concat(l,"px ").concat(a,`;
723    `),r==="padding"&&"padding-right: ".concat(l,"px ").concat(a,";")].filter(Boolean).join(""),`
724  }
725  
726  .`).concat(ax,` {
727    right: `).concat(l,"px ").concat(a,`;
728  }
729  
730  .`).concat(sx,` {
731    margin-right: `).concat(l,"px ").concat(a,`;
732  }
733  
734  .`).concat(ax," .").concat(ax,` {
735    right: 0 `).concat(a,`;
736  }
737  
738  .`).concat(sx," .").concat(sx,` {
739    margin-right: 0 `).concat(a,`;
740  }
741  
742  body[`).concat(Ed,`] {
743    `).concat(Iae,": ").concat(l,`px;
744  }
745`)},R4=function(){var e=parseInt(document.body.getAttribute(Ed)||"0",10);return isFinite(e)?e:0},Zae=function(){y.useEffect(function(){return document.body.setAttribute(Ed,(R4()+1).toString()),function(){var e=R4()-1;e<=0?document.body.removeAttribute(Ed):document.body.setAttribute(Ed,e.toString())}},[])},Qae=function(e){var t=e.noRelative,r=e.noImportant,a=e.gapMode,s=a===void 0?"margin":a;Zae();var i=y.useMemo(function(){return Gae(s)},[s]);return y.createElement(Kae,{styles:Yae(i,!t,s,r?"":"!important")})},U1=!1;if(typeof window<"u")try{var hg=Object.defineProperty({},"passive",{get:function(){return U1=!0,!0}});window.addEventListener("test",hg,hg),window.removeEventListener("test",hg,hg)}catch{U1=!1}var Bc=U1?{passive:!1}:!1,Xae=function(e){return e.tagName==="TEXTAREA"},kB=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Xae(e)&&r[t]==="visible")},Jae=function(e){return kB(e,"overflowY")},ese=function(e){return kB(e,"overflowX")},F4=function(e,t){var r=t.ownerDocument,a=t;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var s=SB(e,a);if(s){var i=CB(e,a),o=i[1],l=i[2];if(o>l)return!0}a=a.parentNode}while(a&&a!==r.body);return!1},tse=function(e){var t=e.scrollTop,r=e.scrollHeight,a=e.clientHeight;return[t,r,a]},rse=function(e){var t=e.scrollLeft,r=e.scrollWidth,a=e.clientWidth;return[t,r,a]},SB=function(e,t){return e==="v"?Jae(t):ese(t)},CB=function(e,t){return e==="v"?tse(t):rse(t)},nse=function(e,t){return e==="h"&&t==="rtl"?-1:1},ase=function(e,t,r,a,s){var i=nse(e,window.getComputedStyle(t).direction),o=i*a,l=r.target,c=t.contains(l),d=!1,u=o>0,m=0,h=0;do{var f=CB(e,l),b=f[0],g=f[1],p=f[2],x=g-p-i*b;(b||x)&&SB(e,l)&&(m+=x,h+=b),l instanceof ShadowRoot?l=l.host:l=l.parentNode}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return(u&&(Math.abs(m)<1||!s)||!u&&(Math.abs(h)<1||!s))&&(d=!0),d},fg=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},D4=function(e){return[e.deltaX,e.deltaY]},$4=function(e){return e&&"current"in e?e.current:e},sse=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ise=function(e){return`
746  .block-interactivity-`.concat(e,` {pointer-events: none;}
747  .allow-interactivity-`).concat(e,` {pointer-events: all;}
748`)},ose=0,Wc=[];function lse(e){var t=y.useRef([]),r=y.useRef([0,0]),a=y.useRef(),s=y.useState(ose++)[0],i=y.useState(NB)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var g=Aae([e.lockRef.current],(e.shards||[]).map($4),!0).filter(
vendor: 4,779 bytes, line 748
748Boolean);return g.forEach(function(p){return p.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),g.forEach(function(p){return p.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var l=y.useCallback(function(g,p){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!o.current.allowPinchZoom;var x=fg(g),v=r.current,w="deltaX"in g?g.deltaX:v[0]-x[0],N="deltaY"in g?g.deltaY:v[1]-x[1],j,k=g.target,S=Math.abs(w)>Math.abs(N)?"h":"v";if("touches"in g&&S==="h"&&k.type==="range")return!1;var C=F4(S,k);if(!C)return!0;if(C?j=S:(j=S==="v"?"h":"v",C=F4(S,k)),!C)return!1;if(!a.current&&"changedTouches"in g&&(w||N)&&(a.current=j),!j)return!0;var A=a.current||j;return ase(A,p,g,A==="h"?w:N,!0)},[]),c=y.useCallback(function(g){var p=g;if(!(!Wc.length||Wc[Wc.length-1]!==i)){var x="deltaY"in p?D4(p):fg(p),v=t.current.filter(function(j){return j.name===p.type&&(j.target===p.target||p.target===j.shadowParent)&&sse(j.delta,x)})[0];if(v&&v.should){p.cancelable&&p.preventDefault();return}if(!v){var w=(o.current.shards||[]).map($4).filter(Boolean).filter(function(j){return j.contains(p.target)}),N=w.length>0?l(p,w[0]):!o.current.noIsolation;N&&p.cancelable&&p.preventDefault()}}},[]),d=y.useCallback(function(g,p,x,v){var w={name:g,delta:p,target:x,should:v,shadowParent:cse(x)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(N){return N!==w})},1)},[]),u=y.useCallback(function(g){r.current=fg(g),a.current=void 0},[]),m=y.useCallback(function(g){d(g.type,D4(g),g.target,l(g,e.lockRef.current))},[]),h=y.useCallback(function(g){d(g.type,fg(g),g.target,l(g,e.lockRef.current))},[]);y.useEffect(function(){return Wc.push(i),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:h}),document.addEventListener("wheel",c,Bc),document.addEventListener("touchmove",c,Bc),document.addEventListener("touchstart",u,Bc),function(){Wc=Wc.filter(function(g){return g!==i}),document.removeEventListener("wheel",c,Bc),document.removeEventListener("touchmove",c,Bc),document.removeEventListener("touchstart",u,Bc)}},[]);var f=e.removeScrollBar,b=e.inert;return y.createElement(y.Fragment,null,b?y.createElement(i,{styles:ise(s)}):null,f?y.createElement(Qae,{gapMode:e.gapMode}):null)}function cse(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const dse=$ae(jB,lse);var fp=y.forwardRef(function(e,t){return y.createElement(mb,Ms({},e,{ref:t,sideCar:dse}))});fp.classNames=mb.classNames;var use=[" ","Enter","ArrowUp","ArrowDown"],mse=[" ","Enter"],pp="Select",[hb,fb,hse]=Ku(pp),[im,O8e]=rn(pp,[hse,cl]),pb=cl(),[fse,dl]=im(pp),[pse,gse]=im(pp),PB=e=>{const{__scopeSelect:t,children:r,open:a,defaultOpen:s,onOpenChange:i,value:o,defaultValue:l,onValueChange:c,dir:d,name:u,autoComplete:m,disabled:h,required:f,form:b}=e,g=pb(t),[p,x]=y.useState(null),[v,w]=y.useState(null),[N,j]=y.useState(!1),k=sm(d),[S=!1,C]=Kn({prop:a,defaultProp:s,onChange:i}),[A,T]=Kn({prop:o,defaultProp:l,onChange:c}),E=y.useRef(null),I=p?b||!!p.closest("form"):!0,[R,P]=y.useState(new Set),M=Array.from(R).map(O=>O.props.value).join(";");return n.jsx(nb,{...g,children:n.jsxs(fse,{required:f,scope:t,trigger:p,onTriggerChange:x,valueNode:v,onValueNodeChange:w,valueNodeHasChildren:N,onValueNodeHasChildrenChange:j,contentId:Gn(),value:A,onValueChange:T,open:S,onOpenChange:C,dir:k,triggerPointerDownPosRef:E,disabled:h,children:[n.jsx(hb.Provider,{scope:t,children:n.jsx(pse,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(O=>{P($=>new Set($).add(O))},[]),onNativeOptionRemove:y.useCallback(O=>{P($=>{const _=new Set($);return _.delete(O),_})},[]),children:r})}),I?n.jsxs(XB,{"aria-hidden":!0,required:f,tabIndex:-1,name:u,autoComplete:m,value:A,onChange:O=>T(O.target.value),disabled:h,form:b,children:[A===void 0?n.jsx("option",{value:""}):null,Array.from(R)]},M):null]})})};PB.displayName=pp;var TB="SelectTrigger",AB=y.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:a=!1,...s}=e,i=pb(r),o=dl(TB,r),l=o.disabled||a,c=tt(t,o.onTriggerChange),d=fb(r),u=y.useRef("touch"),[m,h,f]=JB(g=>{const p=d().filter(w=>!w.disabled),x=p.find(w=>w.value===o.value),v=eW(p,g,x);v!==void 0&&o.onValueChange(v.value)}),b=g=>{l||(o.onOpenChange(!0),f()),g&&(o.triggerPointerDownPosRef.current={x:Math.round(g.pageX),y:Math.round(g.pageY)})};return n.jsx(mp,{asChild:!0,...i,children:n.jsx(Me.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":QB(o.value)?"":void 0,...s,ref:c,onClick:ge(s.onClick,g=>
vendor: 16,101 bytes, line 748
748{g.currentTarget.focus(),u.current!=="mouse"&&b(g)}),onPointerDown:ge(s.onPointerDown,g=>{u.current=g.pointerType;const p=g.target;p.hasPointerCapture(g.pointerId)&&p.releasePointerCapture(g.pointerId),g.button===0&&g.ctrlKey===!1&&g.pointerType==="mouse"&&(b(g),g.preventDefault())}),onKeyDown:ge(s.onKeyDown,g=>{const p=m.current!=="";!(g.ctrlKey||g.altKey||g.metaKey)&&g.key.length===1&&h(g.key),!(p&&g.key===" ")&&use.includes(g.key)&&(b(),g.preventDefault())})})})});AB.displayName=TB;var EB="SelectValue",IB=y.forwardRef((e,t)=>{const{__scopeSelect:r,className:a,style:s,children:i,placeholder:o="",...l}=e,c=dl(EB,r),{onValueNodeHasChildrenChange:d}=c,u=i!==void 0,m=tt(t,c.onValueNodeChange);return Ar(()=>{d(u)},[d,u]),n.jsx(Me.span,{...l,ref:m,style:{pointerEvents:"none"},children:QB(c.value)?n.jsx(n.Fragment,{children:o}):i})});IB.displayName=EB;var xse="SelectIcon",_B=y.forwardRef((e,t)=>{const{__scopeSelect:r,children:a,...s}=e;return n.jsx(Me.span,{"aria-hidden":!0,...s,ref:t,children:a||"▼"})});_B.displayName=xse;var yse="SelectPortal",MB=e=>n.jsx(Yu,{asChild:!0,...e});MB.displayName=yse;var cc="SelectContent",OB=y.forwardRef((e,t)=>{const r=dl(cc,e.__scopeSelect),[a,s]=y.useState();if(Ar(()=>{s(new DocumentFragment)},[]),!r.open){const i=a;return i?wc.createPortal(n.jsx(RB,{scope:e.__scopeSelect,children:n.jsx(hb.Slot,{scope:e.__scopeSelect,children:n.jsx("div",{children:e.children})})}),i):null}return n.jsx(FB,{...e,ref:t})});OB.displayName=cc;var Ya=10,[RB,ul]=im(cc),vse="SelectContentImpl",bse=Go("SelectContent.RemoveScroll"),FB=y.forwardRef((e,t)=>{const{__scopeSelect:r,position:a="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:i,onPointerDownOutside:o,side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:m,collisionBoundary:h,collisionPadding:f,sticky:b,hideWhenDetached:g,avoidCollisions:p,...x}=e,v=dl(cc,r),[w,N]=y.useState(null),[j,k]=y.useState(null),S=tt(t,ne=>N(ne)),[C,A]=y.useState(null),[T,E]=y.useState(null),I=fb(r),[R,P]=y.useState(!1),M=y.useRef(!1);y.useEffect(()=>{if(w)return ub(w)},[w]),db();const O=y.useCallback(ne=>{const[xe,...W]=I().map(te=>te.ref.current),[ee]=W.slice(-1),ae=document.activeElement;for(const te of ne)if(te===ae||(te==null||te.scrollIntoView({block:"nearest"}),te===xe&&j&&(j.scrollTop=0),te===ee&&j&&(j.scrollTop=j.scrollHeight),te==null||te.focus(),document.activeElement!==ae))return},[I,j]),$=y.useCallback(()=>O([C,w]),[O,C,w]);y.useEffect(()=>{R&&$()},[R,$]);const{onOpenChange:_,triggerPointerDownPosRef:F}=v;y.useEffect(()=>{if(w){let ne={x:0,y:0};const xe=ee=>{var ae,te;ne={x:Math.abs(Math.round(ee.pageX)-(((ae=F.current)==null?void 0:ae.x)??0)),y:Math.abs(Math.round(ee.pageY)-(((te=F.current)==null?void 0:te.y)??0))}},W=ee=>{ne.x<=10&&ne.y<=10?ee.preventDefault():w.contains(ee.target)||_(!1),document.removeEventListener("pointermove",xe),F.current=null};return F.current!==null&&(document.addEventListener("pointermove",xe),document.addEventListener("pointerup",W,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",xe),document.removeEventListener("pointerup",W,{capture:!0})}}},[w,_,F]),y.useEffect(()=>{const ne=()=>_(!1);return window.addEventListener("blur",ne),window.addEventListener("resize",ne),()=>{window.removeEventListener("blur",ne),window.removeEventListener("resize",ne)}},[_]);const[U,Z]=JB(ne=>{const xe=I().filter(ae=>!ae.disabled),W=xe.find(ae=>ae.ref.current===document.activeElement),ee=eW(xe,ne,W);ee&&setTimeout(()=>ee.ref.current.focus())}),H=y.useCallback((ne,xe,W)=>{const ee=!M.current&&!W;(v.value!==void 0&&v.value===xe||ee)&&(A(ne),ee&&(M.current=!0))},[v.value]),Q=y.useCallback(()=>w==null?void 0:w.focus(),[w]),B=y.useCallback((ne,xe,W)=>{const ee=!M.current&&!W;(v.value!==void 0&&v.value===xe||ee)&&E(ne)},[v.value]),se=a==="popper"?V1:DB,ye=se===V1?{side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:m,collisionBoundary:h,collisionPadding:f,sticky:b,hideWhenDetached:g,avoidCollisions:p}:{};return n.jsx(RB,{scope:r,content:w,viewport:j,onViewportChange:k,itemRefCallback:H,selectedItem:C,onItemLeave:Q,itemTextRefCallback:B,focusSelectedItem:$,selectedItemText:T,position:a,isPositioned:R,searchRef:U,children:n.jsx(fp,{as:bse,allowPinchZoom:!0,children:n.jsx(hp,{asChild:!0,trapped:v.open,onMountAutoFocus:ne=>{ne.preventDefault()},onUnmountAutoFocus:ge(s,ne=>{var xe;(xe=v.trigger)==null||xe.focus({preventScroll:!0}),ne.preventDefault()}),children:n.jsx(Nc,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:ne=>ne.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:n.jsx(se,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:ne=>ne.preventDefault(),...x,...ye,onPlaced:()=>P(!0),ref:S,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:ge(x.onKeyDown,ne=>{const xe=ne.ctrlKey||ne.altKey||ne.metaKey;if(ne.key==="Tab"&&ne.preventDefault(),!xe&&ne.key.length===1&&Z(ne.key),["ArrowUp","ArrowDown","Home","End"].includes(ne.key)){let ee=I().filter(ae=>!ae.disabled).map(ae=>ae.ref.current);if(["ArrowUp","End"].includes(ne.key)&&(ee=ee.slice().reverse()),["ArrowUp","ArrowDown"].includes(ne.key)){const ae=ne.target,te=ee.indexOf(ae);ee=ee.slice(te+1)}setTimeout(()=>O(ee)),ne.preventDefault()}})})})})})})});FB.displayName=vse;var wse="SelectItemAlignedPosition",DB=y.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:a,...s}=e,i=dl(cc,r),o=ul(cc,r),[l,c]=y.useState(null),[d,u]=y.useState(null),m=tt(t,S=>u(S)),h=fb(r),f=y.useRef(!1),b=y.useRef(!0),{viewport:g,selectedItem:p,selectedItemText:x,focusSelectedItem:v}=o,w=y.useCallback(()=>{if(i.trigger&&i.valueNode&&l&&d&&g&&p&&x){const S=i.trigger.getBoundingClientRect(),C=d.getBoundingClientRect(),A=i.valueNode.getBoundingClientRect(),T=x.getBoundingClientRect();if(i.dir!=="rtl"){const ae=T.left-C.left,te=A.left-ae,Ae=S.left-te,ke=S.width+Ae,Oe=Math.max(ke,C.width),$e=window.innerWidth-Ya,Ke=Wx(te,[Ya,Math.max(Ya,$e-Oe)]);l.style.minWidth=ke+"px",l.style.left=Ke+"px"}else{const ae=C.right-T.right,te=window.innerWidth-A.right-ae,Ae=window.innerWidth-S.right-te,ke=S.width+Ae,Oe=Math.max(ke,C.width),$e=window.innerWidth-Ya,Ke=Wx(te,[Ya,Math.max(Ya,$e-Oe)]);l.style.minWidth=ke+"px",l.style.right=Ke+"px"}const E=h(),I=window.innerHeight-Ya*2,R=g.scrollHeight,P=window.getComputedStyle(d),M=parseInt(P.borderTopWidth,10),O=parseInt(P.paddingTop,10),$=parseInt(P.borderBottomWidth,10),_=parseInt(P.paddingBottom,10),F=M+O+R+_+$,U=Math.min(p.offsetHeight*5,F),Z=window.getComputedStyle(g),H=parseInt(Z.paddingTop,10),Q=parseInt(Z.paddingBottom,10),B=S.top+S.height/2-Ya,se=I-B,ye=p.offsetHeight/2,ne=p.offsetTop+ye,xe=M+O+ne,W=F-xe;if(xe<=B){const ae=E.length>0&&p===E[E.length-1].ref.current;l.style.bottom="0px";const te=d.clientHeight-g.offsetTop-g.offsetHeight,Ae=Math.max(se,ye+(ae?Q:0)+te+$),ke=xe+Ae;l.style.height=ke+"px"}else{const ae=E.length>0&&p===E[0].ref.current;l.style.top="0px";const Ae=Math.max(B,M+g.offsetTop+(ae?H:0)+ye)+W;l.style.height=Ae+"px",g.scrollTop=xe-B+g.offsetTop}l.style.margin=`${Ya}px 0`,l.style.minHeight=U+"px",l.style.maxHeight=I+"px",a==null||a(),requestAnimationFrame(()=>f.current=!0)}},[h,i.trigger,i.valueNode,l,d,g,p,x,i.dir,a]);Ar(()=>w(),[w]);const[N,j]=y.useState();Ar(()=>{d&&j(window.getComputedStyle(d).zIndex)},[d]);const k=y.useCallback(S=>{S&&b.current===!0&&(w(),v==null||v(),b.current=!1)},[w,v]);return n.jsx(Nse,{scope:r,contentWrapper:l,shouldExpandOnScrollRef:f,onScrollButtonChange:k,children:n.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:n.jsx(Me.div,{...s,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});DB.displayName=wse;var jse="SelectPopperPosition",V1=y.forwardRef((e,t)=>{const{__scopeSelect:r,align:a="start",collisionPadding:s=Ya,...i}=e,o=pb(r);return n.jsx(ab,{...o,...i,ref:t,align:a,collisionPadding:s,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});V1.displayName=jse;var[Nse,X2]=im(cc,{}),q1="SelectViewport",$B=y.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:a,...s}=e,i=ul(q1,r),o=X2(q1,r),l=tt(t,i.onViewportChange),c=y.useRef(0);return n.jsxs(n.Fragment,{children:[n.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),n.jsx(hb.Slot,{scope:r,children:n.jsx(Me.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:ge(s.onScroll,d=>{const u=d.currentTarget,{contentWrapper:m,shouldExpandOnScrollRef:h}=o;if(h!=null&&h.current&&m){const f=Math.abs(c.current-u.scrollTop);if(f>0){const b=window.innerHeight-Ya*2,g=parseFloat(m.style.minHeight),p=parseFloat(m.style.height),x=Math.max(g,p);if(x<b){const v=x+f,w=Math.min(b,v),N=v-w;m.style.height=w+"px",m.style.bottom==="0px"&&(u.scrollTop=N>0?N:0,m.style.justifyContent="flex-end")}}}c.current=u.scrollTop})})})]})});$B.displayName=q1;var LB="SelectGroup",[kse,Sse]=im(LB),Cse=y.forwardRef((e,t)=>{const{__scopeSelect:r,...a}=e,s=Gn();return n.jsx(kse,{scope:r,id:s,children:n.jsx(Me.div,{role:"group","aria-labelledby":s,...a,ref:t})})});Cse.displayName=LB;var zB="SelectLabel",BB=y.forwardRef((e,t)=>{const{__scopeSelect:r,...a}=e,s=Sse(zB,r);return n.jsx(Me.div,{id:s.id,...a,ref:t})});BB.displayName=zB;var Ux="SelectItem",[Pse,WB]=im(Ux),UB=y.forwardRef((e,t)=>{const{__scopeSelect:r,value:a,disabled:s=!1,textValue:i,...o}=e,l=dl(Ux,r),c=ul(Ux,r),d=l.value===a,[u,m]=y.useState(i??""),[h,f]=y.useState(!1),b=tt(t,v=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,v,a,s)}),g=Gn(),p=y.useRef("touch"),x=()=>{s||(l.onValueChange(a),l.onOpenChange(!1))};if(a==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return n.jsx(Pse,{scope:r,value:a,disabled:s,textId:g,isSelected:d,onItemTextChange:y.useCallback(v=>{m(w=>w||((v==null?void 0:v.textContent)??"").trim())},[]),children:n.jsx(hb.ItemSlot,{scope:r,value:a,disabled:s,textValue:u,children:n.jsx(Me.div,{role:"option","aria-labelledby":g,"data-highlighted":h?"":void 0,"aria-selected":d&&h,"data-state":d?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...o,ref:b,onFocus:ge(o.onFocus,()=>f(!0)),onBlur:ge(o.onBlur,()=>f(!1)),onClick:ge(o.onClick,()=>{p.current!=="mouse"&&x()}),onPointerUp:ge(o.onPointerUp,()=>{p.current==="mouse"&&x()}),onPointerDown:ge(o.onPointerDown,v=>{p.current=v.pointerType}),onPointerMove:ge(o.onPointerMove,v=>{var w;p.current=v.pointerType,s?(w=c.onItemLeave)==null||w.call(c):p.current==="mouse"&&v.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ge(o.onPointerLeave,v=>{var w;v.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:ge(o.onKeyDown,v=>{var N;((N=c.searchRef)==null?void 0:N.current)!==""&&v.key===" "||(mse.includes(v.key)&&x(),v.key===" "&&v.preventDefault())})})})})});UB.displayName=Ux;var eh="SelectItemText",VB=y.forwardRef((e,t)=>{const{__scopeSelect:r,className:a,style:s,...i}=e,o=dl(eh,r),l=ul(eh,r),c=WB(eh,r),d=gse(eh,r),[u,m]=y.useState(null),h=tt(t,x=>m(x),c.onItemTextChange,x=>{var v;return(v=l.itemTextRefCallback)==null?void 0:v.call(l,x,c.value,c.disabled)}),f=u==null?void 0:u.textContent,b=y.useMemo(()=>n.jsx("option",{value:c.value,disabled:c.disabled,children:f},c.value),[c.disabled,c.value,f]),{onNativeOptionAdd:g,onNativeOptionRemove:p}=d;return Ar(()=>(g(b),()=>p(b)),[g,p,b]),n.jsxs(n.Fragment,{children:[n.jsx(Me.span,{id:c.textId,...i,ref:h}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?wc.createPortal(i.children,o.valueNode):null]})});VB.displayName=eh;var qB="SelectItemIndicator",HB=y.forwardRef((e,t)=>{const{__scopeSelect:r,...a}=e;return WB(qB,r).isSelected?n.jsx(Me.span,{"aria-hidden":!0,...a,ref:t}):null});HB.displayName=qB;var H1="SelectScrollUpButton",GB=y.forwardRef((e,t)=>{const r=ul(H1,e.__scopeSelect),a=X2(H1,e.__scopeSelect),[s,i]=y.useState(!1),o=tt(t,a.onScrollButtonChange);return Ar(()=>{if(r.viewport&&r.isPositioned){let l=function(){const d=c.scrollTop>0;i(d)};const c=r.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[r.viewport,r.isPositioned]),s?n.jsx(YB,{...e,ref:o,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=r;l&&c&&(l.scrollTop=l.scrollTop-c.offsetHeight)}}):null});GB.displayName=H1;var G1="SelectScrollDownButton",KB=y.forwardRef((e,t)=>{const r=ul(G1,e.__scopeSelect),a=X2(G1,e.__scopeSelect),[s,i]=y.useState(!1),o=tt(t,a.onScrollButtonChange);return Ar(()=>{if(r.viewport&&r.isPositioned){let l=function(){const d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;i(u)};const c=r.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[r.viewport,r.isPositioned]),s?n.jsx(YB,{...e,ref:o,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=r;l&&c&&(l.scrollTop=l.scrollTop+c.offsetHeight)}}):null});KB.displayName=G1;var YB=y.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:a,...s}=e,i=ul("SelectScrollButton",r),o=y.useRef(null),l=fb(r),c=y.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return y.useEffect(()=>()=>c(),[c]),Ar(()=>{var u;const d=l().find(m=>m.ref.current===document.activeElement);(u=d==null?void 0:d.ref.current)==null||u.scrollIntoView({block:"nearest"})},[l]),n.jsx(Me.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:ge(s.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(a,50))}),onPointerMove:ge(s.onPointerMove,()=>{var d;(d=i.onItemLeave)==null||d.call(i),o.current===null&&(o.current=window.setInterval(a,50))}),onPointerLeave:ge(s.onPointerLeave,()=>{c()})})}),Tse="SelectSeparator",ZB=y.forwardRef((e,t)=>{const{__scopeSelect:r,...a}=e;return n.jsx(Me.div,{"aria-hidden":!0,...a,ref:t})});ZB.displayName=Tse;var K1="SelectArrow",Ase=y.forwardRef((e,t)=>{const{__scopeSelect:r,...a}=e,s=pb(r),i=dl(K1,r),o=ul(K1,r);return i.open&&o.position==="popper"?n.jsx(sb,{...s,...a,ref:t}):null});Ase.displayName=K1;function QB(e){return e===""||e===void 0}var XB=y.forwardRef((e,t)=>{const{value:r,...a}=e,s=y.useRef(null),i=tt(t,s),o=Q2(r);return y.useEffect(()=>{const l=s.current,c=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(c,"value").set;if(o!==r&&u){const m=new Event("change",{bubbles:!0});u.call(l,r),l.dispatchEvent(m)}},[o,r]),n.jsx(Zu,{asChild:!0,children:n.jsx("select",{...a,ref:i,defaultValue:r})})});XB.displayName="BubbleSelect";function JB(e){const t=en(e),r=y.useRef(""),a=y.useRef(0),s=y.useCallback(o=>{const l=r.current+o;t(l),function c(d){r.current=d,window.clearTimeout(a.current),d!==""&&(a.current=window.setTimeout(()=>c(""),1e3))}(l)},[t]),i=y.useCallback(()=>{r.current="",window.clearTimeout(a.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(a.current),[]),[r,s,i]}function eW(e,t,r){const s=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,i=r?e.indexOf(r):-1;let o=Ese(e,Math.max(i,0));s.length===1&&(o=o.filter(d=>d!==r));const c=o.find(d=>d.textValue.toLowerCase().startsWith(s.toLowerCase()));return c!==r?c:void 0}function Ese(e,t){return e.map((r,a)=>e[(t+a)%e.length])}var Ise=PB,tW=AB,_se=IB,Mse=_B,Ose=MB,rW=OB,Rse=$B,nW=BB,aW=UB,Fse=VB,Dse=HB,sW=GB,iW=KB,oW=ZB;const zi=Ise,Bi=_se,Hs=y.forwardRef(({className:e,children:t,...r},a)=>n.jsxs(tW,{ref:a,className:_e("flex h-9 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm r
748ing-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,n.jsx(Mse,{asChild:!0,children:n.jsx(Jt,{className:"h-4 w-4 opacity-50"})})]}));Hs.displayName=tW.displayName;const lW=y.forwardRef(({className:e,...t},r)=>n.jsx(sW,{ref:r,className:_e("flex cursor-default items-center justify-center py-1",e),...t,children:n.jsx(Ps,{className:"h-4 w-4"})}));lW.displayName=sW.displayName;const cW=y.forwardRef(({className:e,...t},r)=>n.jsx(iW,{ref:r,className:_e("flex cursor-default items-center justify-center py-1",e),...t,children:n.jsx(Jt,{className:"h-4 w-4"})}));cW.displayName=iW.displayName;const Gs=y.forwardRef(({className:e,children:t,position:r="popper",...a},s)=>n.jsx(Ose,{children:n.jsxs(rW,{ref:s,className:_e("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a,children:[n.jsx(lW,{}),n.jsx(Rse,{className:_e("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),n.jsx(cW,{})]})}));Gs.displayName=rW.displayName;const $se=y.forwardRef(({className:e,...t},r)=>n.jsx(nW,{ref:r,className:_e("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));$se.displayName=nW.displayName;const jt=y.forwardRef(({className:e,children:t,...r},a)=>n.jsxs(aW,{ref:a,className:_e("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[n.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:n.jsx(Dse,{children:n.jsx(ut,{className:"h-4 w-4"})})}),n.jsx(Fse,{children:t})]}));jt.displayName=aW.displayName;const Lse=y.forwardRef(({className:e,...t},r)=>n.jsx(oW,{ref:r,className:_e("-mx-1 my-1 h-px bg-muted",e),...t}));Lse.displayName=oW.displayName;const dW={navbar:{features:"Features",faq:"FAQ",pricing:"Upgrade",signIn:"Sign in",startFree:"Start Free"},home:{badge:"Free to start · 50+ languages · No credit card",heroTitle1:"Sound",heroTitle2:"smart.",heroTitle3:"Not sloppy.",heroSub:"Every call recorded. Every mistake caught. Grammar, filler words, clarity — fixed automatically.",cta:"Start Free — No Card Needed",ctaSecondary:"Sign In",stat1:"30-sec",stat1label:"free demo, no sign-up",stat2:"50+",stat2label:"languages",stat3:"95%",stat3label:"accuracy",stat4:"Zoom & Meet",stat4label:"supported",seeInAction:"See SpeakFlare in action",steps:"3 simple steps to better speaking",step1num:"1",step1title:"Record",step1desc:"Hit record during your meeting, call, or presentation",step2num:"2",step2title:"AI Analyzes",step2desc:"Our AI finds grammar errors, filler words, and clarity issues",step3num:"3",step3title:"Improve",step3desc:"Get a detailed report with suggestions and track your progress",seeDiff:"See the difference",seeDiffSub:"Real examples of how SpeakFlare improves your speech",fillerWords:"Filler Words",before:"Before:",after:"After:",grammarError:"Grammar Error",clarityIssue:"Clarity Issue",telegramTitle:"Get instant feedback on Telegram",telegramSub:"After every meeting, receive a summary with what to improve",emailTitle:"Detailed reports in your inbox",emailSub:"Get comprehensive analysis with actionable suggestions",whatWeAnalyze:"What we analyze",feat1title:"Grammar Errors",feat1desc:"Subject-verb agreement, tense consistency, sentence structure",feat2title:"Filler Words",feat2desc:'"Um", "uh", "like", "you know" and other hesitation markers',feat3title:"Clarity Issues",feat3desc:"Vague language, unclear references, complex sentences",feat4title:"Weak Language",feat4desc:"Hedging words, passive voice, lack of confidence",available:"Available everywhere",noCommit:"No commitment · Cancel anytime",ctaBottom:"Start speaking better today.",ctaBottomSub:"Try a free 30-second demo — no sign-up. When you're ready, $5 unlocks 20 full recording analyses.",ctaBottomBtn:"Start Free"},login:{title:"Sign in",subtitle:"to continue to SpeakFlare",email:"Email",emailPlaceholder:"[email protected]",password:"Password",passwordPlaceholder:"Enter your password",forgot:"Forgot password?",signing:"Signing in...",signIn:"Sign in",newUser:"New to SpeakFlare?",createAccount:"Create an account",failed:"Login Failed",invali
748d:"Invalid email or password"},register:{title:"Create your account",subtitle:"Start improving your speaking today",badge:"Free 30-second demo, no sign-up — then $5 for 20 recordings",firstName:"First Name",firstPlaceholder:"John",lastName:"Last Name",lastPlaceholder:"Doe",email:"Email",emailPlaceholder:"[email protected]",password:"Password",passPlaceholder:"Create a password",passHint:"Must be at least 6 characters",creating:"Creating account...",create:"Create account",created:"Account created!",welcome:"Welcome to SpeakFlare",failed:"Registration Failed",failedDesc:"Failed to create account",alreadyHave:"Already have an account?",signIn:"Sign in"},forgot:{title:"Forgot Password?",subtitle:"No worries, we'll send you reset instructions",emailLabel:"Email Address",placeholder:"[email protected]",hint:"Enter the email address associated with your account",send:"Send Reset Instructions",backToLogin:"Back to Login",checkEmail:"Check Your Email",sentDesc:"We've sent password reset instructions",sentNote1:"If an account exists for",sentNote2:", you'll receive an email with password reset instructions within the next few minutes.",tips:"Don't see it? Check your spam folder.",tip1:"Check that you entered the correct email address",tip2:"Make sure to check your spam or junk folder",tip3:"Wait a few minutes and try again",tryDiff:"Try a different email address",note:"Note:",sentFrom:"Password reset emails are sent from",spamNote:"Make sure to check your spam folder if you don't see it in your inbox."},pricing:{title:"Simple pricing",subtitle:"$5 for 20 recordings (pay as you go). Free 30-second demo, no sign-up.",freeName:"Free",freePrice:"$0",freeCta:"Try the Demo",freeSub:"30-second demo — no sign-up",freeFeat1:"Free 30-second demo",freeFeat2:"No sign-up, no credit card",freeFeat3:"Grammar & filler word detection",freeFeat4:"Instant AI feedback",starterName:"Pay as you go",starterPrice:"$5",starterPer:"/20 recordings",starterSub:"Credits never expire",starterFeat1:"20 full recording analyses",starterFeat2:"All core features",starterFeat3:"Email notifications",starterCta:"Get 20 Recordings",proName:"Pro",proPrice:"$12",proPer:"/month",proSub:"For professionals who want unlimited",proFeat1:"Unlimited recordings",proFeat2:"Telegram notifications",proFeat3:"Advanced analytics",proFeat4:"Priority support",proCta:"Get Pro",entName:"Enterprise",entPrice:"Custom",entSub:"For teams and organizations",entFeat1:"Unlimited meetings",entFeat2:"Team management",entFeat3:"API access",entFeat4:"Dedicated support",entCta:"Contact Sales",mostPopular:"Most Popular",alwaysFree:"Always Free"},faq:{title:"Frequently Asked Questions",subtitle:"Everything you need to know about SpeakFlare",contactUs:"Contact Us",stillHave:"Still have questions?"}},zse={navbar:{features:"תכונות",faq:"שאלות נפוצות",pricing:"שדרוג",signIn:"כניסה",startFree:"התחל בחינם"},home:{badge:"חינמי להתחלה · 50+ שפות · ללא כרטיס אשראי",heroTitle1:"דבר",heroTitle2:"חכם.",heroTitle3:"לא רשלני.",heroSub:"כל שיחה מוקלטת. כל טעות נתפסת. דקדוק, מילות מילוי, בהירות — מתוקן אוטומטית.",cta:"התחל בחינם — ללא כרטיס",ctaSecondary:"כניסה",stat1:"30 שנ׳",stat1label:"הדגמה חינם, ללא הרשמה",stat2:"50+",stat2label:"שפות",stat3:"95%",stat3label:"דיוק",stat4:"Zoom & Meet",stat4label:"נתמך",seeInAction:"ראה את SpeakFlare בפעולה",steps:"3 שלבים פשוטים לדיבור טוב יותר",step1num:"1",step1title:"הקלט",step1desc:"לחץ הקלטה במהלך הפגישה, שיחה, או הצגה שלך",step2num:"2",step2title:"AI מנתח",step2desc:"ה-AI שלנו מוצא שגיאות דקדוק, מילות מילוי ובעיות בהירות",step3num:"3",step3title:"השתפר",step3desc:"קבל דוח מפורט עם הצעות ועקוב אחר ההתקדמות שלך",seeDiff:"ראה את ההבדל",seeDiffSub:"דוגמאות אמיתיות לאיך SpeakFlare משפר את הדיבור שלך",f
748illerWords:"מילות מילוי",before:"לפני:",after:"אחרי:",grammarError:"שגיאת דקדוק",clarityIssue:"בעיית בהירות",telegramTitle:"קבל משוב מיידי בטלגרם",telegramSub:"אחרי כל פגישה, קבל סיכום עם מה לשפר",emailTitle:"דוחות מפורטים לתיבת הדואר שלך",emailSub:"קבל ניתוח מקיף עם הצעות מעשיות",whatWeAnalyze:"מה אנחנו מנתחים",feat1title:"שגיאות דקדוק",feat1desc:"התאמת נושא-פועל, עקביות בזמנים, מבנה משפטים",feat2title:"מילות מילוי",feat2desc:"״אממ״, ״אה״, ״כאילו״, ״בעצם״ ומחזיקי מקום אחרים",feat3title:"בעיות בהירות",feat3desc:"שפה מעורפלת, הפניות לא ברורות, משפטים מסובכים",feat4title:"שפה חלשה",feat4desc:"מילות ספק, קול סביל, חוסר ביטחון",available:"זמין בכל מקום",noCommit:"ללא התחייבות · ביטול בכל עת",ctaBottom:"התחל לדבר טוב יותר היום.",ctaBottomSub:"נסה הדגמה חינם של 30 שניות — ללא הרשמה. כשתהיה מוכן, 5$ פותחים 20 ניתוחי הקלטה מלאים.",ctaBottomBtn:"התחל בחינם"},login:{title:"כניסה",subtitle:"כדי להמשיך ל-SpeakFlare",email:"אימייל",emailPlaceholder:"[email protected]",password:"סיסמה",passwordPlaceholder:"הזן את הסיסמה שלך",forgot:"שכחת סיסמה?",signing:"נכנס...",signIn:"כניסה",newUser:"חדש ב-SpeakFlare?",createAccount:"צור חשבון",failed:"הכניסה נכשלה",invalid:"אימייל או סיסמה שגויים"},register:{title:"צור את החשבון שלך",subtitle:"התחל לשפר את הדיבור שלך היום",badge:"הדגמה חינם של 30 שניות, ללא הרשמה — ואז 5$ ל-20 הקלטות",firstName:"שם פרטי",firstPlaceholder:"ישראל",lastName:"שם משפחה",lastPlaceholder:"ישראלי",email:"אימייל",emailPlaceholder:"[email protected]",password:"סיסמה",passPlaceholder:"צור סיסמה",passHint:"חייבת להיות לפחות 6 תווים",creating:"יוצר חשבון...",create:"צור חשבון",created:"החשבון נוצר!",welcome:"ברוך הבא ל-SpeakFlare",failed:"הרישום נכשל",failedDesc:"יצירת החשבון נכשלה",alreadyHave:"כבר יש לך חשבון?",signIn:"כניסה"},forgot:{title:"שכחת סיסמה?",subtitle:"אל דאגה, נשלח לך הוראות לאיפוס",emailLabel:"כתובת אימייל",placeholder:"[email protected]",hint:"הזן את כתובת האימייל המשויכת לחשבונך",send:"שלח הוראות איפוס",backToLogin:"חזרה לכניסה",checkEmail:"בדוק את האימייל שלך",sentDesc:"שלחנו הוראות לאיפוס הסיסמה",sentNote1:"אם קיים חשבון עבור",sentNote2:", תקבל אימייל עם הוראות לאיפוס הסיסמה תוך מספר דקות.",tips:"לא רואה? בדוק בתיקיית הספאם.",tip1:"בדוק שהזנת את כתובת האימייל הנכונה",tip2:"בדוק בתיקיית הספאם או דואר זבל",tip3:"המתן כמה דקות ונסה שוב",tryDiff:"נסה כתובת אימייל אחרת",note:"הערה:",sentFrom:"אימיילי איפוס סיסמה נשלחים מ-",spamNote:"הקפד לבדוק תיקיית הספאם אם אינך רואה בתיבת הדואר הנכנס."},pricing:{title:"תמחור פשוט",subtitle:"5$ ל-20 הקלטות (תשלום לפי שימוש). הדגמה חינם של 30 שניות, ללא הרשמה.",freeName:"חינמי",freePrice:"$0",freeCta:"נסה את ההדגמה",freeSub:"הדגמה של 30 שניות — ללא הרשמה",freeFeat1:"הדגמה חינם של 30 שניות",freeFeat2:"ללא הרשמה, ללא כרטיס אשראי",freeFeat3:"זיהוי שגיאות דקדוק ומילות מילוי",freeFeat4:"משוב AI מיידי",starterName:"תשלום לפי שימוש",starterPrice:"$5",
748starterPer:"/20 הקלטות",starterSub:"הקרדיטים לא פגים לעולם",starterFeat1:"20 ניתוחי הקלטה מלאים",starterFeat2:"כל התכונות הבסיסיות",starterFeat3:"התראות אימייל",starterCta:"קבל 20 הקלטות",proName:"Pro",proPrice:"$12",proPer:"/חודש",proSub:"לאנשי מקצוע שרוצים ללא הגבלה",proFeat1:"הקלטות ללא הגבלה",proFeat2:"התראות טלגרם",proFeat3:"אנליטיקה מתקדמת",proFeat4:"תמיכה מועדפת",proCta:"קבל Pro",entName:"ארגוני",entPrice:"מותאם",entSub:"לצוותים וארגונים",entFeat1:"פגישות ללא הגבלה",entFeat2:"ניהול צוות",entFeat3:"גישת API",entFeat4:"תמיכה ייעודית",entCta:"צור קשר",mostPopular:"הכי פופולרי",alwaysFree:"חינמי תמיד"},faq:{title:"שאלות נפוצות",subtitle:"כל מה שצריך לדעת על SpeakFlare",contactUs:"צור קשר",stillHave:"עדיין יש שאלות?"}},Bse={navbar:{features:"Возможности",faq:"FAQ",pricing:"Тарифы",signIn:"Войти",startFree:"Начать бесплатно"},home:{badge:"Бесплатный старт · 50+ языков · Без карты",heroTitle1:"Говори",heroTitle2:"умно.",heroTitle3:"Не небрежно.",heroSub:"Каждый звонок записан. Каждая ошибка поймана. Грамматика, слова-паразиты, ясность — исправляется автоматически.",cta:"Начать бесплатно — без карты",ctaSecondary:"Войти",stat1:"30 сек",stat1label:"бесплатное демо, без регистрации",stat2:"50+",stat2label:"языков",stat3:"95%",stat3label:"точность",stat4:"Zoom & Meet",stat4label:"поддерживается",seeInAction:"Посмотрите SpeakFlare в действии",steps:"3 простых шага к лучшей речи",step1num:"1",step1title:"Запись",step1desc:"Нажмите запись во время встречи, звонка или презентации",step2num:"2",step2title:"Анализ ИИ",step2desc:"Наш ИИ находит грамматические ошибки, слова-паразиты и проблемы ясности",step3num:"3",step3title:"Улучшение",step3desc:"Получите подробный отчёт с советами и отслеживайте прогресс",seeDiff:"Увидите разницу",seeDiffSub:"Реальные примеры того, как SpeakFlare улучшает вашу речь",fillerWords:"Слова-паразиты",before:"До:",after:"После:",grammarError:"Грамматическая ошибка",clarityIssue:"Проблема ясности",telegramTitle:"Мгновенная обратная связь в Telegram",telegramSub:"После каждой встречи получайте сводку с советами",emailTitle:"Подробные отчёты в вашей почте",emailSub:"Получайте комплексный анализ с практическими советами",whatWeAnalyze:"Что мы анализируем",feat1title:"Грамматические ошибки",feat1desc:"Согласование подлежащего и сказуемого, согласованность времён",feat2title:"Слова-паразиты",feat2desc:"«Эм», «ну», «типа», «короче» и другие заполнители",feat3title:"Проблемы ясности",feat3desc:"Расплывчатый язык, неясные ссылки, сложные предложения",feat4title:"Слабый язык",feat4desc:"Слова-хеджеры, страдательный залог, неуверенность",available:"Доступно везде",noCommit:"Без обязательств · Отмена в любое время",ctaBottom:"Начните говорить лучше сегодня.",ctaBottomSub:"Попробуйте бесплатное 30-секундное демо — без регистрации. Когда будете готовы, 5 $ открывают 20 полных анализов записей.",ctaBottomBtn:"Начать бесплатно"}
748,login:{title:"Войти",subtitle:"чтобы продолжить в SpeakFlare",email:"Эл. почта",emailPlaceholder:"[email protected]",password:"Пароль",passwordPlaceholder:"Введите пароль",forgot:"Забыли пароль?",signing:"Вход...",signIn:"Войти",newUser:"Впервые в SpeakFlare?",createAccount:"Создать аккаунт",failed:"Ошибка входа",invalid:"Неверный email или пароль"},register:{title:"Создать аккаунт",subtitle:"Начните улучшать речь сегодня",badge:"Бесплатное 30-секундное демо, без регистрации — затем 5 $ за 20 записей",firstName:"Имя",firstPlaceholder:"Иван",lastName:"Фамилия",lastPlaceholder:"Иванов",email:"Эл. почта",emailPlaceholder:"[email protected]",password:"Пароль",passPlaceholder:"Создайте пароль",passHint:"Минимум 6 символов",creating:"Создание аккаунта...",create:"Создать аккаунт",created:"Аккаунт создан!",welcome:"Добро пожаловать в SpeakFlare",failed:"Ошибка регистрации",failedDesc:"Не удалось создать аккаунт",alreadyHave:"Уже есть аккаунт?",signIn:"Войти"},forgot:{title:"Забыли пароль?",subtitle:"Не волнуйтесь, мы отправим инструкции по сбросу",emailLabel:"Адрес эл. почты",placeholder:"[email protected]",hint:"Введите адрес эл. почты, связанный с вашим аккаунтом",send:"Отправить инструкции",backToLogin:"Вернуться ко входу",checkEmail:"Проверьте почту",sentDesc:"Мы отправили инструкции по сбросу пароля",sentNote1:"Если аккаунт существует для",sentNote2:", вы получите письмо в ближайшие минуты.",tips:"Не видите? Проверьте папку «Спам».",tip1:"Проверьте правильность адреса эл. почты",tip2:"Проверьте папку «Спам» или «Нежелательная почта»",tip3:"Подождите несколько минут и попробуйте снова",tryDiff:"Попробуйте другой адрес эл. почты",note:"Примечание:",sentFrom:"Письма для сброса пароля отправляются с",spamNote:"Обязательно проверьте папку «Спам», если не видите письмо."},pricing:{title:"Простые тарифы",subtitle:"5 $ за 20 записей (оплата по мере использования). Бесплатное 30-секундное демо, без регистрации.",freeName:"Бесплатно",freePrice:"$0",freeCta:"Попробовать демо",freeSub:"30-секундное демо — без регистрации",freeFeat1:"Бесплатное 30-секундное демо",freeFeat2:"Без регистрации, без карты",freeFeat3:"Обнаружение грамматики и слов-паразитов",freeFeat4:"Мгновенный отчёт ИИ",starterName:"Оплата по мере использования",starterPrice:"$5",starterPer:"/20 записей",starterSub:"Кредиты не сгорают",starterFeat1:"20 полных анализов записей",starterFeat2:"Все основные функции",starterFeat3:"Уведомления по почте",starterCta:"Получить 20 записей",proName:"Pro",proPrice:"$12",proPer:"/мес",proSub:"Для профессионалов, кому нужно без лимита",proFeat1:"Неограниченные записи",proFeat2:"Уведомления в Telegram",proFeat3:"Расширенная аналитика",proFeat4:"Приоритетная поддержка",proCta:"Получить Pro",entName:"Корпоративный",entPrice:"Индивидуально",entSub:"Для команд и организаций",entFeat1:"Неограниченные встречи",entFeat2:"Управление командой",entFeat3:"Доступ к API",entFeat4:"Выделенная поддержка",entCta:"Связаться",mostPopular:"Самый популярный",alwaysFree:"Всегда бесплатно"},faq:{title:"Часто задаваемые вопросы",subtitle:"Всё, что нужно знать о SpeakFlare",contactUs:"Связаться",stillHave:"Остались вопросы?"}},Wse={navbar:{features:"Funciones",faq:"FAQ",pricing:"Precios",signIn:"Iniciar sesión",startFree:"Empezar gratis"}
748,home:{badge:"Gratis para empezar · 50+ idiomas · Sin tarjeta",heroTitle1:"Habla",heroTitle2:"inteligente.",heroTitle3:"No descuidado.",heroSub:"Cada llamada grabada. Cada error detectado. Gramática, muletillas, claridad — corregidos automáticamente.",cta:"Empezar gratis — sin tarjeta",ctaSecondary:"Iniciar sesión",stat1:"30 s",stat1label:"demo gratis, sin registro",stat2:"50+",stat2label:"idiomas",stat3:"95%",stat3label:"precisión",stat4:"Zoom & Meet",stat4label:"compatible",seeInAction:"Ve SpeakFlare en acción",steps:"3 pasos simples para hablar mejor",step1num:"1",step1title:"Graba",step1desc:"Pulsa grabar durante tu reunión, llamada o presentación",step2num:"2",step2title:"La IA analiza",step2desc:"Nuestra IA encuentra errores gramaticales, muletillas y problemas de claridad",step3num:"3",step3title:"Mejora",step3desc:"Obtén un informe detallado con sugerencias y rastrea tu progreso",seeDiff:"Ve la diferencia",seeDiffSub:"Ejemplos reales de cómo SpeakFlare mejora tu discurso",fillerWords:"Muletillas",before:"Antes:",after:"Después:",grammarError:"Error gramatical",clarityIssue:"Problema de claridad",telegramTitle:"Recibe feedback instantáneo en Telegram",telegramSub:"Después de cada reunión, recibe un resumen con qué mejorar",emailTitle:"Informes detallados en tu bandeja de entrada",emailSub:"Obtén análisis completo con sugerencias prácticas",whatWeAnalyze:"Qué analizamos",feat1title:"Errores gramaticales",feat1desc:"Concordancia sujeto-verbo, consistencia de tiempos",feat2title:"Muletillas",feat2desc:"«Eh», «o sea», «tipo», «bueno» y otros marcadores de duda",feat3title:"Problemas de claridad",feat3desc:"Lenguaje vago, referencias poco claras, oraciones complejas",feat4title:"Lenguaje débil",feat4desc:"Palabras de cobertura, voz pasiva, falta de confianza",available:"Disponible en todas partes",noCommit:"Sin compromiso · Cancela cuando quieras",ctaBottom:"Empieza a hablar mejor hoy.",ctaBottomSub:"Prueba una demo gratis de 30 segundos — sin registro. Cuando estés listo, 5 $ desbloquean 20 análisis completos de grabaciones.",ctaBottomBtn:"Empezar gratis"},login:{title:"Iniciar sesión",subtitle:"para continuar en SpeakFlare",email:"Email",emailPlaceholder:"[email protected]",password:"Contraseña",passwordPlaceholder:"Introduce tu contraseña",forgot:"¿Olvidaste tu contraseña?",signing:"Iniciando sesión...",signIn:"Iniciar sesión",newUser:"¿Nuevo en SpeakFlare?",createAccount:"Crear una cuenta",failed:"Error al iniciar sesión",invalid:"Email o contraseña incorrectos"},register:{title:"Crea tu cuenta",subtitle:"Empieza a mejorar tu expresión oral hoy",badge:"Demo gratis de 30 segundos, sin registro — luego 5 $ por 20 grabaciones",firstName:"Nombre",firstPlaceholder:"Juan",lastName:"Apellido",lastPlaceholder:"García",email:"Email",emailPlaceholder:"[email protected]",password:"Contraseña",passPlaceholder:"Crea una contraseña",passHint:"Mínimo 6 caracteres",creating:"Creando cuenta...",create:"Crear cuenta",created:"¡Cuenta creada!",welcome:"Bienvenido a SpeakFlare",failed:"Error de registro",failedDesc:"No se pudo crear la cuenta",alreadyHave:"¿Ya tienes cuenta?",signIn:"Iniciar sesión"},forgot:{title:"¿Olvidaste tu contraseña?",subtitle:"No te preocupes, te enviaremos instrucciones",emailLabel:"Dirección de email",placeholder:"[email protected]",hint:"Introduce el email asociado a tu cuenta",send:"Enviar instrucciones",backToLogin:"Volver al inicio de sesión",checkEmail:"Revisa tu email",sentDesc:"Te hemos enviado instrucciones para restablecer tu contraseña",sentNote1:"Si existe una cuenta para",sentNote2:", recibirás un email en los próximos minutos.",tips:"¿No lo ves? Revisa tu carpeta de spam.",tip1:"Verifica que introduciste el email correcto",tip2:"Revisa tu carpeta de spam o correo no deseado",tip3:"Espera unos minutos e inténtalo de nuevo",tryDiff:"Prueba con una dirección de email diferente",note:"Nota:",sentFrom:"Los emails de restablecimiento se envían desde",spamNote:"Asegúrate de revisar tu carpeta de spam si no lo ves en tu bandeja."},pricing:{title:"Precios simples",subtitle:"5 $ por 20 grabaciones (pago por uso). Demo gratis de 30 segundos, sin registro.",freeName:"Gratis",freePrice:"$0",freeCta:"Probar la demo",freeSub:"Demo de 30 segundos — sin registro",freeFeat1:"Demo gratis de 30 segundos",freeFeat2:"Sin registro, sin tarjeta",freeFeat3:"Detección de gramática y muletillas",freeFeat4:"Feedback de IA al instante",starterName:"Pago por uso",starterPrice:"$5",
748starterPer:"/20 grabaciones",starterSub:"Los créditos nunca caducan",starterFeat1:"20 análisis completos de grabaciones",starterFeat2:"Todas las funciones principales",starterFeat3:"Notificaciones por email",starterCta:"Obtener 20 grabaciones",proName:"Pro",proPrice:"$12",proPer:"/mes",proSub:"Para profesionales que quieren ilimitado",proFeat1:"Grabaciones ilimitadas",proFeat2:"Notificaciones de Telegram",proFeat3:"Análisis avanzado",proFeat4:"Soporte prioritario",proCta:"Obtener Pro",entName:"Empresarial",entPrice:"Personalizado",entSub:"Para equipos y organizaciones",entFeat1:"Reuniones ilimitadas",entFeat2:"Gestión de equipos",entFeat3:"Acceso a API",entFeat4:"Soporte dedicado",entCta:"Contactar ventas",mostPopular:"Más popular",alwaysFree:"Siempre gratis"},faq:{title:"Preguntas frecuentes",subtitle:"Todo lo que necesitas saber sobre SpeakFlare",contactUs:"Contáctanos",stillHave:"¿Tienes más preguntas?"}},Use={navbar:{features:"المميزات",faq:"الأسئلة الشائعة",pricing:"الأسعار",signIn:"تسجيل الدخول",startFree:"ابدأ مجاناً"},home:{badge:"مجاني للبدء · 50+ لغة · بدون بطاقة",heroTitle1:"تحدث",heroTitle2:"بذكاء.",heroTitle3:"ليس بإهمال.",heroSub:"كل مكالمة مسجلة. كل خطأ يُكتشف. القواعد، الكلمات الحشو، الوضوح — يُصحح تلقائياً.",cta:"ابدأ مجاناً — بدون بطاقة",ctaSecondary:"تسجيل الدخول",stat1:"30 ثانية",stat1label:"عرض تجريبي مجاني، بدون تسجيل",stat2:"50+",stat2label:"لغة",stat3:"95%",stat3label:"دقة",stat4:"Zoom & Meet",stat4label:"مدعوم",seeInAction:"شاهد SpeakFlare في العمل",steps:"3 خطوات بسيطة للتحدث بشكل أفضل",step1num:"Ù¡",step1title:"سجّل",step1desc:"اضغط تسجيل أثناء اجتماعك أو مكالمتك أو عرضك",step2num:"Ù¢",step2title:"الذكاء الاصطناعي يحلل",step2desc:"يجد الذكاء الاصطناعي الأخطاء النحوية وكلمات الحشو ومشاكل الوضوح",step3num:"Ù£",step3title:"تحسّن",step3desc:"احصل على تقرير مفصل مع اقتراحات وتتبع تقدمك",seeDiff:"شاهد الفرق",seeDiffSub:"أمثلة حقيقية على كيفية تحسين SpeakFlare لكلامك",fillerWords:"كلمات الحشو",before:"قبل:",after:"بعد:",grammarError:"خطأ نحوي",clarityIssue:"مشكلة وضوح",telegramTitle:"احصل على ملاحظات فورية على Telegram",telegramSub:"بعد كل اجتماع، احصل على ملخص بما يجب تحسينه",emailTitle:"تقارير مفصلة في صندوق بريدك",emailSub:"احصل على تحليل شامل مع اقتراحات عملية",whatWeAnalyze:"ما نحلله",feat1title:"الأخطاء النحوية",feat1desc:"توافق الفاعل والفعل، اتساق الأزمنة، بنية الجمل",feat2title:"كلمات الحشو",feat2desc:"«آه»، «يعني»، «إيه» وغيرها من علامات التردد",feat3title:"مشاكل الوضوح",feat3desc:"لغة غامضة، مراجع غير واضحة، جمل معقدة",feat4title:"لغة ضعيفة",feat4desc:"كلمات التحوط، المبني للمجهول، ضعف الثقة",available:"متاح في كل مكان",noCommit:"بدون التزام · إلغاء في أي وقت",ctaBottom:"ابدأ التحدث بشكل أفضل اليوم.",ctaBottomSub:"جرّب عرضاً تجريبياً مجانياً لمدة 30 ثانية — بدون تسجيل. وعندما تكون جاهزاً، يفتح 5 دولارات 20 تحليلاً كاملاً للتسجيلات.",ctaBottomBtn:"ابدأ مجاناً"},login:{title:"تسجيل الدخول",subtitle:"للمتابعة في SpeakFlare",email:"البريد الإلكتروني",emailPlaceholder:"[email protected]",password:"كلمة المرور",passwordPlaceholder:"أدخل كلمة مرورك",forgot:"نسيت كلمة المرور؟",signing:"جارٍ الدخول...",signIn:"تسجيل الدخول",newUser:"جديد في SpeakFlare؟",createAccount:"إنشاء حساب",failed:"فشل تسجيل الدخول",invali
748d:"البريد الإلكتروني أو كلمة المرور غير صحيحة"},register:{title:"إنشاء حسابك",subtitle:"ابدأ تحسين كلامك اليوم",badge:"عرض تجريبي مجاني لمدة 30 ثانية، بدون تسجيل — ثم 5 دولارات مقابل 20 تسجيلاً",firstName:"الاسم الأول",firstPlaceholder:"أحمد",lastName:"اسم العائلة",lastPlaceholder:"محمد",email:"البريد الإلكتروني",emailPlaceholder:"[email protected]",password:"كلمة المرور",passPlaceholder:"أنشئ كلمة مرور",passHint:"يجب أن تكون 6 أحرف على الأقل",creating:"جارٍ إنشاء الحساب...",create:"إنشاء حساب",created:"تم إنشاء الحساب!",welcome:"مرحباً بك في SpeakFlare",failed:"فشل التسجيل",failedDesc:"تعذر إنشاء الحساب",alreadyHave:"لديك حساب بالفعل؟",signIn:"تسجيل الدخول"},forgot:{title:"نسيت كلمة المرور؟",subtitle:"لا تقلق، سنرسل لك تعليمات إعادة التعيين",emailLabel:"عنوان البريد الإلكتروني",placeholder:"[email protected]",hint:"أدخل عنوان البريد الإلكتروني المرتبط بحسابك",send:"إرسال تعليمات إعادة التعيين",backToLogin:"العودة لتسجيل الدخول",checkEmail:"تحقق من بريدك الإلكتروني",sentDesc:"لقد أرسلنا تعليمات إعادة تعيين كلمة المرور",sentNote1:"إذا كان هناك حساب لـ",sentNote2:"، ستتلقى بريداً إلكترونياً في غضون دقائق.",tips:"لا تراه؟ تحقق من مجلد الرسائل غير المرغوب فيها.",tip1:"تأكد من إدخال عنوان البريد الإلكتروني الصحيح",tip2:"تحقق من مجلد الرسائل غير المرغوب فيها",tip3:"انتظر بضع دقائق وحاول مجدداً",tryDiff:"جرب عنوان بريد إلكتروني مختلفاً",note:"ملاحظة:",sentFrom:"يتم إرسال رسائل إعادة تعيين كلمة المرور من",spamNote:"تأكد من مراجعة مجلد الرسائل غير المرغوب فيها."},pricing:{title:"أسعار بسيطة",subtitle:"5 دولارات مقابل 20 تسجيلاً (ادفع حسب الاستخدام). عرض تجريبي مجاني لمدة 30 ثانية، بدون تسجيل.",freeName:"مجاني",freePrice:"$0",freeCta:"جرّب العرض التجريبي",freeSub:"عرض تجريبي لمدة 30 ثانية — بدون تسجيل",freeFeat1:"عرض تجريبي مجاني لمدة 30 ثانية",freeFeat2:"بدون تسجيل، بدون بطاقة",freeFeat3:"كشف الأخطاء النحوية وكلمات الحشو",freeFeat4:"ملاحظات AI فورية",starterName:"ادفع حسب الاستخدام",starterPrice:"$5",starterPer:"/20 تسجيلاً",starterSub:"الأرصدة لا تنتهي صلاحيتها أبداً",starterFeat1:"20 تحليلاً كاملاً للتسجيلات",starterFeat2:"جميع الميزات الأساسية",starterFeat3:"إشعارات البريد الإلكتروني",starterCta:"احصل على 20 تسجيلاً",proName:"Pro",proPrice:"$12",proPer:"/شهر",proSub:"للمحترفين الذين يريدون بلا حدود",proFeat1:"تسجيلات غير محدودة",proFeat2:"إشعارات Telegram",proFeat3:"تحليلات متقدمة",proFeat4:"دعم ذو أولوية",proCta:"احصل على Pro",entName:"المؤسسي",entPrice:"مخصص",entSub:"للفرق والمؤسسات",entFeat1:"اجتماعات غير محدودة",entFeat2:"إدارة الفريق",entFeat3:"وصول API",entFeat4:"دعم مخصص",entCta:"تواصل معنا",mostPopular:"الأكثر شعبية",alwaysFree:"مجاني دائماً"},faq:{title:"الأسئلة الشائعة",subtitle:"كل ما تحتاج معرفته عن SpeakFlare",contactUs:"تواصل معنا",stillHave:"لا تزال لديك أسئلة؟"}},Vse={navbar:{features:"Fonctionnalités",faq:"FAQ",pricing:"Tarifs",signIn:"Connexion",startFree:"Commencer"},home:{badge:"Gratuit pour commencer · 50+ langues · Sans carte",heroTitle1:"Parlez",heroTitle2:"intelligemment.",heroTitle3:"Pas négligemment.",heroSub:"Chaque appel enregistré. Chaque erreur détectée. Grammaire, mots de remplissage, clarté — corrigés automatiquement.",cta:"Commencer gratuitement — sans carte",ctaSecondary:"Connexion",stat1:"30 s",stat1label:"démo gratuite, sans inscription",stat2:"50+",stat2label:"langues",stat3:"95%",stat3label:"précision",stat4:"Zoom & Meet",stat4label:"supporté",seeInAction:"Voir SpeakFlare en action",steps:"3 étapes simples pour mieux parler",step1num:"1",step1title:"Enregistrez",step1desc:"Appuyez sur enregistrer pendant votre réunion, appel ou présentation",step2num:"2",step2title:"L'IA analyse",step2desc:"Notre IA détecte les erreurs grammaticales, mots de remplissage et problèmes de clarté",step3num:"3",step3title:"Progressez",step3desc:"Obtenez un rapport détaillé avec des suggestions et suivez vos progrès",seeDiff:"Voyez la différence",seeDiffSub:"Exemples réels de comment SpeakFlare améliore votre expression",fillerWords:"Mots de remplissage",before:"Avant :",after:"Après :",grammarError:"Erreur grammaticale",clarityIssue:"Problème de clarté",telegramTitle:"Recevez des retours instantanés sur Telegram",telegramSub:"Après chaque réunion, recevez un résumé avec quoi améliorer",emailTitle:"Rapports détaillés dans votre boîte mail",emailSub:"Obtenez une analyse complète avec des suggestions concrètes",whatWeAnalyze:"Ce que nous anal
748ysons",feat1title:"Erreurs grammaticales",feat1desc:"Accord sujet-verbe, cohérence des temps, structure des phrases",feat2title:"Mots de remplissage",feat2desc:"«Euh», «ben», «genre», «quoi» et autres marqueurs d'hésitation",feat3title:"Problèmes de clarté",feat3desc:"Langage vague, références floues, phrases complexes",feat4title:"Langage faible",feat4desc:"Mots de couverture, voix passive, manque de confiance",available:"Disponible partout",noCommit:"Sans engagement · Annulez à tout moment",ctaBottom:"Commencez à mieux parler aujourd'hui.",ctaBottomSub:"Essayez une démo gratuite de 30 secondes — sans inscription. Quand vous êtes prêt, 5 $ débloquent 20 analyses complètes d'enregistrements.",ctaBottomBtn:"Commencer gratuitement"},login:{title:"Connexion",subtitle:"pour continuer sur SpeakFlare",email:"E-mail",emailPlaceholder:"[email protected]",password:"Mot de passe",passwordPlaceholder:"Entrez votre mot de passe",forgot:"Mot de passe oublié ?",signing:"Connexion en cours...",signIn:"Se connecter",newUser:"Nouveau sur SpeakFlare ?",createAccount:"Créer un compte",failed:"Échec de la connexion",invalid:"E-mail ou mot de passe incorrect"},register:{title:"Créez votre compte",subtitle:"Commencez à améliorer votre expression orale aujourd'hui",badge:"Démo gratuite de 30 secondes, sans inscription — puis 5 $ pour 20 enregistrements",firstName:"Prénom",firstPlaceholder:"Jean",lastName:"Nom",lastPlaceholder:"Dupont",email:"E-mail",emailPlaceholder:"[email protected]",password:"Mot de passe",passPlaceholder:"Créez un mot de passe",passHint:"Minimum 6 caractères",creating:"Création du compte...",create:"Créer un compte",created:"Compte créé !",welcome:"Bienvenue sur SpeakFlare",failed:"Échec de l'inscription",failedDesc:"Impossible de créer le compte",alreadyHave:"Vous avez déjà un compte ?",signIn:"Se connecter"}
748,forgot:{title:"Mot de passe oublié ?",subtitle:"Pas de souci, nous vous enverrons les instructions",emailLabel:"Adresse e-mail",placeholder:"[email protected]",hint:"Entrez l'adresse e-mail associée à votre compte",send:"Envoyer les instructions",backToLogin:"Retour à la connexion",checkEmail:"Vérifiez vos e-mails",sentDesc:"Nous avons envoyé les instructions de réinitialisation",sentNote1:"Si un compte existe pour",sentNote2:", vous recevrez un e-mail dans les prochaines minutes.",tips:"Vous ne le voyez pas ? Vérifiez vos spams.",tip1:"Vérifiez que vous avez saisi la bonne adresse",tip2:"Consultez votre dossier spam ou courrier indésirable",tip3:"Attendez quelques minutes et réessayez",tryDiff:"Essayez une autre adresse e-mail",note:"Remarque :",sentFrom:"Les e-mails de réinitialisation sont envoyés depuis",spamNote:"Pensez à vérifier votre dossier spam si vous ne le voyez pas."},pricing:{title:"Tarifs simples",subtitle:"5 $ pour 20 enregistrements (paiement à l'usage). Démo gratuite de 30 secondes, sans inscription.",freeName:"Gratuit",freePrice:"$0",freeCta:"Essayer la démo",freeSub:"Démo de 30 secondes — sans inscription",freeFeat1:"Démo gratuite de 30 secondes",freeFeat2:"Sans inscription, sans carte",freeFeat3:"Détection de grammaire et mots de remplissage",freeFeat4:"Retour IA instantané",starterName:"Paiement à l'usage",starterPrice:"$5",starterPer:"/20 enregistrements",starterSub:"Les crédits n'expirent jamais",starterFeat1:"20 analyses complètes d'enregistrements",starterFeat2:"Toutes les fonctionnalités principales",starterFeat3:"Notifications par e-mail",starterCta:"Obtenir 20 enregistrements",proName:"Pro",proPrice:"$12",proPer:"/mois",proSub:"Pour les professionnels qui veulent l'illimité",proFeat1:"Enregistrements illimités",proFeat2:"Notifications Telegram",proFeat3:"Analyses avancées",proFeat4:"Support prioritaire",proCta:"Obtenir Pro",entName:"Entreprise",entPrice:"Sur mesure",entSub:"Pour les équipes et organisations",entFeat1:"Réunions illimitées",entFeat2:"Gestion d'équipe",entFeat3:"Accès API",entFeat4:"Support dédié",entCta:"Contacter les ventes",mostPopular:"Le plus populaire",alwaysFree:"Toujours gratuit"},faq:{title:"Questions fréquentes",subtitle:"Tout ce que vous devez savoir sur SpeakFlare",contactUs:"Nous contacter",stillHave:"D'autres questions ?"}},qse={navbar:{features:"Funktionen",faq:"FAQ",pricing:"Preise",signIn:"Anmelden",startFree:"Kostenlos starten"},home:{badge:"Kostenlos starten · 50+ Sprachen · Keine Karte",heroTitle1:"Sprechen Sie",heroTitle2:"klug.",heroTitle3:"Nicht schlampig.",heroSub:"Jeder Anruf aufgezeichnet. Jeder Fehler erfasst. Grammatik, Füllwörter, Klarheit — automatisch korrigiert.",cta:"Kostenlos starten — ohne Karte",ctaSecondary:"Anmelden",stat1:"30 Sek",stat1label:"kostenlose Demo, ohne Anmeldung",stat2:"50+",stat2label:"Sprachen",stat3:"95%",stat3label:"Genauigkeit",stat4:"Zoom & Meet",stat4label:"unterstützt",seeInAction:"SpeakFlare in Aktion sehen",steps:"3 einfache Schritte zu besserem Sprechen",step1num:"1",step1title:"Aufnehmen",step1desc:"Drücken Sie Aufnahme während Ihres Meetings, Anrufs oder Ihrer Präsentation",step2num:"2",step2title:"KI analysiert",step2desc:"Unsere KI findet Grammatikfehler, Füllwörter und Klarheitsprobleme",step3num:"3",step3title:"Verbessern",step3desc:"Erhalten Sie einen detaillierten Bericht mit Vorschlägen und verfolgen Sie Ihren Fortschritt",seeDiff:"Sehen Sie den Unterschied",seeDiffSub:"Echte Beispiele, wie SpeakFlare Ihre Sprache verbessert",fillerWords:"Füllwörter",before:"Vorher:",after:"Nachher:",grammarError:"Grammatikfehler",clarityIssue:"Klarheitsproblem",telegramTitle:"Sofortiges Feedback auf Telegram erhalten",telegramSub:"Nach jedem Meeting eine Zusammenfassung mit Verbesserungsvorschlägen erhalten",emailTitle:"Detaillierte Berichte in Ihrem Posteingang",emailSub:"Umfassende Analyse mit umsetzbaren Vorschlägen erhalten",whatWeAnalyze:"Was wir analysieren",feat1title:"Grammatikfehler",feat1desc:"Subjekt-Verb-Übereinstimmung, Zeitkonsistenz, Satzstruktur",feat2title:"Füllwörter",feat2desc:"«Äh», «ähm», «halt», «irgendwie» und andere Zögerungsmarker",feat3title:"Klarheitsprobleme",feat3desc:"Vage Sprache, unklare Bezüge, komplexe Sätze",feat4title:"Schwache Sprache",feat4desc:"Abschwächende Wörter, Passivform, mangelndes Selbstbewusstsein",available:"Überall verfügbar",noCommit:"Keine Bindung · Jederzeit kündigen",ctaBottom:"Fangen 
748Sie heute an, besser zu sprechen.",ctaBottomSub:"Testen Sie eine kostenlose 30-Sekunden-Demo — ohne Anmeldung. Wenn Sie bereit sind, schalten 5 $ 20 vollständige Aufnahmeanalysen frei.",ctaBottomBtn:"Kostenlos starten"},login:{title:"Anmelden",subtitle:"um mit SpeakFlare fortzufahren",email:"E-Mail",emailPlaceholder:"[email protected]",password:"Passwort",passwordPlaceholder:"Passwort eingeben",forgot:"Passwort vergessen?",signing:"Anmeldung läuft...",signIn:"Anmelden",newUser:"Neu bei SpeakFlare?",createAccount:"Konto erstellen",failed:"Anmeldung fehlgeschlagen",invalid:"Ungültige E-Mail oder Passwort"},register:{title:"Konto erstellen",subtitle:"Beginnen Sie heute, Ihr Sprechen zu verbessern",badge:"Kostenlose 30-Sekunden-Demo, ohne Anmeldung — dann 5 $ für 20 Aufnahmen",firstName:"Vorname",firstPlaceholder:"Hans",lastName:"Nachname",lastPlaceholder:"Müller",email:"E-Mail",emailPlaceholder:"[email protected]",password:"Passwort",passPlaceholder:"Passwort erstellen",passHint:"Mindestens 6 Zeichen",creating:"Konto wird erstellt...",create:"Konto erstellen",created:"Konto erstellt!",welcome:"Willkommen bei SpeakFlare",failed:"Registrierung fehlgeschlagen",failedDesc:"Konto konnte nicht erstellt werden",alreadyHave:"Haben Sie bereits ein Konto?",signIn:"Anmelden"},forgot:{title:"Passwort vergessen?",subtitle:"Kein Problem, wir senden Ihnen Anweisungen",emailLabel:"E-Mail-Adresse",placeholder:"[email protected]",hint:"Geben Sie die mit Ihrem Konto verknüpfte E-Mail-Adresse ein",send:"Anweisungen senden",backToLogin:"Zurück zur Anmeldung",checkEmail:"Überprüfen Sie Ihre E-Mails",sentDesc:"Wir haben Anweisungen zum Zurücksetzen des Passworts gesendet",sentNote1:"Wenn ein Konto für",sentNote2:" existiert, erhalten Sie in den nächsten Minuten eine E-Mail.",tips:"Nicht gefunden? Spam-Ordner prüfen.",tip1:"Überprüfen Sie, ob Sie die richtige E-Mail-Adresse eingegeben haben",tip2:"Prüfen Sie Ihren Spam- oder Junk-Ordner",tip3:"Warten Sie ein paar Minuten und versuchen Sie es erneut",tryDiff:"Andere E-Mail-Adresse versuchen",note:"Hinweis:",sentFrom:"Passwort-Reset-E-Mails werden gesendet von",spamNote:"Bitte prüfen Sie Ihren Spam-Ordner, wenn Sie die E-Mail nicht sehen."},pricing:{title:"Einfache Preise",subtitle:"5 $ für 20 Aufnahmen (nach Verbrauch). Kostenlose 30-Sekunden-Demo, ohne Anmeldung.",freeName:"Kostenlos",freePrice:"$0",freeCta:"Demo testen",freeSub:"30-Sekunden-Demo — ohne Anmeldung",freeFeat1:"Kostenlose 30-Sekunden-Demo",freeFeat2:"Ohne Anmeldung, ohne Karte",freeFeat3:"Grammatik- und Füllwort-Erkennung",freeFeat4:"Sofortiges KI-Feedback",starterName:"Nach Verbrauch",starterPrice:"$5",starterPer:"/20 Aufnahmen",starterSub:"Guthaben verfällt nie",starterFeat1:"20 vollständige Aufnahmeanalysen",starterFeat2:"Alle Kernfunktionen",starterFeat3:"E-Mail-Benachrichtigungen",starterCta:"20 Aufnahmen holen",proName:"Pro",proPrice:"$12",proPer:"/Monat",proSub:"Für Profis, die unbegrenzt wollen",proFeat1:"Unbegrenzte Aufnahmen",proFeat2:"Telegram-Benachrichtigungen",proFeat3:"Erweiterte Analysen",proFeat4:"Prioritätssupport",proCta:"Pro erhalten",entName:"Enterprise",entPrice:"Individuell",entSub:"Für Teams und Organisationen",entFeat1:"Unbegrenzte Meetings",entFeat2:"Teamverwaltung",entFeat3:"API-Zugang",entFeat4:"Dedizierter Support",entCta:"Vertrieb kontaktieren",mostPopular:"Beliebteste",alwaysFree:"Immer kostenlos"},faq:{title:"Häufig gestellte Fragen",subtitle:"Alles, was Sie über SpeakFlare wissen müssen",contactUs:"Kontakt",stillHave:"Noch Fragen?"}},Hse={navbar:{features:"Recursos",faq:"FAQ",pricing:"Preços",signIn:"Entrar",startFree:"Começar grátis"},home:{badge:"Grátis para começar · 50+ idiomas · Sem cartão",heroTitle1:"Fale",heroTitle2:"com inteligência.",heroTitle3:"Não descuidado.",heroSub:"Cada ligação gravada. Cada erro detectado. Gramática, palavras de preenchimento, clareza — corrigidos automaticamente.",cta:"Começar grátis — sem cartão",ctaSecondary:"Entrar",stat1:"30 s",stat1label:"demo grátis, sem cadastro",stat2:"50+",stat2label:"idiomas",stat3:"95%",stat3label:"precisão",stat4:"Zoom & Meet",stat4label:"suportado",seeInAction:"Veja o SpeakFlare em ação",steps:"3 passos simples para falar melhor",step1num:"1",step1title:"Grave",step1desc:"Pressione gravar durante sua reunião, ligação ou apresentação",step2num:"2",step2title:"A IA analisa",step2desc:"Nossa IA encontra erros gramaticais, palavras de preenchimento e problemas de clareza",step3
748num:"3",step3title:"Melhore",step3desc:"Receba um relatório detalhado com sugestões e acompanhe seu progresso",seeDiff:"Veja a diferença",seeDiffSub:"Exemplos reais de como o SpeakFlare melhora sua fala",fillerWords:"Palavras de preenchimento",before:"Antes:",after:"Depois:",grammarError:"Erro gramatical",clarityIssue:"Problema de clareza",telegramTitle:"Receba feedback instantâneo no Telegram",telegramSub:"Após cada reunião, receba um resumo com o que melhorar",emailTitle:"Relatórios detalhados na sua caixa de entrada",emailSub:"Obtenha análise completa com sugestões práticas",whatWeAnalyze:"O que analisamos",feat1title:"Erros gramaticais",feat1desc:"Concordância sujeito-verbo, consistência de tempos, estrutura de frases",feat2title:"Palavras de preenchimento",feat2desc:"«Né», «tipo», «assim», «é» e outros marcadores de hesitação",feat3title:"Problemas de clareza",feat3desc:"Linguagem vaga, referências pouco claras, frases complexas",feat4title:"Linguagem fraca",feat4desc:"Palavras de cobertura, voz passiva, falta de confiança",available:"Disponível em todos os lugares",noCommit:"Sem compromisso · Cancele quando quiser",ctaBottom:"Comece a falar melhor hoje.",ctaBottomSub:"Experimente uma demo grátis de 30 segundos — sem cadastro. Quando estiver pronto, US$ 5 liberam 20 análises completas de gravações.",ctaBottomBtn:"Começar grátis"},login:{title:"Entrar",subtitle:"para continuar no SpeakFlare",email:"E-mail",emailPlaceholder:"[email protected]",password:"Senha",passwordPlaceholder:"Digite sua senha",forgot:"Esqueceu a senha?",signing:"Entrando...",signIn:"Entrar",newUser:"Novo no SpeakFlare?",createAccount:"Criar uma conta",failed:"Falha no login",invalid:"E-mail ou senha inválidos"},register:{title:"Crie sua conta",subtitle:"Comece a melhorar sua fala hoje",badge:"Demo grátis de 30 segundos, sem cadastro — depois US$ 5 por 20 gravações",firstName:"Nome",firstPlaceholder:"João",lastName:"Sobrenome",lastPlaceholder:"Silva",email:"E-mail",emailPlaceholder:"[email protected]",password:"Senha",passPlaceholder:"Crie uma senha",passHint:"Mínimo 6 caracteres",creating:"Criando conta...",create:"Criar conta",created:"Conta criada!",welcome:"Bem-vindo ao SpeakFlare",failed:"Falha no cadastro",failedDesc:"Não foi possível criar a conta",alreadyHave:"Já tem uma conta?",signIn:"Entrar"},forgot:{title:"Esqueceu a senha?",subtitle:"Sem problema, enviaremos as instruções de redefinição",emailLabel:"Endereço de e-mail",placeholder:"[email protected]",hint:"Digite o e-mail associado à sua conta",send:"Enviar instruções",backToLogin:"Voltar ao login",checkEmail:"Verifique seu e-mail",sentDesc:"Enviamos as instruções de redefinição de senha",sentNote1:"Se existir uma conta para",sentNote2:", você receberá um e-mail nos próximos minutos.",tips:"Não vê? Verifique sua pasta de spam.",tip1:"Verifique se digitou o e-mail correto",tip2:"Verifique sua pasta de spam ou lixo eletrônico",tip3:"Aguarde alguns minutos e tente novamente",tryDiff:"Tente um endereço de e-mail diferente",note:"Nota:",sentFrom:"E-mails de redefinição são enviados de",spamNote:"Certifique-se de verificar sua pasta de spam se não encontrar na caixa de entrada."},pricing:{title:"Preços simples",subtitle:"US$ 5 por 20 gravações (pague conforme o uso). Demo grátis de 30 segundos, sem cadastro.",freeName:"Grátis",freePrice:"$0",freeCta:"Experimentar a demo",freeSub:"Demo de 30 segundos — sem cadastro",freeFeat1:"Demo grátis de 30 segundos",freeFeat2:"Sem cadastro, sem cartão",freeFeat3:"Detecção de gramática e palavras de preenchimento",freeFeat4:"Feedback de IA instantâneo",starterName:"Pague conforme o uso",starterPrice:"$5",starterPer:"/20 gravações",starterSub:"Os créditos nunca expiram",starterFeat1:"20 análises completas de gravações",starterFeat2:"Todos os recursos principais",starterFeat3:"Notificações por e-mail",starterCta:"Obter 20 gravações",proName:"Pro",proPrice:"$12",proPer:"/mês",proSub:"Para profissionais que querem ilimitado",proFeat1:"Gravações ilimitadas",proFeat2:"Notificações do Telegram",pro
748Feat3:"Análises avançadas",proFeat4:"Suporte prioritário",proCta:"Obter Pro",entName:"Enterprise",entPrice:"Personalizado",entSub:"Para equipes e organizações",entFeat1:"Reuniões ilimitadas",entFeat2:"Gestão de equipe",entFeat3:"Acesso à API",entFeat4:"Suporte dedicado",entCta:"Contatar vendas",mostPopular:"Mais popular",alwaysFree:"Sempre grátis"},faq:{title:"Perguntas frequentes",subtitle:"Tudo que você precisa saber sobre o SpeakFlare",contactUs:"Fale conosco",stillHave:"Ainda tem dúvidas?"}},Gse={navbar:{features:"Funzionalità",faq:"FAQ",pricing:"Prezzi",signIn:"Accedi",startFree:"Inizia gratis"},home:{badge:"Gratis per iniziare · 50+ lingue · Senza carta",heroTitle1:"Parla",heroTitle2:"in modo intelligente.",heroTitle3:"Non trascurato.",heroSub:"Ogni chiamata registrata. Ogni errore rilevato. Grammatica, parole di riempimento, chiarezza — corretti automaticamente.",cta:"Inizia gratis — senza carta",ctaSecondary:"Accedi",stat1:"30 s",stat1label:"demo gratis, senza registrazione",stat2:"50+",stat2label:"lingue",stat3:"95%",stat3label:"precisione",stat4:"Zoom & Meet",stat4label:"supportato",seeInAction:"Guarda SpeakFlare in azione",steps:"3 semplici passi per parlare meglio",step1num:"1",step1title:"Registra",step1desc:"Premi registra durante la tua riunione, chiamata o presentazione",step2num:"2",step2title:"L'IA analizza",step2desc:"La nostra IA trova errori grammaticali, parole di riempimento e problemi di chiarezza",step3num:"3",step3title:"Migliora",step3desc:"Ottieni un rapporto dettagliato con suggerimenti e monitora i tuoi progressi",seeDiff:"Vedi la differenza",seeDiffSub:"Esempi reali di come SpeakFlare migliora il tuo parlato",fillerWords:"Parole di riempimento",before:"Prima:",after:"Dopo:",grammarError:"Errore grammaticale",clarityIssue:"Problema di chiarezza",telegramTitle:"Ricevi feedback istantaneo su Telegram",telegramSub:"Dopo ogni riunione, ricevi un riepilogo con cosa migliorare",emailTitle:"Rapporti dettagliati nella tua casella di posta",emailSub:"Ottieni un'analisi completa con suggerimenti concreti",whatWeAnalyze:"Cosa analizziamo",feat1title:"Errori grammaticali",feat1desc:"Accordo soggetto-verbo, coerenza dei tempi, struttura delle frasi",feat2title:"Parole di riempimento",feat2desc:"«Ehm», «cioè», «tipo», «vabbè» e altri marcatori di esitazione",feat3title:"Problemi di chiarezza",feat3desc:"Linguaggio vago, riferimenti poco chiari, frasi complesse",feat4title:"Linguaggio debole",feat4desc:"Parole attenuanti, voce passiva, mancanza di fiducia",available:"Disponibile ovunque",noCommit:"Nessun impegno · Cancella quando vuoi",ctaBottom:"Inizia a parlare meglio oggi.",ctaBottomSub:"Prova una demo gratis di 30 secondi — senza registrazione. Quando sei pronto, 5 $ sbloccano 20 analisi complete delle registrazioni.",ctaBottomBtn:"Inizia gratis"},login:{title:"Accedi",subtitle:"per continuare su SpeakFlare",email:"Email",emailPlaceholder:"[email protected]",password:"Password",passwordPlaceholder:"Inserisci la password",forgot:"Password dimenticata?",signing:"Accesso in corso...",signIn:"Accedi",newUser:"Nuovo su SpeakFlare?",createAccount:"Crea un account",failed:"Accesso fallito",invalid:"Email o password non validi"},register:{title:"Crea il tuo account",subtitle:"Inizia a migliorare il tuo parlato oggi",badge:"Demo gratis di 30 secondi, senza registrazione — poi 5 $ per 20 registrazioni",firstName:"Nome",firstPlaceholder:"Mario",lastName:"Cognome",lastPlaceholder:"Rossi",email:"Email",emailPlaceholder:"[email protected]",password:"Password",passPlaceholder:"Crea una password",passHint:"Minimo 6 caratteri",creating:"Creazione account...",create:"Crea account",created:"Account creato!",welcome:"Benvenuto su SpeakFlare",failed:"Registrazione fallita",failedDesc:"Impossibile creare l'account",alreadyHave:"Hai già un account?",signIn:"Accedi"},forgot:{title:"Password dimenticata?",subtitle:"Nessun problema, ti invieremo le istruzioni",emailLabel:"Indirizzo email",placeholder:"[email protected]",hint:"Inserisci l'email associata al tuo account",send:"Invia istruzioni",backToLogin:"Torna al login",checkEmail:"Controlla la tua email",sentDesc:"Abbiamo inviato le istruzioni per reimpostare la password",sentNote1:"Se esiste un account per",sentNote2:", riceverai un'email nei prossimi minuti.",tips:"Non la vedi? Controlla la cartella spam.",tip1:"Verifica di aver inserito l'email corretta",tip2:"Controlla la cartella spam o posta indesiderata",tip3:"Aspetta qualche minuto e riprova",tryDiff:"Prova con un indirizzo email diverso",note:"Nota:",sentFrom:"Le email di reset vengono inviate da",spamNote:"Assicurati di controllare la cartella spam se non la vedi nella posta in arrivo."},pricing:{title:"Prezzi semplici",subtitle:"5 $ per 20 registrazioni (paghi in base all'uso). Demo gratis di 30 secondi, senza registrazione.",freeName:"Gratuito",freePrice:"$0",freeCta:"Prova la demo",freeSub:"Demo di 30 secondi — senza registrazione",freeFeat1:"Demo gratis di 30 secondi",freeFeat2:"Senza registrazione, senza carta",freeFeat3:"Rilevamento grammatica e parole di riempimento",freeFeat4:"Feedback IA istantaneo",starterName:"Paghi in base all'uso",starterPrice:"$5",
748starterPer:"/20 registrazioni",starterSub:"I crediti non scadono mai",starterFeat1:"20 analisi complete delle registrazioni",starterFeat2:"Tutte le funzionalità principali",starterFeat3:"Notifiche via email",starterCta:"Ottieni 20 registrazioni",proName:"Pro",proPrice:"$12",proPer:"/mese",proSub:"Per i professionisti che vogliono l'illimitato",proFeat1:"Registrazioni illimitate",proFeat2:"Notifiche Telegram",proFeat3:"Analisi avanzate",proFeat4:"Supporto prioritario",proCta:"Ottieni Pro",entName:"Enterprise",entPrice:"Personalizzato",entSub:"Per team e organizzazioni",entFeat1:"Riunioni illimitate",entFeat2:"Gestione team",entFeat3:"Accesso API",entFeat4:"Supporto dedicato",entCta:"Contatta le vendite",mostPopular:"Più popolare",alwaysFree:"Sempre gratuito"},faq:{title:"Domande frequenti",subtitle:"Tutto quello che devi sapere su SpeakFlare",contactUs:"Contattaci",stillHave:"Hai ancora domande?"}},Kse={navbar:{features:"Özellikler",faq:"SSS",pricing:"Fiyatlar",signIn:"Giriş yap",startFree:"Ücretsiz başla"},home:{badge:"Başlamak ücretsiz · 50+ dil · Kart gerekmez",heroTitle1:"Akıllıca",heroTitle2:"konuşun.",heroTitle3:"Özensiz değil.",heroSub:"Her çağrı kaydedildi. Her hata yakalandı. Dilbilgisi, dolgu kelimeler, netlik — otomatik olarak düzeltildi.",cta:"Ücretsiz başla — kart gerekmez",ctaSecondary:"Giriş yap",stat1:"30 sn",stat1label:"ücretsiz demo, kayıt yok",stat2:"50+",stat2label:"dil",stat3:"95%",stat3label:"doğruluk",stat4:"Zoom & Meet",stat4label:"desteklenir",seeInAction:"SpeakFlare'i eylemde görün",steps:"Daha iyi konuşmak için 3 basit adım",step1num:"1",step1title:"Kaydet",step1desc:"Toplantı, arama veya sunumunuz sırasında kayda basın",step2num:"2",step2title:"Yapay Zeka Analiz Eder",step2desc:"Yapay Zekamız dilbilgisi hatalarını, dolgu kelimeleri ve netlik sorunlarını bulur",step3num:"3",step3title:"Gelişin",step3desc:"Önerilerle ayrıntılı bir rapor alın ve ilerlemenizi takip edin",seeDiff:"Farkı görün",seeDiffSub:"SpeakFlare'in konuşmanızı nasıl iyileştirdiğinin gerçek örnekleri",fillerWords:"Dolgu kelimeler",before:"Önce:",after:"Sonra:",grammarError:"Dilbilgisi hatası",clarityIssue:"Netlik sorunu",telegramTitle:"Telegram'da anında geri bildirim alın",telegramSub:"Her toplantıdan sonra ne geliştireceğinizi içeren bir özet alın",emailTitle:"Gelen kutunuzda ayrıntılı raporlar",emailSub:"Eyleme dönüştürülebilir önerilerle kapsamlı analiz alın",whatWeAnalyze:"Neyi analiz ediyoruz",feat1title:"Dilbilgisi hataları",feat1desc:"Özne-yüklem uyumu, zaman tutarlılığı, cümle yapısı",feat2title:"Dolgu kelimeler",feat2desc:"«Yani», «şey», «işte», «hani» ve diğer tereddüt göstergeleri",feat3title:"Netlik sorunları",feat3desc:"Belirsiz dil, açık olmayan referanslar, karmaşık cümleler",feat4title:"Zayıf dil",feat4desc:"Yumuşatma kelimeleri, edilgen ses, güven eksikliği",available:"Her yerde mevcut",noCommit:"Taahhüt yok · İstediğiniz zaman iptal edin",ctaBottom:"Bugün daha iyi konuşmaya başlayın.",ctaBottomSub:"Ücretsiz 30 saniyelik demoyu deneyin — kayıt gerekmez. Hazır olduğunuzda 5 $ ile 20 tam kayıt analizi açılır.",ctaBottomBtn:"
748Ücretsiz başla"},login:{title:"Giriş yap",subtitle:"SpeakFlare'e devam etmek için",email:"E-posta",emailPlaceholder:"[email protected]",password:"Şifre",passwordPlaceholder:"Şifrenizi girin",forgot:"Şifrenizi mi unuttunuz?",signing:"Giriş yapılıyor...",signIn:"Giriş yap",newUser:"SpeakFlare'e yeni misiniz?",createAccount:"Hesap oluştur",failed:"Giriş başarısız",invalid:"Geçersiz e-posta veya şifre"},register:{title:"Hesabınızı oluşturun",subtitle:"Bugün konuşmanızı iyileştirmeye başlayın",badge:"Ücretsiz 30 saniyelik demo, kayıt yok — sonra 20 kayıt için 5 $",firstName:"Ad",firstPlaceholder:"Ahmet",lastName:"Soyad",lastPlaceholder:"Yılmaz",email:"E-posta",emailPlaceholder:"[email protected]",password:"Şifre",passPlaceholder:"Şifre oluşturun",passHint:"En az 6 karakter olmalı",creating:"Hesap oluşturuluyor...",create:"Hesap oluştur",created:"Hesap oluşturuldu!",welcome:"SpeakFlare'e hoş geldiniz",failed:"Kayıt başarısız",failedDesc:"Hesap oluşturulamadı",alreadyHave:"Zaten hesabınız var mı?",signIn:"Giriş yap"},forgot:{title:"Şifrenizi mi unuttunuz?",subtitle:"Endişelenmeyin, sıfırlama talimatları göndereceğiz",emailLabel:"E-posta adresi",placeholder:"[email protected]",hint:"Hesabınızla ilişkili e-posta adresini girin",send:"Talimatları gönder",backToLogin:"Girişe geri dön",checkEmail:"E-postanızı kontrol edin",sentDesc:"Şifre sıfırlama talimatları gönderdik",sentNote1:"Eğer bir hesap varsa",sentNote2:", birkaç dakika içinde e-posta alacaksınız.",tips:"Görmüyor musunuz? Spam klasörünü kontrol edin.",tip1:"Doğru e-posta adresini girdiğinizi doğrulayın",tip2:"Spam veya gereksiz posta klasörünüzü kontrol edin",tip3:"Birkaç dakika bekleyin ve tekrar deneyin",tryDiff:"Farklı bir e-posta adresi deneyin",note:"Not:",sentFrom:"Şifre sıfırlama e-postaları şuradan gönderilir:",spamNote:"Gelen kutunuzda görmüyorsanız spam klasörünüzü kontrol ettiğinizden emin olun."},pricing:{title:"Basit fiyatlandırma",subtitle:"20 kayıt için 5 $ (kullandıkça öde). Ücretsiz 30 saniyelik demo, kayıt yok.",freeName:"Ücretsiz",freePrice:"$0",freeCta:"Demoyu dene",freeSub:"30 saniyelik demo — kayıt yok",freeFeat1:"Ücretsiz 30 saniyelik demo",freeFeat2:"Kayıt yok, kart yok",freeFeat3:"Dilbilgisi ve dolgu kelime tespiti",freeFeat4:"Anında Yapay Zeka geri bildirimi",starterName:"Kullandıkça öde",starterPrice:"$5",starterPer:"/20 kayıt",starterSub:"Krediler asla sona ermez",starterFeat1:"20 tam kayıt analizi",starterFeat2:"Tüm temel özellikler",starterFeat3:"E-posta bildirimleri",starterCta:"20 kayıt al",proName:"Pro",proPrice:"$12",proPer:"/ay",proSub:"Sınırsız isteyen profesyoneller için",proFeat1:"Sınırsız kayıt",proFeat2:"Telegram bildirimleri",proFeat3:"Gelişmiş analizler",proFeat4:"Öncelikli destek",proCta:"Pro'yu al",entName:"Kurumsal",entPrice:"Özel",entSub:"Ekipler ve kuruluşlar için",entFeat1:"Sınırsız toplantılar",entFeat2:"Ekip yönetimi",entFeat3:"API erişimi",entFeat4:"Özel destek",entCta:"Satışlarla iletişime geçin",mostPopular:"En popüler",alwaysFree:"Her zaman ücretsiz"},faq:{title:"Sıkça sorulan sorular",subtitle:"SpeakFlare hakkında bilmeniz gereken her şey",contactUs:"Bize ulaşın",stillHave:"Hâlâ sorunuz var mı?"}},Yse={navbar:{features:"Funkcje",faq:"FAQ",pricing:"Cennik",signIn:"Zaloguj się",startFree:"Zacznij za darmo"},home:{badge:"Bezpłatny start · 50+ języków · Bez karty",heroTitle1:"Mów",heroTitle2:"mądrze.",heroTitle3:"Nie niedbale.",heroSub:"Każde połączenie nagrane. Każdy błąd wykryty. Gramatyka, wyrazy wypełniające, klarowność — poprawiane automatycznie.",cta:"Zacznij za darmo — bez karty",ctaSecondary:"Zaloguj się",stat1:"30 s",stat1label:"darmowe demo, bez rejestracji",stat2:"50+",stat2label:"języków",stat3:"95%",stat3label:"dokładność",stat4:"Zoom & Meet",stat4label:"obsługiwany",seeInAction:"Zobacz SpeakFlare w akcji",steps:"3 proste kroki do lepszego mówienia",step1num:"1",step1title:"Nagraj",step1desc:"Naciśnij nagrywanie podczas spotkania, rozmowy lub prezentacji",step2num:"2",step2title:"AI analizuje",step2desc:"Nasza AI wykrywa błędy gramatyczne, wyrazy wypełniające i problemy z klarownością",step3
748num:"3",step3title:"Popraw się",step3desc:"Otrzymaj szczegółowy raport z sugestiami i śledź swoje postępy",seeDiff:"Zobacz różnicę",seeDiffSub:"Prawdziwe przykłady tego, jak SpeakFlare poprawia Twoją mowę",fillerWords:"Wyrazy wypełniające",before:"Przed:",after:"Po:",grammarError:"Błąd gramatyczny",clarityIssue:"Problem z klarownością",telegramTitle:"Otrzymuj natychmiastową informację zwrotną na Telegramie",telegramSub:"Po każdym spotkaniu otrzymuj podsumowanie z tym, co poprawić",emailTitle:"Szczegółowe raporty w Twojej skrzynce",emailSub:"Otrzymaj kompleksową analizę z praktycznymi sugestiami",whatWeAnalyze:"Co analizujemy",feat1title:"Błędy gramatyczne",feat1desc:"Zgodność podmiotu z orzeczeniem, spójność czasów, struktura zdań",feat2title:"Wyrazy wypełniające",feat2desc:"«Yyy», «no», «czyli», «jakby» i inne markery wahania",feat3title:"Problemy z klarownością",feat3desc:"Niejasny język, nieokreślone odniesienia, złożone zdania",feat4title:"Słaby język",feat4desc:"Słowa osłabiające, strona bierna, brak pewności siebie",available:"Dostępny wszędzie",noCommit:"Bez zobowiązań · Anuluj kiedy chcesz",ctaBottom:"Zacznij mówić lepiej już dziś.",ctaBottomSub:"Wypróbuj darmowe 30-sekundowe demo — bez rejestracji. Gdy będziesz gotowy, 5 $ odblokowuje 20 pełnych analiz nagrań.",ctaBottomBtn:"Zacznij za darmo"},login:{title:"Zaloguj się",subtitle:"aby kontynuować w SpeakFlare",email:"E-mail",emailPlaceholder:"[email protected]",password:"Hasło",passwordPlaceholder:"Wpisz hasło",forgot:"Zapomniałeś hasła?",signing:"Logowanie...",signIn:"Zaloguj się",newUser:"Nowy w SpeakFlare?",createAccount:"Utwórz konto",failed:"Logowanie nieudane",invalid:"Nieprawidłowy e-mail lub hasło"},register:{title:"Utwórz konto",subtitle:"Zacznij poprawiać swoje mówienie już dziś",badge:"Darmowe 30-sekundowe demo, bez rejestracji — potem 5 $ za 20 nagrań",firstName:"Imię",firstPlaceholder:"Jan",lastName:"Nazwisko",lastPlaceholder:"Kowalski",email:"E-mail",emailPlaceholder:"[email protected]",password:"Hasło",passPlaceholder:"Utwórz hasło",passHint:"Minimum 6 znaków",creating:"Tworzenie konta...",create:"Utwórz konto",created:"Konto utworzone!",welcome:"Witamy w SpeakFlare",failed:"Rejestracja nieudana",failedDesc:"Nie udało się utworzyć konta",alreadyHave:"Masz już konto?",signIn:"Zaloguj się"},forgot:{title:"Zapomniałeś hasła?",subtitle:"Bez obaw, wyślemy Ci instrukcje resetowania",emailLabel:"Adres e-mail",placeholder:"[email protected]",hint:"Wpisz adres e-mail powiązany z Twoim kontem",send:"Wyślij instrukcje",backToLogin:"Powrót do logowania",checkEmail:"Sprawdź e-mail",sentDesc:"Wysłaliśmy instrukcje resetowania hasła",sentNote1:"Jeśli istnieje konto dla",sentNote2:", otrzymasz e-mail w ciągu kilku minut.",tips:"Nie widzisz? Sprawdź folder spam.",tip1:"Sprawdź, czy podałeś prawidłowy adres e-mail",tip2:"Sprawdź folder spam lub niechciane wiadomości",tip3:"Poczekaj kilka minut i spróbuj ponownie",tryDiff:"Spróbuj innego adresu e-mail",note:"Uwaga:",sentFrom:"E-maile resetowania hasła są wysyłane z",spamNote:"Koniecznie sprawdź folder spam, jeśli nie widzisz wiadomości w skrzynce odbiorczej."},pricing:{title:"Proste ceny",subtitle:"5 $ za 20 nagrań (płać za użycie). Darmowe 30-sekundowe demo, bez rejestracji.",freeName:"Bezpłatny",freePrice:"$0",freeCta:"Wypróbuj demo",freeSub:"30-sekundowe demo — bez rejestracji",freeFeat1:"Darmowe 30-sekundowe demo",freeFeat2:"Bez rejestracji, bez karty",freeFeat3:"Wykrywanie gramatyki i wyrazów wypełniających",freeFeat4:"Natychmiastowa opinia AI",starterName:"Płać za użycie",starterPrice:"$5",starterPer:"/20 nagrań",starterSub:"Kredyty nigdy nie wygasają",starterFeat1:"20 pełnych analiz nagrań",starterFeat2:"Wszystkie podstawowe funkcje",starterFeat3:"Powiadomienia e-mail",starterCta:"Zdobądź 20 nagrań",proName:"Pro",proPrice:"$12",proPer:"/mies.",proSub:"Dla profesjonalistów chcących bez limitu",proFeat1:"Nieograniczone nagrania",proFeat2:"Powiadomienia Telegram",pro
748Feat3:"Zaawansowane analizy",proFeat4:"Wsparcie priorytetowe",proCta:"Zdobądź Pro",entName:"Enterprise",entPrice:"Indywidualny",entSub:"Dla zespołów i organizacji",entFeat1:"Nieograniczone spotkania",entFeat2:"Zarządzanie zespołem",entFeat3:"Dostęp do API",entFeat4:"Dedykowane wsparcie",entCta:"Skontaktuj się",mostPopular:"Najpopularniejszy",alwaysFree:"Zawsze bezpłatny"},faq:{title:"Często zadawane pytania",subtitle:"Wszystko, co musisz wiedzieć o SpeakFlare",contactUs:"Skontaktuj się",stillHave:"Nadal masz pytania?"}},Zse={navbar:{features:"Functies",faq:"FAQ",pricing:"Prijzen",signIn:"Inloggen",startFree:"Gratis beginnen"},home:{badge:"Gratis beginnen · 50+ talen · Geen kaart",heroTitle1:"Spreek",heroTitle2:"slim.",heroTitle3:"Niet slordig.",heroSub:"Elk gesprek opgenomen. Elke fout gevangen. Grammatica, vulwoorden, duidelijkheid — automatisch gecorrigeerd.",cta:"Gratis beginnen — geen kaart nodig",ctaSecondary:"Inloggen",stat1:"30 sec",stat1label:"gratis demo, geen registratie",stat2:"50+",stat2label:"talen",stat3:"95%",stat3label:"nauwkeurigheid",stat4:"Zoom & Meet",stat4label:"ondersteund",seeInAction:"Zie SpeakFlare in actie",steps:"3 eenvoudige stappen naar beter spreken",step1num:"1",step1title:"Opnemen",step1desc:"Druk op opnemen tijdens uw vergadering, gesprek of presentatie",step2num:"2",step2title:"AI analyseert",step2desc:"Onze AI vindt grammaticafouten, vulwoorden en duidelijkheidsproblemen",step3num:"3",step3title:"Verbeter",step3desc:"Ontvang een gedetailleerd rapport met suggesties en volg uw voortgang",seeDiff:"Zie het verschil",seeDiffSub:"Echte voorbeelden van hoe SpeakFlare uw spraak verbetert",fillerWords:"Vulwoorden",before:"Voor:",after:"Na:",grammarError:"Grammaticafout",clarityIssue:"Duidelijkheidsprobleem",telegramTitle:"Ontvang directe feedback op Telegram",telegramSub:"Na elke vergadering een samenvatting ontvangen met wat te verbeteren",emailTitle:"Gedetailleerde rapporten in uw inbox",emailSub:"Uitgebreide analyse met bruikbare suggesties ontvangen",whatWeAnalyze:"Wat we analyseren",feat1title:"Grammaticafouten",feat1desc:"Onderwerp-werkwoord overeenkomst, tijdsconsistentie, zinstructuur",feat2title:"Vulwoorden",feat2desc:"«Eh», «uhm», «eigenlijk», «gewoon» en andere aarzelingmarkers",feat3title:"Duidelijkheidsproblemen",feat3desc:"Vaag taalgebruik, onduidelijke verwijzingen, complexe zinnen",feat4title:"Zwak taalgebruik",feat4desc:"Afzwakkende woorden, passieve stem, gebrek aan zelfvertrouwen",available:"Overal beschikbaar",noCommit:"Geen verplichting · Op elk moment opzeggen",ctaBottom:"Begin vandaag beter te spreken.",ctaBottomSub:"Probeer een gratis demo van 30 seconden — geen registratie. Wanneer u er klaar voor bent, ontgrendelt $5 20 volledige opname-analyses.",ctaBottomBtn:"Gratis beginnen"},login:{title:"Inloggen",subtitle:"om door te gaan naar SpeakFlare",email:"E-mail",emailPlaceholder:"[email protected]",password:"Wachtwoord",passwordPlaceholder:"Voer uw wachtwoord in",forgot:"Wachtwoord vergeten?",signing:"Inloggen...",signIn:"Inloggen",newUser:"Nieuw bij SpeakFlare?",createAccount:"Account aanmaken",failed:"Inloggen mislukt",invalid:"Ongeldig e-mailadres of wachtwoord"},register:{title:"Maak uw account aan",subtitle:"Begin vandaag uw spreekvaardigheden te verbeteren",badge:"Gratis demo van 30 seconden, geen registratie — daarna $5 voor 20 opnames",firstName:"Voornaam",firstPlaceholder:"Jan",lastName:"Achternaam",lastPlaceholder:"de Vries",email:"E-mail",emailPlaceholder:"[email protected]",password:"Wachtwoord",passPlaceholder:"Maak een wachtwoord aan",passHint:"Minimaal 6 tekens",creating:"Account aanmaken...",create:"Account aanmaken",created:"Account aangemaakt!",welcome:"Welkom bij SpeakFlare",failed:"Registratie mislukt",failedDesc:"Account kon niet worden aangemaakt",alreadyHave:"Heeft u al een account?",signIn:"Inloggen"},forgot:{title:"Wachtwoord vergeten?",subtitle:"Geen probleem, we sturen u herstelinstructies",emailLabel:"E-mailadres",placeholder:"[email protected]",hint:"Voer het e-mailadres in dat aan uw account is gekoppeld",send:"Instructies verzenden",backToLogin:"Terug naar inloggen",checkEmail:"Controleer uw e-mail",sentDesc:"We hebben instructies voor wachtwoordherstel verzonden",sentNote1:"Als er een account bestaat voor",sentNote2:", ontvangt u binnen enkele minuten een e-mail.",tips:"Ziet u het niet? Controleer uw spammap.",tip1:"Controleer of u het juiste e-mailadres heeft ingevoerd",tip2:"Controleer uw spam- of ongewenste e-mailmap",tip3:"Wacht een paar minuten en probeer opnieuw",tryDiff:"Probeer een ander e-mailadres",note:"Opmerking:",sentFrom:"Wachtwoordherstel e-mails worden verzonden vanu
748it",spamNote:"Zorg ervoor dat u uw spammap controleert als u het niet in uw inbox ziet."},pricing:{title:"Eenvoudige prijzen",subtitle:"$5 voor 20 opnames (betalen naar gebruik). Gratis demo van 30 seconden, geen registratie.",freeName:"Gratis",freePrice:"$0",freeCta:"Demo proberen",freeSub:"Demo van 30 seconden — geen registratie",freeFeat1:"Gratis demo van 30 seconden",freeFeat2:"Geen registratie, geen kaart",freeFeat3:"Grammatica- en vulwoorddetectie",freeFeat4:"Directe AI-feedback",starterName:"Betalen naar gebruik",starterPrice:"$5",starterPer:"/20 opnames",starterSub:"Credits verlopen nooit",starterFeat1:"20 volledige opname-analyses",starterFeat2:"Alle kernfuncties",starterFeat3:"E-mailmeldingen",starterCta:"20 opnames krijgen",proName:"Pro",proPrice:"$12",proPer:"/maand",proSub:"Voor professionals die onbeperkt willen",proFeat1:"Onbeperkte opnames",proFeat2:"Telegram-meldingen",proFeat3:"Geavanceerde analyses",proFeat4:"Prioriteitsondersteuning",proCta:"Pro krijgen",entName:"Enterprise",entPrice:"Op maat",entSub:"Voor teams en organisaties",entFeat1:"Onbeperkte vergaderingen",entFeat2:"Teambeheer",entFeat3:"API-toegang",entFeat4:"Toegewijde ondersteuning",entCta:"Contact verkoop",mostPopular:"Meest populair",alwaysFree:"Altijd gratis"},faq:{title:"Veelgestelde vragen",subtitle:"Alles wat u moet weten over SpeakFlare",contactUs:"Neem contact op",stillHave:"Heeft u nog vragen?"}},Qse={navbar:{features:"功能",faq:"常见问题",pricing:"定价",signIn:"登录",startFree:"免费开始"},home:{badge:"免费开始 · 50多种语言 · 无需信用卡",heroTitle1:"说话",heroTitle2:"聪明。",heroTitle3:"不再随意。",heroSub:"每次通话都有录音。每个错误都被捕捉。语法、填充词、清晰度——自动修正。",cta:"免费开始——无需信用卡",ctaSecondary:"登录",stat1:"30秒",stat1label:"免费演示,无需注册",stat2:"50+",stat2label:"种语言",stat3:"95%",stat3label:"准确率",stat4:"Zoom & Meet",stat4label:"已支持",seeInAction:"观看 SpeakFlare 实际演示",steps:"三个简单步骤,提升口语水平",step1num:"1",step1title:"录制",step1desc:"在会议、通话或演示期间按下录制",step2num:"2",step2title:"AI 分析",step2desc:"我们的 AI 发现语法错误、填充词和清晰度问题",step3num:"3",step3title:"提升",step3desc:"获取包含建议的详细报告,并跟踪您的进步",seeDiff:"看看区别",seeDiffSub:"SpeakFlare 如何改善您的表达的真实案例",fillerWords:"填充词",before:"改善前:",after:"改善后:",grammarError:"语法错误",clarityIssue:"清晰度问题",telegramTitle:"在 Telegram 上获得即时反馈",telegramSub:"每次会议后,收到包含改进建议的摘要",emailTitle:"详细报告发送至您的收件箱",emailSub:"获取包含可行建议的全面分析",whatWeAnalyze:"我们分析什么",feat1title:"语法错误",feat1desc:"主谓一致、时态一致性、句子结构",feat2title:"填充词",feat2desc:"「那个」、「就是」、「然后」、「嗯」等犹豫标记",feat3title:"清晰度问题",feat3desc:"模糊语言、不清晰的引用、复杂句子",feat4title:"语言软弱",feat4desc:"模糊词、被动语态、缺乏自信",available:"随处可用",noCommit:"无需承诺 · 随时取消",ctaBottom:"今天就开始说得更好。",ctaBottomSub:"试用免费30秒演示——无需注册。准备好后,5美元即可解锁20次完整录音分析。",ctaBottomBtn:"免费开始"},login:{title:"登录",subtitle:"继续使用 SpeakFlare",email:"电子邮件",emailPlaceholder:"您@示例.com",password:"密码",passwordPlaceholder:"输入您的密码",forgot:"忘记密码?",signing:"登录中...",signIn:"登录",newUser:"初次使用 SpeakFlare?",createAccount:"创建账户",failed:"登录失败",invalid:"电子邮件或密码无效"},register:{title:"创建您的账户",subtitle:"今天就开始提升您的口语",badge:"免费30秒演示,无需注册——之后5美元可分析20次录音",firstName:"名字",firstPlaceholder:"小明",lastName:"姓氏",lastPlaceholder:"王",email:"电子邮件",emailPlaceholder:"您@示例.com",password:"密码",passPlaceholder:"创建密码",passHint:"至少6个字符",creating:"创建账户中...",create:"创建账户",created:"账户已创建!",
748welcome:"欢迎使用 SpeakFlare",failed:"注册失败",failedDesc:"无法创建账户",alreadyHave:"已有账户?",signIn:"登录"},forgot:{title:"忘记密码?",subtitle:"别担心,我们会发送重置说明",emailLabel:"电子邮件地址",placeholder:"您的邮件@示例.com",hint:"输入与您账户关联的电子邮件地址",send:"发送重置说明",backToLogin:"返回登录",checkEmail:"检查您的电子邮件",sentDesc:"我们已发送密码重置说明",sentNote1:"如果存在账户",sentNote2:",您将在几分钟内收到一封电子邮件。",tips:"没看到?检查垃圾邮件文件夹。",tip1:"确认您输入了正确的电子邮件地址",tip2:"检查您的垃圾邮件或垃圾文件夹",tip3:"等几分钟后重试",tryDiff:"尝试不同的电子邮件地址",note:"注意:",sentFrom:"密码重置邮件发送自",spamNote:"如果您在收件箱中看不到,请务必检查垃圾邮件文件夹。"},pricing:{title:"简单定价",subtitle:"5美元分析20次录音(按需付费)。免费30秒演示,无需注册。",freeName:"免费",freePrice:"$0",freeCta:"试用演示",freeSub:"30秒演示——无需注册",freeFeat1:"免费30秒演示",freeFeat2:"无需注册,无需信用卡",freeFeat3:"语法和填充词检测",freeFeat4:"即时 AI 反馈",starterName:"按需付费",starterPrice:"$5",starterPer:"/20次录音",starterSub:"积分永不过期",starterFeat1:"20次完整录音分析",starterFeat2:"所有核心功能",starterFeat3:"电子邮件通知",starterCta:"获取20次录音",proName:"专业版",proPrice:"$12",proPer:"/月",proSub:"适合想要无限使用的专业人士",proFeat1:"无限录音",proFeat2:"Telegram 通知",proFeat3:"高级分析",proFeat4:"优先支持",proCta:"获取专业版",entName:"企业版",entPrice:"定制",entSub:"适合团队和组织",entFeat1:"无限会议",entFeat2:"团队管理",entFeat3:"API 访问",entFeat4:"专属支持",entCta:"联系销售",mostPopular:"最受欢迎",alwaysFree:"永久免费"},faq:{title:"常见问题",subtitle:"您需要了解的关于 SpeakFlare 的一切",contactUs:"联系我们",stillHave:"还有问题?"}},Xse={navbar:{features:"機能",faq:"よくある質問",pricing:"料金",signIn:"ログイン",startFree:"無料で始める"},home:{badge:"無料スタート · 50以上の言語 · カード不要",heroTitle1:"スマートに",heroTitle2:"話す。",heroTitle3:"だらしなくなく。",heroSub:"すべての通話を録音。すべてのミスを検知。文法、つなぎ言葉、明瞭さ — 自動的に修正。",cta:"無料で始める — カード不要",ctaSecondary:"ログイン",stat1:"30秒",stat1label:"無料デモ、登録不要",stat2:"50以上",stat2label:"の言語",stat3:"95%",stat3label:"精度",stat4:"Zoom & Meet",stat4label:"対応",seeInAction:"SpeakFlare の動作を見る",steps:"より良い話し方への3つの簡単なステップ",step1num:"1",step1title:"録音",step1desc:"会議、通話、プレゼン中に録音ボタンを押す",step2num:"2",step2title:"AIが分析",step2desc:"AIが文法エラー、つなぎ言葉、明瞭さの問題を検出",step3num:"3",step3title:"改善",step3desc:"提案付きの詳細レポートを受け取り、進捗を追跡",seeDiff:"違いを見る",seeDiffSub:"SpeakFlare があなたの話し方を改善する実際の例",fillerWords:"つなぎ言葉",before:"改善前:",after:"改善後:",grammarError:"文法エラー",clarityIssue:"明瞭さの問題",telegramTitle:"Telegram でインスタントフィードバックを受け取る",telegramSub:"毎回の会議後に改善点のサマリーを受け取る",emailTitle:"受信箱に詳細レポート",emailSub:"実用的な提案付きの包括的な分析を受け取る",whatWeAnalyze:"何を分析するか",feat1title:"文法エラー",feat1desc:"主語と動詞の一致、時制の一貫性、文章構造",feat2title:"つなぎ言葉",feat2desc:"「えーと」「あの」「まあ」「なんか」などのためらいのマーカー",feat3title:"明瞭さの問題",feat3desc:"曖昧な表現、不明瞭な参照、複雑な文章",feat4title:"弱い言語",feat4desc:"言葉を和らげる表現、受動態、自信の欠如",available:"どこでも利用可能",noCommit:"コミットメント不要 · いつでもキャンセル",ctaBottom:"今日からより良い話し方を始めよう。",ctaBottomSub:"無料の30秒デモをお試しください — 登録不要。準備ができたら、5ドルで20件の完全な録音分析が利用できます。",ctaBottomBtn:"無料で始める"},login:{title:"ログイン",subtitle:"SpeakFlare を続けるには",email:"メールアドレス",emailPlaceholder:"[email protected]",password:"パスワード",passwordPlaceholder:"パスワードを入力",forgot:"パスワードをお忘れですか?",signing:"ログイン中...",signIn:"ログイン",newUser:"SpeakFlare は初めてですか?",createAccount:"アカウントを作成",failed:"ログインに失敗しました",invali
748d:"メールアドレスまたはパスワードが無効です"},register:{title:"アカウントを作成",subtitle:"今日から話し方を改善しよう",badge:"無料の30秒デモ、登録不要 — その後は5ドルで20件の録音",firstName:"名",firstPlaceholder:"太郎",lastName:"姓",lastPlaceholder:"山田",email:"メールアドレス",emailPlaceholder:"[email protected]",password:"パスワード",passPlaceholder:"パスワードを作成",passHint:"6文字以上必要",creating:"アカウント作成中...",create:"アカウントを作成",created:"アカウントが作成されました!",welcome:"SpeakFlare へようこそ",failed:"登録に失敗しました",failedDesc:"アカウントを作成できませんでした",alreadyHave:"すでにアカウントをお持ちですか?",signIn:"ログイン"},forgot:{title:"パスワードをお忘れですか?",subtitle:"ご心配なく、リセット手順をお送りします",emailLabel:"メールアドレス",placeholder:"[email protected]",hint:"アカウントに関連付けられたメールアドレスを入力してください",send:"リセット手順を送信",backToLogin:"ログインに戻る",checkEmail:"メールを確認してください",sentDesc:"パスワードリセット手順を送信しました",sentNote1:"アカウントが存在する場合",sentNote2:"、数分以内にメールが届きます。",tips:"見つかりませんか?迷惑メールフォルダをご確認ください。",tip1:"正しいメールアドレスを入力したか確認してください",tip2:"迷惑メールまたはジャンクフォルダを確認してください",tip3:"数分待ってからもう一度お試しください",tryDiff:"別のメールアドレスをお試しください",note:"注意:",sentFrom:"パスワードリセットメールはこちらから送信されます:",spamNote:"受信トレイに見当たらない場合は、迷惑メールフォルダをご確認ください。"},pricing:{title:"シンプルな料金",subtitle:"20件の録音で5ドル(従量課金)。無料の30秒デモ、登録不要。",freeName:"無料",freePrice:"$0",freeCta:"デモを試す",freeSub:"30秒デモ — 登録不要",freeFeat1:"無料の30秒デモ",freeFeat2:"登録不要、カード不要",freeFeat3:"文法・つなぎ言葉の検出",freeFeat4:"即時のAIフィードバック",starterName:"従量課金",starterPrice:"$5",starterPer:"/20件の録音",starterSub:"クレジットは失効しません",starterFeat1:"20件の完全な録音分析",starterFeat2:"すべてのコア機能",starterFeat3:"メール通知",starterCta:"20件の録音を取得",proName:"Pro",proPrice:"$12",proPer:"/月",proSub:"無制限を求めるプロフェッショナル向け",proFeat1:"無制限の録音",proFeat2:"Telegram通知",proFeat3:"高度な分析",proFeat4:"優先サポート",proCta:"Pro を取得",entName:"エンタープライズ",entPrice:"カスタム",entSub:"チームや組織向け",entFeat1:"無制限の会議",entFeat2:"チーム管理",entFeat3:"APIアクセス",entFeat4:"専任サポート",entCta:"営業に問い合わせ",mostPopular:"最も人気",alwaysFree:"常に無料"},faq:{title:"よくある質問",subtitle:"SpeakFlare について知っておくべきこと",contactUs:"お問い合わせ",stillHave:"まだ質問がありますか?"}},Jse={navbar:{features:"기능",faq:"자주 묻는 질문",pricing:"가격",signIn:"로그인",startFree:"무료 시작"},home:{badge:"무료 시작 · 50개 이상의 언어 · 카드 불필요",heroTitle1:"스마트하게",heroTitle2:"말하세요.",heroTitle3:"무심하지 않게.",heroSub:"모든 통화 녹음. 모든 실수 포착. 문법, 필러 단어, 명확성 — 자동으로 수정.",cta:"무료 시작 — 카드 불필요",ctaSecondary:"로그인",stat1:"30초",stat1label:"무료 데모, 가입 불필요",stat2:"50+",stat2label:"개 언어",stat3:"95%",stat3label:"정확도",stat4:"Zoom & Meet",stat4label:"지원",seeInAction:"SpeakFlare 실제 작동 보기",steps:"더 나은 말하기를 위한 3단계",step1num:"1",step1title:"녹음",step1desc:"회의, 통화 또는 발표 중에 녹음을 누르세요",step2num:"2",step2title:"AI 분석",step2desc:"AI가 문법 오류, 필러 단어 및 명확성 문제를 찾아냅니다",step3num:"3",step3title:"향상",step3desc:"제안이 포함된 상세 보고서를 받고 진행 상황을 추적하세요",seeDiff:"차이를 보세요",seeDiffSub:"SpeakFlare가 말하기를 개선하는 실제 예ì‹
748œ",fillerWords:"필러 단어",before:"이전:",after:"이후:",grammarError:"문법 오류",clarityIssue:"명확성 문제",telegramTitle:"Telegram에서 즉각적인 피드백 받기",telegramSub:"매 회의 후 개선할 사항 요약 받기",emailTitle:"받은 편지함에 상세 보고서",emailSub:"실행 가능한 제안이 포함된 포괄적인 분석 받기",whatWeAnalyze:"우리가 분석하는 것",feat1title:"문법 오류",feat1desc:"주어-동사 일치, 시제 일관성, 문장 구조",feat2title:"필러 단어",feat2desc:"「음」, 「어」, 「그」, 「뭐냐면」 등 망설임 마커",feat3title:"명확성 문제",feat3desc:"모호한 언어, 불명확한 참조, 복잡한 문장",feat4title:"약한 언어",feat4desc:"헤징 단어, 수동태, 자신감 부족",available:"어디서나 이용 가능",noCommit:"약정 없음 · 언제든지 취소",ctaBottom:"오늘부터 더 잘 말하기 시작하세요.",ctaBottomSub:"무료 30초 데모를 사용해 보세요 — 가입 불필요. 준비되면 5달러로 20건의 전체 녹음 분석을 이용할 수 있습니다.",ctaBottomBtn:"무료 시작"},login:{title:"로그인",subtitle:"SpeakFlare를 계속 사용하려면",email:"이메일",emailPlaceholder:"[email protected]",password:"비밀번호",passwordPlaceholder:"비밀번호를 입력하세요",forgot:"비밀번호를 잊으셨나요?",signing:"로그인 중...",signIn:"로그인",newUser:"SpeakFlare가 처음이신가요?",createAccount:"계정 만들기",failed:"로그인 실패",invalid:"이메일 또는 비밀번호가 잘못되었습니다"},register:{title:"계정 만들기",subtitle:"오늘부터 말하기 실력을 향상시키세요",badge:"무료 30초 데모, 가입 불필요 — 이후 5달러로 20ê±´ 녹음",firstName:"이름",firstPlaceholder:"민준",lastName:"성",lastPlaceholder:"김",email:"이메일",emailPlaceholder:"[email protected]",password:"비밀번호",passPlaceholder:"비밀번호 만들기",passHint:"최소 6자 이상",creating:"계정 만드는 중...",create:"계정 만들기",created:"계정이 만들어졌습니다!",welcome:"SpeakFlare에 오신 것을 환영합니다",failed:"등록 실패",failedDesc:"계정을 만들 수 없습니다",alreadyHave:"이미 계정이 있으신가요?",signIn:"로그인"},forgot:{title:"비밀번호를 잊으셨나요?",subtitle:"걱정 마세요, 재설정 안내를 보내드립니다",emailLabel:"이메일 주소",placeholder:"[email protected]",hint:"계정에 등록된 이메일 주소를 입력하세요",send:"재설정 안내 보내기",backToLogin:"로그인으로 돌아가기",checkEmail:"이메일을 확인하세요",sentDesc:"비밀번호 재설정 안내를 보내드렸습니다",sentNote1:"계정이 존재하는 경우",sentNote2:", 몇 분 안에 이메일을 받게 됩니다.",tips:"보이지 않나요? 스팸 폴더를 확인하세요.",tip1:"올바른 이메일 주소를 입력했는지 확인하세요",tip2:"스팸 또는 정크 메일 폴더를 확인하세요",tip3:"몇 분 기다렸다가 다시 시도하세요",tryDiff:"다른 이메일 주소로 시도하세요",note:"참고:",sentFrom:"비밀번호 재설정 이메일은 다음에서 발송됩니다:",spamNote:"받은 편지함에 보이지 않으면 스팸 폴더를 ê¼­ 확인하세요."},pricing:{title:"간단한 가격",subtitle:"20ê±´ 녹음에 5달러(사용한 만큼 지불). 무료 30초 데모, 가입 불필요.",freeName:"무료",freePrice:"$0",freeCta:"데모 사용해 보기",freeSub:"30초 데모 — 가입 불필요",freeFeat1:"무료 30초 데모",freeFeat2:"가입 불필요, 카드 불필요",freeFeat3:"문법 및 필러 단어 감지",freeFeat4:"즉각적인 AI 피드백",starterName:"사용한 만큼 지불",starterPrice:"$5",starterPer:"/20ê±´ 녹음",starterSub:"크레딧은 만료되지 않습니다",starterFeat1:"20건의 전체 녹음 분석",starterFeat2:"모든 핵심 기능",starterFeat3:"이메일 알림",starterCta:"20ê±´ 녹음 받기",proName:"Pro",proPrice:"$12",proPer:"/월",proSub:"무제한을 원하는 전문가용",proFeat1:"무제한 녹음",proFeat2:"Telegram 알림",proFeat3:"고급 분석",proFeat4:"우선 지원",proCta:"Pro 구독",entName:"엔터프라이즈",entPrice:"맞춤형",entSub:"팀 및 조직용",entFeat1:"무제한 회의",entFeat2:"팀 관리",entFeat3:"API 접근",entFeat4:"전담 지원",entCta:"영업팀 문의",mostPopular:"가장 인기",alwaysFree:"항상 무료"}
748,faq:{title:"자주 묻는 질문",subtitle:"SpeakFlare에 대해 알아야 할 모든 것",contactUs:"문의하기",stillHave:"아직 질문이 있나요?"}},eie={navbar:{features:"सुविधाएं",faq:"FAQ",pricing:"मूल्य",signIn:"साइन इन",startFree:"मुफ्त शुरू करें"},home:{badge:"शुरू करना मुफ्त · 50+ भाषाएं · कार्ड की जरूरत नहीं",heroTitle1:"स्मार्ट तरीके से",heroTitle2:"बोलें।",heroTitle3:"लापरवाही से नहीं।",heroSub:"हर कॉल रिकॉर्ड की गई। हर गलती पकड़ी गई। व्याकरण, भराव शब्द, स्पष्टता — स्वचालित रूप से ठीक।",cta:"मुफ्त शुरू करें — कार्ड की जरूरत नहीं",ctaSecondary:"साइन इन",stat1:"30 सेकंड",stat1label:"मुफ्त डेमो, साइन-अप नहीं",stat2:"50+",stat2label:"भाषाएं",stat3:"95%",stat3label:"सटीकता",stat4:"Zoom & Meet",stat4label:"समर्थित",seeInAction:"SpeakFlare को काम करते देखें",steps:"बेहतर बोलने के लिए 3 सरल चरण",step1num:"1",step1title:"रिकॉर्ड करें",step1desc:"अपनी मीटिंग, कॉल या प्रेजेंटेशन के दौरान रिकॉर्ड दबाएं",step2num:"2",step2title:"AI विश्लेषण करता है",step2desc:"हमारी AI व्याकरण संबंधी गलतियां, भराव शब्द और स्पष्टता की समस्याएं ढूंढती है",step3num:"3",step3title:"सुधार करें",step3desc:"सुझावों के साथ विस्तृत रिपोर्ट प्राप्त करें और अपनी प्रगति ट्रैक करें",seeDiff:"अंतर देखें",seeDiffSub:"वास्तविक उदाहरण कि SpeakFlare आपकी बोली को कैसे सुधारता है",fillerWords:"भराव शब्द",before:"पहले:",after:"बाद में:",grammarError:"व्याकरण की गलती",clarityIssue:"स्पष्टता की समस्या",telegramTitle:"Telegram पर तत्काल फीडबैक प्राप्त करें",telegramSub:"हर मीटिंग के बाद सुधार के सुझावों के साथ सारांश प्राप्त करें",emailTitle:"आपके इनबॉक्स में विस्तृत रिपोर्ट",emailSub:"कार्रवाई योग्य सुझावों के साथ व्यापक विश्लेषण प्राप्त करें",whatWeAnalyze:"हम क्या विश्लेषण करते हैं",feat1title:"व्याकरण की गलतियां",feat1desc:"कर्ता-क्रिया समझौता, काल की स्थिरता, वाक्य संरचना",feat2title:"भराव शब्द",feat2desc:"«उम», «अच्छा», «यानी», «तो» और अन्य झिझक संकेतक",feat3title:"स्पष्टता की समस्याएं",feat3desc:"अस्पष्ट भाषा, अस्पष्ट संदर्भ, जटिल वाक्य",feat4title:"कमजोर भाषा",feat4desc:"हेजिंग शब्द, निष्क्रिय आवाज, आत्मविश्वास की कमी",available:"हर जगह उपलब्ध",noCommit:"कोई प्रतिबद्धता नहीं · कभी भी रद्द करें",ctaBottom:"आज से बेहतर बोलना शुरू करें।",ctaBottomSub:"मु
748फ्त 30-सेकंड डेमो आज़माएं — साइन-अप नहीं। जब आप तैयार हों, $5 में 20 पूर्ण रिकॉर्डिंग विश्लेषण अनलॉक होते हैं।",ctaBottomBtn:"मुफ्त शुरू करें"},login:{title:"साइन इन",subtitle:"SpeakFlare जारी रखने के लिए",email:"ईमेल",emailPlaceholder:"[email protected]",password:"पासवर्ड",passwordPlaceholder:"अपना पासवर्ड दर्ज करें",forgot:"पासवर्ड भूल गए?",signing:"साइन इन हो रहा है...",signIn:"साइन इन",newUser:"SpeakFlare में नए हैं?",createAccount:"खाता बनाएं",failed:"लॉगिन विफल",invalid:"अमान्य ईमेल या पासवर्ड"},register:{title:"अपना खाता बनाएं",subtitle:"आज से अपनी बोलचाल सुधारना शुरू करें",badge:"मुफ्त 30-सेकंड डेमो, साइन-अप नहीं — फिर 20 रिकॉर्डिंग के लिए $5",firstName:"पहला नाम",firstPlaceholder:"राज",lastName:"उपनाम",lastPlaceholder:"शर्मा",email:"ईमेल",emailPlaceholder:"[email protected]",password:"पासवर्ड",passPlaceholder:"पासवर्ड बनाएं",passHint:"कम से कम 6 अक्षर होने चाहिए",creating:"खाता बनाया जा रहा है...",create:"खाता बनाएं",created:"खाता बनाया गया!",welcome:"SpeakFlare में आपका स्वागत है",failed:"पंजीकरण विफल",failedDesc:"खाता नहीं बनाया जा सका",alreadyHave:"पहले से खाता है?",signIn:"साइन इन"},forgot:{title:"पासवर्ड भूल गए?",subtitle:"चिंता न करें, हम आपको रीसेट निर्देश भेजेंगे",emailLabel:"ईमेल पता",placeholder:"[email protected]",hint:"अपने खाते से जुड़ा ईमेल पता दर्ज करें",send:"रीसेट निर्देश भेजें",backToLogin:"लॉगिन पर वापस जाएं",checkEmail:"अपना ईमेल जांचें",sentDesc:"हमने पासवर्ड रीसेट निर्देश भेजे हैं",sentNote1:"यदि खाता मौजूद है",sentNote2:", तो आपको कुछ मिनटों में ईमेल मिलेगा।",tips:"नहीं दिख रहा? स्पैम फ़ोल्डर जांचें।",tip1:"जांचें कि आपने सही ईमेल पता दर्ज किया है",tip2:"अपना स्पैम या जंक मेल फ़ोल्डर जांचें",tip3:"कुछ मिनट प्रतीक्षा करें और पुनः प्रयास करें",tryDiff:"एक अलग ईमेल पता आजमाएं",note:"नोट:",sentFrom:"पासवर्ड रीसेट ईमेल इससे भेजे जाते हैं:",spamNote:"यदि इनबॉक्स में नहीं दिखता तो स्पैम फ़ोल्डर जरूर जांचें।"},pricing:{title:"सरल मूल्य निर्धारण",subtitle:"20 रिकॉर्डिंग के लिए $5 (उपयोग के अनुसार भुगतान)। मुफ्त 30-सेकंड डेमो, साइन-अप नहीं।",freeName:"मुफ्त",freePrice:"$0",freeCta:"डेमो आज़माएं",freeSub:"30-सेकंड डेमो — साइन-अप नहीं",freeFeat1:"मुफ्त 30-सेकंड डेमो",freeFeat2:"साइन-अप नहीं, कार्ड नहीं",freeFeat3:"व्याकरण और भराà
748¤µ शब्द पहचान",freeFeat4:"तत्काल AI प्रतिक्रिया",starterName:"उपयोग अनुसार भुगतान",starterPrice:"$5",starterPer:"/20 रिकॉर्डिंग",starterSub:"क्रेडिट कभी समाप्त नहीं होते",starterFeat1:"20 पूर्ण रिकॉर्डिंग विश्लेषण",starterFeat2:"सभी मुख्य सुविधाएं",starterFeat3:"ईमेल सूचनाएं",starterCta:"20 रिकॉर्डिंग प्राप्त करें",proName:"Pro",proPrice:"$12",proPer:"/माह",proSub:"असीमित चाहने वाले पेशेवरों के लिए",proFeat1:"असीमित रिकॉर्डिंग",proFeat2:"Telegram सूचनाएं",proFeat3:"उन्नत विश्लेषण",proFeat4:"प्राथमिकता समर्थन",proCta:"Pro प्राप्त करें",entName:"एंटरप्राइज",entPrice:"कस्टम",entSub:"टीमों और संगठनों के लिए",entFeat1:"असीमित मीटिंग",entFeat2:"टीम प्रबंधन",entFeat3:"API एक्सेस",entFeat4:"समर्पित समर्थन",entCta:"सेल्स से संपर्क करें",mostPopular:"सबसे लोकप्रिय",alwaysFree:"हमेशा मुफ्त"},faq:{title:"अक्सर पूछे जाने वाले प्रश्न",subtitle:"SpeakFlare के बारे में वह सब जो आपको जानना चाहिए",contactUs:"संपर्क करें",stillHave:"अभी भी सवाल हैं?"}},tie={navbar:{features:"Можливості",faq:"FAQ",pricing:"Ціни",signIn:"Увійти",startFree:"Почати безкоштовно"},home:{badge:"Безкоштовний старт · 50+ мов · Без картки",heroTitle1:"Говоріть",heroTitle2:"розумно.",heroTitle3:"Не недбало.",heroSub:"Кожен дзвінок записаний. Кожна помилка виявлена. Граматика, слова-паразити, ясність — виправляється автоматично.",cta:"Почати безкоштовно — без картки",ctaSecondary:"Увійти",stat1:"30 сек",stat1label:"безкоштовне демо, без реєстрації",stat2:"50+",stat2label:"мов",stat3:"95%",stat3label:"точність",stat4:"Zoom & Meet",stat4label:"підтримується",seeInAction:"Подивіться SpeakFlare у дії",steps:"3 прості кроки до кращого мовлення",step1num:"1",step1title:"Запишіть",step1desc:"Натисніть запис під час зустрічі, дзвінка або презентації",step2num:"2",step2title:"ШІ аналізує",step2desc:"Наш ШІ знаходить граматичні помилки, слова-паразити та проблеми ясності",step3num:"3",step3title:"Покращуйтесь",step3desc:"Отримайте детальний звіт із порадами та відстежуйте прогрес",seeDiff:"Побачте різницю",seeDiffSub:"Реальні приклади того, як SpeakFlare покращує ваше мовлення",fillerWords:"Слова-паразити",before:"До:",after:"Після:",grammarError:"Граматична помилка",clarityIssue:"Проблема ясності",telegramTitle:"Отримуйте миттєвий зворотній зв'язок у Telegram",telegramSub:"Після кожної зустрічі отримуйте підсумок із тим, що покращити",emailTitle:"Детальні звіти у вашу поштову скриньку",emailSub:"Отримайте комплексний аналіз із практичними порадами",whatWeAnalyze:"Що ми аналізуємо",feat1title:"Граматичні помилки",feat1desc:"Узгодження підмета з присудком, узгодженість часів, структура речень",feat2title:"Слова-паразити",feat2desc:"«Е-е», «ну», «типу», «короче» та інші маркери вагання",feat3title:"Проблеми ясності",feat3desc:"Розмита мова, незрозумілі посилання, складні речення",feat4title:"Слабка мова",feat4desc:"Хеджинг-слова, пасивний стан, брак впевненості",available:"Доступно скрізь",noCommit:"Без зобов'язань · Скасуйте будь-коли",ctaBottom:"Почніть говорити краще вже сьогодні.",ctaBottomSub:"Спробуйте безкоштовне 30-секундне демо — без реєстрації. Коли будете готові, 5 $ відкривають 20 повних аналізів записів.",ctaBottomBtn:"Почати безкоштовно"}
748,login:{title:"Увійти",subtitle:"щоб продовжити в SpeakFlare",email:"Ел. пошта",emailPlaceholder:"[email protected]",password:"Пароль",passwordPlaceholder:"Введіть пароль",forgot:"Забули пароль?",signing:"Вхід...",signIn:"Увійти",newUser:"Вперше в SpeakFlare?",createAccount:"Створити акаунт",failed:"Помилка входу",invalid:"Невірна ел. пошта або пароль"},register:{title:"Створити акаунт",subtitle:"Почніть покращувати мовлення вже сьогодні",badge:"Безкоштовне 30-секундне демо, без реєстрації — потім 5 $ за 20 записів",firstName:"Ім'я",firstPlaceholder:"Іван",lastName:"Прізвище",lastPlaceholder:"Іваненко",email:"Ел. пошта",emailPlaceholder:"[email protected]",password:"Пароль",passPlaceholder:"Створіть пароль",passHint:"Мінімум 6 символів",creating:"Створення акаунту...",create:"Створити акаунт",created:"Акаунт створено!",welcome:"Ласкаво просимо до SpeakFlare",failed:"Помилка реєстрації",failedDesc:"Не вдалося створити акаунт",alreadyHave:"Вже є акаунт?",signIn:"Увійти"},forgot:{title:"Забули пароль?",subtitle:"Не хвилюйтесь, ми надішлемо інструкції",emailLabel:"Адреса ел. пошти",placeholder:"[email protected]",hint:"Введіть адресу ел. пошти, пов'язану з вашим акаунтом",send:"Надіслати інструкції",backToLogin:"Повернутися до входу",checkEmail:"Перевірте пошту",sentDesc:"Ми надіслали інструкції для скидання пароля",sentNote1:"Якщо існує акаунт для",sentNote2:", ви отримаєте лист протягом кількох хвилин.",tips:"Не бачите? Перевірте папку «Спам».",tip1:"Переконайтеся, що ввели правильну адресу ел. пошти",tip2:"Перевірте папку «Спам» або «Небажана пошта»",tip3:"Зачекайте кілька хвилин і спробуйте знову",tryDiff:"Спробуйте іншу адресу ел. пошти",note:"Примітка:",sentFrom:"Листи для скидання пароля надсилаються з",spamNote:"Обов'язково перевірте папку «Спам», якщо не бачите листа в папці «Вхідні»."},pricing:{title:"Прості ціни",subtitle:"5 $ за 20 записів (оплата за використання). Безкоштовне 30-секундне демо, без реєстрації.",freeName:"Безкоштовно",freePrice:"$0",freeCta:"Спробувати демо",freeSub:"30-секундне демо — без реєстрації",freeFeat1:"Безкоштовне 30-секундне демо",freeFeat2:"Без реєстрації, без картки",freeFeat3:"Виявлення граматики та слів-паразитів",freeFeat4:"Миттєвий відгук ШІ",starterName:"Оплата за використання",starterPrice:"$5",starterPer:"/20 записів",starterSub:"Кредити ніколи не згорають",starterFeat1:"20 повних аналізів записів",starterFeat2:"Всі основні функції",starterFeat3:"Сповіщення на ел. пошту",starterCta:"Отримати 20 записів",proName:"Pro",proPrice:"$12",proPer:"/міс",proSub:"Для професіоналів, які хочуть без обмежень",proFeat1:"Необмежені записи",proFeat2:"Сповіщення в Telegram",proFeat3:"Розширена аналітика",proFeat4:"Пріоритетна підтримка",proCta:"Отримати Pro",entName:"Корпоративний",entPrice:"Індивідуально",entSub:"Для команд та організацій",entFeat1:"Необмежені зустрічі",entFeat2:"Управління командою",entFeat3:"Доступ до API",entFeat4:"Виділена підтримка",entCta:"Зв'язатися",mostPopular:"Найпопулярніший",alwaysFree:"Завжди безкоштовно"},faq:{title:"Часті запитання",subtitle:"Все, що потрібно знати про SpeakFlare",contactUs:"Зв'язатися",stillHave:"Ще є запитання?"}},rie={en:dW,he:zse,ar:Use,es:Wse,ru:Bse,fr:Vse,de:qse,pt:Hse,it:Gse,tr:Kse,pl:Yse,nl:Zse,zh:Qse,ja:Xse,ko:Jse,hi:eie,uk:tie};function Sc(e){return rie[e||"en"]||dW}function St(){var t;const e=["en","he","ar","es","ru","fr","de","pt","it","tr","pl","nl","zh","ja","ko","hi","uk"];
748if(typeof window<"u"){const r=window.location.pathname.split("/").filter(Boolean)[0];if(r&&e.includes(r))return r}try{const r=localStorage.getItem("sf_lang");if(r&&e.includes(r))return r}catch{}try{const r=(t=navigator.language)==null?void 0:t.slice(0,2);if(r&&e.includes(r))return r}catch{}return"en"}function uW(e){try{localStorage.setItem("sf_lang",e)}catch{}}const bw=[{code:"en",label:"English",flag:"🇺🇸"},{code:"he",label:"עברית",flag:"🇮🇱"},{code:"ar",label:"العربية",flag:"🇸🇦"},{code:"es",label:"Español",flag:"🇪🇸"},{code:"ru",label:"Русский",flag:"🇷🇺"},{code:"fr",label:"Français",flag:"🇫🇷"},{code:"de",label:"Deutsch",flag:"🇩🇪"},{code:"pt",label:"Português",flag:"🇧🇷"},{code:"it",label:"Italiano",flag:"🇮🇹"},{code:"tr",label:"Türkçe",flag:"🇹🇷"},{code:"pl",label:"Polski",flag:"🇵🇱"},{code:"nl",label:"Nederlands",flag:"🇳🇱"},{code:"zh",label:"中文",flag:"🇨🇳"},{code:"ja",label:"日本語",flag:"🇯🇵"},{code:"ko",label:"한국어",flag:"🇰🇷"},{code:"hi",label:"हिन्दी",flag:"🇮🇳"},{code:"uk",label:"Українська",flag:"🇺🇦"}];function He(){var l,c;const[e,t]=ze(),[r,a]=y.useState(()=>St()),s=Sc(r),i=d=>{a(d),uW(d);const u=new Set(["en","he","ar","es","ru","fr","de","pt","it","tr","pl","nl","zh","ja","ko","hi","uk"]),m=e.split("/").filter(Boolean),f=m.length>0&&u.has(m[0])?"/"+m.slice(1).join("/"):e;t(`/${d}${f==="/"||f===""?"":f}`)},o=[{path:"/features",label:s.navbar.features,testId:"nav-features"},{path:"/faq",label:s.navbar.faq,testId:"nav-faq"},{path:"/pricing",label:s.navbar.pricing,testId:"nav-pricing"}];return n.jsx("nav",{className:"sticky top-0 z-50 w-full bg-background",children:n.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:n.jsxs("div",{className:"flex h-16 items-center justify-between",children:[n.jsxs(Fe,{href:"/","data-testid":"link-home",className:"flex items-center gap-2.5 group",children:[n.jsx(am,{size:30}),n.jsxs("span",{className:"text-xl font-bold tracking-tight",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),n.jsx("span",{className:"text-foreground",children:"Flare"})]})]}),n.jsx("div",{className:"hidden md:flex items-center gap-1",children:o.map(d=>{const u=e.startsWith(d.path);return n.jsx(Fe,{href:d.path,"data-testid":d.testId,className:`px-4 py-2 rounded-md text-sm font-medium transition-colors ${u?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground hover:bg-muted/60"}`,children:d.label},d.path)})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx(ti,{className:"h-4 w-4 text-muted-foreground hidden sm:block"}),n.jsxs(zi,{value:r,onValueChange:i,children:[n.jsx(Hs,{className:"h-8 w-auto min-w-[90px] text-sm border-0 bg-transparent shadow-none focus:ring-0 px-1 gap-1",children:n.jsxs(Bi,{children:[(l=bw.find(d=>d.code===r))==null?void 0:l.flag," ",((c=bw.find(d=>d.code===r))==null?void 0:c.label)||r.toUpperCase()]})}),n.jsx(Gs,{align:"end",children:bw.map(d=>n.jsxs(jt,{value:d.code,children:[d.flag," ",d.label]},d.code))})]})]}),n.jsx(Fe,{href:"/login","data-testid":"nav-login",children:n.jsx("span",{className:"hidden sm:inline text-sm font-medium text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:s.navbar.signIn})}),n.jsx(Fe,{href:"/register","data-testid":"nav-register",children:n.jsx(D,{size:"sm",className:"rounded-md px-5 text-sm font-semibold shadow-sm",children:s.navbar.startFree})})]})]})})})}const Et=y.forwardRef(({className:e,type:t,...r},a)=>n.jsx("input",{type:t,className:_e("flex h-9 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...r}));Et.displayName="Input";const L4=["um","uh","erm","hmm","like","you know","i mean","sort of","kind of","basically","actually","literally","so","well","right","okay","just","really"];function nie(e,t){const r=e.toLowerCase().replace(/[.,!?;
748:]/g," "),a=r.split(/\s+/).filter(Boolean).length,s={};let i=` ${r} `;L4.filter(g=>g.includes(" ")).forEach(g=>{const p=new RegExp(`\\s${g.replace(/ /g,"\\s")}\\s`,"g"),x=i.match(p);x&&(s[g]=x.length,i=i.replace(p," "))});const o=i.split(/\s+/).filter(Boolean);L4.filter(g=>!g.includes(" ")).forEach(g=>{const p=o.filter(x=>x===g).length;p&&(s[g]=p)});const l=Object.values(s).reduce((g,p)=>g+p,0),c=Object.entries(s).map(([g,p])=>({word:g,count:p})).sort((g,p)=>p.count-g.count).slice(0,4),d=Math.max(t/60,.05),u=Math.round(a/d),m=Math.round(l/d*10)/10;let h=100;h-=Math.min(45,m*6),u>0&&(u<110&&(h-=Math.min(20,(110-u)/3)),u>170&&(h-=Math.min(20,(u-170)/4))),h=Math.max(20,Math.round(h));let f="Strong, clear delivery";h<55?f="A lot of room to grow":h<75&&(f="Solid, with clear fixes");let b="Your pace and filler rate are in a good range. Keep recording your real calls to hold the habit.";return m>=6?b=`You averaged ${m} fillers per minute. Replace each "um" with a short silent pause — it reads as confidence.`:u>170?b=`You spoke at ${u} words per minute — a touch fast. Aim for 120–160 so key points land.`:u>0&&u<110&&(b=`You spoke at ${u} words per minute — a little slow. A touch more energy keeps listeners engaged.`),{words:a,seconds:t,wpm:u,fillerCount:l,fillersPerMin:m,topFillers:c,score:h,headline:f,tip:b}}function aie({maxSeconds:e=30,source:t="instant-recorder",className:r=""}){const[,a]=ze(),[s,i]=y.useState(!0),[o,l]=y.useState("idle"),[c,d]=y.useState(3),[u,m]=y.useState(0),[h,f]=y.useState(""),[b,g]=y.useState(""),[p,x]=y.useState(null),[v,w]=y.useState(""),[N,j]=y.useState(!1),[k,S]=y.useState(""),C=y.useRef(null),A=y.useRef(""),T=y.useRef(""),E=y.useRef(0),I=y.useRef(null),R=y.useRef(null);y.useEffect(()=>(window.SpeechRecognition||window.webkitSpeechRecognition||i(!1),()=>{var Z;try{(Z=C.current)==null||Z.stop()}catch{}I.current&&clearInterval(I.current),R.current&&clearInterval(R.current)}),[]);const P=()=>{if(!(window.SpeechRecognition||window.webkitSpeechRecognition)){i(!1);return}x(null),f(""),g(""),j(!1),d(3),l("countdown"),R.current=setInterval(()=>{d(Z=>Z<=1?(clearInterval(R.current),M(),0):Z-1)},800)},M=()=>{const U=window.SpeechRecognition||window.webkitSpeechRecognition,Z=new U;Z.continuous=!0,Z.interimResults=!0,Z.lang=navigator.language||"en-US",A.current="",T.current="",Z.onresult=H=>{let Q="";for(let B=H.resultIndex;B<H.results.length;B++){const se=H.results[B][0].transcript;H.results[B].isFinal?A.current+=se+" ":Q+=se}T.current=Q,f(A.current),g(Q)},Z.onerror=H=>{(H.error==="not-allowed"||H.error==="service-not-allowed")&&(i(!1),l("idle"))},C.current=Z,E.current=Date.now();try{Z.start()}catch{}l("recording"),m(0),I.current=setInterval(()=>{const H=Math.floor((Date.now()-E.current)/1e3);m(H),H>=e&&O()},200)},O=()=>{var Q;I.current&&clearInterval(I.current);try{(Q=C.current)==null||Q.stop()}catch{}const U=Math.max(1,Math.floor((Date.now()-E.current)/1e3)),Z=(A.current+" "+T.current).trim();l("done");const H=Z.split(/\s+/).filter(Boolean).length>=3?nie(Z,U):null;if(x(H),H)try{fetch("/api/demo-log",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:t,score:H.score,fillersPerMin:H.fillersPerMin,wpm:H.wpm,words:H.words,transcript:Z.slice(0,4e3),lang:(typeof navigator<"u"?navigator.language:"")||""})}).catch(()=>{})}catch{}},$=()=>{R.current&&clearInterval(R.current),I.current&&clearInterval(I.current),l("idle"),m(0),f(""),g(""),x(null),w(""),j(!1),S("")},_=async()=>{if(S(""),!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(v)){S("Enter a valid email");return}try{await fetch("/api/leads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:v,source:t,score:(p==null?void 0:p.score)??null,fillersPerMin:(p==null?void 0:p.fillersPerMin)??null})})}catch{}j(!0)},F=Math.min(100,Math.round(u/e*100));return n.jsx("div",{className:`bg-card/95 backdrop-blur rounded-xl p-6 sm:p-8 text-left shadow-[0_18px_50px_-12px_rgba(0,0,0,0.35)] ${r}`,children:s?o==="idle"?n.jsxs("div",{className:"text-center",children:[n.jsx("p",{className:"text-sm font-semibold uppercase tracking-widest text-primary mb-1",children:"Try it free, no sign-up"}),n.jsxs("p",{className:"text-lg font-bold mb-5",children:["Record ",e," seconds and see your instant analysis"]}),n.jsx("button",{onClick:P,"data-testid":"button-instant-record",className:"mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-primary text-primary-foreground hover:opacity-90 transition-opacity shadow-lg shadow-primary/30","aria-label":"Start recording",children:n.jsx(Ze,{className:"h-8 w-8"})}),n.jsx("p",{className:"mt-4 text-xs text-muted-foreground",children:"Tap → 3·2·1 → speak. No account, no credit card."})]}):o==="countdown"?n.jsxs("div",{className:"text-center py-4",children:[n.jsx("div",{className:"mx-auto flex h-24 w-24 items-center justify-center rounded-full border-2 border-primary",children:n.jsx("span",{className:"text-5xl font-extrabold text-primary tabular-nums",children:c})}),n.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"Get ready to speak…"})]}):o==="recording"?n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"mx-auto flex h-20 w-20 items-center justify-center rounded-full bg-red-500/10 border-2 border-red-500 animate-pulse",children:n.jsx("span",{className:"text-xl font-bold tabular-nums text-red-500",children:Math.max(0,e-u)}
748)}),n.jsx("div",{className:"mt-4 h-1.5 w-full rounded-full bg-muted overflow-hidden",children:n.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${F}%`}})}),n.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Speak naturally about anything…"}),n.jsxs("div",{className:"mt-3 min-h-[54px] rounded-xl bg-muted/50 p-3 text-sm text-foreground/80",children:[h,n.jsx("span",{className:"text-muted-foreground",children:b}),!h&&!b&&n.jsx("span",{className:"text-muted-foreground",children:"Your words appear here…"})]}),n.jsxs(D,{onClick:O,variant:"outline",size:"sm",className:"mt-4 rounded-full px-6","data-testid":"button-instant-stop",children:[n.jsx(cp,{className:"mr-2 h-3.5 w-3.5 fill-current"})," Stop now"]})]}):p?n.jsxs("div",{children:[n.jsxs("div",{className:"text-center mb-5",children:[n.jsxs("div",{className:"inline-flex items-baseline gap-1",children:[n.jsx("span",{className:"text-5xl font-extrabold text-primary",children:p.score}),n.jsx("span",{className:"text-xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:"mt-1 font-semibold",children:p.headline})]}),n.jsx("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[{v:p.fillerCount,l:"fillers"},{v:p.fillersPerMin,l:"per min"},{v:p.wpm,l:"words/min"}].map(U=>n.jsxs("div",{className:"rounded-xl border border-border p-3 text-center",children:[n.jsx("div",{className:"text-xl font-bold",children:U.v}),n.jsx("div",{className:"text-[11px] text-muted-foreground mt-0.5",children:U.l})]},U.l))}),p.topFillers.length>0&&n.jsx("div",{className:"flex flex-wrap gap-1.5 mb-4",children:p.topFillers.map(U=>n.jsxs("span",{className:"text-xs border border-border rounded-full px-2.5 py-1",children:['"',U.word,'" × ',U.count]},U.word))}),n.jsxs("div",{className:"rounded-xl bg-primary/5 border border-primary/20 p-3 mb-5 flex gap-2.5",children:[n.jsx(oc,{className:"h-4 w-4 text-primary flex-shrink-0 mt-0.5"}),n.jsx("p",{className:"text-sm text-foreground/90",children:p.tip})]}),N?n.jsxs("div",{className:"rounded-xl bg-green-500/10 border border-green-500/30 p-3 mb-4 flex items-center gap-2.5",children:[n.jsx(ut,{className:"h-4 w-4 text-green-600"}),n.jsx("p",{className:"text-sm",children:"On its way — check your inbox."})]}):n.jsxs("div",{className:"mb-4",children:[n.jsx("p",{className:"text-sm font-medium mb-2",children:"Email my full report + 7-day plan"}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[n.jsx(Et,{type:"email",placeholder:"[email protected]",value:v,onChange:U=>w(U.target.value),className:"rounded-full","data-testid":"input-instant-email"}),n.jsx(D,{onClick:_,className:"rounded-full px-5 whitespace-nowrap","data-testid":"button-instant-send",children:"Email it"})]}),k&&n.jsx("p",{className:"text-xs text-red-500 mt-1.5",children:k})]}),n.jsxs("div",{className:"text-center",children:[n.jsxs(D,{onClick:()=>a("/register"),className:"rounded-full px-8 w-full sm:w-auto","data-testid":"button-instant-register",children:["Track every call automatically — free ",n.jsx(At,{className:"ml-2 h-4 w-4"})]}),n.jsxs("button",{onClick:$,className:"mt-3 inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground","data-testid":"button-instant-again",children:[n.jsx(Kh,{className:"h-4 w-4"})," Record again & beat your score"]})]})]}):n.jsxs("div",{className:"text-center",children:[n.jsx(Vs,{className:"h-9 w-9 text-orange-500 mx-auto mb-3"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"We didn't catch enough words. Check your mic and try again."}),n.jsxs(D,{onClick:$,className:"rounded-full px-8",children:[n.jsx(Kh,{className:"mr-2 h-4 w-4"})," Try Again"]})]}):n.jsxs("div",{className:"text-center",children:[n.jsx(Vs,{className:"h-9 w-9 text-orange-500 mx-auto mb-3"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Instant recording needs microphone access (works best in Chrome, Edge, and Safari). Or create a free account for automatic analysis of every call."}),n.jsx(D,{onClick:()=>a("/register"),className:"rounded-full px-8",children:"Start Free — No Credit Card"})]})})}const sie=[{label:"How to measure filler words",slug:"how-to-measure-filler-words"},{label:"How to reduce filler words",slug:"how-to-reduce-filler-words"},{label:"How to improve speaking pace",slug:"how-to-improve-speaking-pace"},{label:"How to improve speaking confidence",slug:"how-to-improve-speaking-confidence"},{label:"How to improve presentation skills",slug:"how-to-improve-presentation-skills"},{label:"How to fix grammar mistakes",slug:"how-to-fix-grammar-mistakes"},{label:"How to improve voice clarity",slug:"how-to-improve-voice-clarity"},{label:"Overcoming public speaking anxiety",slug:"how-to-master-public-speaking-anxiety"}
vendor: 88,405 bytes, line 748
748,{label:"Zoom AI communication coach",slug:"zoom-ai-communication-coach"},{label:"Google Meet AI communication coach",slug:"google-meet-ai-communication-coach"},{label:"How to improve tone of voice",slug:"how-to-improve-tone-of-voice"},{label:"How to improve communication skills",slug:"how-to-improve-communication-skills"}];function mW({className:e=""}){return n.jsx("section",{className:`py-16 px-6 ${e}`,children:n.jsxs("div",{className:"max-w-6xl mx-auto",children:[n.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-end sm:justify-between gap-3 mb-8",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold uppercase tracking-widest text-primary mb-1",children:"Speech Hub"}),n.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-foreground",children:"Learn to speak better, one topic at a time"})]}),n.jsxs("a",{href:"/learn",className:"inline-flex items-center gap-1.5 text-sm font-semibold text-primary hover:underline whitespace-nowrap","data-testid":"link-speech-hub-all",children:["Browse all topics ",n.jsx(At,{className:"h-4 w-4"})]})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-2.5",children:sie.map(t=>n.jsxs("a",{href:`/learn/${t.slug}`,className:"group flex items-center justify-between gap-3 rounded-lg border border-border bg-card px-4 py-3 text-sm text-foreground hover:border-primary/50 hover:bg-muted/40 transition-colors","data-testid":`link-hub-${t.slug}`,children:[n.jsx("span",{children:t.label}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary flex-shrink-0"})]},t.slug))})]})})}function iie(e){if(typeof Proxy>"u")return e;const t=new Map,r=(...a)=>e(...a);return new Proxy(r,{get:(a,s)=>s==="create"?e:(t.has(s)||t.set(s,e(s)),t.get(s))})}function gb(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const Y1=e=>Array.isArray(e);function hW(e,t){if(!Array.isArray(t))return!1;const r=t.length;if(r!==e.length)return!1;for(let a=0;a<r;a++)if(t[a]!==e[a])return!1;return!0}function Qh(e){return typeof e=="string"||Array.isArray(e)}function z4(e){const t=[{},{}];return e==null||e.values.forEach((r,a)=>{t[0][a]=r.get(),t[1][a]=r.getVelocity()}),t}function J2(e,t,r,a){if(typeof t=="function"){const[s,i]=z4(a);t=t(r!==void 0?r:e.custom,s,i)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[s,i]=z4(a);t=t(r!==void 0?r:e.custom,s,i)}return t}function xb(e,t,r){const a=e.getProps();return J2(a,t,r!==void 0?r:a.custom,e)}const eC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],tC=["initial",...eC],gp=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Cc=new Set(gp),Si=e=>e*1e3,Ci=e=>e/1e3,oie={type:"spring",stiffness:500,damping:25,restSpeed:10},lie=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),cie={type:"keyframes",duration:.8},die={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},uie=(e,{keyframes:t})=>t.length>2?cie:Cc.has(e)?e.startsWith("scale")?lie(t[1]):oie:die;function rC(e,t){return e?e[t]||e.default||e:void 0}const mie={skipAnimations:!1,useManualTiming:!1},hie=e=>e!==null;function yb(e,{repeat:t,repeatType:r="loop"},a){const s=e.filter(hie),i=t&&r!=="loop"&&t%2===1?0:s.length-1;return!i||a===void 0?s[i]:a}const fn=e=>e;let Z1=fn;function fie(e){let t=new Set,r=new Set,a=!1,s=!1;const i=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function l(d){i.has(d)&&(c.schedule(d),e()),d(o)}const c={schedule:(d,u=!1,m=!1)=>{const f=m&&a?t:r;return u&&i.add(d),f.has(d)||f.add(d),d},cancel:d=>{r.delete(d),i.delete(d)},process:d=>{if(o=d,a){s=!0;return}a=!0,[t,r]=[r,t],r.clear(),t.forEach(l),a=!1,s&&(s=!1,c.process(d))}};return c}const pg=["read","resolveKeyframes","update","preRender","render","postRender"],pie=40;function fW(e,t){let r=!1,a=!0;const s={delta:0,timestamp:0,isProcessing:!1},i=()=>r=!0,o=pg.reduce((x,v)=>(x[v]=fie(i),x),{}),{read:l,resolveKeyframes:c,update:d,preRender:u,render:m,postRender:h}=o,f=()=>{const x=performance.now();r=!1,s.delta=a?1e3/60:Math.max(Math.min(x-s.timestamp,pie),1),s.timestamp=x,s.isProcessing=!0,l.process(s),c.process(s),d.process(s),u.process(s),m.process(s),h.process(s),s.isProcessing=!1,r&&t&&(a=!1,e(f))},b=()=>{r=!0,a=!0,s.isProcessing||e(f)};return{schedule:pg.reduce((x,v)=>{const w=o[v];return x[v]=(N,j=!1,k=!1)=>(r||b(),w.schedule(N,j,k)),x},{}),cancel:x=>{for(let v=0;v<pg.length;v++)o[pg[v]].cancel(x)},state:s,steps:o}}const{schedule:Rt,cancel:el,state:Zr,steps:ww}=fW(typeof requestAnimationFrame<"u"?requestAnimationFrame:fn,!0),pW=(e,t,r)=>(((1-3*r+3*t)*e+(3*r-6*t))*e+3*t)*e,gie=1e-7,xie=12;function yie(e,t,r,a,s){let i,o,l=0;do o=t+(r-t)/2,i=pW(o,a,s)-e,i>0?r=o:t=o;while(Math.abs(i)>gie&&++l<xie);return o}function xp(e,t,r,a){if(e===t&&r===a)return fn;const s=i=>yie(i,0,1,e,r);return i=>i===0||i===1?i:pW(s(i),t,a)}const gW=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,xW=e=>t=>1-e(1-t),yW=xp(.33,1.53,.69,.99),nC=xW(yW),vW=gW(nC),bW=e=>(e*=2)<1?.5*nC(e):.5*(2-Math.pow(2,-10*(e-1))),aC=e=>1-Math.sin(Math.acos(e)),wW=xW(aC),jW=gW(aC),NW=e=>/^0[^.\s]+$/u.test(e);function vie(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||NW(e):!0}const kW=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),SW=e=>t=>typeof t=="string"&&t.startsWith(e),CW=SW("--"),bie=SW("var(--"),sC=e=>bie(e)?wie.test(e.split("/*")[0].trim()):!1,wie=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,jie=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Nie(e){const t=jie.exec(e);if(!t)return[,];const[,r,a,s]=t;return[`--${r??a}`,s]}function PW(e,t,r=1){const[a,s]=Nie(e);if(!a)return;const i=window.getComputedStyle(t).getPropertyValue(a);if(i){const o=i.trim();return kW(o)?parseFloat(o):o}return sC(s)?PW(s,t,r+1):s}const Wi=(e,t,r)=>r>t?t:r<e?e:r,om={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Xh={...om,transform:e=>Wi(0,1,e)},gg={...om,default:1},yp=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),oo=yp("deg"),Ls=yp("%"),We=yp("px"),kie=yp("vh"),Sie=yp("vw"),B4={...Ls,parse:e=>Ls.parse(e)/100,transform:e=>Ls.transform(e*100)},Cie=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),W4=e=>e===om||e===We,U4=(e,t)=>parseFloat(e.split(", ")[t]),V4=(e,t)=>(r,{transform:a})=>{if(a==="none"||!a)return 0;const s=a.match(/^matrix3d\((.+)\)$/u);if(s)return U4(s[1],t);{const i=a.match(/^matrix\((.+)\)$/u);return i?U4(i[1],e):0}},Pie=new Set(["x","y","z"]),Tie=gp.filter(e=>!Pie.has(e));function Aie(e){const t=[];return Tie.forEach(r=>{const a=e.getValue(r);a!==void 0&&(t.push([r,a.get()]),a.set(r.startsWith("scale")?1:0))}),t}const mu={width:({x:e},{paddingLeft:t="0",paddingRight:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),height:({y:e},{paddingTop:t="0",paddingBottom:r="0"})=>e.max-e.min-parseFloat(t)-parseFloat(r),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:V4(4,13),y:V4(5,14)};mu.translateX=mu.x;mu.translateY=mu.y;const TW=e=>t=>t.test(e),Eie={test:e=>e==="auto",parse:e=>e},AW=[om,We,Ls,oo,Sie,kie,Eie],q4=e=>AW.find(TW(e)),Zl=new Set;let Q1=!1,X1=!1;function EW(){if(X1){const e=Array.from(Zl).filter(a=>a.needsMeasurement),t=new Set(e.map(a=>a.element)),r=new Map;t.forEach(a=>{const s=Aie(a);s.length&&(r.set(a,s),a.render())}),e.forEach(a=>a.measureInitialState()),t.forEach(a=>{a.render();const s=r.get(a);s&&s.forEach(([i,o])=>{var l;(l=a.getValue(i))===null||l===void 0||l.set(o)})}),e.forEach(a=>a.measureEndState()),e.forEach(a=>{a.suspendedScrollY!==void 0&&window.scrollTo(0,a.suspendedScrollY)})}X1=!1,Q1=!1,Zl.forEach(e=>e.complete()),Zl.clear()}function IW(){Zl.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(X1=!0)})}function Iie(){IW(),EW()}class iC{constructor(t,r,a,s,i,o=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=r,this.name=a,this.motionValue=s,this.element=i,this.isAsync=o}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Zl.add(this),Q1||(Q1=!0,Rt.read(IW),Rt.resolveKeyframes(EW))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:r,element:a,motionValue:s}=this;for(let i=0;i<t.length;i++)if(t[i]===null)if(i===0){const o=s==null?void 0:s.get(),l=t[t.length-1];if(o!==void 0)t[0]=o;else if(a&&r){const c=a.readValue(r,l);c!=null&&(t[0]=c)}t[0]===void 0&&(t[0]=l),s&&o===void 0&&s.set(t[0])}else t[i]=t[i-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),Zl.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,Zl.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const ph=e=>Math.round(e*1e5)/1e5,oC=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function _ie(e){return e==null}const Mie=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,lC=(e,t)=>r=>!!(typeof r=="string"&&Mie.test(r)&&r.startsWith(e)||t&&!_ie(r)&&Object.prototype.hasOwnProperty.call(r,t)),_W=(e,t,r)=>a=>{if(typeof a!="string")return a;const[s,i,o,l]=a.match(oC);return{[e]:parseFloat(s),[t]:parseFloat(i),[r]:parseFloat(o),alpha:l!==void 0?parseFloat(l):1}},Oie=e=>Wi(0,255,e),jw={...om,transform:e=>Math.round(Oie(e))},Rl={test:lC("rgb","red"),parse:_W("red","green","blue"),transform:({red:e,green:t,blue:r,alpha:a=1})=>"rgba("+jw.transform(e)+", "+jw.transform(t)+", "+jw.transform(r)+", "+ph(Xh.transform(a))+")"};function Rie(e){let t="",r="",a="",s="";return e.length>5?(t=e.substring(1,3),r=e.substring(3,5),a=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),r=e.substring(2,3),a=e.substring(3,4),s=e.substring(4,5),t+=t,r+=r,a+=a,s+=s),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(a,16),alpha:s?parseInt(s,16)/255:1}}const J1={test:lC("#"),parse:Rie,transform:Rl.transform},ud={test:lC("hsl","hue"),parse:_W("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:r,alpha:a=1})=>"hsla("+Math.round(e)+", "+Ls.transform(ph(t))+", "+Ls.transform(ph(r))+", "+ph(Xh.transform(a))+")"},ln={test:e=>Rl.test(e)||J1.test(e)||ud.test(e),parse:e=>Rl.test(e)?Rl.parse(e):ud.test(e)?ud.parse(e):J1.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Rl.transform(e):ud.transform(e)},Fie=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Die(e){var t,r;return isNaN(e)&&typeof e=="string"&&(((t=e.match(oC))===null||t===void 0?void 0:t.length)||0)+(((r=e.match(Fie))===null||r===void 0?void 0:r.length)||0)>0}const MW="number",OW="color",$ie="var",Lie="var(",H4="${}",zie=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Jh(e){const t=e.toString(),r=[],a={color:[],number:[],var:[]},s=[];let i=0;const l=t.replace(zie,c=>(ln.test(c)?(a.color.push(i),s.push(OW),r.push(ln.parse(c))):c.startsWith(Lie)?(a.var.push(i),s.push($ie),r.push(c)):(a.number.push(i),s.push(MW),r.push(parseFloat(c))),++i,H4)).split(H4);return{values:r,split:l,indexes:a,types:s}}function RW(e){return Jh(e).values}function FW(e){const{split:t,types:r}=Jh(e),a=t.length;return s=>{let i="";for(let o=0;o<a;o++)if(i+=t[o],s[o]!==void 0){const l=r[o];l===MW?i+=ph(s[o]):l===OW?i+=ln.transform(s[o]):i+=s[o]}return i}}const Bie=e=>typeof e=="number"?0:e;function Wie(e){const t=RW(e);return FW(e)(t.map(Bie))}const tl={test:Die,parse:RW,createTransformer:FW,getAnimatableNone:Wie},Uie=new Set(["brightness","contrast","saturate","opacity"]);function Vie(e){const[t,r]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[a]=r.match(oC)||[];if(!a)return e;const s=r.replace(a,"");let i=Uie.has(t)?1:0;return a!==r&&(i*=100),t+"("+i+s+")"}const qie=/\b([a-z-]*)\(.*?\)/gu,eN={...tl,getAnimatableNone:e=>{const t=e.match(qie);return t?t.map(Vie).join(" "):e}},Hie={borderWidth:We,borderTopWidth:We,borderRightWidth:We,borderBottomWidth:We,borderLeftWidth:We,borderRadius:We,radius:We,borderTopLeftRadius:We,borderTopRightRadius:We,borderBottomRightRadius:We,borderBottomLeftRadius:We,width:We,maxWidth:We,height:We,maxHeight:We,top:We,right:We,bottom:We,left:We,padding:We,paddingTop:We,paddingRight:We,paddingBottom:We,paddingLeft:We,margin:We,marginTop:We,marginRight:We,marginBottom:We,marginLeft:We,backgroundPositionX:We,backgroundPositionY:We},Gie={rotate:oo,rotateX:oo,rotateY:oo,rotateZ:oo,scale:gg,scaleX:gg,scaleY:gg,scaleZ:gg,skew:oo,skewX:oo,skewY:oo,distance:We,translateX:We,translateY:We,translateZ:We,x:We,y:We,z:We,perspective:We,transformPerspective:We,opacity:Xh,originX:B4,originY:B4,originZ:We},G4={...om,transform:Math.round},cC={...Hie,...Gie,zIndex:G4,size:We,fillOpacity:Xh,strokeOpacity:Xh,numOctaves:G4},Kie={...cC,color:ln,backgroundColor:ln,outlineColor:ln,fill:ln,stroke:ln,borderColor:ln,borderTopColor:ln,borderRightColor:ln,borderBottomColor:ln,borderLeftColor:ln,filter:eN,WebkitFilter:eN},dC=e=>Kie[e];function DW(e,t){let r=dC(e);return r!==eN&&(r=tl),r.getAnimatableNone?r.getAnimatableNone(t):void 0}const Yie=new Set(["auto","none","0"]);function Zie(e,t,r){let a=0,s;for(;a<e.length&&!s;){const i=e[a];typeof i=="string"&&!Yie.has(i)&&Jh(i).values.length&&(s=e[a]),a++}if(s&&r)for(const i of t)e[i]=DW(r,s)}class $W extends iC{constructor(t,r,a,s,i){super(t,r,a,s,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:r,name:a}=this;if(!r||!r.current)return;super.readKeyframes();for(let c=0;c<t.length;c++){let d=t[c];if(typeof d=="string"&&(d=d.trim(),sC(d))){const u=PW(d,r.current);u!==void 0&&(t[c]=u),c===t.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!Cie.has(a)||t.length!==2)return;const[s,i]=t,o=q4(s),l=q4(i);if(o!==l)if(W4(o)&&W4(l))for(let c=0;c<t.length;c++){const d=t[c];typeof d=="string"&&(t[c]=parseFloat(d))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:r}=this,a=[];for(let s=0;s<t.length;s++)vie(t[s])&&a.push(s);a.length&&Zie(t,a,r)}measureInitialState(){const{element:t,unresolvedKeyframes:r,name:a}=this;if(!t||!t.current)return;a==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=mu[a](t.measureViewportBox(),window.getComputedStyle(t.current)),r[0]=this.measuredOrigin;const s=r[r.length-1];s!==void 0&&t.getValue(a,s).jump(s,!1)}measureEndState(){var t;const{element:r,name:a,unresolvedKeyframes:s}=this;if(!r||!r.current)return;const i=r.getValue(a);i&&i.jump(this.measuredOrigin,!1);const o=s.length-1,l=s[o];s[o]=mu[a](r.measureViewportBox(),window.getComputedStyle(r.current)),l!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=l),!((t=this.removedTransforms)===null||t===void 0)&&t.length&&this.removedTransforms.forEach(([c,d])=>{r.getValue(c).set(d)}),this.resolveNoneKeyframes()}}function uC(e){return typeof e=="function"}let ix;function Qie(){ix=void 0}const zs={now:()=>(ix===void 0&&zs.set(Zr.isProcessing||mie.useManualTiming?Zr.timestamp:performance.now()),ix),set:e=>{ix=e,queueMicrotask(Qie)}},K4=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(tl.test(e)||e==="0")&&!e.startsWith("url("));function Xie(e){const t=e[0];if(e.length===1)return!0;for(let r=0;r<e.length;r++)if(e[r]!==t)return!0}function Jie(e,t,r,a){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const i=e[e.length-1],o=K4(s,t),l=K4(i,t);return!o||!l?!1:Xie(e)||(r==="spring"||uC(r))&&a}const eoe=40;class LW{constructor({autoplay:t=!0,delay:r=0,type:a="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:o="loop",...l}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=zs.now(),this.options={autoplay:t,delay:r,type:a,repeat:s,repeatDelay:i,repeatType:o,...l},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>eoe?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&Iie(),this._resolved}onKeyframesResolved(t,r){this.resolvedAt=zs.now(),this.hasAttemptedResolve=!0;const{name:a,type:s,velocity:i,delay:o,onComplete:l,onUpdate:c,isGenerator:d}=this.options;if(!d&&!Jie(t,a,s,i))if(o)this.options.duration=0;else{c==null||c(yb(t,this.options,r)),l==null||l(),this.resolveFinishedPromise();return}const u=this.initPlayback(t,r);u!==!1&&(this._resolved={keyframes:t,finalKeyframe:r,...u},this.onPostResolved())}onPostResolved(){}then(t,r){return this.currentFinishedPromise.then(t,r)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}const hu=(e,t,r)=>{const a=t-e;return a===0?1:(r-e)/a},zW=(e,t,r=10)=>{let a="";const s=Math.max(Math.round(t/r),2);for(let i=0;i<s;i++)a+=e(hu(0,s-1,i))+", ";return`linear(${a.substring(0,a.length-2)})`};function BW(e,t){return t?e*(1e3/t):0}const toe=5;function WW(e,t,r){const a=Math.max(t-toe,0);return BW(r-e(a),t-a)}const hr={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Nw=.001;function roe({duration:e=hr.duration,bounce:t=hr.bounce,velocity:r=hr.velocity,mass:a=hr.mass}){let s,i,o=1-t;o=Wi(hr.minDamping,hr.maxDamping,o),e=Wi(hr.minDuration,hr.maxDuration,Ci(e)),o<1?(s=d=>{const u=d*o,m=u*e,h=u-r,f=tN(d,o),b=Math.exp(-m);return Nw-h/f*b},i=d=>{const m=d*o*e,h=m*r+r,f=Math.pow(o,2)*Math.pow(d,2)*e,b=Math.exp(-m),g=tN(Math.pow(d,2),o);return(-s(d)+Nw>0?-1:1)*((h-f)*b)/g}):(s=d=>{const u=Math.exp(-d*e),m=(d-r)*e+1;return-Nw+u*m},i=d=>{const u=Math.exp(-d*e),m=(r-d)*(e*e);return u*m});const l=5/e,c=aoe(s,i,l);if(e=Si(e),isNaN(c))return{stiffness:hr.stiffness,damping:hr.damping,duration:e};{const d=Math.pow(c,2)*a;return{stiffness:d,damping:o*2*Math.sqrt(a*d),duration:e}}}const noe=12;function aoe(e,t,r){let a=r;for(let s=1;s<noe;s++)a=a-e(a)/t(a);return a}function tN(e,t){return e*Math.sqrt(1-t*t)}const rN=2e4;function UW(e){let t=0;const r=50;let a=e.next(t);for(;!a.done&&t<rN;)t+=r,a=e.next(t);return t>=rN?1/0:t}const soe=["duration","bounce"],ioe=["stiffness","damping","mass"];function Y4(e,t){return t.some(r=>e[r]!==void 0)}function ooe(e){let t={velocity:hr.velocity,stiffness:hr.stiffness,damping:hr.damping,mass:hr.mass,isResolvedFromDuration:!1,...e};if(!Y4(e,ioe)&&Y4(e,soe))if(e.visualDuration){const r=e.visualDuration,a=2*Math.PI/(r*1.2),s=a*a,i=2*Wi(.05,1,1-e.bounce)*Math.sqrt(s);t={...t,mass:hr.mass,stiffness:s,damping:i}}else{const r=roe(e);t={...t,...r,mass:hr.mass},t.isResolvedFromDuration=!0}return t}function VW(e=hr.visualDuration,t=hr.bounce){const r=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:a,restDelta:s}=r;const i=r.keyframes[0],o=r.keyframes[r.keyframes.length-1],l={done:!1,value:i},{stiffness:c,damping:d,mass:u,duration:m,velocity:h,isResolvedFromDuration:f}=ooe({...r,velocity:-Ci(r.velocity||0)}),b=h||0,g=d/(2*Math.sqrt(c*u)),p=o-i,x=Ci(Math.sqrt(c/u)),v=Math.abs(p)<5;a||(a=v?hr.restSpeed.granular:hr.restSpeed.default),s||(s=v?hr.restDelta.granular:hr.restDelta.default);let w;if(g<1){const j=tN(x,g);w=k=>{const S=Math.exp(-g*x*k);return o-S*((b+g*x*p)/j*Math.sin(j*k)+p*Math.cos(j*k))}}else if(g===1)w=j=>o-Math.exp(-x*j)*(p+(b+x*p)*j);else{const j=x*Math.sqrt(g*g-1);w=k=>{const S=Math.exp(-g*x*k),C=Math.min(j*k,300);return o-S*((b+g*x*p)*Math.sinh(C)+j*p*Math.cosh(C))/j}}const N={calculatedDuration:f&&m||null,next:j=>{const k=w(j);if(f)l.done=j>=m;else{let S=0;g<1&&(S=j===0?Si(b):WW(w,j,k));const C=Math.abs(S)<=a,A=Math.abs(o-k)<=s;l.done=C&&A}return l.value=l.done?o:k,l},toString:()=>{const j=Math.min(UW(N),rN),k=zW(S=>N.next(j*S).value,j,30);return j+"ms "+k}};return N}function Z4({keyframes:e,velocity:t=0,power:r=.8,timeConstant:a=325,bounceDamping:s=10,bounceStiffness:i=500,modifyTarget:o,min:l,max:c,restDelta:d=.5,restSpeed:u}){const m=e[0],h={done:!1,value:m},f=C=>l!==void 0&&C<l||c!==void 0&&C>c,b=C=>l===void 0?c:c===void 0||Math.abs(l-C)<Math.abs(c-C)?l:c;let g=r*t;const p=m+g,x=o===void 0?p:o(p);x!==p&&(g=x-m);const v=C=>-g*Math.exp(-C/a),w=C=>x+v(C),N=C=>{const A=v(C),T=w(C);h.done=Math.abs(A)<=d,h.value=h.done?x:T};let j,k;const S=C=>{f(h.value)&&(j=C,k=VW({keyframes:[h.value,b(h.value)],velocity:WW(w,C,h.value),damping:s,stiffness:i,restDelta:d,restSpeed:u}))};return S(0),{calculatedDuration:null,next:C=>{let A=!1;return!k&&j===void 0&&(A=!0,N(C),S(C)),j!==void 0&&C>=j?k.next(C-j):(!A&&N(C),h)}}}const loe=xp(.42,0,1,1),coe=xp(0,0,.58,1),qW=xp(.42,0,.58,1),doe=e=>Array.isArray(e)&&typeof e[0]!="number",mC=e=>Array.isArray(e)&&typeof e[0]=="number",Q4={linear:fn,easeIn:loe,easeInOut:qW,easeOut:coe,circIn:aC,circInOut:jW,circOut:wW,backIn:nC,backInOut:vW,backOut:yW,anticipate:bW},X4=e=>{if(mC(e)){Z1(e.length===4);const[t,r,a,s]=e;return xp(t,r,a,s)}else if(typeof e=="string")return Z1(Q4[e]!==void 0),Q4[e];return e},uoe=(e,t)=>r=>t(e(r)),Lo=(...e)=>e.reduce(uoe),cr=(e,t,r)=>e+(t-e)*r;function kw(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function moe({hue:e,saturation:t,lightness:r,alpha:a}){e/=360,t/=100,r/=100;let s=0,i=0,o=0;if(!t)s=i=o=r;else{const l=r<.5?r*(1+t):r+t-r*t,c=2*r-l;s=kw(c,l,e+1/3),i=kw(c,l,e),o=kw(c,l,e-1/3)}return{red:Math.round(s*255),green:Math.round(i*255),blue:Math.round(o*255),alpha:a}}function Vx(e,t){return r=>r>0?t:e}const Sw=(e,t,r)=>{const a=e*e,s=r*(t*t-a)+a;return s<0?0:Math.sqrt(s)},hoe=[J1,Rl,ud],foe=e=>hoe.find(t=>t.test(e));function J4(e){const t=foe(e);if(!t)return!1;let r=t.parse(e);return t===ud&&(r=moe(r)),r}const e3=(e,t)=>{const r=J4(e),a=J4(t);if(!r||!a)return Vx(e,t);const s={...r};return i=>(s.red=Sw(r.red,a.red,i),s.green=Sw(r.green,a.green,i),s.blue=Sw(r.blue,a.blue,i),s.alpha=cr(r.alpha,a.alpha,i),Rl.transform(s))},nN=new Set(["none","hidden"]);function poe(e,t){return nN.has(e)?r=>r<=0?e:t:r=>r>=1?t:e}function goe(e,t){return r=>cr(e,t,r)}function hC(e){return typeof e=="number"?goe:typeof e=="string"?sC(e)?Vx:ln.test(e)?e3:voe:Array.isArray(e)?HW:typeof e=="object"?ln.test(e)?e3:xoe:Vx}function HW(e,t){const r=[...e],a=r.length,s=e.map((i,o)=>hC(i)(i,t[o]));return i=>{for(let o=0;o<a;o++)r[o]=s[o](i);return r}}function xoe(e,t){const r={...e,...t},a={};for(const s in r)e[s]!==void 0&&t[s]!==void 0&&(a[s]=hC(e[s])(e[s],t[s]));return s=>{for(const i in a)r[i]=a[i](s);return r}}function yoe(e,t){var r;const a=[],s={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){const o=t.types[i],l=e.indexes[o][s[o]],c=(r=e.values[l])!==null&&r!==void 0?r:0;a[i]=c,s[o]++}return a}const voe=(e,t)=>{const r=tl.createTransformer(t),a=Jh(e),s=Jh(t);return a.indexes.var.length===s.indexes.var.length&&a.indexes.color.length===s.indexes.color.length&&a.indexes.number.length>=s.indexes.number.length?nN.has(e)&&!s.values.length||nN.has(t)&&!a.values.length?poe(e,t):Lo(HW(yoe(a,s),s.values),r):Vx(e,t)};function GW(e,t,r){return typeof e=="number"&&typeof t=="number"&&typeof r=="number"?cr(e,t,r):hC(e)(e,t)}function boe(e,t,r){const a=[],s=r||GW,i=e.length-1;for(let o=0;o<i;o++){let l=s(e[o],e[o+1]);if(t){const c=Array.isArray(t)?t[o]||fn:t;l=Lo(c,l)}a.push(l)}return a}function woe(e,t,{clamp:r=!0,ease:a,mixer:s}={}){const i=e.length;if(Z1(i===t.length),i===1)return()=>t[0];if(i===2&&e[0]===e[1])return()=>t[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=boe(t,a,s),l=o.length,c=d=>{let u=0;if(l>1)for(;u<e.length-2&&!(d<e[u+1]);u++);const m=hu(e[u],e[u+1],d);return o[u](m)};return r?d=>c(Wi(e[0],e[i-1],d)):c}function joe(e,t){const r=e[e.length-1];for(let a=1;a<=t;a++){const s=hu(0,t,a);e.push(cr(r,1,s))}}function Noe(e){const t=[0];return joe(t,e.length-1),t}function koe(e,t){return e.map(r=>r*t)}function Soe(e,t){return e.map(()=>t||qW).splice(0,e.length-1)}function qx({duration:e=300,keyframes:t,times:r,ease:a="easeInOut"}){const s=doe(a)?a.map(X4):X4(a),i={done:!1,value:t[0]},o=koe(r&&r.length===t.length?r:Noe(t),e),l=woe(o,t,{ease:Array.isArray(s)?s:Soe(t,s)});return{calculatedDuration:e,next:c=>(i.value=l(c),i.done=c>=e,i)}}const Coe=e=>{const t=({timestamp:r})=>e(r);return{start:()=>Rt.update(t,!0),stop:()=>el(t),now:()=>Zr.isProcessing?Zr.timestamp:zs.now()}},Poe={decay:Z4,inertia:Z4,tween:qx,keyframes:qx,spring:VW},Toe=e=>e/100;class fC extends LW{constructor(t){super(t),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:c}=this.options;c&&c()};const{name:r,motionValue:a,element:s,keyframes:i}=this.options,o=(s==null?void 0:s.KeyframeResolver)||iC,l=(c,d)=>this.onKeyframesResolved(c,d);this.resolver=new o(i,l,r,a,s),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:r="keyframes",repeat:a=0,repeatDelay:s=0,repeatType:i,velocity:o=0}=this.options,l=uC(r)?r:Poe[r]||qx;let c,d;l!==qx&&typeof t[0]!="number"&&(c=Lo(Toe,GW(t[0],t[1])),t=[0,100]);const u=l({...this.options,keyframes:t});i==="mirror"&&(d=l({...this.options,keyframes:[...t].reverse(),velocity:-o})),u.calculatedDuration===null&&(u.calculatedDuration=UW(u));const{calculatedDuration:m}=u,h=m+s,f=h*(a+1)-s;return{generator:u,mirroredGenerator:d,mapPercentToKeyframes:c,calculatedDuration:m,resolvedDuration:h,totalDuration:f}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!t?this.pause():this.state=this.pendingPlayState}tick(t,r=!1){const{resolved:a}=this;if(!a){const{keyframes:C}=this.options;return{done:!0,value:C[C.length-1]}}const{finalKeyframe:s,generator:i,mirroredGenerator:o,mapPercentToKeyframes:l,keyframes:c,calculatedDuration:d,totalDuration:u,resolvedDuration:m}=a;if(this.startTime===null)return i.next(0);const{delay:h,repeat:f,repeatType:b,repeatDelay:g,onUpdate:p}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-u/this.speed,this.startTime)),r?this.currentTime=t:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(t-this.startTime)*this.speed;const x=this.currentTime-h*(this.speed>=0?1:-1),v=this.speed>=0?x<0:x>u;this.currentTime=Math.max(x,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=u);let w=this.currentTime,N=i;if(f){const C=Math.min(this.currentTime,u)/m;let A=Math.floor(C),T=C%1;!T&&C>=1&&(T=1),T===1&&A--,A=Math.min(A,f+1),!!(A%2)&&(b==="reverse"?(T=1-T,g&&(T-=g/m)):b==="mirror"&&(N=o)),w=Wi(0,1,T)*m}const j=v?{done:!1,value:c[0]}:N.next(w);l&&(j.value=l(j.value));let{done:k}=j;!v&&d!==null&&(k=this.speed>=0?this.currentTime>=u:this.currentTime<=0);const S=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&k);return S&&s!==void 0&&(j.value=yb(c,this.options,s)),p&&p(j.value),S&&this.finish(),j}get duration(){const{resolved:t}=this;return t?Ci(t.calculatedDuration):0}get time(){return Ci(this.currentTime)}set time(t){t=Si(t),this.currentTime=t,this.holdTime!==null||this.speed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.speed)}get speed(){return this.playbackSpeed}set speed(t){const r=this.playbackSpeed!==t;this.playbackSpeed=t,r&&(this.time=Ci(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=Coe,onPlay:r,startTime:a}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),r&&r();const s=this.driver.now();this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=s):this.startTime=a??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(t=this.currentTime)!==null&&t!==void 0?t:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const Aoe=new Set(["opacity","clipPath","filter","transform"]);function pC(e){let t;return()=>(t===void 0&&(t=e()),t)}const Eoe={linearEasing:void 0};function Ioe(e,t){const r=pC(e);return()=>{var a;return(a=Eoe[t])!==null&&a!==void 0?a:r()}}const Hx=Ioe(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing");function KW(e){return!!(typeof e=="function"&&Hx()||!e||typeof e=="string"&&(e in aN||Hx())||mC(e)||Array.isArray(e)&&e.every(KW))}const th=([e,t,r,a])=>`cubic-bezier(${e}, ${t}, ${r}, ${a})`,aN={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:th([0,.65,.55,1]),circOut:th([.55,0,1,.45]),backIn:th([.31,.01,.66,-.59]),backOut:th([.33,1.53,.69,.99])};function YW(e,t){if(e)return typeof e=="function"&&Hx()?zW(e,t):mC(e)?th(e):Array.isArray(e)?e.map(r=>YW(r,t)||aN.easeOut):aN[e]}function _oe(e,t,r,{delay:a=0,duration:s=300,repeat:i=0,repeatType:o="loop",ease:l="easeInOut",times:c}={}){const d={[t]:r};c&&(d.offset=c);const u=YW(l,s);return Array.isArray(u)&&(d.easing=u),e.animate(d,{delay:a,duration:s,easing:Array.isArray(u)?"linear":u,fill:"both",iterations:i+1,direction:o==="reverse"?"alternate":"normal"})}function t3(e,t){e.timeline=t,e.onfinish=null}const Moe=pC(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),Gx=10,Ooe=2e4;function Roe(e){return uC(e.type)||e.type==="spring"||!KW(e.ease)}function Foe(e,t){const r=new fC({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let a={done:!1,value:e[0]};const s=[];let i=0;for(;!a.done&&i<Ooe;)a=r.sample(i),s.push(a.value),i+=Gx;return{times:void 0,keyframes:s,duration:i-Gx,ease:"linear"}}const ZW={anticipate:bW,backInOut:vW,circInOut:jW};function Doe(e){return e in ZW}class r3 extends LW{constructor(t){super(t);const{name:r,motionValue:a,element:s,keyframes:i}=this.options;this.resolver=new $W(i,(o,l)=>this.onKeyframesResolved(o,l),r,a,s),this.resolver.scheduleResolve()}initPlayback(t,r){var a;let{duration:s=300,times:i,ease:o,type:l,motionValue:c,name:d,startTime:u}=this.options;if(!(!((a=c.owner)===null||a===void 0)&&a.current))return!1;if(typeof o=="string"&&Hx()&&Doe(o)&&(o=ZW[o]),Roe(this.options)){const{onComplete:h,onUpdate:f,motionValue:b,element:g,...p}=this.options,x=Foe(t,p);t=x.keyframes,t.length===1&&(t[1]=t[0]),s=x.duration,i=x.times,o=x.ease,l="keyframes"}const m=_oe(c.owner.current,d,t,{...this.options,duration:s,times:i,ease:o});return m.startTime=u??this.calcStartTime(),this.pendingTimeline?(t3(m,this.pendingTimeline),this.pendingTimeline=void 0):m.onfinish=()=>{const{onComplete:h}=this.options;c.set(yb(t,this.options,r)),h&&h(),this.cancel(),this.resolveFinishedPromise()},{animation:m,duration:s,times:i,type:l,ease:o,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:r}=t;return Ci(r)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:r}=t;return Ci(r.currentTime||0)}set time(t){const{resolved:r}=this;if(!r)return;const{animation:a}=r;a.currentTime=Si(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:r}=t;return r.playbackRate}set speed(t){const{resolved:r}=this;if(!r)return;const{animation:a}=r;a.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:r}=t;return r.playState}get startTime(){const{resolved:t}=this;if(!t)return null;const{animation:r}=t;return r.startTime}attachTimeline(t){if(!this._resolved)this.pendingTimeline=t;else{const{resolved:r}=this;if(!r)return fn;const{animation:a}=r;t3(a,t)}return fn}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:r}=t;r.playState==="finished"&&this.updateFinishedPromise(),r.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:r}=t;r.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:t}=this;if(!t)return;const{animation:r,keyframes:a,duration:s,type:i,ease:o,times:l}=t;if(r.playState==="idle"||r.playState==="finished")return;if(this.time){const{motionValue:d,onUpdate:u,onComplete:m,element:h,...f}=this.options,b=new fC({...f,keyframes:a,duration:s,type:i,ease:o,times:l,isGenerator:!0}),g=Si(this.time);d.setWithVelocity(b.sample(g-Gx).value,b.sample(g).value,Gx)}const{onStop:c}=this.options;c&&c(),this.cancel()}complete(){const{resolved:t}=this;t&&t.animation.finish()}cancel(){const{resolved:t}=this;t&&t.animation.cancel()}static supports(t){const{motionValue:r,name:a,repeatDelay:s,repeatType:i,damping:o,type:l}=t;return Moe()&&a&&Aoe.has(a)&&r&&r.owner&&r.owner.current instanceof HTMLElement&&!r.owner.getProps().onUpdate&&!s&&i!=="mirror"&&o!==0&&l!=="inertia"}}const $oe=pC(()=>window.ScrollTimeline!==void 0);class Loe{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}then(t,r){return Promise.all(this.animations).then(t).catch(r)}getAll(t){return this.animations[0][t]}setAll(t,r){for(let a=0;a<this.animations.length;a++)this.animations[a][t]=r}attachTimeline(t,r){const a=this.animations.map(s=>$oe()&&s.attachTimeline?s.attachTimeline(t):r(s));return()=>{a.forEach((s,i)=>{s&&s(),this.animations[i].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get startTime(){return this.getAll("startTime")}get duration(){let t=0;for(let r=0;r<this.animations.length;r++)t=Math.max(t,this.animations[r].duration);return t}runAll(t){this.animations.forEach(r=>r[t]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function zoe({when:e,delay:t,delayChildren:r,staggerChildren:a,staggerDirection:s,repeat:i,repeatType:o,repeatDelay:l,from:c,elapsed:d,...u}){return!!Object.keys(u).length}const gC=(e,t,r,a={},s,i)=>o=>{const l=rC(a,e)||{},c=l.delay||a.delay||0;let{elapsed:d=0}=a;d=d-Si(c);let u={keyframes:Array.isArray(r)?r:[null,r],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-d,onUpdate:h=>{t.set(h),l.onUpdate&&l.onUpdate(h)},onComplete:()=>{o(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:i?void 0:s};zoe(l)||(u={...u,...uie(e,u)}),u.duration&&(u.duration=Si(u.duration)),u.repeatDelay&&(u.repeatDelay=Si(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let m=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(u.duration=0,u.delay===0&&(m=!0)),m&&!i&&t.get()!==void 0){const h=yb(u.keyframes,l);if(h!==void 0)return Rt.update(()=>{u.onUpdate(h),u.onComplete()}),new Loe([])}return!i&&r3.supports(u)?new r3(u):new fC(u)},Boe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),Woe=e=>Y1(e)?e[e.length-1]||0:e;function xC(e,t){e.indexOf(t)===-1&&e.push(t)}function yC(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}class vC{constructor(){this.subscriptions=[]}add(t){return xC(this.subscriptions,t),()=>yC(this.subscriptions,t)}notify(t,r,a){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](t,r,a);else for(let i=0;i<s;i++){const o=this.subscriptions[i];o&&o(t,r,a)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const n3=30,Uoe=e=>!isNaN(parseFloat(e));class Voe{constructor(t,r={}){this.version="11.13.1",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(a,s=!0)=>{const i=zs.now();this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),s&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=r.owner}setCurrent(t){this.current=t,this.updatedAt=zs.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Uoe(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,r){this.events[t]||(this.events[t]=new vC);const a=this.events[t].add(r);return t==="change"?()=>{a(),Rt.read(()=>{this.events.change.getSize()||this.stop()})}:a}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,r){this.passiveEffect=t,this.stopPassiveEffect=r}set(t,r=!0){!r||!this.passiveEffect?this.updateAndNotify(t,r):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,r,a){this.set(r),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-a}jump(t,r=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,r&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=zs.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>n3)return 0;const r=Math.min(this.updatedAt-this.prevUpdatedAt,n3);return BW(parseFloat(this.current)-parseFloat(this.prevFrameValue),r)}start(t){return this.stop(),new Promise(r=>{this.hasAnimated=!0,this.animation=t(r),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ef(e,t){return new Voe(e,t)}function qoe(e,t,r){e.hasValue(t)?e.getValue(t).set(r):e.addValue(t,ef(r))}function Hoe(e,t){const r=xb(e,t);let{transitionEnd:a={},transition:s={},...i}=r||{};i={...i,...a};for(const o in i){const l=Woe(i[o]);qoe(e,o,l)}}const bC=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),Goe="framerAppearId",QW="data-"+bC(Goe);function XW(e){return e.props[QW]}const hn=e=>!!(e&&e.getVelocity);function Koe(e){return!!(hn(e)&&e.add)}function sN(e,t){const r=e.getValue("willChange");if(Koe(r))return r.add(t)}function Yoe({protectedKeys:e,needsAnimating:t},r){const a=e.hasOwnProperty(r)&&t[r]!==!0;return t[r]=!1,a}function JW(e,t,{delay:r=0,transitionOverride:a,type:s}={}){var i;let{transition:o=e.getDefaultTransition(),transitionEnd:l,...c}=t;a&&(o=a);const d=[],u=s&&e.animationState&&e.animationState.getState()[s];for(const m in c){const h=e.getValue(m,(i=e.latestValues[m])!==null&&i!==void 0?i:null),f=c[m];if(f===void 0||u&&Yoe(u,m))continue;const b={delay:r,...rC(o||{},m)};let g=!1;if(window.MotionHandoffAnimation){const x=XW(e);if(x){const v=window.MotionHandoffAnimation(x,m,Rt);v!==null&&(b.startTime=v,g=!0)}}sN(e,m),h.start(gC(m,h,f,e.shouldReduceMotion&&Cc.has(m)?{type:!1}:b,e,g));const p=h.animation;p&&d.push(p)}return l&&Promise.all(d).then(()=>{Rt.update(()=>{l&&Hoe(e,l)})}),d}function iN(e,t,r={}){var a;const s=xb(e,t,r.type==="exit"?(a=e.presenceContext)===null||a===void 0?void 0:a.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=s||{};r.transitionOverride&&(i=r.transitionOverride);const o=s?()=>Promise.all(JW(e,s,r)):()=>Promise.resolve(),l=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:m,staggerDirection:h}=i;return Zoe(e,t,u+d,m,h,r)}:()=>Promise.resolve(),{when:c}=i;if(c){const[d,u]=c==="beforeChildren"?[o,l]:[l,o];return d().then(()=>u())}else return Promise.all([o(),l(r.delay)])}function Zoe(e,t,r=0,a=0,s=1,i){const o=[],l=(e.variantChildren.size-1)*a,c=s===1?(d=0)=>d*a:(d=0)=>l-d*a;return Array.from(e.variantChildren).sort(Qoe).forEach((d,u)=>{d.notify("AnimationStart",t),o.push(iN(d,t,{...i,delay:r+c(u)}).then(()=>d.notify("AnimationComplete",t)))}),Promise.all(o)}function Qoe(e,t){return e.sortNodePosition(t)}function Xoe(e,t,r={}){e.notify("AnimationStart",t);let a;if(Array.isArray(t)){const s=t.map(i=>iN(e,i,r));a=Promise.all(s)}else if(typeof t=="string")a=iN(e,t,r);else{const s=typeof t=="function"?xb(e,t,r.custom):t;a=Promise.all(JW(e,s,r))}return a.then(()=>{e.notify("AnimationComplete",t)})}const Joe=tC.length;function eU(e){if(!e)return;if(!e.isControllingVariants){const r=e.parent?eU(e.parent)||{}:{};return e.props.initial!==void 0&&(r.initial=e.props.initial),r}const t={};for(let r=0;r<Joe;r++){const a=tC[r],s=e.props[a];(Qh(s)||s===!1)&&(t[a]=s)}return t}const ele=[...eC].reverse(),tle=eC.length;function rle(e){return t=>Promise.all(t.map(({animation:r,options:a})=>Xoe(e,r,a)))}function nle(e){let t=rle(e),r=a3(),a=!0;const s=c=>(d,u)=>{var m;const h=xb(e,u,c==="exit"?(m=e.presenceContext)===null||m===void 0?void 0:m.custom:void 0);if(h){const{transition:f,transitionEnd:b,...g}=h;d={...d,...g,...b}}return d};function i(c){t=c(e)}function o(c){const{props:d}=e,u=eU(e.parent)||{},m=[],h=new Set;let f={},b=1/0;for(let p=0;p<tle;p++){const x=ele[p],v=r[x],w=d[x]!==void 0?d[x]:u[x],N=Qh(w),j=x===c?v.isActive:null;j===!1&&(b=p);let k=w===u[x]&&w!==d[x]&&N;if(k&&a&&e.manuallyAnimateOnMount&&(k=!1),v.protectedKeys={...f},!v.isActive&&j===null||!w&&!v.prevProp||gb(w)||typeof w=="boolean")continue;const S=ale(v.prevProp,w);let C=S||x===c&&v.isActive&&!k&&N||p>b&&N,A=!1;const T=Array.isArray(w)?w:[w];let E=T.reduce(s(x),{});j===!1&&(E={});const{prevResolvedValues:I={}}=v,R={...I,...E},P=$=>{C=!0,h.has($)&&(A=!0,h.delete($)),v.needsAnimating[$]=!0;const _=e.getValue($);_&&(_.liveStyle=!1)};for(const $ in R){const _=E[$],F=I[$];if(f.hasOwnProperty($))continue;let U=!1;Y1(_)&&Y1(F)?U=!hW(_,F):U=_!==F,U?_!=null?P($):h.add($):_!==void 0&&h.has($)?P($):v.protectedKeys[$]=!0}v.prevProp=w,v.prevResolvedValues=E,v.isActive&&(f={...f,...E}),a&&e.blockInitialAnimation&&(C=!1),C&&(!(k&&S)||A)&&m.push(...T.map($=>({animation:$,options:{type:x}})))}if(h.size){const p={};h.forEach(x=>{const v=e.getBaseTarget(x),w=e.getValue(x);w&&(w.liveStyle=!0),p[x]=v??null}),m.push({animation:p})}let g=!!m.length;return a&&(d.initial===!1||d.initial===d.animate)&&!e.manuallyAnimateOnMount&&(g=!1),a=!1,g?t(m):Promise.resolve()}function l(c,d){var u;if(r[c].isActive===d)return Promise.resolve();(u=e.variantChildren)===null||u===void 0||u.forEach(h=>{var f;return(f=h.animationState)===null||f===void 0?void 0:f.setActive(c,d)}),r[c].isActive=d;const m=o(c);for(const h in r)r[h].protectedKeys={};return m}return{animateChanges:o,setActive:l,setAnimateFunction:i,getState:()=>r,reset:()=>{r=a3(),a=!0}}}function ale(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!hW(t,e):!1}function jl(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function a3(){return{animate:jl(!0),whileInView:jl(),whileHover:jl(),whileTap:jl(),whileDrag:jl(),whileFocus:jl(),exit:jl()}}class ml{constructor(t){this.isMounted=!1,this.node=t}update(){}}class sle extends ml{constructor(t){super(t),t.animationState||(t.animationState=nle(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();gb(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:r}=this.node.prevProps||{};t!==r&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)===null||t===void 0||t.call(this)}}let ile=0;class ole extends ml{constructor(){super(...arguments),this.id=ile++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:r}=this.node.presenceContext,{isPresent:a}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===a)return;const s=this.node.animationState.setActive("exit",!t);r&&!t&&s.then(()=>r(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const lle={animation:{Feature:sle},exit:{Feature:ole}};function cle(e,t,r){var a;if(e instanceof Element)return[e];if(typeof e=="string"){let s=document;const i=(a=void 0)!==null&&a!==void 0?a:s.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}const Za={x:!1,y:!1};function tU(){return Za.x||Za.y}function s3(e){return t=>{t.pointerType==="touch"||tU()||e(t)}}function dle(e,t,r={}){const a=new AbortController,s={passive:!0,...r,signal:a.signal},i=s3(o=>{const{target:l}=o,c=t(o);if(!c||!l)return;const d=s3(u=>{c(u),l.removeEventListener("pointerleave",d)});l.addEventListener("pointerleave",d,s)});return cle(e).forEach(o=>{o.addEventListener("pointerenter",i,s)}),()=>a.abort()}function ule(e){return e==="x"||e==="y"?Za[e]?null:(Za[e]=!0,()=>{Za[e]=!1}):Za.x||Za.y?null:(Za.x=Za.y=!0,()=>{Za.x=Za.y=!1})}const rU=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function vp(e){return{point:{x:e.pageX,y:e.pageY}}}const mle=e=>t=>rU(t)&&e(t,vp(t));function yi(e,t,r,a={passive:!0}){return e.addEventListener(t,r,a),()=>e.removeEventListener(t,r)}function zo(e,t,r,a){return yi(e,t,mle(r),a)}const i3=(e,t)=>Math.abs(e-t);function hle(e,t){const r=i3(e.x,t.x),a=i3(e.y,t.y);return Math.sqrt(r**2+a**2)}class nU{constructor(t,r,{transformPagePoint:a,contextWindow:s,dragSnapToOrigin:i=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const m=Pw(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,f=hle(m.offset,{x:0,y:0})>=3;if(!h&&!f)return;const{point:b}=m,{timestamp:g}=Zr;this.history.push({...b,timestamp:g});const{onStart:p,onMove:x}=this.handlers;h||(p&&p(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),x&&x(this.lastMoveEvent,m)},this.handlePointerMove=(m,h)=>{this.lastMoveEvent=m,this.lastMoveEventInfo=Cw(h,this.transformPagePoint),Rt.update(this.updatePoint,!0)},this.handlePointerUp=(m,h)=>{this.end();const{onEnd:f,onSessionEnd:b,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const p=Pw(m.type==="pointercancel"?this.lastMoveEventInfo:Cw(h,this.transformPagePoint),this.history);this.startEvent&&f&&f(m,p),b&&b(m,p)},!rU(t))return;this.dragSnapToOrigin=i,this.handlers=r,this.transformPagePoint=a,this.contextWindow=s||window;const o=vp(t),l=Cw(o,this.transformPagePoint),{point:c}=l,{timestamp:d}=Zr;this.history=[{...c,timestamp:d}];const{onSessionStart:u}=r;u&&u(t,Pw(l,this.history)),this.removeListeners=Lo(zo(this.contextWindow,"pointermove",this.handlePointerMove),zo(this.contextWindow,"pointerup",this.handlePointerUp),zo(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),el(this.updatePoint)}}function Cw(e,t){return t?{point:t(e.point)}:e}function o3(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Pw({point:e},t){return{point:e,delta:o3(e,aU(t)),offset:o3(e,fle(t)),velocity:ple(t,.1)}}function fle(e){return e[0]}function aU(e){return e[e.length-1]}function ple(e,t){if(e.length<2)return{x:0,y:0};let r=e.length-1,a=null;const s=aU(e);for(;r>=0&&(a=e[r],!(s.timestamp-a.timestamp>Si(t)));)r--;if(!a)return{x:0,y:0};const i=Ci(s.timestamp-a.timestamp);if(i===0)return{x:0,y:0};const o={x:(s.x-a.x)/i,y:(s.y-a.y)/i};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function md(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}const sU=1e-4,gle=1-sU,xle=1+sU,iU=.01,yle=0-iU,vle=0+iU;function ga(e){return e.max-e.min}function ble(e,t,r){return Math.abs(e-t)<=r}function l3(e,t,r,a=.5){e.origin=a,e.originPoint=cr(t.min,t.max,e.origin),e.scale=ga(r)/ga(t),e.translate=cr(r.min,r.max,e.origin)-e.originPoint,(e.scale>=gle&&e.scale<=xle||isNaN(e.scale))&&(e.scale=1),(e.translate>=yle&&e.translate<=vle||isNaN(e.translate))&&(e.translate=0)}function gh(e,t,r,a){l3(e.x,t.x,r.x,a?a.originX:void 0),l3(e.y,t.y,r.y,a?a.originY:void 0)}function c3(e,t,r){e.min=r.min+t.min,e.max=e.min+ga(t)}function wle(e,t,r){c3(e.x,t.x,r.x),c3(e.y,t.y,r.y)}function d3(e,t,r){e.min=t.min-r.min,e.max=e.min+ga(t)}function xh(e,t,r){d3(e.x,t.x,r.x),d3(e.y,t.y,r.y)}function jle(e,{min:t,max:r},a){return t!==void 0&&e<t?e=a?cr(t,e,a.min):Math.max(e,t):r!==void 0&&e>r&&(e=a?cr(r,e,a.max):Math.min(e,r)),e}function u3(e,t,r){return{min:t!==void 0?e.min+t:void 0,max:r!==void 0?e.max+r-(e.max-e.min):void 0}}function Nle(e,{top:t,left:r,bottom:a,right:s}){return{x:u3(e.x,r,s),y:u3(e.y,t,a)}}function m3(e,t){let r=t.min-e.min,a=t.max-e.max;return t.max-t.min<e.max-e.min&&([r,a]=[a,r]),{min:r,max:a}}function kle(e,t){return{x:m3(e.x,t.x),y:m3(e.y,t.y)}}function Sle(e,t){let r=.5;const a=ga(e),s=ga(t);return s>a?r=hu(t.min,t.max-a,e.min):a>s&&(r=hu(e.min,e.max-s,t.min)),Wi(0,1,r)}function Cle(e,t){const r={};return t.min!==void 0&&(r.min=t.min-e.min),t.max!==void 0&&(r.max=t.max-e.min),r}const oN=.35;function Ple(e=oN){return e===!1?e=0:e===!0&&(e=oN),{x:h3(e,"left","right"),y:h3(e,"top","bottom")}}function h3(e,t,r){return{min:f3(e,t),max:f3(e,r)}}function f3(e,t){return typeof e=="number"?e:e[t]||0}const p3=()=>({translate:0,scale:1,origin:0,originPoint:0}),hd=()=>({x:p3(),y:p3()}),g3=()=>({min:0,max:0}),yr=()=>({x:g3(),y:g3()});function Ca(e){return[e("x"),e("y")]}function oU({top:e,left:t,right:r,bottom:a}){return{x:{min:t,max:r},y:{min:e,max:a}}}function Tle({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Ale(e,t){if(!t)return e;const r=t({x:e.left,y:e.top}),a=t({x:e.right,y:e.bottom});return{top:r.y,left:r.x,bottom:a.y,right:a.x}}function Tw(e){return e===void 0||e===1}function lN({scale:e,scaleX:t,scaleY:r}){return!Tw(e)||!Tw(t)||!Tw(r)}function Cl(e){return lN(e)||lU(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function lU(e){return x3(e.x)||x3(e.y)}function x3(e){return e&&e!=="0%"}function Kx(e,t,r){const a=e-r,s=t*a;return r+s}function y3(e,t,r,a,s){return s!==void 0&&(e=Kx(e,s,a)),Kx(e,r,a)+t}function cN(e,t=0,r=1,a,s){e.min=y3(e.min,t,r,a,s),e.max=y3(e.max,t,r,a,s)}function cU(e,{x:t,y:r}){cN(e.x,t.translate,t.scale,t.originPoint),cN(e.y,r.translate,r.scale,r.originPoint)}const v3=.999999999999,b3=1.0000000000001;function Ele(e,t,r,a=!1){const s=r.length;if(!s)return;t.x=t.y=1;let i,o;for(let l=0;l<s;l++){i=r[l],o=i.projectionDelta;const{visualElement:c}=i.options;c&&c.props.style&&c.props.style.display==="contents"||(a&&i.options.layoutScroll&&i.scroll&&i!==i.root&&pd(e,{x:-i.scroll.offset.x,y:-i.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,cU(e,o)),a&&Cl(i.latestValues)&&pd(e,i.latestValues))}t.x<b3&&t.x>v3&&(t.x=1),t.y<b3&&t.y>v3&&(t.y=1)}function fd(e,t){e.min=e.min+t,e.max=e.max+t}function w3(e,t,r,a,s=.5){const i=cr(e.min,e.max,s);cN(e,t,r,i,a)}function pd(e,t){w3(e.x,t.x,t.scaleX,t.scale,t.originX),w3(e.y,t.y,t.scaleY,t.scale,t.originY)}function dU(e,t){return oU(Ale(e.getBoundingClientRect(),t))}function Ile(e,t,r){const a=dU(e,r),{scroll:s}=t;return s&&(fd(a.x,s.offset.x),fd(a.y,s.offset.y)),a}const uU=({current:e})=>e?e.ownerDocument.defaultView:null,_le=new WeakMap;class Mle{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=yr(),this.visualElement=t}start(t,{snapToCursor:r=!1}={}){const{presenceContext:a}=this.visualElement;if(a&&a.isPresent===!1)return;const s=u=>{const{dragSnapToOrigin:m}=this.getProps();m?this.pauseAnimation():this.stopAnimation(),r&&this.snapToCursor(vp(u).point)},i=(u,m)=>{const{drag:h,dragPropagation:f,onDragStart:b}=this.getProps();if(h&&!f&&(this.openDragLock&&this.openDragLock(),this.openDragLock=ule(h),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Ca(p=>{let x=this.getAxisMotionValue(p).get()||0;if(Ls.test(x)){const{projection:v}=this.visualElement;if(v&&v.layout){const w=v.layout.layoutBox[p];w&&(x=ga(w)*(parseFloat(x)/100))}}this.originPoint[p]=x}),b&&Rt.postRender(()=>b(u,m)),sN(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},o=(u,m)=>{const{dragPropagation:h,dragDirectionLock:f,onDirectionLock:b,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:p}=m;if(f&&this.currentDirection===null){this.currentDirection=Ole(p),this.currentDirection!==null&&b&&b(this.currentDirection);return}this.updateAxis("x",m.point,p),this.updateAxis("y",m.point,p),this.visualElement.render(),g&&g(u,m)},l=(u,m)=>this.stop(u,m),c=()=>Ca(u=>{var m;return this.getAnimationState(u)==="paused"&&((m=this.getAxisMotionValue(u).animation)===null||m===void 0?void 0:m.play())}),{dragSnapToOrigin:d}=this.getProps();this.panSession=new nU(t,{onSessionStart:s,onStart:i,onMove:o,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,contextWindow:uU(this.visualElement)})}stop(t,r){const a=this.isDragging;if(this.cancel(),!a)return;const{velocity:s}=r;this.startAnimation(s);const{onDragEnd:i}=this.getProps();i&&Rt.postRender(()=>i(t,r))}cancel(){this.isDragging=!1;const{projection:t,animationState:r}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:a}=this.getProps();!a&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),r&&r.setActive("whileDrag",!1)}updateAxis(t,r,a){const{drag:s}=this.getProps();if(!a||!xg(t,s,this.currentDirection))return;const i=this.getAxisMotionValue(t);let o=this.originPoint[t]+a[t];this.constraints&&this.constraints[t]&&(o=jle(o,this.constraints[t],this.elastic[t])),i.set(o)}resolveConstraints(){var t;const{dragConstraints:r,dragElastic:a}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,i=this.constraints;r&&md(r)?this.constraints||(this.constraints=this.resolveRefConstraints()):r&&s?this.constraints=Nle(s.layoutBox,r):this.constraints=!1,this.elastic=Ple(a),i!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&Ca(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=Cle(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:r}=this.getProps();if(!t||!md(t))return!1;const a=t.current,{projection:s}=this.visualElement;if(!s||!s.layout)return!1;const i=Ile(a,s.root,this.visualElement.getTransformPagePoint());let o=kle(s.layout.layoutBox,i);if(r){const l=r(Tle(o));this.hasMutatedConstraints=!!l,l&&(o=oU(l))}return o}startAnimation(t){const{drag:r,dragMomentum:a,dragElastic:s,dragTransition:i,dragSnapToOrigin:o,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},d=Ca(u=>{if(!xg(u,r,this.currentDirection))return;let m=c&&c[u]||{};o&&(m={min:0,max:0});const h=s?200:1e6,f=s?40:1e7,b={type:"inertia",velocity:a?t[u]:0,bounceStiffness:h,bounceDamping:f,timeConstant:750,restDelta:1,restSpeed:10,...i,...m};return this.startAxisValueAnimation(u,b)});return Promise.all(d).then(l)}startAxisValueAnimation(t,r){const a=this.getAxisMotionValue(t);return sN(this.visualElement,t),a.start(gC(t,a,0,r,this.visualElement,!1))}stopAnimation(){Ca(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Ca(t=>{var r;return(r=this.getAxisMotionValue(t).animation)===null||r===void 0?void 0:r.pause()})}getAnimationState(t){var r;return(r=this.getAxisMotionValue(t).animation)===null||r===void 0?void 0:r.state}getAxisMotionValue(t){const r=`_drag${t.toUpperCase()}`,a=this.visualElement.getProps(),s=a[r];return s||this.visualElement.getValue(t,(a.initial?a.initial[t]:void 0)||0)}snapToCursor(t){Ca(r=>{const{drag:a}=this.getProps();if(!xg(r,a,this.currentDirection))return;const{projection:s}=this.visualElement,i=this.getAxisMotionValue(r);if(s&&s.layout){const{min:o,max:l}=s.layout.layoutBox[r];i.set(t[r]-cr(o,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:r}=this.getProps(),{projection:a}=this.visualElement;if(!md(r)||!a||!this.constraints)return;this.stopAnimation();const s={x:0,y:0};Ca(o=>{const l=this.getAxisMotionValue(o);if(l&&this.constraints!==!1){const c=l.get();s[o]=Sle({min:c,max:c},this.constraints[o])}});const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",a.root&&a.root.updateScroll(),a.updateLayout(),this.resolveConstraints(),Ca(o=>{if(!xg(o,t,null))return;const l=this.getAxisMotionValue(o),{min:c,max:d}=this.constraints[o];l.set(cr(c,d,s[o]))})}addListeners(){if(!this.visualElement.current)return;_le.set(this.visualElement,this);const t=this.visualElement.current,r=zo(t,"pointerdown",c=>{const{drag:d,dragListener:u=!0}=this.getProps();d&&u&&this.start(c)}),a=()=>{const{dragConstraints:c}=this.getProps();md(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:s}=this.visualElement,i=s.addEventListener("measure",a);s&&!s.layout&&(s.root&&s.root.updateScroll(),s.updateLayout()),Rt.read(a);const o=yi(window,"resize",()=>this.scalePositionWithinConstraints()),l=s.addEventListener("didUpdate",({delta:c,hasLayoutChanged:d})=>{this.isDragging&&d&&(Ca(u=>{const m=this.getAxisMotionValue(u);m&&(this.originPoint[u]+=c[u].translate,m.set(m.get()+c[u].translate))}),this.visualElement.render())});return()=>{o(),r(),i(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:r=!1,dragDirectionLock:a=!1,dragPropagation:s=!1,dragConstraints:i=!1,dragElastic:o=oN,dragMomentum:l=!0}=t;return{...t,drag:r,dragDirectionLock:a,dragPropagation:s,dragConstraints:i,dragElastic:o,dragMomentum:l}}}function xg(e,t,r){return(t===!0||t===e)&&(r===null||r===e)}function Ole(e,t=10){let r=null;return Math.abs(e.y)>t?r="y":Math.abs(e.x)>t&&(r="x"),r}class Rle extends ml{constructor(t){super(t),this.removeGroupControls=fn,this.removeListeners=fn,this.controls=new Mle(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||fn}unmount(){this.removeGroupControls(),this.removeListeners()}}const j3=e=>(t,r)=>{e&&Rt.postRender(()=>e(t,r))};class Fle extends ml{constructor(){super(...arguments),this.removePointerDownListener=fn}onPointerDown(t){this.session=new nU(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:uU(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:r,onPan:a,onPanEnd:s}=this.node.getProps();return{onSessionStart:j3(t),onStart:j3(r),onMove:a,onEnd:(i,o)=>{delete this.session,s&&Rt.postRender(()=>s(i,o))}}}mount(){this.removePointerDownListener=zo(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const wC=y.createContext(null);function Dle(){const e=y.useContext(wC);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:r,register:a}=e,s=y.useId();y.useEffect(()=>a(s),[]);const i=y.useCallback(()=>r&&r(s),[s,r]);return!t&&r?[!1,i]:[!0]}const mU=y.createContext({}),hU=y.createContext({}),ox={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function N3(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Mm={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(We.test(e))e=parseFloat(e);else return e;const r=N3(e,t.target.x),a=N3(e,t.target.y);return`${r}% ${a}%`}},$le={correct:(e,{treeScale:t,projectionDelta:r})=>{const a=e,s=tl.parse(e);if(s.length>5)return a;const i=tl.createTransformer(e),o=typeof s[0]!="number"?1:0,l=r.x.scale*t.x,c=r.y.scale*t.y;s[0+o]/=l,s[1+o]/=c;const d=cr(l,c,.5);return typeof s[2+o]=="number"&&(s[2+o]/=d),typeof s[3+o]=="number"&&(s[3+o]/=d),i(s)}},Yx={};function Lle(e){Object.assign(Yx,e)}const{schedule:jC,cancel:R8e}=fW(queueMicrotask,!1);class zle extends y.Component{componentDidMount(){const{visualElement:t,layoutGroup:r,switchLayoutGroup:a,layoutId:s}=this.props,{projection:i}=t;Lle(Ble),i&&(r.group&&r.group.add(i),a&&a.register&&s&&a.register(i),i.root.didUpdate(),i.addEventListener("animationComplete",()=>{this.safeToRemove()}),i.setOptions({...i.options,onExitComplete:()=>this.safeToRemove()})),ox.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:r,visualElement:a,drag:s,isPresent:i}=this.props,o=a.projection;return o&&(o.isPresent=i,s||t.layoutDependency!==r||r===void 0?o.willUpdate():this.safeToRemove(),t.isPresent!==i&&(i?o.promote():o.relegate()||Rt.postRender(()=>{const l=o.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),jC.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:r,switchLayoutGroup:a}=this.props,{projection:s}=t;s&&(s.scheduleCheckAfterUnmount(),r&&r.group&&r.group.remove(s),a&&a.deregister&&a.deregister(s))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function fU(e){const[t,r]=Dle(),a=y.useContext(mU);return n.jsx(zle,{...e,layoutGroup:a,switchLayoutGroup:y.useContext(hU),isPresent:t,safeToRemove:r})}const Ble={borderRadius:{...Mm,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Mm,borderTopRightRadius:Mm,borderBottomLeftRadius:Mm,borderBottomRightRadius:Mm,boxShadow:$le},pU=["TopLeft","TopRight","BottomLeft","BottomRight"],Wle=pU.length,k3=e=>typeof e=="string"?parseFloat(e):e,S3=e=>typeof e=="number"||We.test(e);function Ule(e,t,r,a,s,i){s?(e.opacity=cr(0,r.opacity!==void 0?r.opacity:1,Vle(a)),e.opacityExit=cr(t.opacity!==void 0?t.opacity:1,0,qle(a))):i&&(e.opacity=cr(t.opacity!==void 0?t.opacity:1,r.opacity!==void 0?r.opacity:1,a));for(let o=0;o<Wle;o++){const l=`border${pU[o]}Radius`;let c=C3(t,l),d=C3(r,l);if(c===void 0&&d===void 0)continue;c||(c=0),d||(d=0),c===0||d===0||S3(c)===S3(d)?(e[l]=Math.max(cr(k3(c),k3(d),a),0),(Ls.test(d)||Ls.test(c))&&(e[l]+="%")):e[l]=d}(t.rotate||r.rotate)&&(e.rotate=cr(t.rotate||0,r.rotate||0,a))}function C3(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const Vle=gU(0,.5,wW),qle=gU(.5,.95,fn);function gU(e,t,r){return a=>a<e?0:a>t?1:r(hu(e,t,a))}function P3(e,t){e.min=t.min,e.max=t.max}function ja(e,t){P3(e.x,t.x),P3(e.y,t.y)}function T3(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function A3(e,t,r,a,s){return e-=t,e=Kx(e,1/r,a),s!==void 0&&(e=Kx(e,1/s,a)),e}function Hle(e,t=0,r=1,a=.5,s,i=e,o=e){if(Ls.test(t)&&(t=parseFloat(t),t=cr(o.min,o.max,t/100)-o.min),typeof t!="number")return;let l=cr(i.min,i.max,a);e===i&&(l-=t),e.min=A3(e.min,t,r,l,s),e.max=A3(e.max,t,r,l,s)}function E3(e,t,[r,a,s],i,o){Hle(e,t[r],t[a],t[s],t.scale,i,o)}const Gle=["x","scaleX","originX"],Kle=["y","scaleY","originY"];function I3(e,t,r,a){E3(e.x,t,Gle,r?r.x:void 0,a?a.x:void 0),E3(e.y,t,Kle,r?r.y:void 0,a?a.y:void 0)}function _3(e){return e.translate===0&&e.scale===1}function xU(e){return _3(e.x)&&_3(e.y)}function M3(e,t){return e.min===t.min&&e.max===t.max}function Yle(e,t){return M3(e.x,t.x)&&M3(e.y,t.y)}function O3(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function yU(e,t){return O3(e.x,t.x)&&O3(e.y,t.y)}function R3(e){return ga(e.x)/ga(e.y)}function F3(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Zle{constructor(){this.members=[]}add(t){xC(this.members,t),t.scheduleRender()}remove(t){if(yC(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const r=this.members[this.members.length-1];r&&this.promote(r)}}relegate(t){const r=this.members.findIndex(s=>t===s);if(r===0)return!1;let a;for(let s=r;s>=0;s--){const i=this.members[s];if(i.isPresent!==!1){a=i;break}}return a?(this.promote(a),!0):!1}promote(t,r){const a=this.lead;if(t!==a&&(this.prevLead=a,this.lead=t,t.show(),a)){a.instance&&a.scheduleRender(),t.scheduleRender(),t.resumeFrom=a,r&&(t.resumeFrom.preserveOpacity=!0),a.snapshot&&(t.snapshot=a.snapshot,t.snapshot.latestValues=a.animationValues||a.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:s}=t.options;s===!1&&a.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:r,resumingFrom:a}=t;r.onExitComplete&&r.onExitComplete(),a&&a.options.onExitComplete&&a.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Qle(e,t,r){let a="";const s=e.x.translate/t.x,i=e.y.translate/t.y,o=(r==null?void 0:r.z)||0;if((s||i||o)&&(a=`translate3d(${s}px, ${i}px, ${o}px) `),(t.x!==1||t.y!==1)&&(a+=`scale(${1/t.x}, ${1/t.y}) `),r){const{transformPerspective:d,rotate:u,rotateX:m,rotateY:h,skewX:f,skewY:b}=r;d&&(a=`perspective(${d}px) ${a}`),u&&(a+=`rotate(${u}deg) `),m&&(a+=`rotateX(${m}deg) `),h&&(a+=`rotateY(${h}deg) `),f&&(a+=`skewX(${f}deg) `),b&&(a+=`skewY(${b}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(a+=`scale(${l}, ${c})`),a||"none"}const Xle=(e,t)=>e.depth-t.depth;class Jle{constructor(){this.children=[],this.isDirty=!1}add(t){xC(this.children,t),this.isDirty=!0}remove(t){yC(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Xle),this.isDirty=!1,this.children.forEach(t)}}function lx(e){const t=hn(e)?e.get():e;return Boe(t)?t.toValue():t}function ece(e,t){const r=zs.now(),a=({timestamp:s})=>{const i=s-r;i>=t&&(el(a),e(i-t))};return Rt.read(a,!0),()=>el(a)}function tce(e){return e instanceof SVGElement&&e.tagName!=="svg"}function rce(e,t,r){const a=hn(e)?e:ef(e);return a.start(gC("",a,t,r)),a.animation}const Pl={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},rh=typeof window<"u"&&window.MotionDebug!==void 0,Aw=["","X","Y","Z"],nce={visibility:"hidden"},D3=1e3;let ace=0;function Ew(e,t,r,a){const{latestValues:s}=t;s[e]&&(r[e]=s[e],t.setStaticValue(e,0),a&&(a[e]=0))}function vU(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const r=XW(t);if(window.MotionHasOptimisedAnimation(r,"transform")){const{layout:s,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(r,"transform",Rt,!(s||i))}const{parent:a}=e;a&&!a.hasCheckedOptimisedAppear&&vU(a)}function bU({attachResizeListener:e,defaultParent:t,measureScroll:r,checkIsScrollRoot:a,resetTransform:s}){return class{constructor(o={},l=t==null?void 0:t()){this.id=ace++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,rh&&(Pl.totalNodes=Pl.resolvedTargetDeltas=Pl.recalculatedProjection=0),this.nodes.forEach(oce),this.nodes.forEach(mce),this.nodes.forEach(hce),this.nodes.forEach(lce),rh&&window.MotionDebug.record(Pl)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new Jle)}addEventListener(o,l){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new vC),this.eventHandlers.get(o).add(l)}notifyListeners(o,...l){const c=this.eventHandlers.get(o);c&&c.notify(...l)}hasListeners(o){return this.eventHandlers.has(o)}mount(o,l=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=tce(o),this.instance=o;const{layoutId:c,layout:d,visualElement:u}=this.options;if(u&&!u.current&&u.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),l&&(d||c)&&(this.isLayoutDirty=!0),e){let m;const h=()=>this.root.updateBlockedByResize=!1;e(o,()=>{this.root.updateBlockedByResize=!0,m&&m(),m=ece(h,250),ox.hasAnimatedSinceResize&&(ox.hasAnimatedSinceResize=!1,this.nodes.forEach(L3))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&u&&(c||d)&&this.addEventListener("didUpdate",({delta:m,hasLayoutChanged:h,hasRelativeTargetChanged:f,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||u.getDefaultTransition()||yce,{onLayoutAnimationStart:p,onLayoutAnimationComplete:x}=u.getProps(),v=!this.targetLayout||!yU(this.targetLayout,b)||f,w=!h&&f;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||w||h&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(m,w);const N={...rC(g,"layout"),onPlay:p,onComplete:x};(u.shouldReduceMotion||this.options.layoutRoot)&&(N.delay=0,N.type=!1),this.startAnimation(N)}else h||L3(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,el(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(fce),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&vU(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const m=this.path[u];m.shouldResetTransform=!0,m.updateScroll("snapshot"),m.options.layoutRoot&&m.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach($3);return}this.isUpdating||this.nodes.forEach(dce),this.isUpdating=!1,this.nodes.forEach(uce),this.nodes.forEach(sce),this.nodes.forEach(ice),this.clearAllSnapshots();const l=zs.now();Zr.delta=Wi(0,1e3/60,l-Zr.timestamp),Zr.timestamp=l,Zr.isProcessing=!0,ww.update.process(Zr),ww.preRender.process(Zr),ww.render.process(Zr),Zr.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,jC.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(cce),this.sharedNodes.forEach(pce)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Rt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Rt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c<this.path.length;c++)this.path[c].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=yr(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(l=!1),l){const c=a(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:c,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!s)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!xU(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;o&&(l||Cl(this.latestValues)||u)&&(s(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return o&&(c=this.removeTransform(c)),vce(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var o;const{visualElement:l}=this.options;if(!l)return yr();const c=l.measureViewportBox();if(!(((o=this.scroll)===null||o===void 0?void 0:o.wasRoot)||this.path.some(bce))){const{scroll:u}=this.root;u&&(fd(c.x,u.offset.x),fd(c.y,u.offset.y))}return c}removeElementScroll(o){var l;const c=yr();if(ja(c,o),!((l=this.scroll)===null||l===void 0)&&l.wasRoot)return c;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:m,options:h}=u;u!==this.root&&m&&h.layoutScroll&&(m.wasRoot&&ja(c,o),fd(c.x,m.offset.x),fd(c.y,m.offset.y))}return c}applyTransform(o,l=!1){const c=yr();ja(c,o);for(let d=0;d<this.path.length;d++){const u=this.path[d];!l&&u.options.layoutScroll&&u.scroll&&u!==u.root&&pd(c,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),Cl(u.latestValues)&&pd(c,u.latestValues)}return Cl(this.latestValues)&&pd(c,this.latestValues),c}removeTransform(o){const l=yr();ja(l,o);for(let c=0;c<this.path.length;c++){const d=this.path[c];if(!d.instance||!Cl(d.latestValues))continue;lN(d.latestValues)&&d.updateSnapshot();const u=yr(),m=d.measurePageBox();ja(u,m),I3(l,d.latestValues,d.snapshot?d.snapshot.layoutBox:void 0,u)}return Cl(this.latestValues)&&I3(l,this.latestValues),l}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Zr.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var l;const c=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=c.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=c.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=c.isSharedProjectionDirty);const d=!!this.resumingFrom||this!==c;if(!(o||d&&this.isSharedProjectionDirty||this.isProjectionDirty||!((l=this.parent)===null||l===void 0)&&l.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:m,layoutId:h}=this.options;if(!(!this.layout||!(m||h))){if(this.resolvedRelativeTargetAt=Zr.timestamp,!this.targetDelta&&!this.relativeTarget){const f=this.getClosestProjectingParent();f&&f.layout&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=yr(),this.relativeTargetOrigin=yr(),xh(this.relativeTargetOrigin,this.layout.layoutBox,f.layout.layoutBox),ja(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=yr(),this.targetWithTransforms=yr()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),wle(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ja(this.target,this.layout.layoutBox),cU(this.target,this.targetDelta)):ja(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const f=this.getClosestProjectingParent();f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=yr(),this.relativeTargetOrigin=yr(),xh(this.relativeTargetOrigin,this.target,f.target),ja(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}rh&&Pl.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||lN(this.parent.latestValues)||lU(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var o;const l=this.getLead(),c=!!this.resumingFrom||this!==l;let d=!0;if((this.isProjectionDirty||!((o=this.parent)===null||o===void 0)&&o.isProjectionDirty)&&(d=!1),c&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(d=!1),this.resolvedRelativeTargetAt===Zr.timestamp&&(d=!1),d)return;const{layout:u,layoutId:m}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(u||m))return;ja(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,f=this.treeScale.y;Ele(this.layoutCorrected,this.treeScale,this.path,c),l.layout&&!l.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(l.target=l.layout.layoutBox,l.targetWithTransforms=yr());const{target:b}=l;if(!b){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(T3(this.prevProjectionDelta.x,this.projectionDelta.x),T3(this.prevProjectionDelta.y,this.projectionDelta.y)),gh(this.projectionDelta,this.layoutCorrected,b,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==f||!F3(this.projectionDelta.x,this.prevProjectionDelta.x)||!F3(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",b)),rh&&Pl.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var l;if((l=this.options.visualElement)===null||l===void 0||l.scheduleRender(),o){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=hd(),this.projectionDelta=hd(),this.projectionDeltaWithTransform=hd()}setAnimationOrigin(o,l=!1){const c=this.snapshot,d=c?c.latestValues:{},u={...this.latestValues},m=hd();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const h=yr(),f=c?c.source:void 0,b=this.layout?this.layout.source:void 0,g=f!==b,p=this.getStack(),x=!p||p.members.length<=1,v=!!(g&&!x&&this.options.crossfade===!0&&!this.path.some(xce));this.animationProgress=0;let w;this.mixTargetDelta=N=>{const j=N/1e3;z3(m.x,o.x,j),z3(m.y,o.y,j),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(xh(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),gce(this.relativeTarget,this.relativeTargetOrigin,h,j),w&&Yle(this.relativeTarget,w)&&(this.isProjectionDirty=!1),w||(w=yr()),ja(w,this.relativeTarget)),g&&(this.animationValues=u,Ule(u,d,this.latestValues,j,v,x)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=j},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(el(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Rt.update(()=>{ox.hasAnimatedSinceResize=!0,this.currentAnimation=rce(0,D3,{...o,onUpdate:l=>{this.mixTargetDelta(l),o.onUpdate&&o.onUpdate(l)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(D3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:l,target:c,layout:d,latestValues:u}=o;if(!(!l||!c||!d)){if(this!==o&&this.layout&&d&&wU(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||yr();const m=ga(this.layout.layoutBox.x);c.x.min=o.target.x.min,c.x.max=c.x.min+m;const h=ga(this.layout.layoutBox.y);c.y.min=o.target.y.min,c.y.max=c.y.min+h}ja(l,c),pd(l,u),gh(this.projectionDeltaWithTransform,this.layoutCorrected,l,u)}}registerSharedNode(o,l){this.sharedNodes.has(o)||this.sharedNodes.set(o,new Zle),this.sharedNodes.get(o).add(l);const d=l.options.initialPromotionConfig;l.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(l):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var o;const{layoutId:l}=this.options;return l?((o=this.getStack())===null||o===void 0?void 0:o.lead)||this:this}getPrevLead(){var o;const{layoutId:l}=this.options;return l?(o=this.getStack())===null||o===void 0?void 0:o.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:l,preserveFollowOpacity:c}={}){const d=this.getStack();d&&d.promote(this,c),o&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let l=!1;const{latestValues:c}=o;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const d={};c.z&&Ew("z",o,d,this.animationValues);for(let u=0;u<Aw.length;u++)Ew(`rotate${Aw[u]}`,o,d,this.animationValues),Ew(`skew${Aw[u]}`,o,d,this.animationValues);o.render();for(const u in d)o.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);o.scheduleRender()}getProjectionStyles(o){var l,c;if(!this.instance||this.isSVG)return;if(!this.isVisible)return nce;const d={visibility:""},u=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,d.opacity="",d.pointerEvents=lx(o==null?void 0:o.pointerEvents)||"",d.transform=u?u(this.latestValues,""):"none",d;const m=this.getLead();if(!this.projectionDelta||!this.layout||!m.target){const g={};return this.options.layoutId&&(g.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,g.pointerEvents=lx(o==null?void 0:o.pointerEvents)||""),this.hasProjected&&!Cl(this.latestValues)&&(g.transform=u?u({},""):"none",this.hasProjected=!1),g}const h=m.animationValues||m.latestValues;this.applyTransformsToTarget(),d.transform=Qle(this.projectionDeltaWithTransform,this.treeScale,h),u&&(d.transform=u(h,d.transform));const{x:f,y:b}=this.projectionDelta;d.transformOrigin=`${f.origin*100}% ${b.origin*100}% 0`,m.animationValues?d.opacity=m===this?(c=(l=h.opacity)!==null&&l!==void 0?l:this.latestValues.opacity)!==null&&c!==void 0?c:1:this.preserveOpacity?this.latestValues.opacity:h.opacityExit:d.opacity=m===this?h.opacity!==void 0?h.opacity:"":h.opacityExit!==void 0?h.opacityExit:0;for(const g in Yx){if(h[g]===void 0)continue;const{correct:p,applyTo:x}=Yx[g],v=d.transform==="none"?h[g]:p(h[g],m);if(x){const w=x.length;for(let N=0;N<w;N++)d[x[N]]=v}else d[g]=v}return this.options.layoutId&&(d.pointerEvents=m===this?lx(o==null?void 0:o.pointerEvents)||"":"none"),d}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var l;return(l=o.currentAnimation)===null||l===void 0?void 0:l.stop()}),this.root.nodes.forEach($3),this.root.sharedNodes.clear()}}}function sce(e){e.updateLayout()}function ice(e){var t;const r=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&r&&e.hasListeners("didUpdate")){const{layoutBox:a,measuredBox:s}=e.layout,{animationType:i}=e.options,o=r.source!==e.layout.source;i==="size"?Ca(m=>{const h=o?r.measuredBox[m]:r.layoutBox[m],f=ga(h);h.min=a[m].min,h.max=h.min+f}):wU(i,r.layoutBox,a)&&Ca(m=>{const h=o?r.measuredBox[m]:r.layoutBox[m],f=ga(a[m]);h.max=h.min+f,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[m].max=e.relativeTarget[m].min+f)});const l=hd();gh(l,a,r.layoutBox);const c=hd();o?gh(c,e.applyTransform(s,!0),r.measuredBox):gh(c,a,r.layoutBox);const d=!xU(l);let u=!1;if(!e.resumeFrom){const m=e.getClosestProjectingParent();if(m&&!m.resumeFrom){const{snapshot:h,layout:f}=m;if(h&&f){const b=yr();xh(b,r.layoutBox,h.layoutBox);const g=yr();xh(g,a,f.layoutBox),yU(b,g)||(u=!0),m.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=b,e.relativeParent=m)}}}e.notifyListeners("didUpdate",{layout:a,snapshot:r,delta:c,layoutDelta:l,hasLayoutChanged:d,hasRelativeTargetChanged:u})}else if(e.isLead()){const{onExitComplete:a}=e.options;a&&a()}e.options.transition=void 0}function oce(e){rh&&Pl.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function lce(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function cce(e){e.clearSnapshot()}function $3(e){e.clearMeasurements()}function dce(e){e.isLayoutDirty=!1}function uce(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function L3(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function mce(e){e.resolveTargetDelta()}function hce(e){e.calcProjection()}
748function fce(e){e.resetSkewAndRotation()}function pce(e){e.removeLeadSnapshot()}function z3(e,t,r){e.translate=cr(t.translate,0,r),e.scale=cr(t.scale,1,r),e.origin=t.origin,e.originPoint=t.originPoint}function B3(e,t,r,a){e.min=cr(t.min,r.min,a),e.max=cr(t.max,r.max,a)}function gce(e,t,r,a){B3(e.x,t.x,r.x,a),B3(e.y,t.y,r.y,a)}function xce(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const yce={duration:.45,ease:[.4,0,.1,1]},W3=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),U3=W3("applewebkit/")&&!W3("chrome/")?Math.round:fn;function V3(e){e.min=U3(e.min),e.max=U3(e.max)}function vce(e){V3(e.x),V3(e.y)}function wU(e,t,r){return e==="position"||e==="preserve-aspect"&&!ble(R3(t),R3(r),.2)}function bce(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const wce=bU({attachResizeListener:(e,t)=>yi(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Iw={current:void 0},jU=bU({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Iw.current){const e=new wce({});e.mount(window),e.setOptions({layoutScroll:!0}),Iw.current=e}return Iw.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),jce={pan:{Feature:Fle},drag:{Feature:Rle,ProjectionNode:jU,MeasureLayout:fU}};function q3(e,t,r){const{props:a}=e;e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",r);const s=a[r?"onHoverStart":"onHoverEnd"];s&&Rt.postRender(()=>s(t,vp(t)))}class Nce extends ml{mount(){const{current:t,props:r}=this.node;t&&(this.unmount=dle(t,a=>(q3(this.node,a,!0),s=>q3(this.node,s,!1)),{passive:!r.onHoverStart&&!r.onHoverEnd}))}unmount(){}}class kce extends ml{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Lo(yi(this.node.current,"focus",()=>this.onFocus()),yi(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const NU=(e,t)=>t?e===t?!0:NU(e,t.parentElement):!1;function _w(e,t){if(!t)return;const r=new PointerEvent("pointer"+e);t(r,vp(r))}class Sce extends ml{constructor(){super(...arguments),this.removeStartListeners=fn,this.removeEndListeners=fn,this.removeAccessibleListeners=fn,this.startPointerPress=(t,r)=>{if(this.isPressing)return;this.removeEndListeners();const a=this.node.getProps(),i=zo(window,"pointerup",(l,c)=>{if(!this.checkPressEnd())return;const{onTap:d,onTapCancel:u,globalTapTarget:m}=this.node.getProps(),h=!m&&!NU(this.node.current,l.target)?u:d;h&&Rt.update(()=>h(l,c))},{passive:!(a.onTap||a.onPointerUp)}),o=zo(window,"pointercancel",(l,c)=>this.cancelPress(l,c),{passive:!(a.onTapCancel||a.onPointerCancel)});this.removeEndListeners=Lo(i,o),this.startPress(t,r)},this.startAccessiblePress=()=>{const t=i=>{if(i.key!=="Enter"||this.isPressing)return;const o=l=>{l.key!=="Enter"||!this.checkPressEnd()||_w("up",(c,d)=>{const{onTap:u}=this.node.getProps();u&&Rt.postRender(()=>u(c,d))})};this.removeEndListeners(),this.removeEndListeners=yi(this.node.current,"keyup",o),_w("down",(l,c)=>{this.startPress(l,c)})},r=yi(this.node.current,"keydown",t),a=()=>{this.isPressing&&_w("cancel",(i,o)=>this.cancelPress(i,o))},s=yi(this.node.current,"blur",a);this.removeAccessibleListeners=Lo(r,s)}}startPress(t,r){this.isPressing=!0;const{onTapStart:a,whileTap:s}=this.node.getProps();s&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),a&&Rt.postRender(()=>a(t,r))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!tU()}cancelPress(t,r){if(!this.checkPressEnd())return;const{onTapCancel:a}=this.node.getProps();a&&Rt.postRender(()=>a(t,r))}mount(){const t=this.node.getProps(),r=zo(t.globalTapTarget?window:this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),a=yi(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Lo(r,a)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const dN=new WeakMap,Mw=new WeakMap,Cce=e=>{const t=dN.get(e.target);t&&t(e)},Pce=e=>{e.forEach(Cce)};function Tce({root:e,...t}){const r=e||document;Mw.has(r)||Mw.set(r,{});const a=Mw.get(r),s=JSON.stringify(t);return a[s]||(a[s]=new IntersectionObserver(Pce,{root:e,...t})),a[s]}function Ace(e,t,r){const a=Tce(t);return dN.set(e,r),a.observe(e),()=>{dN.delete(e),a.unobserve(e)}}const Ece={some:0,all:1};class Ice extends ml{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:r,margin:a,amount:s="some",once:i}=t,o={root:r?r.current:void 0,rootMargin:a,threshold:typeof s=="number"?s:Ece[s]},l=c=>{const{isIntersecting:d}=c;if(this.isInView===d||(this.isInView=d,i&&!d&&this.hasEnteredView))return;d&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",d);const{onViewportEnter:u,onViewportLeave:m}=this.node.getProps(),h=d?u:m;h&&h(c)};return Ace(this.node.current,o,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:r}=this.node;["amount","margin","root"].some(_ce(t,r))&&this.startObserver()}unmount(){}}function _ce({viewport:e={}},{viewport:t={}}={}){return r=>e[r]!==t[r]}const Mce={inView:{Feature:Ice},tap:{Feature:Sce},focus:{Feature:kce},hover:{Feature:Nce}},Oce={layout:{ProjectionNode:jU,MeasureLayout:fU}},kU=y.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),vb=y.createContext({}),NC=typeof window<"u",Rce=NC?y.useLayoutEffect:y.useEffect,SU=y.createContext({strict:!1});function Fce(e,t,r,a,s){var i,o;const{visualElement:l}=y.useContext(vb),c=y.useContext(SU),d=y.useContext(wC),u=y.useContext(kU).reducedMotion,m=y.useRef();a=a||c.renderer,!m.current&&a&&(m.current=a(e,{visualState:t,parent:l,props:r,presenceContext:d,blockInitialAnimation:d?d.initial===!1:!1,reducedMotionConfig:u}));const h=m.current,f=y.useContext(hU);h&&!h.projection&&s&&(h.type==="html"||h.type==="svg")&&Dce(m.current,r,s,f);const b=y.useRef(!1);y.useInsertionEffect(()=>{h&&b.current&&h.update(r,d)});const g=r[QW],p=y.useRef(!!g&&!(!((i=window.MotionHandoffIsComplete)===null||i===void 0)&&i.call(window,g))&&((o=window.MotionHasOptimisedAnimation)===null||o===void 0?void 0:o.call(window,g)));return Rce(()=>{h&&(b.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),jC.render(h.render),p.
vendor: 9,761 bytes, line 748
748current&&h.animationState&&h.animationState.animateChanges())}),y.useEffect(()=>{h&&(!p.current&&h.animationState&&h.animationState.animateChanges(),p.current&&(queueMicrotask(()=>{var x;(x=window.MotionHandoffMarkAsComplete)===null||x===void 0||x.call(window,g)}),p.current=!1))}),h}function Dce(e,t,r,a){const{layoutId:s,layout:i,drag:o,dragConstraints:l,layoutScroll:c,layoutRoot:d}=t;e.projection=new r(e.latestValues,t["data-framer-portal-id"]?void 0:CU(e.parent)),e.projection.setOptions({layoutId:s,layout:i,alwaysMeasureLayout:!!o||l&&md(l),visualElement:e,animationType:typeof i=="string"?i:"both",initialPromotionConfig:a,layoutScroll:c,layoutRoot:d})}function CU(e){if(e)return e.options.allowProjection!==!1?e.projection:CU(e.parent)}function $ce(e,t,r){return y.useCallback(a=>{a&&e.mount&&e.mount(a),t&&(a?t.mount(a):t.unmount()),r&&(typeof r=="function"?r(a):md(r)&&(r.current=a))},[t])}function bb(e){return gb(e.animate)||tC.some(t=>Qh(e[t]))}function PU(e){return!!(bb(e)||e.variants)}function Lce(e,t){if(bb(e)){const{initial:r,animate:a}=e;return{initial:r===!1||Qh(r)?r:void 0,animate:Qh(a)?a:void 0}}return e.inherit!==!1?t:{}}function zce(e){const{initial:t,animate:r}=Lce(e,y.useContext(vb));return y.useMemo(()=>({initial:t,animate:r}),[H3(t),H3(r)])}function H3(e){return Array.isArray(e)?e.join(" "):e}const G3={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},fu={};for(const e in G3)fu[e]={isEnabled:t=>G3[e].some(r=>!!t[r])};function Bce(e){for(const t in e)fu[t]={...fu[t],...e[t]}}const Wce=Symbol.for("motionComponentSymbol");function Uce({preloadedFeatures:e,createVisualElement:t,useRender:r,useVisualState:a,Component:s}){e&&Bce(e);function i(l,c){let d;const u={...y.useContext(kU),...l,layoutId:Vce(l)},{isStatic:m}=u,h=zce(l),f=a(l,m);if(!m&&NC){qce();const b=Hce(u);d=b.MeasureLayout,h.visualElement=Fce(s,f,u,t,b.ProjectionNode)}return n.jsxs(vb.Provider,{value:h,children:[d&&h.visualElement?n.jsx(d,{visualElement:h.visualElement,...u}):null,r(s,l,$ce(f,h.visualElement,c),f,m,h.visualElement)]})}const o=y.forwardRef(i);return o[Wce]=s,o}function Vce({layoutId:e}){const t=y.useContext(mU).id;return t&&e!==void 0?t+"-"+e:e}function qce(e,t){y.useContext(SU).strict}function Hce(e){const{drag:t,layout:r}=fu;if(!t&&!r)return{};const a={...t,...r};return{MeasureLayout:t!=null&&t.isEnabled(e)||r!=null&&r.isEnabled(e)?a.MeasureLayout:void 0,ProjectionNode:a.ProjectionNode}}const Gce=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function kC(e){return typeof e!="string"||e.includes("-")?!1:!!(Gce.indexOf(e)>-1||/[A-Z]/u.test(e))}function TU(e,{style:t,vars:r},a,s){Object.assign(e.style,t,s&&s.getProjectionStyles(a));for(const i in r)e.style.setProperty(i,r[i])}const AU=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function EU(e,t,r,a){TU(e,t,void 0,a);for(const s in t.attrs)e.setAttribute(AU.has(s)?s:bC(s),t.attrs[s])}function IU(e,{layout:t,layoutId:r}){return Cc.has(e)||e.startsWith("origin")||(t||r!==void 0)&&(!!Yx[e]||e==="opacity")}function SC(e,t,r){var a;const{style:s}=e,i={};for(const o in s)(hn(s[o])||t.style&&hn(t.style[o])||IU(o,e)||((a=r==null?void 0:r.getValue(o))===null||a===void 0?void 0:a.liveStyle)!==void 0)&&(i[o]=s[o]);return i}function _U(e,t,r){const a=SC(e,t,r);for(const s in e)if(hn(e[s])||hn(t[s])){const i=gp.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;a[i]=e[s]}return a}function Kce(e){const t=y.useRef(null);return t.current===null&&(t.current=e()),t.current}function Yce({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:r},a,s,i){const o={latestValues:Zce(a,s,i,e),renderState:t()};return r&&(o.mount=l=>r(a,l,o)),o}const MU=e=>(t,r)=>{const a=y.useContext(vb),s=y.useContext(wC),i=()=>Yce(e,t,a,s);return r?i():Kce(i)};function Zce(e,t,r,a){const s={},i=a(e,{});for(const h in i)s[h]=lx(i[h]);let{initial:o,animate:l}=e;const c=bb(e),d=PU(e);t&&d&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),l===void 0&&(l=t.animate));let u=r?r.initial===!1:!1;u=u||o===!1;const m=u?l:o;if(m&&typeof m!="boolean"&&!gb(m)){const h=Array.isArray(m)?m:[m];for(let f=0;f<h.length;f++){const b=J2(e,h[f]);if(b){const{transitionEnd:g,transition:p,...x}=b;for(const v in x){let w=x[v];if(Array.isArray(w)){const N=u?w.length-1:0;w=w[N]}w!==null&&(s[v]=w)}for(const v in g)s[v]=g[v]}}}return s}const CC=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),OU=()=>({...CC(),attrs:{}}),RU=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Qce={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Xce=gp.length;function Jce(e,t,r){let a="",s=!0;for(let i=0;i<Xce;i++){const o=gp[i],l=e[o];if(l===void 0)continue;let c=!0;if(typeof l=="number"?c=l===(o.startsWith("scale")?1:0):c=parseFloat(l)===0,!c||r){const d=RU(l,cC[o]);if(!c){s=!1;const u=Qce[o]||o;a+=`${u}(${d}) `}r&&(t[o]=d)}}return a=a.trim(),r?a=r(t,s?"":a):s&&(a="none"),a}function PC(e,t,r){const{style:a,vars:s,transformOrigin:i}=e;let o=!1,l=!1;for(const c in t){const d=t[c];if(Cc.has(c)){o=!0;continue}else if(CW(c)){s[c]=d;continue}else{const u=RU(d,cC[c]);c.startsWith("origin")?(l=!0,i[c]=u):a[c]=u}}if(t.transform||(o||r?a.transform=Jce(t,e.transform,r):a.transform&&(a.transform="none")),l){const{originX:c="50%",originY:d="50%",originZ:u=0}=i;a.transformOrigin=`${c} ${d} ${u}`}}function K3(e,t,r){return typeof e=="string"?e:We.transform(t+r*e)}function ede(e,t,r){const a=K3(t,e.x,e.width),s=K3(r,e.y,e.height);return`${a} ${s}`}const tde={offset:"stroke-dashoffset",array:"stroke-dasharray"},rde={offset:"strokeDashoffset",array:"strokeDasharray"};function nde(e,t,r=1,a=0,s=!0){e.pathLength=1;const i=s?tde:rde;e[i.offset]=We.transform(-a);const o=We.transform(t),l=We.transform(r);e[i.array]=`${o} ${l}`}function TC(e,{attrX:t,attrY:r,attrScale:a,originX:s,originY:i,pathLength:o,pathSpacing:l=1,pathOffset:c=0,...d},u,m){if(PC(e,d,m),u){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:f,dimensions:b}=e;h.transform&&(b&&(f.transform=h.transform),delete h.transform),b&&(s!==void 0||i!==void 0||f.transform)&&(f.transformOrigin=ede(b,s!==void 0?s:.5,i!==void 0?i:.5)),t!==void 0&&(h.x=t),r!==void 0&&(h.y=r),a!==void 0&&(h.scale=a),o!==void 0&&nde(h,o,l,c,!1)}const AC=e=>typeof e=="string"&&e.toLowerCase()==="svg",ade={useVisualState:MU({scrapeMotionValuesFromProps:_U,createRenderState:OU,onMount:(e,t,{renderState:r,latestValues:a})=>{Rt.read(()=>{try{r.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{r.dimensions={x:0,y:0,width:0,height:0}}}),Rt.render(()=>{TC(r,a,AC(t.tagName),e.transformTemplate),EU(t,r)})}})},sde={useVisualState:MU({scrapeMotionValuesFromProps:SC,createRenderState:CC})};function FU(e,t,r){for(const a in t)!hn(t[a])&&!IU(a,r)&&(e[a]=t[a])}function ide({transformTemplate:e},t){return y.useMemo(()=>{const r=CC();return PC(r,t,e),Object.assign({},r.vars,r.style)},[t])}function ode(e,t){const r=e.style||{},a={};return FU(a,r,e),Object.assign(a,ide(e,t)),a}function lde(e,t){const r={},a=ode(e,t);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,a.userSelect=a.WebkitUserSelect=a.WebkitTouchCallout="none",a.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=a,r}const cde=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Zx(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||cde.has(e)}let DU=e=>!Zx(e);function dde(e){e&&(DU=t=>t.startsWith("on")?!Zx(t):e(t))}try{dde(require("@emotion/is-prop-valid").default)}catch{}function ude(e,t,r){const a={};for(const s in e)s==="values"&&typeof e.values=="object"||(DU(s)||r===!0&&Zx(s)||!t&&!Zx(s)||e.draggable&&s.startsWith("onDrag"))&&(a[s]=e[s]);return a}function mde(e,t,r,a){const s=y.useMemo(()=>{const i=OU();return TC(i,t,AC(a),e.transformTemplate),{...i.attrs,style:{...i.style}}},[t]);if(e.style){const i={};FU(i,e.style,e),s.style={...i,...s.style}}return s}function hde(e=!1){return(r,a,s,{latestValues:i},o)=>{const c=(kC(r)?mde:lde)(a,i,o,r),d=ude(a,typeof r=="string",e),u=r!==y.Fragment?{...d,...c,ref:s}:{},{children:m}=a,h=y.useMemo(()=>hn(m)?m.get():m,[m]);return y.createElement(r,{...u,children:h})}}function fde(e,t){return function(a,{forwardMotionProps:s}={forwardMotionProps:!1}){const o={...kC(a)?ade:sde,preloadedFeatures:e,useRender:hde(s),createVisualElement:t,Component:a};return Uce(o)}}const uN={current:null},$U={current:!1};
vendor: 4,422 bytes, line 748
748function pde(){if($U.current=!0,!!NC)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>uN.current=e.matches;e.addListener(t),t()}else uN.current=!1}function gde(e,t,r){for(const a in t){const s=t[a],i=r[a];if(hn(s))e.addValue(a,s);else if(hn(i))e.addValue(a,ef(s,{owner:e}));else if(i!==s)if(e.hasValue(a)){const o=e.getValue(a);o.liveStyle===!0?o.jump(s):o.hasAnimated||o.set(s)}else{const o=e.getStaticValue(a);e.addValue(a,ef(o!==void 0?o:s,{owner:e}))}}for(const a in r)t[a]===void 0&&e.removeValue(a);return t}const Y3=new WeakMap,xde=[...AW,ln,tl],yde=e=>xde.find(TW(e)),Z3=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class vde{scrapeMotionValuesFromProps(t,r,a){return{}}constructor({parent:t,props:r,presenceContext:a,reducedMotionConfig:s,blockInitialAnimation:i,visualState:o},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=iC,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const h=zs.now();this.renderScheduledAt<h&&(this.renderScheduledAt=h,Rt.render(this.render,!1,!0))};const{latestValues:c,renderState:d}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=r.initial?{...c}:{},this.renderState=d,this.parent=t,this.props=r,this.presenceContext=a,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=l,this.blockInitialAnimation=!!i,this.isControllingVariants=bb(r),this.isVariantNode=PU(r),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...m}=this.scrapeMotionValuesFromProps(r,{},this);for(const h in m){const f=m[h];c[h]!==void 0&&hn(f)&&f.set(c[h],!1)}}mount(t){this.current=t,Y3.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((r,a)=>this.bindToMotionValue(a,r)),$U.current||pde(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:uN.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Y3.delete(this.current),this.projection&&this.projection.unmount(),el(this.notifyUpdate),el(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const r=this.features[t];r&&(r.unmount(),r.isMounted=!1)}this.current=null}bindToMotionValue(t,r){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const a=Cc.has(t),s=r.on("change",l=>{this.latestValues[t]=l,this.props.onUpdate&&Rt.preRender(this.notifyUpdate),a&&this.projection&&(this.projection.isTransformDirty=!0)}),i=r.on("renderRequest",this.scheduleRender);let o;window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,t,r)),this.valueSubscriptions.set(t,()=>{s(),i(),o&&o(),r.owner&&r.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in fu){const r=fu[t];if(!r)continue;const{isEnabled:a,Feature:s}=r;if(!this.features[t]&&s&&a(this.props)&&(this.features[t]=new s(this)),this.features[t]){const i=this.features[t];i.isMounted?i.update():(i.mount(),i.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):yr()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,r){this.latestValues[t]=r}update(t,r){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=r;
vendor: 4,284 bytes, line 748
748for(let a=0;a<Z3.length;a++){const s=Z3[a];this.propEventSubscriptions[s]&&(this.propEventSubscriptions[s](),delete this.propEventSubscriptions[s]);const i="on"+s,o=t[i];o&&(this.propEventSubscriptions[s]=this.on(s,o))}this.prevMotionValues=gde(this,this.scrapeMotionValuesFromProps(t,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const r=this.getClosestVariantNode();if(r)return r.variantChildren&&r.variantChildren.add(t),()=>r.variantChildren.delete(t)}addValue(t,r){const a=this.values.get(t);r!==a&&(a&&this.removeValue(t),this.bindToMotionValue(t,r),this.values.set(t,r),this.latestValues[t]=r.get())}removeValue(t){this.values.delete(t);const r=this.valueSubscriptions.get(t);r&&(r(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,r){if(this.props.values&&this.props.values[t])return this.props.values[t];let a=this.values.get(t);return a===void 0&&r!==void 0&&(a=ef(r===null?void 0:r,{owner:this}),this.addValue(t,a)),a}readValue(t,r){var a;let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(a=this.getBaseTargetFromProps(this.props,t))!==null&&a!==void 0?a:this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(kW(s)||NW(s))?s=parseFloat(s):!yde(s)&&tl.test(r)&&(s=DW(t,r)),this.setBaseTarget(t,hn(s)?s.get():s)),hn(s)?s.get():s}setBaseTarget(t,r){this.baseTarget[t]=r}getBaseTarget(t){var r;const{initial:a}=this.props;let s;if(typeof a=="string"||typeof a=="object"){const o=J2(this.props,a,(r=this.presenceContext)===null||r===void 0?void 0:r.custom);o&&(s=o[t])}if(a&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!hn(i)?i:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,r){return this.events[t]||(this.events[t]=new vC),this.events[t].add(r)}notify(t,...r){this.events[t]&&this.events[t].notify(...r)}}class LU extends vde{constructor(){super(...arguments),this.KeyframeResolver=$W}sortInstanceNodePosition(t,r){return t.compareDocumentPosition(r)&2?1:-1}getBaseTargetFromProps(t,r){return t.style?t.style[r]:void 0}removeValueFromRenderState(t,{vars:r,style:a}){delete r[t],delete a[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;hn(t)&&(this.childSubscription=t.on("change",r=>{this.current&&(this.current.textContent=`${r}`)}))}}function bde(e){return window.getComputedStyle(e)}class wde extends LU{constructor(){super(...arguments),this.type="html",this.renderInstance=TU}readValueFromInstance(t,r){if(Cc.has(r)){const a=dC(r);return a&&a.default||0}else{const a=bde(t),s=(CW(r)?a.getPropertyValue(r):a[r])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:r}){return dU(t,r)}build(t,r,a){PC(t,r,a.transformTemplate)}scrapeMotionValuesFromProps(t,r,a){return SC(t,r,a)}}class jde extends LU{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=yr}getBaseTargetFromProps(t,r){return t[r]}readValueFromInstance(t,r){if(Cc.has(r)){const a=dC(r);return a&&a.default||0}return r=AU.has(r)?r:bC(r),t.getAttribute(r)}scrapeMotionValuesFromProps(t,r,a){return _U(t,r,a)}build(t,r,a){TC(t,r,this.isSVGTag,a.transformTemplate)}renderInstance(t,r,a,s){EU(t,r,a,s)}mount(t){this.isSVGTag=AC(t.tagName),super.mount(t)}}const Nde=(e,t)=>kC(e)?new jde(t):new wde(t,{allowProjection:e!==y.Fragment}),kde=fde({...lle,...Mce,...jce,...Oce},Nde),Ge=iie(kde),Zt={hidden:{opacity:0,y:40},visible:{opacity:1,y:0,transition:{duration:.6,ease:"easeOut"}}},Q3={hidden:{opacity:0,x:-40},visible:{opacity:1,x:0,transition:{duration:.6,ease:"easeOut"}}},X3={hidden:{opacity:0,x:40},visible:{opacity:1,x:0,transition:{duration:.6,ease:"easeOut"}}},Qn={hidden:{opacity:0}
748,visible:{opacity:1,transition:{staggerChildren:.15}}},yg={hidden:{opacity:0,scale:.9},visible:{opacity:1,scale:1,transition:{duration:.5,ease:"easeOut"}}},J3={en:{heading:"Why professionals need SpeakFlare",sub:"You speak every day. Every mistake you repeat holds you back. SpeakFlare catches them automatically — so you improve without classes, without a coach, without extra time.",card1title:"Same pitch, better every time",card1desc:"You present the same product over and over. SpeakFlare analyzes each session and shows exactly what to fix — so your next pitch is sharper than your last.",card2title:"Improve in your language",card2desc:"Most tools only work in English. SpeakFlare analyzes your speech in Hebrew, Arabic, Russian, Spanish — whatever language you work in. No need to switch.",card3title:"No school. No classes. No homework.",card3desc:"Just record your meeting or call. After you hang up, your analysis is waiting. Read it in 2 minutes. Speak better tomorrow.",card4title:"A coach in your pocket — for free",card4desc:"Traditional speech coaching costs $100+/hour. SpeakFlare gives you the same feedback automatically, after every call, for the price of coffee."},he:{heading:"למה אנשי מקצוע צריכים SpeakFlare",sub:"אתה מדבר כל יום. כל טעות שאתה חוזר עליה מאחה אותך. SpeakFlare תופס אותן אוטומטית — כך שאתה משתפר ללא שיעורים, ללא מאמן, ללא זמן נוסף.",card1title:"אותה הצגה, טובה יותר בכל פעם",card1desc:"אתה מציג את אותו מוצר שוב ושוב. SpeakFlare מנתח כל מפגש ומראה בדיוק מה לתקן — כדי שההצגה הבאה שלך תהיה חדה יותר מהאחרונה.",card2title:"השתפר בשפה שלך",card2desc:"רוב הכלים עובדים רק באנגלית. SpeakFlare מנתח את הדיבור שלך בעברית, ערבית, רוסית, ספרדית — בכל שפה שאתה עובד בה. אין צורך להחליף.",card3title:"ללא בית ספר. ללא שיעורים. ללא שיעורי בית.",card3desc:"פשוט הקלט את הפגישה או השיחה שלך. אחרי שאתה מנתק, הניתוח מחכה לך. קרא אותו ב-2 דקות. דבר טוב יותר מחר.",card4title:"מאמן בכיס שלך — בחינם",card4desc:"אימון דיבור מסורתי עולה $100+/שעה. SpeakFlare נותן לך את אותו משוב אוטומטית, אחרי כל שיחה, במחיר של קפה."},ar:{heading:"لماذا يحتاج المحترفون إلى SpeakFlare",sub:"أنت تتحدث كل يوم. كل خطأ تكرره يعيقك. يكتشفها SpeakFlare تلقائياً — حتى تتحسن بدون دروس، بدون مدرب، بدون وقت إضافي.",card1title:"نفس العرض، أفضل في كل مرة",card1desc:"تقدم نفس المنتج مراراً وتكراراً. يحلل SpeakFlare كل جلسة ويُظهر بالضبط ما يجب إصلاحه — حتى يكون عرضك التالي أحدّ من السابق.",card2title:"تحسّن بلغتك",card2desc:"معظم الأدوات تعمل فقط بالإنجليزية. يحلل SpeakFlare كلامك بالعربية والعبرية والروسية والإسبانية — مهما كانت اللغة التي تعمل بها.",card3t
748itle:"بدون مدرسة. بدون دروس. بدون واجبات.",card3desc:"فقط سجّل اجتماعك أو مكالمتك. بعد إنهاء المكالمة، ينتظرك التحليل. اقرأه في دقيقتين. تحدث بشكل أفضل غداً.",card4title:"مدرب في جيبك — مجاناً",card4desc:"تكلّف التدريب على الكلام التقليدي $100+/ساعة. يقدم لك SpeakFlare نفس التغذية الراجعة تلقائياً، بعد كل مكالمة."},es:{heading:"Por qué los profesionales necesitan SpeakFlare",sub:"Hablas todos los días. Cada error que repites te frena. SpeakFlare los detecta automáticamente — para que mejores sin clases, sin entrenador, sin tiempo extra.",card1title:"Mismo discurso, mejor cada vez",card1desc:"Presentas el mismo producto una y otra vez. SpeakFlare analiza cada sesión y muestra exactamente qué corregir — para que tu próximo pitch sea más agudo que el último.",card2title:"Mejora en tu idioma",card2desc:"La mayoría de las herramientas solo funcionan en inglés. SpeakFlare analiza tu discurso en hebreo, árabe, ruso, español — en el idioma que trabajas.",card3title:"Sin escuela. Sin clases. Sin tareas.",card3desc:"Solo graba tu reunión o llamada. Después de colgar, tu análisis está esperando. Léelo en 2 minutos. Habla mejor mañana.",card4title:"Un coach en tu bolsillo — gratis",card4desc:"El entrenamiento de oratoria tradicional cuesta $100+/hora. SpeakFlare te da el mismo feedback automáticamente, después de cada llamada."},ru:{heading:"Почему профессионалы выбирают SpeakFlare",sub:"Вы говорите каждый день. Каждая повторяющаяся ошибка тянет вас назад. SpeakFlare ловит их автоматически — вы улучшаетесь без курсов, без тренера, без лишнего времени.",card1title:"Одна и та же презентация — лучше каждый раз",card1desc:"Вы презентуете один продукт снова и снова. SpeakFlare анализирует каждую сессию и показывает точно, что исправить — чтобы следующий питч был острее.",card2title:"Улучшайтесь на своём языке",card2desc:"Большинство инструментов работают только на английском. SpeakFlare анализирует речь на иврите, арабском, русском, испанском — на любом рабочем языке.",card3t
748itle:"Без школы. Без курсов. Без домашних заданий.",card3desc:"Просто запишите встречу или звонок. После того как повесите трубку — анализ уже ждёт вас. Прочтите за 2 минуты. Говорите лучше завтра.",card4title:"Тренер в кармане — бесплатно",card4desc:"Традиционный тренинг по речи стоит $100+/час. SpeakFlare даёт тот же фидбэк автоматически, после каждого звонка."}};function Qx(){const[,e]=ze(),t=St(),r=Sc(t),a=t==="he"||t==="ar",s=J3[t]||J3.en,i=()=>{e("/pricing")},o=[{icon:ki,name:"Chrome Extension"},{icon:A8,name:"Web App"},{icon:F1,name:"Mobile PWA"}];return n.jsxs("div",{className:"min-h-screen bg-background",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"SpeakFlare - Eliminate Speaking Mistakes Automatically | AI Communication Coach",description:"Try a free 30-second demo — no sign-up. Then pay as you go: $5 unlocks 20 full recording analyses, credits never expire. AI-powered speech coach catches grammar errors, filler words, and clarity issues in 50+ languages.",canonical:"https://speakflare.com/",keywords:"free speech analysis, free AI communication coach, free filler word detector, speech improvement, eliminate filler words, presentation skills, zoom analysis, google meet analysis, speaking mistakes, investor pitch coach",pageType:"homepage"}),n.jsx(He,{}),n.jsxs("section",{className:"relative min-h-[88vh] flex flex-col justify-center pt-16 pb-0 overflow-hidden",children:[n.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[n.jsx("div",{className:"absolute top-[-10%] left-[20%] w-[500px] h-[500px] bg-primary/10 rounded-full blur-[100px]"}),n.jsx("div",{className:"absolute top-[20%] right-[10%] w-[350px] h-[350px] bg-primary/6 rounded-full blur-[80px]"}),n.jsx("div",{className:"absolute bottom-[10%] left-[5%] w-[300px] h-[300px] bg-secondary/8 rounded-full blur-[90px]"}),n.jsx("div",{className:"absolute inset-0 opacity-[0.025]",style:{backgroundImage:"radial-gradient(circle, currentColor 1px, transparent 1px)",backgroundSize:"28px 28px"}})]}),n.jsxs(Ge.div,{className:"relative max-w-7xl mx-auto w-full grid lg:grid-cols-2 gap-10 lg:gap-16 items-center px-6 sm:px-8 lg:px-12",initial:"hidden",animate:"visible",variants:Qn,children:[n.jsxs("div",{className:"order-2 lg:order-1 text-center lg:text-left",children:[n.jsxs(Ge.h1,{className:"text-3xl sm:text-5xl lg:text-5xl xl:text-6xl font-extrabold tracking-tight leading-[1.05] mb-6",variants:Zt,children:[n.jsxs("span",{className:"text-foreground",children:[r.home.heroTitle1," "]}),n.jsx("span",{style:{background:"linear-gradient(135deg, hsl(230 85% 56%), hsl(260 80% 65%))",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text"},children:r.home.heroTitle2}),n.jsx("br",{}),n.jsx("span",{className:"text-foreground",children:r.home.heroTitle3})]}),n.jsx(Ge.p,{className:"text-lg sm:text-xl text-muted-foreground mb-8 max-w-xl mx-auto lg:mx-0 leading-relaxed",variants:Zt,children:r.home.heroSub}),n.jsxs(Ge.div,{className:"flex flex-col sm:flex-row items-center justify-center lg:justify-start gap-3 mb-8",variants:Zt,children:[n.jsxs(D,{size:"lg",onClick:i,className:"w-full sm:w-auto text-base px-10 py-6 rounded-md font-semibold shadow-lg shadow-primary/25","data-testid":"button-get-started",children:[n.jsx($o,{className:"w-4 h-4 mr-2"}),r.home.cta]}),n.jsx(D,{size:"lg",variant:"outline",onClick:()=>e("/login"),className:"w-full sm:w-auto text-base px-10 py-6 rounded-md border-border/60 text-muted-foreground hover:text-foreground","data-testid":"button-login",children:r.home.ctaSecondary})]}),n.jsx(Ge.div,{className:"flex flex-wrap items-center justify-center lg:justify-start gap-x-8 gap-y-3 text-sm text-muted-foreground",variants:Zt,children:[{value:r.home.stat1,label:r.home.stat1label},{value:r.home.stat2,label:r.home.stat2label},{value:r.home.stat3,label:r.home.stat3label},{value:r.home.stat4,label:r.home.stat4label}].map(l=>n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("span",{className:"font-bold text-foreground",children:l.value}),n.jsx("span",{children:l.label})]},l.label))})]}),n.jsx(Ge.div,{className:"order-1 lg:order-2 w-full max-w-md lg:max-w-lg mx-auto lg:mx-0 lg:justify-self-end mb-2 lg:mb-0",variants:Zt,children:n.jsx(aie,{maxSeconds:30,source:"homepage-instant"})})]}),n.jsxs("div",{className:"relative w-full overflow-hidden pb-16 mt-16 lg:mt-20",dir:"ltr",children:[n.jsx("div",{className:"absolute left-0 top-0 h-full w-32 bg-gradient-to-r from-background to-transparent z-10 pointer-events-none"}),n.jsx("div",{className:"absolute right-0 top-0 h-full w-32 bg-gradient-to-l from-background to-transparent z-10 pointer-events-none"}),n.jsx("div",{className:"flex gap-4",style:{animation:"scroll 40s linear infinite",width:"max-content"},children:[...Array(2)].map((l,c)=>n.jsx("div",{className:"flex gap-4",children:[{img:cae,label:"Phone Call",sub:"Sales & support"},{img:dae,label:"Zoom Meeting",sub:"Remote calls"},{img:uae,label:"Live Presentation",sub:"On stage",live:!0},{img:mae,label:"Conference",sub:"Board meetings"},{img:hae,label:"Desk Mic",sub:"Podcasts"},{img:fae,label:"Room Hub",sub:"Enterprise"},{img:pae,label:"Lapel Badge",sub:"Wearable"}].map((d,u)=>n.jsxs("div",{className:"relative flex-shrink-0 w-40 sm:w-48 overflow-hidden border border-border/40 bg-card/80 backdrop-blur-sm hover:border-primary/40 transition-all group",children:[d.live&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"absolute top-2.5 right-2.5 w-2.5 h-2.5 bg-primary rounded-full animate-ping z-10"}),n.jsx("span",{className:"absolute top-2.5 right-2.5 w-2.5 h-2.5 bg-primary rounded-full z-10"})]}),n.jsx("div",{className:"h-32 sm:h-36 overflow-hidden",children:n.jsx("img",{src:d.img,alt:d.label,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),n.jsxs("div",{className:"px-3 py-2.5",children:[n.jsx("p",{className:"font-semibold text-xs sm:text-sm",children:d.label}),n.jsx("p",{className:"text-[11px] text-muted-foreground",children:d.sub})]})]},u))},c))})]})]}),n.jsx("section",{className:"py-20 px-4 bg-muted/30",children:n.jsxs(Ge.div,{className:"max-w-5xl mx-auto",initial:"hidden",
748whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold text-center mb-4",variants:Zt,children:r.home.seeInAction}),n.jsx(Ge.p,{className:"text-center text-muted-foreground mb-16",variants:Zt,children:r.home.steps}),n.jsxs(Ge.div,{className:"relative",variants:Zt,children:[n.jsx("div",{className:"hidden md:block absolute top-6 left-[16.67%] right-[16.67%] z-0",style:{top:"24px"},children:n.jsx("div",{className:"w-full border-t-2 border-dashed border-primary/30"})}),n.jsxs("div",{className:"grid md:grid-cols-3 gap-8 md:gap-4",children:[n.jsxs("div",{className:"relative text-center",children:[n.jsxs("div",{className:"mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-full bg-primary text-primary-foreground text-xl font-bold flex items-center justify-center mx-auto mb-4 shadow-lg",children:r.home.step1num}),n.jsxs("div",{className:"w-full aspect-square max-w-[200px] mx-auto bg-card rounded-md shadow-md flex flex-col items-center justify-center p-6 border",children:[n.jsxs("div",{className:"relative",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center animate-pulse",children:n.jsx(Ze,{className:"w-8 h-8 text-primary"})}),n.jsxs("div",{className:"absolute -right-2 top-1/2 -translate-y-1/2 flex gap-0.5",children:[n.jsx("div",{className:"w-1 h-4 bg-primary/40 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("div",{className:"w-1 h-6 bg-primary/60 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("div",{className:"w-1 h-3 bg-primary/30 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-4",children:"Recording..."})]})]}),n.jsx("h3",{className:"text-lg font-semibold mb-2",children:r.home.step1title}),n.jsx("p",{className:"text-sm text-muted-foreground px-4",children:r.home.step1desc})]}),n.jsxs("div",{className:"relative text-center",children:[n.jsxs("div",{className:"mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-full bg-primary text-primary-foreground text-xl font-bold flex items-center justify-center mx-auto mb-4 shadow-lg",children:r.home.step2num}),n.jsxs("div",{className:"w-full aspect-square max-w-[200px] mx-auto bg-card rounded-md shadow-md flex flex-col items-center justify-center p-6 border",children:[n.jsxs("div",{className:"relative",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:n.jsx(_t,{className:"w-8 h-8 text-primary"})}),n.jsxs("div",{className:"absolute inset-0 animate-spin",style:{animationDuration:"3s"},children:[n.jsx("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 w-2 h-2 bg-primary rounded-full"}),n.jsx("div",{className:"absolute -bottom-1 left-1/2 -translate-x-1/2 w-2 h-2 bg-primary/50 rounded-full"}),n.jsx("div",{className:"absolute top-1/2 -left-1 -translate-y-1/2 w-2 h-2 bg-primary/70 rounded-full"}),n.jsx("div",{className:"absolute top-1/2 -right-1 -translate-y-1/2 w-2 h-2 bg-primary/30 rounded-full"})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-4",children:"Analyzing..."})]})]}),n.jsx("h3",{className:"text-lg font-semibold mb-2",children:r.home.step2title}),n.jsx("p",{className:"text-sm text-muted-foreground px-4",children:r.home.step2desc})]}),n.jsxs("div",{className:"relative text-center",children:[n.jsxs("div",{className:"mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-full bg-primary text-primary-foreground text-xl font-bold flex items-center justify-center mx-auto mb-4 shadow-lg",children:r.home.step3num}),n.jsxs("div",{className:"w-full aspect-square max-w-[200px] mx-auto bg-card rounded-md shadow-md flex flex-col items-center justify-center p-4 border",children:[n.jsxs("div",{className:"w-full space-y-2",children:[n.jsxs("div",{className:"flex items-center gap-2 text-left",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-red-500"}),n.jsx("div",{className:"h-2 bg-muted rounded flex-1"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-left",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-yellow-500"}),n.jsx("div",{className:"h-2 bg-muted rounded w-3/4"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-left",children:[n.jsx(nr,{className:"w-4 h-4 text-green-500"}),n.jsx("span",{className:"text-xs text-green-600",children:"Fixed!"})]})]}),n.jsxs("div",{className:"mt-3 w-full",children:[n.jsx("div",{className:"h-1 bg-green-500 rounded-full w-3/4 mx-auto"}),n.jsx("p",{className:"text-xs text-green-600 mt-1",children:"+15% improved"})]})]})]}),n.jsx("h3",{className:"text-lg font-semibold mb-2",children:r.home.step3title}),n.jsx("p",{className:"text-sm text-muted-foreground px-4",children:r.home.step3desc})]})]})]})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsxs(Ge.div,{className:"max-w-3xl mx-auto",initial:"hidden",
748whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold text-center mb-4",variants:Zt,children:r.home.seeDiff}),n.jsx(Ge.p,{className:"text-center text-muted-foreground mb-12",variants:Zt,children:r.home.seeDiffSub}),n.jsxs(Ge.div,{className:"space-y-6",variants:Qn,children:[n.jsxs(Ge.div,{className:"bg-card rounded-xl p-6 shadow-sm border",variants:Zt,children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-yellow-500"}),n.jsx("span",{className:"text-sm font-medium text-yellow-600",children:r.home.fillerWords})]}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-muted-foreground mt-1 w-16",children:r.home.before}),n.jsxs("p",{className:"text-muted-foreground",children:['"So, ',n.jsx("span",{className:"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400 px-1 rounded",children:"um"}),", I think we should,",n.jsx("span",{className:"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400 px-1 rounded",children:"like"}),", focus on the main,",n.jsx("span",{className:"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400 px-1 rounded",children:"you know"}),', priorities."']})]}),n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-green-600 mt-1 w-16",children:r.home.after}),n.jsx("p",{className:"text-foreground font-medium",children:'"I think we should focus on the main priorities."'})]})]})]}),n.jsxs(Ge.div,{className:"bg-card rounded-xl p-6 shadow-sm border",variants:Zt,children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-red-500"}),n.jsx("span",{className:"text-sm font-medium text-red-600",children:r.home.grammarError})]}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-muted-foreground mt-1 w-16",children:r.home.before}),n.jsxs("p",{className:"text-muted-foreground",children:['"The team ',n.jsx("span",{className:"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400 px-1 rounded",children:"have"})," finished",n.jsx("span",{className:"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400 px-1 rounded",children:"their"}),' reports yesterday."']})]}),n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-green-600 mt-1 w-16",children:r.home.after}),n.jsxs("p",{className:"text-foreground font-medium",children:['"The team ',n.jsx("span",{className:"text-green-600",children:"has"})," finished ",n.jsx("span",{className:"text-green-600",children:"its"}),' reports."']})]})]})]}),n.jsxs(Ge.div,{className:"bg-card rounded-xl p-6 shadow-sm border",variants:Zt,children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-primary"}),n.jsx("span",{className:"text-sm font-medium text-primary",children:r.home.clarityIssue})]}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-muted-foreground mt-1 w-16",children:r.home.before}),n.jsxs("p",{className:"text-muted-foreground",children:['"',n.jsx("span",{className:"bg-primary/10 text-primary px-1 rounded",children:"It's kind of like a thing that sort of helps with the stuff"}),' we discussed."']})]}),n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"text-xs font-medium text-green-600 mt-1 w-16",children:r.home.after}),n.jsx("p",{className:"text-foreground font-medium",children:'"This tool helps implement the strategy we discussed."'})]})]})]})]})]})}),n.jsx("section",{className:"py-20 px-4 bg-muted/30",children:n.jsxs(Ge.div,{className:"max-w-4xl mx-auto",initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold text-center mb-4",variants:Zt,children:r.home.telegramTitle}),n.jsx(Ge.p,{className:"text-center text-muted-foreground mb-12",variants:Zt,children:r.home.telegramSub}),n.jsx(Ge.div,{className:"flex justify-center",variants:yg,children:n.jsx("div",{className:"relative",children:n.jsxs("div",{className:"w-[280px] sm:w-[320px] bg-black rounded-[3rem] p-3 shadow-2xl",children:[n.jsx("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 w-24 h-6 bg-black rounded-b-xl z-10"}),n.jsxs("div",{className:"bg-[#efeff4] dark:bg-[#0e1621] rounded-[2.5rem] overflow-hidden",children:[n.jsx("div",{className:"bg-[#2ca5e0] dark:bg-[#17212b] text-white px-4 py-3 pt-8",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-primary flex items-center justify-center text-sm font-bold",children:"SF"}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-sm",children:"SpeakFlare"}),n.jsx("p",{className:"text-xs opacity-70",children:"online"})]})]})}),n.jsxs("div",{className:"p-3 space-y-2 min-h-[380px]",children:[n.jsxs("div",{className:"bg-white dark:bg-[#182533] rounded-lg p-3 max-w-[95%] shadow-sm",children:[n.jsx("p",{className:"text-xs text-[#2ca5e0] font-semibold mb-2",children:"🎙 SpeakFlare Analysis Ready"}),n.jsx("p",{className:"text-sm text-gray-800 dark:text-gray-200 mb-3",children:"Your sales call with Acme Corp has been analyzed. Here's what to improve:"}),n.jsxs("div",{className:"space-y-2 text-sm",children:[n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("span",{className:"w-5 h-5 rounded-full bg-primary text-white text-xs flex items-center justify-center flex-shrink-0",children:"1"}),n.jsxs("p",{className:"text-gray-700 dark:text-gray-300",children:[n.jsx("span",{className:"font-medium",children:"Filler words:"}),' Remove "um" and "like" (12 times)']})]}),n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("span",{className:"w-5 h-5 rounded-full bg-primary text-white text-xs flex items-center justify-center flex-shrink-0",children:"2"}),n.jsxs("p",{className:"text-gray-700 dark:text-gray-300",children:[n.jsx("span",{className:"font-medium",children:"Grammar:"}),' Use "has" instead of "have" for singular']})]}),n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("span",{className:"w-5 h-5 rounded-full bg-primary text-white text-xs flex items-center justify-center flex-shrink-0",children:"3"}),n.jsxs("p",{className:"text-gray-700 dark:text-gray-300",children:[n.jsx("span",{className:"font-medium",children:"Clarity:"})," Be more direct in your value proposition"]})]})]}),n.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-3 text-right",children:"2:34 PM ✓✓"})]}),n.jsxs("div",{className:"bg-white dark:bg-[#182533] rounded-lg p-3 max-w-[80%] shadow-sm",children:[n.jsxs("p",{className:"text-sm text-gray-800 dark:text-gray-200",children:["Score: ",n.jsx("span",{className:"font-bold text-green-600",children:"85/100"})," (+5 from last week)"]}),n.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1 text-right",children:"2:34 PM ✓✓"})]})]})]})]})})})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsxs(Ge.div,{className:"max-w-4xl mx-auto",initial:"hidden",
748whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold text-center mb-4",variants:Zt,children:r.home.emailTitle}),n.jsx(Ge.p,{className:"text-center text-muted-foreground mb-12",variants:Zt,children:r.home.emailSub}),n.jsx(Ge.div,{className:"flex justify-center",variants:yg,children:n.jsxs("div",{className:"w-full max-w-lg bg-card rounded-xl shadow-xl border overflow-hidden",children:[n.jsxs("div",{className:"bg-muted/50 px-4 py-3 border-b flex items-center gap-3",children:[n.jsxs("div",{className:"flex gap-1.5",children:[n.jsx("div",{className:"w-3 h-3 rounded-full bg-red-400"}),n.jsx("div",{className:"w-3 h-3 rounded-full bg-yellow-400"}),n.jsx("div",{className:"w-3 h-3 rounded-full bg-green-400"})]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Inbox"})]}),n.jsxs("div",{className:"p-6",children:[n.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-primary flex items-center justify-center text-primary-foreground font-bold text-sm flex-shrink-0",children:"SF"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-sm",children:"SpeakFlare"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Today, 2:34 PM"})]}),n.jsx("p",{className:"text-sm font-medium mb-1",children:"Your Meeting Analysis is Ready"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Sales Call with Acme Corp - 45 min"})]})]}),n.jsxs("div",{className:"border-t pt-4 space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between p-3 bg-green-50 dark:bg-green-900/20 rounded-lg",children:[n.jsx("span",{className:"text-sm font-medium",children:"Overall Score"}),n.jsx("span",{className:"text-2xl font-bold text-green-600",children:"85/100"})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("p",{className:"text-sm font-medium",children:"Issues Found:"}),n.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-muted/50 rounded",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-yellow-500"}),n.jsx("span",{children:"3 filler words"})]}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-muted/50 rounded",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-red-500"}),n.jsx("span",{children:"2 grammar errors"})]}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-muted/50 rounded",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-primary"}),n.jsx("span",{children:"1 clarity issue"})]}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-muted/50 rounded",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-500"}),n.jsx("span",{children:"0 weak phrases"})]})]})]}),n.jsx("button",{className:"w-full bg-primary text-primary-foreground py-2.5 rounded-lg text-sm font-medium",children:"View Full Report"})]})]})]})})]})}),n.jsx("section",{className:"py-20 px-4 bg-muted/30",children:n.jsxs(Ge.div,{className:"max-w-4xl mx-auto",initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold text-center mb-12",variants:Zt,children:r.home.whatWeAnalyze}),n.jsxs(Ge.div,{className:"grid sm:grid-cols-2 gap-6",variants:Qn,children:[n.jsxs(Ge.div,{className:"flex items-start gap-4 p-6 bg-card rounded-xl",variants:Q3,children:[n.jsx("div",{className:"w-3 h-3 rounded-full bg-red-500 mt-2 flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-1",children:r.home.feat1title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r.home.feat1desc})]})]}),n.jsxs(Ge.div,{className:"flex items-start gap-4 p-6 bg-card rounded-xl",variants:X3,children:[n.jsx("div",{className:"w-3 h-3 rounded-full bg-yellow-500 mt-2 flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-1",children:r.home.feat2title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r.home.feat2desc})]})]}),n.jsxs(Ge.div,{className:"flex items-start gap-4 p-6 bg-card rounded-xl",variants:Q3,children:[n.jsx("div",{className:"w-3 h-3 rounded-full bg-primary mt-2 flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-1",children:r.home.feat3title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r.home.feat3desc})]})]}),n.jsxs(Ge.div,{className:"flex items-start gap-4 p-6 bg-card rounded-xl",variants:X3,children:[n.jsx("div",{className:"w-3 h-3 rounded-full bg-orange-500 mt-2 flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-1",children:r.home.feat4title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r.home.feat4desc})]})]})]})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsxs(Ge.div,{className:"max-w-4xl mx-auto text-center",initial:"hidden",
748whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl font-bold mb-12",variants:Zt,children:r.home.available}),n.jsx(Ge.div,{className:"flex flex-wrap justify-center gap-8",variants:Qn,children:o.map((l,c)=>n.jsxs(Ge.div,{className:"flex flex-col items-center gap-3",variants:yg,children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-muted flex items-center justify-center",children:n.jsx(l.icon,{className:"w-8 h-8 text-foreground"})}),n.jsx("span",{className:"text-sm font-medium",children:l.name})]},c))})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsxs(Ge.div,{className:"max-w-5xl mx-auto",initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.h2,{className:"text-3xl sm:text-4xl font-bold text-center mb-4",variants:Zt,children:s.heading}),n.jsx(Ge.p,{className:"text-center text-muted-foreground max-w-2xl mx-auto mb-14",variants:Zt,children:s.sub}),n.jsx(Ge.div,{className:"grid grid-cols-1 md:grid-cols-2 gap-6",variants:Qn,children:[{icon:n.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",children:[n.jsx("circle",{cx:"22",cy:"22",r:"22",fill:"hsl(var(--primary)/0.10)"}),n.jsx("circle",{cx:"22",cy:"22",r:"13",stroke:"hsl(var(--primary))",strokeWidth:"2",fill:"none"}),n.jsx("circle",{cx:"22",cy:"22",r:"7",fill:"hsl(var(--primary)/0.20)",stroke:"hsl(var(--primary))",strokeWidth:"1.5"}),n.jsx("circle",{cx:"22",cy:"22",r:"2.5",fill:"hsl(var(--primary))"}),n.jsx("line",{x1:"22",y1:"9",x2:"22",y2:"5",stroke:"hsl(var(--primary))",strokeWidth:"2",strokeLinecap:"round"}),n.jsx("line",{x1:"35",y1:"22",x2:"39",y2:"22",stroke:"hsl(var(--primary))",strokeWidth:"2",strokeLinecap:"round"})]}),title:s.card1title,desc:s.card1desc},{icon:n.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",children:[n.jsx("circle",{cx:"22",cy:"22",r:"22",fill:"hsl(var(--primary)/0.10)"}),n.jsx("ellipse",{cx:"22",cy:"22",rx:"13",ry:"8",stroke:"hsl(var(--primary))",strokeWidth:"1.8",fill:"none"}),n.jsx("ellipse",{cx:"22",cy:"22",rx:"6",ry:"13",stroke:"hsl(var(--primary))",strokeWidth:"1.8",fill:"none"}),n.jsx("circle",{cx:"22",cy:"22",r:"13",stroke:"hsl(var(--primary)/0.35)",strokeWidth:"1.5",fill:"none"}),n.jsx("line",{x1:"9",y1:"22",x2:"35",y2:"22",stroke:"hsl(var(--primary)/0.5)",strokeWidth:"1.2"}),n.jsx("line",{x1:"22",y1:"9",x2:"22",y2:"35",stroke:"hsl(var(--primary)/0.5)",strokeWidth:"1.2"})]}),title:s.card2title,desc:s.card2desc},{icon:n.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",children:[n.jsx("circle",{cx:"22",cy:"22",r:"22",fill:"hsl(var(--primary)/0.10)"}),n.jsx("path",{d:"M16 30 L22 14 L28 30",stroke:"hsl(var(--primary))",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),n.jsx("path",{d:"M18 26 h8",stroke:"hsl(var(--primary))",strokeWidth:"1.8",strokeLinecap:"round"}),n.jsx("circle",{cx:"22",cy:"33",r:"2",fill:"hsl(var(--primary))"}),n.jsx("path",{d:"M22 10 L22 12",stroke:"hsl(var(--primary)/0.5)",strokeWidth:"1.5",strokeLinecap:"round"}),n.jsx("path",{d:"M15 13 L16.5 14.5",stroke:"hsl(var(--primary)/0.5)",strokeWidth:"1.5",strokeLinecap:"round"}),n.jsx("path",{d:"M29 13 L27.5 14.5",stroke:"hsl(var(--primary)/0.5)",strokeWidth:"1.5",strokeLinecap:"round"})]}),title:s.card3title,desc:s.card3desc},{icon:n.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",children:[n.jsx("circle",{cx:"22",cy:"22",r:"22",fill:"hsl(var(--primary)/0.10)"}),n.jsx("rect",{x:"10",y:"13",width:"24",height:"16",rx:"4",stroke:"hsl(var(--primary))",strokeWidth:"1.8",fill:"hsl(var(--primary)/0.08)"}),n.jsx("circle",{cx:"16",cy:"21",r:"2",fill:"hsl(var(--primary))"}),n.jsx("circle",{cx:"22",cy:"21",r:"2",fill:"hsl(var(--primary))"}),n.jsx("circle",{cx:"28",cy:"21",r:"2",fill:"hsl(var(--primary))"}),n.jsx("path",{d:"M22 29 L20 33 L28 31",stroke:"hsl(var(--primary))",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"hsl(var(--primary)/0.08)"})]}),title:s.card4title,desc:s.card4desc}].map((l,c)=>n.jsx(Ge.div,{variants:Zt,children:n.jsxs("div",{className:"h-full p-7 rounded-md bg-muted/40 hover:bg-muted/70 transition-all",children:[n.jsx("div",{className:"mb-4",children:l.icon}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:l.title}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:l.desc})]})},c))})]})}),n.jsx(mW,{className:"bg-muted/30 border-y border-border/50"}),n.jsxs("section",{className:"relative py-24 px-4 overflow-hidden bg-primary text-primary-foreground",children:[n.jsx("div",{className:"absolute inset-0 pointer-events-none",children:n.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[300px] bg-white/5 rounded-full blur-[80px]"})}),n.jsxs(Ge.div,{className:"relative max-w-2xl mx-auto text-center",initial:"hidden",
vendor: 14,867 bytes, line 748
748whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:Qn,children:[n.jsx(Ge.p,{className:"text-sm font-semibold tracking-widest uppercase opacity-70 mb-4",variants:Zt,children:r.home.noCommit}),n.jsx(Ge.h2,{className:"text-4xl sm:text-5xl font-extrabold mb-4 tracking-tight",variants:Zt,children:r.home.ctaBottom}),n.jsx(Ge.p,{className:"text-lg opacity-80 mb-10",variants:Zt,children:r.home.ctaBottomSub}),n.jsx(Ge.div,{variants:yg,children:n.jsxs(D,{size:"lg",variant:"secondary",onClick:i,className:"text-base px-10 py-6 rounded-md font-semibold","data-testid":"button-cta-bottom",children:[r.home.ctaBottomBtn," ",n.jsx(At,{className:"w-4 h-4 ml-2"})]})})]})]})]})}const X=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm",e),...t}));X.displayName="Card";const Ye=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("flex flex-col space-y-1.5 p-6",e),...t}));Ye.displayName="CardHeader";const at=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("text-2xl font-semibold leading-none tracking-tight",e),...t}));at.displayName="CardTitle";const Bo=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("text-sm text-muted-foreground",e),...t}));Bo.displayName="CardDescription";const ue=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("p-6 pt-0",e),...t}));ue.displayName="CardContent";const Sde=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("flex items-center p-6 pt-0",e),...t}));Sde.displayName="CardFooter";var Cde="Label",zU=y.forwardRef((e,t)=>n.jsx(Me.label,{...e,ref:t,onMouseDown:r=>{var s;r.target.closest("button, input, select, textarea")||((s=e.onMouseDown)==null||s.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));zU.displayName=Cde;var BU=zU;const Pde=Qu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),zt=y.forwardRef(({className:e,...t},r)=>n.jsx(BU,{ref:r,className:_e(Pde(),e),...t}));zt.displayName=BU.displayName;var bp=e=>e.type==="checkbox",Fl=e=>e instanceof Date,Pn=e=>e==null;const WU=e=>typeof e=="object";var Nr=e=>!Pn(e)&&!Array.isArray(e)&&WU(e)&&!Fl(e),UU=e=>Nr(e)&&e.target?bp(e.target)?e.target.checked:e.target.value:e,Tde=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,VU=(e,t)=>e.has(Tde(t)),Ade=e=>{const t=e.constructor&&e.constructor.prototype;return Nr(t)&&t.hasOwnProperty("isPrototypeOf")},EC=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Gr(e){let t;const r=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(EC&&(e instanceof Blob||a))&&(r||Nr(e)))if(t=r?[]:{},!r&&!Ade(e))t=e;else for(const s in e)e.hasOwnProperty(s)&&(t[s]=Gr(e[s]));else return e;return t}var wb=e=>Array.isArray(e)?e.filter(Boolean):[],br=e=>e===void 0,je=(e,t,r)=>{if(!t||!Nr(e))return r;const a=wb(t.split(/[,[\].]+?/)).reduce((s,i)=>Pn(s)?s:s[i],e);return br(a)||a===e?br(e[t])?r:e[t]:a},na=e=>typeof e=="boolean",IC=e=>/^\w*$/.test(e),qU=e=>wb(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Pt=(e,t,r)=>{let a=-1;const s=IC(t)?[t]:qU(t),i=s.length,o=i-1;for(;++a<i;){const l=s[a];let c=r;if(a!==o){const d=e[l];c=Nr(d)||Array.isArray(d)?d:isNaN(+s[a+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;e[l]=c,e=e[l]}};const Xx={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ss={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},li={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},HU=L.createContext(null),jb=()=>L.useContext(HU),Ede=e=>{const{children:t,...r}=e;return L.createElement(HU.Provider,{value:r},t)};var GU=(e,t,r,a=!0)=>{const s={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(s,i,{get:()=>{const o=i;return t._proxyFormState[o]!==ss.all&&(t._proxyFormState[o]=!a||ss.all),r&&(r[o]=!0),e[o]}});return s};function Ide(e){const t=jb(),{control:r=t.control,disabled:a,name:s,exact:i}=e||{},[o,l]=L.useState(r._formState),c=L.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),d=L.useRef(s);return d.current=s,L.useEffect(()=>r._subscribe({name:d.current,formState:c.current,exact:i,callback:u=>{!a&&l({...r._formState,...u})}}),[r,a,i]),L.useEffect(()=>{c.current.isValid&&r._setValid(!0)},[r]),L.useMemo(()=>GU(o,r,c.current,!1),[o,r])}var Os=e=>typeof e=="string",KU=(e,t,r,a,s)=>Os(e)?(a&&t.watch.add(e),je(r,e,s)):Array.isArray(e)?e.map(i=>(a&&t.watch.add(i),je(r,i))):(a&&(t.watchAll=!0),r);function _de(e){const t=jb(),{control:r=t.control,name:a,defaultValue:s,disabled:i,exact:o}=e||{},l=L.useRef(a),c=L.useRef(s);l.current=a,L.useEffect(()=>r._subscribe({name:l.current,formState:{values:!0},exact:o,callback:m=>!i&&u(KU(l.current,r._names,m.values||r._formValues,!1,c.current))}),[r,i,o]);const[d,u]=L.useState(r._getWatch(a,s));return L.useEffect(()=>r._removeUnmounted()),d}function Mde(e){const t=jb(),{name:r,disabled:a,control:s=t.control,shouldUnregister:i}=e,o=VU(s._names.array,r),l=_de({control:s,name:r,defaultValue:je(s._formValues,r,je(s._defaultValues,r,e.defaultValue)),exact:!0}),c=Ide({control:s,name:r,exact:!0}),d=L.useRef(e),u=L.useRef(s.register(r,{...e.rules,value:l,...na(e.disabled)?{disabled:e.disabled}:{}})),m=L.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!je(c.errors,r)},isDirty:{enumerable:!0,get:()=>!!je(c.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!je(c.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!je(c.validatingFields,r)},error:{enumerable:!0,get:()=>je(c.errors,r)}}),[c,r]),h=L.useCallback(p=>u.current.onChange({target:{value:UU(p),name:r},type:Xx.CHANGE}),[r]),f=L.useCallback(()=>u.current.onBlur({target:{value:je(s._formValues,r),name:r},type:Xx.BLUR}),[r,s._formValues]),b=L.useCallback(p=>{const x=je(s._fields,r);x&&p&&(x._f.ref={focus:()=>p.focus(),select:()=>p.select(),setCustomValidity:v=>p.setCustomValidity(v),reportValidity:()=>p.reportValidity()})},[s._fields,r]),g=L.useMemo(()=>({name:r,value:l,...na(a)||c.disabled?{disabled:c.disabled||a}:{},onChange:h,onBlur:f,ref:b}),[r,a,c.disabled,h,f,b,l]);return L.useEffect(()=>{const p=s._options.shouldUnregister||i;s.register(r,{...d.current.rules,...na(d.current.disabled)?{disabled:d.current.disabled}:{}});const x=(v,w)=>{const N=je(s._fields,v);N&&N._f&&(N._f.mount=w)};if(x(r,!0),p){const v=Gr(je(s._options.defaultValues,r));Pt(s._defaultValues,r,v),br(je(s._formValues,r))&&Pt(s._formValues,r,v)}return!o&&s.register(r),()=>{(o?p&&!s._state.action:p)?s.unregister(r):x(r,!1)}},[r,s,o,i]),L.useEffect(()=>{s._setDisabledField({disabled:a,name:r})},[a,r,s]),L.useMemo(()=>({field:g,formState:c,fieldState:m}),[g,c,m])}const Ode=e=>e.render(Mde(e));var YU=(e,t,r,a,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:s||!0}}:{},yh=e=>Array.isArray(e)?e:[e],eE=()=>{let e=[];return{get observers(){return e},next:s=>{for(const i of e)i.next&&i.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(i=>i!==s)}}),unsubscribe:()=>{e=[]}}},mN=e=>Pn(e)||!WU(e);function fo(e,t){if(mN(e)||mN(t))return e===t;if(Fl(e)&&Fl(t))return e.getTime()===t.getTime();const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const s of r){const i=e[s];if(!a.includes(s))return!1;if(s!=="ref"){const o=t[s];if(Fl(i)&&Fl(o)||Nr(i)&&Nr(o)||Array.isArray(i)&&Array.isArray(o)?!fo(i,o):i!==o)return!1}}return!0}var Sn=e=>Nr(e)&&!Object.keys(e).length,_C=e=>e.type==="file",is=e=>typeof e=="function",Jx=e=>{if(!EC)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},ZU=e=>e.type==="select-multiple",MC=e=>e.type==="radio",Rde=e=>MC(e)||bp(e),Ow=e=>Jx(e)&&e.isConnected;function Fde(e,t){const r=t.slice(0,-1).length;let a=0;for(;a<r;)e=br(e)?a++:e[t[a++]];return e}function Dde(e){for(const t in e)if(e.hasOwnProperty(t)&&!br(e[t]))return!1;return!0}function Ir(e,t){const r=Array.isArray(t)?t:IC(t)?[t]:qU(t),a=r.length===1?e:Fde(e,r),s=r.length-1,i=r[s];return a&&delete a[i],s!==0&&(Nr(a)&&Sn(a)||Array.isArray(a)&&Dde(a))&&Ir(e,r.slice(0,-1)),e}var QU=e=>{for(const t in e)if(is(e[t]))return!0;return!1};function ey(e,t={}){const r=Array.isArray(e);if(Nr(e)||r)for(const a in e)Array.isArray(e[a])||Nr(e[a])&&!QU(e[a])?(t[a]=Array.isArray(e[a])?[]:{},ey(e[a],t[a])):Pn(e[a])||(t[a]=!0);return t}function XU(e,t,r){const a=Array.isArray(e);if(Nr(e)||a)for(const s in e)Array.isArray(e[s])||Nr(e[s])&&!QU(e[s])?br(t)||mN(r[s])?r[s]=Array.isArray(e[s])?ey(e[s],[]):{...ey(e[s])}:XU(e[s],Pn(t)?{}:t[s],r[s]):r[s]=!fo(e[s],t[s]);return r}var Om=(e,t)=>XU(e,t,ey(t));const tE={value:!1,isValid:!1},rE={value:!0,isValid:!0};var JU=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!br(e[0].attributes.value)?br(e[0].value)||e[0].value===""?rE:{value:e[0].value,isValid:!0}:rE:tE}return tE},eV=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:a})=>br(e)?e:t?e===""?NaN:e&&+e:r&&Os(e)?new Date(e):a?a(e):e;const nE={isValid:!1,value:null};var tV=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,nE):nE;function aE(e){const t=e.ref;return _C(t)?t.files:MC(t)?tV(e.refs).value:ZU(t)?[...t.selectedOptions].map(({value:r})=>r):bp(t)?JU(e.refs).value:eV(br(t.value)?e.ref.value:t.value,e)}var $de=(e,t,r,a)=>{const s={};for(const i of e){const o=je(t,i);o&&Pt(s,i,o._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:a}},ty=e=>e instanceof RegExp,Rm=e=>br(e)?e:ty(e)?e.source:Nr(e)?ty(e.value)?e.value.source:e.value:e,sE=e=>({isOnSubmit:!e||e===ss.onSubmit,isOnBlur:e===ss.onBlur,isOnChange:e===ss.onChange,isOnAll:e===ss.all,isOnTouch:e===ss.onTouched});const iE="AsyncFunction";var Lde=e=>!!e&&!!e.validate&&!!(is(e.validate)&&e.validate.constructor.name===iE||Nr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===iE)),zde=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),oE=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const vh=(e,t,r,a)=>{for(const s of r||Object.keys(e)){const i=je(e,s);if(i){const{_f:o,...l}=i;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],s)&&!a)return!0;if(o.ref&&t(o.ref,o.name)&&!a)return!0;if(vh(l,t))break}else if(Nr(l)&&vh(l,t))break}}};function lE(e,t,r){const a=je(e,r);if(a||IC(r))return{error:a,name:r};const s=r.split(".");for(;s.length;){const i=s.join("."),o=je(t,i),l=je(e,i);if(o&&!Array.isArray(o)&&r!==i)return{name:r};if(l&&l.type)return{name:i,error:l};s.pop()}return{name:r}}var Bde=(e,t,r,a)=>{r(e);const{name:s,...i}=e;return Sn(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(o=>t[o]===(!a||ss.all))},Wde=(e,t,r)=>!e||!t||e===t||yh(e).some(a=>a&&(r?a===t:a.startsWith(t)||t.startsWith(a))),Ude=(e,t,r,a,s)=>s.isOnAll?!1:!r&&s.isOnTouch?!(t||e):(r?a.isOnBlur:s.isOnBlur)?!e:(r?a.isOnChange:s.isOnChange)?e:!0,Vde=(e,t)=>!wb(je(e,t)).length&&Ir(e,t),qde=(e,t,r)=>{const a=yh(je(e,r));return Pt(a,"root",t[r]),Pt(e,r,a),e},cx=e=>Os(e);function cE(e,t,r="validate"){if(cx(e)||Array.isArray(e)&&e.every(cx)||na(e)&&!e)return{type:r,message:cx(e)?e:"",ref:t}}var Uc=e=>Nr(e)&&!ty(e)?e:{value:e,message:""},dE=async(e,t,r,a,s,i)=>{const{ref:o,refs:l,required:c,maxLength:d,minLength:u,min:m,max:h,pattern:f,validate:b,name:g,valueAsNumber:p,mount:x}=e._f,v=je(r,g);if(!x||t.has(g))return{};const w=l?l[0]:o,N=I=>{s&&w.reportValidity&&(w.setCustomValidity(na(I)?"":I||""),w.reportValidity())},j={},k=MC(o),S=bp(o),C=k||S,A=(p||_C(o))&&br(o.value)&&br(v)||Jx(o)&&o.value===""||v===""||Array.isArray(v)&&!v.length,T=YU.bind(null,g,a,j),E=(I,R,P,M=li.maxLength,O=li.minLength)=>{const $=I?R:P;j[g]={type:I?M:O,message:$,ref:o,...T(I?M:O,$)}};if(i?!Array.isArray(v)||!v.length:c&&(!C&&(A||Pn(v))||na(v)&&!v||S&&!JU(l).isValid||k&&!tV(l).isValid)){const{value:I,message:R}=cx(c)?{value:!!c,message:c}:Uc(c);if(I&&(j[g]={type:li.required,message:R,ref:w,...T(li.required,R)},!a))return N(R),j}if(!A&&(!Pn(m)||!Pn(h))){let I,R;const P=Uc(h),M=Uc(m);if(!Pn(v)&&!isNaN(v)){const O=o.valueAsNumber||v&&+v;Pn(P.value)||(I=O>P.value),Pn(M.value)||(R=O<M.value)}else{const O=o.valueAsDate||new Date(v),$=U=>new Date(new Date().toDateString()+" "+U),_=o.type=="time",F=o.type=="week";Os(P.value)&&v&&(I=_?$(v)>$(P.value):F?v>P.value:O>new Date(P.value)),Os(M.value)&&v&&(R=_?$(v)<$(M.value):F?v<M.value:O<new Date(M.value))}if((I||R)&&(E(!!I,P.message,M.message,li.max,li.min),!a))return N(j[g].message),j}if((d||u)&&!A&&(Os(v)||i&&Array.isArray(v))){const I=Uc(d),R=Uc(u),P=!Pn(I.value)&&v.length>+I.value,M=!Pn(R.value)&&v.length<+R.value;if((P||M)&&(E(P,I.message,R.message),!a))return N(j[g].message),j}if(f&&!A&&Os(v)){const{value:I,message:R}=Uc(f);if(ty(I)&&!v.match(I)&&(j[g]={type:li.pattern,message:R,ref:o,...T(li.pattern,R)},!a))return N(R),j}if(b){if(is(b)){const I=await b(v,r),R=cE(I,w);if(R&&(j[g]={...R,...T(li.validate,R.message)},!a))return N(R.message),j}else if(Nr(b)){let I={};for(const R in b){if(!Sn(I)&&!a)break;const P=cE(await b[R](v,r),w,R);P&&(I={...P,...T(R,P.message)},N(P.message),a&&(j[g]=I))}if(!Sn(I)&&(j[g]={ref:w,...I},!a))return j}}return N(!0),j};const Hde={mode:ss.onSubmit,reValidateMode:ss.onChange,shouldFocusError:!0};function Gde(e={}){let t={...Hde,...e},r={submitCount:0,isDirty:!1,isLoading:is(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1};const a={};let s=Nr(t.defaultValues)||Nr(t.values)?Gr(t.values||t.defaultValues)||{}:{},i=t.shouldUnregister?{}:Gr(s),o={action:!1,mount:!1,watch:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c,d=0;const u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let m={...u};const h={array:eE(),state:eE()},f=sE(t.mode),b=sE(t.reValidateMode),g=t.criteriaMode===ss.all,p=z=>J=>{clearTimeout(d),d=setTimeout(z,J)},x=async z=>{if(!t.disabled&&(u.isValid||m.isValid||z)){const J=t.resolver?Sn((await A()).errors):await E(a,!0);J!==r.isValid&&h.state.next({isValid:J})}},v=(z,J)=>{!t.disabled&&(u.isValidating||u.validatingFields||m.isValidating||m.validatingFields)&&((z||Array.from(l.mount)).forEach(K=>{K&&(J?Pt(r.validatingFields,K,J):Ir(r.validatingFields,K))}),h.state.next({validatingFields:r.validatingFields,isValidating:!Sn(r.validatingFields)}))},w=(z,J=[],K,le,me=!0,de=!0)=>
vendor: 6,889 bytes, line 748
748{if(le&&K&&!t.disabled){if(o.action=!0,de&&Array.isArray(je(a,z))){const be=K(je(a,z),le.argA,le.argB);me&&Pt(a,z,be)}if(de&&Array.isArray(je(r.errors,z))){const be=K(je(r.errors,z),le.argA,le.argB);me&&Pt(r.errors,z,be),Vde(r.errors,z)}if((u.touchedFields||m.touchedFields)&&de&&Array.isArray(je(r.touchedFields,z))){const be=K(je(r.touchedFields,z),le.argA,le.argB);me&&Pt(r.touchedFields,z,be)}(u.dirtyFields||m.dirtyFields)&&(r.dirtyFields=Om(s,i)),h.state.next({name:z,isDirty:R(z,J),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Pt(i,z,J)},N=(z,J)=>{Pt(r.errors,z,J),h.state.next({errors:r.errors})},j=z=>{r.errors=z,h.state.next({errors:r.errors,isValid:!1})},k=(z,J,K,le)=>{const me=je(a,z);if(me){const de=je(i,z,br(K)?je(s,z):K);br(de)||le&&le.defaultChecked||J?Pt(i,z,J?de:aE(me._f)):O(z,de),o.mount&&x()}},S=(z,J,K,le,me)=>{let de=!1,be=!1;const V={name:z};if(!t.disabled){if(!K||le){(u.isDirty||m.isDirty)&&(be=r.isDirty,r.isDirty=V.isDirty=R(),de=be!==V.isDirty);const pe=fo(je(s,z),J);be=!!je(r.dirtyFields,z),pe?Ir(r.dirtyFields,z):Pt(r.dirtyFields,z,!0),V.dirtyFields=r.dirtyFields,de=de||(u.dirtyFields||m.dirtyFields)&&be!==!pe}if(K){const pe=je(r.touchedFields,z);pe||(Pt(r.touchedFields,z,K),V.touchedFields=r.touchedFields,de=de||(u.touchedFields||m.touchedFields)&&pe!==K)}de&&me&&h.state.next(V)}return de?V:{}},C=(z,J,K,le)=>{const me=je(r.errors,z),de=(u.isValid||m.isValid)&&na(J)&&r.isValid!==J;if(t.delayError&&K?(c=p(()=>N(z,K)),c(t.delayError)):(clearTimeout(d),c=null,K?Pt(r.errors,z,K):Ir(r.errors,z)),(K?!fo(me,K):me)||!Sn(le)||de){const be={...le,...de&&na(J)?{isValid:J}:{},errors:r.errors,name:z};r={...r,...be},h.state.next(be)}},A=async z=>{v(z,!0);const J=await t.resolver(i,t.context,$de(z||l.mount,a,t.criteriaMode,t.shouldUseNativeValidation));return v(z),J},T=async z=>{const{errors:J}=await A(z);if(z)for(const K of z){const le=je(J,K);le?Pt(r.errors,K,le):Ir(r.errors,K)}else r.errors=J;return J},E=async(z,J,K={valid:!0})=>{for(const le in z){const me=z[le];if(me){const{_f:de,...be}=me;if(de){const V=l.array.has(de.name),pe=me._f&&Lde(me._f);pe&&u.validatingFields&&v([le],!0);const Se=await dE(me,l.disabled,i,g,t.shouldUseNativeValidation&&!J,V);if(pe&&u.validatingFields&&v([le]),Se[de.name]&&(K.valid=!1,J))break;!J&&(je(Se,de.name)?V?qde(r.errors,Se,de.name):Pt(r.errors,de.name,Se[de.name]):Ir(r.errors,de.name))}!Sn(be)&&await E(be,J,K)}}return K.valid},I=()=>{for(const z of l.unMount){const J=je(a,z);J&&(J._f.refs?J._f.refs.every(K=>!Ow(K)):!Ow(J._f.ref))&&W(z)}l.unMount=new Set},R=(z,J)=>!t.disabled&&(z&&J&&Pt(i,z,J),!fo(H(),s)),P=(z,J,K)=>KU(z,l,{...o.mount?i:br(J)?s:Os(z)?{[z]:J}:J},K,J),M=z=>wb(je(o.mount?i:s,z,t.shouldUnregister?je(s,z,[]):[])),O=(z,J,K={})=>{const le=je(a,z);let me=J;if(le){const de=le._f;de&&(!de.disabled&&Pt(i,z,eV(J,de)),me=Jx(de.ref)&&Pn(J)?"":J,ZU(de.ref)?[...de.ref.options].forEach(be=>be.selected=me.includes(be.value)):de.refs?bp(de.ref)?de.refs.length>1?de.refs.forEach(be=>(!be.defaultChecked||!be.disabled)&&(be.checked=Array.isArray(me)?!!me.find(V=>V===be.value):me===be.value)):de.refs[0]&&(de.refs[0].checked=!!me):de.refs.forEach(be=>be.checked=be.value===me):_C(de.ref)?de.ref.value="":(de.ref.value=me,de.ref.type||h.state.next({name:z,values:Gr(i)})))}(K.shouldDirty||K.shouldTouch)&&S(z,me,K.shouldTouch,K.shouldDirty,!0),K.shouldValidate&&Z(z)},$=(z,J,K)=>{for(const le in J){const me=J[le],de=`${z}.${le}`,be=je(a,de);(l.array.has(z)||Nr(me)||be&&!be._f)&&!Fl(me)?$(de,me,K):O(de,me,K)}},_=(z,J,K={})=>{const le=je(a,z),me=l.array.has(z),de=Gr(J);Pt(i,z,de),me?(h.array.next({name:z,values:Gr(i)}),(u.isDirty||u.dirtyFields||m.isDirty||m.dirtyFields)&&K.shouldDirty&&h.state.next({name:z,dirtyFields:Om(s,i),isDirty:R(z,de)})):le&&!le._f&&!Pn(de)?$(z,de,K):O(z,de,K),oE(z,l)&&h.state.next({...r}),h.state.next({name:o.mount?z:void 0,values:Gr(i)})},F=async z=>{o.mount=!0;const J=z.target;let K=J.name,le=!0;const me=je(a,K),de=be=>{le=Number.isNaN(be)||Fl(be)&&isNaN(be.getTime())||fo(be,je(i,K,be))};if(me){let be,V;const pe=J.type?aE(me._f):UU(z),Se=z.type===Xx.BLUR||z.type===Xx.FOCUS_OUT,ht=!zde(me._f)&&!t.resolver&&!je(r.errors,K)&&!me._f.deps||Ude(Se,je(r.touchedFields,K),r.isSubmitted,b,f),Hr=oE(K,l,Se);Pt(i,K,pe),Se?(me._f.onBlur&&me._f.onBlur(z),c&&c(0)):me._f.onChange&&me._f.onChange(z);const Lt=S(K,pe,Se),Dn=!Sn(Lt)||Hr;if(!Se&&h.state.next({name:K,type:z.type,values:Gr(i)}),ht)return(u.isValid||m.isValid)&&(t.mode==="onBlur"?Se&&x():Se||x()),Dn&&h.state.next({name:K,...Hr?{}:Lt});if(!Se&&Hr&&h.state.next({...r}),t.resolver){const{errors:bn}=await A([K]);if(de(pe),le){const eo=lE(r.errors,a,K),ws=lE(bn,a,eo.name||K);be=ws.error,K=ws.name,V=Sn(bn)}}else v([K],!0),be=(await dE(me,l.disabled,i,g,t.shouldUseNativeValidation))[K],v([K]),de(pe),le&&(be?V=!1:(u.isValid||m.isValid)&&(V=await E(a,!0)));le&&(me._f.deps&&Z(me._f.deps),C(K,V,be,Lt))}},U=(z,J)=>{if(je(r.errors,J)&&z.focus)return z.focus(),1},Z=async(z,J={})=>{let K,le;const me=yh(z);if(t.resolver){const de=await T(br(z)?z:me);K=Sn(de),le=z?!me.some(be=>je(de,be)):K}else z?(le=(await Promise.all(me.map(async de=>{const be=je(a,de);return await E(be&&be._f?{[de]:be}:be)}))).every(Boolean),!(!le&&!r.isValid)&&x()):le=K=await E(a);return h.state.next({...!Os(z)||(u.isValid||m.isValid)&&K!==r.isValid?{}:{name:z},...t.resolver||!z?{isValid:K}:{},errors:r.errors}),J.shouldFocus&&!le&&vh(a,U,z?me:l.mount),le},H=z=>{const J={...o.mount?i:s};return br(z)?J:Os(z)?je(J,z):z.map(K=>je(J,K))},Q=(z,J)=>({invalid:!!je((J||r).errors,z),isDirty:!!je((J||r).dirtyFields,z),error:je((J||r).errors,z),isValidating:!!je(r.validatingFields,z),isTouched:!!je((J||r).touchedFields,z)}),B=z=>{z&&yh(z).forEach(J=>Ir(r.errors,J)),h.state.next({errors:z?r.errors:{}})},se=(z,J,K)=>{const le=(je(a,z,{_f:{}})._f||{}).ref,me=je(r.errors,z)||{},{ref:de,message:be,type:V,...pe}=me;Pt(r.errors,z,{...pe,...J,ref:le}),h.state.next({name:z,errors:r.errors,isValid:!1}),K&&K.shouldFocus&&le&&le.focus&&le.focus()},ye=(z,J)=>is(z)?h.state.subscribe({next:K=>z(P(void 0,J),K)}):P(z,J,!0),ne=z=>h.state.subscribe({next:J=>{Wde(z.name,J.name,z.exact)&&Bde(J,z.formState||u,$t,z.reRenderRoot)&&z.callback({values:{...i},...r,...J})}}).unsubscribe,xe=z=>(o.mount=!0,m={...m,...z.formState},ne({...z,formState:m})),W=(z,J={})=>{for(const K of z?yh(z):l.mount)l.mount.delete(K),l.array.delete(K),J.keepValue||(Ir(a,K),Ir(i,K)),!J.keepError&&Ir(r.errors,K),!J.keepDirty&&Ir(r.dirtyFields,K),!J.keepTouched&&Ir(r.touchedFields,K),!J.keepIsValidating&&Ir(r.validatingFields,K),!t.shouldUnregister&&!J.keepDefaultValue&&Ir(s,K);h.state.next({values:Gr(i)}),h.state.next({...r,...J.keepDirty?{isDirty:R()}:{}}),!J.keepIsValid&&x()},ee=({disabled:z,name:J})=>{(na(z)&&o.mount||z||l.disabled.has(J))&&(z?l.disabled.add(J):l.disabled.delete(J))},ae=(z,J={})=>{let K=je(a,z);const le=na(J.disabled)||na(t.disabled);
vendor: 5,014 bytes, line 748
748return Pt(a,z,{...K||{},_f:{...K&&K._f?K._f:{ref:{name:z}},name:z,mount:!0,...J}}),l.mount.add(z),K?ee({disabled:na(J.disabled)?J.disabled:t.disabled,name:z}):k(z,!0,J.value),{...le?{disabled:J.disabled||t.disabled}:{},...t.progressive?{required:!!J.required,min:Rm(J.min),max:Rm(J.max),minLength:Rm(J.minLength),maxLength:Rm(J.maxLength),pattern:Rm(J.pattern)}:{},name:z,onChange:F,onBlur:F,ref:me=>{if(me){ae(z,J),K=je(a,z);const de=br(me.value)&&me.querySelectorAll&&me.querySelectorAll("input,select,textarea")[0]||me,be=Rde(de),V=K._f.refs||[];if(be?V.find(pe=>pe===de):de===K._f.ref)return;Pt(a,z,{_f:{...K._f,...be?{refs:[...V.filter(Ow),de,...Array.isArray(je(s,z))?[{}]:[]],ref:{type:de.type,name:z}}:{ref:de}}}),k(z,!1,void 0,de)}else K=je(a,z,{}),K._f&&(K._f.mount=!1),(t.shouldUnregister||J.shouldUnregister)&&!(VU(l.array,z)&&o.action)&&l.unMount.add(z)}}},te=()=>t.shouldFocusError&&vh(a,U,l.mount),Ae=z=>{na(z)&&(h.state.next({disabled:z}),vh(a,(J,K)=>{const le=je(a,K);le&&(J.disabled=le._f.disabled||z,Array.isArray(le._f.refs)&&le._f.refs.forEach(me=>{me.disabled=le._f.disabled||z}))},0,!1))},ke=(z,J)=>async K=>{let le;K&&(K.preventDefault&&K.preventDefault(),K.persist&&K.persist());let me=Gr(i);if(h.state.next({isSubmitting:!0}),t.resolver){const{errors:de,values:be}=await A();r.errors=de,me=be}else await E(a);if(l.disabled.size)for(const de of l.disabled)Pt(me,de,void 0);if(Ir(r.errors,"root"),Sn(r.errors)){h.state.next({errors:{}});try{await z(me,K)}catch(de){le=de}}else J&&await J({...r.errors},K),te(),setTimeout(te);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Sn(r.errors)&&!le,submitCount:r.submitCount+1,errors:r.errors}),le)throw le},Oe=(z,J={})=>{je(a,z)&&(br(J.defaultValue)?_(z,Gr(je(s,z))):(_(z,J.defaultValue),Pt(s,z,Gr(J.defaultValue))),J.keepTouched||Ir(r.touchedFields,z),J.keepDirty||(Ir(r.dirtyFields,z),r.isDirty=J.defaultValue?R(z,Gr(je(s,z))):R()),J.keepError||(Ir(r.errors,z),u.isValid&&x()),h.state.next({...r}))},$e=(z,J={})=>{const K=z?Gr(z):s,le=Gr(K),me=Sn(z),de=me?s:le;if(J.keepDefaultValues||(s=K),!J.keepValues){if(J.keepDirtyValues){const be=new Set([...l.mount,...Object.keys(Om(s,i))]);for(const V of Array.from(be))je(r.dirtyFields,V)?Pt(de,V,je(i,V)):_(V,je(de,V))}else{if(EC&&br(z))for(const be of l.mount){const V=je(a,be);if(V&&V._f){const pe=Array.isArray(V._f.refs)?V._f.refs[0]:V._f.ref;if(Jx(pe)){const Se=pe.closest("form");if(Se){Se.reset();break}}}}for(const be of l.mount)_(be,je(de,be))}i=Gr(de),h.array.next({values:{...de}}),h.state.next({values:{...de}})}l={mount:J.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!u.isValid||!!J.keepIsValid||!!J.keepDirtyValues,o.watch=!!t.shouldUnregister,h.state.next({submitCount:J.keepSubmitCount?r.submitCount:0,isDirty:me?!1:J.keepDirty?r.isDirty:!!(J.keepDefaultValues&&!fo(z,s)),isSubmitted:J.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:me?{}:J.keepDirtyValues?J.keepDefaultValues&&i?Om(s,i):r.dirtyFields:J.keepDefaultValues&&z?Om(s,z):J.keepDirty?r.dirtyFields:{},touchedFields:J.keepTouched?r.touchedFields:{},errors:J.keepErrors?r.errors:{},isSubmitSuccessful:J.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},Ke=(z,J)=>$e(is(z)?z(i):z,J),Dt=(z,J={})=>{const K=je(a,z),le=K&&K._f;if(le){const me=le.refs?le.refs[0]:le.ref;me.focus&&(me.focus(),J.shouldSelect&&is(me.select)&&me.select())}},$t=z=>{r={...r,...z}},Kt={control:{register:ae,unregister:W,getFieldState:Q,handleSubmit:ke,setError:se,_subscribe:ne,_runSchema:A,_getWatch:P,_getDirty:R,_setValid:x,_setFieldArray:w,_setDisabledField:ee,_setErrors:j,_getFieldArray:M,_reset:$e,_resetDefaultValues:()=>is(t.defaultValues)&&t.defaultValues().then(z=>{Ke(z,t.resetOptions),h.state.next({isLoading:!1})}),_removeUnmounted:I,_disableForm:Ae,_subjects:h,_proxyFormState:u,get _fields(){return a},get _formValues(){return i},get _state(){return o},set _state(z){o=z},get _defaultValues(){return s},get _names(){return l},set _names(z){l=z},get _formState(){return r},get _options(){return t},set _options(z){t={...t,...z}}},subscribe:xe,trigger:Z,register:ae,handleSubmit:ke,watch:ye,setValue:_,getValues:H,reset:Ke,resetField:Oe,clearErrors:B,unregister:W,setError:se,setFocus:Dt,getFieldState:Q};return{...Kt,formControl:Kt}}function OC(e={}){const t=L.useRef(void 0),r=L.useRef(void 0),[a,s]=L.useState({isDirty:!1,isValidating:!1,isLoading:is(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:is(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...e.formControl?e.formControl:Gde(e),formState:a},e.formControl&&e.defaultValues&&!is(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions));const i=t.current.control;return i._options=e,L.useLayoutEffect(()=>i._subscribe({formState:i._proxyFormState,callback:()=>s({...i._formState}
748),reRenderRoot:!0}),[i]),L.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),L.useEffect(()=>{if(i._proxyFormState.isDirty){const o=i._getDirty();o!==a.isDirty&&i._subjects.state.next({isDirty:o})}},[i,a.isDirty]),L.useEffect(()=>{e.values&&!fo(e.values,r.current)?(i._reset(e.values,i._options.resetOptions),r.current=e.values,s(o=>({...o}))):i._resetDefaultValues()},[e.values,i]),L.useEffect(()=>{e.errors&&!Sn(e.errors)&&i._setErrors(e.errors)},[e.errors,i]),L.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),L.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[e.shouldUnregister,i]),t.current.formState=GU(a,i),t.current}const uE=(e,t,r)=>{if(e&&"reportValidity"in e){const a=je(r,t);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},rV=(e,t)=>{for(const r in t.fields){const a=t.fields[r];a&&a.ref&&"reportValidity"in a.ref?uE(a.ref,r,e):a.refs&&a.refs.forEach(s=>uE(s,r,e))}},Kde=(e,t)=>{t.shouldUseNativeValidation&&rV(e,t);const r={};for(const a in e){const s=je(t.fields,a),i=Object.assign(e[a]||{},{ref:s&&s.ref});if(Yde(t.names||Object.keys(e),a)){const o=Object.assign({},je(r,a));Pt(o,"root",i),Pt(r,a,o)}else Pt(r,a,i)}return r},Yde=(e,t)=>e.some(r=>r.startsWith(t+"."));var Zde=function(e,t){for(var r={};e.length;){var a=e[0],s=a.code,i=a.message,o=a.path.join(".");if(!r[o])if("unionErrors"in a){var l=a.unionErrors[0].errors[0];r[o]={message:l.message,type:l.code}}else r[o]={message:i,type:s};if("unionErrors"in a&&a.unionErrors.forEach(function(u){return u.errors.forEach(function(m){return e.push(m)})}),t){var c=r[o].types,d=c&&c[a.code];r[o]=YU(o,t,r,s,d?[].concat(d,a.message):a.message)}e.shift()}return r},RC=function(e,t,r){return r===void 0&&(r={}),function(a,s,i){try{return Promise.resolve(function(o,l){try{var c=Promise.resolve(e[r.mode==="sync"?"parse":"parseAsync"](a,t)).then(function(d){return i.shouldUseNativeValidation&&rV({},i),{errors:{},values:r.raw?a:d}})}catch(d){return l(d)}return c&&c.then?c.then(void 0,l):c}(0,function(o){if(function(l){return Array.isArray(l==null?void 0:l.errors)}(o))return{values:{},errors:Kde(Zde(o.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw o}))}catch(o){return Promise.reject(o)}}};const ce=Symbol.for("drizzle:entityKind");function Sr(e,t){if(!e||typeof e!="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,ce))throw new Error(`Class "${t.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(ce in r&&r[ce]===t[ce])return!0;r=Object.getPrototypeOf(r)}return!1}var NR;NR=ce;class pu{constructor(t,r){Y(this,"name");Y(this,"keyAsName");Y(this,"primary");Y(this,"notNull");Y(this,"default");Y(this,"defaultFn");Y(this,"onUpdateFn");Y(this,"hasDefault");Y(this,"isUnique");Y(this,"uniqueName");Y(this,"uniqueType");Y(this,"dataType");Y(this,"columnType");Y(this,"enumValues");Y(this,"generated");Y(this,"generatedIdentity");Y(this,"config");this.table=t,this.config=r,this.name=r.name,this.keyAsName=r.keyAsName,this.notNull=r.notNull,this.default=r.default,this.defaultFn=r.defaultFn,this.onUpdateFn=r.onUpdateFn,this.hasDefault=r.hasDefault,this.primary=r.primaryKey,this.isUnique=r.isUnique,this.uniqueName=r.uniqueName,this.uniqueType=r.uniqueType,this.dataType=r.dataType,this.columnType=r.columnType,this.generated=r.generated,this.generatedIdentity=r.generatedIdentity}mapFromDriverValue(t){return t}mapToDriverValue(t){return t}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}Y(pu,NR,"Column");var kR;kR=ce;class nV{constructor(t,r,a){Y(this,"config");Y(this,"$default",this.$defaultFn);Y(this,"$onUpdate",this.$onUpdateFn);this.config={name:t,keyAsName:t==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:r,columnType:a,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(t){return this.config.default=t,this.config.hasDefault=!0,this}$defaultFn(t){return this.config.defaultFn=t,this.config.hasDefault=!0,this}$onUpdateFn(t){return this.config.onUpdateFn=t,this.config.hasDefault=!0,this}primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(t){this.config.name===""&&(this.config.name=t)}}Y(nV,kR,"ColumnBuilder");const Id=Symbol.for("drizzle:Name");var SR;SR=ce;class aV{constructor(t,r){Y(this,"reference");Y(this,"_onUpdate","no action");Y(this,"_onDelete","no action");this.reference=()=>{const{name:a,columns:s,foreignColumns:i}=t();return{name:a,columns:s,foreignTable:i[0].table,foreignColumns:i}},r&&(this._onUpdate=r.onUpdate,this._onDelete=r.onDelete)}onUpdate(t){return this._onUpdate=t===void 0?"no action":t,this}onDelete(t){return this._onDelete=t===void 0?"no action":t,this}build(t){return new sV(t,this)}}Y(aV,SR,"PgForeignKeyBuilder");var CR;CR=ce;class sV{constructor(t,r){Y(this,"reference");Y(this,"onUpdate");Y(this,"onDelete");this.table=t,this.reference=r.reference,this.onUpdate=r._onUpdate,this.onDelete=r._onDelete}getName(){const{name:t,columns:r,foreignColumns:a}=this.reference(),s=r.map(l=>
748l.name),i=a.map(l=>l.name),o=[this.table[Id],...s,a[0].table[Id],...i];return t??`${o.join("_")}_fk`}}Y(sV,CR,"PgForeignKey");function Qde(e,...t){return e(...t)}function Xde(e,t){return`${e[Id]}_${t.join("_")}_unique`}function mE(e,t,r){for(let a=t;a<e.length;a++){const s=e[a];if(s==="\\"){a++;continue}if(s==='"')return[e.slice(t,a).replace(/\\/g,""),a+1];if(!r&&(s===","||s==="}"))return[e.slice(t,a).replace(/\\/g,""),a]}return[e.slice(t).replace(/\\/g,""),e.length]}function iV(e,t=0){const r=[];let a=t,s=!1;for(;a<e.length;){const i=e[a];if(i===","){(s||a===t)&&r.push(""),s=!0,a++;continue}if(s=!1,i==="\\"){a+=2;continue}if(i==='"'){const[c,d]=mE(e,a+1,!0);r.push(c),a=d;continue}if(i==="}")return[r,a+1];if(i==="{"){const[c,d]=iV(e,a+1);r.push(c),a=d;continue}const[o,l]=mE(e,a,!1);r.push(o),a=l}return[r,a]}function Jde(e){const[t]=iV(e,1);return t}function oV(e){return`{${e.map(t=>Array.isArray(t)?oV(t):typeof t=="string"?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${t}`).join(",")}}`}var PR,TR;class bt extends(TR=nV,PR=ce,TR){constructor(){super(...arguments);Y(this,"foreignKeyConfigs",[])}array(r){return new cV(this.config.name,this,r)}references(r,a={}){return this.foreignKeyConfigs.push({ref:r,actions:a}),this}unique(r,a){return this.config.isUnique=!0,this.config.uniqueName=r,this.config.uniqueType=a==null?void 0:a.nulls,this}generatedAlwaysAs(r){return this.config.generated={as:r,type:"always",mode:"stored"},this}buildForeignKeys(r,a){return this.foreignKeyConfigs.map(({ref:s,actions:i})=>Qde((o,l)=>{const c=new aV(()=>{const d=o();return{columns:[r],foreignColumns:[d]}});return l.onUpdate&&c.onUpdate(l.onUpdate),l.onDelete&&c.onDelete(l.onDelete),c.build(a)},s,i))}buildExtraConfigColumn(r){return new lV(r,this.config)}}Y(bt,PR,"PgColumnBuilder");var AR,ER;class Je extends(ER=pu,AR=ce,ER){constructor(t,r){r.uniqueName||(r.uniqueName=Xde(t,[r.name])),super(t,r),this.table=t}}Y(Je,AR,"PgColumn");var IR,_R;class lV extends(_R=Je,IR=ce,_R){constructor(){super(...arguments);Y(this,"indexConfig",{order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass});Y(this,"defaultConfig",{order:"asc",nulls:"last",opClass:void 0})}getSQLType(){return this.getSQLType()}asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(r){return this.indexConfig.opClass=r,this}}Y(lV,IR,"ExtraConfigColumn");var MR;MR=ce;class dx{constructor(t,r,a,s){Y(this,"name");Y(this,"keyAsName");Y(this,"type");Y(this,"indexConfig");this.name=t,this.keyAsName=r,this.type=a,this.indexConfig=s}}Y(dx,MR,"IndexedColumn");var OR,RR;class cV extends(RR=bt,OR=ce,RR){constructor(t,r,a){super(t,"array","PgArray"),this.config.baseBuilder=r,this.config.size=a}build(t){const r=this.config.baseBuilder.build(t);return new hN(t,this.config,r)}}Y(cV,OR,"PgArrayBuilder");var FR,DR;const Nv=class Nv extends(DR=Je,FR=ce,DR){constructor(r,a,s,i){super(r,a);Y(this,"size");this.baseColumn=s,this.range=i,this.size=a.size}getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size=="number"?this.size:""}]`}mapFromDriverValue(r){return typeof r=="string"&&(r=Jde(r)),r.map(a=>this.baseColumn.mapFromDriverValue(a))}mapToDriverValue(r,a=!1){const s=r.map(i=>i===null?null:Sr(this.baseColumn,Nv)?this.baseColumn.mapToDriverValue(i,!0):this.baseColumn.mapToDriverValue(i));return a?s:oV(s)}};Y(Nv,FR,"PgArray");let hN=Nv;const hE=Symbol.for("drizzle:isPgEnum");function eue(e){return!!e&&typeof e=="function"&&hE in e&&e[hE]===!0}var $R;$R=ce;class FC{constructor(t,r,a,s=!1){this._={brand:"Subquery",sql:t,selectedFields:r,alias:a,isWith:s}}}Y(FC,$R,"Subquery");const tue={startActiveSpan(e,t){return t()}},_d=Symbol.for("drizzle:ViewBaseConfig"),Rw=Symbol.for("drizzle:Schema"),fE=Symbol.for("drizzle:Columns"),pE=Symbol.for("drizzle:ExtraConfigColumns"),Fw=Symbol.for("drizzle:OriginalName"),Dw=Symbol.for("drizzle:BaseName"),ry=Symbol.for("drizzle:IsAlias"),gE=Symbol.for("drizzle:ExtraConfigBuilder"),dV=Symbol.for("drizzle:IsDrizzleTable");var LR,zR,BR,WR,UR,VR,qR,HR,GR,KR;KR=ce,GR=Id,HR=Fw,qR=Rw,VR=fE,UR=pE,WR=Dw,BR=ry,zR=dV,LR=gE;class Tn{constructor(t,r,a){Y(this,GR);Y(this,HR);Y(this,qR);Y(this,VR);Y(this,UR);Y(this,WR);Y(this,BR,!1);Y(this,zR,!0);Y(this,LR);this[Id]=this[Fw]=t,this[Rw]=r,this[Dw]=a}}Y(Tn,KR,"Table"),Y(Tn,"Symbol",{Name:Id,Schema:Rw,OriginalName:Fw,Columns:fE,ExtraConfigColumns:pE,BaseName:Dw,IsAlias:ry,ExtraConfigBuilder:gE});function uV(e){return typeof e=="object"&&e!==null&&dV in e}function rue(e){return e!=null&&typeof e.getSQL=="function"}function nue(e){var r;const t={sql:"",params:[]};for(const a of e)t.sql+=a.sql,t.params.push(...a.params),(r=a.typings)!=null&&r.length&&(t.typings||(t.typings=[]),t.typings.push(...a.typings));return t}var YR;YR=ce;class Aa{constructor(t){Y(this,"value");this.value=Array.isArray(t)?t:[t]}getSQL(){return new xr([this])}}Y(Aa,YR,"StringChunk");var ZR;ZR=ce;const Il=class Il{constructor(t){Y(this,"decoder",mV);Y(this,"shouldInlineParams",!1);this.queryChunks=t}append(t){return this.queryChunks.push(...t.queryChunks),this}toQuery(t){return tue.startActiveSpan("drizzle.buildSQL",r=>{const a=this.buildQueryFromSourceParams(this.queryChunks,t);return r==null||r.setAttributes({"drizzle.query.text":a.sql,"drizzle.query.params":JSON.stringify(a.params)}),a})}buildQueryFromSourceParams(t,r){const a=Object.assign({},r,{inlineParams:r.inlineParams||this.shouldInlineParams,paramStartIndex:r.paramStartIndex||{value:0}}),{casing:s,escapeName:i,escapeParam:o,prepareTyping:l,inlineParams:c,paramStartIndex:d}=a;return nue(t.map(u=>{var m;if(Sr(u,Aa))return{sql:u.value.join(""),params:[]};if(Sr(u,ny))return{sql:i(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){const h=[new Aa("(")];for(const[f,b]of u.entries())h.push(b),f<u.length-1&&h.push(new Aa(", "));return h.push(new Aa(")")),this.buildQueryFromSourceParams(h,a)}if(Sr(u,Il))return this.buildQueryFromSourceParams(u.queryChunks,{...a,inlineParams:c||u.shouldInlineParams});if(Sr(u,Tn)){const h=u[Tn.Symbol.Schema],f=u[Tn.Symbol.Name];return{sql:h===void 0||u[ry]?i(f):i(h)+"."+i(f),params:[]}}if(Sr(u,pu)){const h=s.getColumnCasing(u);if(r.invokeSource==="indexes")return{sql:i(h),params:[]};const f=u.table[Tn.Symbol.Schema];return{sql:u.table[ry]||f===void 0?i(u.table[Tn.Symbol.Name])+"."+i(h):i(f)+"."+i(u.table[Tn.Symbol.Name])+"."+i(h),params:[]}}if(Sr(u,pV)){const h=u[_d].schema,f=u[_d].name;return{sql:h===void 0||u[_d].isAlias?i(f):i(h)+"."+i(f),params:[]}}
748if(Sr(u,DC)){if(Sr(u.value,ay))return{sql:o(d.value++,u),params:[u],typings:["none"]};const h=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(Sr(h,Il))return this.buildQueryFromSourceParams([h],a);if(c)return{sql:this.mapInlineParam(h,a),params:[]};let f=["none"];return l&&(f=[l(u.encoder)]),{sql:o(d.value++,h),params:[h],typings:f}}return Sr(u,ay)?{sql:o(d.value++,u),params:[u],typings:["none"]}:Sr(u,Il.Aliased)&&u.fieldAlias!==void 0?{sql:i(u.fieldAlias),params:[]}:Sr(u,FC)?u._.isWith?{sql:i(u._.alias),params:[]}:this.buildQueryFromSourceParams([new Aa("("),u._.sql,new Aa(") "),new ny(u._.alias)],a):eue(u)?u.schema?{sql:i(u.schema)+"."+i(u.enumName),params:[]}:{sql:i(u.enumName),params:[]}:rue(u)?(m=u.shouldOmitSQLParens)!=null&&m.call(u)?this.buildQueryFromSourceParams([u.getSQL()],a):this.buildQueryFromSourceParams([new Aa("("),u.getSQL(),new Aa(")")],a):c?{sql:this.mapInlineParam(u,a),params:[]}:{sql:o(d.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(t,{escapeString:r}){if(t===null)return"null";if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="string")return r(t);if(typeof t=="object"){const a=t.toString();return r(a==="[object Object]"?JSON.stringify(t):a)}throw new Error("Unexpected param value: "+t)}getSQL(){return this}as(t){return t===void 0?this:new Il.Aliased(this,t)}mapWith(t){return this.decoder=typeof t=="function"?{mapFromDriverValue:t}:t,this}inlineParams(){return this.shouldInlineParams=!0,this}if(t){return t?this:void 0}};Y(Il,ZR,"SQL");let xr=Il;var QR;QR=ce;class ny{constructor(t){Y(this,"brand");this.value=t}getSQL(){return new xr([this])}}Y(ny,QR,"Name");const mV={mapFromDriverValue:e=>e},hV={mapToDriverValue:e=>e};({...mV,...hV});var XR;XR=ce;class DC{constructor(t,r=hV){Y(this,"brand");this.value=t,this.encoder=r}getSQL(){return new xr([this])}}Y(DC,XR,"Param");function Ui(e,...t){const r=[];(t.length>0||e.length>0&&e[0]!=="")&&r.push(new Aa(e[0]));for(const[a,s]of t.entries())r.push(s,new Aa(e[a+1]));return new xr(r)}(e=>{function t(){return new xr([])}e.empty=t;function r(c){return new xr(c)}e.fromList=r;function a(c){return new xr([new Aa(c)])}e.raw=a;function s(c,d){const u=[];for(const[m,h]of c.entries())m>0&&d!==void 0&&u.push(d),u.push(h);return new xr(u)}e.join=s;function i(c){return new ny(c)}e.identifier=i;function o(c){return new ay(c)}e.placeholder=o;function l(c,d){return new DC(c,d)}e.param=l})(Ui||(Ui={}));(e=>{var r;r=ce;const a=class a{constructor(i,o){Y(this,"isSelectionField",!1);this.sql=i,this.fieldAlias=o}getSQL(){return this.sql}clone(){return new a(this.sql,this.fieldAlias)}};Y(a,r,"SQL.Aliased");let t=a;e.Aliased=t})(xr||(xr={}));var JR;JR=ce;class ay{constructor(t){this.name=t}getSQL(){return new xr([this])}}Y(ay,JR,"Placeholder");const fV=Symbol.for("drizzle:IsDrizzleView");var eF,tF,rF;rF=ce,tF=_d,eF=fV;class pV{constructor({name:t,schema:r,selectedFields:a,query:s}){Y(this,tF);Y(this,eF,!0);this[_d]={name:t,originalName:t,schema:r,selectedFields:a,query:s,isExisting:!s,isAlias:!1}}getSQL(){return new xr([this])}}Y(pV,rF,"View");function aue(e){return typeof e=="object"&&e!==null&&fV in e}pu.prototype.getSQL=function(){return new xr([this])};Tn.prototype.getSQL=function(){return new xr([this])};FC.prototype.getSQL=function(){return new xr([this])};function sue(e){return e[Tn.Symbol.Columns]}function iue(e){return e[_d].selectedFields}function Vr(e,t){return{name:typeof e=="string"&&e.length>0?e:"",config:typeof e=="object"?e:t}}var nF,aF;class wp extends(aF=bt,nF=ce,aF){generatedAlwaysAsIdentity(t){if(t){const{name:r,...a}=t;this.config.generatedIdentity={type:"always",sequenceName:r,sequenceOptions:a}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(t){if(t){const{name:r,...a}=t;this.config.generatedIdentity={type:"byDefault",sequenceName:r,sequenceOptions:a}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}Y(wp,nF,"PgIntColumnBaseBuilder");var sF,iF;class gV extends(iF=wp,sF=ce,iF){constructor(t){super(t,"number","PgBigInt53")}build(t){return new xV(t,this.config)}}Y(gV,sF,"PgBigInt53Builder");var oF,lF;class xV extends(lF=Je,oF=ce,lF){getSQLType(){return"bigint"}mapFromDriverValue(t){return typeof t=="number"?t:Number(t)}}Y(xV,oF,"PgBigInt53");var cF,dF;class yV extends(dF=wp,cF=ce,dF){constructor(t){super(t,"bigint","PgBigInt64")}build(t){return new vV(t,this.config)}}Y(yV,cF,"PgBigInt64Builder");var uF,mF;class vV extends(mF=Je,uF=ce,mF){getSQLType(){return"bigint"}mapFromDriverValue(t){return BigInt(t)}}Y(vV,uF,"PgBigInt64");function oue(e,t){const{name:r,config:a}=Vr(e,t);return a.mode==="number"?new gV(r):new yV(r)}var hF,fF;class bV extends(fF=bt,hF=ce,fF){constructor(t){super(t,"number","PgBigSeri
748al53"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new wV(t,this.config)}}Y(bV,hF,"PgBigSerial53Builder");var pF,gF;class wV extends(gF=Je,pF=ce,gF){getSQLType(){return"bigserial"}mapFromDriverValue(t){return typeof t=="number"?t:Number(t)}}Y(wV,pF,"PgBigSerial53");var xF,yF;class jV extends(yF=bt,xF=ce,yF){constructor(t){super(t,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(t){return new NV(t,this.config)}}Y(jV,xF,"PgBigSerial64Builder");var vF,bF;class NV extends(bF=Je,vF=ce,bF){getSQLType(){return"bigserial"}mapFromDriverValue(t){return BigInt(t)}}Y(NV,vF,"PgBigSerial64");function lue(e,t){const{name:r,config:a}=Vr(e,t);return a.mode==="number"?new bV(r):new jV(r)}var wF,jF;class kV extends(jF=bt,wF=ce,jF){constructor(t){super(t,"boolean","PgBoolean")}build(t){return new SV(t,this.config)}}Y(kV,wF,"PgBooleanBuilder");var NF,kF;class SV extends(kF=Je,NF=ce,kF){getSQLType(){return"boolean"}}Y(SV,NF,"PgBoolean");function Md(e){return new kV(e??"")}var SF,CF;class CV extends(CF=bt,SF=ce,CF){constructor(t,r){super(t,"string","PgChar"),this.config.length=r.length,this.config.enumValues=r.enum}build(t){return new PV(t,this.config)}}Y(CV,SF,"PgCharBuilder");var PF,TF;class PV extends(TF=Je,PF=ce,TF){constructor(){super(...arguments);Y(this,"length",this.config.length);Y(this,"enumValues",this.config.enumValues)}getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}Y(PV,PF,"PgChar");function cue(e,t={}){const{name:r,config:a}=Vr(e,t);return new CV(r,a)}var AF,EF;class TV extends(EF=bt,AF=ce,EF){constructor(t){super(t,"string","PgCidr")}build(t){return new AV(t,this.config)}}Y(TV,AF,"PgCidrBuilder");var IF,_F;class AV extends(_F=Je,IF=ce,_F){getSQLType(){return"cidr"}}Y(AV,IF,"PgCidr");function due(e){return new TV(e??"")}var MF,OF;class EV extends(OF=bt,MF=ce,OF){constructor(t,r,a){super(t,"custom","PgCustomColumn"),this.config.fieldConfig=r,this.config.customTypeParams=a}build(t){return new IV(t,this.config)}}Y(EV,MF,"PgCustomColumnBuilder");var RF,FF;class IV extends(FF=Je,RF=ce,FF){constructor(r,a){super(r,a);Y(this,"sqlName");Y(this,"mapTo");Y(this,"mapFrom");this.sqlName=a.customTypeParams.dataType(a.fieldConfig),this.mapTo=a.customTypeParams.toDriver,this.mapFrom=a.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(r){return typeof this.mapFrom=="function"?this.mapFrom(r):r}mapToDriverValue(r){return typeof this.mapTo=="function"?this.mapTo(r):r}}Y(IV,RF,"PgCustomColumn");function uue(e){return(t,r)=>{const{name:a,config:s}=Vr(t,r);return new EV(a,s,e)}}var DF,$F;class lm extends($F=bt,DF=ce,$F){defaultNow(){return this.default(Ui`now()`)}}Y(lm,DF,"PgDateColumnBaseBuilder");var LF,zF;class _V extends(zF=lm,LF=ce,zF){constructor(t){super(t,"date","PgDate")}build(t){return new MV(t,this.config)}}Y(_V,LF,"PgDateBuilder");var BF,WF;class MV extends(WF=Je,BF=ce,WF){getSQLType(){return"date"}mapFromDriverValue(t){return new Date(t)}mapToDriverValue(t){return t.toISOString()}}Y(MV,BF,"PgDate");var UF,VF;class OV extends(VF=lm,UF=ce,VF){constructor(t){super(t,"string","PgDateString")}build(t){return new RV(t,this.config)}}Y(OV,UF,"PgDateStringBuilder");var qF,HF;class RV extends(HF=Je,qF=ce,HF){getSQLType(){return"date"}}Y(RV,qF,"PgDateString");function mue(e,t){const{name:r,config:a}=Vr(e,t);return(a==null?void 0:a.mode)==="date"?new _V(r):new OV(r)}var GF,KF;class FV extends(KF=bt,GF=ce,KF){constructor(t){super(t,"number","PgDoublePrecision")}build(t){return new DV(t,this.config)}}Y(FV,GF,"PgDoublePrecisionBuilder");var YF,ZF;class DV extends(ZF=Je,YF=ce,ZF){getSQLType(){return"double precision"}mapFromDriverValue(t){return typeof t=="string"?Number.parseFloat(t):t}}Y(DV,YF,"PgDoublePrecision");function hue(e){return new FV(e??"")}var QF,XF;class $V extends(XF=bt,QF=ce,XF){constructor(t){super(t,"string","PgInet")}build(t){return new LV(t,this.config)}}Y($V,QF,"PgInetBuilder");var JF,eD;class LV extends(eD=Je,JF=ce,eD){getSQLType(){return"inet"}}Y(LV,JF,"PgInet");function fue(e){return new $V(e??"")}var tD,rD;class zV extends(rD=wp,tD=ce,rD){constructor(t){super(t,"number","PgInteger")}build(t){return new BV(t,this.config)}}Y(zV,tD,"PgIntegerBuilder");var nD,aD;class BV extends(aD=Je,nD=ce,aD){getSQLType(){return"integer"}mapFromDriverValue(t){return typeof t=="string"?Number.parseInt(t):t}}Y(BV,nD,"PgInteger");function vi(e){return new zV(e??"")}var sD,iD;class WV extends(iD=bt,sD=ce,iD){constructor(t,r){super(t,"string","PgInterval"),this.config.intervalConfig=r}build(t){return new UV(t,this.config)}}Y(WV,sD,"PgIntervalBuilder");var oD,lD;class UV extends(lD=Je,oD=ce,lD){constructor(){super(...arguments);Y(this,"fields",this.config.intervalConfig.fields);Y(this,"precision",this.config.intervalConfig.precision)}getSQLType(){const r=this.fields?` ${this.fields}`:"",a=this.precision?`(${this.precision})`:"";return`interval${r}${a}`}}
748Y(UV,oD,"PgInterval");function pue(e,t={}){const{name:r,config:a}=Vr(e,t);return new WV(r,a)}var cD,dD;class VV extends(dD=bt,cD=ce,dD){constructor(t){super(t,"json","PgJson")}build(t){return new qV(t,this.config)}}Y(VV,cD,"PgJsonBuilder");var uD,mD;class qV extends(mD=Je,uD=ce,mD){constructor(t,r){super(t,r)}getSQLType(){return"json"}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return t}return t}}Y(qV,uD,"PgJson");function gue(e){return new VV(e??"")}var hD,fD;class HV extends(fD=bt,hD=ce,fD){constructor(t){super(t,"json","PgJsonb")}build(t){return new GV(t,this.config)}}Y(HV,hD,"PgJsonbBuilder");var pD,gD;class GV extends(gD=Je,pD=ce,gD){constructor(t,r){super(t,r)}getSQLType(){return"jsonb"}mapToDriverValue(t){return JSON.stringify(t)}mapFromDriverValue(t){if(typeof t=="string")try{return JSON.parse(t)}catch{return t}return t}}Y(GV,pD,"PgJsonb");function zn(e){return new HV(e??"")}var xD,yD;class KV extends(yD=bt,xD=ce,yD){constructor(t){super(t,"array","PgLine")}build(t){return new YV(t,this.config)}}Y(KV,xD,"PgLineBuilder");var vD,bD;class YV extends(bD=Je,vD=ce,bD){getSQLType(){return"line"}mapFromDriverValue(t){const[r,a,s]=t.slice(1,-1).split(",");return[Number.parseFloat(r),Number.parseFloat(a),Number.parseFloat(s)]}mapToDriverValue(t){return`{${t[0]},${t[1]},${t[2]}}`}}Y(YV,vD,"PgLine");var wD,jD;class ZV extends(jD=bt,wD=ce,jD){constructor(t){super(t,"json","PgLineABC")}build(t){return new QV(t,this.config)}}Y(ZV,wD,"PgLineABCBuilder");var ND,kD;class QV extends(kD=Je,ND=ce,kD){getSQLType(){return"line"}mapFromDriverValue(t){const[r,a,s]=t.slice(1,-1).split(",");return{a:Number.parseFloat(r),b:Number.parseFloat(a),c:Number.parseFloat(s)}}mapToDriverValue(t){return`{${t.a},${t.b},${t.c}}`}}Y(QV,ND,"PgLineABC");function xue(e,t){const{name:r,config:a}=Vr(e,t);return!(a!=null&&a.mode)||a.mode==="tuple"?new KV(r):new ZV(r)}var SD,CD;class XV extends(CD=bt,SD=ce,CD){constructor(t){super(t,"string","PgMacaddr")}build(t){return new JV(t,this.config)}}Y(XV,SD,"PgMacaddrBuilder");var PD,TD;class JV extends(TD=Je,PD=ce,TD){getSQLType(){return"macaddr"}}Y(JV,PD,"PgMacaddr");function yue(e){return new XV(e??"")}var AD,ED;class e9 extends(ED=bt,AD=ce,ED){constructor(t){super(t,"string","PgMacaddr8")}build(t){return new t9(t,this.config)}}Y(e9,AD,"PgMacaddr8Builder");var ID,_D;class t9 extends(_D=Je,ID=ce,_D){getSQLType(){return"macaddr8"}}Y(t9,ID,"PgMacaddr8");function vue(e){return new e9(e??"")}var MD,OD;class r9 extends(OD=bt,MD=ce,OD){constructor(t,r,a){super(t,"string","PgNumeric"),this.config.precision=r,this.config.scale=a}build(t){return new n9(t,this.config)}}Y(r9,MD,"PgNumericBuilder");var RD,FD;class n9 extends(FD=Je,RD=ce,FD){constructor(r,a){super(r,a);Y(this,"precision");Y(this,"scale");this.precision=a.precision,this.scale=a.scale}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}Y(n9,RD,"PgNumeric");function bue(e,t){const{name:r,config:a}=Vr(e,t);return new r9(r,a==null?void 0:a.precision,a==null?void 0:a.scale)}var DD,$D;class a9 extends($D=bt,DD=ce,$D){constructor(t){super(t,"array","PgPointTuple")}build(t){return new s9(t,this.config)}}Y(a9,DD,"PgPointTupleBuilder");var LD,zD;class s9 extends(zD=Je,LD=ce,zD){getSQLType(){return"point"}mapFromDriverValue(t){if(typeof t=="string"){const[r,a]=t.slice(1,-1).split(",");return[Number.parseFloat(r),Number.parseFloat(a)]}return[t.x,t.y]}mapToDriverValue(t){return`(${t[0]},${t[1]})`}}Y(s9,LD,"PgPointTuple");var BD,WD;class i9 extends(WD=bt,BD=ce,WD){constructor(t){super(t,"json","PgPointObject")}build(t){return new o9(t,this.config)}}Y(i9,BD,"PgPointObjectBuilder");var UD,VD;class o9 extends(VD=Je,UD=ce,VD){getSQLType(){return"point"}mapFromDriverValue(t){if(typeof t=="string"){const[r,a]=t.slice(1,-1).split(",");return{x:Number.parseFloat(r),y:Number.parseFloat(a)}}return t}mapToDriverValue(t){return`(${t.x},${t.y})`}}Y(o9,UD,"PgPointObject");function wue(e,t){const{name:r,config:a}=Vr(e,t);return!(a!=null&&a.mode)||a.mode==="tuple"?new a9(r):new i9(r)}function jue(e){const t=[];for(let r=0;r<e.length;r+=2)t.push(Number.parseInt(e.slice(r,r+2),16));return new Uint8Array(t)}function xE(e,t){const r=new ArrayBuffer(8),a=new DataView(r);for(let s=0;s<8;s++)a.setUint8(s,e[t+s]);return a.getFloat64(0,!0)}function l9(e){const t=jue(e);let r=0;const a=t[r];r+=1;const s=new DataView(t.buffer),i=s.getUint32(r,a===1);if(r+=4,i&536870912&&(s.getUint32(r,a===1),r+=4),(i&65535)===1){const o=xE(t,r);r+=8;const l=xE(t,r);return r+=8,[o,l]}throw new Error("Unsupported geometry type")}var qD,HD;class c9 extends(HD=bt,qD=ce,HD){constructor(t){super(t,"array","PgGeometry")}build(t){return new d9(t,this.config)}}Y(c9,qD,"PgGeometryBuilder");var GD,KD;class d9 extends(KD=Je,GD=ce,KD){getSQLType(){return"geometry(point)"}mapFromDriverValue(t){return l9(t)}mapToDriverValue(t){return`point(${t[0]} ${t[1]})`}}Y(d9,GD,"PgGeometry");var YD,ZD;class u9 extends(ZD=bt,YD=ce,ZD){constructor(t){super(t,"json","PgGeometryObject")}build(t){return new m9(t,this.config)}}Y(u9,YD,"PgGeometryObjectBuilder");var QD,XD;
748class m9 extends(XD=Je,QD=ce,XD){getSQLType(){return"geometry(point)"}mapFromDriverValue(t){const r=l9(t);return{x:r[0],y:r[1]}}mapToDriverValue(t){return`point(${t.x} ${t.y})`}}Y(m9,QD,"PgGeometryObject");function Nue(e,t){const{name:r,config:a}=Vr(e,t);return!(a!=null&&a.mode)||a.mode==="tuple"?new c9(r):new u9(r)}var JD,e$;class h9 extends(e$=bt,JD=ce,e$){constructor(t,r){super(t,"number","PgReal"),this.config.length=r}build(t){return new f9(t,this.config)}}Y(h9,JD,"PgRealBuilder");var t$,r$;class f9 extends(r$=Je,t$=ce,r$){constructor(r,a){super(r,a);Y(this,"mapFromDriverValue",r=>typeof r=="string"?Number.parseFloat(r):r)}getSQLType(){return"real"}}Y(f9,t$,"PgReal");function kue(e){return new h9(e??"")}var n$,a$;class p9 extends(a$=bt,n$=ce,a$){constructor(t){super(t,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new g9(t,this.config)}}Y(p9,n$,"PgSerialBuilder");var s$,i$;class g9 extends(i$=Je,s$=ce,i$){getSQLType(){return"serial"}}Y(g9,s$,"PgSerial");function Sue(e){return new p9(e??"")}var o$,l$;class x9 extends(l$=wp,o$=ce,l$){constructor(t){super(t,"number","PgSmallInt")}build(t){return new y9(t,this.config)}}Y(x9,o$,"PgSmallIntBuilder");var c$,d$;class y9 extends(d$=Je,c$=ce,d$){constructor(){super(...arguments);Y(this,"mapFromDriverValue",r=>typeof r=="string"?Number(r):r)}getSQLType(){return"smallint"}}Y(y9,c$,"PgSmallInt");function Cue(e){return new x9(e??"")}var u$,m$;class v9 extends(m$=bt,u$=ce,m$){constructor(t){super(t,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(t){return new b9(t,this.config)}}Y(v9,u$,"PgSmallSerialBuilder");var h$,f$;class b9 extends(f$=Je,h$=ce,f$){getSQLType(){return"smallserial"}}Y(b9,h$,"PgSmallSerial");function Pue(e){return new v9(e??"")}var p$,g$;class w9 extends(g$=bt,p$=ce,g$){constructor(t,r){super(t,"string","PgText"),this.config.enumValues=r.enum}build(t){return new j9(t,this.config)}}Y(w9,p$,"PgTextBuilder");var x$,y$;class j9 extends(y$=Je,x$=ce,y$){constructor(){super(...arguments);Y(this,"enumValues",this.config.enumValues)}getSQLType(){return"text"}}Y(j9,x$,"PgText");function kt(e,t={}){const{name:r,config:a}=Vr(e,t);return new w9(r,a)}var v$,b$;class N9 extends(b$=lm,v$=ce,b$){constructor(t,r,a){super(t,"string","PgTime"),this.withTimezone=r,this.precision=a,this.config.withTimezone=r,this.config.precision=a}build(t){return new k9(t,this.config)}}Y(N9,v$,"PgTimeBuilder");var w$,j$;class k9 extends(j$=Je,w$=ce,j$){constructor(r,a){super(r,a);Y(this,"withTimezone");Y(this,"precision");this.withTimezone=a.withTimezone,this.precision=a.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}Y(k9,w$,"PgTime");function Tue(e,t={}){const{name:r,config:a}=Vr(e,t);return new N9(r,a.withTimezone??!1,a.precision)}var N$,k$;class S9 extends(k$=lm,N$=ce,k$){constructor(t,r,a){super(t,"date","PgTimestamp"),this.config.withTimezone=r,this.config.precision=a}build(t){return new C9(t,this.config)}}Y(S9,N$,"PgTimestampBuilder");var S$,C$;class C9 extends(C$=Je,S$=ce,C$){constructor(r,a){super(r,a);Y(this,"withTimezone");Y(this,"precision");Y(this,"mapFromDriverValue",r=>new Date(this.withTimezone?r:r+"+0000"));Y(this,"mapToDriverValue",r=>r.toISOString());this.withTimezone=a.withTimezone,this.precision=a.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}}Y(C9,S$,"PgTimestamp");var P$,T$;class P9 extends(T$=lm,P$=ce,T$){constructor(t,r,a){super(t,"string","PgTimestampString"),this.config.withTimezone=r,this.config.precision=a}build(t){return new T9(t,this.config)}}Y(P9,P$,"PgTimestampStringBuilder");var A$,E$;class T9 extends(E$=Je,A$=ce,E$){constructor(r,a){super(r,a);Y(this,"withTimezone");Y(this,"precision");this.withTimezone=a.withTimezone,this.precision=a.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}Y(T9,A$,"PgTimestampString");function gr(e,t={}){const{name:r,config:a}=Vr(e,t);return(a==null?void 0:a.mode)==="string"?new P9(r,a.withTimezone??!1,a.precision):new S9(r,(a==null?void 0:a.withTimezone)??!1,a==null?void 0:a.precision)}var I$,_$;class A9 extends(_$=bt,I$=ce,_$){constructor(t){super(t,"string","PgUUID")}defaultRandom(){return this.default(Ui`gen_random_uuid()`)}build(t){return new E9(t,this.config)}}Y(A9,I$,"PgUUIDBuilder");var M$,O$;class E9 extends(O$=Je,M$=ce,O$){getSQLType(){return"uuid"}}Y(E9,M$,"PgUUID");function Aue(e){return new A9(e??"")}var R$,F$;class I9 extends(F$=bt,R$=ce,F$){constructor(t,r){super(t,"string","PgVarchar"),this.config.length=r.length,this.config.enumValues=r.enum}build(t){return new _9(t,this.config)}}Y(I9,R$,"PgVarcharBuilder");var D$,$$;class _9 extends($$=Je,D$=ce,$$){constructor(){super(...arguments);Y(this,"length",this.config.length);Y(this,"enumValues",this.config.enumValues)}getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}Y(_9,D$,"PgVarchar");function ft(e,t={}){const{name:r,config:a}=Vr(e,t);return new I9(r,a)}var L$,z$;class M9 extends(z$=bt,L$=ce,z$){constructor(t,r){super(t,"string","PgBinaryVector"),this.config.dimensions=r.dimensions}build(t){return new O9(t,this.config)}}Y(M9,L$,"PgBinaryVectorBuilder");var B$,W$;class O9 extends(W$=Je,B$=ce,W$){constructor(){super(...arguments);Y(this,"dimensions",this.config.dimensions)}getSQLType(){return`bit(${this.dimensions})`}}
748Y(O9,B$,"PgBinaryVector");function Eue(e,t){const{name:r,config:a}=Vr(e,t);return new M9(r,a)}var U$,V$;class R9 extends(V$=bt,U$=ce,V$){constructor(t,r){super(t,"array","PgHalfVector"),this.config.dimensions=r.dimensions}build(t){return new F9(t,this.config)}}Y(R9,U$,"PgHalfVectorBuilder");var q$,H$;class F9 extends(H$=Je,q$=ce,H$){constructor(){super(...arguments);Y(this,"dimensions",this.config.dimensions)}getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(r){return JSON.stringify(r)}mapFromDriverValue(r){return r.slice(1,-1).split(",").map(a=>Number.parseFloat(a))}}Y(F9,q$,"PgHalfVector");function Iue(e,t){const{name:r,config:a}=Vr(e,t);return new R9(r,a)}var G$,K$;class D9 extends(K$=bt,G$=ce,K$){constructor(t,r){super(t,"string","PgSparseVector"),this.config.dimensions=r.dimensions}build(t){return new $9(t,this.config)}}Y(D9,G$,"PgSparseVectorBuilder");var Y$,Z$;class $9 extends(Z$=Je,Y$=ce,Z$){constructor(){super(...arguments);Y(this,"dimensions",this.config.dimensions)}getSQLType(){return`sparsevec(${this.dimensions})`}}Y($9,Y$,"PgSparseVector");function _ue(e,t){const{name:r,config:a}=Vr(e,t);return new D9(r,a)}var Q$,X$;class L9 extends(X$=bt,Q$=ce,X$){constructor(t,r){super(t,"array","PgVector"),this.config.dimensions=r.dimensions}build(t){return new z9(t,this.config)}}Y(L9,Q$,"PgVectorBuilder");var J$,e6;class z9 extends(e6=Je,J$=ce,e6){constructor(){super(...arguments);Y(this,"dimensions",this.config.dimensions)}getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(r){return JSON.stringify(r)}mapFromDriverValue(r){return r.slice(1,-1).split(",").map(a=>Number.parseFloat(a))}}Y(z9,J$,"PgVector");function Mue(e,t){const{name:r,config:a}=Vr(e,t);return new L9(r,a)}function Oue(){return{bigint:oue,bigserial:lue,boolean:Md,char:cue,cidr:due,customType:uue,date:mue,doublePrecision:hue,inet:fue,integer:vi,interval:pue,json:gue,jsonb:zn,line:xue,macaddr:yue,macaddr8:vue,numeric:bue,point:wue,geometry:Nue,real:kue,serial:Sue,smallint:Cue,smallserial:Pue,text:kt,time:Tue,timestamp:gr,uuid:Aue,varchar:ft,bit:Eue,halfvec:Iue,sparsevec:_ue,vector:Mue}}const fN=Symbol.for("drizzle:PgInlineForeignKeys"),yE=Symbol.for("drizzle:EnableRLS");var t6,r6,n6,a6,s6;class bh extends(s6=Tn,a6=ce,n6=fN,r6=yE,t6=Tn.Symbol.ExtraConfigBuilder,s6){constructor(){super(...arguments);Y(this,n6,[]);Y(this,r6,!1);Y(this,t6)}}Y(bh,a6,"PgTable"),Y(bh,"Symbol",Object.assign({},Tn.Symbol,{InlineForeignKeys:fN,EnableRLS:yE}));function Rue(e,t,r,a,s=e){const i=new bh(e,a,s),o=typeof t=="function"?t(Oue()):t,l=Object.fromEntries(Object.entries(o).map(([u,m])=>{const h=m;h.setName(u);const f=h.build(i);return i[fN].push(...h.buildForeignKeys(f,i)),[u,f]})),c=Object.fromEntries(Object.entries(o).map(([u,m])=>{const h=m;h.setName(u);const f=h.buildExtraConfigColumn(i);return[u,f]})),d=Object.assign(i,l);return d[Tn.Symbol.Columns]=l,d[Tn.Symbol.ExtraConfigColumns]=c,r&&(d[bh.Symbol.ExtraConfigBuilder]=r),Object.assign(d,{enableRLS:()=>(d[bh.Symbol.EnableRLS]=!0,d)})}const ni=(e,t,r)=>Rue(e,t,r,void 0);var i6;i6=ce;class $C{constructor(t,r){this.unique=t,this.name=r}on(...t){return new ux(t.map(r=>{if(Sr(r,xr))return r;r=r;const a=new dx(r.name,!!r.keyAsName,r.columnType,r.indexConfig);return r.indexConfig=JSON.parse(JSON.stringify(r.defaultConfig)),a}),this.unique,!1,this.name)}onOnly(...t){return new ux(t.map(r=>{if(Sr(r,xr))return r;r=r;const a=new dx(r.name,!!r.keyAsName,r.columnType,r.indexConfig);return r.indexConfig=r.defaultConfig,a}),this.unique,!0,this.name)}using(t,...r){return new ux(r.map(a=>{if(Sr(a,xr))return a;a=a;const s=new dx(a.name,!!a.keyAsName,a.columnType,a.indexConfig);return a.indexConfig=JSON.parse(JSON.stringify(a.defaultConfig)),s}),this.unique,!0,this.name,t)}}Y($C,i6,"PgIndexBuilderOn");var o6;o6=ce;class ux{constructor(t,r,a,s,i="btree"){Y(this,"config");this.config={name:s,columns:t,unique:r,only:a,method:i}}concurrently(){return this.config.concurrently=!0,this}with(t){return this.config.with=t,this}where(t){return this.config.where=t,this}build(t){return new B9(this.config,t)}}Y(ux,o6,"PgIndexBuilder");var l6;l6=ce;class B9{constructor(t,r){Y(this,"config");this.config={...t,table:r}}}Y(B9,l6,"PgIndex");function Fa(e){return new $C(!1,e)}function Fue(e){return new $C(!0,e)}var yt;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function r(s){throw new Error}e.assertNever=r,e.arrayToEnum=s=>{const i={};for(const o of s)i[o]=o;return i},e.getValidEnumValues=s=>{const i=e.objectKeys(s).filter(l=>typeof s[s[l]]!="number"),o={};for(const l of i)o[l]=s[l];return e.objectValues(o)},e.objectValues=s=>e.objectKeys(s).map(function(i){return s[i]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const i=[];for(const o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},e.find=(s,i)=>{for(const o of s)if(i(o))return o}
vendor: 1,147 bytes, line 748
748,e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function a(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=a,e.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(yt||(yt={}));var pN;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(pN||(pN={}));const Te=yt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),fi=e=>{switch(typeof e){case"undefined":return Te.undefined;case"string":return Te.string;case"number":return Number.isNaN(e)?Te.nan:Te.number;case"boolean":return Te.boolean;case"function":return Te.function;case"bigint":return Te.bigint;case"symbol":return Te.symbol;case"object":return Array.isArray(e)?Te.array:e===null?Te.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?Te.promise:typeof Map<"u"&&e instanceof Map?Te.map:typeof Set<"u"&&e instanceof Set?Te.set:typeof Date<"u"&&e instanceof Date?Te.date:Te.object;default:return Te.unknown}}
vendor: 22,688 bytes, line 748
748,he=yt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Due=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class ua extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(i){return i.message},a={_errors:[]},s=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)a._errors.push(r(o));else{let l=a,c=0;for(;c<o.path.length;){const d=o.path[c];c===o.path.length-1?(l[d]=l[d]||{_errors:[]},l[d]._errors.push(r(o))):l[d]=l[d]||{_errors:[]},l=l[d],c++}}};return s(this),a}static assert(t){if(!(t instanceof ua))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,yt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){const r={},a=[];for(const s of this.issues)if(s.path.length>0){const i=s.path[0];r[i]=r[i]||[],r[i].push(t(s))}else a.push(t(s));return{formErrors:a,fieldErrors:r}}get formErrors(){return this.flatten()}}ua.create=e=>new ua(e);const gu=(e,t)=>{let r;switch(e.code){case he.invalid_type:e.received===Te.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case he.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,yt.jsonStringifyReplacer)}`;break;case he.unrecognized_keys:r=`Unrecognized key(s) in object: ${yt.joinValues(e.keys,", ")}`;break;case he.invalid_union:r="Invalid input";break;case he.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${yt.joinValues(e.options)}`;break;case he.invalid_enum_value:r=`Invalid enum value. Expected ${yt.joinValues(e.options)}, received '${e.received}'`;break;case he.invalid_arguments:r="Invalid function arguments";break;case he.invalid_return_type:r="Invalid function return type";break;case he.invalid_date:r="Invalid date";break;case he.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:yt.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case he.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case he.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case he.custom:r="Invalid input";break;case he.invalid_intersection_types:r="Intersection results could not be merged";break;case he.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case he.not_finite:r="Number must be finite";break;default:r=t.defaultError,yt.assertNever(e)}return{message:r}};let W9=gu;function $ue(e){W9=e}function sy(){return W9}const iy=e=>{const{data:t,path:r,errorMaps:a,issueData:s}=e,i=[...r,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let l="";const c=a.filter(d=>!!d).slice().reverse();for(const d of c)l=d(o,{data:t,defaultError:l}).message;return{...s,path:i,message:l}},Lue=[];function Ne(e,t){const r=sy(),a=iy({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===gu?void 0:gu].filter(s=>!!s)});e.common.issues.push(a)}class xn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){const a=[];for(const s of r){if(s.status==="aborted")return Ue;s.status==="dirty"&&t.dirty(),a.push(s.value)}return{status:t.value,value:a}}static async mergeObjectAsync(t,r){const a=[];for(const s of r){const i=await s.key,o=await s.value;a.push({key:i,value:o})}return xn.mergeObjectSync(t,a)}static mergeObjectSync(t,r){const a={};for(const s of r){const{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return Ue;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(a[i.value]=o.value)}return{status:t.value,value:a}}}const Ue=Object.freeze({status:"aborted"}),gd=e=>({status:"dirty",value:e}),Mn=e=>({status:"valid",value:e}),gN=e=>e.status==="aborted",xN=e=>e.status==="dirty",dc=e=>e.status==="valid",tf=e=>typeof Promise<"u"&&e instanceof Promise;var Re;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Re||(Re={}));class Ks{constructor(t,r,a,s){this._cachedPath=[],this.parent=t,this.data=r,this._path=a,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const vE=(e,t)=>{if(dc(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new ua(e.common.issues);return this._error=r,this._error}}};function Xe(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:a,description:s}=e;if(t&&(r||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(o,l)=>{const{message:c}=e;return o.code==="invalid_enum_value"?{message:c??l.defaultError}:typeof l.data>"u"?{message:c??a??l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:c??r??l.defaultError}},description:s}}class st{get description(){return this._def.description}_getType(t){return fi(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:fi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new xn,ctx:{common:t.parent.common,data:t.data,parsedType:fi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const r=this._parse(t);if(tf(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){const r=this._parse(t);return Promise.resolve(r)}parse(t,r){const a=this.safeParse(t,r);if(a.success)return a.data;throw a.error}safeParse(t,r){const a={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:fi(t)},s=this._parseSync({data:t,path:a.path,parent:a});return vE(a,s)}"~validate"(t){var a,s;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:fi(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return dc(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(s=(a=i==null?void 0:i.message)==null?void 0:a.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>dc(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,r){const a=await this.safeParseAsync(t,r);if(a.success)return a.data;throw a.error}async safeParseAsync(t,r){const a={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:fi(t)},s=this._parse({data:t,path:a.path,parent:a}),i=await(tf(s)?s:Promise.resolve(s));return vE(a,i)}refine(t,r){const a=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,i)=>{const o=t(s),l=()=>i.addIssue({code:he.custom,...a(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(t,r){return this._refinement((a,s)=>t(a)?!0:(s.addIssue(typeof r=="function"?r(a,s):r),!1))}_refinement(t){return new xs({schema:this,typeName:qe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Bs.create(this,this._def)}nullable(){return sl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return hs.create(this)}promise(){return yu.create(this,this._def)}or(t){return sf.create([this,t],this._def)}and(t){return of.create(this,t,this._def)}transform(t){return new xs({...Xe(this._def),schema:this,typeName:qe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const r=typeof t=="function"?t:()=>t;return new mf({...Xe(this._def),innerType:this,defaultValue:r,typeName:qe.ZodDefault})}brand(){return new LC({typeName:qe.ZodBranded,type:this,...Xe(this._def)})}catch(t){const r=typeof t=="function"?t:()=>t;return new hf({...Xe(this._def),innerType:this,catchValue:r,typeName:qe.ZodCatch})}describe(t){const r=this.constructor;return new r({...this._def,description:t})}pipe(t){return jp.create(this,t)}readonly(){return ff.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zue=/^c[^\s-]{8,}$/i,Bue=/^[0-9a-z]+$/,Wue=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Uue=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Vue=/^[a-z0-9_-]{21}$/i,que=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Hue=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Gue=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Kue="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let $w;const Yue=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Zue=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Que=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Xue=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Jue=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,eme=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,U9="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",tme=new RegExp(`^${U9}$`);function V9(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function rme(e){return new RegExp(`^${V9(e)}$`)}function q9(e){let t=`${U9}T${V9(e)}`;const r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function nme(e,t){return!!((t==="v4"||!t)&&Yue.test(e)||(t==="v6"||!t)&&Que.test(e))}function ame(e,t){if(!que.test(e))return!1;try{const[r]=e.split(".");if(!r)return!1;const a=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(a));return!(typeof s!="object"||s===null||"typ"in s&&(s==null?void 0:s.typ)!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function sme(e,t){return!!((t==="v4"||!t)&&Zue.test(e)||(t==="v6"||!t)&&Xue.test(e))}class cs extends st{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==Te.string){const i=this._getOrReturnCtx(t);return Ne(i,{code:he.invalid_type,expected:Te.string,received:i.parsedType}),Ue}const a=new xn;let s;for(const i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),a.dirty());else if(i.kind==="max")t.data.length>i.value&&(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),a.dirty());else if(i.kind==="length"){const o=t.data.length>i.value,l=t.data.length<i.value;(o||l)&&(s=this._getOrReturnCtx(t,s),o?Ne(s,{code:he.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):l&&Ne(s,{code:he.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),a.dirty())}else if(i.kind==="email")Gue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"email",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="emoji")$w||($w=new RegExp(Kue,"u")),$w.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"emoji",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="uuid")Uue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"uuid",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="nanoid")Vue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"nanoid",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="cuid")zue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"cuid",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="cuid2")Bue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"cuid2",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="ulid")Wue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"ulid",code:he.invalid_string,message:i.message}),a.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),Ne(s,{validation:"url",code:he.invalid_string,message:i.message}),a.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"regex",code:he.invalid_string,message:i.message}),a.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),a.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:{startsWith:i.value},message:i.message}),a.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:{endsWith:i.value},message:i.message}),a.dirty()):i.kind==="datetime"?q9(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:"datetime",message:i.message}),a.dirty()):i.kind==="date"?tme.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:"date",message:i.message}),a.dirty()):i.kind==="time"?rme(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.invalid_string,validation:"time",message:i.message}),a.dirty()):i.kind==="duration"?Hue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"duration",code:he.invalid_string,message:i.message}),a.dirty()):i.kind==="ip"?nme(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"ip",code:he.invalid_string,message:i.message}),a.dirty()):i.kind==="jwt"?ame(t.data,i.alg)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"jwt",code:he.invalid_string,message:i.message}),a.dirty()):i.kind==="cidr"?sme(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"cidr",code:he.invalid_string,message:i.message}),a.dirty()):i.kind==="base64"?Jue.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"base64",code:he.invalid_string,message:i.message}),a.dirty()):i.kind==="base64url"?eme.test(t.data)||(s=this._getOrReturnCtx(t,s),Ne(s,{validation:"base64url",code:he.invalid_string,message:i.message}),a.dirty()):yt.assertNever(i);return{status:a.value,value:t.data}}_regex(t,r,a){return this.refinement(s=>t.test(s),{validation:r,code:he.invalid_string,...Re.errToObj(a)})}_addCheck(t){return new cs({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...Re.errToObj(t)})}url(t){return this._addCheck({kind:"url",...Re.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...Re.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...Re.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...Re.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...Re.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...Re.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...Re.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...Re.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...Re.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...Re.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...Re.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...Re.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...Re.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...Re.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...Re.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...Re.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r==null?void 0:r.position,...Re.errToObj(r==null?void 0:r.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...Re.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...Re.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...Re.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...Re.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...Re.errToObj(r)})}nonempty(t){return this.min(1,Re.errToObj(t))}trim(){return new cs({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new cs({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new cs({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}
vendor: 4,672 bytes, line 748
748get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}}cs.create=e=>new cs({checks:[],typeName:qe.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...Xe(e)});function ime(e,t){const r=(e.toString().split(".")[1]||"").length,a=(t.toString().split(".")[1]||"").length,s=r>a?r:a,i=Number.parseInt(e.toFixed(s).replace(".","")),o=Number.parseInt(t.toFixed(s).replace(".",""));return i%o/10**s}class rl extends st{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==Te.number){const i=this._getOrReturnCtx(t);return Ne(i,{code:he.invalid_type,expected:Te.number,received:i.parsedType}),Ue}let a;const s=new xn;for(const i of this._def.checks)i.kind==="int"?yt.isInteger(t.data)||(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?ime(t.data,i.value)!==0&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.not_finite,message:i.message}),s.dirty()):yt.assertNever(i);return{status:s.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,Re.toString(r))}gt(t,r){return this.setLimit("min",t,!1,Re.toString(r))}lte(t,r){return this.setLimit("max",t,!0,Re.toString(r))}lt(t,r){return this.setLimit("max",t,!1,Re.toString(r))}setLimit(t,r,a,s){return new rl({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:a,message:Re.toString(s)}]})}_addCheck(t){return new rl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Re.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Re.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Re.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Re.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Re.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:Re.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:Re.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Re.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Re.toString(t)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&yt.isInteger(t.value))}get isFinite(){let t=null,r=null;for(const a of this._def.checks){if(a.kind==="finite"||a.kind==="int"||a.kind==="multipleOf")return!0;a.kind==="min"?(r===null||a.value>r)&&(r=a.value):a.kind==="max"&&(t===null||a.value<t)&&(t=a.value)}return Number.isFinite(r)&&Number.isFinite(t)}
vendor: 4,244 bytes, line 748
748}rl.create=e=>new rl({checks:[],typeName:qe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Xe(e)});class nl extends st{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==Te.bigint)return this._getInvalidInput(t);let a;const s=new xn;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(a=this._getOrReturnCtx(t,a),Ne(a,{code:he.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):yt.assertNever(i);return{status:s.value,value:t.data}}_getInvalidInput(t){const r=this._getOrReturnCtx(t);return Ne(r,{code:he.invalid_type,expected:Te.bigint,received:r.parsedType}),Ue}gte(t,r){return this.setLimit("min",t,!0,Re.toString(r))}gt(t,r){return this.setLimit("min",t,!1,Re.toString(r))}lte(t,r){return this.setLimit("max",t,!0,Re.toString(r))}lt(t,r){return this.setLimit("max",t,!1,Re.toString(r))}setLimit(t,r,a,s){return new nl({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:a,message:Re.toString(s)}]})}_addCheck(t){return new nl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Re.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Re.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Re.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Re.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:Re.toString(r)})}get minValue(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}}nl.create=e=>new nl({checks:[],typeName:qe.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...Xe(e)});class rf extends st{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==Te.boolean){const a=this._getOrReturnCtx(t);return Ne(a,{code:he.invalid_type,expected:Te.boolean,received:a.parsedType}),Ue}return Mn(t.data)}}rf.create=e=>new rf({typeName:qe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Xe(e)});class uc extends st{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==Te.date){const i=this._getOrReturnCtx(t);return Ne(i,{code:he.invalid_type,expected:Te.date,received:i.parsedType}),Ue}if(Number.isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return Ne(i,{code:he.invalid_date}),Ue}const a=new xn;let s;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),a.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(s=this._getOrReturnCtx(t,s),Ne(s,{code:he.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),a.dirty()):yt.assertNever(i);return{status:a.value,value:new Date(t.data.getTime())}}_addCheck(t){return new uc({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:Re.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:Re.toString(r)})}get minDate(){let t=null;for(const r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}}uc.create=e=>new uc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:qe.ZodDate,...Xe(e)});class oy extends st{_parse(t){if(this._getType(t)!==Te.symbol){const a=this._getOrReturnCtx(t);
vendor: 9,100 bytes, line 748
748return Ne(a,{code:he.invalid_type,expected:Te.symbol,received:a.parsedType}),Ue}return Mn(t.data)}}oy.create=e=>new oy({typeName:qe.ZodSymbol,...Xe(e)});class nf extends st{_parse(t){if(this._getType(t)!==Te.undefined){const a=this._getOrReturnCtx(t);return Ne(a,{code:he.invalid_type,expected:Te.undefined,received:a.parsedType}),Ue}return Mn(t.data)}}nf.create=e=>new nf({typeName:qe.ZodUndefined,...Xe(e)});class af extends st{_parse(t){if(this._getType(t)!==Te.null){const a=this._getOrReturnCtx(t);return Ne(a,{code:he.invalid_type,expected:Te.null,received:a.parsedType}),Ue}return Mn(t.data)}}af.create=e=>new af({typeName:qe.ZodNull,...Xe(e)});class xu extends st{constructor(){super(...arguments),this._any=!0}_parse(t){return Mn(t.data)}}xu.create=e=>new xu({typeName:qe.ZodAny,...Xe(e)});class Ql extends st{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Mn(t.data)}}Ql.create=e=>new Ql({typeName:qe.ZodUnknown,...Xe(e)});class Vi extends st{_parse(t){const r=this._getOrReturnCtx(t);return Ne(r,{code:he.invalid_type,expected:Te.never,received:r.parsedType}),Ue}}Vi.create=e=>new Vi({typeName:qe.ZodNever,...Xe(e)});class ly extends st{_parse(t){if(this._getType(t)!==Te.undefined){const a=this._getOrReturnCtx(t);return Ne(a,{code:he.invalid_type,expected:Te.void,received:a.parsedType}),Ue}return Mn(t.data)}}ly.create=e=>new ly({typeName:qe.ZodVoid,...Xe(e)});class hs extends st{_parse(t){const{ctx:r,status:a}=this._processInputParams(t),s=this._def;if(r.parsedType!==Te.array)return Ne(r,{code:he.invalid_type,expected:Te.array,received:r.parsedType}),Ue;if(s.exactLength!==null){const o=r.data.length>s.exactLength.value,l=r.data.length<s.exactLength.value;(o||l)&&(Ne(r,{code:o?he.too_big:he.too_small,minimum:l?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),a.dirty())}if(s.minLength!==null&&r.data.length<s.minLength.value&&(Ne(r,{code:he.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),a.dirty()),s.maxLength!==null&&r.data.length>s.maxLength.value&&(Ne(r,{code:he.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),a.dirty()),r.common.async)return Promise.all([...r.data].map((o,l)=>s.type._parseAsync(new Ks(r,o,r.path,l)))).then(o=>xn.mergeArray(a,o));const i=[...r.data].map((o,l)=>s.type._parseSync(new Ks(r,o,r.path,l)));return xn.mergeArray(a,i)}get element(){return this._def.type}min(t,r){return new hs({...this._def,minLength:{value:t,message:Re.toString(r)}})}max(t,r){return new hs({...this._def,maxLength:{value:t,message:Re.toString(r)}})}length(t,r){return new hs({...this._def,exactLength:{value:t,message:Re.toString(r)}})}nonempty(t){return this.min(1,t)}}hs.create=(e,t)=>new hs({type:e,minLength:null,maxLength:null,exactLength:null,typeName:qe.ZodArray,...Xe(t)});function Qc(e){if(e instanceof or){const t={};for(const r in e.shape){const a=e.shape[r];t[r]=Bs.create(Qc(a))}return new or({...e._def,shape:()=>t})}else return e instanceof hs?new hs({...e._def,type:Qc(e.element)}):e instanceof Bs?Bs.create(Qc(e.unwrap())):e instanceof sl?sl.create(Qc(e.unwrap())):e instanceof Ys?Ys.create(e.items.map(t=>Qc(t))):e}class or extends st{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),r=yt.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==Te.object){const d=this._getOrReturnCtx(t);return Ne(d,{code:he.invalid_type,expected:Te.object,received:d.parsedType}),Ue}const{status:a,ctx:s}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof Vi&&this._def.unknownKeys==="strip"))for(const d in s.data)o.includes(d)||l.push(d);const c=[];for(const d of o){const u=i[d],m=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ks(s,m,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof Vi){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of l)c.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(d==="strict")l.length>0&&(Ne(s,{code:he.unrecognized_keys,keys:l}),a.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of l){const m=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ks(s,m,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of c){const m=await u.key,h=await u.value;d.push({key:m,value:h,alwaysSet:u.alwaysSet})}return d}).then(d=>xn.mergeObjectSync(a,d)):xn.mergeObjectSync(a,c)}get shape(){return this._def.shape()}strict(t){return Re.errToObj,new or({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,a)=>{var i,o;const s=((o=(i=this._def).errorMap)==null?void 0:o.call(i,r,a).message)??a.defaultError;return r.code==="unrecognized_keys"?{message:Re.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new or({...this._def,unknownKeys:"strip"})}passthrough(){return new or({...this._def,unknownKeys:"passthrough"})}extend(t){return new or({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new or({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:qe.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new or({...this._def,catchall:t})}pick(t){const r={};for(const a of yt.objectKeys(t))t[a]&&this.shape[a]&&(r[a]=this.shape[a]);return new or({...this._def,shape:()=>r})}omit(t){const r={};for(const a of yt.objectKeys(this.shape))t[a]||(r[a]=this.shape[a]);return new or({...this._def,shape:()=>r})}deepPartial(){return Qc(this)}partial(t){const r={};for(const a of yt.objectKeys(this.shape)){const s=this.shape[a];t&&!t[a]?r[a]=s:r[a]=s.optional()}return new or({...this._def,shape:()=>r})}required(t){const r={};for(const a of yt.objectKeys(this.shape))if(t&&!t[a])r[a]=this.shape[a];else{let i=this.shape[a];for(;i instanceof Bs;)i=i._def.innerType;r[a]=i}return new or({...this._def,shape:()=>r})}keyof(){return H9(yt.objectKeys(this.shape))}}or.create=(e,t)=>new or({shape:()=>e,unknownKeys:"strip",catchall:Vi.create(),typeName:qe.ZodObject,...Xe(t)});or.strictCreate=(e,t)=>new or({shape:()=>e,unknownKeys:"strict",catchall:Vi.create(),typeName:qe.ZodObject,...Xe(t)});or.lazycreate=(e,t)=>new or({shape:e,unknownKeys:"strip",catchall:Vi.create(),typeName:qe.ZodObject,...Xe(t)});class sf extends st{_parse(t){const{ctx:r}=this._processInputParams(t),a=this._def.options;function s(i){for(const l of i)if(l.result.status==="valid")return l.result;for(const l of i)if(l.result.status==="dirty")return r.common.issues.push(...l.ctx.common.issues),l.result;const o=i.map(l=>new ua(l.ctx.common.issues));return Ne(r,{code:he.invalid_union,unionErrors:o}),Ue}if(r.common.async)return Promise.all(a.map(async i=>{const o={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(s);{let i;const o=[];for(const c of a){const d={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!i&&(i={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const l=o.map(c=>new ua(c));return Ne(r,{code:he.invalid_union,unionErrors:l}),Ue}}get options(){return this._def.options}}sf.create=(e,t)=>new sf({options:e,typeName:qe.ZodUnion,...Xe(t)});const ui=e=>e instanceof cf?ui(e.schema):e instanceof xs?ui(e.innerType()):e instanceof df?[e.value]:e instanceof al?e.options:e instanceof uf?yt.objectValues(e.enum):e instanceof mf?ui(e._def.innerType):e instanceof nf?[void 0]:e instanceof af?[null]:e instanceof Bs?[void 0,...ui(e.unwrap())]:e instanceof sl?[null,...ui(e.unwrap())]:e instanceof LC||e instanceof ff?ui(e.unwrap()):e instanceof hf?ui(e._def.innerType):[];class Nb extends st{_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==Te.object)return Ne(r,{code:he.invalid_type,expected:Te.object,received:r.parsedType}),Ue;const a=this.discriminator,s=r.data[a],i=this.optionsMap.get(s);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(Ne(r,{code:he.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),Ue)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,a){const s=new Map;for(const i of r){const o=ui(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const l of o){if(s.has(l))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(l)}`);
vendor: 4,206 bytes, line 748
748s.set(l,i)}}return new Nb({typeName:qe.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:s,...Xe(a)})}}function yN(e,t){const r=fi(e),a=fi(t);if(e===t)return{valid:!0,data:e};if(r===Te.object&&a===Te.object){const s=yt.objectKeys(t),i=yt.objectKeys(e).filter(l=>s.indexOf(l)!==-1),o={...e,...t};for(const l of i){const c=yN(e[l],t[l]);if(!c.valid)return{valid:!1};o[l]=c.data}return{valid:!0,data:o}}else if(r===Te.array&&a===Te.array){if(e.length!==t.length)return{valid:!1};const s=[];for(let i=0;i<e.length;i++){const o=e[i],l=t[i],c=yN(o,l);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return r===Te.date&&a===Te.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class of extends st{_parse(t){const{status:r,ctx:a}=this._processInputParams(t),s=(i,o)=>{if(gN(i)||gN(o))return Ue;const l=yN(i.value,o.value);return l.valid?((xN(i)||xN(o))&&r.dirty(),{status:r.value,value:l.data}):(Ne(a,{code:he.invalid_intersection_types}),Ue)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}of.create=(e,t,r)=>new of({left:e,right:t,typeName:qe.ZodIntersection,...Xe(r)});class Ys extends st{_parse(t){const{status:r,ctx:a}=this._processInputParams(t);if(a.parsedType!==Te.array)return Ne(a,{code:he.invalid_type,expected:Te.array,received:a.parsedType}),Ue;if(a.data.length<this._def.items.length)return Ne(a,{code:he.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ue;!this._def.rest&&a.data.length>this._def.items.length&&(Ne(a,{code:he.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...a.data].map((o,l)=>{const c=this._def.items[l]||this._def.rest;return c?c._parse(new Ks(a,o,a.path,l)):null}).filter(o=>!!o);return a.common.async?Promise.all(i).then(o=>xn.mergeArray(r,o)):xn.mergeArray(r,i)}get items(){return this._def.items}rest(t){return new Ys({...this._def,rest:t})}}Ys.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ys({items:e,typeName:qe.ZodTuple,rest:null,...Xe(t)})};class lf extends st{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:a}=this._processInputParams(t);if(a.parsedType!==Te.object)return Ne(a,{code:he.invalid_type,expected:Te.object,received:a.parsedType}),Ue;const s=[],i=this._def.keyType,o=this._def.valueType;for(const l in a.data)s.push({key:i._parse(new Ks(a,l,a.path,l)),value:o._parse(new Ks(a,a.data[l],a.path,l)),alwaysSet:l in a.data});return a.common.async?xn.mergeObjectAsync(r,s):xn.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(t,r,a){return r instanceof st?new lf({keyType:t,valueType:r,typeName:qe.ZodRecord,...Xe(a)}):new lf({keyType:cs.create(),valueType:t,typeName:qe.ZodRecord,...Xe(r)})}}class cy extends st{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:r,ctx:a}=this._processInputParams(t);if(a.parsedType!==Te.map)return Ne(a,{code:he.invalid_type,expected:Te.map,received:a.parsedType}),Ue;const s=this._def.keyType,i=this._def.valueType,o=[...a.data.entries()].map(([l,c],d)=>({key:s._parse(new Ks(a,l,a.path,[d,"key"])),value:i._parse(new Ks(a,c,a.path,[d,"value"]))}));if(a.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const c of o){const d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return Ue;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),l.set(d.value,u.value)}return{status:r.value,value:l}})}else{const l=new Map;for(const c of o){const d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return Ue;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),l.set(d.value,u.value)}return{status:r.value,value:l}}}}cy.create=(e,t,r)=>new cy({valueType:t,keyType:e,typeName:qe.ZodMap,...Xe(r)});class mc extends st{_parse(t){const{status:r,ctx:a}=this._processInputParams(t);
vendor: 8,531 bytes, line 748
748if(a.parsedType!==Te.set)return Ne(a,{code:he.invalid_type,expected:Te.set,received:a.parsedType}),Ue;const s=this._def;s.minSize!==null&&a.data.size<s.minSize.value&&(Ne(a,{code:he.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),r.dirty()),s.maxSize!==null&&a.data.size>s.maxSize.value&&(Ne(a,{code:he.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());const i=this._def.valueType;function o(c){const d=new Set;for(const u of c){if(u.status==="aborted")return Ue;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}const l=[...a.data.values()].map((c,d)=>i._parse(new Ks(a,c,a.path,d)));return a.common.async?Promise.all(l).then(c=>o(c)):o(l)}min(t,r){return new mc({...this._def,minSize:{value:t,message:Re.toString(r)}})}max(t,r){return new mc({...this._def,maxSize:{value:t,message:Re.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}}mc.create=(e,t)=>new mc({valueType:e,minSize:null,maxSize:null,typeName:qe.ZodSet,...Xe(t)});class Od extends st{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==Te.function)return Ne(r,{code:he.invalid_type,expected:Te.function,received:r.parsedType}),Ue;function a(l,c){return iy({data:l,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,sy(),gu].filter(d=>!!d),issueData:{code:he.invalid_arguments,argumentsError:c}})}function s(l,c){return iy({data:l,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,sy(),gu].filter(d=>!!d),issueData:{code:he.invalid_return_type,returnTypeError:c}})}const i={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof yu){const l=this;return Mn(async function(...c){const d=new ua([]),u=await l._def.args.parseAsync(c,i).catch(f=>{throw d.addIssue(a(c,f)),d}),m=await Reflect.apply(o,this,u);return await l._def.returns._def.type.parseAsync(m,i).catch(f=>{throw d.addIssue(s(m,f)),d})})}else{const l=this;return Mn(function(...c){const d=l._def.args.safeParse(c,i);if(!d.success)throw new ua([a(c,d.error)]);const u=Reflect.apply(o,this,d.data),m=l._def.returns.safeParse(u,i);if(!m.success)throw new ua([s(u,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Od({...this._def,args:Ys.create(t).rest(Ql.create())})}returns(t){return new Od({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,a){return new Od({args:t||Ys.create([]).rest(Ql.create()),returns:r||Ql.create(),typeName:qe.ZodFunction,...Xe(a)})}}class cf extends st{get schema(){return this._def.getter()}_parse(t){const{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}cf.create=(e,t)=>new cf({getter:e,typeName:qe.ZodLazy,...Xe(t)});class df extends st{_parse(t){if(t.data!==this._def.value){const r=this._getOrReturnCtx(t);return Ne(r,{received:r.data,code:he.invalid_literal,expected:this._def.value}),Ue}return{status:"valid",value:t.data}}get value(){return this._def.value}}df.create=(e,t)=>new df({value:e,typeName:qe.ZodLiteral,...Xe(t)});function H9(e,t){return new al({values:e,typeName:qe.ZodEnum,...Xe(t)})}class al extends st{_parse(t){if(typeof t.data!="string"){const r=this._getOrReturnCtx(t),a=this._def.values;return Ne(r,{expected:yt.joinValues(a),received:r.parsedType,code:he.invalid_type}),Ue}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const r=this._getOrReturnCtx(t),a=this._def.values;return Ne(r,{received:r.data,code:he.invalid_enum_value,options:a}),Ue}return Mn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const r of this._def.values)t[r]=r;return t}get Values(){const t={};for(const r of this._def.values)t[r]=r;return t}get Enum(){const t={};for(const r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return al.create(t,{...this._def,...r})}exclude(t,r=this._def){return al.create(this.options.filter(a=>!t.includes(a)),{...this._def,...r})}}al.create=H9;class uf extends st{_parse(t){const r=yt.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(t);if(a.parsedType!==Te.string&&a.parsedType!==Te.number){const s=yt.objectValues(r);return Ne(a,{expected:yt.joinValues(s),received:a.parsedType,code:he.invalid_type}),Ue}if(this._cache||(this._cache=new Set(yt.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const s=yt.objectValues(r);return Ne(a,{received:a.data,code:he.invalid_enum_value,options:s}),Ue}return Mn(t.data)}get enum(){return this._def.values}}uf.create=(e,t)=>new uf({values:e,typeName:qe.ZodNativeEnum,...Xe(t)});class yu extends st{unwrap(){return this._def.type}_parse(t){const{ctx:r}=this._processInputParams(t);if(r.parsedType!==Te.promise&&r.common.async===!1)return Ne(r,{code:he.invalid_type,expected:Te.promise,received:r.parsedType}),Ue;const a=r.parsedType===Te.promise?r.data:Promise.resolve(r.data);return Mn(a.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}}yu.create=(e,t)=>new yu({type:e,typeName:qe.ZodPromise,...Xe(t)});class xs extends st{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===qe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:r,ctx:a}=this._processInputParams(t),s=this._def.effect||null,i={addIssue:o=>{Ne(a,o),o.fatal?r.abort():r.dirty()},get path(){return a.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){const o=s.transform(a.data,i);if(a.common.async)return Promise.resolve(o).then(async l=>{if(r.value==="aborted")return Ue;const c=await this._def.schema._parseAsync({data:l,path:a.path,parent:a});return c.status==="aborted"?Ue:c.status==="dirty"||r.value==="dirty"?gd(c.value):c});{if(r.value==="aborted")return Ue;const l=this._def.schema._parseSync({data:o,path:a.path,parent:a});return l.status==="aborted"?Ue:l.status==="dirty"||r.value==="dirty"?gd(l.value):l}}if(s.type==="refinement"){const o=l=>{const c=s.refinement(l,i);if(a.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(a.common.async===!1){const l=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return l.status==="aborted"?Ue:(l.status==="dirty"&&r.dirty(),o(l.value),{status:r.value,value:l.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(l=>l.status==="aborted"?Ue:(l.status==="dirty"&&r.dirty(),o(l.value).then(()=>({status:r.value,value:l.value}))))}if(s.type==="transform")if(a.common.async===!1){const o=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!dc(o))return Ue;const l=s.transform(o.value,i);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:l}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(o=>dc(o)?Promise.resolve(s.transform(o.value,i)).then(l=>({status:r.value,value:l})):Ue);yt.assertNever(s)}}xs.create=(e,t,r)=>new xs({schema:e,typeName:qe.ZodEffects,effect:t,...Xe(r)});xs.createWithPreprocess=(e,t,r)=>new xs({schema:t,effect:{type:"preprocess",transform:e},typeName:qe.ZodEffects,...Xe(r)});class Bs extends st{_parse(t){return this._getType(t)===Te.undefined?Mn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Bs.create=(e,t)=>new Bs({innerType:e,typeName:qe.ZodOptional,...Xe(t)});class sl extends st{_parse(t){return this._getType(t)===Te.null?Mn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}sl.create=(e,t)=>new sl({innerType:e,typeName:qe.ZodNullable,...Xe(t)});class mf extends st{_parse(t){const{ctx:r}=this._processInputParams(t);let a=r.data;return r.parsedType===Te.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}mf.create=(e,t)=>new mf({innerType:e,typeName:qe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Xe(t)});class hf extends st{_parse(t){const{ctx:r}=this._processInputParams(t),a={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return tf(s)?s.then(i=>
vendor: 5,377 bytes, line 748
748({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ua(a.common.issues)},input:a.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ua(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}hf.create=(e,t)=>new hf({innerType:e,typeName:qe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Xe(t)});class dy extends st{_parse(t){if(this._getType(t)!==Te.nan){const a=this._getOrReturnCtx(t);return Ne(a,{code:he.invalid_type,expected:Te.nan,received:a.parsedType}),Ue}return{status:"valid",value:t.data}}}dy.create=e=>new dy({typeName:qe.ZodNaN,...Xe(e)});const ome=Symbol("zod_brand");class LC extends st{_parse(t){const{ctx:r}=this._processInputParams(t),a=r.data;return this._def.type._parse({data:a,path:r.path,parent:r})}unwrap(){return this._def.type}}class jp extends st{_parse(t){const{status:r,ctx:a}=this._processInputParams(t);if(a.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return i.status==="aborted"?Ue:i.status==="dirty"?(r.dirty(),gd(i.value)):this._def.out._parseAsync({data:i.value,path:a.path,parent:a})})();{const s=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return s.status==="aborted"?Ue:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:a.path,parent:a})}}static create(t,r){return new jp({in:t,out:r,typeName:qe.ZodPipeline})}}class ff extends st{_parse(t){const r=this._def.innerType._parse(t),a=s=>(dc(s)&&(s.value=Object.freeze(s.value)),s);return tf(r)?r.then(s=>a(s)):a(r)}unwrap(){return this._def.innerType}}ff.create=(e,t)=>new ff({innerType:e,typeName:qe.ZodReadonly,...Xe(t)});function bE(e,t){const r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function zC(e,t={},r){return e?xu.create().superRefine((a,s)=>{const i=e(a);if(i instanceof Promise)return i.then(o=>{if(!o){const l=bE(t,a),c=l.fatal??r??!0;s.addIssue({code:"custom",...l,fatal:c})}});if(!i){const o=bE(t,a),l=o.fatal??r??!0;s.addIssue({code:"custom",...o,fatal:l})}}):xu.create()}const lme={object:or.lazycreate};var qe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(qe||(qe={}));const cme=(e,t={message:`Input not instance of ${e.name}`})=>zC(r=>r instanceof e,t),Or=cs.create,sa=rl.create,dme=dy.create,ume=nl.create,kb=rf.create,mme=uc.create,hme=oy.create,fme=nf.create,G9=af.create,uy=xu.create,pme=Ql.create,gme=Vi.create,xme=ly.create,Sb=hs.create,hl=or.create,yme=or.strictCreate,BC=sf.create,vme=Nb.create,bme=of.create,wme=Ys.create,K9=lf.create,jme=cy.create,Nme=mc.create,kme=Od.create,Sme=cf.create,vN=df.create,Cme=al.create,Pme=uf.create,Tme=yu.create,wE=xs.create,Ame=Bs.create,Eme=sl.create,Ime=xs.createWithPreprocess,_me=jp.create,Mme=()=>Or().optional(),Ome=()=>sa().optional(),Rme=()=>kb().optional(),Fme={string:e=>cs.create({...e,coerce:!0}),number:e=>rl.create({...e,coerce:!0}),boolean:e=>rf.create({...e,coerce:!0}),bigint:e=>nl.create({...e,coerce:!0}),date:e=>uc.create({...e,coerce:!0})},Dme=Ue,$me=Object.freeze(Object.defineProperty({__proto__:null,BRAND:ome,DIRTY:gd,EMPTY_PATH:Lue,INVALID:Ue,NEVER:Dme,OK:Mn,ParseStatus:xn,Schema:st,ZodAny:xu,ZodArray:hs,ZodBigInt:nl,ZodBoolean:rf,ZodBranded:LC,ZodCatch:hf,ZodDate:uc,ZodDefault:mf,ZodDiscriminatedUnion:Nb,ZodEffects:xs,ZodEnum:al,ZodError:ua,get ZodFirstPartyTypeKind(){return qe},ZodFunction:Od,ZodIntersection:of,ZodIssueCode:he,ZodLazy:cf,ZodLiteral:df,ZodMap:cy,ZodNaN:dy,ZodNativeEnum:uf,ZodNever:Vi,ZodNull:af,ZodNullable:sl,ZodNumber:rl,ZodObject:or,ZodOptional:Bs,ZodParsedType:Te,ZodPipeline:jp,ZodPromise:yu,ZodReadonly:ff,ZodRecord:lf,ZodSchema:st,ZodSet:mc,ZodString:cs,ZodSymbol:oy,ZodTransformer:xs,ZodTuple:Ys,ZodType:st,ZodUndefined:nf,ZodUnion:sf,ZodUnknown:Ql,ZodVoid:ly,addIssueToContext:Ne,any:uy,array:Sb,bigint:ume,boolean:kb,coerce:Fme,custom:zC,date:mme,datetimeRegex:q9,defaultErrorMap:gu,discriminatedUnion:vme,effect:wE,enum:Cme,function:kme,getErrorMap:sy,getParsedType:fi,instanceof:cme,intersection:bme,isAborted:gN,isAsync:tf,isDirty:xN,isValid:dc,late:lme,lazy:Sme,literal:vN,makeIssue:iy,map:jme,nan:dme,nativeEnum:Pme,never:gme,null:G9,nullable:Eme,number:sa,object:hl,get objectUtil(){return pN},oboolean:Rme,onumber:Ome,optional:Ame,ostring:Mme,pipeline:_me,preprocess:Ime,promise:Tme,quotelessJson:Due,record:K9,set:Nme,setErrorMap:$ue,strictObject:yme,string:Or,symbol
748:hme,transformer:wE,tuple:wme,undefined:fme,union:BC,unknown:pme,get util(){return yt},void:xme},Symbol.toStringTag,{value:"Module"})),ir={INT8_MIN:-128,INT8_MAX:127,INT8_UNSIGNED_MAX:255,INT16_MIN:-32768,INT16_MAX:32767,INT16_UNSIGNED_MAX:65535,INT24_MIN:-8388608,INT24_MAX:8388607,INT24_UNSIGNED_MAX:16777215,INT32_MIN:-2147483648,INT32_MAX:2147483647,INT32_UNSIGNED_MAX:4294967295,INT48_MIN:-0x800000000000,INT48_MAX:0x7fffffffffff,INT48_UNSIGNED_MAX:0xffffffffffff,INT64_MIN:-9223372036854775808n,INT64_MAX:9223372036854775807n,INT64_UNSIGNED_MAX:18446744073709551615n};function vr(e,t){return t.includes(e.columnType)}function Lme(e){return"enumValues"in e&&Array.isArray(e.enumValues)&&e.enumValues.length>0}const zme=BC([Or(),sa(),kb(),G9()]),Bme=BC([zme,K9(uy()),Sb(uy())]),Wme=zC(e=>e instanceof Buffer);function Y9(e,t){const r=(t==null?void 0:t.zodInstance)??$me,a=(t==null?void 0:t.coerce)??{};let s;return Lme(e)&&(s=e.enumValues.length?r.enum(e.enumValues):r.string()),s||(vr(e,["PgGeometry","PgPointTuple"])?s=r.tuple([r.number(),r.number()]):vr(e,["PgGeometryObject","PgPointObject"])?s=r.object({x:r.number(),y:r.number()}):vr(e,["PgHalfVector","PgVector"])?(s=r.array(r.number()),s=e.dimensions?s.length(e.dimensions):s):vr(e,["PgLine"])?s=r.tuple([r.number(),r.number(),r.number()]):vr(e,["PgLineABC"])?s=r.object({a:r.number(),b:r.number(),c:r.number()}):vr(e,["PgArray"])?(s=r.array(Y9(e.baseColumn,r)),s=e.size?s.length(e.size):s):e.dataType==="array"?s=r.array(r.any()):e.dataType==="number"?s=Ume(e,r,a):e.dataType==="bigint"?s=Vme(e,r,a):e.dataType==="boolean"?s=a===!0||a.boolean?r.coerce.boolean():r.boolean():e.dataType==="date"?s=a===!0||a.date?r.coerce.date():r.date():e.dataType==="string"?s=qme(e,r,a):e.dataType==="json"?s=Bme:e.dataType==="custom"?s=r.any():e.dataType==="buffer"&&(s=Wme)),s||(s=r.any()),s}function Ume(e,t,r){let a=e.getSQLType().includes("unsigned"),s,i,o=!1;vr(e,["MySqlTinyInt","SingleStoreTinyInt"])?(s=a?0:ir.INT8_MIN,i=a?ir.INT8_UNSIGNED_MAX:ir.INT8_MAX,o=!0):vr(e,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"])?(s=a?0:ir.INT16_MIN,i=a?ir.INT16_UNSIGNED_MAX:ir.INT16_MAX,o=!0):vr(e,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreMediumInt","SingleStoreFloat"])?(s=a?0:ir.INT24_MIN,i=a?ir.INT24_UNSIGNED_MAX:ir.INT24_MAX,o=vr(e,["MySqlMediumInt","SingleStoreMediumInt"])):vr(e,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"])?(s=a?0:ir.INT32_MIN,i=a?ir.INT32_UNSIGNED_MAX:ir.INT32_MAX,o=!0):vr(e,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"])?(s=a?0:ir.INT48_MIN,i=a?ir.INT48_UNSIGNED_MAX:ir.INT48_MAX):vr(e,["PgBigInt53","PgBigSerial53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"])?(a=a||vr(e,["MySqlSerial","SingleStoreSerial"]),s=a?0:Number.MIN_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER,o=!0):vr(e,["MySqlYear","SingleStoreYear"])?(s=1901,i=2155,o=!0):(s=Number.MIN_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER);let l=r===!0||r!=null&&r.number?t.coerce.number():t.number();return l=l.min(s).max(i),o?l.int():l}function Vme(e,t,r){const a=e.getSQLType().includes("unsigned"),s=a?0n:ir.INT64_MIN,i=a?ir.INT64_UNSIGNED_MAX:ir.INT64_MAX;return(r===!0||r!=null&&r.bigint?t.coerce.bigint():t.bigint()).min(s).max(i)}function qme(e,t,r){if(vr(e,["PgUUID"]))return t.string().uuid();let a,s,i=!1;vr(e,["PgVarchar","SQLiteText"])?a=e.length:vr(e,["MySqlVarChar","SingleStoreVarChar"])?a=e.length??ir.INT16_UNSIGNED_MAX:vr(e,["MySqlText","SingleStoreText"])&&(e.textType==="longtext"?a=ir.INT32_UNSIGNED_MAX:e.textType==="mediumtext"?a=ir.INT24_UNSIGNED_MAX:e.textType==="text"?a=ir.INT16_UNSIGNED_MAX:a=ir.INT8_UNSIGNED_MAX),vr(e,["PgChar","MySqlChar","SingleStoreChar"])&&(a=e.length,i=!0),vr(e,["PgBinaryVector"])&&(s=/^[01]+$/,a=e.dimensions);let o=r===!0||r!=null&&r.string?t.coerce.string():t.string();return o=s?o.regex(s):o,a&&i?o.length(a):a?o.max(a):o}function Z9(e){return uV(e)?sue(e):iue(e)}function Q9(e,t,r,a){const s={};for(const[i,o]of Object.entries(e)){if(!Sr(o,pu)&&!Sr(o,xr)&&!Sr(o,xr.Aliased)&&typeof o=="object"){const m=uV(o)||aue(o)?Z9(o):o;s[i]=Q9(m,t[i]??{},r,a);continue}const l=t[i];if(l!==void 0&&typeof l!="function"){s[i]=l;continue}const c=Sr(o,pu)?o:void 0,d=c?Y9(c,a):uy(),u=typeof l=="function"?l(d):d;r.never(c)||(s[i]=u,c&&(r.nullable(c)&&(s[i]=s[i].nullable()),r.optional(c)&&(s[i]=s[i].optional())))}return hl(s)}const Hme={never:e=>{var t,r;return((t=e==null?void 0:e.generated)==null?void 0:t.type)==="always"||((r=e==null?void 0:e.generatedIdentity)==null?void 0:r.type)==="always"},optional:e=>!e.notNull||e.notNull&&e.hasDefault,nullable:e=>!e.notNull},Cb=(e,t)=>
748{const r=Z9(e);return Q9(r,{},Hme)};ni("sessions",{sid:ft("sid").primaryKey(),sess:zn("sess").notNull(),expire:gr("expire").notNull()},e=>[Fa("IDX_session_expire").on(e.expire)]);const Pc=ni("users",{id:ft("id").primaryKey().default(Ui`gen_random_uuid()`),email:ft("email").unique().notNull(),password:ft("password").notNull(),firstName:ft("first_name").notNull(),lastName:ft("last_name").notNull(),role:ft("role").notNull().default("user"),phoneNumber:ft("phone_number"),telegramChatId:ft("telegram_chat_id"),telegramOptIn:Md("telegram_opt_in").default(!1),preferredLanguage:ft("preferred_language",{length:50}).default("en"),chromeExtensionConnected:Md("chrome_extension_connected").default(!1),zoomConnected:Md("zoom_connected").default(!1),zoomUserId:ft("zoom_user_id"),zoomAccessToken:kt("zoom_access_token"),zoomRefreshToken:kt("zoom_refresh_token"),createdAt:gr("created_at").defaultNow(),updatedAt:gr("updated_at").defaultNow()});ni("extension_tokens",{id:ft("id").primaryKey().default(Ui`gen_random_uuid()`),userId:ft("user_id").notNull().references(()=>Pc.id),tokenId:ft("token_id").unique(),token:ft("token").unique(),hashedToken:kt("hashed_token"),refreshTokenId:ft("refresh_token_id").unique(),refreshToken:ft("refresh_token"),hashedRefreshToken:kt("hashed_refresh_token"),expiresAt:gr("expires_at"),refreshExpiresAt:gr("refresh_expires_at"),revokedAt:gr("revoked_at"),createdAt:gr("created_at").defaultNow(),lastUsedAt:gr("last_used_at")},e=>[Fa("idx_extension_tokens_token_id").on(e.tokenId),Fa("idx_extension_tokens_refresh_token_id").on(e.refreshTokenId),Fa("idx_extension_tokens_user_id").on(e.userId)]);const Gme=ni("meetings",{id:ft("id").primaryKey().default(Ui`gen_random_uuid()`),userId:ft("user_id").notNull().references(()=>Pc.id),title:kt("title").notNull(),keywords:kt("keywords").array(),date:gr("date").notNull().defaultNow(),transcript:kt("transcript").notNull(),transcriptSegments:zn("transcript_segments"),speakerSegments:zn("speaker_segments"),mainSpeaker:ft("main_speaker",{length:50}),mainSpeakerText:kt("main_speaker_text"),audioUrl:kt("audio_url"),primaryLanguage:ft("primary_language",{length:50}).default("en"),languageConfidence:kt("language_confidence"),languageOverride:ft("language_override",{length:50}),analysisStatus:kt("analysis_status").notNull().default("pending"),analysisError:kt("analysis_error"),processingSince:gr("processing_since"),processorId:ft("processor_id",{length:100}),grammarCount:vi("grammar_count").notNull().default(0),fillerCount:vi("filler_count").notNull().default(0),clarityCount:vi("clarity_count").notNull().default(0),salesCount:vi("sales_count").notNull().default(0),analysisData:zn("analysis_data"),summaryData:zn("summary_data"),correctedSentences:zn("corrected_sentences"),sentimentData:zn("sentiment_data"),presentationStructure:zn("presentation_structure"),speechRateData:zn("speech_rate_data"),speakerAnalysis:zn("speaker_analysis"),emailStatus:kt("email_status").default("not_sent"),telegramStatus:kt("telegram_status").default("not_sent"),emailDeliveredAt:gr("email_delivered_at"),telegramDeliveredAt:gr("telegram_delivered_at")},e=>[Fa("idx_meetings_analysis_status").on(e.analysisStatus),Fa("idx_meetings_processing_since").on(e.processingSince)]);ni("recording_chunks",{id:ft("id").primaryKey().default(Ui`gen_random_uuid()`),sessionId:ft("session_id").notNull(),chunkIndex:vi("chunk_index").notNull(),data:kt("data").notNull(),mimeType:ft("mime_type",{length:100}),createdAt:gr("created_at").defaultNow()},e=>[Fa("idx_recording_chunks_session").on(e.sessionId,e.chunkIndex),Fue("idx_recording_chunks_unique").on(e.sessionId,e.chunkIndex)]);ni("live_recording_sessions",{sessionId:ft("session_id").primaryKey(),userId:ft("user_id").notNull().references(()=>Pc.id),chunkCount:vi("chunk_count").notNull().default(0),title:kt("title"),mimeType:ft("mime_type",{length:100}),languageOverride:ft("language_override",{length:50}),createdAt:gr("created_at").defaultNow(),lastChunkAt:gr("last_chunk_at").defaultNow()},e=>[Fa("idx_live_sessions_user").on(e.userId),Fa("idx_live_sessions_last_chunk").on(e.lastChunkAt)]);const Kme=ni("voice_profiles",{id:ft("id").primaryKey().default(Ui`gen_random_uuid()`),userId:ft("user_id").notNull().references(()=>Pc.id),name:ft("name",{length:100}).notNull(),photoUrl:kt("photo_url"),voiceSampleUrls:zn("voice_sample_urls").notNull(),voiceEmbedding:zn("voice_embedding"),isOwner:Md("is_owner").default(!1),createdAt:gr("created_at").defaultNow(),updatedAt:gr("updated_at").defaultNow()},e=>[Fa("idx_voice_profiles_user").on(e.userId)]),Yme=Cb(Pc).omit({id:!0,createdAt:!0,updatedAt:!0}),Zme=Yme.extend({password:Or().min(6,"Password must be at least 6 characters")}),Qme=hl({email:Or().email("Invalid email address"),password:Or().min(1,"Password is required")});hl({phoneNumber:Or().regex(/^\+[1-9]\d{1,14}$/,"Phone number must be in E.164 format (e.g., +12345678900)").optional().or(vN("")),telegramChatId:Or().optional().or(vN("")),telegramOptIn:kb().optional()}).superRefine((e,t)=>
748{e.telegramOptIn===!0&&(e.telegramChatId&&e.telegramChatId!==""||t.addIssue({code:he.custom,message:"Telegram Chat ID is required when enabling Telegram notifications",path:["telegramChatId"]}))});const Xme=hl({word:Or(),start:sa(),end:sa(),confidence:sa().optional()}),Jme=hl({text:Or(),startMs:sa(),endMs:sa(),confidence:sa().optional(),start:sa().optional(),end:sa().optional(),speaker:Or().optional(),speakerName:Or().optional(),speakerPhotoUrl:Or().optional(),words:Sb(Xme).optional(),timestamp:Or().optional()});hl({text:Or(),startMs:sa(),endMs:sa()});Cb(Kme).omit({id:!0,createdAt:!0,updatedAt:!0});Cb(Gme).omit({id:!0,date:!0,analysisStatus:!0,analysisError:!0,grammarCount:!0,fillerCount:!0,clarityCount:!0,salesCount:!0,analysisData:!0,summaryData:!0,emailStatus:!0,telegramStatus:!0,emailDeliveredAt:!0,telegramDeliveredAt:!0}).extend({transcriptSegments:Sb(Jme).optional()});ni("watchdog_heartbeats",{service:ft("service",{length:50}).primaryKey(),lastRunAt:gr("last_run_at").notNull().defaultNow(),status:ft("status",{length:20}).notNull().default("ok"),message:kt("message"),itemsProcessed:vi("items_processed").default(0)});ni("chat_sessions",{id:kt("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),visitorCookie:kt("visitor_cookie"),userId:kt("user_id").references(()=>Pc.id),pageUrl:kt("page_url"),referrer:kt("referrer"),language:kt("language").default("en"),mode:kt("mode").default("sales"),messages:zn("messages").$type().default([]),createdAt:gr("created_at").defaultNow(),updatedAt:gr("updated_at").defaultNow()});const ehe=ni("waitlist",{id:kt("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),email:kt("email").notNull(),feature:kt("feature").notNull(),userId:kt("user_id").references(()=>Pc.id),score:vi("score"),note:kt("note"),contacted:Md("contacted").notNull().default(!1),createdAt:gr("created_at").notNull().defaultNow()},e=>[Fa("idx_waitlist_created").on(e.createdAt),Fa("idx_waitlist_feature").on(e.feature)]);Cb(ehe).pick({email:!0,feature:!0,score:!0,note:!0});function Xc(){const e=Sc(St()),t=St()==="he"||St()==="ar",{toast:r}=dt(),[,a]=ze(),s=OC({resolver:RC(Qme),defaultValues:{email:"",password:""}}),i=Ve({mutationFn:async l=>(await ct("/api/login","POST",l)).json(),onSuccess:async()=>{await Qe.invalidateQueries({queryKey:["/api/auth/user"]}),await Qe.refetchQueries({queryKey:["/api/auth/user"]}),a("/")},onError:l=>{r({variant:"destructive",title:e.login.failed,description:l.message||e.login.invalid})}}),o=l=>{i.mutate(l)};return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",dir:t?"rtl":"ltr",children:n.jsxs("div",{className:"w-full max-w-md",children:[n.jsx("div",{className:"text-center mb-8",children:n.jsxs(Fe,{href:"/",className:"inline-flex items-center gap-2",children:[n.jsx(am,{size:40}),n.jsxs("span",{className:"text-2xl font-semibold",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),"Flare"]})]})}),n.jsxs(X,{className:"shadow-sm",children:[n.jsxs(Ye,{className:"text-center pb-2",children:[n.jsx("h1",{className:"text-2xl font-semibold",children:e.login.title}),n.jsx("p",{className:"text-muted-foreground",children:e.login.subtitle})]}),n.jsxs(ue,{children:[n.jsxs("form",{onSubmit:s.handleSubmit(o),className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"email",children:e.login.email}),n.jsxs("div",{className:"relative",children:[n.jsx(Ht,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"email",type:"email",placeholder:e.login.emailPlaceholder,className:"pl-10",...s.register("email"),"data-testid":"input-email"})]}),s.formState.errors.email&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.email.message})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"password",children:e.login.password}),n.jsxs("div",{className:"relative",children:[n.jsx(op,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"password",type:"password",placeholder:e.login.passwordPlaceholder,className:"pl-10",...s.register("password"),"data-testid":"input-password"})]}),s.formState.errors.password&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.password.message})]}),n.jsx("div",{className:"flex items-center justify-end",children:n.jsx(Fe,{href:"/forgot-password",children:n.jsx("span",{className:"text-sm text-primary hover:underline cursor-pointer","data-testid":"link-forgot-password",children:e.login.forgot})})}),n.jsx(D,{type:"submit",className:"w-full rounded-md",disabled:i.isPending,"data-testid":"button-login",children:i.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"mr-2 h-4 w-4 animate-spin"}),e.login.signing]}):e.login.signIn})]}),n.jsxs("div",{className:"mt-6 text-center text-sm text-muted-foreground",children:[e.login.newUser," ",n.jsx(Fe,{href:"/register",children:n.jsx("span",{className:"text-primary font-medium hover:underline cursor-pointer","data-testid":"link-register",children:e.login.createAccount})})]})]})]})]})})}const the=[{quote:"Cut my filler words by 60% in 3 weeks. My manager noticed immediately.",name:"Sarah K.",company:"Sales Manager, HubSpot"},{quote:"Used SpeakFlare to prep for my Google interview. Got the offer.",name:"Daniel R.",company:"Softw
748are Engineer"},{quote:"Team meetings are so much sharper now. Everyone's more concise.",name:"Priya M.",company:"Head of Product, Notion"}];function X9(){const e=Sc(St()),t=St()==="he"||St()==="ar",{toast:r}=dt(),[,a]=ze();y.useEffect(()=>{const c=new URLSearchParams(window.location.search).get("ref");c&&localStorage.setItem("sf_referral_code",c)},[]);const s=OC({resolver:RC(Zme),defaultValues:{email:"",password:"",firstName:"",lastName:"",role:"user"}}),i=Ve({mutationFn:async l=>(await ct("/api/register","POST",l)).json(),onSuccess:async()=>{await Qe.invalidateQueries({queryKey:["/api/auth/user"]}),await Qe.refetchQueries({queryKey:["/api/auth/user"]}),r({title:e.register.created,description:e.register.welcome}),localStorage.getItem("sf_onboarded")!=="true"?a("/onboarding"):a("/")},onError:l=>{r({variant:"destructive",title:e.register.failed,description:l.message||e.register.failedDesc})}}),o=l=>{const c=new URLSearchParams(window.location.search),d=c.get("utm_source")||localStorage.getItem("sf_utm_source")||"",u=c.get("utm_medium")||localStorage.getItem("sf_utm_medium")||"",m=c.get("utm_campaign")||localStorage.getItem("sf_utm_campaign")||"",h=localStorage.getItem("sf_referrer")||document.referrer||"",f=localStorage.getItem("sf_landing_page")||window.location.pathname,b=localStorage.getItem("sf_referral_code")||"";i.mutate({...l,utm_source:d,utm_medium:u,utm_campaign:m,referrer:h,signup_page:f,referralCode:b})};return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",dir:t?"rtl":"ltr",children:n.jsxs("div",{className:"w-full max-w-md",children:[n.jsx("div",{className:"text-center mb-8",children:n.jsxs(Fe,{href:"/",className:"inline-flex items-center gap-2",children:[n.jsx(am,{size:40}),n.jsxs("span",{className:"text-2xl font-semibold",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),"Flare"]})]})}),n.jsxs("div",{className:"mb-5 flex items-center justify-center gap-2 text-sm font-medium text-muted-foreground border border-border/50 bg-background px-5 py-3 rounded-md",children:[n.jsx("span",{className:"w-2 h-2 rounded-full bg-primary animate-pulse"}),e.register.badge]}),n.jsxs(X,{className:"shadow-sm",children:[n.jsxs(Ye,{className:"text-center pb-2",children:[n.jsx("h1",{className:"text-2xl font-semibold",children:e.register.title}),n.jsx("p",{className:"text-muted-foreground",children:e.register.subtitle})]}),n.jsxs(ue,{children:[n.jsxs("form",{onSubmit:s.handleSubmit(o),className:"space-y-4",children:[n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"firstName",children:e.register.firstName}),n.jsxs("div",{className:"relative",children:[n.jsx(To,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"firstName",placeholder:e.register.firstPlaceholder,className:"pl-10",...s.register("firstName"),"data-testid":"input-firstname"})]}),s.formState.errors.firstName&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.firstName.message})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"lastName",children:e.register.lastName}),n.jsxs("div",{className:"relative",children:[n.jsx(To,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"lastName",placeholder:e.register.lastPlaceholder,className:"pl-10",...s.register("lastName"),"data-testid":"input-lastname"})]}),s.formState.errors.lastName&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.lastName.message})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"email",children:e.register.email}),n.jsxs("div",{className:"relative",children:[n.jsx(Ht,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"email",type:"email",placeholder:e.register.emailPlaceholder,className:"pl-10",...s.register("email"),"data-testid":"input-email"})]}),s.formState.errors.email&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.email.message})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"password",children:e.register.password}),n.jsxs("div",{className:"relative",children:[n.jsx(op,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"password",type:"password",placeholder:e.register.passPlaceholder,className:"pl-10",...s.register("password"),"data-testid":"input-password"})]}),s.formState.errors.password&&n.jsx("p",{className:"text-sm text-destructive",children:s.formState.errors.password.message}),n.jsx("p",{className:"text-xs text-muted-foreground",children:e.register.passHint})]}),n.jsx(D,{type:"submit",className:"w-full rounded-md",disabled:i.isPending,"data-testid":"button-register",children:i.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"mr-2 h-4 w-4 animate-spin"}),e.register.creating]}):e.register.create})]}),n.jsxs("div",{className:"mt-6 text-center text-sm text-muted-foreground",children:[e.register.alreadyHave," ",n.jsx(Fe,{href:"/login",children:n.jsx("span",{className:"text-primary font-medium hover:underline cursor-pointer","data-testid":"link-login",children:e.register.signIn})})]}),n.jsxs("p",{className:"mt-5 text-center text-xs text-muted-foreground",children:["Join ",n.jsx("span",{className:"font-semibold text-foreground",children:"2,400+"})," professionals improving their communication"]})]})]}),n.jsx("div",{className:"mt-6 space-y-3",children:the.map((l,c)=>n.jsxs("div",{className:"bg-background/80 border border-border/40 rounded-md px-4 py-3 text-sm","data-testid":`testimonial-${c}`,children:[n.jsxs("p",{className:"text-foreground leading-snug",children:['"',l.quote,'"']}),n.jsxs("p",{className:"mt-1.5 text-xs text-muted-foreground font-medium",children:["— ",l.name,", ",l.company]})]},c))})]})})}const rhe=Or().email("Please enter a valid email address");function J9(){const e=Sc(St()),t=St()==="he"||St()==="ar",[r,a]=y.useState(""),[s,i]=y.useState(!1),[o,l]=y.useState(""),[c,d]=y.useState(!1),u=async m=>{m.preventDefault(),l("");const h=rhe.safeParse(r);
748if(!h.success){l(h.error.errors[0].message);return}d(!0);try{await fetch("/api/password/reset-request",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:r})}),i(!0)}catch{l("Network error. Please try again.")}finally{d(!1)}};return s?n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:t?"rtl":"ltr",children:[n.jsx(He,{}),n.jsx("div",{className:"flex items-center justify-center p-4 pt-24",children:n.jsxs(X,{className:"w-full max-w-md",children:[n.jsxs(Ye,{className:"text-center",children:[n.jsx("div",{className:"mx-auto w-16 h-16 bg-green-500/20 rounded-full flex items-center justify-center mb-4",children:n.jsx(gn,{className:"h-8 w-8 text-green-600 dark:text-green-400"})}),n.jsx(at,{className:"text-2xl font-bold",children:e.forgot.checkEmail}),n.jsx(Bo,{children:e.forgot.sentDesc})]}),n.jsxs(ue,{className:"space-y-4",children:[n.jsxs("div",{className:"p-4 bg-primary/10 rounded-xl border border-primary/20 text-sm",children:[n.jsxs("p",{className:"text-foreground mb-2",children:[e.forgot.sentNote1," ",n.jsx("span",{className:"font-semibold",children:r}),e.forgot.sentNote2]}),n.jsx("p",{className:"text-muted-foreground text-xs",children:e.forgot.tips})]}),n.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[n.jsx("p",{children:"Didn't receive an email?"}),n.jsxs("ul",{className:"list-disc list-inside space-y-1 text-xs",children:[n.jsx("li",{children:e.forgot.tip1}),n.jsx("li",{children:e.forgot.tip2}),n.jsx("li",{children:e.forgot.tip3})]})]}),n.jsxs("div",{className:"pt-4 space-y-3",children:[n.jsx(Fe,{href:"/login",children:n.jsxs(D,{variant:"outline",className:"w-full","data-testid":"button-back-to-login",children:[n.jsx(Hh,{className:"mr-2 h-4 w-4"}),e.forgot.backToLogin]})}),n.jsx("button",{onClick:()=>{i(!1),a("")},className:"w-full text-sm text-primary hover:underline","data-testid":"button-try-different-email",children:e.forgot.tryDiff})]})]})]})})]}):n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:t?"rtl":"ltr",children:[n.jsx(He,{}),n.jsx("div",{className:"flex items-center justify-center p-4 pt-24",children:n.jsxs(X,{className:"w-full max-w-md",children:[n.jsxs(Ye,{className:"text-center",children:[n.jsx(at,{className:"text-3xl font-bold",children:e.forgot.title}),n.jsx(Bo,{children:e.forgot.subtitle})]}),n.jsxs(ue,{children:[n.jsxs("form",{onSubmit:u,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"email",children:e.forgot.emailLabel}),n.jsxs("div",{className:"relative",children:[n.jsx(Ht,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{id:"email",type:"email",placeholder:e.forgot.placeholder,value:r,onChange:m=>a(m.target.value),className:"pl-10","data-testid":"input-email"})]}),o&&n.jsx("p",{className:"text-sm text-destructive",children:o}),n.jsx("p",{className:"text-xs text-muted-foreground",children:e.forgot.hint})]}),n.jsx(D,{type:"submit",className:"w-full","data-testid":"button-submit",disabled:c,children:c?"Sending...":e.forgot.send})]}),n.jsx("div",{className:"mt-6 text-center",children:n.jsx(Fe,{href:"/login",children:n.jsxs(D,{variant:"ghost",className:"gap-2","data-testid":"button-back",children:[n.jsx(Hh,{className:"h-4 w-4"}),e.forgot.backToLogin]})})}),n.jsx("div",{className:"mt-6 p-4 bg-muted/50 rounded-xl",children:n.jsxs("p",{className:"text-xs text-muted-foreground text-center",children:[n.jsx("strong",{children:e.forgot.note})," ",e.forgot.sentFrom," ",n.jsx("span",{className:"font-mono",children:"[email protected]"}),". ",e.forgot.spamNote]})})]})]})})]})}function Ut(){const e=new Date().getFullYear(),t=[{title:"Product",links:[{label:"Features",href:"/features"},{label:"Pricing",href:"/pricing"},{label:"Integrations",href:"/integrations"},{label:"Mobile App",href:"/mobile-app"}]},{title:"Coaching",links:[{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"AI Speech Coach",href:"/ai-speech-coach"},{label:"Best Communication App",href:"/best-communication-skills-app"}
748,{label:"Zoom Speech Coach",href:"/platforms/zoom-speech-coach"},{label:"Google Meet Coach",href:"/platforms/google-meet-speech-coach"},{label:"Microsoft Teams Coach",href:"/platforms/microsoft-teams-speech-coach"}]},{title:"Training",links:[{label:"Investor Presentation",href:"/investor-presentation-training"},{label:"Executive Fluency",href:"/executive-speech-fluency-training"},{label:"Verbal Fluency",href:"/verbal-fluency-training"},{label:"AI Media Training",href:"/media-training"},{label:"Investment Banking",href:"/use-cases/investment-banking"},{label:"Sales Call Coach",href:"/use-cases/sales-call-analysis"},{label:"Presentation Coach",href:"/use-cases/presentation-coach"}]},{title:"Learn",links:[{label:"What Is SpeakFlare?",href:"/what-is-speakflare"},{label:"What Is Speech Analysis?",href:"/what-is-speech-analysis"},{label:"What Are Filler Words?",href:"/what-are-filler-words"},{label:"Improve Communication Skills",href:"/how-to-improve-communication-skills"},{label:"What Is Verbal Fluency?",href:"/what-is-verbal-fluency"},{label:"Sentence Explainer",href:"/tools/sentence-explainer"}]},{title:"Company",links:[{label:"About Us",href:"/about"},{label:"Blog",href:"/blog"},{label:"Careers",href:"/careers"},{label:"Contact",href:"/contact"}]},{title:"Resources",links:[{label:"Help Center",href:"/help-center"},{label:"Documentation",href:"/documentation"},{label:"Tutorials",href:"/tutorials"},{label:"Free Speech Analysis",href:"/tools/free-speech-analysis"},{label:"Filler Word Detector",href:"/tools/filler-word-counter"},{label:"API",href:"/api"}]}],r=[{label:"Privacy",href:"/privacy"},{label:"Terms",href:"/terms"},{label:"Security",href:"/security"},{label:"Cookies",href:"/cookies"}];return n.jsxs("footer",{className:"bg-muted/30",children:[n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[n.jsxs("div",{className:"py-16 grid grid-cols-2 md:grid-cols-8 gap-8",children:[n.jsxs("div",{className:"col-span-2",children:[n.jsxs("button",{onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),className:"flex items-center gap-2 mb-4 group","data-testid":"button-footer-home",children:[n.jsx(am,{size:28}),n.jsxs("span",{className:"text-lg font-bold tracking-tight",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),n.jsx("span",{className:"text-foreground",children:"Flare"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-[220px]",children:"AI-powered communication analysis for professionals. Free 30-second demo, no sign-up."}),n.jsxs("div",{className:"mt-6 space-y-1",children:[n.jsx("a",{href:"mailto:[email protected]",className:"block text-sm text-muted-foreground hover:text-primary transition-colors",children:"[email protected]"}),n.jsx("a",{href:"tel:+972525222793",className:"block text-sm text-muted-foreground hover:text-primary transition-colors",children:"+972 52-522-2793"})]})]}),t.map(a=>n.jsxs("div",{children:[n.jsx("h4",{className:"text-xs font-semibold uppercase tracking-widest text-foreground mb-4",children:a.title}),n.jsx("ul",{className:"space-y-2.5",children:a.links.map(s=>n.jsx("li",{children:n.jsx(Fe,{href:s.href,className:"text-sm text-muted-foreground hover:text-primary transition-colors",children:s.label})},s.href))})]},a.title))]}),n.jsxs("div",{className:"py-6 flex flex-col sm:flex-row items-center justify-between gap-3",children:[n.jsxs("p",{className:"text-xs text-muted-foreground",children:["© ",e," SpeakFlare. All rights reserved."]}),n.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-5 gap-y-2",children:[r.map(a=>n.jsx(Fe,{href:a.href,className:"text-xs text-muted-foreground hover:text-primary transition-colors",children:a.label},a.href)),n.jsx("a",{href:"/sitemap.xml",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:text-primary transition-colors",children:"Sitemap"}),n.jsx("a",{href:"/sitemap-keywords.xml",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:text-primary transition-colors",children:"Keywords"}),n.jsx("a",{href:"/feed.xml",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:text-primary transition-colors",children:"RSS"})]})]}),n.jsx("div",{className:"pb-8",children:n.jsx("p",{className:"text-xs text-muted-foreground
748/60 leading-relaxed",children:"SpeakFlare is an AI-powered communication analysis platform. Results may vary based on audio quality and speaking conditions. All analysis is performed using artificial intelligence and should be used as a supplementary tool for self-improvement. By using this service, you agree to our Terms of Service and Privacy Policy."})})]}),n.jsx("div",{className:"w-full py-6 text-center overflow-hidden",children:n.jsx("div",{className:"text-3xl sm:text-6xl md:text-9xl font-black tracking-tight text-muted-foreground/10 select-none",style:{letterSpacing:"-0.03em"},children:"SPEAKFLARE"})})]})}function jE(){const t=new URLSearchParams(window.location.search).get("token"),[r,a]=y.useState(""),[s,i]=y.useState(""),[o,l]=y.useState(""),[c,d]=y.useState(!1),[u,m]=y.useState(!1);if(!t)return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",children:[n.jsx(He,{}),n.jsx("div",{className:"flex items-center justify-center p-4 pt-24",children:n.jsxs(X,{className:"w-full max-w-md",children:[n.jsxs(Ye,{className:"text-center",children:[n.jsx("div",{className:"mx-auto w-16 h-16 bg-destructive/20 rounded-full flex items-center justify-center mb-4",children:n.jsx(Vs,{className:"h-8 w-8 text-destructive"})}),n.jsx(at,{className:"text-2xl font-bold",children:"Invalid Reset Link"}),n.jsx(Bo,{children:"This password reset link is missing or invalid."})]}),n.jsx(ue,{className:"text-center",children:n.jsx(Fe,{href:"/forgot-password",children:n.jsx(D,{className:"w-full",children:"Request a new reset link"})})})]})}),n.jsx(Ut,{})]});const h=async f=>{if(f.preventDefault(),l(""),!r||r.length<8){l("Password must be at least 8 characters.");return}if(r!==s){l("Passwords do not match.");return}m(!0);try{const b=await fetch("/api/password/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t,newPassword:r})}),g=await b.json();b.ok?d(!0):l(g.error||"Something went wrong. Please try again.")}catch{l("Network error. Please try again.")}finally{m(!1)}};return c?n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",children:[n.jsx(He,{}),n.jsx("div",{className:"flex items-center justify-center p-4 pt-24",children:n.jsxs(X,{className:"w-full max-w-md",children:[n.jsxs(Ye,{className:"text-center",children:[n.jsx("div",{className:"mx-auto w-16 h-16 bg-green-500/20 rounded-full flex items-center justify-center mb-4",children:n.jsx(gn,{className:"h-8 w-8 text-green-600 dark:text-green-400"})}),n.jsx(at,{className:"text-2xl font-bold",children:"Password Updated!"}),n.jsx(Bo,{children:"Your password has been reset successfully."})]}),n.jsxs(ue,{className:"space-y-4 text-center",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"You can now log in with your new password."}),n.jsx(Fe,{href:"/login",children:n.jsx(D,{className:"w-full",children:"Go to Login"})})]})]})}),n.jsx(Ut,{})]}):n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",children:[n.jsx(He,{}),n.jsx("div",{className:"flex items-center justify-center p-4 pt-24",children:n.jsxs(X,{className:"w-full max-w-md",children:[n.jsxs(Ye,{className:"text-center",children:[n.jsx("div",{className:"mx-auto w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mb-4",children:n.jsx(Pte,{className:"h-8 w-8 text-primary"})}),n.jsx(at,{className:"text-2xl font-bold",children:"Set New Password"}),n.jsx(Bo,{children:"Enter a new password for your SpeakFlare account."})]}),n.jsxs(ue,{children:[n.jsxs("form",{onSubmit:h,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"new-password",children:"New password"}),n.jsx(Et,{id:"new-password",type:"password",placeholder:"At least 8 characters",value:r,onChange:f=>a(f.target.value),autoComplete:"new-password"})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"confirm-password",children:"Confirm password"}),n.jsx(Et,{id:"confirm-password",type:"password",placeholder:"Repeat your new password",value:s,onChange:f=>i(f.target.value),autoComplete:"new-password"})]}),o&&n.jsx("p",{className:"text-sm text-destructive",children:o}),n.jsx(D,{type:"submit",className:"w-full",disabled:u,children:u?"Updating...":"Update Password"})]}),n.jsx("div",{className:"mt-6 text-center",children:n.jsx(Fe,{href:"/login",children:n.jsx(D,{variant:"ghost",className:"text-sm text-muted-foreground",children:"Back to Login"})})})]})]})}),n.jsx(Ut,{})]})}function nhe(e){return e==="he"||e==="ar"}const yn={common:{cancel:"Cancel",save:"Save",back:"Back",next:"Next",previous:"Previous",retry:"Retry",upgrade:"Upgrade",loading:"Loading...",error:"Error",success:"Success",logout:"Logout",remove:"Remove",close:"Close",add:"Add",delete:"Delete",send:"Send",connect:"Connect",disconnect:"Disconnect",or:"or",of:"of",minutes:"Minutes",total:"Total",by:"by"},nav:{record:"Record",meetings:"Meetings",progress:"Progress",profile:"Profile",admin:"Admin"},dashboard:{startRecording:"Start Recording",tapToStop:"Tap to Stop",getReady:"Get Ready...",recording:"Recording",tapToBegin:"Tap to begin capturing your speech",recentMeetings:"Recent Meetings",viewAll:"View All",noMeetingsYet:"No meetings 
748yet",uploadFirst:"Upload your first recording to get started with AI analysis!",uploadFirstMeeting:"Upload Your First Meeting",yourProgress:"Your Progress",viewDetails:"View Details",totalIssues:"Total Issues Over Time",same:"Same",issues:"issues",processingRecordings:"Processing Recordings",processingRecording:"Processing Recording",chunks:"chunks",chunk:"chunk",started:"Started",autoProcessing:"Auto-processing soon",stuckNote:"Stuck recordings auto-process after 2 minutes idle.",untitled:"Untitled Recording",idle:"Idle",authRequired:"Authentication Required",pleaseLogin:"Please log in to record meetings.",notSupported:"Recording Not Supported",browserNotSupport:"Your browser does not support audio recording.",tooShort:"Recording Too Short",recordAtLeast:"Please record for at least 3 seconds.",micDenied:"Microphone Access Denied",allowMic:"Please allow microphone access to record.",recordingComplete:"Recording Complete!",meetingReady:"Your meeting is ready. View it in your dashboard.",recordingStopped:"Recording Stopped",processingBackground:"Processing in background. Check your dashboard in a few moments!"},meetings:{title:"My Meetings",uploadMeeting:"Upload Meeting",uploadAudio:"Upload Audio/Video",uploadManual:"Upload Manual Analysis",meetingTitle:"Meeting Title",titlePlaceholder:"e.g., Q1 Sales Pitch",clickOrDrag:"Click to upload or drag and drop",audioFormats:"Audio/Video files (.m4a, .mp4, .mp3, .wav, .mov)",maxSize:"Maximum file size: 100MB",transcribing:"Transcribing...",uploadAnalyze:"Upload & Analyze",uploading:"Uploading...",pasteTranscript:"Paste your meeting transcript here...",noMeetingsYet:"No meetings 
748yet",uploadFirst:"Upload your first recording to get started with AI analysis!",telegramBanner:"Get your analysis on Telegram — same as email, instant delivery",connectTelegram:"Connect Telegram",paywallBanner:"Get 20 full recordings for $5 to analyze your complete calls — pay as you go, no subscription.",partialAnalysisBanner:"First 5 minutes analyzed.",partialUpgradePrompt:"Upgrade to analyze the full recording",partialChip:"5 min",invalidFileType:"Invalid file type",invalidFileDesc:"Please upload audio or video files (.m4a, .mp4, .mp3, .wav, .mov)",uploadedSuccess:"Meeting uploaded!",uploadedDesc:"Your meeting is being analyzed in the background.",fileUploaded:"File uploaded!",fileUploadedDesc:"Transcribing audio and analyzing... Check back in a moment!",uploadFailed:"Upload failed",uploadFailedDesc:"Failed to upload meeting. Please try again.",fileUploadFailed:"Failed to upload file. Please try again.",analysisRestarted:"Analysis restarted",analysisRestartedDesc:"Re-analyzing your meeting. This may take 1-3 minutes.",retryFailed:"Retry failed",retryFailedDesc:"Failed to retry analysis. Please try again.",welcomePro:"Welcome to SpeakFlare Pro!",welcomeProDesc:"Your subscription is active. Enjoy unlimited analyses.",autoProcessing:"Auto-processing runs every 5 minutes.",processingRecordings:"Processing Recordings",processingRecording:"Processing Recording",analyzingMsg:"Analyzing... come back in 10 min & check your email 📧",analysisFailed:"Analysis failed",upgradeToAnalyze:"Upgrade to Pro to analyze this meeting"},meetingDetail:{back:"Back",meeting:"Meeting",reanalyze:"Re-analyze",sendSummary:"Send Summary",actionItems:"Action Items",emailPreview:"Email Preview",errors:"errors",issue:"issue",issues:"issues",howToFix:"How to fix",whatYouSaid:"What you said",sayInstead:"Say this instead",whyMatters:"Why it matters",howToAvoid:"How to avoid",speechRate:"Speech Rate",audioPlayer:"Audio Player",speedOverTime:"Speed Over Time",wpm:"WPM",structure:"Structure",greatJob:"Great job!",meetingNotFound:"Meeting not found",noTranscript:"No transcript available",noInsights:"No insights available yet",noActionItems:"No action items detected",intro:"Intro",body:"Body",conclusion:"Conclusion",optimalRange:"Optimal range",noSpeechData:"No speech rate data available",timeline:"Timeline",noStructureData:"No structure data available",score:"Score",howToImprove:"How to Improve",progressFromPrev:"Progress from Previous Meetings",improved:"Improved",needsWork:"Needs Work",firstMeeting:"This is your first analyzed meeting",comparedToAvg:"compared to average",quickAnalysis:"Quick Analysis",mainIssue:"Main Issue",whyHappens:"Why This Happens",retranscribe:"Re-transcribe",retranscribeStarted:"Re-transcribe started",retranscribeDesc:"Transcript will refresh with proper sentences and speaker info.",retranscribeFailed:"Re-transcribe failed",player:"Player",text:"Text",whatDiscussed:"What Was Discussed",improvements:"Improvements",totalWords:"Total Words",optimal:"Optimal",tooFast:"Too Fast",tooSlow:"Too Slow",allSpeakers:"All Speakers:",selectSpeaker:"Select Speaker:",noSeparateAnalysis:"No separate analysis for this speaker - showing overall",analyzing:"Analyzing...",noIssues:"No issues detected",executiveSummary:"Executive Summary",summary:"Summary",transcript:"Transcript",insights:"Insights",followUp:"Follow-up",partialBannerTitle:"First 5 minutes analyzed",partialBannerBody:"issues found in the preview. Upgrade to analyze the full recording and catch every mistake.",partialBannerCta:"Upgrade for Full Analysis"},progress:{overview:"Overview",trend:"Trend",words:"Words",noData:"No progress data yet",uploadToTrack:"Upload meetings to start tracking your improvement!",uploadFirst:"Upload Your First Meeting",issuesOverview:"Issues Overview",trackIssues:"Track your total issues per meeting to see your improvement.",wordTracking:"Word Tracking",eliminated:"Eliminated",history:"History",issueTrend:"Issue Trend",trackTrend:"Track how each category changes over time. A downward trend means you're improving!",totalIssues:"Total Issues"},profile:{account:"Account",yourProfile:"Your profile information",subscription:"Subscription",proPlan:"Pro Plan — Unlimited meetings",monthlyBilling:"Monthly billing",annualBilling:"Annual billing",manageBilling:"Manage Billing",freePlan:"Free Plan",upgradeТoPro:"Upgrade to Pro",statistics:"Statistics",memberSince:"Member Since",meetings:"Meetings",avgIssues:"Avg Issues",actions:"Actions",logout:"Logout",telegramTitle:"Telegram Notifications",telegramDesc:"Get your analysis summary after every meeting",connected:"Connected",sendTest:"Send Test",telegramConnected:"✅ Telegram connected!",telegramConnectedDesc:"You'll now receive analysis summaries on Telegram.",disconnected:"Disconnected",telegramDisconnected:"Telegram notifications turned off.",testSent:"Test sent!",failed:"Failed",couldNotSend:"Could not send test message.",receivingDesc:"You're receiving meeting analysis summaries on Telegram — the same info you get by email, delivered instantly.",clickButton:"Click the button below to open Telegram:",pressStart:"Press Start in the chat — you'll be connected automatically.",openBot:"Open @SpeakFlareBot in Telegram",waiting:"Waiting for you to connect...",getAnalysis:"Get the same analysis summary you receive by email — delivered to your Telegram, instantly after every meeting.",connectTelegram:"Connect Telegram",integrations:"Integrations",extension:"Extension",zoom:"Zoom",settings:"Settings",chromeExt:"Chrome Extension",chromeExtDesc:"Live transcription for Google Meet & Zoom web meetings",extConnected:"Your extension is connected and ready",installExt:"Install E
748xtension",zoomIntegration:"Zoom Integration",zoomDesc:"Automatic analysis of Zoom desktop cloud recordings",zoomConnected:"Your Zoom account is connected",connectZoom:"Connect Zoom",voiceProfile:"Voice Profile",voiceProfileDesc:"Train the system to recognize your voice in meetings",createVoiceProfile:"Create Voice Profile",enterInfo:"Enter your information to create your voice profile",readSentences:"Read each sentence clearly and naturally (like Siri training)",nameLabel:"Name *",namePlaceholder:"Enter your name (e.g., Guy, Alex)",photo:"Photo (Optional)",clickCircle:"Click circle to add photo",clickX:"Click the X to remove photo",nextRecord:"Next: Record Voice",voiceTraining:"Voice Training",recordingSamples:"Recording voice samples",progressLabel:"Progress",getReady:"Get ready to speak...",startRecording:"Start Recording",finishRecording:"Finish Recording",yourRecording:"Your Recording",whatYouSaid:"What you said:",analyzing:"Analyzing audio...",noMatch:"This doesn't match the sentence. Please record again.",continueNext:"Continue to Next Sentence",finishSave:"Finish & Save Profile",saving:"Saving Voice Profile...",recordAgain:"Record Again",noProfiles:'No voice profiles yet. Click "Add Voice Profile" to create one.',quickSetup:"Quick Setup",installChrome:"Install from Chrome Web Store",loginWith:"Login with your email",joinMeeting:"Join meeting → Recording starts automatically",howToUse:"How to Use",enableCloud:"Enable cloud recording in Zoom Settings",hostMeetings:"Host meetings using Zoom desktop app",startRecordingCloud:"Start recording to cloud during meetings",analysisAuto:"Analysis happens automatically after meeting ends",importantNotes:"Important Notes",mustUseCloud:"• Must use cloud recording (not local)",participantsSee:"• Participants see recording notice",processingTime:"• Processing takes a few minutes",clickConnect:'Click "Connect Zoom Account" below',authorize:"Authorize SpeakFlare to access recordings",enableCloudSettings:"Enable cloud recording in Zoom settings",hostAuto:"Host meetings - analysis is automatic",connectZoomAccount:"Connect Zoom Account",zoomConnectedMsg:"Zoom Connected!",zoomConnectedDesc:"Your Zoom account has been successfully connected. Meetings will now be automatically analyzed.",connectionFailed:"Connection Failed",connectionFailedDesc:"Failed to connect your Zoom account. Please try again.",micDenied:"Microphone Access Denied",allowMic:"Please allow microphone access to record your voice.",voiceCreated:"Voice Profile Created!",voiceCreatedDesc:"Your voice has been trained and saved successfully.",failedCreate:"Failed to Create Profile",profileDeleted:"Profile Deleted",profileDeletedDesc:"Voice profile has been removed.",freeAnalyses:"minutes free per meeting"}},ahe={common:{cancel:"ביטול",save:"שמור",back:"חזרה",next:"הבא",previous:"הקודם",retry:"נסה שוב",upgrade:"שדרג",loading:"טוען...",error:"שגיאה",success:"הצלחה",logout:"התנתק",remove:"הסר",close:"סגור",add:"הוסף",delete:"מחק",send:"שלח",connect:"חבר",disconnect:"נתק",or:"או",of:"מתוך",minutes:"דקות",total:"סה״כ",by:"על ידי"},nav:{record:"הקלטה",meetings:"פגישות",progress:"התקדמות",profile:"פרופיל",admin:"ניהול"},dashboard:{startRecording:"התחל הקלטה",tapToStop:"לחץ לעצור",getReady:"מתכונן...",recording:"מקליט",tapToBegin:"לחץ להתחיל לקלוט את דבריך",recentMeetings:"פגישות אחרונות",viewAll:"הצג הכל",noMeetingsYet:"אין פגישות עדיין",uploadFirst:"העלה את ההקלטה הראשונה שלך כדי להתחיל בניתוח AI!",uploadFirstMeeting:"העלה את הפגישה הראשונה שלך",yourProgress:"ההתקדמות שלך",viewDetails:"הצג פרטים",totalIssues:"סה״כ בעיות לאורך זמן",same:"זהה",issues:"בעיות",processingRecordings:"מעבד הקלטות",processingRecording:"מעבד הקלטה",chunks:"חלקים",chunk:"חלק",started:"התחיל",autoProcessing:"עיבוד אוטומטי בקרוב",stuckNote:"הקלטות תקועות מעובדות אוטומטית לאחר 2 דקות.",untitled:"הקלטה ללא שם",idle:"לא פעיל",authRequired:"נדרש אימות",pleaseLogin:"אנא התחבר כדי לקלוט פגישות.",n
748otSupported:"הקלטה אינה נתמכת",browserNotSupport:"הדפדפן שלך אינו תומך בהקלטת שמע.",tooShort:"הקלטה קצרה מדי",recordAtLeast:"נא להקליט לפחות 3 שניות.",micDenied:"גישה למיקרופון נדחתה",allowMic:"אנא אפשר גישה למיקרופון.",recordingComplete:"ההקלטה הושלמה!",meetingReady:"הפגישה מוכנה. צפה בלוח הבקרה.",recordingStopped:"ההקלטה הופסקה",processingBackground:"מעבד ברקע. בדוק את הלוח שלך בעוד כמה רגעים!"},meetings:{title:"הפגישות שלי",uploadMeeting:"העלה פגישה",uploadAudio:"העלה אודיו/וידאו",uploadManual:"העלה ניתוח ידני",meetingTitle:"כותרת הפגישה",titlePlaceholder:"למשל: מכירות Q1",clickOrDrag:"לחץ להעלאה או גרור ושחרר",audioFormats:"קבצי אודיו/וידאו (.m4a, .mp4, .mp3, .wav, .mov)",maxSize:"גודל קובץ מקסימלי: 100MB",transcribing:"מתמלל...",uploadAnalyze:"העלה ונתח",uploading:"מעלה...",pasteTranscript:"הדבק את תמליל הפגישה כאן...",noMeetingsYet:"אין פגישות עדיין",uploadFirst:"העלה את ההקלטה הראשונה שלך כדי להתחיל בניתוח AI!",telegramBanner:"קבל את הניתוח שלך בטלגרם — כמו אימייל, מיידי",connectTelegram:"חבר טלגרם",paywallBanner:"קבל 20 הקלטות מלאות ב-5$ כדי לנתח את השיחות המלאות שלך — תשלום לפי שימוש, ללא מנוי.",partialAnalysisBanner:"5 הדקות הראשונות נותחו.",partialUpgradePrompt:"שדרג לניתוח ההקלטה המלאה",partialChip:"5 דק'",invalidFileType:"סוג קובץ לא תקין",invalidFileDesc:"אנא העלה קבצי אודיו או וידאו (.m4a, .mp4, .mp3, .wav, .mov)",uploadedSuccess:"הפגישה הועלתה!",uploadedDesc:"הפגישה שלך מנותחת ברקע.",fileUploaded:"הקובץ הועלה!",fileUploadedDesc:"מתמלל ומנתח... בדוק בעוד רגע!",uploadFailed:"ההעלאה נכשלה",uploadFailedDesc:"שגיאה בהעלאת הפגישה. נסה שוב.",fileUploadFailed:"שגיאה בהעלאת הקובץ. נסה שוב.",analysisRestarted:"הניתוח הופעל מחדש",analysisRestartedDesc:"מנתח מחדש. זה עשוי לקחת 1-3 דקות.",retryFailed:"הניסיון נכשל",retryFailedDesc:"שגיאה בניסיון החוזר. נסה שוב.",welcomePro:"ברוך הבא ל-SpeakFlare Pro!",welcomeProDesc:"המנוי שלך פעיל. תהנה מניתוחים ללא הגבלה.",autoProcessing:"עיבוד אוטומטי כל 5 דקות.",processingRecordings:"מעבד הקלטות",processingRecording:"מעבד הקלטה",analyzingMsg:"מנתח... חזור בעוד 10 דק' ובדוק את האימייל 📧",analysisFailed:"הניתוח נכשל",upgradeToAnalyze:"שדרג ל-Pro כדי לנתח פגישה זו"},meetingDetail:{back:"חזרה",meeting:"פגישה",reanalyze:"נתח מחדש",sendSummary:"שלח סיכום",actionItems:"פריטי פעולה",emailPreview:"תצוגה מקדימה",errors:"שגיאות",issue:"בעיה",issues:"בעיות",howToFix:"איך לתקן",whatYouSaid:"מה אמרת",sayInstead:"אמור במקום זאת",whyMatters:"למה זה חשוב",howToAvoid:"איך להימנע",speechRate:"קצב דיבור",audioPlayer:"נגן שמע",speedOverTime:"מהירות לאורך זמן",wpm:"מילים לדקה",structure:"מבנה",greatJob:"כל הכבוד!",meetingNotFound:"הפגישה לא נמצאה",noTranscript:"אין תמליל זמין",noInsights:"אין תובנות עדיין",noActionItems:"לא זוהו פריטי פעולה",intro:"פתיחה",body:"גוף",conclusion:"סיכום",optimalRange:"טווח אופטימלי",noSpeechData:"אין נתוני קצב דיבור",timeline:"ציר זמן",noStructureData:"אין נתוני מבנה",score:"ניקוד",howToImprove:"איך להשתפר",progressFromPrev:"התקדמות מפגישות קודמות",improved:"שוּפּר",needsWork:"דרושה עבודה",firstMeeting:"זוהי הפגישה הראשונה שנותחה",comparedToAvg:"בהשוואה לממוצע",quickAnalysis:"ניתוח מהיר",mainIssue:"בעיה עיקרית",whyHappens:"למה זה קורה",retranscribe:"תמלל מחדש",retranscribeStarted:"התמלול מחדש התחיל",retranscribeDesc:"התמליל יתרענן עם משפטים ומידע על דוברים.",retranscribeFailed:"התמלול מחדש נכשל",player:"נגן",text:"טקסט",whatDiscussed:"מה נדון",improvements:"שיפורים",totalWords:"סה״כ מילים",optimal:"אופטימלי",tooFast:"מהיר מדי",tooSlow:"איטי מדי",allSpeakers:"כל הדוברים:",selectSpeaker:"בחר דובר:",noSeparateAnalysis:"אין ניתוח נפרד לדובר זה - מוצג ניתוח כללי",analyzing:"מנתח...",noIssues:"לא זוהו בעיות",executiveSummary:"סיכום מנהלים",summary:"סיכום",transcript:"תמליל",insights:"תובנות",followUp:"מעקב",partialBannerTitle:"5 הדקות הראשונות נותחו",partialBannerBody:"בעיות נמצאו בתצוגה המקדימה. שדרג לניתוח ההקלטה המלאה וגלה כל טעות.",partialBannerCta:"שדרג לניתוח מלא"},progress:{overview:"סקירה",trend:"מגמה",words:"מילים",noData:"אין נתוני התקדמות עדיין",uploadToTrack:"העלה פגישות כדי להתחיל לעקוב אחר שיפורך!",uploadFirst:"העלה את הפגישה הראשונה שלך",issuesOverview:"סקירת בעיות",trackIssues:"עקוב אחר הבעיות הכוללות בכל פגישה כדי לראות את השיפור שלך.",wordTracking:"מעקב מילים",eliminated:"הוסר",history:"היסטוריה",issueTrend:"מגמת בעיות",trackTrend:"עקוב אחר שינויים בכל קטגוריה לאורך זמן. מגמה יורדת = שיפור!",totalIssues:"סה״כ בעיות"},profile:{account:"חשבון",yourProfile:"פרטי הפרופיל שלך",subscription:"מנוי",proPlan:"תוכנית Pro — פגישות ללא הגבלה",monthlyBilling:"חיוב חודשי",annualBilling:"חיוב שנתי",manageBilling:"ניהול חיוב",freePlan:"תוכנית חינמית",upgradeТoPro:"שדרג ל-Pro",statistics:"סטטיסטיקה",memberSince:"חבר מאז",meetings:"פגישות",avgIssues:"ממוצע בעיות",actions:"פעולות",logout:"התנתק",telegramTitle:"התראות טלגרם",telegramDesc:"קבל סיכום ניתוח אחרי כל פגישה",connected:"מחובר",sendTest:"שלח בדיקה",telegramConnected:"✅ טלגרם חובר!",telegramConnectedDesc:"תקבל סיכומי ניתוח בטלגרם.",disconnected:"מנותק",telegramDisconnected:"התראות טלגרם כובו.",testSent:"בדיקה נשלחה!",failed:"נכשל",couldNotSend:"לא ניתן לשלוח הודעת בדיקה.",receivingDesc:"אתה מקבל סיכומי ניתוח פגישות בטלגרם — אותו מידע שמגיע באימייל, מיידי.",clickButton:"לחץ על הכפתור למטה כדי לפתוח את טלגרם:",pressStart:"לחץ Start בצ'אט — תחובר אוטומטית.",openBot:"פתח את @SpeakFlareBot בטלגרם",waiting:"ממתין לחיבור שלך...",getAnalysis:"קבל את אותו סיכום ניתוח שאתה מקבל באימייל — בטלגרם, מיד אחרי כל פגישה.",connectTelegram:"חבר טלגרם",integrations:"אינטגרציות",extension:"תוסף",zoom:"זום",settings:"הגדרות",chromeExt:"תוסף Chrome",chromeExtDesc:"תמלול חי ל-Google Meet ו-Zoom",extConnected:"התוסף שלך מחובר ומוכן",installExt:"התקן תוסף",zoomIntegration:"אינטגרציית Zoom",zoomDesc:"ניתוח אוטומטי של הקלטות Zoom",zoomConnected:"חשבון Zoom שלך מחובר",connectZoom:"חבר Zoom",voiceProfile:"פרופיל קול",voiceProfileDesc:"אמן את המערכת לזהות את קולך בפגישות",createVoiceProfile:"צור פרופיל קול",enterInfo:"הזן את פרטיך ליצירת פרופיל קול",readSentences:"קרא כל משפט בצורה ברורה וטבעית (כמו אימון Siri)",nameLabel:"שם *",namePlaceholder:"הזן את שמך (למשל, גיא, אלכס)",photo:"תמונה (אופציונלי)",clickCircle:"לחץ על העיגול להוספת תמונה",clickX:"לחץ X להסרת תמונה",nextRecord:"הבא: הקלט קול",voiceTraining:"אימון קול",re
748cordingSamples:"מקליט דוגמאות קול",progressLabel:"התקדמות",getReady:"התכונן לדבר...",startRecording:"התחל הקלטה",finishRecording:"סיים הקלטה",yourRecording:"ההקלטה שלך",whatYouSaid:"מה אמרת:",analyzing:"מנתח שמע...",noMatch:"זה לא תואם את המשפט. אנא הקלט שוב.",continueNext:"המשך למשפט הבא",finishSave:"סיים ושמור פרופיל",saving:"שומר פרופיל קול...",recordAgain:"הקלט שוב",noProfiles:'אין פרופילי קול עדיין. לחץ על "הוסף פרופיל קול" ליצירה.',quickSetup:"התקנה מהירה",installChrome:"התקן מ-Chrome Web Store",loginWith:"התחבר עם האימייל שלך",joinMeeting:"הצטרף לפגישה → ההקלטה מתחילה אוטומטית",howToUse:"איך להשתמש",enableCloud:"אפשר הקלטת ענן בהגדרות Zoom",hostMeetings:"ארח פגישות עם אפליקציית Zoom",startRecordingCloud:"התחל הקלטה לענן בזמן הפגישות",analysisAuto:"הניתוח מתבצע אוטומטית לאחר סיום הפגישה",importantNotes:"הערות חשובות",mustUseCloud:"• חובה להשתמש בהקלטת ענן",participantsSee:"• המשתתפים רואים הודעת הקלטה",processingTime:"• העיבוד אורך כמה דקות",clickConnect:'לחץ על "חבר חשבון Zoom" למטה',authorize:"אשר ל-SpeakFlare גישה להקלטות",enableCloudSettings:"אפשר הקלטת ענן בהגדרות Zoom",hostAuto:"ארח פגישות — הניתוח אוטומטי",connectZoomAccount:"חבר חשבון Zoom",zoomConnectedMsg:"Zoom חובר!",zoomConnectedDesc:"חשבון Zoom שלך חובר בהצלחה. פגישות ינותחו אוטומטית.",connectionFailed:"החיבור נכשל",connectionFailedDesc:"שגיאה בחיבור חשבון Zoom. נסה שוב.",micDenied:"גישה למיקרופון נדחתה",allowMic:"אנא אפשר גישה למיקרופון להקלטת קולך.",voiceCreated:"פרופיל קול נוצר!",voiceCreatedDesc:"הקולך אומן ונשמר בהצלחה.",failedCreate:"יצירת הפרופיל נכשלה",profileDeleted:"הפרופיל נמחק",profileDeletedDesc:"פרופיל הקול הוסר.",freeAnalyses:"דקות חינמיות לכל פגישה"}},she={common:{cancel:"Отмена",save:"Сохранить",back:"Назад",next:"Далее",previous:"Назад",retry:"Повторить",upgrade:"Обновить",loading:"Загрузка...",error:"Ошибка",success:"Успех",logout:"Выйти",remove:"Удалить",close:"Закрыть",add:"Добавить",delete:"Удалить",send:"Отправить",connect:"Подключить",disconnect:"Отключить",or:"или",of:"из",minutes:"Минуты",total:"Всего",by:"от"},nav:{record:"Запись",meetings:"Встречи",progress:"Прогресс",profile:"Профиль",admin:"Админ"},dashboard:{startRecording:"Начать запись",tapToStop:"Нажмите для остановки",getReady:"Подготовка...",recording:"Запись",tapToBegin:"Нажмите для начала записи речи",recentMeetings:"Последние встречи",viewAll:"Смотреть все",noMeetingsYet:"Встреч пока нет",uploadFirst:"Загрузите первую запись для анализа с помощью ИИ!",uploadFirstMeeting:"Загрузить первую встречу",yourProgress:"Ваш прогресс",viewDetails:"Подробнее",totalIssues:"Все ошибки с течением времени",same:"Так же",issues:"ошибок",processingRecordings:"Обработка записей",processingRecording:"Обработка записи",chunks:"частей",chunk:"часть",started:"Начато",autoProcessing:"Скоро автообработка",stuckNote:"Зависшие записи обрабатываются через 2 минуты бездействия.",untitled:"Запись без названия",idle:"Ожидание",authRequired:"Требуется авторизация",pleaseLogin:"Войдите для записи встреч.",notSupported:"Запись не поддерживается",browserNotSupport:"Ваш браузер не поддерживает запись звука.",tooShort:"Запись слишком короткая",recordAtLeast:"Записывайте не менее 3 секунд.",micDenied:"Доступ к микрофону запрещён",allowMic:"Разрешите доступ к микрофону.",recordingComplete:"Запись завершена!",meetingReady:"Встреча готова. Смотрите в панели.",recordingStopped:"Запись остановлена",processingBackgroun
748d:"Обрабатывается в фоне. Проверьте панель через несколько минут!"},meetings:{title:"Мои встречи",uploadMeeting:"Загрузить встречу",uploadAudio:"Загрузить аудио/видео",uploadManual:"Ручной анализ",meetingTitle:"Название встречи",titlePlaceholder:"напр., Продажи Q1",clickOrDrag:"Нажмите для загрузки или перетащите",audioFormats:"Аудио/видео файлы (.m4a, .mp4, .mp3, .wav, .mov)",maxSize:"Макс. размер файла: 100MB",transcribing:"Транскрибирование...",uploadAnalyze:"Загрузить и анализировать",uploading:"Загрузка...",pasteTranscript:"Вставьте транскрипт встречи...",noMeetingsYet:"Встреч пока нет",uploadFirst:"Загрузите первую запись для анализа с помощью ИИ!",telegramBanner:"Получайте анализ в Telegram — мгновенно",connectTelegram:"Подключить Telegram",paywallBanner:"Получите 20 полных записей за $5 для анализа полных звонков — оплата по мере использования, без подписки.",invalidFileType:"Неверный тип файла",invalidFileDesc:"Загружайте аудио или видео (.m4a, .mp4, .mp3, .wav, .mov)",uploadedSuccess:"Встреча загружена!",uploadedDesc:"Встреча анализируется в фоне.",fileUploaded:"Файл загружен!",fileUploadedDesc:"Транскрибирование и анализ... Проверьте позже!",uploadFailed:"Ошибка загрузки",uploadFailedDesc:"Не удалось загрузить встречу. Попробуйте снова.",fileUploadFailed:"Не удалось загрузить файл. Попробуйте снова.",analysisRestarted:"Анализ перезапущен",analysisRestartedDesc:"Повторный анализ займёт 1-3 минуты.",retryFailed:"Ошибка повтора",retryFailedDesc:"Не удалось повторить анализ. Попробуйте снова.",welcomePro:"Добро пожаловать в SpeakFlare Pro!",welcomeProDesc:"Подписка активна. Безлимитный анализ.",autoProcessing:"Автообработка каждые 5 минут.",processingRecordings:"Обработка записей",processingRecording:"Обработка записи",analyzingMsg:"Анализируется... вернитесь через 10 мин и проверьте почту 📧",analysisFailed:"Анализ не удался",upgradeToAnalyze:"Обновитесь до Pro для анализа этой встречи",partialAnalysisBanner:"Проанализированы первые 5 минут.",partialUpgradePrompt:"Обновитесь для анализа полной записи",partialChip:"5 мин"},meetingDetail:{back:"Назад",meeting:"Встреча",reanalyze:"Переанализировать",sendSummary:"Отправить сводку",actionItems:"Задачи",emailPreview:"Предпросмотр",errors:"ошибок",issue:"ошибка",issues:"ошибок",howToFix:"Как исправить",whatYouSaid:"Что вы сказали",sayInstead:"Скажите вместо этого",whyMatters:"Почему важно",howToAvoid:"Как избежать",speechRate:"Скорость речи",audioPlayer:"Аудиоплеер",speedOverTime:"Скорость со временем",wpm:"слов/мин",structure:"Структура",greatJob:"Отлично!",meetingNotFound:"Встреча не найдена",noTranscript:"Транскрипт недоступен",noInsights:"Инсайты пока недоступны",noActionItems:"Задачи не обнаружены",intro:"Введение",body:"Основная часть",conclusion:"Заключение",optimalRange:"Оптимальный диапазон",noSpeechData:"Данные о скорости речи недоступны",timeline:"Хронология",noStructureData:"Данные структуры недоступны",score:"Оценка",howToImprove:"Как улучшить",progressFromPrev:"Прогресс по сравнению с прошлыми встречами",improved:"Улучшено",needsWork:"Требует работы",firstMeeting:"Это первая проанализированная встреча",comparedToAvg:"по сравнению со средним",quickAnalysis:"Быстрый анализ",mainIssue:"Главная проблема",whyHappens:"Почему это происходит",retranscribe:"Перетранскрибировать",retranscribeStarted:"Транскрибирование начато",retranscribeDesc:"Транскрипт обновится с правильными предложениями.",retranscribeFailed:"Ошибка транскрибирования",player:"Плеер",text:"Текст",whatDiscussed:"Что обсуждалось",improvements:"Улучшения",totalWords:"Всего слов",optimal:"Оптимально",tooFast:"Слишком быстро",tooSlow:"Слишком медленно",allSpeakers:"Все докладчики:",selectSpeaker:"Выбрать докладчика:",noSeparateAnalysis:"Нет отдельного анализа для этого доÐ
748ºÐ»Ð°Ð´Ñ‡Ð¸ÐºÐ° — показывается общий",analyzing:"Анализируется...",noIssues:"Ошибок не обнаружено",executiveSummary:"Исполнительная сводка",summary:"Сводка",transcript:"Транскрипт",insights:"Инсайты",followUp:"Продолжение",partialBannerTitle:"Проанализированы первые 5 минут",partialBannerBody:"ошибок найдено в превью. Обновитесь для анализа полной записи.",partialBannerCta:"Полный анализ"},progress:{overview:"Обзор",trend:"Тренд",words:"Слова",noData:"Данных о прогрессе пока нет",uploadToTrack:"Загрузите встречи для отслеживания улучшений!",uploadFirst:"Загрузить первую встречу",issuesOverview:"Обзор ошибок",trackIssues:"Отслеживайте ошибки по встречам для оценки прогресса.",wordTracking:"Отслеживание слов",eliminated:"Устранено",history:"История",issueTrend:"Тренд ошибок",trackTrend:"Следите за изменениями по категориям. Нисходящий тренд = прогресс!",totalIssues:"Всего ошибок"},profile:{account:"Аккаунт",yourProfile:"Ваш профиль",subscription:"Подписка",proPlan:"Pro план — безлимитные встречи",monthlyBilling:"Ежемесячная оплата",annualBilling:"Ежегодная оплата",manageBilling:"Управление оплатой",freePlan:"Бесплатный план",upgradeТoPro:"Обновить до Pro",statistics:"Статистика",memberSince:"Участник с",meetings:"Встречи",avgIssues:"Ср. ошибок",actions:"Действия",logout:"Выйти",telegramTitle:"Уведомления Telegram",telegramDesc:"Получайте сводку после каждой встречи",connected:"Подключено",sendTest:"Тест",telegramConnected:"✅ Telegram подключён!",telegramConnectedDesc:"Вы будете получать сводки в Telegram.",disconnected:"Отключено",telegramDisconnected:"Уведомления Telegram отключены.",testSent:"Тест отправлен!",failed:"Ошибка",couldNotSend:"Не удалось отправить тест.",receivingDesc:"Вы получаете сводки встреч в Telegram — та же информация что и по почте, мгновенно.",clickButton:"Нажмите кнопку ниже для открытия Telegram:",pressStart:"Нажмите Start в чате — подключение произойдёт автоматически.",openBot:"Открыть @SpeakFlareBot в Telegram",waiting:"Ожидание подключения...",getAnalysis:"Получайте ту же сводку что и по почте — в Telegram, сразу после встречи.",connectTelegram:"Подключить Telegram",integrations:"Интеграции",extension:"Расширение",zoom:"Zoom",settings:"Настройки",chromeExt:"Расширение Chrome",chromeExtDesc:"Живая транскрипция для Google Meet и Zoom",extConnected:"Расширение подключено и готово",installExt:"Установить расширение",zoomIntegration:"Интеграция Zoom",zoomDesc:"Автоматический анализ записей Zoom",zoomConnected:"Ваш аккаунт Zoom подключён",connectZoom:"Подключить Zoom",voiceProfile:"Голосовой профиль",voiceProfileDesc:"Обучите систему распознавать ваш голос",createVoiceProfile:"Создать профиль",enterInfo:"Введите данные для создания голосового профиля",readSentences:"Читайте каждое предложение чётко и естественно",nameLabel:"Имя *",namePlaceholder:"Введите имя (напр., Алексей)",photo:"Фото (необязательно)",clickCircle:"Нажмите круг для добавления фото",clickX:"Нажмите X для удаления фото",nextRecord:"Далее: запись голоса",voiceTraining:"Обучение голосу",recordingSamples:"Запись образцов голоса",progressLabel:"Прогресс",getReady:"Приготовьтесь говорить...",startRecording:"Начать запись",finishRecording:"Завершить запись",yourRecording:"Ваша запись",whatYouS
748aid:"Что вы сказали:",analyzing:"Анализ аудио...",noMatch:"Не соответствует предложению. Пожалуйста, запишите снова.",continueNext:"Следующее предложение",finishSave:"Завершить и сохранить",saving:"Сохранение профиля...",recordAgain:"Записать снова",noProfiles:"Голосовых профилей нет. Нажмите «Добавить» для создания.",quickSetup:"Быстрая настройка",installChrome:"Установить из Chrome Web Store",loginWith:"Войдите с вашим email",joinMeeting:"Войдите на встречу → запись начнётся автоматически",howToUse:"Как использовать",enableCloud:"Включите облачную запись в настройках Zoom",hostMeetings:"Проводите встречи через Zoom",startRecordingCloud:"Начните запись в облако во время встречи",analysisAuto:"Анализ происходит автоматически после окончания встречи",importantNotes:"Важные примечания",mustUseCloud:"• Только облачная запись (не локальная)",participantsSee:"• Участники видят уведомление о записи",processingTime:"• Обработка занимает несколько минут",clickConnect:"Нажмите «Подключить аккаунт Zoom» ниже",authorize:"Разрешите SpeakFlare доступ к записям",enableCloudSettings:"Включите облачную запись в настройках Zoom",hostAuto:"Проводите встречи — анализ автоматический",connectZoomAccount:"Подключить аккаунт Zoom",zoomConnectedMsg:"Zoom подключён!",zoomConnectedDesc:"Ваш аккаунт Zoom успешно подключён.",connectionFailed:"Ошибка подключения",connectionFailedDesc:"Не удалось подключить Zoom. Попробуйте снова.",micDenied:"Доступ к микрофону запрещён",allowMic:"Разрешите доступ к микрофону.",voiceCreated:"Голосовой профиль создан!",voiceCreatedDesc:"Ваш голос обучен и сохранён.",failedCreate:"Ошибка создания профиля",profileDeleted:"Профиль удалён",profileDeletedDesc:"Голосовой профиль удалён.",freeAnalyses:"минут бесплатно за встречу"}}
748,ihe={common:{cancel:"Cancelar",save:"Guardar",back:"Atrás",next:"Siguiente",previous:"Anterior",retry:"Reintentar",upgrade:"Mejorar",loading:"Cargando...",error:"Error",success:"Éxito",logout:"Cerrar sesión",remove:"Eliminar",close:"Cerrar",add:"Añadir",delete:"Eliminar",send:"Enviar",connect:"Conectar",disconnect:"Desconectar",or:"o",of:"de",minutes:"Minutos",total:"Total",by:"por"},nav:{record:"Grabar",meetings:"Reuniones",progress:"Progreso",profile:"Perfil",admin:"Admin"},dashboard:{startRecording:"Iniciar grabación",tapToStop:"Toca para detener",getReady:"Preparando...",recording:"Grabando",tapToBegin:"Toca para empezar a capturar tu voz",recentMeetings:"Reuniones recientes",viewAll:"Ver todo",noMeetingsYet:"Sin reuniones aún",uploadFirst:"¡Sube tu primera grabación para análisis con IA!",uploadFirstMeeting:"Subir primera reunión",yourProgress:"Tu progreso",viewDetails:"Ver detalles",totalIssues:"Problemas totales en el tiempo",same:"Igual",issues:"problemas",processingRecordings:"Procesando grabaciones",processingRecording:"Procesando grabación",chunks:"partes",chunk:"parte",started:"Iniciado",autoProcessing:"Procesamiento automático pronto",stuckNote:"Las grabaciones atascadas se procesan tras 2 min de inactividad.",untitled:"Grabación sin título",idle:"Inactivo",authRequired:"Autenticación requerida",pleaseLogin:"Inicia sesión para grabar reuniones.",notSupported:"Grabación no soportada",browserNotSupport:"Tu navegador no soporta grabación de audio.",tooShort:"Grabación muy corta",recordAtLeast:"Graba al menos 3 segundos.",micDenied:"Acceso al micrófono denegado",allowMic:"Permite el acceso al micrófono.",recordingComplete:"¡Grabación completada!",meetingReady:"Tu reunión está lista.",recordingStopped:"Grabación detenida",processingBackground:"Procesando en segundo plano."},meetings:{title:"Mis reuniones",uploadMeeting:"Subir reunión",uploadAudio:"Subir audio/vídeo",uploadManual:"Análisis manual",meetingTitle:"Título de la reunión",titlePlaceholder:"ej., Ventas Q1",clickOrDrag:"Haz clic o arrastra aquí",audioFormats:"Archivos de audio/vídeo (.m4a, .mp4, .mp3, .wav, .mov)",maxSize:"Tamaño máximo: 100MB",transcribing:"Transcribiendo...",uploadAnalyze:"Subir y analizar",uploading:"Subiendo...",pasteTranscript:"Pega la transcripción aquí...",noMeetingsYet:"Sin reuniones aún",uploadFirst:"¡Sube tu primera grabación para análisis con IA!",telegramBanner:"Recibe tu análisis en Telegram — instantáneo",connectTelegram:"Conectar Telegram",paywallBanner:"Obtén 20 grabaciones completas por $5 para analizar tus llamadas completas — pago por uso, sin suscripción.",invalidFileType:"Tipo de archivo no válido",invalidFileDesc:"Sube archivos de audio o vídeo (.m4a, .mp4, .mp3, .wav, .mov)",uploadedSuccess:"¡Reunión subida!",uploadedDesc:"Tu reunión está siendo analizada.",fileUploaded:"¡Archivo subido!",fileUploadedDesc:"Transcribiendo y analizando...",uploadFailed:"Error al subir",uploadFailedDesc:"No se pudo subir la reunión. Inténtalo de nuevo.",fileUploadFailed:"No se pudo subir el archivo. Inténtalo de nuevo.",analysisRestarted:"Análisis reiniciado",analysisRestartedDesc:"Reanalizando tu reunión. Puede tardar 1-3 minutos.",retryFailed:"Error al reintentar",retryFailedDesc:"No se pudo reiniciar el análisis.",welcomePro:"¡Bienvenido a SpeakFlare Pro!",welcomeProDesc:"Tu suscripción está activa.",autoProcessing:"Procesamiento automático cada 5 minutos.",processingRecordings:"Procesando grabaciones",processingRecording:"Procesando grabación",analyzingMsg:"Analizando... vuelve en 10 min y revisa tu email 📧",analysisFailed:"Análisis fallido",upgradeToAnalyze:"Mejora a Pro para analizar esta reunión",partialAnalysisBanner:"Primeros 5 minutos analizados.",partialUpgradePrompt:"Mejora para analizar la grabación completa",partialChip:"5 min"},meetingDetail:{back:"Atrás",meeting:"Reunión",reanalyze:"Reanalizar",sendSummary:"Enviar resumen",actionItems:"Tareas",emailPreview:"Vista previa",errors:"errores",issue:"problema",issues:"problemas",howToFix:"Cómo corregir",whatYouS
748aid:"Lo que dijiste",sayInstead:"Di esto en su lugar",whyMatters:"Por qué importa",howToAvoid:"Cómo evitarlo",speechRate:"Velocidad del habla",audioPlayer:"Reproductor",speedOverTime:"Velocidad en el tiempo",wpm:"pal/min",structure:"Estructura",greatJob:"¡Buen trabajo!",meetingNotFound:"Reunión no encontrada",noTranscript:"Sin transcripción",noInsights:"Sin análisis aún",noActionItems:"Sin tareas detectadas",intro:"Intro",body:"Cuerpo",conclusion:"Conclusión",optimalRange:"Rango óptimo",noSpeechData:"Sin datos de velocidad",timeline:"Cronología",noStructureData:"Sin datos de estructura",score:"Puntuación",howToImprove:"Cómo mejorar",progressFromPrev:"Progreso respecto a reuniones anteriores",improved:"Mejorado",needsWork:"Necesita trabajo",firstMeeting:"Esta es tu primera reunión analizada",comparedToAvg:"comparado con el promedio",quickAnalysis:"Análisis rápido",mainIssue:"Problema principal",whyHappens:"Por qué ocurre",retranscribe:"Retranscribir",retranscribeStarted:"Retranscripción iniciada",retranscribeDesc:"La transcripción se actualizará.",retranscribeFailed:"Error en retranscripción",player:"Reproductor",text:"Texto",whatDiscussed:"Qué se discutió",improvements:"Mejoras",totalWords:"Total de palabras",optimal:"Óptimo",tooFast:"Demasiado rápido",tooSlow:"Demasiado lento",allSpeakers:"Todos los participantes:",selectSpeaker:"Seleccionar participante:",noSeparateAnalysis:"Sin análisis separado - mostrando general",analyzing:"Analizando...",noIssues:"Sin problemas detectados",executiveSummary:"Resumen ejecutivo",summary:"Resumen",transcript:"Transcripción",insights:"Análisis",followUp:"Seguimiento",partialBannerTitle:"Primeros 5 minutos analizados",partialBannerBody:"problemas encontrados en la vista previa. Mejora para analizar la grabación completa.",partialBannerCta:"Análisis completo"},progress:{overview:"Resumen",trend:"Tendencia",words:"Palabras",noData:"Sin datos aún",uploadToTrack:"¡Sube reuniones para rastrear tu progreso!",uploadFirst:"Sube tu primera reunión",issuesOverview:"Resumen de problemas",trackIssues:"Rastrea problemas por reunión para ver tu mejora.",wordTracking:"Seguimiento de palabras",eliminated:"Eliminado",history:"Historial",issueTrend:"Tendencia de problemas",trackTrend:"Sigue los cambios por categoría. ¡Tendencia descendente = mejora!",totalIssues:"Problemas totales"},profile:{account:"Cuenta",yourProfile:"Tu información de perfil",subscription:"Suscripción",proPlan:"Plan Pro — reuniones ilimitadas",monthlyBilling:"Facturación mensual",annualBilling:"Facturación anual",manageBilling:"Gestionar facturación",freePlan:"Plan gratuito",upgradeТoPro:"Mejorar a Pro",statistics:"Estadísticas",memberSince:"Miembro desde",meetings:"Reuniones",avgIssues:"Prom. errores",actions:"Acciones",logout:"Cerrar sesión",telegramTitle:"Notificaciones Telegram",telegramDesc:"Recibe resumen de análisis tras cada reunión",connected:"Conectado",sendTest:"Enviar prueba",telegramConnected:"✅ ¡Telegram conectado!",telegramConnectedDesc:"Recibirás resúmenes en Telegram.",disconnected:"Desconectado",telegramDisconnected:"Notificaciones Telegram desactivadas.",testSent:"¡Prueba enviada!",failed:"Error",couldNotSend:"No se pudo enviar la prueba.",receivingDesc:"Recibes resúmenes de reuniones en Telegram — la misma info que por email, al instante.",clickButton:"Haz clic en el botón para abrir Telegram:",pressStart:"Pulsa Start en el chat — te conectarás automáticamente.",openBot:"Abrir @SpeakFlareBot en Telegram",waiting:"Esperando conexión...",getAnalysis:"Recibe el mismo resumen que por email — en Telegram, tras cada reunión.",connectTelegram:"Conectar Telegram",integrations:"Integraciones",extension:"Extensión",zoom:"Zoom",settings:"Configuración",chromeExt:"Extensión Chrome",chromeExtDesc:"Transcripción en vivo para Google Meet y Zoom",extConnected:"Tu extensión está conectada y lista",installExt:"Instalar extensión",zoomIntegration:"Integración Zoom",zoomDesc:"Análisis automático de grabaciones Zoom",zoomConnected:"Tu cuenta Zoom está conectada",connectZoom:"Conectar Zoom",voiceProfile:"Perfil de voz",voiceProfileDesc:"Entrena el sistema para reconocer tu voz",createVoiceProfile:"Crear perfil de voz",enterInfo:"Ingresa tus datos para crear un perfil de voz",readSentences:"Lee cada oración con claridad y naturalidad",nameLabel:"Nombre *",namePlaceholder:"Ingresa tu nombre (ej., Juan, Ana)",photo:"Foto (opcional)",clickCircle:"Haz clic en el círculo para añadir foto",clickX:"Haz clic en X para eliminar foto",nextRecord:"Siguiente: Grabar voz",voiceTraining:"Entrenamiento de voz",recordingSamples:"Grabando muestras de voz",progressLabel:"Progreso",getReady:"Prepárate para hablar...",startRecording:"Iniciar grabación",finishRecording:"Terminar grabación",yourRecording:"Tu grabación",whatYouS
748aid:"Lo que dijiste:",analyzing:"Analizando audio...",noMatch:"No coincide con la oración. Graba de nuevo.",continueNext:"Continuar a siguiente oración",finishSave:"Terminar y guardar",saving:"Guardando perfil...",recordAgain:"Grabar de nuevo",noProfiles:'Sin perfiles de voz. Haz clic en "Añadir" para crear uno.',quickSetup:"Configuración rápida",installChrome:"Instalar desde Chrome Web Store",loginWith:"Inicia sesión con tu email",joinMeeting:"Únete a la reunión → la grabación comienza automáticamente",howToUse:"Cómo usar",enableCloud:"Activa la grabación en la nube en Zoom",hostMeetings:"Organiza reuniones con Zoom",startRecordingCloud:"Inicia la grabación en la nube durante las reuniones",analysisAuto:"El análisis ocurre automáticamente tras la reunión",importantNotes:"Notas importantes",mustUseCloud:"• Debes usar grabación en la nube",participantsSee:"• Los participantes ven el aviso de grabación",processingTime:"• El procesamiento tarda unos minutos",clickConnect:'Haz clic en "Conectar Zoom" a continuación',authorize:"Autoriza a SpeakFlare acceso a las grabaciones",enableCloudSettings:"Activa la grabación en la nube en los ajustes de Zoom",hostAuto:"Organiza reuniones — el análisis es automático",connectZoomAccount:"Conectar cuenta Zoom",zoomConnectedMsg:"¡Zoom conectado!",zoomConnectedDesc:"Tu cuenta Zoom se conectó exitosamente.",connectionFailed:"Error de conexión",connectionFailedDesc:"No se pudo conectar Zoom. Inténtalo de nuevo.",micDenied:"Acceso al micrófono denegado",allowMic:"Permite el acceso al micrófono.",voiceCreated:"¡Perfil de voz creado!",voiceCreatedDesc:"Tu voz fue entrenada y guardada.",failedCreate:"Error al crear perfil",profileDeleted:"Perfil eliminado",profileDeletedDesc:"El perfil de voz fue eliminado.",freeAnalyses:"minutos gratis por reunión"}},ohe={...yn,nav:{record:"Enregistrer",meetings:"Réunions",progress:"Progrès",profile:"Profil",admin:"Admin"}},lhe={...yn,nav:{record:"Aufnehmen",meetings:"Meetings",progress:"Fortschritt",profile:"Profil",admin:"Admin"}},che={...yn,nav:{record:"Gravar",meetings:"Reuniões",progress:"Progresso",profile:"Perfil",admin:"Admin"}},dhe={...yn,nav:{record:"Registra",meetings:"Riunioni",progress:"Progressi",profile:"Profilo",admin:"Admin"}},uhe={...yn,nav:{record:"Kaydet",meetings:"Toplantılar",progress:"İlerleme",profile:"Profil",admin:"Yönetim"}},mhe={...yn,nav:{record:"Nagraj",meetings:"Spotkania",progress:"Postęp",profile:"Profil",admin:"Admin"}},hhe={...yn,nav:{record:"Opnemen",meetings:"Vergaderingen",progress:"Voortgang",profile:"Profiel",admin:"Admin"}},fhe={...yn,nav:{record:"录音",meetings:"会议",progress:"进度",profile:"个人资料",admin:"管理"}},phe={...yn,nav:{record:"録音",meetings:"ミーティング",progress:"進捗",profile:"プロフィール",admin:"管理"}},ghe={...yn,nav:{record:"녹음",meetings:"회의",progress:"진행",profile:"프로필",admin:"관리"}},xhe={...yn,nav:{record:"रिकॉर्ड",meetings:"बैठकें",progress:"प्रगति",profile:"प्रोफ़ाइल",admin:"एडमिन"}},yhe={...yn,nav:{record:"Запис",meetings:"Зустрічі",progress:"Прогрес",profile:"Профіль",admin:"Адмін"}},vhe={...yn,nav:{record:"تسجيل",meetings:"الاجتماعات",progress:"التقدم",profile:"الملف الشخصي",admin:"الإدارة"},common:{...yn.common,cancel:"إلغاء",save:"حفظ",back:"رجوع",next:"التالي",previous:"السابق",retry:"إعادة المحاولة",upgrade:"ترقية",loading:"جارٍ التحميل...",error:"خطأ",success:"نجاح",logout:"تسجيل الخروج",remove:"إزالة",close:"إغلاق",add:"إضافة",delete:"حذف",send:"إرسال",connect:"اتصال",disconnect:"قطع الاتصال",or:"أو",of:"من",minutes:"دقائق",total:"المجموع",by:"بواسطة"}},bhe={en:yn,he:ahe,ar:vhe,es:ihe,ru:she,fr:ohe,de:lhe,pt:che,it:dhe,tr:uhe,pl:mhe,nl:hhe,zh:fhe,ja:phe,ko:ghe,hi:xhe,uk:yhe};function Np(e){return bhe[e||"en"]||yn}async function WC(){if(!("Notification"in window))return{granted:!1,denied:!0,canRequest:!1};const e=Notification.permission;return{granted:e==="granted",denied:e==="denied",canRequest:e==="default"}}
748async function whe(){if(!("Notification"in window))return console.warn("Notifications not supported in this browser"),!1;if(Notification.permission==="granted")return!0;if(Notification.permission==="denied")return!1;try{return await Notification.requestPermission()==="granted"}catch(e){return console.error("Error requesting notification permission:",e),!1}}async function jhe(){return"serviceWorker"in navigator?(console.log("Service Worker temporarily disabled"),null):(console.warn("Service Worker not supported"),null)}async function Nhe(e,t,r){if(!("Notification"in window)){console.warn("Notifications not supported");return}if(Notification.permission!=="granted"){console.warn("Notification permission not granted");return}try{if("serviceWorker"in navigator)await(await navigator.serviceWorker.ready).showNotification(e,{body:t,icon:"/icon-192.png",badge:"/icon-192.png",tag:"meeting-notification",requireInteraction:!0,data:{url:r||"/"},actions:[{action:"view",title:"View Report"},{action:"close",title:"Close"}]});else{const a=new Notification(e,{body:t,icon:"/icon-192.png"});r&&(a.onclick=()=>{window.focus(),window.location.href=r,a.close()})}}catch(a){if(console.error("Error showing notification:",a),"Notification"in window&&Notification.permission==="granted"){const s=new Notification(e,{body:t,icon:"/icon-192.png"});r&&(s.onclick=()=>{window.focus(),window.location.href=r,s.close()})}}}async function khe(){try{return await jhe()?(await WC()).granted?(console.log("Push notifications already enabled"),!0):(console.log("Push notifications available but not enabled"),!1):!1}catch(e){return console.error("Error initializing push notifications:",e),!1}}function She(){const{user:e}=Gt(),t=y.useRef(new Set),{data:r}=De({queryKey:[`/api/users/${e==null?void 0:e.id}/meetings`],enabled:!!(e!=null&&e.id),refetchInterval:3e4});y.useEffect(()=>{async function a(){if(!r||r.length===0||!(await WC()).granted)return;const i=r.filter(o=>{const l=o.analysisStatus==="completed",c=!t.current.has(o.id);return l&&c});for(const o of i){t.current.add(o.id);const l=o.grammarCount+o.fillerCount+o.clarityCount+o.salesCount;await Nhe("SpeakFlare Analysis Complete",`${o.title} - Found ${l} issues to improve`,`/meeting/${o.id}`)}}a()},[r])}function Che({onRefresh:e,pullDownThreshold:t=80,maxPullDown:r=150,refreshTimeout:a=1e3}){const[s,i]=y.useState(!1),[o,l]=y.useState(!1),[c,d]=y.useState(0),[u,m]=y.useState(null),h=y.useRef(0),f=y.useRef(null),b=y.useRef(null);return y.useEffect(()=>{const g=b.current;if(!g)return;let p=0,x=0;const v=j=>{if(o)return;p=j.touches[0].clientY,h.current=p;const k=g.scrollTop<=5,S=g.scrollHeight-g.scrollTop-g.clientHeight<=5;k||S?(k&&(f.current="top",m("top")),S&&(f.current="bottom",m("bottom"))):(f.current=null,m(null))},w=j=>{if(o)return;const S=j.touches[0].clientY-h.current,C=g.scrollTop<=5,A=g.scrollHeight-g.scrollTop-g.clientHeight<=5;C&&S>10&&f.current==="top"?(s||i(!0),j.preventDefault(),x=Math.min(S*.5,r),d(x)):A&&S<-10&&f.current==="bottom"?(s||i(!0),j.preventDefault(),x=Math.min(Math.abs(S)*.5,r),d(x)):s&&Math.abs(S)<=10&&(i(!1),d(0),m(null),f.current=null,x=0)},N=async()=>{if(!(!s||o)){if(i(!1),x>=t){l(!0),d(t);try{await Promise.race([e(),new Promise(j=>setTimeout(j,a))])}catch(j){console.error("Refresh failed:",j)}finally{setTimeout(()=>{l(!1),d(0),m(null),f.current=null},300)}}else d(0),m(null),f.current=null;x=0}};return g.addEventListener("touchstart",v,{passive:!0}),g.addEventListener("touchmove",w,{passive:!1}),g.addEventListener("touchend",N,{passive:!0}),()=>{g.removeEventListener("touchstart",v),g.removeEventListener("touchmove",w),g.removeEventListener("touchend",N)}},[s,o,e,t,r,a]),{containerRef:b,isPulling:s,isRefreshing:o,pullDistance:c,pullDirection:u}}function Phe(){const[e,t]=y.useState(!1),[r,a]=y.useState(!1);y.useEffect(()=>{async function i(){(await WC()).canRequest&&t(!0)}khe(),i()},[]);const s=async()=>{a(!0);const i=await whe();a(!1),i&&t(!1)};return e?n.jsxs("div",{className:"relative bg-gradient-to-r from-primary/10 to-blue-500/10 border border-primary/30 rounded-lg p-4 mb-6",children:[n.jsx("button",{onClick:()=>t(!1),className:"absolute top-2 right-2 text-muted-foreground hover:text-foreground","data-testid":"button-close-notification-banner",children:n.jsx(Ra,{className:"h-4 w-4"})}),n.jsxs("div",{className:"flex items-start gap-4 pr-8",children:[n.jsx("div",{className:"p-2 bg-primary/20 rounded-lg",children:n.jsx(Vv,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("h3",{className:"font-semibold text-foreground mb-1",children:"Get Notified When Your Analysis is Ready"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Enable push notifications to receive instant alerts when your meeting analysis is complete. You'll never miss important insights!"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(D,{size:"sm",onClick:s,disabled:r,"data-testid":"button-enable-notifications",children:r?"Requesting...":"Enable Notifications"}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>t(!1),"data-testid":"button-maybe-later",children:"Maybe Later"})]})]})]})]}):null}var UC="Dialog",[eq,D8e]=rn(UC),[The,vs]=eq(UC),tq=e=>{const{__scopeDialog:t,children:r,open:a,defaultOpen:s,onOpenChange:i,modal:o=!0}=e,l=y.useRef(null),c=y.useRef(null),[d=!1,u]=Kn({prop:a,defaultProp:s,onChange:i});return n.jsx(The,{scope:t,triggerRef:l,contentRef:c,contentId:Gn(),titleId:Gn(),descriptionId:Gn(),open:d,onOpenChange:u,onOpenToggle:y.useCallback(()=>u(m=>!m),[u]),modal:o,children:r})};tq.displayName=UC;var rq="DialogTrigger",nq=y.forwardRef((e,t)=>
vendor: 4,584 bytes, lines 748-752
748{const{__scopeDialog:r,...a}=e,s=vs(rq,r),i=tt(t,s.triggerRef);return n.jsx(Me.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":HC(s.open),...a,ref:i,onClick:ge(e.onClick,s.onOpenToggle)})});nq.displayName=rq;var VC="DialogPortal",[Ahe,aq]=eq(VC,{forceMount:void 0}),sq=e=>{const{__scopeDialog:t,forceMount:r,children:a,container:s}=e,i=vs(VC,t);return n.jsx(Ahe,{scope:t,forceMount:r,children:y.Children.map(a,o=>n.jsx(Yn,{present:r||i.open,children:n.jsx(Yu,{asChild:!0,container:s,children:o})}))})};sq.displayName=VC;var my="DialogOverlay",iq=y.forwardRef((e,t)=>{const r=aq(my,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,i=vs(my,e.__scopeDialog);return i.modal?n.jsx(Yn,{present:a||i.open,children:n.jsx(Ihe,{...s,ref:t})}):null});iq.displayName=my;var Ehe=Go("DialogOverlay.RemoveScroll"),Ihe=y.forwardRef((e,t)=>{const{__scopeDialog:r,...a}=e,s=vs(my,r);return n.jsx(fp,{as:Ehe,allowPinchZoom:!0,shards:[s.contentRef],children:n.jsx(Me.div,{"data-state":HC(s.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),hc="DialogContent",oq=y.forwardRef((e,t)=>{const r=aq(hc,e.__scopeDialog),{forceMount:a=r.forceMount,...s}=e,i=vs(hc,e.__scopeDialog);return n.jsx(Yn,{present:a||i.open,children:i.modal?n.jsx(_he,{...s,ref:t}):n.jsx(Mhe,{...s,ref:t})})});oq.displayName=hc;var _he=y.forwardRef((e,t)=>{const r=vs(hc,e.__scopeDialog),a=y.useRef(null),s=tt(t,r.contentRef,a);return y.useEffect(()=>{const i=a.current;if(i)return ub(i)},[]),n.jsx(lq,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ge(e.onCloseAutoFocus,i=>{var o;i.preventDefault(),(o=r.triggerRef.current)==null||o.focus()}),onPointerDownOutside:ge(e.onPointerDownOutside,i=>{const o=i.detail.originalEvent,l=o.button===0&&o.ctrlKey===!0;(o.button===2||l)&&i.preventDefault()}),onFocusOutside:ge(e.onFocusOutside,i=>i.preventDefault())})}),Mhe=y.forwardRef((e,t)=>{const r=vs(hc,e.__scopeDialog),a=y.useRef(!1),s=y.useRef(!1);return n.jsx(lq,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,i),i.defaultPrevented||(a.current||(l=r.triggerRef.current)==null||l.focus(),i.preventDefault()),a.current=!1,s.current=!1},onInteractOutside:i=>{var c,d;(c=e.onInteractOutside)==null||c.call(e,i),i.defaultPrevented||(a.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=i.target;((d=r.triggerRef.current)==null?void 0:d.contains(o))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),lq=y.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:i,...o}=e,l=vs(hc,r),c=y.useRef(null),d=tt(t,c);return db(),n.jsxs(n.Fragment,{children:[n.jsx(hp,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:s,onUnmountAutoFocus:i,children:n.jsx(Nc,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":HC(l.open),...o,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),n.jsxs(n.Fragment,{children:[n.jsx(Ohe,{titleId:l.titleId}),n.jsx(Fhe,{contentRef:c,descriptionId:l.descriptionId})]})]})}),qC="DialogTitle",cq=y.forwardRef((e,t)=>{const{__scopeDialog:r,...a}=e,s=vs(qC,r);return n.jsx(Me.h2,{id:s.titleId,...a,ref:t})});cq.displayName=qC;var dq="DialogDescription",uq=y.forwardRef((e,t)=>{const{__scopeDialog:r,...a}=e,s=vs(dq,r);return n.jsx(Me.p,{id:s.descriptionId,...a,ref:t})});uq.displayName=dq;var mq="DialogClose",hq=y.forwardRef((e,t)=>{const{__scopeDialog:r,...a}=e,s=vs(mq,r);return n.jsx(Me.button,{type:"button",...a,ref:t,onClick:ge(e.onClick,()=>s.onOpenChange(!1))})});hq.displayName=mq;function HC(e){return e?"open":"closed"}var fq="DialogTitleWarning",[$8e,pq]=See(fq,{contentName:hc,titleName:qC,docsSlug:"dialog"}),Ohe=({titleId:e})=>{const t=pq(fq),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
749
750If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
751
752For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Rhe="DialogDescriptionWarning",Fhe=({contentRef:e,descriptionId:t})=>{const a=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${pq(Rhe).contentName}}.`;return y.useEffect(()=>{var i;const s=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(a))},[a,e,t]),null}
752,gq=tq,xq=nq,yq=sq,Pb=iq,Tb=oq,Ab=cq,Eb=uq,vq=hq;const Tc=gq,Dhe=xq,$he=yq,bq=y.forwardRef(({className:e,...t},r)=>n.jsx(Pb,{ref:r,className:_e("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));bq.displayName=Pb.displayName;const fl=y.forwardRef(({className:e,children:t,...r},a)=>n.jsxs($he,{children:[n.jsx(bq,{}),n.jsxs(Tb,{ref:a,className:_e("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[t,n.jsxs(vq,{className:"absolute right-4 top-4 roun
752ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[n.jsx(Ra,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));fl.displayName=Tb.displayName;const Ac=({className:e,...t})=>n.jsx("div",{className:_e("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Ac.displayName="DialogHeader";const Ec=y.forwardRef(({className:e,...t},r)=>n.jsx(Ab,{ref:r,className:_e("text-lg font-semibold leading-none tracking-tight",e),...t}));Ec.displayName=Ab.displayName;const Lhe=y.forwardRef(({className:e,...t},r)=>n.jsx(Eb,{ref:r,className:_e("text-sm text-muted-foreground",e),...t}));Lhe.displayName=Eb.displayName;const zhe=Qu("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),hy=y.forwardRef(({className:e,variant:t,...r},a)=>n.jsx("div",{ref:a,role:"alert",className:_e(zhe({variant:t}),e),...r}));hy.displayName="Alert";const Bhe=y.forwardRef(({className:e,...t},r)=>n.jsx("h5",{ref:r,className:_e("mb-1 font-medium leading-none tracking-tight",e),...t}));Bhe.displayName="AlertTitle";const fy=y.forwardRef(({className:e,...t},r)=>n.jsx("div",{ref:r,className:_e("text-sm [&_p]:leading-relaxed",e),...t}));fy.displayName="AlertDescription";function Whe({open:e,onClose:t,onRecordingComplete:r}){const{user:a}=Gt(),{toast:s}=dt(),[i,o]=y.useState(!1),[l,c]=y.useState(!1),[d,u]=y.useState(0),[m,h]=y.useState(!1),[f,b]=y.useState(!1),[g,p]=y.useState(null),[x,v]=y.useState(null),[w,N]=y.useState(0),[j,k]=y.useState("auto"),S=y.useRef(null),C=y.useRef([]),A=y.useRef(null),T=y.useRef(null),E=y.useRef(null),I=y.useRef(0);y.useEffect(()=>{if(!e)return;if(p(null),v(null),o(!1),c(!1),u(0),h(!1),b(!1),!a||!a.id){p("Please log in to record meetings");return}if(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia){p("Your browser does not support audio recording");return}if(typeof MediaRecorder>"u"){p("MediaRecorder is not supported in your browser");return}const _=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg","audio/wav"].find(F=>MediaRecorder.isTypeSupported(F));_?(v(_),console.log("[LiveRecorder] Using MIME type:",_)):(p("No supported audio format found in your browser"),console.error("[LiveRecorder] No supported MIME types found"))},[e,a]);const R=$=>{const _=Math.floor($/60),F=$%60;return`${_.toString().padStart(2,"0")}:${F.toString().padStart(2,"0")}`},P=async()=>{try{if(p(null),!a||!a.id){p("Please log in to record meetings"),s({title:"Authentication Required",description:"Please log in to record meetings.",variant:"destructive"});return}if(!x){p("Recording not supported in your browser");return}const $=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}});T.current=$,E.current=`session-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,I.current=0,N(0),console.log(`[LiveRecorder] Starting progressive upload session: ${E.current}`);const _={mimeType:x},F=new MediaRecorder($,_);S.current=F,C.current=[],F.ondataavailable=async U=>{if(U.data.size>0){const Z=I.current++;C.current.push(U.data),console.log(`[LiveRecorder] Chunk ${Z} received: ${U.data.size} bytes, uploading...`);try{const H=new FormData;H.append("chunk",U.data),H.append("sessionId",E.current),H.append("chunkIndex",Z.toString()),H.append("mimeType",x),H.append("title",`Live Recording ${new Date().toLocaleString()}`),j!=="auto"&&H.append("languageOverride",j);const Q=await fetch("/api/meetings/live-chunk",{method:"POST",body:H,credentials:"include"});if(!Q.ok)throw new Error(`Chunk upload failed: ${Q.statusText}`);N(Z+1),console.log(`[LiveRecorder] Chunk ${Z} uploaded to server successfully`)}catch(H){console.error(`[LiveRecorder] Failed to upload chunk ${Z}:`,H)}}},F.start(1e3),o(!0),u(0),A.current=setInterval(()=>{u(U=>U+1)},1e3)}catch($){console.error("Error starting recording:",$),p($.message||"Failed to access microphone"),s({title:"Microphone Access Denied",description:"Please allow microphone access to record.",variant:"destructive"})}},M=()=>
752{if(S.current&&i){if(d<3){s({title:"Recording Too Short",description:"Please record for at least 3 seconds to ensure quality transcription.",variant:"destructive"});return}const $=E.current,_=C.current.length;if(S.current.stop(),o(!1),A.current&&(clearInterval(A.current),A.current=null),T.current&&(T.current.getTracks().forEach(F=>F.stop()),T.current=null),$&&_>0){const F={sessionId:$};j!=="auto"&&(F.languageOverride=j),fetch("/api/meetings/live-finalize",{method:"POST",body:JSON.stringify(F),headers:{"Content-Type":"application/json"},credentials:"include"}).then(async U=>{if(U.ok)await Qe.invalidateQueries({queryKey:["/api/meetings"]}),s({title:"Recording Complete!",description:"Your meeting is ready. View it in your dashboard."}),r();else throw new Error(`Finalize failed: ${U.statusText}`)}).catch(U=>{console.error("[LiveRecorder] Background finalize error:",U)})}s({title:"Recording Stopped",description:"Processing in background. Check your dashboard in a few moments!"}),c(!1),u(0),h(!1),b(!1),C.current=[],E.current=null,I.current=0,N(0),t()}}
752,O=()=>{if(i&&E.current&&C.current.length>0){const $=E.current,_=C.current.length;console.log(`[LiveRecorder] Dialog closed during recording - ensuring finalize for session ${$} with ${_} chunks`),S.current&&S.current.stop(),T.current&&(T.current.getTracks().forEach(U=>U.stop()),T.current=null),A.current&&(clearInterval(A.current),A.current=null);const F=async(U=1)=>{try{const Z={sessionId:$};j!=="auto"&&(Z.languageOverride=j),(await fetch("/api/meetings/live-finalize",{method:"POST",body:JSON.stringify(Z),headers:{"Content-Type":"application/json"},credentials:"include"})).ok?(console.log(`[LiveRecorder] Finalize successful on attempt ${U}`),Qe.invalidateQueries({queryKey:["/api/meetings"]})):U<3?(console.log(`[LiveRecorder] Finalize attempt ${U} failed, retrying...`),setTimeout(()=>F(U+1),2e3)):console.log("[LiveRecorder] Finalize failed after 3 attempts - server will auto-process in 5 minutes")}catch{U<3?(console.log(`[LiveRecorder] Finalize error on attempt ${U}, retrying...`),setTimeout(()=>F(U+1),2e3)):console.log("[LiveRecorder] Finalize failed after 3 attempts - server will auto-process in 5 minutes")}};F(),s({title:"Recording Saved",description:"Your recording is being processed. Check your dashboard shortly!"})}else if(i){M();return}T.current&&(T.current.getTracks().forEach($=>$.stop()),T.current=null),A.current&&(clearInterval(A.current),A.current=null),o(!1),c(!1),u(0),h(!1),b(!1),C.current=[],E.current=null,I.current=0,N(0),t()};return y.useEffect(()=>()=>{if(E.current&&C.current.length>0){const $=E.current;console.log(`[LiveRecorder] Component unmounting with active session ${$} - sending finalize`);const _=JSON.stringify({sessionId:$});navigator.sendBeacon("/api/meetings/live-finalize",new Blob([_],{type:"application/json"}))}A.current&&clearInterval(A.current),T.current&&T.current.getTracks().forEach($=>$.stop())},[]),y.useEffect(()=>{const $=_=>{if(i)return _.preventDefault(),_.returnValue="Recording in progress. Chunks are auto-saved every second.",_.returnValue};return window.addEventListener("beforeunload",$),()=>window.removeEventListener("beforeunload",$)},[i]),n.jsx(Tc,{open:e,onOpenChange:$=>{$||O()},children:n.jsxs(fl,{className:"sm:max-w-md",children:[n.jsx(Ac,{children:n.jsx(Ec,{children:"Live Recording"})}),n.jsxs("div",{className:"space-y-6",children:[!i&&!m&&!f&&!g&&n.jsxs(hy,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/30 dark:border-blue-900",children:[n.jsx(f4,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),n.jsxs(fy,{className:"text-sm text-blue-800 dark:text-blue-200",children:[n.jsx("strong",{children:"Best results:"})," Record in a quiet environment without background TV or music for accurate analysis.",n.jsx("br",{}),n.jsx("strong",{children:"Minimum 2 seconds:"})," Record for at least 2 seconds before stopping to ensure valid audio."]})]}),i&&n.jsxs(hy,{className:"border-orange-200 bg-orange-50 dark:bg-orange-950/30 dark:border-orange-900",children:[n.jsx(f4,{className:"h-4 w-4 text-orange-600 dark:text-orange-400"}),n.jsxs(fy,{className:"text-sm text-orange-800 dark:text-orange-200",children:[n.jsx("strong",{children:"Recording in progress..."})," Please record for at least 2 seconds before stopping for valid audio."]})]}),n.jsxs("div",{className:"text-center space-y-4",children:[!i&&!m&&!f&&!g&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"w-24 h-24 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(Ze,{className:"h-12 w-12 text-primary"})}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Click the button below to start recording from your microphone"})]}),i&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"w-24 h-24 mx-auto bg-red-500/10 rounded-full flex items-center justify-center animate-pulse",children:n.jsx(Ze,{className:"h-12 w-12 text-red-500"})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("div",{className:"text-3xl font-mono font-bold",children:R(d)}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Recording..."}),n.jsxs("div",{className:"flex items-center justify-center gap-2 text-xs text-green-600 dark:text-green-400",children:[n.jsx(gn,{className:"h-3 w-3"}),n.jsxs("span",{className:"font-mono font-semibold",children:[w," chunks saved"]})]})]})]}),m&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"w-24 h-24 mx-auto bg-primary/10 flex items-center justify-center",children:n.jsx("div",{className:"w-16 h-2 bg-primary/30 overflow-hidden",children:n.jsx("div",{className:"h-full w-1/2 bg-primary animate-[loading-bar_1s_ease-in-out_infinite]"})})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("div",{className:"text-lg font-semibold",children:"Processing..."}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Transcribing your recording"})]})]}),f&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"w-24 h-24 mx-auto bg-green-500/10 rounded-full flex items-center justify-center",children:n.jsx(gn,{className:"h-12 w-12 text-green-500"})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("div",{className:"text-lg font-semibold text-green-700 dark:text-green-400",children:"Success!"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Your recording is being analyzed"})]})]}),g&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"w-24 h-24 mx-auto bg-red-500/10 rounded-full flex items-center justify-center",children:n.jsx(Di,{className:"h-12 w-12 text-red-500"})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("div",{className:"text-lg font-semibold text-red-700 dark:text-red-400",children:"Error"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:g})]})]})]}),!i&&!m&&!f&&!g&&n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"language-select",className:"text-sm font-medium",children:"Recording Language"}),n.jsxs(zi,{value:j,onValueChange:k,children:[n.jsx(Hs,{id:"language-select","data-testid":"select-language",children:n.jsx(Bi,{placeholder:"Auto-detect language"})}),n.jsxs(Gs,{children:[n.jsx(jt,{value:"auto",children:"Auto-detect"}),n.jsx(jt,{value:"en",children:"English"}),n.jsx(jt,{value:"he",children:"עברית (Hebrew)"}),n.jsx(jt,{value:"es",children:"Español (Spanish)"}),n.jsx(jt,{value:"ru",children:"Русский (Russian)"}),n.jsx(jt,{value:"ar",children:"العربية (Arabic)"}),n.jsx(jt,{value:"zh",children:"中文 (Chinese)"}),n.jsx(jt,{value:"fr",children:"Français (French)"}),n.jsx(jt,{value:"de",children:"Deutsch (German)"}),n.jsx(jt,{value:"it",children:"Italiano (Italian)"}),n.jsx(jt,{value:"pt",children:"Português (Portuguese)"}),n.jsx(jt,{value:"ja",children:"日本語 (Japanese)"}),n.jsx(jt,{value:"ko",children:"한국어 (Korean)"}),n.jsx(jt,{value:"hi",children:"हिन्दी (Hindi)"}),n.jsx(jt,{value:"tr",children:"Türkçe (Turkish)"}),n.jsx(jt,{value:"pl",children:"Polski (Polish)"}),n.jsx(jt,{value:"nl",children:"Nederlands (Dutch)"}),n.jsx(jt,{value:"uk",children:"Українська (Ukrainian)"})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Select your language for better accuracy, or use auto-detect"})]}),n.jsxs("div",{className:"flex gap-3",children:[!i&&!m&&!f&&n.jsxs(n.Fragment,{children:[n.jsxs(D,{onClick:P,className:"flex-1",disabled:!!g||!x,"data-testid":"button-start-recording",children:[n.jsx(Ze,{className:"h-4 w-4 mr-2"}),"Start Recording"]}),n.jsx(D,{onClick:O,variant:"outline","data-testid":"button-cancel",children:"Cancel"})]}),i&&n.jsxs(n.Fragment,{children:[n.jsxs(D,{onClick:M,className:"flex-1 bg-red-500 hover:bg-red-600 disabled:opacity-50 disabled:cursor-not-allowed",disabled:d<3,"data-testid":"button-stop-recording",children:[n.jsx(cp,{className:"h-4 w-4 mr-2"}),d<3?`Wait ${3-d}s...`:"Stop Recording"]}),d<3&&n.jsx("p",{className:"text-xs text-muted-foreground text-center w-full",children:"Minimum 3 seconds required for transcription"})]}),(m||f)&&n.jsx(D,{onClick:O,variant:"outline",className:"flex-1",disabled:m,"data-testid":"button-close",children:"Close"})]})]})]})})}function Uhe(){const{data:e,isLoading:t,isError:r}=De({queryKey:["/api/health/watchdog"],refetchInterval:3e4,retry:1}),s=(()=>
752{if(t)return{icon:n.jsx(cu,{className:"h-3.5 w-3.5 text-muted-foreground animate-pulse"}),label:"Checking...",color:"text-muted-foreground"};if(r||!e)return{icon:n.jsx(Vs,{className:"h-3.5 w-3.5 text-destructive"}),label:"Offline",color:"text-destructive"};if(e.isRunning){const i=e.lastRunAt?new Date(e.lastRunAt):null,o=i?Math.floor((Date.now()-i.getTime())/1e3):null;return{icon:n.jsx(nr,{className:"h-3.5 w-3.5 text-green-500"}),label:o!==null?`Active (${o}s ago)`:"Active",color:"text-green-500"}}return{icon:n.jsx(Vs,{className:"h-3.5 w-3.5 text-amber-500"}),label:`Stale (${e.staleMinutes}min)`,color:"text-amber-500"}})();return n.jsxs(iae,{children:[n.jsx(oae,{asChild:!0,children:n.jsxs("div",{className:"flex items-center gap-1.5 text-xs cursor-help","data-testid":"status-watchdog",children:[s.icon,n.jsxs("span",{className:s.color,children:["Watchdog: ",s.label]})]})}),n.jsx(gB,{side:"bottom",className:"max-w-xs",children:n.jsxs("div",{className:"text-xs space-y-1",children:[n.jsx("p",{className:"font-medium",children:"Production Processing Monitor"}),n.jsx("p",{className:"text-muted-foreground",children:e!=null&&e.isRunning?"The system is actively processing your recordings.":"The watchdog may need attention - recordings might not be processed."}),(e==null?void 0:e.message)&&n.jsxs("p",{className:"text-muted-foreground",children:["Last: ",e.message]})]})})]})}var GC="Popover",[wq,L8e]=rn(GC,[cl]),kp=cl(),[Vhe,pl]=wq(GC),jq=e=>{const{__scopePopover:t,children:r,open:a,defaultOpen:s,onOpenChange:i,modal:o=!1}=e,l=kp(t),c=y.useRef(null),[d,u]=y.useState(!1),[m=!1,h]=Kn({prop:a,defaultProp:s,onChange:i});return n.jsx(nb,{...l,children:n.jsx(Vhe,{scope:t,contentId:Gn(),triggerRef:c,open:m,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(f=>!f),[h]),hasCustomAnchor:d,onCustomAnchorAdd:y.useCallback(()=>u(!0),[]),onCustomAnchorRemove:y.useCallback(()=>u(!1),[]),modal:o,children:r})})};jq.displayName=GC;var Nq="PopoverAnchor",qhe=y.forwardRef((e,t)=>{const{__scopePopover:r,...a}=e,s=pl(Nq,r),i=kp(r),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=s;return y.useEffect(()=>(o(),()=>l()),[o,l]),n.jsx(mp,{...i,...a,ref:t})});qhe.displayName=Nq;var kq="PopoverTrigger",Sq=y.forwardRef((e,t)=>{const{__scopePopover:r,...a}=e,s=pl(kq,r),i=kp(r),o=tt(t,s.triggerRef),l=n.jsx(Me.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Eq(s.open),...a,ref:o,onClick:ge(e.onClick,s.onOpenToggle)});return s.hasCustomAnchor?l:n.jsx(mp,{asChild:!0,...i,children:l})});Sq.displayName=kq;var KC="PopoverPortal",[Hhe,Ghe]=wq(KC,{forceMount:void 0}),Cq=e=>{const{__scopePopover:t,forceMount:r,children:a,container:s}=e,i=pl(KC,t);return n.jsx(Hhe,{scope:t,forceMount:r,children:n.jsx(Yn,{present:r||i.open,children:n.jsx(Yu,{asChild:!0,container:s,children:a})})})};Cq.displayName=KC;var vu="PopoverContent",Pq=y.forwardRef((e,t)=>{const r=Ghe(vu,e.__scopePopover),{forceMount:a=r.forceMount,...s}=e,i=pl(vu,e.__scopePopover);return n.jsx(Yn,{present:a||i.open,children:i.modal?n.jsx(Yhe,{...s,ref:t}):n.jsx(Zhe,{...s,ref:t})})});Pq.displayName=vu;var Khe=Go("PopoverContent.RemoveScroll"),Yhe=y.forwardRef((e,t)=>{const r=pl(vu,e.__scopePopover),a=y.useRef(null),s=tt(t,a),i=y.useRef(!1);return y.useEffect(()=>{const o=a.current;if(o)return ub(o)},[]),n.jsx(fp,{as:Khe,allowPinchZoom:!0,children:n.jsx(Tq,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ge(e.onCloseAutoFocus,o=>{var l;o.preventDefault(),i.current||(l=r.triggerRef.current)==null||l.focus()}),onPointerDownOutside:ge(e.onPointerDownOutside,o=>{const l=o.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,d=l.button===2||c;i.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:ge(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})}),Zhe=y.forwardRef((e,t)=>{const r=pl(vu,e.__scopePopover),a=y.useRef(!1),s=y.useRef(!1);return n.jsx(Tq,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,i),i.defaultPrevented||(a.current||(l=r.triggerRef.current)==null||l.focus(),i.preventDefault()),a.current=!1,s.current=!1},onInteractOutside:i=>{var c,d;(c=e.onInteractOutside)==null||c.call(e,i),i.defaultPrevented||(a.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=i.target;((d=r.triggerRef.current)==null?void 0:d.contains(o))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),Tq=y.forwardRef((e,t)=>
752{const{__scopePopover:r,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:u,...m}=e,h=pl(vu,r),f=kp(r);return db(),n.jsx(hp,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:s,onUnmountAutoFocus:i,children:n.jsx(Nc,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>h.onOpenChange(!1),children:n.jsx(ab,{"data-state":Eq(h.open),role:"dialog",id:h.contentId,...f,...m,ref:t,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),Aq="PopoverClose",Qhe=y.forwardRef((e,t)=>{const{__scopePopover:r,...a}=e,s=pl(Aq,r);return n.jsx(Me.button,{type:"button",...a,ref:t,onClick:ge(e.onClick,()=>s.onOpenChange(!1))})});Qhe.displayName=Aq;var Xhe="PopoverArrow",Jhe=y.forwardRef((e,t)=>{const{__scopePopover:r,...a}=e,s=kp(r);return n.jsx(sb,{...s,...a,ref:t})});Jhe.displayName=Xhe;function Eq(e){return e?"open":"closed"}var efe=jq,tfe=Sq,rfe=Cq,Iq=Pq;const nfe=efe,afe=tfe,_q=y.forwardRef(({className:e,align:t="center",sideOffset:r=4,...a},s)=>n.jsx(rfe,{children:n.jsx(Iq,{ref:s,align:t,sideOffset:r,className:_e("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...a})}));_q.displayName=Iq.displayName;function sfe(e){const t=Math.floor((Date.now()-e.getTime())/1e3);if(t<60)return"just now";const r=Math.floor(t/60);if(r<60)return`${r}m ago`;const a=Math.floor(r/60);if(a<24)return`${a}h ago`;const s=Math.floor(a/24);return s===1?"yesterday":`${s}d ago`}function Vc(e){const t=e.created_at||e.createdAt;return t?new Date(t):new Date}function NE(e){return e.filler_count??e.fillerCount??0}function ife(e){if(!e||e.length===0)return[];const t=[...e].sort((d,u)=>Vc(u).getTime()-Vc(d).getTime()),r=[],a=t[0];if(r.push({id:`analysis-${a.id}`,type:"analysis_complete",message:`"${a.title||"Untitled meeting"}" has been analyzed`,subtext:"Your full report is ready to view",time:Vc(a),read:!1}),t.length>=2){const d=t[1],u=NE(a),m=NE(d);if(m>0&&u<m){const h=Math.round((m-u)/m*100);r.push({id:"improvement-1",type:"improvement",message:`You improved by ${h}% on filler words!`,subtext:`Down from ${m} to ${u}`,time:Vc(a),read:!1})}}const s=e.length,o=[...[{count:1,msg:"You analyzed your first meeting!"},{count:5,msg:"5 meetings analyzed — you're building a habit!"},{count:10,msg:"10 meetings analyzed — you're on a roll!"},{count:25,msg:"25 meetings! You're a SpeakFlare power user."},{count:50,msg:"50 meetings analyzed — incredible dedication!"}]].reverse().find(d=>s>=d.count);o&&r.push({id:`milestone-${o.count}`,type:"milestone",message:o.msg,time:Vc(t[t.length-1]),read:!0});const l=Date.now()-7*24*60*60*1e3,c=e.filter(d=>Vc(d).getTime()>=l);return c.length>0&&r.push({id:"weekly-recap",type:"weekly_recap",message:"Your weekly digest is ready",subtext:`${c.length} meeting${c.length!==1?"s":""} analyzed this week`,time:new Date(Date.now()-60*60*1e3),read:!0}),r}const ofe={analysis_complete:k8,improvement:em,milestone:Zo,weekly_recap:I2},lfe={analysis_complete:"text-blue-600 bg-blue-50 dark:bg-blue-950/30 dark:text-blue-400",improvement:"text-green-600 bg-green-50 dark:bg-green-950/30 dark:text-green-400",milestone:"text-amber-600 bg-amber-50 dark:bg-amber-950/30 dark:text-amber-400",weekly_recap:"text-purple-600 bg-purple-50 dark:bg-purple-950/30 dark:text-purple-400"};function cfe(){const[e,t]=y.useState(!1),[r,a]=y.useState(new Set),{data:s=[]}=De({queryKey:["/api/meetings"],retry:!1}),i=y.useMemo(()=>ife(s),[s]),o=i.filter(d=>!d.read&&!r.has(d.id)).length,l=()=>{a(new Set(i.map(d=>d.id)))},c=d=>d.read||r.has(d.id);return n.jsxs(nfe,{open:e,onOpenChange:t,children:[n.jsx(afe,{asChild:!0,children:n.jsxs("button",{className:"relative flex items-center justify-center h-9 w-9 rounded-full hover:bg-muted transition-colors focus:outline-none","aria-label":"Notifications","data-testid":"notification-bell",children:[n.jsx(Vv,{className:"h-5 w-5 text-muted-foreground"}),o>
7520&&n.jsx("span",{className:"absolute top-1 right-1 h-4 w-4 rounded-full bg-red-500 flex items-center justify-center text-[10px] text-white font-bold leading-none","data-testid":"notification-badge",children:o>9?"9+":o})]})}),n.jsxs(_q,{align:"end",sideOffset:8,className:"w-80 p-0 overflow-hidden","data-testid":"notification-panel",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[n.jsx("h4",{className:"font-semibold text-sm",children:"Notifications"}),o>0&&n.jsxs(D,{variant:"ghost",size:"sm",onClick:l,className:"text-xs h-7 px-2 text-muted-foreground",children:[n.jsx(vte,{className:"h-3.5 w-3.5 mr-1"}),"Mark all read"]})]}),n.jsx("div",{className:"max-h-80 overflow-y-auto",children:i.length===0?n.jsx("div",{className:"py-10 text-center text-sm text-muted-foreground",children:"No notifications yet"}):i.map(d=>{const u=ofe[d.type],m=lfe[d.type],h=c(d);return n.jsxs("div",{className:`flex items-start gap-3 px-4 py-3 border-b border-border/50 last:border-0 transition-colors ${h?"":"bg-primary/[0.03]"}`,children:[n.jsx("div",{className:`h-8 w-8 rounded-full flex items-center justify-center flex-shrink-0 ${m}`,children:n.jsx(u,{className:"h-4 w-4"})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:`text-sm leading-snug ${h?"text-muted-foreground":"font-medium"}`,children:d.message}),d.subtext&&n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:d.subtext}),n.jsx("p",{className:"text-[11px] text-muted-foreground/60 mt-1",children:sfe(d.time)})]}),!h&&n.jsx("span",{className:"h-2 w-2 rounded-full bg-primary mt-1.5 flex-shrink-0"})]},d.id)})}),i.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-muted/30",children:n.jsx("p",{className:"text-[11px] text-muted-foreground text-center",children:"Notifications are derived from your meeting history"})})]})]})}const Lw={filler_words:e=>`Reduce filler words to ${e}`,grammar:e=>`Grammar issues under ${e}`,clarity:e=>`Clarity issues under ${e}`,meetings_per_week:e=>`Record ${e} meetings/week`,overall_score:e=>`Communication score ${e}`};function dfe(e){if(["filler_words","grammar","clarity"].includes(e.type)){if(e.currentValue<=e.targetValue)return 100;const r=Math.max(e.currentValue,e.targetValue*2),a=r-e.currentValue,s=r-e.targetValue;return Math.min(100,Math.max(0,Math.round(a/s*100)))}else return e.targetValue===0?100:Math.min(100,Math.round(e.currentValue/e.targetValue*100))}function zw(e){return Math.ceil((new Date(e).getTime()-Date.now())/(1e3*60*60*24))}function ufe(){var c;const{data:e,isLoading:t}=De({queryKey:["/api/goals"]});if(t)return n.jsxs("div",{className:"bg-card border border-border p-4 animate-pulse",children:[n.jsx("div",{className:"h-4 bg-muted w-1/3 mb-3"}),n.jsx("div",{className:"h-2 bg-muted w-full mb-2"}),n.jsx("div",{className:"h-3 bg-muted w-1/4"})]});const r=(e||[]).filter(d=>d.status==="active");if(r.length===0)return n.jsx("div",{className:"bg-card border border-border p-4",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center",children:n.jsx(rr,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground",children:"No active goals"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Set a goal to stay motivated"})]})]}),n.jsx(Fe,{href:"/goals",children:n.jsxs(D,{size:"sm",variant:"outline",className:"text-xs gap-1",children:["Set a goal",n.jsx(At,{className:"h-3 w-3"})]})})]})});const a=[...r].sort((d,u)=>{const m=zw(d.deadline),h=zw(u.deadline);return m-h})[0],s=dfe(a),i=zw(a.deadline),o=((c=Lw[a.type])==null?void 0:c.call(Lw,a.targetValue))??`Goal: ${a.targetValue}`,l=s>=80?"bg-green-500":s>=50?"bg-yellow-500":"bg-primary";return n.jsxs("div",{className:"bg-card border border-border p-4",children:[n.jsxs("div",{className:"flex items-start justify-between gap-3 mb-3",children:[n.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx(rr,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{className:"min-w-0",children:[n.jsxs("p",{className:"text-xs text-muted-foreground font-medium uppercase tracking-wide mb-0.5",children:["Active Goal ",r.length>1?`(+${r.length-1} more)`:""]}),n.jsx("p",{className:"text-sm font-semibold text-foreground leading-tight truncate",children:o})]})]}),n.jsx(Fe,{href:"/goals",children:n.jsxs("button",{className:"text-xs text-primary hover:underline flex items-center gap-0.5 flex-shrink-0",children:["View all",n.jsx(At,{className:"h-3 w-3"})]})})]}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center justify-between text-xs",children:[n.jsxs("span",{className:"text-muted-foreground",children:[s,"% to goal"]}),n.jsxs("span",{className:`flex items-center gap-1 font-medium ${i<=7?"text-red-500":"text-muted-foreground"}`,children:[i<=7&&n.jsx(Yv,{className:"h-3 w-3"}),i>0?`${i}d left`:"Deadline passed"]})]}),n.jsx("div",{className:"w-full bg-muted h-2 overflow-hidden",children:n.jsx("div",{className:`h-full ${l} transition-all duration-700`,style:{width:`${s}%`}})})]})]})}function Bw({className:e,...t}){return n.jsx("div",{className:_e("animate-pulse rounded-md bg-muted",e),...t})}async function mfe(){const e=await fetch("/api/benchmarks",{credentials:"include"});if(!e.ok)throw new Error("Failed to fetch benchmarks");return e.json()}function hfe(e){return e<=10?{badge:"bg-yellow-50 border-yellow-200 text-yellow-800",bar:"bg-yellow-500",text:"text-yellow-700"}:e<=25?{badge:"bg-green-50 border-green-200 text-green-800",bar:"bg-green-500",text:"text-green-700"}:e<=50?{badge:"bg-blue-50 border-blue-200 text-blue-800",bar:"bg-blue-500",text:"text-blue-700"}:{badge:"bg-muted border-border text-muted-foreground",bar:"bg-primary",text:"text-muted-foreground"}}function ffe(e){return e<=5?"Elite":e<=10?"Top Performer":e<=25?"Above Average":e<=50?"Average":"Below Average"}function Mq(){const{data:e,isLoading:t,isError:r}=De({queryKey:["benchmarks"],queryFn:mfe,retry:1,staleTime:3e5});if(t)return n.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-border bg-card px-4 py-3 w-full max-w-xs",children:[n.jsx(Bw,{className:"h-8 w-8 rounded-full flex-shrink-0"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsx(Bw,{className:"h-3 w-32"}),n.jsx(Bw,{className:"h-2 w-full"})]})]});if(r||!e)return null;const{percentile:a}=e,s=hfe(a),i=ffe(a),o=Math.max(5,Math.min(100,100-a+5));return n.jsxs("div",{className:`flex items-center gap-3 rounded-md border px-3 sm:px-4 py-3 w-full ${s.badge}`,children:[n.jsx("div",{className:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-full bg-white/60 shadow-sm",children:n.jsx(Zo,{className:`h-4 w-4 ${s.text}`})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-bold leading-tight",children:["You're in the"," ",n.jsxs("span",{className:`font-extrabold ${s.text}`,children:["top ",a,"%"]})," ","of communicators on SpeakFlare"]}),n.jsxs("div",{className:"mt-1.5 flex items-center gap-2",children:[n.jsx("div",{className:"flex-1 h-1.5 rounded-full bg-black/10 overflow-hidden",children:n.jsx("div",{className:`h-full rounded-full transition-all duration-700 ${s.bar}`,style:{width:`${o}%`}})}),n.jsx("span",{className:`text-xs font-semibold whitespace-nowrap ${s.text}`,children:i})]})]})]})}function pfe(){const{toast:e}=dt(),[t,r]=y.useState(!1),{data:a,isLoading:s}=De({queryKey:["/api/referral/code"]}),i=()=>{a!=null&&a.referralUrl&&navigator.clipboard.writeText(a.referralUrl).then(()=>{r(!0),setTimeout(()=>r(!1),2e3),e({title:"Copied!",description:"Referral link copied to clipboard."})})};return s?null:n.jsx(X,{className:"border-primary/20 bg-primary/5",children:n.jsx(ue,{className:"pt-4 pb-4",children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/15 flex items-center justify-center shrink-0 mt-0.5",children:n.jsx(S8,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm text-foreground",children:"Invite friends → get free analyses"}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 mb-3",children:"Both you and your friend get 1 bonus analysis when they join"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx("div",{className:"flex-1 min-w-0 text-xs font-mono bg-background border border-border rounded px-2 py-1.5 truncate text-muted-foreground",children:(a==null?void 0:a.referralUrl)??"Loading..."}),n.jsx(D,{variant:"outline",size:"sm",onClick:i,className:"shrink-0 h-7 px-2",children:t?n.jsx(ut,{className:"h-3.5 w-3.5 text-green-600"}):n.jsx(Xu,{className:"h-3.5 w-3.5"})})]}),n.jsx(Fe,{href:"/referral",className:"text-xs text-primary hover:underline mt-2 inline-block",children:"View full referral dashboard →"})]})]})})})}function gfe(){const{user:e}=Gt(),{data:t,isLoading:r}=De({queryKey:["/api/teams/mine"],enabled:!!e,retry:!1,queryFn:async()=>{const a=await fetch("/api/teams/mine",{credentials:"include"});return a.status===404||a.status===204||!a.ok?null:a.json()}});return e?r?n.jsx("div",{className:"bg-card border border-border/50 p-4 flex items-center justify-center",children:n.jsx(Ce,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):t?n.jsxs("div",{className:"bg-card border border-border/50 p-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-8 h-8 bg-primary/10 flex items-center justify-center",children:n.jsx(Wt,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground",children:t.name}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:[t.memberCount," member",t.memberCount!==1?"s":""]})]})]}),n.jsx(Fe,{href:"/team",children:n.jsxs("span",{className:"text-xs text-primary hover:underline flex items-center gap-1 cursor-pointer",children:["Manage Team ",n.jsx(Xs,{className:"h-3 w-3"})]})})]}),t.userRank!=null&&n.jsxs("div",{className:"bg-primary/5 px-3 py-2 text-xs text-primary font-medium",children:["You're #",t.userRank," on your team this week"]})]}):n.jsx(Fe,{href:"/team",children:n.jsxs("div",{className:"bg-card border border-border/50 p-4 flex items-center justify-between group cursor-pointer hover:bg-muted/50 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-8 h-8 bg-primary/10 flex items-center justify-center",children:n.jsx(Wt,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Create or join a team"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Track your team's progress together"})]})]}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors"})]})}):null}var xfe=Array.isArray,Zn=xfe,yfe=typeof Up=="object"&&Up&&Up.Object===Object&&Up,Oq=yfe,vfe=Oq,bfe=typeof self=="object"&&self&&self.Object===Object&&self,wfe=vfe||bfe||Function("return this")(),ai=wfe,jfe=ai,Nfe=jfe.Symbol,Sp=Nfe,kE=Sp,Rq=Object.prototype,kfe=Rq.hasOwnProperty,Sfe=Rq.toString,Fm=kE?kE.toStringTag:void 0;function Cfe(e){var t=kfe.call(e,Fm),r=e[Fm];try{e[Fm]=void 0;var a=!0}catch{}var s=Sfe.call(e);return a&&(t?e[Fm]=r:delete e[Fm]),s}var Pfe=Cfe,Tfe=Object.prototype,Afe=Tfe.toString;function Efe(e){return Afe.call(e)}var Ife=Efe,SE=Sp,_fe=Pfe,Mfe=Ife,Ofe="[object Null]",Rfe="[object Undef
752ined]",CE=SE?SE.toStringTag:void 0;function Ffe(e){return e==null?e===void 0?Rfe:Ofe:CE&&CE in Object(e)?_fe(e):Mfe(e)}var Zi=Ffe;function Dfe(e){return e!=null&&typeof e=="object"}var Qi=Dfe,$fe=Zi,Lfe=Qi,zfe="[object Symbol]";function Bfe(e){return typeof e=="symbol"||Lfe(e)&&$fe(e)==zfe}var cm=Bfe,Wfe=Zn,Ufe=cm,Vfe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qfe=/^\w*$/;function Hfe(e,t){if(Wfe(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Ufe(e)?!0:qfe.test(e)||!Vfe.test(e)||t!=null&&e in Object(t)}var YC=Hfe;function Gfe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gl=Gfe;const dm=Ft(gl);var Kfe=Zi,Yfe=gl,Zfe="[object AsyncFunction]",Qfe="[object Function]",Xfe="[object GeneratorFunction]",Jfe="[object Proxy]";function epe(e){if(!Yfe(e))return!1;var t=Kfe(e);return t==Qfe||t==Xfe||t==Zfe||t==Jfe}var ZC=epe;const ot=Ft(ZC);var tpe=ai,rpe=tpe["__core-js_shared__"],npe=rpe,Ww=npe,PE=function(){var e=/[^.]+$/.exec(Ww&&Ww.keys&&Ww.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ape(e){return!!PE&&PE in e}var spe=ape,ipe=Function.prototype,ope=ipe.toString;function lpe(e){if(e!=null){try{return ope.call(e)}catch{}try{return e+""}catch{}}return""}var Fq=lpe,cpe=ZC,dpe=spe,upe=gl,mpe=Fq,hpe=/[\\^$.*+?()[\]{}|]/g,fpe=/^\[object .+?Constructor\]$/,ppe=Function.prototype,gpe=Object.prototype,xpe=ppe.toString,ype=gpe.hasOwnProperty,vpe=RegExp("^"+xpe.call(ype).replace(hpe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function bpe(e){if(!upe(e)||dpe(e))return!1;var t=cpe(e)?vpe:fpe;return t.test(mpe(e))}var wpe=bpe;function jpe(e,t){return e==null?void 0:e[t]}var Npe=jpe,kpe=wpe,Spe=Npe;function Cpe(e,t){var r=Spe(e,t);return kpe(r)?r:void 0}var Ic=Cpe,Ppe=Ic,Tpe=Ppe(Object,"create"),Ib=Tpe,TE=Ib;function Ape(){this.__data__=TE?TE(null):{},this.size=0}var Epe=Ape;function Ipe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _pe=Ipe,Mpe=Ib,Ope="__lodash_hash_undefined__",Rpe=Object.prototype,Fpe=Rpe.hasOwnProperty;function Dpe(e){var t=this.__data__;if(Mpe){var r=t[e];return r===Ope?void 0:r}return Fpe.call(t,e)?t[e]:void 0}var $pe=Dpe,Lpe=Ib,zpe=Object.prototype,Bpe=zpe.hasOwnProperty;function Wpe(e){var t=this.__data__;return Lpe?t[e]!==void 0:Bpe.call(t,e)}var Upe=Wpe,Vpe=Ib,qpe="__lodash_hash_undefined__";function Hpe(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Vpe&&t===void 0?qpe:t,this}var Gpe=Hpe,Kpe=Epe,Ype=_pe,Zpe=$pe,Qpe=Upe,Xpe=Gpe;function um(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}um.prototype.clear=Kpe;um.prototype.delete=Ype;um.prototype.get=Zpe;um.prototype.has=Qpe;um.prototype.set=Xpe;var Jpe=um;function ege(){this.__data__=[],this.size=0}var tge=ege;function rge(e,t){return e===t||e!==e&&t!==t}var QC=rge,nge=QC;function age(e,t){for(var r=e.length;r--;)if(nge(e[r][0],t))return r;return-1}var _b=age,sge=_b,ige=Array.prototype,oge=ige.splice;function lge(e){var t=this.__data__,r=sge(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():oge.call(t,r,1),--this.size,!0}var cge=lge,dge=_b;function uge(e){var t=this.__data__,r=dge(t,e);return r<0?void 0:t[r][1]}var mge=uge,hge=_b;function fge(e){return hge(this.__data__,e)>-1}var pge=fge,gge=_b;function xge(e,t){var r=this.__data__,a=gge(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var yge=xge,vge=tge,bge=cge,wge=mge,jge=pge,Nge=yge;function mm(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}mm.prototype.clear=vge;mm.prototype.delete=bge;mm.prototype.get=wge;mm.prototype.has=jge;mm.prototype.set=Nge;var Mb=mm,kge=Ic,Sge=ai,Cge=kge(Sge,"Map"),XC=Cge,AE=Jpe,Pge=Mb,Tge=XC;function Age(){this.size=0,this.__data__={hash:new AE,map:new(Tge||Pge),string:new AE}}var Ege=Age;function Ige(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var _ge=Ige,Mge=_ge;function Oge(e,t){var r=e.__data__;return Mge(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Ob=Oge,Rge=Ob;function Fge(e){var t=Rge(this,e).delete(e);return this.size-=t?1:0,t}var Dge=Fge,$ge=Ob;function Lge(e){return $ge(this,e).get(e)}var zge=Lge,Bge=Ob;function Wge(e){return Bge(this,e).has(e)}var Uge=Wge,Vge=Ob;function qge(e,t){var r=Vge(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var Hge=qge,Gge=Ege,Kge=Dge,Yge=zge,Zge=Uge,Qge=Hge;function hm(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}hm.prototype.clear=Gge;hm.prototype.delete=Kge;hm.prototype.get=Yge;hm.prototype.has=Zge;hm.prototype.set=Qge;var JC=hm,Dq=JC,Xge="Expected a function";function eP(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Xge);var r=function(){var a=arguments,s=t?t.apply(this,a):a[0],i=r.cache;if(i.has(s))return i.get(s);var o=e.apply(this,a);return r.cache=i.set(s,o)||i,o};return r.cache=new(eP.Cache||Dq),r}eP.Cache=Dq;var $q=eP;const Jge=Ft($q);var exe=$q,txe=500;function rxe(e){var t=exe(e,function(a){return r.size===txe&&r.clear(),a}),r=t.cache;return t}var nxe=rxe,axe=nxe,sxe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ixe=/\\(\\)?/g,oxe=axe(function(e){var t=[];
vendor: 5,059 bytes, lines 752-760
752return e.charCodeAt(0)===46&&t.push(""),e.replace(sxe,function(r,a,s,i){t.push(s?i.replace(ixe,"$1"):a||r)}),t}),lxe=oxe;function cxe(e,t){for(var r=-1,a=e==null?0:e.length,s=Array(a);++r<a;)s[r]=t(e[r],r,e);return s}var tP=cxe,EE=Sp,dxe=tP,uxe=Zn,mxe=cm,hxe=1/0,IE=EE?EE.prototype:void 0,_E=IE?IE.toString:void 0;function Lq(e){if(typeof e=="string")return e;if(uxe(e))return dxe(e,Lq)+"";if(mxe(e))return _E?_E.call(e):"";var t=e+"";return t=="0"&&1/e==-hxe?"-0":t}var fxe=Lq,pxe=fxe;function gxe(e){return e==null?"":pxe(e)}var zq=gxe,xxe=Zn,yxe=YC,vxe=lxe,bxe=zq;function wxe(e,t){return xxe(e)?e:yxe(e,t)?[e]:vxe(bxe(e))}var Bq=wxe,jxe=cm,Nxe=1/0;function kxe(e){if(typeof e=="string"||jxe(e))return e;var t=e+"";return t=="0"&&1/e==-Nxe?"-0":t}var Rb=kxe,Sxe=Bq,Cxe=Rb;function Pxe(e,t){t=Sxe(t,e);for(var r=0,a=t.length;e!=null&&r<a;)e=e[Cxe(t[r++])];return r&&r==a?e:void 0}var rP=Pxe,Txe=rP;function Axe(e,t,r){var a=e==null?void 0:Txe(e,t);return a===void 0?r:a}var Wq=Axe;const Da=Ft(Wq);function Exe(e){return e==null}var Ixe=Exe;const pt=Ft(Ixe);var _xe=Zi,Mxe=Zn,Oxe=Qi,Rxe="[object String]";function Fxe(e){return typeof e=="string"||!Mxe(e)&&Oxe(e)&&_xe(e)==Rxe}var Dxe=Fxe;const Cp=Ft(Dxe);var Uq={exports:{}},Mt={};/**
753 * @license React
754 * react-is.production.min.js
755 *
756 * Copyright (c) Facebook, Inc. and its affiliates.
757 *
758 * This source code is licensed under the MIT license found in the
759 * LICENSE file in the root directory of this source tree.
760 */var nP=Symbol.for("react.element"),aP=Symbol.for("react.portal"),Fb=Symbol.for("react.fragment"),Db=Symbol.for("react.strict_mode"),$b=Symbol.for("react.profiler"),Lb=Symbol.for("react.provider"),zb=Symbol.for("react.context"),$xe=Symbol.for("react.server_context"),Bb=Symbol.for("react.forward_ref"),Wb=Symbol.for("react.suspense"),Ub=Symbol.for("react.suspense_list"),Vb=Symbol.for("react.memo"),qb=Symbol.for("react.lazy"),Lxe=Symbol.for("react.offscreen"),Vq;Vq=Symbol.for("react.module.reference");function Va(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case nP:switch(e=e.type,e){case Fb:case $b:case Db:case Wb:case Ub:return e;default:switch(e=e&&e.$$typeof,e){case $xe:case zb:case Bb:case qb:case Vb:case Lb:return e;default:return t}}case aP:return t}}}Mt.ContextConsumer=zb;Mt.ContextProvider=Lb;Mt.Element=nP;Mt.ForwardRef=Bb;Mt.Fragment=Fb;Mt.Lazy=qb;Mt.Memo=Vb;Mt.Portal=aP;Mt.Profiler=$b;Mt.StrictMode=Db;Mt.Suspense=Wb;Mt.SuspenseList=Ub;Mt.isAsyncMode=function(){return!1};Mt.isConcurrentMode=function(){return!1};Mt.isContextConsumer=function(e){return Va(e)===zb};Mt.isContextProvider=function(e){return Va(e)===Lb};Mt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===nP};Mt.isForwardRef=function(e){return Va(e)===Bb};Mt.isFragment=function(e){return Va(e)===Fb};Mt.isLazy=function(e){return Va(e)===qb};Mt.isMemo=function(e){return Va(e)===Vb};Mt.isPortal=function(e){return Va(e)===aP};Mt.isProfiler=function(e){return Va(e)===$b};Mt.isStrictMode=function(e){return Va(e)===Db};Mt.isSuspense=function(e){return Va(e)===Wb};Mt.isSuspenseList=function(e){return Va(e)===Ub};Mt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Fb||e===$b||e===Db||e===Wb||e===Ub||e===Lxe||typeof e=="object"&&e!==null&&(e.$$typeof===qb||e.$$typeof===Vb||e.$$typeof===Lb||e.$$typeof===zb||e.$$typeof===Bb||e.$$typeof===Vq||e.getModuleId!==void 0)};Mt.typeOf=Va;Uq.exports=Mt;var zxe=Uq.exports,Bxe=Zi,Wxe=Qi,Uxe="[object Number]";function Vxe(e){return typeof e=="number"||Wxe(e)&&Bxe(e)==Uxe}var qq=Vxe;const qxe=Ft(qq);var Hxe=qq;function Gxe(e){return Hxe(e)&&e!=+e}var Kxe=Gxe;const Pp=Ft(Kxe);var ds=function(t){return t===0?0:t>0?1:-1},Dl=function(t){return Cp(t)&&t.indexOf("%")===t.length-1},we=function(t){return qxe(t)&&!Pp(t)},Fr=function(t){return we(t)||Cp(t)},Yxe=0,Tp=function(t){var r=++Yxe;return"".concat(t||"").concat(r)},fc=function(t,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!we(t)&&!Cp(t))return a;var i;if(Dl(t)){var o=t.indexOf("%");i=r*parseFloat(t.slice(0,o))/100}else i=+t;return Pp(i)&&(i=a),s&&i>r&&(i=r),i},po=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},Zxe=function(t){if(!Array.isArray(t))return!1;for(var r=t.length,a={},s=0;s<r;s++)if(!a[t[s]])a[t[s]]=!0;else return!0;return!1},as=function(t,r){return we(t)&&we(r)?function(a){return t+a*(r-t)}:function(){return r}};function py(e,t,r){return!e||!e.length?null:e.find(function(a){return a&&(typeof t=="function"?t(a):Da(a,t))===r})}function Rd(e,t){for(var r in e)if({}.hasOwnProperty.call(e,r)&&(!{}.hasOwnProperty.call(t,r)||e[r]!==t[r]))return!1;for(var a in t)if({}.hasOwnProperty.call(t,a)&&!{}.hasOwnProperty.call(e,a))return!1;return!0}function bN(e){"@babel/helpers - typeof";return bN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t}
760,bN(e)}var Qxe=["viewBox","children"],Xxe=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],ME=["points","pathLength"],Uw={svg:Qxe,polygon:ME,polyline:ME},sP=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onF
760ocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],gy=function(t,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(y.isValidElement(t)&&(a=t.props),!dm(a))return null;var s={};return Object.keys(a).forEach(function(i){sP.includes(i)&&(s[i]=r||function(o){return a[i](a,o)})}),s},Jxe=function(t,r,a){return function(s){return t(r,a,s),null}},xy=function(t,r,a){if(!dm(t)||bN(t)!=="object")return null;var s=null;return Object.keys(t).forEach(function(i){var o=t[i];sP.includes(i)&&typeof o=="function"&&(s||(s={}),s[i]=Jxe(o,r,a))}),s},eye=["children"],tye=["children"];function OE(e,t){if(e==null)return{};var r=rye(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function rye(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function wN(e){"@babel/helpers - typeof";return wN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wN(e)}var RE={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"}
vendor: 5,091 bytes, line 760
760,Pi=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},FE=null,Vw=null,iP=function e(t){if(t===FE&&Array.isArray(Vw))return Vw;var r=[];return y.Children.forEach(t,function(a){pt(a)||(zxe.isFragment(a)?r=r.concat(e(a.props.children)):r.push(a))}),Vw=r,FE=t,r};function $a(e,t){var r=[],a=[];return Array.isArray(t)?a=t.map(function(s){return Pi(s)}):a=[Pi(t)],iP(e).forEach(function(s){var i=Da(s,"type.displayName")||Da(s,"type.name");a.indexOf(i)!==-1&&r.push(s)}),r}function ra(e,t){var r=$a(e,t);return r&&r[0]}var DE=function(t){if(!t||!t.props)return!1;var r=t.props,a=r.width,s=r.height;return!(!we(a)||a<=0||!we(s)||s<=0)},nye=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],aye=function(t){return t&&t.type&&Cp(t.type)&&nye.indexOf(t.type)>=0},sye=function(t){return t&&wN(t)==="object"&&"clipDot"in t},iye=function(t,r,a,s){var i,o=(i=Uw==null?void 0:Uw[s])!==null&&i!==void 0?i:[];return r.startsWith("data-")||!ot(t)&&(s&&o.includes(r)||Xxe.includes(r))||a&&sP.includes(r)},xt=function(t,r,a){if(!t||typeof t=="function"||typeof t=="boolean")return null;var s=t;if(y.isValidElement(t)&&(s=t.props),!dm(s))return null;var i={};return Object.keys(s).forEach(function(o){var l;iye((l=s)===null||l===void 0?void 0:l[o],o,r,a)&&(i[o]=s[o])}),i},jN=function e(t,r){if(t===r)return!0;var a=y.Children.count(t);if(a!==y.Children.count(r))return!1;if(a===0)return!0;if(a===1)return $E(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r);for(var s=0;s<a;s++){var i=t[s],o=r[s];if(Array.isArray(i)||Array.isArray(o)){if(!e(i,o))return!1}else if(!$E(i,o))return!1}return!0},$E=function(t,r){if(pt(t)&&pt(r))return!0;if(!pt(t)&&!pt(r)){var a=t.props||{},s=a.children,i=OE(a,eye),o=r.props||{},l=o.children,c=OE(o,tye);return s&&l?Rd(i,c)&&jN(s,l):!s&&!l?Rd(i,c):!1}return!1},LE=function(t,r){var a=[],s={};return iP(t).forEach(function(i,o){if(aye(i))a.push(i);else if(i){var l=Pi(i.type),c=r[l]||{},d=c.handler,u=c.once;if(d&&(!u||!s[l])){var m=d(i,l,o);a.push(m),s[l]=!0}}}),a},oye=function(t){var r=t&&t.type;return r&&RE[r]?RE[r]:null},lye=function(t,r){return iP(r).indexOf(t)},cye=["children","width","height","viewBox","className","style","title","desc"];function NN(){return NN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},NN.apply(this,arguments)}function dye(e,t){if(e==null)return{};var r=uye(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function uye(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function kN(e){var t=e.children,r=e.width,a=e.height,s=e.viewBox,i=e.className,o=e.style,l=e.title,c=e.desc,d=dye(e,cye),u=s||{width:r,height:a,x:0,y:0},m=vt("recharts-surface",i);return L.createElement("svg",NN({},xt(d,!0,"svg"),{className:m,width:r,height:a,style:o,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),L.createElement("title",null,l),L.createElement("desc",null,c),t)}var mye=["children","className"];function SN(){return SN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},SN.apply(this,arguments)}function hye(e,t){if(e==null)return{};var r=fye(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function fye(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}var jr=L.forwardRef(function(e,t){var r=e.children,a=e.className,s=hye(e,mye),i=vt("recharts-layer",a);return L.createElement("g",SN({className:i},xt(s,!0),{ref:t}),r)}),Ti=function(t,r){for(var a=arguments.length,s=new Array(a>2?a-2:0),i=2;i<a;i++)s[i-2]=arguments[i]};function pye(e,t,r){var a=-1,s=e.length;t<0&&(t=-t>s?0:s+t),r=r>
vendor: 15,310 bytes, line 760
760s?s:r,r<0&&(r+=s),s=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(s);++a<s;)i[a]=e[a+t];return i}var gye=pye,xye=gye;function yye(e,t,r){var a=e.length;return r=r===void 0?a:r,!t&&r>=a?e:xye(e,t,r)}var vye=yye,bye="\\ud800-\\udfff",wye="\\u0300-\\u036f",jye="\\ufe20-\\ufe2f",Nye="\\u20d0-\\u20ff",kye=wye+jye+Nye,Sye="\\ufe0e\\ufe0f",Cye="\\u200d",Pye=RegExp("["+Cye+bye+kye+Sye+"]");function Tye(e){return Pye.test(e)}var Hq=Tye;function Aye(e){return e.split("")}var Eye=Aye,Gq="\\ud800-\\udfff",Iye="\\u0300-\\u036f",_ye="\\ufe20-\\ufe2f",Mye="\\u20d0-\\u20ff",Oye=Iye+_ye+Mye,Rye="\\ufe0e\\ufe0f",Fye="["+Gq+"]",CN="["+Oye+"]",PN="\\ud83c[\\udffb-\\udfff]",Dye="(?:"+CN+"|"+PN+")",Kq="[^"+Gq+"]",Yq="(?:\\ud83c[\\udde6-\\uddff]){2}",Zq="[\\ud800-\\udbff][\\udc00-\\udfff]",$ye="\\u200d",Qq=Dye+"?",Xq="["+Rye+"]?",Lye="(?:"+$ye+"(?:"+[Kq,Yq,Zq].join("|")+")"+Xq+Qq+")*",zye=Xq+Qq+Lye,Bye="(?:"+[Kq+CN+"?",CN,Yq,Zq,Fye].join("|")+")",Wye=RegExp(PN+"(?="+PN+")|"+Bye+zye,"g");function Uye(e){return e.match(Wye)||[]}var Vye=Uye,qye=Eye,Hye=Hq,Gye=Vye;function Kye(e){return Hye(e)?Gye(e):qye(e)}var Yye=Kye,Zye=vye,Qye=Hq,Xye=Yye,Jye=zq;function eve(e){return function(t){t=Jye(t);var r=Qye(t)?Xye(t):void 0,a=r?r[0]:t.charAt(0),s=r?Zye(r,1).join(""):t.slice(1);return a[e]()+s}}var tve=eve,rve=tve,nve=rve("toUpperCase"),ave=nve;const Hb=Ft(ave);function Vt(e){return function(){return e}}const Jq=Math.cos,yy=Math.sin,bs=Math.sqrt,vy=Math.PI,Gb=2*vy,TN=Math.PI,AN=2*TN,Tl=1e-6,sve=AN-Tl;function e7(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=arguments[t]+e[t]}function ive(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return e7;const r=10**t;return function(a){this._+=a[0];for(let s=1,i=a.length;s<i;++s)this._+=Math.round(arguments[s]*r)/r+a[s]}}class ove{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?e7:ive(t)}moveTo(t,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,r){this._append`L${this._x1=+t},${this._y1=+r}`}quadraticCurveTo(t,r,a,s){this._append`Q${+t},${+r},${this._x1=+a},${this._y1=+s}`}bezierCurveTo(t,r,a,s,i,o){this._append`C${+t},${+r},${+a},${+s},${this._x1=+i},${this._y1=+o}`}arcTo(t,r,a,s,i){if(t=+t,r=+r,a=+a,s=+s,i=+i,i<0)throw new Error(`negative radius: ${i}`);let o=this._x1,l=this._y1,c=a-t,d=s-r,u=o-t,m=l-r,h=u*u+m*m;if(this._x1===null)this._append`M${this._x1=t},${this._y1=r}`;else if(h>Tl)if(!(Math.abs(m*c-d*u)>Tl)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let f=a-o,b=s-l,g=c*c+d*d,p=f*f+b*b,x=Math.sqrt(g),v=Math.sqrt(h),w=i*Math.tan((TN-Math.acos((g+h-p)/(2*x*v)))/2),N=w/v,j=w/x;Math.abs(N-1)>Tl&&this._append`L${t+N*u},${r+N*m}`,this._append`A${i},${i},0,0,${+(m*f>u*b)},${this._x1=t+j*c},${this._y1=r+j*d}`}}arc(t,r,a,s,i,o){if(t=+t,r=+r,a=+a,o=!!o,a<0)throw new Error(`negative radius: ${a}`);let l=a*Math.cos(s),c=a*Math.sin(s),d=t+l,u=r+c,m=1^o,h=o?s-i:i-s;this._x1===null?this._append`M${d},${u}`:(Math.abs(this._x1-d)>Tl||Math.abs(this._y1-u)>Tl)&&this._append`L${d},${u}`,a&&(h<0&&(h=h%AN+AN),h>sve?this._append`A${a},${a},0,1,${m},${t-l},${r-c}A${a},${a},0,1,${m},${this._x1=d},${this._y1=u}`:h>Tl&&this._append`A${a},${a},0,${+(h>=TN)},${m},${this._x1=t+a*Math.cos(i)},${this._y1=r+a*Math.sin(i)}`)}rect(t,r,a,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${a=+a}v${+s}h${-a}Z`}toString(){return this._}}function oP(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const a=Math.floor(r);if(!(a>=0))throw new RangeError(`invalid digits: ${r}`);t=a}return e},()=>new ove(t)}function lP(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function t7(e){this._context=e}t7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Kb(e){return new t7(e)}function r7(e){return e[0]}function n7(e){return e[1]}function a7(e,t){var r=Vt(!0),a=null,s=Kb,i=null,o=oP(l);e=typeof e=="function"?e:e===void 0?r7:Vt(e),t=typeof t=="function"?t:t===void 0?n7:Vt(t);function l(c){var d,u=(c=lP(c)).length,m,h=!1,f;for(a==null&&(i=s(f=o())),d=0;d<=u;++d)!(d<u&&r(m=c[d],d,c))===h&&((h=!h)?i.lineStart():i.lineEnd()),h&&i.point(+e(m,d,c),+t(m,d,c));if(f)return i=null,f+""||null}return l.x=function(c){return arguments.length?(e=typeof c=="function"?c:Vt(+c),l):e},l.y=function(c){return arguments.length?(t=typeof c=="function"?c:Vt(+c),l):t},l.defined=function(c){return arguments.length?(r=typeof c=="function"?c:Vt(!!c),l):r},l.curve=function(c){return arguments.length?(s=c,a!=null&&(i=s(a)),l):s},l.context=function(c){return arguments.length?(c==null?a=i=null:i=s(a=c),l):a},l}function vg(e,t,r){var a=null,s=Vt(!0),i=null,o=Kb,l=null,c=oP(d);e=typeof e=="function"?e:e===void 0?r7:Vt(+e),t=typeof t=="function"?t:Vt(t===void 0?0:+t),r=typeof r=="function"?r:r===void 0?n7:Vt(+r);function d(m){var h,f,b,g=(m=lP(m)).length,p,x=!1,v,w=new Array(g),N=new Array(g);for(i==null&&(l=o(v=c())),h=0;h<=g;++h){if(!(h<g&&s(p=m[h],h,m))===x)if(x=!x)f=h,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),b=h-1;b>=f;--b)l.point(w[b],N[b]);l.lineEnd(),l.areaEnd()}x&&(w[h]=+e(p,h,m),N[h]=+t(p,h,m),l.point(a?+a(p,h,m):w[h],r?+r(p,h,m):N[h]))}if(v)return l=null,v+""||null}function u(){return a7().defined(s).curve(o).context(i)}return d.x=function(m){return arguments.length?(e=typeof m=="function"?m:Vt(+m),a=null,d):e},d.x0=function(m){return arguments.length?(e=typeof m=="function"?m:Vt(+m),d):e},d.x1=function(m){return arguments.length?(a=m==null?null:typeof m=="function"?m:Vt(+m),d):a},d.y=function(m){return arguments.length?(t=typeof m=="function"?m:Vt(+m),r=null,d):t},d.y0=function(m){return arguments.length?(t=typeof m=="function"?m:Vt(+m),d):t},d.y1=function(m){return arguments.length?(r=m==null?null:typeof m=="function"?m:Vt(+m),d):r},d.lineX0=d.lineY0=function(){return u().x(e).y(t)},d.lineY1=function(){return u().x(e).y(r)},d.lineX1=function(){return u().x(a).y(t)},d.defined=function(m){return arguments.length?(s=typeof m=="function"?m:Vt(!!m),d):s},d.curve=function(m){return arguments.length?(o=m,i!=null&&(l=o(i)),d):o},d.context=function(m){return arguments.length?(m==null?i=l=null:l=o(i=m),d):i},d}class s7{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function lve(e){return new s7(e,!0)}function cve(e){return new s7(e,!1)}const cP={draw(e,t){const r=bs(t/vy);e.moveTo(r,0),e.arc(0,0,r,0,Gb)}},dve={draw(e,t){const r=bs(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},i7=bs(1/3),uve=i7*2,mve={draw(e,t){const r=bs(t/uve),a=r*i7;e.moveTo(0,-r),e.lineTo(a,0),e.lineTo(0,r),e.lineTo(-a,0),e.closePath()}},hve={draw(e,t){const r=bs(t),a=-r/2;e.rect(a,a,r,r)}},fve=.8908130915292852,o7=yy(vy/10)/yy(7*vy/10),pve=yy(Gb/10)*o7,gve=-Jq(Gb/10)*o7,xve={draw(e,t){const r=bs(t*fve),a=pve*r,s=gve*r;e.moveTo(0,-r),e.lineTo(a,s);for(let i=1;i<5;++i){const o=Gb*i/5,l=Jq(o),c=yy(o);e.lineTo(c*r,-l*r),e.lineTo(l*a-c*s,c*a+l*s)}e.closePath()}},qw=bs(3),yve={draw(e,t){const r=-bs(t/(qw*3));e.moveTo(0,r*2),e.lineTo(-qw*r,-r),e.lineTo(qw*r,-r),e.closePath()}},Na=-.5,ka=bs(3)/2,EN=1/bs(12),vve=(EN/2+1)*3,bve={draw(e,t){const r=bs(t/vve),a=r/2,s=r*EN,i=a,o=r*EN+r,l=-i,c=o;e.moveTo(a,s),e.lineTo(i,o),e.lineTo(l,c),e.lineTo(Na*a-ka*s,ka*a+Na*s),e.lineTo(Na*i-ka*o,ka*i+Na*o),e.lineTo(Na*l-ka*c,ka*l+Na*c),e.lineTo(Na*a+ka*s,Na*s-ka*a),e.lineTo(Na*i+ka*o,Na*o-ka*i),e.lineTo(Na*l+ka*c,Na*c-ka*l),e.closePath()}};function wve(e,t){let r=null,a=oP(s);e=typeof e=="function"?e:Vt(e||cP),t=typeof t=="function"?t:Vt(t===void 0?64:+t);function s(){let i;if(r||(r=i=a()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),i)return r=null,i+""||null}return s.type=function(i){return arguments.length?(e=typeof i=="function"?i:Vt(i),s):e},s.size=function(i){return arguments.length?(t=typeof i=="function"?i:Vt(+i),s):t},s.context=function(i){return arguments.length?(r=i??null,s):r},s}function by(){}function wy(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function l7(e){this._context=e}l7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:wy(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:wy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jve(e){return new l7(e)}function c7(e){this._context=e}c7.prototype={areaStart:by,areaEnd:by,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:wy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Nve(e){return new c7(e)}function d7(e){this._context=e}d7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,a=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,a):this._context.moveTo(r,a);break;case 3:this._point=4;default:wy(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function kve(e){return new d7(e)}function u7(e){this._context=e}u7.prototype={areaStart:by,areaEnd:by,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Sve(e){return new u7(e)}function zE(e){return e<0?-1:1}function BE(e,t,r){var a=e._x1-e._x0,s=t-e._x1,i=(e._y1-e._y0)/(a||s<0&&-0),o=(r-e._y1)/(s||a<0&&-0),l=(i*s+o*a)/(a+s);return(zE(i)+zE(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function WE(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Hw(e,t,r){var a=e._x0,s=e._y0,i=e._x1,o=e._y1,l=(i-a)/3;e._context.bezierCurveTo(a+l,s+l*t,i-l,o-l*r,i,o)}function jy(e){this._context=e}jy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Hw(this,this._t0,WE(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Hw(this,WE(this,r=BE(this,e,t)),r);break;default:Hw(this,this._t0,r=BE(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function m7(e){this._context=new h7(e)}(m7.prototype=Object.create(jy.prototype)).point=function(e,t){jy.prototype.point.call(this,t,e)};function h7(e){this._context=e}h7.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,a,s,i){this._context.bezierCurveTo(t,e,a,r,i,s)}};function Cve(e){return new jy(e)}function Pve(e){return new m7(e)}function f7(e){this._context=e}f7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var a=UE(e),s=UE(t),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(a[0][i],s[0][i],a[1][i],s[1][i],e[o],t[o]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function UE(e){var t,r=e.length-1,a,s=new Array(r),i=new Array(r),o=new Array(r);for(s[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t<r-1;++t)s[t]=1,i[t]=4,o[t]=4*e[t]+2*e[t+1];for(s[r-1]=2,i[r-1]=7,o[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)a=s[t]/i[t-1],i[t]-=a,o[t]-=a*o[t-1];for(s[r-1]=o[r-1]/i[r-1],t=r-2;t>=0;--t)s[t]=(o[t]-s[t+1])/i[t];for(i[r-1]=(e[r]+s[r-1])/2,t=0;t<r-1;++t)i[t]=2*e[t+1]-s[t+1];return[s,i]}function Tve(e){return new f7(e)}function Yb(e,t){this._context=e,this._t=t}Yb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;
vendor: 7,754 bytes, line 760
760default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function Ave(e){return new Yb(e,.5)}function Eve(e){return new Yb(e,0)}function Ive(e){return new Yb(e,1)}function bu(e,t){if((o=e.length)>1)for(var r=1,a,s,i=e[t[0]],o,l=i.length;r<o;++r)for(s=i,i=e[t[r]],a=0;a<l;++a)i[a][1]+=i[a][0]=isNaN(s[a][1])?s[a][0]:s[a][1]}function IN(e){for(var t=e.length,r=new Array(t);--t>=0;)r[t]=t;return r}function _ve(e,t){return e[t]}function Mve(e){const t=[];return t.key=e,t}function Ove(){var e=Vt([]),t=IN,r=bu,a=_ve;function s(i){var o=Array.from(e.apply(this,arguments),Mve),l,c=o.length,d=-1,u;for(const m of i)for(l=0,++d;l<c;++l)(o[l][d]=[0,+a(m,o[l].key,d,i)]).data=m;for(l=0,u=lP(t(o));l<c;++l)o[u[l]].index=l;return r(o,u),o}return s.keys=function(i){return arguments.length?(e=typeof i=="function"?i:Vt(Array.from(i)),s):e},s.value=function(i){return arguments.length?(a=typeof i=="function"?i:Vt(+i),s):a},s.order=function(i){return arguments.length?(t=i==null?IN:typeof i=="function"?i:Vt(Array.from(i)),s):t},s.offset=function(i){return arguments.length?(r=i??bu,s):r},s}function Rve(e,t){if((a=e.length)>0){for(var r,a,s=0,i=e[0].length,o;s<i;++s){for(o=r=0;r<a;++r)o+=e[r][s][1]||0;if(o)for(r=0;r<a;++r)e[r][s][1]/=o}bu(e,t)}}function Fve(e,t){if((s=e.length)>0){for(var r=0,a=e[t[0]],s,i=a.length;r<i;++r){for(var o=0,l=0;o<s;++o)l+=e[o][r][1]||0;a[r][1]+=a[r][0]=-l/2}bu(e,t)}}function Dve(e,t){if(!(!((o=e.length)>0)||!((i=(s=e[t[0]]).length)>0))){for(var r=0,a=1,s,i,o;a<i;++a){for(var l=0,c=0,d=0;l<o;++l){for(var u=e[t[l]],m=u[a][1]||0,h=u[a-1][1]||0,f=(m-h)/2,b=0;b<l;++b){var g=e[t[b]],p=g[a][1]||0,x=g[a-1][1]||0;f+=p-x}c+=m,d+=f*m}s[a-1][1]+=s[a-1][0]=r,c&&(r-=d/c)}s[a-1][1]+=s[a-1][0]=r,bu(e,t)}}function pf(e){"@babel/helpers - typeof";return pf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pf(e)}var $ve=["type","size","sizeType"];function _N(){return _N=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_N.apply(this,arguments)}function VE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function qE(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?VE(Object(r),!0).forEach(function(a){Lve(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):VE(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Lve(e,t,r){return t=zve(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zve(e){var t=Bve(e,"string");return pf(t)=="symbol"?t:t+""}function Bve(e,t){if(pf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(pf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Wve(e,t){if(e==null)return{};var r=Uve(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Uve(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}var p7={symbolCircle:cP,symbolCross:dve,symbolDiamond:mve,symbolSquare:hve,symbolStar:xve,symbolTriangle:yve,symbolWye:bve},Vve=Math.PI/180,qve=function(t){var r="symbol".concat(Hb(t));return p7[r]||cP},Hve=function(t,r,a){if(r==="area")return t;switch(a){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var s=18*Vve;return 1.25*t*t*(Math.tan(s)-Math.tan(s*2)*Math.pow(Math.tan(s),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},Gve=function(t,r){p7["symbol".concat(Hb(t))]=r},dP=function(t){var r=t.type,a=r===void 0?"circle":r,s=t.size,i=s===void 0?64:s,o=t.sizeType,l=o===void 0?"area":o,c=Wve(t,$ve),d=qE(qE({},c),{},{type:a,size:i,sizeType:l}),u=function(){var p=qve(a),x=wve().type(p).size(Hve(i,l,a));return x()},m=d.className,h=d.cx,f=d.cy,b=xt(d,!0);return h===+h&&f===+f&&i===+i?L.createElement("path",_N({},b,{className:vt("recharts-symbols",m),transform:"translate(".concat(h,", ").concat(f,")"),d:u()})):null};dP.registerSymbol=Gve;function wu(e){"@babel/helpers - typeof";return wu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wu(e)}function MN(){return MN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},MN.apply(this,arguments)}function HE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Kve(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?HE(Object(r),!0).forEach(function(a){gf(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):HE(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Yve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zve(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,x7(a.key),a)}}function Qve(e,t,r){return t&&Zve(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xve(e,t,r){return t=Ny(t),Jve(e,g7()?Reflect.construct(t,r||[],Ny(e).constructor):t.apply(e,r))}function Jve(e,t){if(t&&(wu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ebe(e)}function ebe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(g7=function(){return!!e})()}function Ny(e){return Ny=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ny(e)}function tbe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ON(e,t)}function ON(e,t){return ON=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},ON(e,t)}function gf(e,t,r){return t=x7(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x7(e){var t=rbe(e,"string");return wu(t)=="symbol"?t:t+""}function rbe(e,t){if(wu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");
760if(wu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Sa=32,uP=function(e){function t(){return Yve(this,t),Xve(this,t,arguments)}return tbe(t,e),Qve(t,[{key:"renderIcon",value:function(a){var s=this.props.inactiveColor,i=Sa/2,o=Sa/6,l=Sa/3,c=a.inactive?s:a.color;if(a.type==="plainline")return L.createElement("line",{strokeWidth:4,fill:"none",stroke:c,strokeDasharray:a.payload.strokeDasharray,x1:0,y1:i,x2:Sa,y2:i,className:"recharts-legend-icon"});if(a.type==="line")return L.createElement("path",{strokeWidth:4,fill:"none",stroke:c,d:"M0,".concat(i,"h").concat(l,`
761            A`).concat(o,",").concat(o,",0,1,1,").concat(2*l,",").concat(i,`
762            H`).concat(Sa,"M").concat(2*l,",").concat(i,`
763            A`).concat(o,",").concat(o,",0,1,1,").concat(l,",").concat(i),className:"recharts-legend-icon"});if(a.type==="rect")return L.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(Sa/8,"h").concat(Sa,"v").concat(Sa*3/4,"h").concat(-Sa,"z"),className:"recharts-legend-icon"});if(L.isValidElement(a.legendIcon)){var d=Kve({},a);return delete d.legendIcon,L.cloneElement(a.legendIcon,d)}return L.createElement(dP,{fill:c,cx:i,cy:i,size:Sa,sizeType:"diameter",type:a.type})}},{key:"renderItems",value:function(){var a=this,s=this.props,i=s.payload,o=s.iconSize,l=s.layout,c=s.formatter,d=s.inactiveColor,u={x:0,y:0,width:Sa,height:Sa},m={display:l==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return i.map(function(f,b){var g=f.formatter||c,p=vt(gf(gf({"recharts-legend-item":!0},"legend-item-".concat(b),!0),"inactive",f.inactive));if(f.type==="none")return null;var x=ot(f.value)?null:f.value;Ti(!ot(f.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var v=f.inactive?d:f.color;return L.createElement("li",MN({className:p,style:m,key:"legend-item-".concat(b)},xy(a.props,f,b)),L.createElement(kN,{width:o,height:o,viewBox:u,style:h},a.renderIcon(f)),L.createElement("span",{className:"recharts-legend-item-text",style:{color:v}},g?g(x,f,b):x))})}},{key:"render",value:function(){var a=this.props,s=a.payload,i=a.layout,o=a.align;if(!s||!s.length)return null;var l={padding:0,margin:0,textAlign:i==="horizontal"?o:"left"};return L.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}])}(y.PureComponent);gf(uP,"displayName","Legend");gf(uP,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var nbe=Mb;function abe(){this.__data__=new nbe,this.size=0}var sbe=abe;function ibe(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var obe=ibe;function lbe(e){return this.__data__.get(e)}var cbe=lbe;function dbe(e){return this.__data__.has(e)}var ube=dbe,mbe=Mb,hbe=XC,fbe=JC,pbe=200;function gbe(e,t){var r=this.__data__;if(r instanceof mbe){var a=r.__data__;if(!hbe||a.length<pbe-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new fbe(a)}return r.set(e,t),this.size=r.size,this}var xbe=gbe,ybe=Mb,vbe=sbe,bbe=obe,wbe=cbe,jbe=ube,Nbe=xbe;function fm(e){var t=this.__data__=new ybe(e);this.size=t.size}fm.prototype.clear=vbe;fm.prototype.delete=bbe;fm.prototype.get=wbe;fm.prototype.has=jbe;fm.prototype.set=Nbe;var y7=fm,kbe="__lodash_hash_undefined__";function Sbe(e){return this.__data__.set(e,kbe),this}var Cbe=Sbe;function Pbe(e){return this.__data__.has(e)}var Tbe=Pbe,Abe=JC,Ebe=Cbe,Ibe=Tbe;function ky(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Abe;++t<r;)this.add(e[t])}ky.prototype.add=ky.prototype.push=Ebe;ky.prototype.has=Ibe;var v7=ky;function _be(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}var b7=_be;function Mbe(e,t){return e.has(t)}var w7=Mbe,Obe=v7,Rbe=b7,Fbe=w7,Dbe=1,$be=2;function Lbe(e,t,r,a,s,i){var o=r&Dbe,l=e.length,c=t.length;if(l!=c&&!(o&&c>l))return!1;var d=i.get(e),u=i.get(t);if(d&&u)return d==t&&u==e;var m=-1,h=!0,f=r&$be?new Obe:void 0;for(i.set(e,t),i.set(t,e);++m<l;){var b=e[m],g=t[m];
vendor: 6,453 bytes, line 763
763if(a)var p=o?a(g,b,m,t,e,i):a(b,g,m,e,t,i);if(p!==void 0){if(p)continue;h=!1;break}if(f){if(!Rbe(t,function(x,v){if(!Fbe(f,v)&&(b===x||s(b,x,r,a,i)))return f.push(v)})){h=!1;break}}else if(!(b===g||s(b,g,r,a,i))){h=!1;break}}return i.delete(e),i.delete(t),h}var j7=Lbe,zbe=ai,Bbe=zbe.Uint8Array,Wbe=Bbe;function Ube(e){var t=-1,r=Array(e.size);return e.forEach(function(a,s){r[++t]=[s,a]}),r}var Vbe=Ube;function qbe(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}var mP=qbe,GE=Sp,KE=Wbe,Hbe=QC,Gbe=j7,Kbe=Vbe,Ybe=mP,Zbe=1,Qbe=2,Xbe="[object Boolean]",Jbe="[object Date]",e0e="[object Error]",t0e="[object Map]",r0e="[object Number]",n0e="[object RegExp]",a0e="[object Set]",s0e="[object String]",i0e="[object Symbol]",o0e="[object ArrayBuffer]",l0e="[object DataView]",YE=GE?GE.prototype:void 0,Gw=YE?YE.valueOf:void 0;function c0e(e,t,r,a,s,i,o){switch(r){case l0e:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case o0e:return!(e.byteLength!=t.byteLength||!i(new KE(e),new KE(t)));case Xbe:case Jbe:case r0e:return Hbe(+e,+t);case e0e:return e.name==t.name&&e.message==t.message;case n0e:case s0e:return e==t+"";case t0e:var l=Kbe;case a0e:var c=a&Zbe;if(l||(l=Ybe),e.size!=t.size&&!c)return!1;var d=o.get(e);if(d)return d==t;a|=Qbe,o.set(e,t);var u=Gbe(l(e),l(t),a,s,i,o);return o.delete(e),u;case i0e:if(Gw)return Gw.call(e)==Gw.call(t)}return!1}var d0e=c0e;function u0e(e,t){for(var r=-1,a=t.length,s=e.length;++r<a;)e[s+r]=t[r];return e}var N7=u0e,m0e=N7,h0e=Zn;function f0e(e,t,r){var a=t(e);return h0e(e)?a:m0e(a,r(e))}var p0e=f0e;function g0e(e,t){for(var r=-1,a=e==null?0:e.length,s=0,i=[];++r<a;){var o=e[r];t(o,r,e)&&(i[s++]=o)}return i}var x0e=g0e;function y0e(){return[]}var v0e=y0e,b0e=x0e,w0e=v0e,j0e=Object.prototype,N0e=j0e.propertyIsEnumerable,ZE=Object.getOwnPropertySymbols,k0e=ZE?function(e){return e==null?[]:(e=Object(e),b0e(ZE(e),function(t){return N0e.call(e,t)}))}:w0e,S0e=k0e;function C0e(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}var P0e=C0e,T0e=Zi,A0e=Qi,E0e="[object Arguments]";function I0e(e){return A0e(e)&&T0e(e)==E0e}var _0e=I0e,QE=_0e,M0e=Qi,k7=Object.prototype,O0e=k7.hasOwnProperty,R0e=k7.propertyIsEnumerable,F0e=QE(function(){return arguments}())?QE:function(e){return M0e(e)&&O0e.call(e,"callee")&&!R0e.call(e,"callee")},hP=F0e,Sy={exports:{}};function D0e(){return!1}var $0e=D0e;Sy.exports;(function(e,t){var r=ai,a=$0e,s=t&&!t.nodeType&&t,i=s&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===s,l=o?r.Buffer:void 0,c=l?l.isBuffer:void 0,d=c||a;e.exports=d})(Sy,Sy.exports);var S7=Sy.exports,L0e=9007199254740991,z0e=/^(?:0|[1-9]\d*)$/;function B0e(e,t){var r=typeof e;return t=t??L0e,!!t&&(r=="number"||r!="symbol"&&z0e.test(e))&&e>-1&&e%1==0&&e<t}var fP=B0e,W0e=9007199254740991;function U0e(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=W0e}var pP=U0e,V0e=Zi,q0e=pP,H0e=Qi,G0e="[object Arguments]",K0e="[object Array]",Y0e="[object Boolean]",Z0e="[object Date]",Q0e="[object Error]",X0e="[object Function]",J0e="[object Map]",ewe="[object Number]",twe="[object Object]",rwe="[object RegExp]",nwe="[object Set]",awe="[object String]",swe="[object WeakMap]",iwe="[object ArrayBuffer]",owe="[object DataView]",lwe="[object Float32Array]",cwe="[object Float64Array]",dwe="[object Int8Array]",uwe="[object Int16Array]",mwe="[object Int32Array]",hwe="[object Uint8Array]",fwe="[object Uint8ClampedArray]",pwe="[object Uint16Array]",gwe="[object Uint32Array]",Xt={};Xt[lwe]=Xt[cwe]=Xt[dwe]=Xt[uwe]=Xt[mwe]=Xt[hwe]=Xt[fwe]=Xt[pwe]=Xt[gwe]=!0;Xt[G0e]=Xt[K0e]=Xt[iwe]=Xt[Y0e]=Xt[owe]=Xt[Z0e]=Xt[Q0e]=Xt[X0e]=Xt[J0e]=Xt[ewe]=Xt[twe]=Xt[rwe]=Xt[nwe]=Xt[awe]=Xt[swe]=!1;function xwe(e){return H0e(e)&&q0e(e.length)&&!!Xt[V0e(e)]}var ywe=xwe;function vwe(e){return function(t){return e(t)}}var C7=vwe,Cy={exports:{}};Cy.exports;(function(e,t){var r=Oq,a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===a,o=i&&r.process,l=function(){try{var c=s&&s.require&&s.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();e.exports=l})(Cy,Cy.exports);var bwe=Cy.exports,wwe=ywe,jwe=C7,XE=bwe,JE=XE&&XE.isTypedArray,Nwe=JE?jwe(JE):wwe,P7=Nwe,kwe=P0e,Swe=hP,Cwe=Zn,Pwe=S7,Twe=fP,Awe=P7,Ewe=Object.prototype,Iwe=Ewe.hasOwnProperty;function _we(e,t){var r=Cwe(e),a=!r&&Swe(e),s=!r&&!a&&Pwe(e),i=!r&&!a&&!s&&Awe(e),o=r||a||s||i,l=o?kwe(e.length,String):[],c=l.length;for(var d in e)(t||Iwe.call(e,d))&&!(o&&(d=="length"||s&&(d=="offset"||d=="parent")||i&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Twe(d,c)))&&l.push(d);return l}var Mwe=_we,Owe=Object.prototype;function Rwe(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Owe;return e===r}var Fwe=Rwe;function Dwe(e,t){return function(r){return e(t(r))}}var T7=Dwe,$we=T7,Lwe=$we(Object.keys,Object),zwe=Lwe,Bwe=Fwe,Wwe=zwe,Uwe=Object.prototype,Vwe=Uwe.hasOwnProperty;function qwe(e){if(!Bwe(e))return Wwe(e);var t=[];for(var r in Object(e))Vwe.call(e,r)&&r!="constructor"&&t.push(r);return t}var Hwe=qwe,Gwe=ZC,Kwe=pP;function Ywe(e){return e!=null&&Kwe(e.length)&&!Gwe(e)}var Ap=Ywe,Zwe=Mwe,Qwe=Hwe,Xwe=Ap;function Jwe(e){return Xwe(e)?Zwe(e):Qwe(e)}var Zb=Jwe,eje=p0e,tje=S0e,rje=Zb;function nje(e){return eje(e,rje,tje)}var aje=nje,eI=aje,sje=1,ije=Object.prototype,oje=ije.hasOwnProperty;function lje(e,t,r,a,s,i){var o=r&sje,l=eI(e),c=l.length,d=eI(t),u=d.length;if(c!=u&&!o)return!1;for(var m=c;m--;){var h=l[m];if(!(o?h in t:oje.call(t,h)))return!1}var f=i.get(e),b=i.get(t);if(f&&b)return f==t&&b==e;var g=!0;i.set(e,t),i.set(t,e);for(var p=o;++m<c;){h=l[m];var x=e[h],v=t[h];if(a)var w=o?a(v,x,h,t,e,i):a(x,v,h,e,t,i);if(!(w===void 0?x===v||s(x,v,r,a,i):w)){g=!1;break}p||(p=h=="constructor")}if(g&&!p){var N=e.constructor,j=t.constructor;N!=j&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof j=="function"&&j instanceof j)&&(g=!1)}return i.delete(e),i.delete(t),g}var cje=lje,dje=Ic,uje=ai,mje=dje(uje,"DataView"),hje=mje,fje=Ic,pje=ai,gje=fje(pje,"Promise"),xje=gje,yje=Ic,vje=ai,bje=yje(vje,"Set"),A7=bje,wje=Ic,jje=ai,Nje=wje(jje,"WeakMap"),kje=Nje,RN=hje,FN=XC,DN=xje,$N=A7,LN=kje,E7=Zi,pm=Fq,tI="[object Map]",Sje="[object Object]",rI="[object Promise]",nI="[object Set]",aI="[object WeakMap]",sI="[object DataView]",Cje=pm(RN),Pje=pm(FN),Tje=pm(DN),Aje=pm($N),Eje=pm(LN),Al=E7;(RN&&Al(new RN(new ArrayBuffer(1)))!=sI||FN&&Al(new FN)!=tI||DN&&Al(DN.resolve())!=rI||$N&&Al(new $N)!=nI||LN&&Al(new LN)!=aI)&&
vendor: 4,632 bytes, line 763
763(Al=function(e){var t=E7(e),r=t==Sje?e.constructor:void 0,a=r?pm(r):"";if(a)switch(a){case Cje:return sI;case Pje:return tI;case Tje:return rI;case Aje:return nI;case Eje:return aI}return t});var Ije=Al,Kw=y7,_je=j7,Mje=d0e,Oje=cje,iI=Ije,oI=Zn,lI=S7,Rje=P7,Fje=1,cI="[object Arguments]",dI="[object Array]",bg="[object Object]",Dje=Object.prototype,uI=Dje.hasOwnProperty;function $je(e,t,r,a,s,i){var o=oI(e),l=oI(t),c=o?dI:iI(e),d=l?dI:iI(t);c=c==cI?bg:c,d=d==cI?bg:d;var u=c==bg,m=d==bg,h=c==d;if(h&&lI(e)){if(!lI(t))return!1;o=!0,u=!1}if(h&&!u)return i||(i=new Kw),o||Rje(e)?_je(e,t,r,a,s,i):Mje(e,t,c,r,a,s,i);if(!(r&Fje)){var f=u&&uI.call(e,"__wrapped__"),b=m&&uI.call(t,"__wrapped__");if(f||b){var g=f?e.value():e,p=b?t.value():t;return i||(i=new Kw),s(g,p,r,a,i)}}return h?(i||(i=new Kw),Oje(e,t,r,a,s,i)):!1}var Lje=$je,zje=Lje,mI=Qi;function I7(e,t,r,a,s){return e===t?!0:e==null||t==null||!mI(e)&&!mI(t)?e!==e&&t!==t:zje(e,t,r,a,I7,s)}var gP=I7,Bje=y7,Wje=gP,Uje=1,Vje=2;function qje(e,t,r,a){var s=r.length,i=s,o=!a;if(e==null)return!i;for(e=Object(e);s--;){var l=r[s];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++s<i;){l=r[s];var c=l[0],d=e[c],u=l[1];if(o&&l[2]){if(d===void 0&&!(c in e))return!1}else{var m=new Bje;if(a)var h=a(d,u,c,e,t,m);if(!(h===void 0?Wje(u,d,Uje|Vje,a,m):h))return!1}}return!0}var Hje=qje,Gje=gl;function Kje(e){return e===e&&!Gje(e)}var _7=Kje,Yje=_7,Zje=Zb;function Qje(e){for(var t=Zje(e),r=t.length;r--;){var a=t[r],s=e[a];t[r]=[a,s,Yje(s)]}return t}var Xje=Qje;function Jje(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}var M7=Jje,e1e=Hje,t1e=Xje,r1e=M7;function n1e(e){var t=t1e(e);return t.length==1&&t[0][2]?r1e(t[0][0],t[0][1]):function(r){return r===e||e1e(r,e,t)}}var a1e=n1e;function s1e(e,t){return e!=null&&t in Object(e)}var i1e=s1e,o1e=Bq,l1e=hP,c1e=Zn,d1e=fP,u1e=pP,m1e=Rb;function h1e(e,t,r){t=o1e(t,e);for(var a=-1,s=t.length,i=!1;++a<s;){var o=m1e(t[a]);if(!(i=e!=null&&r(e,o)))break;e=e[o]}return i||++a!=s?i:(s=e==null?0:e.length,!!s&&u1e(s)&&d1e(o,s)&&(c1e(e)||l1e(e)))}var f1e=h1e,p1e=i1e,g1e=f1e;function x1e(e,t){return e!=null&&g1e(e,t,p1e)}var y1e=x1e,v1e=gP,b1e=Wq,w1e=y1e,j1e=YC,N1e=_7,k1e=M7,S1e=Rb,C1e=1,P1e=2;function T1e(e,t){return j1e(e)&&N1e(t)?k1e(S1e(e),t):function(r){var a=b1e(r,e);return a===void 0&&a===t?w1e(r,e):v1e(t,a,C1e|P1e)}}var A1e=T1e;function E1e(e){return e}var gm=E1e;function I1e(e){return function(t){return t==null?void 0:t[e]}}var _1e=I1e,M1e=rP;function O1e(e){return function(t){return M1e(t,e)}}var R1e=O1e,F1e=_1e,D1e=R1e,$1e=YC,L1e=Rb;function z1e(e){return $1e(e)?F1e(L1e(e)):D1e(e)}var B1e=z1e,W1e=a1e,U1e=A1e,V1e=gm,q1e=Zn,H1e=B1e;function G1e(e){return typeof e=="function"?e:e==null?V1e:typeof e=="object"?q1e(e)?U1e(e[0],e[1]):W1e(e):H1e(e)}var xl=G1e;function K1e(e,t,r,a){for(var s=e.length,i=r+(a?1:-1);a?i--:++i<s;)if(t(e[i],i,e))return i;return-1}var O7=K1e;function Y1e(e){return e!==e}var Z1e=Y1e;function Q1e(e,t,r){for(var a=r-1,s=e.length;++a<s;)if(e[a]===t)return a;return-1}var X1e=Q1e,J1e=O7,eNe=Z1e,tNe=X1e;function rNe(e,t,r){return t===t?tNe(e,t,r):J1e(e,eNe,r)}var nNe=rNe,aNe=nNe;function sNe(e,t){var r=e==null?0:e.length;return!!r&&aNe(e,t,0)>-1}var iNe=sNe;function oNe(e,t,r){for(var a=-1,s=e==null?0:e.length;++a<s;)if(r(t,e[a]))return!0;return!1}var lNe=oNe;function cNe(){}var dNe=cNe,Yw=A7,uNe=dNe,mNe=mP,hNe=1/0,fNe=Yw&&1/mNe(new Yw([,-0]))[1]==hNe?function(e){return new Yw(e)}:uNe,pNe=fNe,gNe=v7,xNe=iNe,yNe=lNe,vNe=w7,bNe=pNe,wNe=mP,jNe=200;function NNe(e,t,r){var a=-1,s=xNe,i=e.length,o=!0,l=[],c=l;if(r)o=!1,s=yNe;else if(i>=jNe){var d=t?null:bNe(e);if(d)return wNe(d);o=!1,s=vNe,c=new gNe}else c=t?[]:l;e:for(;++a<i;){var u=e[a],m=t?t(u):u;if(u=r||u!==0?u:0,o&&m===m){for(var h=c.length;h--;)if(c[h]===m)continue e;t&&c.push(m),l.push(u)}else s(c,m,r)||(c!==l&&c.push(m),l.push(u))}return l}var kNe=NNe,SNe=xl,CNe=kNe;function PNe(e,t){return e&&e.length?CNe(e,SNe(t)):[]}var TNe=PNe;const hI=Ft(TNe);function R7(e,t,r){return t===!0?hI(e,r):ot(t)?hI(e,t):e}function ju(e){"@babel/helpers - typeof";return ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ju(e)}var ANe=["ref"];function fI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function ci(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};
763t%2?fI(Object(r),!0).forEach(function(a){Qb(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ENe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pI(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,D7(a.key),a)}}function INe(e,t,r){return t&&pI(e.prototype,t),r&&pI(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _Ne(e,t,r){return t=Py(t),MNe(e,F7()?Reflect.construct(t,r||[],Py(e).constructor):t.apply(e,r))}function MNe(e,t){if(t&&(ju(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ONe(e)}function ONe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function F7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(F7=function(){return!!e})()}
vendor: 4,688 bytes, line 763
763function Py(e){return Py=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Py(e)}function RNe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zN(e,t)}function zN(e,t){return zN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},zN(e,t)}function Qb(e,t,r){return t=D7(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D7(e){var t=FNe(e,"string");return ju(t)=="symbol"?t:t+""}function FNe(e,t){if(ju(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(ju(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function DNe(e,t){if(e==null)return{};var r=$Ne(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function $Ne(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function LNe(e){return e.value}function zNe(e,t){if(L.isValidElement(e))return L.cloneElement(e,t);if(typeof e=="function")return L.createElement(e,t);t.ref;var r=DNe(t,ANe);return L.createElement(uP,r)}var gI=1,Fd=function(e){function t(){var r;ENe(this,t);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return r=_Ne(this,t,[].concat(s)),Qb(r,"lastBoundingBox",{width:-1,height:-1}),r}return RNe(t,e),INe(t,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var a=this.wrapperNode.getBoundingClientRect();return a.height=this.wrapperNode.offsetHeight,a.width=this.wrapperNode.offsetWidth,a}return null}},{key:"updateBBox",value:function(){var a=this.props.onBBoxUpdate,s=this.getBBox();s?(Math.abs(s.width-this.lastBoundingBox.width)>gI||Math.abs(s.height-this.lastBoundingBox.height)>gI)&&(this.lastBoundingBox.width=s.width,this.lastBoundingBox.height=s.height,a&&a(s)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,a&&a(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?ci({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(a){var s=this.props,i=s.layout,o=s.align,l=s.verticalAlign,c=s.margin,d=s.chartWidth,u=s.chartHeight,m,h;if(!a||(a.left===void 0||a.left===null)&&(a.right===void 0||a.right===null))if(o==="center"&&i==="vertical"){var f=this.getBBoxSnapshot();m={left:((d||0)-f.width)/2}}else m=o==="right"?{right:c&&c.right||0}:{left:c&&c.left||0};if(!a||(a.top===void 0||a.top===null)&&(a.bottom===void 0||a.bottom===null))if(l==="middle"){var b=this.getBBoxSnapshot();h={top:((u||0)-b.height)/2}}else h=l==="bottom"?{bottom:c&&c.bottom||0}:{top:c&&c.top||0};return ci(ci({},m),h)}},{key:"render",value:function(){var a=this,s=this.props,i=s.content,o=s.width,l=s.height,c=s.wrapperStyle,d=s.payloadUniqBy,u=s.payload,m=ci(ci({position:"absolute",width:o||"auto",height:l||"auto"},this.getDefaultPosition(c)),c);return L.createElement("div",{className:"recharts-legend-wrapper",style:m,ref:function(f){a.wrapperNode=f}},zNe(i,ci(ci({},this.props),{},{payload:R7(u,d,LNe)})))}}],[{key:"getWithHeight",value:function(a,s){var i=ci(ci({},this.defaultProps),a.props),o=i.layout;return o==="vertical"&&we(a.props.height)?{height:a.props.height}:o==="horizontal"?{width:a.props.width||s}:null}}])}(y.PureComponent);Qb(Fd,"displayName","Legend");Qb(Fd,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var xI=Sp,BNe=hP,WNe=Zn,yI=xI?xI.isConcatSpreadable:void 0;function UNe(e){return WNe(e)||BNe(e)||!!(yI&&e&&e[yI])}var VNe=UNe,qNe=N7,HNe=VNe;function $7(e,t,r,a,s){var i=-1,o=e.length;for(r||(r=HNe),s||(s=[]);++i<o;){var l=e[i];t>0&&r(l)?t>1?$7(l,t-1,r,a,s):qNe(s,l):a||(s[s.length]=l)}return s}var L7=$7;function GNe(e){return function(t,r,a){for(var s=-1,i=Object(t),o=a(t),l=o.length;l--;){var c=o[e?l:++s];if(r(i[c],c,i)===!1)break}return t}}var KNe=GNe,YNe=KNe,ZNe=YNe(),QNe=ZNe,XNe=QNe,JNe=Zb;function eke(e,t){return e&&XNe(e,t,JNe)}var z7=eke,tke=Ap;
vendor: 4,098 bytes, lines 763-764
763function rke(e,t){return function(r,a){if(r==null)return r;if(!tke(r))return e(r,a);for(var s=r.length,i=t?s:-1,o=Object(r);(t?i--:++i<s)&&a(o[i],i,o)!==!1;);return r}}var nke=rke,ake=z7,ske=nke,ike=ske(ake),xP=ike,oke=xP,lke=Ap;function cke(e,t){var r=-1,a=lke(e)?Array(e.length):[];return oke(e,function(s,i,o){a[++r]=t(s,i,o)}),a}var B7=cke;function dke(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}var uke=dke,vI=cm;function mke(e,t){if(e!==t){var r=e!==void 0,a=e===null,s=e===e,i=vI(e),o=t!==void 0,l=t===null,c=t===t,d=vI(t);if(!l&&!d&&!i&&e>t||i&&o&&c&&!l&&!d||a&&o&&c||!r&&c||!s)return 1;if(!a&&!i&&!d&&e<t||d&&r&&s&&!a&&!i||l&&r&&s||!o&&s||!c)return-1}return 0}var hke=mke,fke=hke;function pke(e,t,r){for(var a=-1,s=e.criteria,i=t.criteria,o=s.length,l=r.length;++a<o;){var c=fke(s[a],i[a]);if(c){if(a>=l)return c;var d=r[a];return c*(d=="desc"?-1:1)}}return e.index-t.index}var gke=pke,Zw=tP,xke=rP,yke=xl,vke=B7,bke=uke,wke=C7,jke=gke,Nke=gm,kke=Zn;function Ske(e,t,r){t.length?t=Zw(t,function(i){return kke(i)?function(o){return xke(o,i.length===1?i[0]:i)}:i}):t=[Nke];var a=-1;t=Zw(t,wke(yke));var s=vke(e,function(i,o,l){var c=Zw(t,function(d){return d(i)});return{criteria:c,index:++a,value:i}});return bke(s,function(i,o){return jke(i,o,r)})}var Cke=Ske;function Pke(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var Tke=Pke,Ake=Tke,bI=Math.max;function Eke(e,t,r){return t=bI(t===void 0?e.length-1:t,0),function(){for(var a=arguments,s=-1,i=bI(a.length-t,0),o=Array(i);++s<i;)o[s]=a[t+s];s=-1;for(var l=Array(t+1);++s<t;)l[s]=a[s];return l[t]=r(o),Ake(e,this,l)}}var Ike=Eke;function _ke(e){return function(){return e}}var Mke=_ke,Oke=Ic,Rke=function(){try{var e=Oke(Object,"defineProperty");return e({},"",{}),e}catch{}}(),W7=Rke,Fke=Mke,wI=W7,Dke=gm,$ke=wI?function(e,t){return wI(e,"toString",{configurable:!0,enumerable:!1,value:Fke(t),writable:!0})}:Dke,Lke=$ke,zke=800,Bke=16,Wke=Date.now;function Uke(e){var t=0,r=0;return function(){var a=Wke(),s=Bke-(a-r);if(r=a,s>0){if(++t>=zke)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Vke=Uke,qke=Lke,Hke=Vke,Gke=Hke(qke),Kke=Gke,Yke=gm,Zke=Ike,Qke=Kke;function Xke(e,t){return Qke(Zke(e,t,Yke),e+"")}var Jke=Xke,eSe=QC,tSe=Ap,rSe=fP,nSe=gl;function aSe(e,t,r){if(!nSe(r))return!1;var a=typeof t;return(a=="number"?tSe(r)&&rSe(t,r.length):a=="string"&&t in r)?eSe(r[t],e):!1}var Xb=aSe,sSe=L7,iSe=Cke,oSe=Jke,jI=Xb,lSe=oSe(function(e,t){if(e==null)return[];var r=t.length;return r>1&&jI(e,t[0],t[1])?t=[]:r>2&&jI(t[0],t[1],t[2])&&(t=[t[0]]),iSe(e,sSe(t,1),[])}),cSe=lSe;const yP=Ft(cSe);function xf(e){"@babel/helpers - typeof";return xf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xf(e)}function BN(){return BN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},BN.apply(this,arguments)}function dSe(e,t){return fSe(e)||hSe(e,t)||mSe(e,t)||uSe()}function uSe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
764In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mSe(e,t){if(e){if(typeof e=="string")return NI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return NI(e,t)}}function NI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function hSe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}
vendor: 28,722 bytes, lines 764-770
764finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function fSe(e){if(Array.isArray(e))return e}function kI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Qw(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?kI(Object(r),!0).forEach(function(a){pSe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function pSe(e,t,r){return t=gSe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gSe(e){var t=xSe(e,"string");return xf(t)=="symbol"?t:t+""}function xSe(e,t){if(xf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(xf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ySe(e){return Array.isArray(e)&&Fr(e[0])&&Fr(e[1])?e.join(" ~ "):e}var vSe=function(t){var r=t.separator,a=r===void 0?" : ":r,s=t.contentStyle,i=s===void 0?{}:s,o=t.itemStyle,l=o===void 0?{}:o,c=t.labelStyle,d=c===void 0?{}:c,u=t.payload,m=t.formatter,h=t.itemSorter,f=t.wrapperClassName,b=t.labelClassName,g=t.label,p=t.labelFormatter,x=t.accessibilityLayer,v=x===void 0?!1:x,w=function(){if(u&&u.length){var I={padding:0,margin:0},R=(h?yP(u,h):u).map(function(P,M){if(P.type==="none")return null;var O=Qw({display:"block",paddingTop:4,paddingBottom:4,color:P.color||"#000"},l),$=P.formatter||m||ySe,_=P.value,F=P.name,U=_,Z=F;if($&&U!=null&&Z!=null){var H=$(_,F,P,M,u);if(Array.isArray(H)){var Q=dSe(H,2);U=Q[0],Z=Q[1]}else U=H}return L.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(M),style:O},Fr(Z)?L.createElement("span",{className:"recharts-tooltip-item-name"},Z):null,Fr(Z)?L.createElement("span",{className:"recharts-tooltip-item-separator"},a):null,L.createElement("span",{className:"recharts-tooltip-item-value"},U),L.createElement("span",{className:"recharts-tooltip-item-unit"},P.unit||""))});return L.createElement("ul",{className:"recharts-tooltip-item-list",style:I},R)}return null},N=Qw({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},i),j=Qw({margin:0},d),k=!pt(g),S=k?g:"",C=vt("recharts-default-tooltip",f),A=vt("recharts-tooltip-label",b);k&&p&&u!==void 0&&u!==null&&(S=p(g,u));var T=v?{role:"status","aria-live":"assertive"}:{};return L.createElement("div",BN({className:C,style:N},T),L.createElement("p",{className:A,style:j},L.isValidElement(S)?S:"".concat(S)),w())};function yf(e){"@babel/helpers - typeof";return yf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yf(e)}function wg(e,t,r){return t=bSe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bSe(e){var t=wSe(e,"string");return yf(t)=="symbol"?t:t+""}function wSe(e,t){if(yf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(yf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Dm="recharts-tooltip-wrapper",jSe={visibility:"hidden"};function NSe(e){var t=e.coordinate,r=e.translateX,a=e.translateY;return vt(Dm,wg(wg(wg(wg({},"".concat(Dm,"-right"),we(r)&&t&&we(t.x)&&r>=t.x),"".concat(Dm,"-left"),we(r)&&t&&we(t.x)&&r<t.x),"".concat(Dm,"-bottom"),we(a)&&t&&we(t.y)&&a>=t.y),"".concat(Dm,"-top"),we(a)&&t&&we(t.y)&&a<t.y))}function SI(e){var t=e.allowEscapeViewBox,r=e.coordinate,a=e.key,s=e.offsetTopLeft,i=e.position,o=e.reverseDirection,l=e.tooltipDimension,c=e.viewBox,d=e.viewBoxDimension;if(i&&we(i[a]))return i[a];var u=r[a]-l-s,m=r[a]+s;if(t[a])return o[a]?u:m;if(o[a]){var h=u,f=c[a];return h<f?Math.max(m,c[a]):Math.max(u,c[a])}var b=m+l,g=c[a]+d;return b>g?Math.max(u,c[a]):Math.max(m,c[a])}function kSe(e){var t=e.translateX,r=e.translateY,a=e.useTranslate3d;return{transform:a?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function SSe(e){var t=e.allowEscapeViewBox,r=e.coordinate,a=e.offsetTopLeft,s=e.position,i=e.reverseDirection,o=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,d,u,m;return o.height>0&&o.width>0&&r?(u=SI({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:a,position:s,reverseDirection:i,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),m=SI({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:a,position:s,reverseDirection:i,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),d=kSe({translateX:u,translateY:m,useTranslate3d:l})):d=jSe,{cssProperties:d,cssClasses:NSe({translateX:u,translateY:m,coordinate:r})}}function Nu(e){"@babel/helpers - typeof";return Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nu(e)}function CI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function PI(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?CI(Object(r),!0).forEach(function(a){UN(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):CI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function CSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function PSe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,V7(a.key),a)}}function TSe(e,t,r){return t&&PSe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ASe(e,t,r){return t=Ty(t),ESe(e,U7()?Reflect.construct(t,r||[],Ty(e).constructor):t.apply(e,r))}function ESe(e,t){if(t&&(Nu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ISe(e)}function ISe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function U7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(U7=function(){return!!e})()}function Ty(e){return Ty=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ty(e)}function _Se(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&WN(e,t)}function WN(e,t){return WN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},WN(e,t)}function UN(e,t,r){return t=V7(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function V7(e){var t=MSe(e,"string");return Nu(t)=="symbol"?t:t+""}function MSe(e,t){if(Nu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Nu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var TI=1,OSe=function(e){function t(){var r;CSe(this,t);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return r=ASe(this,t,[].concat(s)),UN(r,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),UN(r,"handleKeyDown",function(o){if(o.key==="Escape"){var l,c,d,u;r.setState({dismissed:!0,dismissedAtCoordinate:{x:(l=(c=r.props.coordinate)===null||c===void 0?void 0:c.x)!==null&&l!==void 0?l:0,y:(d=(u=r.props.coordinate)===null||u===void 0?void 0:u.y)!==null&&d!==void 0?d:0}})}}),r}return _Se(t,e),TSe(t,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var a=this.wrapperNode.getBoundingClientRect();(Math.abs(a.width-this.state.lastBoundingBox.width)>TI||Math.abs(a.height-this.state.lastBoundingBox.height)>TI)&&this.setState({lastBoundingBox:{width:a.width,height:a.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var a,s;this.props.active&&this.updateBBox(),this.state.dismissed&&(((a=this.props.coordinate)===null||a===void 0?void 0:a.x)!==this.state.dismissedAtCoordinate.x||((s=this.props.coordinate)===null||s===void 0?void 0:s.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var a=this,s=this.props,i=s.active,o=s.allowEscapeViewBox,l=s.animationDuration,c=s.animationEasing,d=s.children,u=s.coordinate,m=s.hasPayload,h=s.isAnimationActive,f=s.offset,b=s.position,g=s.reverseDirection,p=s.useTranslate3d,x=s.viewBox,v=s.wrapperStyle,w=SSe({allowEscapeViewBox:o,coordinate:u,offsetTopLeft:f,position:b,reverseDirection:g,tooltipBox:this.state.lastBoundingBox,useTranslate3d:p,viewBox:x}),N=w.cssClasses,j=w.cssProperties,k=PI(PI({transition:h&&i?"transform ".concat(l,"ms ").concat(c):void 0},j),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&m?"visible":"hidden",position:"absolute",top:0,left:0},v);return L.createElement("div",{tabIndex:-1,className:N,style:k,ref:function(C){a.wrapperNode=C}},d)}}])}(y.PureComponent),RSe=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Ai={isSsr:RSe(),get:function(t){return Ai[t]},set:function(t,r){if(typeof t=="string")Ai[t]=r;else{var a=Object.keys(t);a&&a.length&&a.forEach(function(s){Ai[s]=t[s]})}}};function ku(e){"@babel/helpers - typeof";return ku=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ku(e)}function AI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function EI(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?AI(Object(r),!0).forEach(function(a){vP(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):AI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function FSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function DSe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,H7(a.key),a)}}function $Se(e,t,r){return t&&DSe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function LSe(e,t,r){return t=Ay(t),zSe(e,q7()?Reflect.construct(t,r||[],Ay(e).constructor):t.apply(e,r))}function zSe(e,t){if(t&&(ku(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return BSe(e)}function BSe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function q7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(q7=function(){return!!e})()}function Ay(e){return Ay=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Ay(e)}function WSe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&VN(e,t)}function VN(e,t){return VN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},VN(e,t)}function vP(e,t,r){return t=H7(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H7(e){var t=USe(e,"string");return ku(t)=="symbol"?t:t+""}function USe(e,t){if(ku(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(ku(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function VSe(e){return e.dataKey}function qSe(e,t){return L.isValidElement(e)?L.cloneElement(e,t):typeof e=="function"?L.createElement(e,t):L.createElement(vSe,t)}var Br=function(e){function t(){return FSe(this,t),LSe(this,t,arguments)}return WSe(t,e),$Se(t,[{key:"render",value:function(){var a=this,s=this.props,i=s.active,o=s.allowEscapeViewBox,l=s.animationDuration,c=s.animationEasing,d=s.content,u=s.coordinate,m=s.filterNull,h=s.isAnimationActive,f=s.offset,b=s.payload,g=s.payloadUniqBy,p=s.position,x=s.reverseDirection,v=s.useTranslate3d,w=s.viewBox,N=s.wrapperStyle,j=b??[];m&&j.length&&(j=R7(b.filter(function(S){return S.value!=null&&(S.hide!==!0||a.props.includeHidden)}),g,VSe));var k=j.length>0;return L.createElement(OSe,{allowEscapeViewBox:o,animationDuration:l,animationEasing:c,isAnimationActive:h,active:i,coordinate:u,hasPayload:k,offset:f,position:p,reverseDirection:x,useTranslate3d:v,viewBox:w,wrapperStyle:N},qSe(d,EI(EI({},this.props),{},{payload:j})))}}])}(y.PureComponent);vP(Br,"displayName","Tooltip");vP(Br,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Ai.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var HSe=ai,GSe=function(){return HSe.Date.now()},KSe=GSe,YSe=/\s/;function ZSe(e){for(var t=e.length;t--&&YSe.test(e.charAt(t)););return t}var QSe=ZSe,XSe=QSe,JSe=/^\s+/;function e2e(e){return e&&e.slice(0,XSe(e)+1).replace(JSe,"")}var t2e=e2e,r2e=t2e,II=gl,n2e=cm,_I=NaN,a2e=/^[-+]0x[0-9a-f]+$/i,s2e=/^0b[01]+$/i,i2e=/^0o[0-7]+$/i,o2e=parseInt;function l2e(e){if(typeof e=="number")return e;if(n2e(e))return _I;if(II(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=II(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=r2e(e);var r=s2e.test(e);return r||i2e.test(e)?o2e(e.slice(2),r?2:8):a2e.test(e)?_I:+e}var G7=l2e,c2e=gl,Xw=KSe,MI=G7,d2e="Expected a function",u2e=Math.max,m2e=Math.min;function h2e(e,t,r){var a,s,i,o,l,c,d=0,u=!1,m=!1,h=!0;if(typeof e!="function")throw new TypeError(d2e);t=MI(t)||0,c2e(r)&&(u=!!r.leading,m="maxWait"in r,i=m?u2e(MI(r.maxWait)||0,t):i,h="trailing"in r?!!r.trailing:h);function f(k){var S=a,C=s;return a=s=void 0,d=k,o=e.apply(C,S),o}function b(k){return d=k,l=setTimeout(x,t),u?f(k):o}function g(k){var S=k-c,C=k-d,A=t-S;return m?m2e(A,i-C):A}function p(k){var S=k-c,C=k-d;return c===void 0||S>=t||S<0||m&&C>=i}function x(){var k=Xw();if(p(k))return v(k);l=setTimeout(x,g(k))}function v(k){return l=void 0,h&&a?f(k):(a=s=void 0,o)}function w(){l!==void 0&&clearTimeout(l),d=0,a=c=s=l=void 0}function N(){return l===void 0?o:v(Xw())}function j(){var k=Xw(),S=p(k);if(a=arguments,s=this,c=k,S){if(l===void 0)return b(c);if(m)return clearTimeout(l),l=setTimeout(x,t),f(c)}return l===void 0&&(l=setTimeout(x,t)),o}return j.cancel=w,j.flush=N,j}var f2e=h2e,p2e=f2e,g2e=gl,x2e="Expected a function";function y2e(e,t,r){var a=!0,s=!0;if(typeof e!="function")throw new TypeError(x2e);return g2e(r)&&(a="leading"in r?!!r.leading:a,s="trailing"in r?!!r.trailing:s),p2e(e,t,{leading:a,maxWait:t,trailing:s})}var v2e=y2e;const K7=Ft(v2e);function vf(e){"@babel/helpers - typeof";return vf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vf(e)}function OI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function jg(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?OI(Object(r),!0).forEach(function(a){b2e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function b2e(e,t,r){return t=w2e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function w2e(e){var t=j2e(e,"string");return vf(t)=="symbol"?t:t+""}function j2e(e,t){if(vf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(vf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function N2e(e,t){return P2e(e)||C2e(e,t)||S2e(e,t)||k2e()}function k2e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
765In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S2e(e,t){if(e){if(typeof e=="string")return RI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return RI(e,t)}}function RI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function C2e(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function P2e(e){if(Array.isArray(e))return e}var Ei=y.forwardRef(function(e,t){var r=e.aspect,a=e.initialDimension,s=a===void 0?{width:-1,height:-1}:a,i=e.width,o=i===void 0?"100%":i,l=e.height,c=l===void 0?"100%":l,d=e.minWidth,u=d===void 0?0:d,m=e.minHeight,h=e.maxHeight,f=e.children,b=e.debounce,g=b===void 0?0:b,p=e.id,x=e.className,v=e.onResize,w=e.style,N=w===void 0?{}:w,j=y.useRef(null),k=y.useRef();k.current=v,y.useImperativeHandle(t,function(){return Object.defineProperty(j.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),j.current},configurable:!0})});var S=y.useState({containerWidth:s.width,containerHeight:s.height}),C=N2e(S,2),A=C[0],T=C[1],E=y.useCallback(function(R,P){T(function(M){var O=Math.round(R),$=Math.round(P);return M.containerWidth===O&&M.containerHeight===$?M:{containerWidth:O,containerHeight:$}})},[]);y.useEffect(function(){var R=function(F){var U,Z=F[0].contentRect,H=Z.width,Q=Z.height;E(H,Q),(U=k.current)===null||U===void 0||U.call(k,H,Q)};g>0&&(R=K7(R,g,{trailing:!0,leading:!1}));var P=new ResizeObserver(R),M=j.current.getBoundingClientRect(),O=M.width,$=M.height;return E(O,$),P.observe(j.current),function(){P.disconnect()}},[E,g]);var I=y.useMemo(function(){var R=A.containerWidth,P=A.containerHeight;if(R<0||P<0)return null;Ti(Dl(o)||Dl(c),`The width(%s) and height(%s) are both fixed numbers,
766       maybe you don't need to use a ResponsiveContainer.`,o,c),Ti(!r||r>0,"The aspect(%s) must be greater than zero.",r);var M=Dl(o)?R:o,O=Dl(c)?P:c;r&&r>0&&(M?O=M/r:O&&(M=O*r),h&&O>h&&(O=h)),Ti(M>0||O>0,`The width(%s) and height(%s) of chart should be greater than 0,
767       please check the style of container, or the props width(%s) and height(%s),
768       or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
769       height and width.`,M,O,o,c,u,m,r);var $=!Array.isArray(f)&&Pi(f.type).endsWith("Chart");return L.Children.map(f,function(_){return L.isValidElement(_)?y.cloneElement(_,jg({width:M,height:O},$?{style:jg({height:"100%",width:"100%",maxHeight:O,maxWidth:M},_.props.style)}:{})):_})},[r,f,c,h,m,u,A,o]);return L.createElement("div",{id:p?"".concat(p):void 0,className:vt("recharts-responsive-container",x),style:jg(jg({},N),{},{width:o,height:c,minWidth:u,minHeight:m,maxHeight:h}),ref:j},I)}),Y7=function(t){return null};Y7.displayName="Cell";function bf(e){"@babel/helpers - typeof";return bf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bf(e)}function FI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function qN(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?FI(Object(r),!0).forEach(function(a){T2e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):FI(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function T2e(e,t,r){return t=A2e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function A2e(e){var t=E2e(e,"string");return bf(t)=="symbol"?t:t+""}function E2e(e,t){if(bf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(bf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qc={widthCache:{},cacheCount:0},I2e=2e3,_2e={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},DI="recharts_measurement_span";function M2e(e){var t=qN({},e);return Object.keys(t).forEach(function(r){t[r]||delete t[r]}),t}var wh=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ai.isSsr)return{width:0,height:0};var a=M2e(r),s=JSON.stringify({text:t,copyStyle:a});if(qc.widthCache[s])return qc.widthCache[s];try{var i=document.getElementById(DI);i||(i=document.createElement("span"),i.setAttribute("id",DI),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var o=qN(qN({},_2e),a);Object.assign(i.style,o),i.textContent="".concat(t);var l=i.getBoundingClientRect(),c={width:l.width,height:l.height};return qc.widthCache[s]=c,++qc.cacheCount>I2e&&(qc.cacheCount=0,qc.widthCache={}),c}catch{return{width:0,height:0}}},O2e=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function wf(e){"@babel/helpers - typeof";return wf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wf(e)}function Ey(e,t){return $2e(e)||D2e(e,t)||F2e(e,t)||R2e()}function R2e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
770In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function F2e(e,t){if(e){if(typeof e=="string")return $I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $I(e,t)}}function $I(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function D2e(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function $2e(e){if(Array.isArray(e))return e}function L2e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function LI(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,B2e(a.key),a)}}function z2e(e,t,r){return t&&LI(e.prototype,t),r&&LI(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function B2e(e){var t=W2e(e,"string");return wf(t)=="symbol"?t:t+""}function W2e(e,t){if(wf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(wf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var zI=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,BI=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,U2e=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,V2e=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,Z7={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},q2e=Object.keys(Z7),xd="NaN";function H2e(e,t){return e*Z7[t]}var Ng=function(){function e(t,r){L2e(this,e),this.num=t,this.unit=r,this.num=t,this.unit=r,Number.isNaN(t)&&(this.unit=""),r!==""&&!U2e.test(r)&&(this.num=NaN,this.unit=""),q2e.includes(r)&&(this.num=H2e(t,r),this.unit="px")}return z2e(e,[{key:"add",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num+r.num,this.unit)}},{key:"subtract",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num-r.num,this.unit)}},{key:"multiply",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num*r.num,this.unit||r.unit)}},{key:"divide",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num/r.num,this.unit||r.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(r){var a,s=(a=V2e.exec(r))!==null&&a!==void 0?a:[],i=Ey(s,3),o=i[1],l=i[2];return new e(parseFloat(o),l??"")}}])}();function Q7(e){if(e.includes(xd))return xd;for(var t=e;t.includes("*")||t.includes("/");){var r,a=(r=zI.exec(t))!==null&&r!==void 0?r:[],s=Ey(a,4),i=s[1],o=s[2],l=s[3],c=Ng.parse(i??""),d=Ng.parse(l??""),u=o==="*"?c.multiply(d):c.divide(d);if(u.isNaN())return xd;t=t.replace(zI,u.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var m,h=(m=BI.exec(t))!==null&&m!==void 0?m:[],f=Ey(h,4),b=f[1],g=f[2],p=f[3],x=Ng.parse(b??""),v=Ng.parse(p??""),w=g==="+"?x.add(v):x.subtract(v);if(w.isNaN())return xd;t=t.replace(BI,w.toString())}return t}var WI=/\(([^()]*)\)/;function G2e(e){for(var t=e;t.includes("(");){var r=WI.exec(t),a=Ey(r,2),s=a[1];t=t.replace(WI,Q7(s))}return t}function K2e(e){var t=e.replace(/\s+/g,"");return t=G2e(t),t=Q7(t),t}function Y2e(e){try{return K2e(e)}catch{return xd}}function Jw(e){var t=Y2e(e.slice(5,-1));return t===xd?"":t}var Z2e=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],Q2e=["dx","dy","angle","className","breakAll"];function HN(){return HN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},HN.apply(this,arguments)}function UI(e,t){if(e==null)return{};var r=X2e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function X2e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function VI(e,t){return rCe(e)||tCe(e,t)||eCe(e,t)||J2e()}
770function J2e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
771In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eCe(e,t){if(e){if(typeof e=="string")return qI(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qI(e,t)}}function qI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function tCe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function rCe(e){if(Array.isArray(e))return e}var X7=/[ \f\n\r\t\v\u2028\u2029]+/,J7=function(t){var r=t.children,a=t.breakAll,s=t.style;try{var i=[];pt(r)||(a?i=r.toString().split(""):i=r.toString().split(X7));var o=i.map(function(c){return{word:c,width:wh(c,s).width}}),l=a?0:wh(" ",s).width;return{wordsWithComputedWidth:o,spaceWidth:l}}catch{return null}},nCe=function(t,r,a,s,i){var o=t.maxLines,l=t.children,c=t.style,d=t.breakAll,u=we(o),m=l,h=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return M.reduce(function(O,$){var _=$.word,F=$.width,U=O[O.length-1];if(U&&(s==null||i||U.width+F+a<Number(s)))U.words.push(_),U.width+=F+a;else{var Z={words:[_],width:F};O.push(Z)}return O},[])},f=h(r),b=function(M){return M.reduce(function(O,$){return O.width>$.width?O:$})};if(!u)return f;for(var g="…",p=function(M){var O=m.slice(0,M),$=J7({breakAll:d,style:c,children:O+g}).wordsWithComputedWidth,_=h($),F=_.length>o||b(_).width>Number(s);return[F,_]},x=0,v=m.length-1,w=0,N;x<=v&&w<=m.length-1;){var j=Math.floor((x+v)/2),k=j-1,S=p(k),C=VI(S,2),A=C[0],T=C[1],E=p(j),I=VI(E,1),R=I[0];if(!A&&!R&&(x=j+1),A&&R&&(v=j-1),!A&&R){N=T;break}w++}return N||f},HI=function(t){var r=pt(t)?[]:t.toString().split(X7);return[{words:r}]},aCe=function(t){var r=t.width,a=t.scaleToFit,s=t.children,i=t.style,o=t.breakAll,l=t.maxLines;if((r||a)&&!Ai.isSsr){var c,d,u=J7({breakAll:o,children:s,style:i});if(u){var m=u.wordsWithComputedWidth,h=u.spaceWidth;c=m,d=h}else return HI(s);return nCe({breakAll:o,children:s,maxLines:l,style:i},c,d,r,a)}return HI(s)},GI="#808080",Iy=function(t){var r=t.x,a=r===void 0?0:r,s=t.y,i=s===void 0?0:s,o=t.lineHeight,l=o===void 0?"1em":o,c=t.capHeight,d=c===void 0?"0.71em":c,u=t.scaleToFit,m=u===void 0?!1:u,h=t.textAnchor,f=h===void 0?"start":h,b=t.verticalAnchor,g=b===void 0?"end":b,p=t.fill,x=p===void 0?GI:p,v=UI(t,Z2e),w=y.useMemo(function(){return aCe({breakAll:v.breakAll,children:v.children,maxLines:v.maxLines,scaleToFit:m,style:v.style,width:v.width})},[v.breakAll,v.children,v.maxLines,m,v.style,v.width]),N=v.dx,j=v.dy,k=v.angle,S=v.className,C=v.breakAll,A=UI(v,Q2e);if(!Fr(a)||!Fr(i))return null;var T=a+(we(N)?N:0),E=i+(we(j)?j:0),I;switch(g){case"start":I=Jw("calc(".concat(d,")"));break;case"middle":I=Jw("calc(".concat((w.length-1)/2," * -").concat(l," + (").concat(d," / 2))"));break;default:I=Jw("calc(".concat(w.length-1," * -").concat(l,")"));break}var R=[];if(m){var P=w[0].width,M=v.width;R.push("scale(".concat((we(M)?M/P:1)/P,")"))}return k&&R.push("rotate(".concat(k,", ").concat(T,", ").concat(E,")")),R.length&&(A.transform=R.join(" ")),L.createElement("text",HN({},xt(A,!0),{x:T,y:E,className:vt("recharts-text",S),textAnchor:f,fill:x.includes("url")?GI:x}),w.map(function(O,$){var _=O.words.join(C?"":" ");return L.createElement("tspan",{x:T,dy:$===0?I:l,key:"".concat(_,"-").concat($)},_)}))};function Wo(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function sCe(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function bP(e){let t,r,a;e.length!==2?(t=Wo,r=(l,c)=>Wo(e(l),c),a=(l,c)=>e(l)-c):(t=e===Wo||e===sCe?e:iCe,r=e,a=e);function s(l,c,d=0,u=l.length){if(d<u){if(t(c,c)!==0)return u;do{const m=d+u>>>1;r(l[m],c)<0?d=m+1:u=m}while(d<u)}return d}function i(l,c,d=0,u=l.length){if(d<u){if(t(c,c)!==0)return u;do{const m=d+u>>>1;r(l[m],c)<=0?d=m+1:u=m}while(d<u)}return d}function o(l,c,d=0,u=l.length){const m=s(l,c,d,u-1);return m>d&&a(l[m-1],c)>-a(l[m],c)?m-1:m}return{left:s,center:o,right:i}}function iCe(){return 0}function eH(e){return e===null?NaN:+e}function*oCe(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const lCe=bP(Wo),Ep=lCe.right;bP(eH).center;class KI extends Map{constructor(t,r=uCe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[a,s]of t)this.set(a,s)}get(t){return super.get(YI(this,t))}has(t){return super.has(YI(this,t))}set(t,r){return super.set(cCe(this,t),r)}delete(t){return super.delete(dCe(this,t))}}function YI({_intern:e,_key:t},r){const a=t(r);return e.has(a)?e.get(a):r}function cCe({_intern:e,_key:t},r){const a=t(r);return e.has(a)?e.get(a):(e.set(a,r),r)}function dCe({_intern:e,_key:t},r){const a=t(r);return e.has(a)&&(r=e.get(a),e.delete(a)),r}function uCe(e){return e!==null&&typeof e=="object"?e.valueOf():e}function mCe(e=Wo){if(e===Wo)return tH;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const a=e(t,r);return a||a===0?a:(e(r,r)===0)-(e(t,t)===0)}}function tH(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}const hCe=Math.sqrt(50),fCe=Math.sqrt(10),pCe=Math.sqrt(2);function _y(e,t,r){const a=(t-e)/Math.max(0,r),s=Math.floor(Math.log10(a)),i=a/Math.pow(10,s),o=i>=hCe?10:i>=fCe?5:i>=pCe?2:1;let l,c,d;return s<0?(d=Math.pow(10,-s)/o,l=Math.round(e*d),c=Math.round(t*d),l/d<e&&++l,c/d>t&&--c,d=-d):(d=Math.pow(10,s)*o,l=Math.round(e/d),c=Math.round(t/d),l*d<e&&++l,c*d>t&&--c),c<l&&.5<=r&&r<2?_y(e,t,r*2):[l,c,d]}function GN(e,t,r){if(t=+t,e=+e,r=+r,!(r>0))return[];if(e===t)return[e];const a=t<e,[s,i,o]=a?_y(t,e,r):_y(e,t,r);if(!(i>=s))return[];const l=i-s+1,c=new Array(l);if(a)if(o<0)for(let d=0;d<l;++d)c[d]=(i-d)/-o;else for(let d=0;d<l;++d)c[d]=(i-d)*o;else if(o<0)for(let d=0;d<l;++d)c[d]=(s+d)/-o;else for(let d=0;d<l;++d)c[d]=(s+d)*o;return c}function KN(e,t,r){return t=+t,e=+e,r=+r,_y(e,t,r)[2]}function YN(e,t,r){t=+t,e=+e,r=+r;const a=t<e,s=a?KN(t,e,r):KN(e,t,r);return(a?-1:1)*(s<0?1/-s:s)}function ZI(e,t){let r;for(const a of e)a!=null&&(r<a||r===void 0&&a>=a)&&(r=a);return r}function QI(e,t){let r;for(const a of e)a!=null&&(r>a||r===void 0&&a>=a)&&(r=a);return r}function rH(e,t,r=0,a=1/0,s){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),a=Math.floor(Math.min(e.length-1,a)),!(r<=t&&t<=a))return e;for(s=s===void 0?tH:mCe(s);a>r;){if(a-r>600){const c=a-r+1,d=t-r+1,u=Math.log(c),m=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*m*(c-m)/c)*(d-c/2<0?-1:1),f=Math.max(r,Math.floor(t-d*m/c+h)),b=Math.min(a,Math.floor(t+(c-d)*m/c+h));rH(e,t,f,b,s)}const i=e[t];let o=r,l=a;for($m(e,r,t),s(e[a],i)>0&&$m(e,r,a);o<l;){for($m(e,o,l),++o,--l;s(e[o],i)<0;)++o;for(;s(e[l],i)>0;)--l}s(e[r],i)===0?$m(e,r,l):(++l,$m(e,l,a)),l<=t&&(r=l+1),t<=l&&(a=l-1)}return e}function $m(e,t,r){const a=e[t];e[t]=e[r],e[r]=a}function gCe(e,t,r){if(e=Float64Array.from(oCe(e)),!(!(a=e.length)||isNaN(t=+t))){if(t<=0||a<2)return QI(e);if(t>=1)return ZI(e);var a,s=(a-1)*t,i=Math.floor(s),o=ZI(rH(e,i).subarray(0,i+1)),l=QI(e.subarray(i+1));return o+(l-o)*(s-i)}}function xCe(e,t,r=eH){if(!(!(a=e.length)||isNaN(t=+t))){if(t<=0||a<2)return+r(e[0],0,e);if(t>=1)return+r(e[a-1],a-1,e);var a,s=(a-1)*t,i=Math.floor(s),o=+r(e[i],i,e),l=+r(e[i+1],i+1,e);return o+(l-o)*(s-i)}}function yCe(e,t,r){e=+e,t=+t,r=(s=arguments.length)<2?(t=e,e=0,1):s<3?1:+r;for(var a=-1,s=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(s);++a<s;)i[a]=e+a*r;return i}function qa(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Xi(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}
vendor: 10,011 bytes, line 771
771const ZN=Symbol("implicit");function wP(){var e=new KI,t=[],r=[],a=ZN;function s(i){let o=e.get(i);if(o===void 0){if(a!==ZN)return a;e.set(i,o=t.push(i)-1)}return r[o%r.length]}return s.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new KI;for(const o of i)e.has(o)||e.set(o,t.push(o)-1);return s},s.range=function(i){return arguments.length?(r=Array.from(i),s):r.slice()},s.unknown=function(i){return arguments.length?(a=i,s):a},s.copy=function(){return wP(t,r).unknown(a)},qa.apply(s,arguments),s}function jf(){var e=wP().unknown(void 0),t=e.domain,r=e.range,a=0,s=1,i,o,l=!1,c=0,d=0,u=.5;delete e.unknown;function m(){var h=t().length,f=s<a,b=f?s:a,g=f?a:s;i=(g-b)/Math.max(1,h-c+d*2),l&&(i=Math.floor(i)),b+=(g-b-i*(h-c))*u,o=i*(1-c),l&&(b=Math.round(b),o=Math.round(o));var p=yCe(h).map(function(x){return b+i*x});return r(f?p.reverse():p)}return e.domain=function(h){return arguments.length?(t(h),m()):t()},e.range=function(h){return arguments.length?([a,s]=h,a=+a,s=+s,m()):[a,s]},e.rangeRound=function(h){return[a,s]=h,a=+a,s=+s,l=!0,m()},e.bandwidth=function(){return o},e.step=function(){return i},e.round=function(h){return arguments.length?(l=!!h,m()):l},e.padding=function(h){return arguments.length?(c=Math.min(1,d=+h),m()):c},e.paddingInner=function(h){return arguments.length?(c=Math.min(1,h),m()):c},e.paddingOuter=function(h){return arguments.length?(d=+h,m()):d},e.align=function(h){return arguments.length?(u=Math.max(0,Math.min(1,h)),m()):u},e.copy=function(){return jf(t(),[a,s]).round(l).paddingInner(c).paddingOuter(d).align(u)},qa.apply(m(),arguments)}function nH(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return nH(t())},e}function jh(){return nH(jf.apply(null,arguments).paddingInner(1))}function jP(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function aH(e,t){var r=Object.create(e.prototype);for(var a in t)r[a]=t[a];return r}function Ip(){}var Nf=.7,My=1/Nf,Dd="\\s*([+-]?\\d+)\\s*",kf="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ws="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",vCe=/^#([0-9a-f]{3,8})$/,bCe=new RegExp(`^rgb\\(${Dd},${Dd},${Dd}\\)$`),wCe=new RegExp(`^rgb\\(${Ws},${Ws},${Ws}\\)$`),jCe=new RegExp(`^rgba\\(${Dd},${Dd},${Dd},${kf}\\)$`),NCe=new RegExp(`^rgba\\(${Ws},${Ws},${Ws},${kf}\\)$`),kCe=new RegExp(`^hsl\\(${kf},${Ws},${Ws}\\)$`),SCe=new RegExp(`^hsla\\(${kf},${Ws},${Ws},${kf}\\)$`),XI={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};jP(Ip,Sf,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:JI,formatHex:JI,formatHex8:CCe,formatHsl:PCe,formatRgb:e_,toString:e_});function JI(){return this.rgb().formatHex()}function CCe(){return this.rgb().formatHex8()}function PCe(){return sH(this).formatHsl()}function e_(){return this.rgb().formatRgb()}function Sf(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=vCe.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?t_(t):r===3?new Un(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?kg(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?kg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=bCe.exec(e))?new Un(t[1],t[2],t[3],1):(t=wCe.exec(e))?new Un(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=jCe.exec(e))?kg(t[1],t[2],t[3],t[4]):(t=NCe.exec(e))?kg(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=kCe.exec(e))?a_(t[1],t[2]/100,t[3]/100,1):(t=SCe.exec(e))?a_(t[1],t[2]/100,t[3]/100,t[4]):XI.hasOwnProperty(e)?t_(XI[e]):e==="transparent"?new Un(NaN,NaN,NaN,0):null}function t_(e){return new Un(e>>16&255,e>>8&255,e&255,1)}function kg(e,t,r,a){return a<=0&&(e=t=r=NaN),new Un(e,t,r,a)}function TCe(e){return e instanceof Ip||(e=Sf(e)),e?(e=e.rgb(),new Un(e.r,e.g,e.b,e.opacity)):new Un}function QN(e,t,r,a){return arguments.length===1?TCe(e):new Un(e,t,r,a??1)}function Un(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}jP(Un,QN,aH(Ip,{brighter(e){return e=e==null?My:Math.pow(My,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Nf:Math.pow(Nf,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Un(Xl(this.r),Xl(this.g),Xl(this.b),Oy(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:r_,formatHex:r_,formatHex8:ACe,formatRgb:n_,toString:n_}));function r_(){return`#${$l(this.r)}${$l(this.g)}${$l(this.b)}`}function ACe(){return`#${$l(this.r)}${$l(this.g)}${$l(this.b)}${$l((isNaN(this.opacity)?1:this.opacity)*255)}`}function n_(){const e=Oy(this.opacity);return`${e===1?"rgb(":"rgba("}${Xl(this.r)}, ${Xl(this.g)}, ${Xl(this.b)}${e===1?")":`, ${e})`}`}function Oy(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Xl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $l(e){return e=Xl(e),(e<16?"0":"")+e.toString(16)}function a_(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new os(e,t,r,a)}function sH(e){if(e instanceof os)return new os(e.h,e.s,e.l,e.opacity);if(e instanceof Ip||(e=Sf(e)),!e)return new os;if(e instanceof os)return e;e=e.rgb();var t=e.r/255,r=e.g/255,a=e.b/255,s=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-s,c=(i+s)/2;return l?(t===i?o=(r-a)/l+(r<a)*6:r===i?o=(a-t)/l+2:o=(t-r)/l+4,l/=c<.5?i+s:2-i-s,o*=60):l=c>0&&c<1?0:o,new os(o,l,c,e.opacity)}function ECe(e,t,r,a){return arguments.length===1?sH(e):new os(e,t,r,a??1)}function os(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}jP(os,ECe,aH(Ip,{brighter(e){return e=e==null?My:Math.pow(My,e),new os(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Nf:Math.pow(Nf,e),new os(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,s=2*r-a;return new Un(ej(e>=240?e-240:e+120,s,a),ej(e,s,a),ej(e<120?e+240:e-120,s,a),this.opacity)},clamp(){return new os(s_(this.h),Sg(this.s),Sg(this.l),Oy(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Oy(this.opacity);return`${e===1?"hsl(":"hsla("}${s_(this.h)}, ${Sg(this.s)*100}%, ${Sg(this.l)*100}%${e===1?")":`, ${e})`}`}}));function s_(e){return e=(e||0)%360,e<0?e+360:e}function Sg(e){return Math.max(0,Math.min(1,e||0))}function ej(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const NP=e=>()=>e;function ICe(e,t){return function(r){return e+r*t}}function _Ce(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function MCe(e){return(e=+e)==1?iH:function(t,r){return r-t?_Ce(t,r,e):NP(isNaN(t)?r:t)}}function iH(e,t){var r=t-e;return r?ICe(e,r):NP(isNaN(e)?t:e)}const i_=function e(t){var r=MCe(t);function a(s,i){var o=r((s=QN(s)).r,(i=QN(i)).r),l=r(s.g,i.g),c=r(s.b,i.b),d=iH(s.opacity,i.opacity);return function(u){return s.r=o(u),s.g=l(u),s.b=c(u),s.opacity=d(u),s+""}}return a.gamma=e,a}(1);function OCe(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,a=t.slice(),s;return function(i){for(s=0;s<r;++s)a[s]=e[s]*(1-i)+t[s]*i;return a}}function RCe(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function FCe(e,t){var r=t?t.length:0,a=e?Math.min(r,e.length):0,s=new Array(a),i=new Array(r),o;for(o=0;o<a;++o)s[o]=xm(e[o],t[o]);for(;o<r;
vendor: 5,514 bytes, line 771
771++o)i[o]=t[o];return function(l){for(o=0;o<a;++o)i[o]=s[o](l);return i}}function DCe(e,t){var r=new Date;return e=+e,t=+t,function(a){return r.setTime(e*(1-a)+t*a),r}}function Ry(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function $Ce(e,t){var r={},a={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?r[s]=xm(e[s],t[s]):a[s]=t[s];return function(i){for(s in r)a[s]=r[s](i);return a}}var XN=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tj=new RegExp(XN.source,"g");function LCe(e){return function(){return e}}function zCe(e){return function(t){return e(t)+""}}function BCe(e,t){var r=XN.lastIndex=tj.lastIndex=0,a,s,i,o=-1,l=[],c=[];for(e=e+"",t=t+"";(a=XN.exec(e))&&(s=tj.exec(t));)(i=s.index)>r&&(i=t.slice(r,i),l[o]?l[o]+=i:l[++o]=i),(a=a[0])===(s=s[0])?l[o]?l[o]+=s:l[++o]=s:(l[++o]=null,c.push({i:o,x:Ry(a,s)})),r=tj.lastIndex;return r<t.length&&(i=t.slice(r),l[o]?l[o]+=i:l[++o]=i),l.length<2?c[0]?zCe(c[0].x):LCe(t):(t=c.length,function(d){for(var u=0,m;u<t;++u)l[(m=c[u]).i]=m.x(d);return l.join("")})}function xm(e,t){var r=typeof t,a;return t==null||r==="boolean"?NP(t):(r==="number"?Ry:r==="string"?(a=Sf(t))?(t=a,i_):BCe:t instanceof Sf?i_:t instanceof Date?DCe:RCe(t)?OCe:Array.isArray(t)?FCe:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?$Ce:Ry)(e,t)}function kP(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}function WCe(e,t){t===void 0&&(t=e,e=xm);for(var r=0,a=t.length-1,s=t[0],i=new Array(a<0?0:a);r<a;)i[r]=e(s,s=t[++r]);return function(o){var l=Math.max(0,Math.min(a-1,Math.floor(o*=a)));return i[l](o-l)}}function UCe(e){return function(){return e}}function Fy(e){return+e}var o_=[0,1];function En(e){return e}function JN(e,t){return(t-=e=+e)?function(r){return(r-e)/t}:UCe(isNaN(t)?NaN:.5)}function VCe(e,t){var r;return e>t&&(r=e,e=t,t=r),function(a){return Math.max(e,Math.min(t,a))}}function qCe(e,t,r){var a=e[0],s=e[1],i=t[0],o=t[1];return s<a?(a=JN(s,a),i=r(o,i)):(a=JN(a,s),i=r(i,o)),function(l){return i(a(l))}}function HCe(e,t,r){var a=Math.min(e.length,t.length)-1,s=new Array(a),i=new Array(a),o=-1;for(e[a]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<a;)s[o]=JN(e[o],e[o+1]),i[o]=r(t[o],t[o+1]);return function(l){var c=Ep(e,l,1,a)-1;return i[c](s[c](l))}}function _p(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Jb(){var e=o_,t=o_,r=xm,a,s,i,o=En,l,c,d;function u(){var h=Math.min(e.length,t.length);return o!==En&&(o=VCe(e[0],e[h-1])),l=h>2?HCe:qCe,c=d=null,m}function m(h){return h==null||isNaN(h=+h)?i:(c||(c=l(e.map(a),t,r)))(a(o(h)))}return m.invert=function(h){return o(s((d||(d=l(t,e.map(a),Ry)))(h)))},m.domain=function(h){return arguments.length?(e=Array.from(h,Fy),u()):e.slice()},m.range=function(h){return arguments.length?(t=Array.from(h),u()):t.slice()},m.rangeRound=function(h){return t=Array.from(h),r=kP,u()},m.clamp=function(h){return arguments.length?(o=h?!0:En,u()):o!==En},m.interpolate=function(h){return arguments.length?(r=h,u()):r},m.unknown=function(h){return arguments.length?(i=h,m):i},function(h,f){return a=h,s=f,u()}}function SP(){return Jb()(En,En)}function GCe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Dy(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,a=e.slice(0,r);return[a.length>1?a[0]+a.slice(2):a,+e.slice(r+1)]}function Su(e){return e=Dy(Math.abs(e)),e?e[1]:NaN}function KCe(e,t){return function(r,a){for(var s=r.length,i=[],o=0,l=e[0],c=0;s>0&&l>0&&(c+l+1>a&&(l=Math.max(1,a-c)),i.push(r.substring(s-=l,s+l)),!((c+=l+1)>a));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}function YCe(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var ZCe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Cf(e){if(!(t=ZCe.exec(e)))throw new Error("invalid format: "+e);var t;return new CP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Cf.prototype=CP.prototype;function CP(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}CP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function QCe(e){e:for(var t=e.length,r=1,a=-1,s;r<t;++r)switch(e[r]){case".":a=s=r;break;case"0":a===0&&(a=r),s=r;break;default:if(!+e[r])break e;a>0&&(a=0);break}return a>0?e.slice(0,a)+e.slice(s+1):e}var oH;function XCe(e,t){var r=Dy(e,t);if(!r)return e+"";var a=r[0],s=r[1],i=s-(oH=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,o=a.length;return i===o?a:i>o?a+new Array(i-o+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+Dy(e,Math.max(0,t+i-1))[0]}function l_(e,t){var r=Dy(e,t);if(!r)return e+"";var a=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+a:a.length>s+1?a.slice(0,s+1)+"."+a.slice(s+1):a+new Array(s-a.length+2).join("0")}const c_={"%":(e,t)=>
vendor: 5,608 bytes, line 771
771(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:GCe,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>l_(e*100,t),r:l_,s:XCe,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function d_(e){return e}var u_=Array.prototype.map,m_=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function JCe(e){var t=e.grouping===void 0||e.thousands===void 0?d_:KCe(u_.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",a=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?d_:YCe(u_.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function d(m){m=Cf(m);var h=m.fill,f=m.align,b=m.sign,g=m.symbol,p=m.zero,x=m.width,v=m.comma,w=m.precision,N=m.trim,j=m.type;j==="n"?(v=!0,j="g"):c_[j]||(w===void 0&&(w=12),N=!0,j="g"),(p||h==="0"&&f==="=")&&(p=!0,h="0",f="=");var k=g==="$"?r:g==="#"&&/[boxX]/.test(j)?"0"+j.toLowerCase():"",S=g==="$"?a:/[%p]/.test(j)?o:"",C=c_[j],A=/[defgprs%]/.test(j);w=w===void 0?6:/[gprs]/.test(j)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function T(E){var I=k,R=S,P,M,O;if(j==="c")R=C(E)+R,E="";else{E=+E;var $=E<0||1/E<0;if(E=isNaN(E)?c:C(Math.abs(E),w),N&&(E=QCe(E)),$&&+E==0&&b!=="+"&&($=!1),I=($?b==="("?b:l:b==="-"||b==="("?"":b)+I,R=(j==="s"?m_[8+oH/3]:"")+R+($&&b==="("?")":""),A){for(P=-1,M=E.length;++P<M;)if(O=E.charCodeAt(P),48>O||O>57){R=(O===46?s+E.slice(P+1):E.slice(P))+R,E=E.slice(0,P);break}}}v&&!p&&(E=t(E,1/0));var _=I.length+E.length+R.length,F=_<x?new Array(x-_+1).join(h):"";switch(v&&p&&(E=t(F+E,F.length?x-R.length:1/0),F=""),f){case"<":E=I+E+R+F;break;case"=":E=I+F+E+R;break;case"^":E=F.slice(0,_=F.length>>1)+I+E+R+F.slice(_);break;default:E=F+I+E+R;break}return i(E)}return T.toString=function(){return m+""},T}function u(m,h){var f=d((m=Cf(m),m.type="f",m)),b=Math.max(-8,Math.min(8,Math.floor(Su(h)/3)))*3,g=Math.pow(10,-b),p=m_[8+b/3];return function(x){return f(g*x)+p}}return{format:d,formatPrefix:u}}var Cg,PP,lH;ePe({thousands:",",grouping:[3],currency:["$",""]});function ePe(e){return Cg=JCe(e),PP=Cg.format,lH=Cg.formatPrefix,Cg}function tPe(e){return Math.max(0,-Su(Math.abs(e)))}function rPe(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Su(t)/3)))*3-Su(Math.abs(e)))}function nPe(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Su(t)-Su(e))+1}function cH(e,t,r,a){var s=YN(e,t,r),i;switch(a=Cf(a??",f"),a.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return a.precision==null&&!isNaN(i=rPe(s,o))&&(a.precision=i),lH(a,o)}case"":case"e":case"g":case"p":case"r":{a.precision==null&&!isNaN(i=nPe(s,Math.max(Math.abs(e),Math.abs(t))))&&(a.precision=i-(a.type==="e"));break}case"f":case"%":{a.precision==null&&!isNaN(i=tPe(s))&&(a.precision=i-(a.type==="%")*2);break}}return PP(a)}function yl(e){var t=e.domain;return e.ticks=function(r){var a=t();return GN(a[0],a[a.length-1],r??10)},e.tickFormat=function(r,a){var s=t();return cH(s[0],s[s.length-1],r??10,a)},e.nice=function(r){r==null&&(r=10);var a=t(),s=0,i=a.length-1,o=a[s],l=a[i],c,d,u=10;for(l<o&&(d=o,o=l,l=d,d=s,s=i,i=d);u-- >0;){if(d=KN(o,l,r),d===c)return a[s]=o,a[i]=l,t(a);if(d>0)o=Math.floor(o/d)*d,l=Math.ceil(l/d)*d;else if(d<0)o=Math.ceil(o*d)/d,l=Math.floor(l*d)/d;else break;c=d}return e},e}function $y(){var e=SP();return e.copy=function(){return _p(e,$y())},qa.apply(e,arguments),yl(e)}function dH(e){var t;function r(a){return a==null||isNaN(a=+a)?t:a}return r.invert=r,r.domain=r.range=function(a){return arguments.length?(e=Array.from(a,Fy),r):e.slice()},r.unknown=function(a){return arguments.length?(t=a,r):t},r.copy=function(){return dH(e).unknown(t)},e=arguments.length?Array.from(e,Fy):[0,1],yl(r)}function uH(e,t){e=e.slice();var r=0,a=e.length-1,s=e[r],i=e[a],o;return i<s&&(o=r,r=a,a=o,o=s,s=i,i=o),e[r]=t.floor(s),e[a]=t.ceil(i),e}function h_(e){return Math.log(e)}function f_(e){return Math.exp(e)}function aPe(e){return-Math.log(-e)}function sPe(e){return-Math.exp(-e)}function iPe(e){return isFinite(e)?+("1e"+e):e<0?0:e}function oPe(e){return e===10?iPe:e===Math.E?Math.exp:t=>Math.pow(e,t)}function lPe(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function p_(e){return(t,r)=>-e(-t,r)}function TP(e){const t=e(h_,f_),r=t.domain;let a=10,s,i;function o(){return s=lPe(a),i=oPe(a),r()[0]<0?(s=p_(s),i=p_(i),e(aPe,sPe)):e(h_,f_),t}return t.base=function(l){return arguments.length?(a=+l,o()):a},t.domain=function(l){return arguments.length?(r(l),o()):r()},t.ticks=l=>{const c=r();let d=c[0],u=c[c.length-1];const m=u<d;m&&([d,u]=[u,d]);let h=s(d),f=s(u),b,g;const p=l==null?10:+l;let x=[];if(!(a%1)&&f-h<p){if(h=Math.floor(h),f=Math.ceil(f),d>0){for(;h<=f;++h)for(b=1;b<a;++b)if(g=h<0?b/i(-h):b*i(h),!(g<d)){if(g>u)break;x.push(g)}}else for(;h<=f;++h)for(b=a-1;b>=1;--b)if(g=h>0?b/i(-h):b*i(h),!(g<d)){if(g>u)break;x.push(g)}x.length*2<p&&(x=GN(d,u,p))}else x=GN(h,f,Math.min(f-h,p)).map(i);return m?x.reverse():x},t.tickFormat=(l,c)=>{if(l==null&&(l=10),c==null&&(c=a===10?"s":","),typeof c!="function"&&(!(a%1)&&(c=Cf(c)).precision==null&&(c.trim=!0),c=PP(c)),l===1/0)return c;const d=Math.max(1,a*l/t.ticks().length);return u=>{let m=u/i(Math.round(s(u)));return m*a<a-.5&&(m*=a),m<=d?c(u):""}},t.nice=()=>r(uH(r(),{floor:l=>i(Math.floor(s(l))),ceil:l=>i(Math.ceil(s(l)))})),t}function mH(){const e=TP(Jb()).domain([1,10]);return e.copy=()=>_p(e,mH()).base(e.base()),qa.apply(e,arguments),e}
771function g_(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function x_(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function AP(e){var t=1,r=e(g_(t),x_(t));return r.constant=function(a){return arguments.length?e(g_(t=+a),x_(t)):t},yl(r)}function hH(){var e=AP(Jb());return e.copy=function(){return _p(e,hH()).constant(e.constant())},qa.apply(e,arguments)}function y_(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function cPe(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function dPe(e){return e<0?-e*e:e*e}function EP(e){var t=e(En,En),r=1;function a(){return r===1?e(En,En):r===.5?e(cPe,dPe):e(y_(r),y_(1/r))}return t.exponent=function(s){return arguments.length?(r=+s,a()):r},yl(t)}function IP(){var e=EP(Jb());return e.copy=function(){return _p(e,IP()).exponent(e.exponent())},qa.apply(e,arguments),e}function uPe(){return IP.apply(null,arguments).exponent(.5)}function v_(e){return Math.sign(e)*e*e}function mPe(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function fH(){var e=SP(),t=[0,1],r=!1,a;function s(i){var o=mPe(e(i));return isNaN(o)?a:r?Math.round(o):o}return s.invert=function(i){return e.invert(v_(i))},s.domain=function(i){return arguments.length?(e.domain(i),s):e.domain()},s.range=function(i){return arguments.length?(e.range((t=Array.from(i,Fy)).map(v_)),s):t.slice()},s.rangeRound=function(i){return s.range(i).round(!0)},s.round=function(i){return arguments.length?(r=!!i,s):r},s.clamp=function(i){return arguments.length?(e.clamp(i),s):e.clamp()},s.unknown=function(i){return arguments.length?(a=i,s):a},s.copy=function(){return fH(e.domain(),t).round(r).clamp(e.clamp()).unknown(a)},qa.apply(s,arguments),yl(s)}function pH(){var e=[],t=[],r=[],a;function s(){var o=0,l=Math.max(1,t.length);for(r=new Array(l-1);++o<l;)r[o-1]=xCe(e,o/l);return i}function i(o){return o==null||isNaN(o=+o)?a:t[Ep(r,o)]}return i.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?r[l-1]:e[0],l<r.length?r[l]:e[e.length-1]]},i.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(Wo),s()},i.range=function(o){return arguments.length?(t=Array.from(o),s()):t.slice()},i.unknown=function(o){return arguments.length?(a=o,i):a},i.quantiles=function(){return r.slice()},i.copy=function(){return pH().domain(e).range(t).unknown(a)},qa.apply(i,arguments)}function gH(){var e=0,t=1,r=1,a=[.5],s=[0,1],i;function o(c){return c!=null&&c<=c?s[Ep(a,c,0,r)]:i}function l(){var c=-1;for(a=new Array(r);++c<r;)a[c]=((c+1)*t-(c-r)*e)/(r+1);return o}return o.domain=function(c){return arguments.length?([e,t]=c,e=+e,t=+t,l()):[e,t]},o.range=function(c){return arguments.length?(r=(s=Array.from(c)).length-1,l()):s.slice()},o.invertExtent=function(c){var d=s.indexOf(c);return d<0?[NaN,NaN]:d<1?[e,a[0]]:d>=r?[a[r-1],t]:[a[d-1],a[d]]},o.unknown=function(c){return arguments.length&&(i=c),o},o.thresholds=function(){return a.slice()},o.copy=function(){return gH().domain([e,t]).range(s).unknown(i)},qa.apply(yl(o),arguments)}function xH(){var e=[.5],t=[0,1],r,a=1;function s(i){return i!=null&&i<=i?t[Ep(e,i,0,a)]:r}return s.domain=function(i){return arguments.length?(e=Array.from(i),a=Math.min(e.length,t.length-1),s):e.slice()},s.range=function(i){return arguments.length?(t=Array.from(i),a=Math.min(e.length,t.length-1),s):t.slice()},s.invertExtent=function(i){var o=t.indexOf(i);return[e[o-1],e[o]]},s.unknown=function(i){return arguments.length?(r=i,s):r},s.copy=function(){return xH().domain(e).range(t).unknown(r)},qa.apply(s,arguments)}const rj=new Date,nj=new Date;function Dr(e,t,r,a){function s(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return s.floor=i=>(e(i=new Date(+i)),i),s.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),s.round=i=>{const o=s(i),l=s.ceil(i);return i-o<l-i?o:l},s.offset=(i,o)=>(t(i=new Date(+i),o==null?1:Math.floor(o)),i),s.range=(i,o,l)=>{const c=[];if(i=s.ceil(i),l=l==null?1:Math.floor(l),!(i<o)||!(l>0))return c;let d;do c.push(d=new Date(+i)),t(i,l),e(i);while(d<i&&i<o);return c},s.filter=i=>Dr(o=>{if(o>=o)for(;e(o),!i(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;t(o,-1),!i(o););else for(;--l>=0;)for(;t(o,1),!i(o););}),r&&(s.count=(i,o)=>(rj.setTime(+i),nj.setTime(+o),e(rj),e(nj),Math.floor(r(rj,nj))),s.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?s.filter(a?o=>a(o)%i===0:o=>s.count(0,o)%i===0):s)),s}const Ly=Dr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ly.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Dr(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ly);Ly.range;const bi=1e3,Ma=bi*60,wi=Ma*60,qi=wi*24,_P=qi*7,b_=qi*30,aj=qi*365,Ll=Dr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*bi)},(e,t)=>(t-e)/bi,e=>e.getUTCSeconds());Ll.range;const MP=Dr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*bi)},(e,t)=>{e.setTime(+e+t*Ma)},(e,t)=>(t-e)/Ma,e=>e.getMinutes());MP.range;const OP=Dr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ma)},(e,t)=>(t-e)/Ma,e=>e.getUTCMinutes());OP.range;const RP=Dr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*bi-e.getMinutes()*Ma)},(e,t)=>{e.setTime(+e+t*wi)},(e,t)=>(t-e)/wi,e=>e.getHours());RP.range;const FP=Dr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*wi)},(e,t)=>(t-e)/wi,e=>e.getUTCHours());FP.range;const Mp=Dr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ma)/qi,e=>e.getDate()-1);Mp.range;const e0=Dr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/qi,e=>e.getUTCDate()-1);e0.range;const yH=Dr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/qi,e=>Math.floor(e/qi));yH.range;function _c(e){return Dr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Ma)/_P)}const t0=_c(0),zy=_c(1),hPe=_c(2),fPe=_c(3),Cu=_c(4),pPe=_c(5),gPe=_c(6);t0.range;zy.range;hPe.range;fPe.range;Cu.range;pPe.range;gPe.range;function Mc(e){return Dr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/_P)}
vendor: 10,690 bytes, line 771
771const r0=Mc(0),By=Mc(1),xPe=Mc(2),yPe=Mc(3),Pu=Mc(4),vPe=Mc(5),bPe=Mc(6);r0.range;By.range;xPe.range;yPe.range;Pu.range;vPe.range;bPe.range;const DP=Dr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());DP.range;const $P=Dr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$P.range;const Hi=Dr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Hi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Dr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});Hi.range;const Gi=Dr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Gi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Dr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});Gi.range;function vH(e,t,r,a,s,i){const o=[[Ll,1,bi],[Ll,5,5*bi],[Ll,15,15*bi],[Ll,30,30*bi],[i,1,Ma],[i,5,5*Ma],[i,15,15*Ma],[i,30,30*Ma],[s,1,wi],[s,3,3*wi],[s,6,6*wi],[s,12,12*wi],[a,1,qi],[a,2,2*qi],[r,1,_P],[t,1,b_],[t,3,3*b_],[e,1,aj]];function l(d,u,m){const h=u<d;h&&([d,u]=[u,d]);const f=m&&typeof m.range=="function"?m:c(d,u,m),b=f?f.range(d,+u+1):[];return h?b.reverse():b}function c(d,u,m){const h=Math.abs(u-d)/m,f=bP(([,,p])=>p).right(o,h);if(f===o.length)return e.every(YN(d/aj,u/aj,m));if(f===0)return Ly.every(Math.max(YN(d,u,m),1));const[b,g]=o[h/o[f-1][2]<o[f][2]/h?f-1:f];return b.every(g)}return[l,c]}const[wPe,jPe]=vH(Gi,$P,r0,yH,FP,OP),[NPe,kPe]=vH(Hi,DP,t0,Mp,RP,MP);function sj(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function ij(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Lm(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function SPe(e){var t=e.dateTime,r=e.date,a=e.time,s=e.periods,i=e.days,o=e.shortDays,l=e.months,c=e.shortMonths,d=zm(s),u=Bm(s),m=zm(i),h=Bm(i),f=zm(o),b=Bm(o),g=zm(l),p=Bm(l),x=zm(c),v=Bm(c),w={a:$,A:_,b:F,B:U,c:null,d:C_,e:C_,f:KPe,g:aTe,G:iTe,H:qPe,I:HPe,j:GPe,L:bH,m:YPe,M:ZPe,p:Z,q:H,Q:A_,s:E_,S:QPe,u:XPe,U:JPe,V:eTe,w:tTe,W:rTe,x:null,X:null,y:nTe,Y:sTe,Z:oTe,"%":T_},N={a:Q,A:B,b:se,B:ye,c:null,d:P_,e:P_,f:uTe,g:wTe,G:NTe,H:lTe,I:cTe,j:dTe,L:jH,m:mTe,M:hTe,p:ne,q:xe,Q:A_,s:E_,S:fTe,u:pTe,U:gTe,V:xTe,w:yTe,W:vTe,x:null,X:null,y:bTe,Y:jTe,Z:kTe,"%":T_},j={a:T,A:E,b:I,B:R,c:P,d:k_,e:k_,f:BPe,g:N_,G:j_,H:S_,I:S_,j:DPe,L:zPe,m:FPe,M:$Pe,p:A,q:RPe,Q:UPe,s:VPe,S:LPe,u:EPe,U:IPe,V:_Pe,w:APe,W:MPe,x:M,X:O,y:N_,Y:j_,Z:OPe,"%":WPe};w.x=k(r,w),w.X=k(a,w),w.c=k(t,w),N.x=k(r,N),N.X=k(a,N),N.c=k(t,N);function k(W,ee){return function(ae){var te=[],Ae=-1,ke=0,Oe=W.length,$e,Ke,Dt;for(ae instanceof Date||(ae=new Date(+ae));++Ae<Oe;)W.charCodeAt(Ae)===37&&(te.push(W.slice(ke,Ae)),(Ke=w_[$e=W.charAt(++Ae)])!=null?$e=W.charAt(++Ae):Ke=$e==="e"?" ":"0",(Dt=ee[$e])&&($e=Dt(ae,Ke)),te.push($e),ke=Ae+1);return te.push(W.slice(ke,Ae)),te.join("")}}function S(W,ee){return function(ae){var te=Lm(1900,void 0,1),Ae=C(te,W,ae+="",0),ke,Oe;if(Ae!=ae.length)return null;if("Q"in te)return new Date(te.Q);if("s"in te)return new Date(te.s*1e3+("L"in te?te.L:0));if(ee&&!("Z"in te)&&(te.Z=0),"p"in te&&(te.H=te.H%12+te.p*12),te.m===void 0&&(te.m="q"in te?te.q:0),"V"in te){if(te.V<1||te.V>53)return null;"w"in te||(te.w=1),"Z"in te?(ke=ij(Lm(te.y,0,1)),Oe=ke.getUTCDay(),ke=Oe>4||Oe===0?By.ceil(ke):By(ke),ke=e0.offset(ke,(te.V-1)*7),te.y=ke.getUTCFullYear(),te.m=ke.getUTCMonth(),te.d=ke.getUTCDate()+(te.w+6)%7):(ke=sj(Lm(te.y,0,1)),Oe=ke.getDay(),ke=Oe>4||Oe===0?zy.ceil(ke):zy(ke),ke=Mp.offset(ke,(te.V-1)*7),te.y=ke.getFullYear(),te.m=ke.getMonth(),te.d=ke.getDate()+(te.w+6)%7)}else("W"in te||"U"in te)&&("w"in te||(te.w="u"in te?te.u%7:"W"in te?1:0),Oe="Z"in te?ij(Lm(te.y,0,1)).getUTCDay():sj(Lm(te.y,0,1)).getDay(),te.m=0,te.d="W"in te?(te.w+6)%7+te.W*7-(Oe+5)%7:te.w+te.U*7-(Oe+6)%7);return"Z"in te?(te.H+=te.Z/100|0,te.M+=te.Z%100,ij(te)):sj(te)}}function C(W,ee,ae,te){for(var Ae=0,ke=ee.length,Oe=ae.length,$e,Ke;Ae<ke;){if(te>=Oe)return-1;if($e=ee.charCodeAt(Ae++),$e===37){if($e=ee.charAt(Ae++),Ke=j[$e in w_?ee.charAt(Ae++):$e],!Ke||(te=Ke(W,ae,te))<0)return-1}else if($e!=ae.charCodeAt(te++))return-1}return te}function A(W,ee,ae){var te=d.exec(ee.slice(ae));return te?(W.p=u.get(te[0].toLowerCase()),ae+te[0].length):-1}function T(W,ee,ae){var te=f.exec(ee.slice(ae));return te?(W.w=b.get(te[0].toLowerCase()),ae+te[0].length):-1}function E(W,ee,ae){var te=m.exec(ee.slice(ae));return te?(W.w=h.get(te[0].toLowerCase()),ae+te[0].length):-1}function I(W,ee,ae){var te=x.exec(ee.slice(ae));return te?(W.m=v.get(te[0].toLowerCase()),ae+te[0].length):-1}function R(W,ee,ae){var te=g.exec(ee.slice(ae));return te?(W.m=p.get(te[0].toLowerCase()),ae+te[0].length):-1}function P(W,ee,ae){return C(W,t,ee,ae)}function M(W,ee,ae){return C(W,r,ee,ae)}function O(W,ee,ae){return C(W,a,ee,ae)}function $(W){return o[W.getDay()]}function _(W){return i[W.getDay()]}function F(W){return c[W.getMonth()]}function U(W){return l[W.getMonth()]}function Z(W){return s[+(W.getHours()>=12)]}function H(W){return 1+~~(W.getMonth()/3)}function Q(W){return o[W.getUTCDay()]}function B(W){return i[W.getUTCDay()]}function se(W){return c[W.getUTCMonth()]}function ye(W){return l[W.getUTCMonth()]}function ne(W){return s[+(W.getUTCHours()>=12)]}function xe(W){return 1+~~(W.getUTCMonth()/3)}return{format:function(W){var ee=k(W+="",w);return ee.toString=function(){return W},ee},parse:function(W){var ee=S(W+="",!1);return ee.toString=function(){return W},ee},utcFormat:function(W){var ee=k(W+="",N);return ee.toString=function(){return W},ee},utcParse:function(W){var ee=S(W+="",!0);return ee.toString=function(){return W},ee}}}var w_={"-":"",_:" ",0:"0"},qr=/^\s*\d+/,CPe=/^%/,PPe=/[\\^$*+?|[\]().{}]/g;function Nt(e,t,r){var a=e<0?"-":"",s=(a?-e:e)+"",i=s.length;return a+(i<r?new Array(r-i+1).join(t)+s:s)}function TPe(e){return e.replace(PPe,"\\$&")}function zm(e){return new RegExp("^(?:"+e.map(TPe).join("|")+")","i")}function Bm(e){return new Map(e.map((t,r)=>[t.toLowerCase(),r]))}function APe(e,t,r){var a=qr.exec(t.slice(r,r+1));return a?(e.w=+a[0],r+a[0].length):-1}function EPe(e,t,r){var a=qr.exec(t.slice(r,r+1));return a?(e.u=+a[0],r+a[0].length):-1}function IPe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.U=+a[0],r+a[0].length):-1}function _Pe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.V=+a[0],r+a[0].length):-1}function MPe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.W=+a[0],r+a[0].length):-1}function j_(e,t,r){var a=qr.exec(t.slice(r,r+4));return a?(e.y=+a[0],r+a[0].length):-1}function N_(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.y=+a[0]+(+a[0]>68?1900:2e3),r+a[0].length):-1}function OPe(e,t,r){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return a?(e.Z=a[1]?0:-(a[2]+(a[3]||"00")),r+a[0].length):-1}function RPe(e,t,r){var a=qr.exec(t.slice(r,r+1));return a?(e.q=a[0]*3-3,r+a[0].length):-1}function FPe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.m=a[0]-1,r+a[0].length):-1}function k_(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.d=+a[0],r+a[0].length):-1}function DPe(e,t,r){var a=qr.exec(t.slice(r,r+3));return a?(e.m=0,e.d=+a[0],r+a[0].length):-1}function S_(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.H=+a[0],r+a[0].length):-1}function $Pe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.M=+a[0],r+a[0].length):-1}function LPe(e,t,r){var a=qr.exec(t.slice(r,r+2));return a?(e.S=+a[0],r+a[0].length):-1}function zPe(e,t,r){var a=qr.exec(t.slice(r,r+3));return a?(e.L=+a[0],r+a[0].length):-1}function BPe(e,t,r){var a=qr.exec(t.slice(r,r+6));return a?(e.L=Math.floor(a[0]/1e3),r+a[0].length):-1}function WPe(e,t,r){var a=CPe.exec(t.slice(r,r+1));return a?r+a[0].length:-1}function UPe(e,t,r){var a=qr.exec(t.slice(r));return a?(e.Q=+a[0],r+a[0].length):-1}function VPe(e,t,r){var a=qr.exec(t.slice(r));return a?(e.s=+a[0],r+a[0].length):-1}function C_(e,t){return Nt(e.getDate(),t,2)}function qPe(e,t){return Nt(e.getHours(),t,2)}function HPe(e,t){return Nt(e.getHours()%12||12,t,2)}function GPe(e,t){return Nt(1+Mp.count(Hi(e),e),t,3)}function bH(e,t){return Nt(e.getMilliseconds(),t,3)}function KPe(e,t){return bH(e,t)+"000"}function YPe(e,t){return Nt(e.getMonth()+1,t,2)}function ZPe(e,t){return Nt(e.getMinutes(),t,2)}function QPe(e,t){return Nt(e.getSeconds(),t,2)}function XPe(e){var t=e.getDay();return t===0?7:t}function JPe(e,t){return Nt(t0.count(Hi(e)-1,e),t,2)}function wH(e){var t=e.getDay();return t>=4||t===0?Cu(e):Cu.ceil(e)}function eTe(e,t){return e=wH(e),Nt(Cu.count(Hi(e),e)+(Hi(e).getDay()===4),t,2)}function tTe(e){return e.getDay()}function rTe(e,t){return Nt(zy.count(Hi(e)-1,e),t,2)}function nTe(e,t){return Nt(e.getFullYear()%100,t,2)}function aTe(e,t){return e=wH(e),Nt(e.getFullYear()%100,t,2)}function sTe(e,t){return Nt(e.getFullYear()%1e4,t,4)}function iTe(e,t){var r=e.getDay();return e=r>=4||r===0?Cu(e):Cu.ceil(e),Nt(e.getFullYear()%1e4,t,4)}function oTe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Nt(t/60|0,"0",2)+Nt(t%60,"0",2)}function P_(e,t){return Nt(e.getUTCDate(),t,2)}function lTe(e,t){return Nt(e.getUTCHours(),t,2)}function cTe(e,t){return Nt(e.getUTCHours()%12||12,t,2)}function dTe(e,t){return Nt(1+e0.count(Gi(e),e),t,3)}function jH(e,t){return Nt(e.getUTCMilliseconds(),t,3)}function uTe(e,t){return jH(e,t)+"000"}function mTe(e,t){return Nt(e.getUTCMonth()+1,t,2)}function hTe(e,t){return Nt(e.getUTCMinutes(),t,2)}function fTe(e,t){return Nt(e.getUTCSeconds(),t,2)}function pTe(e){var t=e.getUTCDay();return t===0?7:t}function gTe(e,t){return Nt(r0.count(Gi(e)-1,e),t,2)}function NH(e){var t=e.getUTCDay();return t>=4||t===0?Pu(e):Pu.ceil(e)}function xTe(e,t){return e=NH(e),Nt(Pu.count(Gi(e),e)+(Gi(e).getUTCDay()===4),t,2)}function yTe(e){return e.getUTCDay()}function vTe(e,t){return Nt(By.count(Gi(e)-1,e),t,2)}function bTe(e,t){return Nt(e.getUTCFullYear()%100,t,2)}function wTe(e,t){return e=NH(e),Nt(e.getUTCFullYear()%100,t,2)}function jTe(e,t){return Nt(e.getUTCFullYear()%1e4,t,4)}function NTe(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Pu(e):Pu.ceil(e),Nt(e.getUTCFullYear()%1e4,t,4)}function kTe(){return"+0000"}
771function T_(){return"%"}function A_(e){return+e}function E_(e){return Math.floor(+e/1e3)}var Hc,kH,SH;STe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function STe(e){return Hc=SPe(e),kH=Hc.format,Hc.parse,SH=Hc.utcFormat,Hc.utcParse,Hc}function CTe(e){return new Date(e)}function PTe(e){return e instanceof Date?+e:+new Date(+e)}function LP(e,t,r,a,s,i,o,l,c,d){var u=SP(),m=u.invert,h=u.domain,f=d(".%L"),b=d(":%S"),g=d("%I:%M"),p=d("%I %p"),x=d("%a %d"),v=d("%b %d"),w=d("%B"),N=d("%Y");function j(k){return(c(k)<k?f:l(k)<k?b:o(k)<k?g:i(k)<k?p:a(k)<k?s(k)<k?x:v:r(k)<k?w:N)(k)}return u.invert=function(k){return new Date(m(k))},u.domain=function(k){return arguments.length?h(Array.from(k,PTe)):h().map(CTe)},u.ticks=function(k){var S=h();return e(S[0],S[S.length-1],k??10)},u.tickFormat=function(k,S){return S==null?j:d(S)},u.nice=function(k){var S=h();return(!k||typeof k.range!="function")&&(k=t(S[0],S[S.length-1],k??10)),k?h(uH(S,k)):u},u.copy=function(){return _p(u,LP(e,t,r,a,s,i,o,l,c,d))},u}function TTe(){return qa.apply(LP(NPe,kPe,Hi,DP,t0,Mp,RP,MP,Ll,kH).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ATe(){return qa.apply(LP(wPe,jPe,Gi,$P,r0,e0,FP,OP,Ll,SH).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function n0(){var e=0,t=1,r,a,s,i,o=En,l=!1,c;function d(m){return m==null||isNaN(m=+m)?c:o(s===0?.5:(m=(i(m)-r)*s,l?Math.max(0,Math.min(1,m)):m))}d.domain=function(m){return arguments.length?([e,t]=m,r=i(e=+e),a=i(t=+t),s=r===a?0:1/(a-r),d):[e,t]},d.clamp=function(m){return arguments.length?(l=!!m,d):l},d.interpolator=function(m){return arguments.length?(o=m,d):o};function u(m){return function(h){var f,b;return arguments.length?([f,b]=h,o=m(f,b),d):[o(0),o(1)]}}return d.range=u(xm),d.rangeRound=u(kP),d.unknown=function(m){return arguments.length?(c=m,d):c},function(m){return i=m,r=m(e),a=m(t),s=r===a?0:1/(a-r),d}}function vl(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function CH(){var e=yl(n0()(En));return e.copy=function(){return vl(e,CH())},Xi.apply(e,arguments)}function PH(){var e=TP(n0()).domain([1,10]);return e.copy=function(){return vl(e,PH()).base(e.base())},Xi.apply(e,arguments)}function TH(){var e=AP(n0());return e.copy=function(){return vl(e,TH()).constant(e.constant())},Xi.apply(e,arguments)}function zP(){var e=EP(n0());return e.copy=function(){return vl(e,zP()).exponent(e.exponent())},Xi.apply(e,arguments)}function ETe(){return zP.apply(null,arguments).exponent(.5)}function AH(){var e=[],t=En;function r(a){if(a!=null&&!isNaN(a=+a))return t((Ep(e,a,1)-1)/(e.length-1))}return r.domain=function(a){if(!arguments.length)return e.slice();e=[];for(let s of a)s!=null&&!isNaN(s=+s)&&e.push(s);return e.sort(Wo),r},r.interpolator=function(a){return arguments.length?(t=a,r):t},r.range=function(){return e.map((a,s)=>t(s/(e.length-1)))},r.quantiles=function(a){return Array.from({length:a+1},(s,i)=>gCe(e,i/a))},r.copy=function(){return AH(t).domain(e)},Xi.apply(r,arguments)}function a0(){var e=0,t=.5,r=1,a=1,s,i,o,l,c,d=En,u,m=!1,h;function f(g){return isNaN(g=+g)?h:(g=.5+((g=+u(g))-i)*(a*g<a*i?l:c),d(m?Math.max(0,Math.min(1,g)):g))}f.domain=function(g){return arguments.length?([e,t,r]=g,s=u(e=+e),i=u(t=+t),o=u(r=+r),l=s===i?0:.5/(i-s),c=i===o?0:.5/(o-i),a=i<s?-1:1,f):[e,t,r]},f.clamp=function(g){return arguments.length?(m=!!g,f):m},f.interpolator=function(g){return arguments.length?(d=g,f):d};function b(g){return function(p){var x,v,w;return arguments.length?([x,v,w]=p,d=WCe(g,[x,v,w]),f):[d(0),d(.5),d(1)]}}return f.range=b(xm),f.rangeRound=b(kP),f.unknown=function(g){return arguments.length?(h=g,f):h},function(g){return u=g,s=g(e),i=g(t),o=g(r),l=s===i?0:.5/(i-s),c=i===o?0:.5/(o-i),a=i<s?-1:1,f}}function EH(){var e=yl(a0()(En));return e.copy=function(){return vl(e,EH())},Xi.apply(e,arguments)}function IH(){var e=TP(a0()).domain([.1,1,10]);return e.copy=function(){return vl(e,IH()).base(e.base())},Xi.apply(e,arguments)}function _H(){var e=AP(a0());return e.copy=function(){return vl(e,_H()).constant(e.constant())},Xi.apply(e,arguments)}function BP(){var e=EP(a0());return e.copy=function(){return vl(e,BP()).exponent(e.exponent())},Xi.apply(e,arguments)}
vendor: 66,482 bytes, lines 771-797
771function ITe(){return BP.apply(null,arguments).exponent(.5)}const I_=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:jf,scaleDiverging:EH,scaleDivergingLog:IH,scaleDivergingPow:BP,scaleDivergingSqrt:ITe,scaleDivergingSymlog:_H,scaleIdentity:dH,scaleImplicit:ZN,scaleLinear:$y,scaleLog:mH,scaleOrdinal:wP,scalePoint:jh,scalePow:IP,scaleQuantile:pH,scaleQuantize:gH,scaleRadial:fH,scaleSequential:CH,scaleSequentialLog:PH,scaleSequentialPow:zP,scaleSequentialQuantile:AH,scaleSequentialSqrt:ETe,scaleSequentialSymlog:TH,scaleSqrt:uPe,scaleSymlog:hH,scaleThreshold:xH,scaleTime:TTe,scaleUtc:ATe,tickFormat:cH},Symbol.toStringTag,{value:"Module"}));var _Te=cm;function MTe(e,t,r){for(var a=-1,s=e.length;++a<s;){var i=e[a],o=t(i);if(o!=null&&(l===void 0?o===o&&!_Te(o):r(o,l)))var l=o,c=i}return c}var MH=MTe;function OTe(e,t){return e>t}var RTe=OTe,FTe=MH,DTe=RTe,$Te=gm;function LTe(e){return e&&e.length?FTe(e,$Te,DTe):void 0}var zTe=LTe;const s0=Ft(zTe);function BTe(e,t){return e<t}var WTe=BTe,UTe=MH,VTe=WTe,qTe=gm;function HTe(e){return e&&e.length?UTe(e,qTe,VTe):void 0}var GTe=HTe;const i0=Ft(GTe);var KTe=tP,YTe=xl,ZTe=B7,QTe=Zn;function XTe(e,t){var r=QTe(e)?KTe:ZTe;return r(e,YTe(t))}var JTe=XTe,eAe=L7,tAe=JTe;function rAe(e,t){return eAe(tAe(e,t),1)}var nAe=rAe;const aAe=Ft(nAe);var sAe=gP;function iAe(e,t){return sAe(e,t)}var oAe=iAe;const o0=Ft(oAe);var ym=1e9,lAe={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},UP,sr=!0,Wa="[DecimalError] ",Jl=Wa+"Invalid argument: ",WP=Wa+"Exponent out of range: ",vm=Math.floor,El=Math.pow,cAe=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ia,Lr=1e7,er=7,OH=9007199254740991,Wy=vm(OH/er),Ie={};Ie.absoluteValue=Ie.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};Ie.comparedTo=Ie.cmp=function(e){var t,r,a,s,i=this;if(e=new i.constructor(e),i.s!==e.s)return i.s||-e.s;if(i.e!==e.e)return i.e>e.e^i.s<0?1:-1;for(a=i.d.length,s=e.d.length,t=0,r=a<s?a:s;t<r;++t)if(i.d[t]!==e.d[t])return i.d[t]>e.d[t]^i.s<0?1:-1;return a===s?0:a>s^i.s<0?1:-1};Ie.decimalPlaces=Ie.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*er;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};Ie.dividedBy=Ie.div=function(e){return Ii(this,new this.constructor(e))};Ie.dividedToIntegerBy=Ie.idiv=function(e){var t=this,r=t.constructor;return Bt(Ii(t,new r(e),0,1),r.precision)};Ie.equals=Ie.eq=function(e){return!this.cmp(e)};Ie.exponent=function(){return Tr(this)};Ie.greaterThan=Ie.gt=function(e){return this.cmp(e)>0};Ie.greaterThanOrEqualTo=Ie.gte=function(e){return this.cmp(e)>=0};Ie.isInteger=Ie.isint=function(){return this.e>this.d.length-2};Ie.isNegative=Ie.isneg=function(){return this.s<0};Ie.isPositive=Ie.ispos=function(){return this.s>0};Ie.isZero=function(){return this.s===0};Ie.lessThan=Ie.lt=function(e){return this.cmp(e)<0};Ie.lessThanOrEqualTo=Ie.lte=function(e){return this.cmp(e)<1};Ie.logarithm=Ie.log=function(e){var t,r=this,a=r.constructor,s=a.precision,i=s+5;if(e===void 0)e=new a(10);else if(e=new a(e),e.s<1||e.eq(ia))throw Error(Wa+"NaN");if(r.s<1)throw Error(Wa+(r.s?"NaN":"-Infinity"));return r.eq(ia)?new a(0):(sr=!1,t=Ii(Pf(r,i),Pf(e,i),i),sr=!0,Bt(t,s))};Ie.minus=Ie.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?DH(t,e):RH(t,(e.s=-e.s,e))};Ie.modulo=Ie.mod=function(e){var t,r=this,a=r.constructor,s=a.precision;if(e=new a(e),!e.s)throw Error(Wa+"NaN");return r.s?(sr=!1,t=Ii(r,e,0,1).times(e),sr=!0,r.minus(t)):Bt(new a(r),s)};Ie.naturalExponential=Ie.exp=function(){return FH(this)};Ie.naturalLogarithm=Ie.ln=function(){return Pf(this)};Ie.negated=Ie.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Ie.plus=Ie.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?RH(t,e):DH(t,(e.s=-e.s,e))};Ie.precision=Ie.sd=function(e){var t,r,a,s=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Jl+e);if(t=Tr(s)+1,a=s.d.length-1,r=a*er+1,a=s.d[a],a){for(;a%10==0;a/=10)r--;for(a=s.d[0];a>=10;a/=10)r++}return e&&t>r?t:r};Ie.squareRoot=Ie.sqrt=function(){var e,t,r,a,s,i,o,l=this,c=l.constructor;if(l.s<1){if(!l.s)return new c(0);throw Error(Wa+"NaN")}for(e=Tr(l),sr=!1,s=Math.sqrt(+l),s==0||s==1/0?(t=Rs(l.d),(t.length+e)%2==0&&(t+="0"),s=Math.sqrt(t),e=vm((e+1)/2)-(e<0||e%2),s==1/0?t="5e"+e:(t=s.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),a=new c(t)):a=new c(s.toString()),r=c.precision,s=o=r+3;;)if(i=a,a=i.plus(Ii(l,i,o+2)).times(.5),Rs(i.d).slice(0,o)===(t=Rs(a.d)).slice(0,o)){if(t=t.slice(o-3,o+1),s==o&&t=="4999"){if(Bt(i,r+1,0),i.times(i).eq(l)){a=i;break}}else if(t!="9999")break;o+=4}return sr=!0,Bt(a,r)};Ie.times=Ie.mul=function(e){var t,r,a,s,i,o,l,c,d,u=this,m=u.constructor,h=u.d,f=(e=new m(e)).d;if(!u.s||!e.s)return new m(0);for(e.s*=u.s,r=u.e+e.e,c=h.length,d=f.length,c<d&&(i=h,h=f,f=i,o=c,c=d,d=o),i=[],o=c+d,a=o;a--;)i.push(0);for(a=d;--a>=0;){for(t=0,s=c+a;s>a;)l=i[s]+f[a]*h[s-a-1]+t,i[s--]=l%Lr|0,t=l/Lr|0;i[s]=(i[s]+t)%Lr|0}for(;!i[--o];)i.pop();return t?++r:i.shift(),e.d=i,e.e=r,sr?Bt(e,m.precision):e};Ie.toDecimalPlaces=Ie.todp=function(e,t){var r=this,a=r.constructor;return r=new a(r),e===void 0?r:(Zs(e,0,ym),t===void 0?t=a.rounding:Zs(t,0,8),Bt(r,e+Tr(r)+1,t))};Ie.toExponential=function(e,t){var r,a=this,s=a.constructor;return e===void 0?r=pc(a,!0):(Zs(e,0,ym),t===void 0?t=s.rounding:Zs(t,0,8),a=Bt(new s(a),e+1,t),r=pc(a,!0,e+1)),r};Ie.toFixed=function(e,t){var r,a,s=this,i=s.constructor;return e===void 0?pc(s):(Zs(e,0,ym),t===void 0?t=i.rounding:Zs(t,0,8),a=Bt(new i(s),e+Tr(s)+1,t),r=pc(a.abs(),!1,e+Tr(a)+1),s.isneg()&&!s.isZero()?"-"+r:r)};Ie.toInteger=Ie.toint=function(){var e=this,t=e.constructor;return Bt(new t(e),Tr(e)+1,t.rounding)};Ie.toNumber=function(){return+this};Ie.toPower=Ie.pow=function(e){var t,r,a,s,i,o,l=this,c=l.constructor,d=12,u=+(e=new c(e));if(!e.s)return new c(ia);if(l=new c(l),!l.s){if(e.s<1)throw Error(Wa+"Infinity");return l}if(l.eq(ia))return l;if(a=c.precision,e.eq(ia))return Bt(l,a);if(t=e.e,r=e.d.length-1,o=t>=r,i=l.s,o){if((r=u<0?-u:u)<=OH){for(s=new c(ia),t=Math.ceil(a/er+4),sr=!1;r%2&&(s=s.times(l),M_(s.d,t)),r=vm(r/2),r!==0;)l=l.times(l),M_(l.d,t);return sr=!0,e.s<0?new c(ia).div(s):Bt(s,a)}}else if(i<0)throw Error(Wa+"NaN");return i=i<0&&e.d[Math.max(t,r)]&1?-1:1,l.s=1,sr=!1,s=e.times(Pf(l,a+d)),sr=!0,s=FH(s),s.s=i,s};Ie.toPrecision=function(e,t){var r,a,s=this,i=s.constructor;return e===void 0?(r=Tr(s),a=pc(s,r<=i.toExpNeg||r>=i.toExpPos)):(Zs(e,1,ym),t===void 0?t=i.rounding:Zs(t,0,8),s=Bt(new i(s),e,t),r=Tr(s),a=pc(s,e<=r||r<=i.toExpNeg,e)),a};Ie.toSignificantDigits=Ie.tosd=function(e,t){var r=this,a=r.constructor;return e===void 0?(e=a.precision,t=a.rounding):(Zs(e,1,ym),t===void 0?t=a.rounding:Zs(t,0,8)),Bt(new a(r),e,t)};Ie.toString=Ie.valueOf=Ie.val=Ie.toJSON=Ie[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Tr(e),r=e.constructor;return pc(e,t<=r.toExpNeg||t>=r.toExpPos)};function RH(e,t){var r,a,s,i,o,l,c,d,u=e.constructor,m=u.precision;if(!e.s||!t.s)return t.s||(t=new u(e)),sr?Bt(t,m):t;if(c=e.d,d=t.d,o=e.e,s=t.e,c=c.slice(),i=o-s,i){for(i<0?(a=c,i=-i,l=d.length):(a=d,s=o,l=c.length),o=Math.ceil(m/er),l=o>l?o+1:l+1,i>l&&(i=l,a.length=1),a.reverse();i--;)a.push(0);a.reverse()}for(l=c.length,i=d.length,l-i<0&&(i=l,a=d,d=c,c=a),r=0;i;)r=(c[--i]=c[i]+d[i]+r)/Lr|0,c[i]%=Lr;for(r&&(c.unshift(r),++s),l=c.length;c[--l]==0;)c.pop();return t.d=c,t.e=s,sr?Bt(t,m):t}function Zs(e,t,r){if(e!==~~e||e<t||e>r)throw Error(Jl+e)}function Rs(e){var t,r,a,s=e.length-1,i="",o=e[0];if(s>0){for(i+=o,t=1;t<s;t++)a=e[t]+"",r=er-a.length,r&&(i+=uo(r)),i+=a;o=e[t],a=o+"",r=er-a.length,r&&(i+=uo(r))}else if(o===0)return"0";for(;o%10===0;)o/=10;return i+o}var Ii=function(){function e(a,s){var i,o=0,l=a.length;for(a=a.slice();l--;)i=a[l]*s+o,a[l]=i%Lr|0,o=i/Lr|0;return o&&a.unshift(o),a}function t(a,s,i,o){var l,c;if(i!=o)c=i>o?1:-1;else for(l=c=0;l<i;l++)if(a[l]!=s[l]){c=a[l]>s[l]?1:-1;break}return c}function r(a,s,i){for(var o=0;i--;)a[i]-=o,o=a[i]<s[i]?1:0,a[i]=o*Lr+a[i]-s[i];for(;!a[0]&&a.length>1;)a.shift()}return function(a,s,i,o){var l,c,d,u,m,h,f,b,g,p,x,v,w,N,j,k,S,C,A=a.constructor,T=a.s==s.s?1:-1,E=a.d,I=s.d;if(!a.s)return new A(a);if(!s.s)throw Error(Wa+"Division by zero");for(c=a.e-s.e,S=I.length,j=E.length,f=new A(T),b=f.d=[],d=0;I[d]==(E[d]||0);)++d;if(I[d]>(E[d]||0)&&--c,i==null?v=i=A.precision:o?v=i+(Tr(a)-Tr(s))+1:v=i,v<0)return new A(0);if(v=v/er+2|0,d=0,S==1)for(u=0,I=I[0],v++;(d<j||u)&&v--;d++)w=u*Lr+(E[d]||0),b[d]=w/I|0,u=w%I|0;else{for(u=Lr/(I[0]+1)|0,u>1&&(I=e(I,u),E=e(E,u),S=I.length,j=E.length),N=S,g=E.slice(0,S),p=g.length;p<S;)g[p++]=0;C=I.slice(),C.unshift(0),k=I[0],I[1]>=Lr/2&&++k;do u=0,l=t(I,g,S,p),l<0?(x=g[0],S!=p&&(x=x*Lr+(g[1]||0)),u=x/k|0,u>1?(u>=Lr&&(u=Lr-1),m=e(I,u),h=m.length,p=g.length,l=t(m,g,h,p),l==1&&(u--,r(m,S<h?C:I,h))):(u==0&&(l=u=1),m=I.slice()),h=m.length,h<p&&m.unshift(0),r(g,m,p),l==-1&&(p=g.length,l=t(I,g,S,p),l<1&&(u++,r(g,S<p?C:I,p))),p=g.length):l===0&&(u++,g=[0]),b[d++]=u,l&&g[0]?g[p++]=E[N]||0:(g=[E[N]],p=1);while((N++<j||g[0]!==void 0)&&v--)}return b[0]||b.shift(),f.e=c,Bt(f,o?i+Tr(f)+1:i)}}();function FH(e,t){var r,a,s,i,o,l,c=0,d=0,u=e.constructor,m=u.precision;if(Tr(e)>16)throw Error(WP+Tr(e));if(!e.s)return new u(ia);for(t==null?(sr=!1,l=m):l=t,o=new u(.03125);e.abs().gte(.1);)e=e.times(o),d+=5;for(a=Math.log(El(2,d))/Math.LN10*2+5|0,l+=a,r=s=i=new u(ia),u.precision=l;;){if(s=Bt(s.times(e),l),r=r.times(++c),o=i.plus(Ii(s,r,l)),Rs(o.d).slice(0,l)===Rs(i.d).slice(0,l)){for(;d--;)i=Bt(i.times(i),l);return u.precision=m,t==null?(sr=!0,Bt(i,m)):i}i=o}}function Tr(e){for(var t=e.e*er,r=e.d[0];r>=10;r/=10)t++;return t}function oj(e,t,r){if(t>e.LN10.sd())throw sr=!0,r&&(e.precision=r),Error(Wa+"LN10 precision limit exceeded");return Bt(new e(e.LN10),t)}function uo(e){for(var t="";e--;)t+="0";return t}function Pf(e,t){var r,a,s,i,o,l,c,d,u,m=1,h=10,f=e,b=f.d,g=f.constructor,p=g.precision;if(f.s<1)throw Error(Wa+(f.s?"NaN":"-Infinity"));if(f.eq(ia))return new g(0);if(t==null?(sr=!1,d=p):d=t,f.eq(10))return t==null&&(sr=!0),oj(g,d);if(d+=h,g.precision=d,r=Rs(b),a=r.charAt(0),i=Tr(f),Math.abs(i)<15e14){for(;a<7&&a!=1||a==1&&r.charAt(1)>3;)f=f.times(e),r=Rs(f.d),a=r.charAt(0),m++;i=Tr(f),a>1?(f=new g("0."+r),i++):f=new g(a+"."+r.slice(1))}else return c=oj(g,d+2,p).times(i+""),f=Pf(new g(a+"."+r.slice(1)),d-h).plus(c),g.precision=p,t==null?(sr=!0,Bt(f,p)):f;for(l=o=f=Ii(f.minus(ia),f.plus(ia),d),u=Bt(f.times(f),d),s=3;;){if(o=Bt(o.times(u),d),c=l.plus(Ii(o,new g(s),d)),Rs(c.d).slice(0,d)===Rs(l.d).slice(0,d))return l=l.times(2),i!==0&&(l=l.plus(oj(g,d+2,p).times(i+""))),l=Ii(l,new g(m),d),g.precision=p,t==null?(sr=!0,Bt(l,p)):l;l=c,s+=2}}function __(e,t){var r,a,s;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(a=t.search(/e/i))>0?(r<0&&(r=a),r+=+t.slice(a+1),t=t.substring(0,a)):r<0&&(r=t.length),a=0;t.charCodeAt(a)===48;)++a;for(s=t.length;t.charCodeAt(s-1)===48;)--s;if(t=t.slice(a,s),t){if(s-=a,r=r-a-1,e.e=vm(r/er),e.d=[],a=(r+1)%er,r<0&&(a+=er),a<s){for(a&&e.d.push(+t.slice(0,a)),s-=er;a<s;)e.d.push(+t.slice(a,a+=er));t=t.slice(a),a=er-t.length}else a-=s;for(;a--;)t+="0";if(e.d.push(+t),sr&&(e.e>Wy||e.e<-Wy))throw Error(WP+r)}else e.s=0,e.e=0,e.d=[0];return e}function Bt(e,t,r){var a,s,i,o,l,c,d,u,m=e.d;for(o=1,i=m[0];i>=10;i/=10)o++;if(a=t-o,a<0)a+=er,s=t,d=m[u=0];else{if(u=Math.ceil((a+1)/er),i=m.length,u>=i)return e;for(d=i=m[u],o=1;i>=10;i/=10)o++;a%=er,s=a-er+o}if(r!==void 0&&(i=El(10,o-s-1),l=d/i%10|0,c=t<0||m[u+1]!==void 0||d%i,c=r<4?(l||c)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||c||r==6&&(a>0?s>0?d/El(10,o-s):0:m[u-1])%10&1||r==(e.s<0?8:7))),t<1||!m[0])return c?(i=Tr(e),m.length=1,t=t-i-1,m[0]=El(10,(er-t%er)%er),e.e=vm(-t/er)||0):(m.length=1,m[0]=e.e=e.s=0),e;if(a==0?(m.length=u,i=1,u--):(m.length=u+1,i=El(10,er-a),m[u]=s>0?(d/El(10,o-s)%El(10,s)|0)*i:0),c)for(;;)if(u==0){(m[0]+=i)==Lr&&(m[0]=1,++e.e);break}else{if(m[u]+=i,m[u]!=Lr)break;m[u--]=0,i=1}for(a=m.length;m[--a]===0;)m.pop();if(sr&&(e.e>Wy||e.e<-Wy))throw Error(WP+Tr(e));return e}function DH(e,t){var r,a,s,i,o,l,c,d,u,m,h=e.constructor,f=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),sr?Bt(t,f):t;if(c=e.d,m=t.d,a=t.e,d=e.e,c=c.slice(),o=d-a,o){for(u=o<0,u?(r=c,o=-o,l=m.length):(r=m,a=d,l=c.length),s=Math.max(Math.ceil(f/er),l)+2,o>s&&(o=s,r.length=1),r.reverse(),s=o;s--;)r.push(0);r.reverse()}else{for(s=c.length,l=m.length,u=s<l,u&&(l=s),s=0;s<l;s++)if(c[s]!=m[s]){u=c[s]<m[s];break}o=0}for(u&&(r=c,c=m,m=r,t.s=-t.s),l=c.length,s=m.length-l;s>0;--s)c[l++]=0;for(s=m.length;s>o;){if(c[--s]<m[s]){for(i=s;i&&c[--i]===0;)c[i]=Lr-1;--c[i],c[s]+=Lr}c[s]-=m[s]}for(;c[--l]===0;)c.pop();for(;c[0]===0;c.shift())--a;return c[0]?(t.d=c,t.e=a,sr?Bt(t,f):t):new h(0)}function pc(e,t,r){var a,s=Tr(e),i=Rs(e.d),o=i.length;return t?(r&&(a=r-o)>0?i=i.charAt(0)+"."+i.slice(1)+uo(a):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(s<0?"e":"e+")+s):s<0?(i="0."+uo(-s-1)+i,r&&(a=r-o)>0&&(i+=uo(a))):s>=o?(i+=uo(s+1-o),r&&(a=r-s-1)>0&&(i=i+"."+uo(a))):((a=s+1)<o&&(i=i.slice(0,a)+"."+i.slice(a)),r&&(a=r-o)>0&&(s+1===o&&(i+="."),i+=uo(a))),e.s<0?"-"+i:i}function M_(e,t){if(e.length>t)return e.length=t,!0}function $H(e){var t,r,a;function s(i){var o=this;if(!(o instanceof s))return new s(i);if(o.constructor=s,i instanceof s){o.s=i.s,o.e=i.e,o.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(Jl+i);if(i>0)o.s=1;else if(i<0)i=-i,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(i===~~i&&i<1e7){o.e=0,o.d=[i];return}return __(o,i.toString())}else if(typeof i!="string")throw Error(Jl+i);if(i.charCodeAt(0)===45?(i=i.slice(1),o.s=-1):o.s=1,cAe.test(i))__(o,i);else throw Error(Jl+i)}if(s.prototype=Ie,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.clone=$H,s.config=s.set=dAe,e===void 0&&(e={}),e)for(a=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t<a.length;)e.hasOwnProperty(r=a[t++])||(e[r]=this[r]);return s.config(e),s}function dAe(e){if(!e||typeof e!="object")throw Error(Wa+"Object expected");var t,r,a,s=["precision",1,ym,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t<s.length;t+=3)if((a=e[r=s[t]])!==void 0)if(vm(a)===a&&a>=s[t+1]&&a<=s[t+2])this[r]=a;else throw Error(Jl+r+": "+a);if((a=e[r="LN10"])!==void 0)if(a==Math.LN10)this[r]=new this(a);else throw Error(Jl+r+": "+a);return this}var UP=$H(lAe);ia=new UP(1);const Ot=UP;function uAe(e){return pAe(e)||fAe(e)||hAe(e)||mAe()}function mAe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
772In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hAe(e,t){if(e){if(typeof e=="string")return ek(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ek(e,t)}}function fAe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function pAe(e){if(Array.isArray(e))return ek(e)}function ek(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}var gAe=function(t){return t},LH={"@@functional/placeholder":!0},zH=function(t){return t===LH},O_=function(t){return function r(){return arguments.length===0||arguments.length===1&&zH(arguments.length<=0?void 0:arguments[0])?r:t.apply(void 0,arguments)}},xAe=function e(t,r){return t===1?r:O_(function(){for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];var o=s.filter(function(l){return l!==LH}).length;return o>=t?r.apply(void 0,s):e(t-o,O_(function(){for(var l=arguments.length,c=new Array(l),d=0;d<l;d++)c[d]=arguments[d];var u=s.map(function(m){return zH(m)?c.shift():m});return r.apply(void 0,uAe(u).concat(c))}))})},l0=function(t){return xAe(t.length,t)},tk=function(t,r){for(var a=[],s=t;s<r;++s)a[s-t]=s;return a},yAe=l0(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(r){return t[r]}).map(e)}),vAe=function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];if(!r.length)return gAe;var s=r.reverse(),i=s[0],o=s.slice(1);return function(){return o.reduce(function(l,c){return c(l)},i.apply(void 0,arguments))}},rk=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},BH=function(t){var r=null,a=null;return function(){for(var s=arguments.length,i=new Array(s),o=0;o<s;o++)i[o]=arguments[o];return r&&i.every(function(l,c){return l===r[c]})||(r=i,a=t.apply(void 0,i)),a}};function bAe(e){var t;return e===0?t=1:t=Math.floor(new Ot(e).abs().log(10).toNumber())+1,t}function wAe(e,t,r){for(var a=new Ot(e),s=0,i=[];a.lt(t)&&s<1e5;)i.push(a.toNumber()),a=a.add(r),s++;return i}var jAe=l0(function(e,t,r){var a=+e,s=+t;return a+r*(s-a)}),NAe=l0(function(e,t,r){var a=t-+e;return a=a||1/0,(r-e)/a}),kAe=l0(function(e,t,r){var a=t-+e;return a=a||1/0,Math.max(0,Math.min(1,(r-e)/a))});const c0={rangeStep:wAe,getDigitCount:bAe,interpolateNumber:jAe,uninterpolateNumber:NAe,uninterpolateTruncation:kAe};function nk(e){return PAe(e)||CAe(e)||WH(e)||SAe()}function SAe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
773In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CAe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function PAe(e){if(Array.isArray(e))return ak(e)}function Tf(e,t){return EAe(e)||AAe(e,t)||WH(e,t)||TAe()}function TAe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
774In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WH(e,t){if(e){if(typeof e=="string")return ak(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ak(e,t)}}function ak(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function AAe(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],a=!0,s=!1,i=void 0;try{for(var o=e[Symbol.iterator](),l;!(a=(l=o.next()).done)&&(r.push(l.value),!(t&&r.length===t));a=!0);}catch(c){s=!0,i=c}finally{try{!a&&o.return!=null&&o.return()}finally{if(s)throw i}}return r}}function EAe(e){if(Array.isArray(e))return e}function UH(e){var t=Tf(e,2),r=t[0],a=t[1],s=r,i=a;return r>a&&(s=a,i=r),[s,i]}function VH(e,t,r){if(e.lte(0))return new Ot(0);var a=c0.getDigitCount(e.toNumber()),s=new Ot(10).pow(a),i=e.div(s),o=a!==1?.05:.1,l=new Ot(Math.ceil(i.div(o).toNumber())).add(r).mul(o),c=l.mul(s);return t?c:new Ot(Math.ceil(c))}function IAe(e,t,r){var a=1,s=new Ot(e);if(!s.isint()&&r){var i=Math.abs(e);i<1?(a=new Ot(10).pow(c0.getDigitCount(e)-1),s=new Ot(Math.floor(s.div(a).toNumber())).mul(a)):i>1&&(s=new Ot(Math.floor(e)))}else e===0?s=new Ot(Math.floor((t-1)/2)):r||(s=new Ot(Math.floor(e)));var o=Math.floor((t-1)/2),l=vAe(yAe(function(c){return s.add(new Ot(c-o).mul(a)).toNumber()}),tk);return l(0,t)}function qH(e,t,r,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new Ot(0),tickMin:new Ot(0),tickMax:new Ot(0)};var i=VH(new Ot(t).sub(e).div(r-1),a,s),o;e<=0&&t>=0?o=new Ot(0):(o=new Ot(e).add(t).div(2),o=o.sub(new Ot(o).mod(i)));var l=Math.ceil(o.sub(e).div(i).toNumber()),c=Math.ceil(new Ot(t).sub(o).div(i).toNumber()),d=l+c+1;return d>r?qH(e,t,r,a,s+1):(d<r&&(c=t>0?c+(r-d):c,l=t>0?l:l+(r-d)),{step:i,tickMin:o.sub(new Ot(l).mul(i)),tickMax:o.add(new Ot(c).mul(i))})}function _Ae(e){var t=Tf(e,2),r=t[0],a=t[1],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(s,2),l=UH([r,a]),c=Tf(l,2),d=c[0],u=c[1];if(d===-1/0||u===1/0){var m=u===1/0?[d].concat(nk(tk(0,s-1).map(function(){return 1/0}))):[].concat(nk(tk(0,s-1).map(function(){return-1/0})),[u]);return r>a?rk(m):m}if(d===u)return IAe(d,s,i);var h=qH(d,u,o,i),f=h.step,b=h.tickMin,g=h.tickMax,p=c0.rangeStep(b,g.add(new Ot(.1).mul(f)),f);return r>a?rk(p):p}function MAe(e,t){var r=Tf(e,2),a=r[0],s=r[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=UH([a,s]),l=Tf(o,2),c=l[0],d=l[1];if(c===-1/0||d===1/0)return[a,s];if(c===d)return[c];var u=Math.max(t,2),m=VH(new Ot(d).sub(c).div(u-1),i,0),h=[].concat(nk(c0.rangeStep(new Ot(c),new Ot(d).sub(new Ot(.99).mul(m)),m)),[d]);return a>s?rk(h):h}var OAe=BH(_Ae),RAe=BH(MAe),FAe="Invariant failed";function gc(e,t){throw new Error(FAe)}var DAe=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function Tu(e){"@babel/helpers - typeof";return Tu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tu(e)}function Uy(){return Uy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Uy.apply(this,arguments)}function $Ae(e,t){return WAe(e)||BAe(e,t)||zAe(e,t)||LAe()}function LAe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
775In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zAe(e,t){if(e){if(typeof e=="string")return R_(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return R_(e,t)}}function R_(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function BAe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function WAe(e){if(Array.isArray(e))return e}function UAe(e,t){if(e==null)return{};var r=VAe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function VAe(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function qAe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function HAe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,KH(a.key),a)}}function GAe(e,t,r){return t&&HAe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function KAe(e,t,r){return t=Vy(t),YAe(e,HH()?Reflect.construct(t,r||[],Vy(e).constructor):t.apply(e,r))}function YAe(e,t){if(t&&(Tu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ZAe(e)}function ZAe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function HH(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(HH=function(){return!!e})()}function Vy(e){return Vy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vy(e)}function QAe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&sk(e,t)}function sk(e,t){return sk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},sk(e,t)}function GH(e,t,r){return t=KH(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function KH(e){var t=XAe(e,"string");return Tu(t)=="symbol"?t:t+""}function XAe(e,t){if(Tu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Tu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Op=function(e){function t(){return qAe(this,t),KAe(this,t,arguments)}return QAe(t,e),GAe(t,[{key:"render",value:function(){var a=this.props,s=a.offset,i=a.layout,o=a.width,l=a.dataKey,c=a.data,d=a.dataPointFormatter,u=a.xAxis,m=a.yAxis,h=UAe(a,DAe),f=xt(h,!1);this.props.direction==="x"&&u.type!=="number"&&gc();var b=c.map(function(g){var p=d(g,l),x=p.x,v=p.y,w=p.value,N=p.errorVal;if(!N)return null;var j=[],k,S;if(Array.isArray(N)){var C=$Ae(N,2);k=C[0],S=C[1]}else k=S=N;if(i==="vertical"){var A=u.scale,T=v+s,E=T+o,I=T-o,R=A(w-k),P=A(w+S);j.push({x1:P,y1:E,x2:P,y2:I}),j.push({x1:R,y1:T,x2:P,y2:T}),j.push({x1:R,y1:E,x2:R,y2:I})}else if(i==="horizontal"){var M=m.scale,O=x+s,$=O-o,_=O+o,F=M(w-k),U=M(w+S);j.push({x1:$,y1:U,x2:_,y2:U}),j.push({x1:O,y1:F,x2:O,y2:U}),j.push({x1:$,y1:F,x2:_,y2:F})}return L.createElement(jr,Uy({className:"recharts-errorBar",key:"bar-".concat(j.map(function(Z){return"".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))},f),j.map(function(Z){return L.createElement("line",Uy({},Z,{key:"line-".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))}))});return L.createElement(jr,{className:"recharts-errorBars"},b)}}])}(L.Component);GH(Op,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});GH(Op,"displayName","ErrorBar");function Af(e){"@babel/helpers - typeof";return Af=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Af(e)}function F_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Nl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?F_(Object(r),!0).forEach(function(a){JAe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function JAe(e,t,r){return t=e4e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function e4e(e){var t=t4e(e,"string");return Af(t)=="symbol"?t:t+""}function t4e(e,t){if(Af(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Af(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var YH=function(t){var r=t.children,a=t.formattedGraphicalItems,s=t.legendWidth,i=t.legendContent,o=ra(r,Fd);if(!o)return null;var l=Fd.defaultProps,c=l!==void 0?Nl(Nl({},l),o.props):{},d;return o.props&&o.props.payload?d=o.props&&o.props.payload:i==="children"?d=(a||[]).reduce(function(u,m){var h=m.item,f=m.props,b=f.sectors||f.data||[];return u.concat(b.map(function(g){return{type:o.props.iconType||h.props.legendType,value:g.name,color:g.fill,payload:g}}))},[]):d=(a||[]).map(function(u){var m=u.item,h=m.type.defaultProps,f=h!==void 0?Nl(Nl({},h),m.props):{},b=f.dataKey,g=f.name,p=f.legendType,x=f.hide;return{inactive:x,dataKey:b,type:c.iconType||p||"square",color:VP(m),value:g||b,payload:f}}),Nl(Nl(Nl({},c),Fd.getWithHeight(o,s)),{},{payload:d,item:o})};function Ef(e){"@babel/helpers - typeof";return Ef=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ef(e)}function D_(e){return s4e(e)||a4e(e)||n4e(e)||r4e()}function r4e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
776In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n4e(e,t){if(e){if(typeof e=="string")return ik(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ik(e,t)}}function a4e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function s4e(e){if(Array.isArray(e))return ik(e)}function ik(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function $_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function pr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$_(Object(r),!0).forEach(function(a){$d(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function $d(e,t,r){return t=i4e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i4e(e){var t=o4e(e,"string");return Ef(t)=="symbol"?t:t+""}function o4e(e,t){if(Ef(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Ef(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xa(e,t,r){return pt(e)||pt(t)?r:Fr(t)?Da(e,t,r):ot(t)?t(e):r}function Nh(e,t,r,a){var s=aAe(e,function(l){return xa(l,t)});if(r==="number"){var i=s.filter(function(l){return we(l)||parseFloat(l)});return i.length?[i0(i),s0(i)]:[1/0,-1/0]}var o=a?s.filter(function(l){return!pt(l)}):s;return o.map(function(l){return Fr(l)||l instanceof Date?l:""})}var l4e=function(t){var r,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],s=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=-1,l=(r=a==null?void 0:a.length)!==null&&r!==void 0?r:0;if(l<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var c=i.range,d=0;d<l;d++){var u=d>0?s[d-1].coordinate:s[l-1].coordinate,m=s[d].coordinate,h=d>=l-1?s[0].coordinate:s[d+1].coordinate,f=void 0;if(ds(m-u)!==ds(h-m)){var b=[];if(ds(h-m)===ds(c[1]-c[0])){f=h;var g=m+c[1]-c[0];b[0]=Math.min(g,(g+u)/2),b[1]=Math.max(g,(g+u)/2)}else{f=u;var p=h+c[1]-c[0];b[0]=Math.min(m,(p+m)/2),b[1]=Math.max(m,(p+m)/2)}var x=[Math.min(m,(f+m)/2),Math.max(m,(f+m)/2)];if(t>x[0]&&t<=x[1]||t>=b[0]&&t<=b[1]){o=s[d].index;break}}else{var v=Math.min(u,h),w=Math.max(u,h);if(t>(v+m)/2&&t<=(w+m)/2){o=s[d].index;break}}}else for(var N=0;N<l;N++)if(N===0&&t<=(a[N].coordinate+a[N+1].coordinate)/2||N>0&&N<l-1&&t>(a[N].coordinate+a[N-1].coordinate)/2&&t<=(a[N].coordinate+a[N+1].coordinate)/2||N===l-1&&t>(a[N].coordinate+a[N-1].coordinate)/2){o=a[N].index;break}return o},VP=function(t){var r,a=t,s=a.type.displayName,i=(r=t.type)!==null&&r!==void 0&&r.defaultProps?pr(pr({},t.type.defaultProps),t.props):t.props,o=i.stroke,l=i.fill,c;switch(s){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:l;break;default:c=l;break}return c},c4e=function(t){var r=t.barSize,a=t.totalSize,s=t.stackGroups,i=s===void 0?{}:s;if(!i)return{};for(var o={},l=Object.keys(i),c=0,d=l.length;c<d;c++)for(var u=i[l[c]].stackGroups,m=Object.keys(u),h=0,f=m.length;h<f;h++){var b=u[m[h]],g=b.items,p=b.cateAxisId,x=g.filter(function(S){return Pi(S.type).indexOf("Bar")>=0});if(x&&x.length){var v=x[0].type.defaultProps,w=v!==void 0?pr(pr({},v),x[0].props):x[0].props,N=w.barSize,j=w[p];o[j]||(o[j]=[]);var k=pt(N)?r:N;o[j].push({item:x[0],stackList:x.slice(1),barSize:pt(k)?void 0:fc(k,a,0)})}}return o},d4e=function(t){var r=t.barGap,a=t.barCategoryGap,s=t.bandSize,i=t.sizeList,o=i===void 0?[]:i,l=t.maxBarSize,c=o.length;if(c<1)return null;var d=fc(r,s,0,!0),u,m=[];if(o[0].barSize===+o[0].barSize){var h=!1,f=s/c,b=o.reduce(function(N,j){return N+j.barSize||0},0);b+=(c-1)*d,b>=s&&(b-=(c-1)*d,d=0),b>=s&&f>0&&(h=!0,f*=.9,b=c*f);var g=(s-b)/2>>0,p={offset:g-d,size:0};u=o.reduce(function(N,j){var k={item:j.item,position:{offset:p.offset+p.size+d,size:h?f:j.barSize}},S=[].concat(D_(N),[k]);return p=S[S.length-1].position,j.stackList&&j.stackList.length&&j.stackList.forEach(function(C){S.push({item:C,position:p})}),S},m)}else{var x=fc(a,s,0,!0);s-2*x-(c-1)*d<=0&&(d=0);var v=(s-2*x-(c-1)*d)/c;v>1&&(v>>=0);var w=l===+l?Math.min(v,l):v;u=o.reduce(function(N,j,k){var S=[].concat(D_(N),[{item:j.item,position:{offset:x+(v+d)*k+(v-w)/2,size:w}}]);return j.stackList&&j.stackList.length&&j.stackList.forEach(function(C){S.push({item:C,position:S[S.length-1].position})}),S},m)}return u},u4e=function(t,r,a,s){var i=a.children,o=a.width,l=a.margin,c=o-(l.left||0)-(l.right||0),d=YH({children:i,legendWidth:c});if(d){var u=s||{},m=u.width,h=u.height,f=d.align,b=d.verticalAlign,g=d.layout;if((g==="vertical"||g==="horizontal"&&b==="middle")&&f!=="center"&&we(t[f]))return pr(pr({},t),{},$d({},f,t[f]+(m||0)));if((g==="horizontal"||g==="vertical"&&f==="center")&&b!=="middle"&&we(t[b]))return pr(pr({},t),{},$d({},b,t[b]+(h||0)))}return t},m4e=function(t,r,a){return pt(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||a==="x"?r==="xAxis":a==="y"?r==="yAxis":!0},ZH=function(t,r,a,s,i){var o=r.props.children,l=$a(o,Op).filter(function(d){return m4e(s,i,d.props.direction)});if(l&&l.length){var c=l.map(function(d){return d.props.dataKey});return t.reduce(function(d,u){var m=xa(u,a);if(pt(m))return d;var h=Array.isArray(m)?[i0(m),s0(m)]:[m,m],f=c.reduce(function(b,g){var p=xa(u,g,0),x=h[0]-Math.abs(Array.isArray(p)?p[0]:p),v=h[1]+Math.abs(Array.isArray(p)?p[1]:p);return[Math.min(x,b[0]),Math.max(v,b[1])]},[1/0,-1/0]);return[Math.min(f[0],d[0]),Math.max(f[1],d[1])]},[1/0,-1/0])}return null},h4e=function(t,r,a,s,i){var o=r.map(function(l){return ZH(t,l,a,i,s)}).filter(function(l){return!pt(l)});return o&&o.length?o.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]):null},QH=function(t,r,a,s,i){var o=r.map(function(c){var d=c.props.dataKey;return a==="number"&&d&&ZH(t,c,d,s)||Nh(t,d,a,i)});if(a==="number")return o.reduce(function(c,d){return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);var l={};return o.reduce(function(c,d){for(var u=0,m=d.length;u<m;u++)l[d[u]]||(l[d[u]]=!0,c.push(d[u]));return c},[])},XH=function(t,r){return t==="horizontal"&&r==="xAxis"||t==="vertical"&&r==="yAxis"||t==="centric"&&r==="angleAxis"||t==="radial"&&r==="radiusAxis"},JH=function(t,r,a,s){if(s)return t.map(function(c){return c.coordinate});var i,o,l=t.map(function(c){return c.coordinate===r&&(i=!0),c.coordinate===a&&(o=!0),c.coordinate});return i||l.push(r),o||l.push(a),l},ji=function(t,r,a){if(!t)return null;var s=t.scale,i=t.duplicateDomain,o=t.type,l=t.range,c=t.realScaleType==="scaleBand"?s.bandwidth()/2:2,d=(r||a)&&o==="category"&&s.bandwidth?s.bandwidth()/c:0;if(d=t.axisType==="angleAxis"&&(l==null?void 0:l.length)>=2?ds(l[0]-l[1])*2*d:d,r&&(t.ticks||t.niceTicks)){var u=(t.ticks||t.niceTicks).map(function(m){var h=i?i.indexOf(m):m;return{coordinate:s(h)+d,value:m,offset:d}});return u.filter(function(m){return!Pp(m.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(m,h){return{coordinate:s(m)+d,value:m,index:h,offset:d}}):s.ticks&&!a?s.ticks(t.tickCount).map(function(m){return{coordinate:s(m)+d,value:m,offset:d}}):s.domain().map(function(m,h){return{coordinate:s(m)+d,value:i?i[m]:m,index:h,offset:d}})},lj=new WeakMap,Pg=function(t,r){if(typeof r!="function")return t;lj.has(t)||lj.set(t,new WeakMap);var a=lj.get(t);if(a.has(r))return a.get(r);var s=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return a.set(r,s),s},f4e=function(t,r,a){var s=t.scale,i=t.type,o=t.layout,l=t.axisType;if(s==="auto")return o==="radial"&&l==="radiusAxis"?{scale:jf(),realScaleType:"band"}:o==="radial"&&l==="angleAxis"?{scale:$y(),realScaleType:"linear"}:i==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!a)?{scale:jh(),realScaleType:"point"}:i==="category"?{scale:jf(),realScaleType:"band"}:{scale:$y(),realScaleType:"linear"};if(Cp(s)){var c="scale".concat(Hb(s));return{scale:(I_[c]||jh)(),realScaleType:I_[c]?c:"point"}}return ot(s)?{scale:s}:{scale:jh(),realScaleType:"point"}},L_=1e-4,p4e=function(t){var r=t.domain();if(!(!r||r.length<=2)){var a=r.length,s=t.range(),i=Math.min(s[0],s[1])-L_,o=Math.max(s[0],s[1])+L_,l=t(r[0]),c=t(r[a-1]);(l<i||l>o||c<i||c>o)&&t.domain([r[0],r[a-1]])}},g4e=function(t,r){if(!t)return null;for(var a=0,s=t.length;a<s;a++)if(t[a].item===r)return t[a].position;return null},x4e=function(t,r){if(!r||r.length!==2||!we(r[0])||!we(r[1]))return t;var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]),i=[t[0],t[1]];return(!we(t[0])||t[0]<a)&&(i[0]=a),(!we(t[1])||t[1]>s)&&(i[1]=s),i[0]>s&&(i[0]=s),i[1]<a&&(i[1]=a),i},y4e=function(t){var r=t.length;if(!(r<=0))for(var a=0,s=t[0].length;a<s;++a)for(var i=0,o=0,l=0;l<r;++l){var c=Pp(t[l][a][1])?t[l][a][0]:t[l][a][1];c>=0?(t[l][a][0]=i,t[l][a][1]=i+c,i=t[l][a][1]):(t[l][a][0]=o,t[l][a][1]=o+c,o=t[l][a][1])}},v4e=function(t){var r=t.length;if(!(r<=0))for(var a=0,s=t[0].length;a<s;++a)for(var i=0,o=0;o<r;++o){var l=Pp(t[o][a][1])?t[o][a][0]:t[o][a][1];l>=0?(t[o][a][0]=i,t[o][a][1]=i+l,i=t[o][a][1]):(t[o][a][0]=0,t[o][a][1]=0)}},b4e={sign:y4e,expand:Rve,none:bu,silhouette:Fve,wiggle:Dve,positive:v4e},w4e=function(t,r,a){var s=r.map(function(l){return l.props.dataKey}),i=b4e[a],o=Ove().keys(s).value(function(l,c){return+xa(l,c,0)}).order(IN).offset(i);return o(t)},j4e=function(t,r,a,s,i,o){if(!t)return null;var l=o?r.reverse():r,c={},d=l.reduce(function(m,h){var f,b=(f=h.type)!==null&&f!==void 0&&f.defaultProps?pr(pr({},h.type.defaultProps),h.props):h.props,g=b.stackId,p=b.hide;if(p)return m;var x=b[a],v=m[x]||{hasStack:!1,stackGroups:{}};if(Fr(g)){var w=v.stackGroups[g]||{numericAxisId:a,cateAxisId:s,items:[]};w.items.push(h),v.hasStack=!0,v.stackGroups[g]=w}else v.stackGroups[Tp("_stackId_")]={numericAxisId:a,cateAxisId:s,items:[h]};return pr(pr({},m),{},$d({},x,v))},c),u={};return Object.keys(d).reduce(function(m,h){var f=d[h];if(f.hasStack){var b={};f.stackGroups=Object.keys(f.stackGroups).reduce(function(g,p){var x=f.stackGroups[p];return pr(pr({},g),{},$d({},p,{numericAxisId:a,cateAxisId:s,items:x.items,stackedData:w4e(t,x.items,i)}))},b)}return pr(pr({},m),{},$d({},h,f))},u)},N4e=function(t,r){var a=r.realScaleType,s=r.type,i=r.tickCount,o=r.originalDomain,l=r.allowDecimals,c=a||r.scale;if(c!=="auto"&&c!=="linear")return null;if(i&&s==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var d=t.domain();if(!d.length)return null;var u=OAe(d,i,l);return t.domain([i0(u),s0(u)]),{niceTicks:u}}if(i&&s==="number"){var m=t.domain(),h=RAe(m,i,l);return{niceTicks:h}}return null};function z_(e){var t=e.axis,r=e.ticks,a=e.bandSize,s=e.entry,i=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!pt(s[t.dataKey])){var l=py(r,"value",s[t.dataKey]);if(l)return l.coordinate+a/2}return r[i]?r[i].coordinate+a/2:null}var c=xa(s,pt(o)?t.dataKey:o);return pt(c)?null:t.scale(c)}var B_=function(t){var r=t.axis,a=t.ticks,s=t.offset,i=t.bandSize,o=t.entry,l=t.index;if(r.type==="category")return a[l]?a[l].coordinate+s:null;var c=xa(o,r.dataKey,r.domain[l]);return pt(c)?null:r.scale(c)-i/2+s},k4e=function(t){var r=t.numericAxis,a=r.scale.domain();if(r.type==="number"){var s=Math.min(a[0],a[1]),i=Math.max(a[0],a[1]);return s<=0&&i>=0?0:i<0?i:s}return a[0]},S4e=function(t,r){var a,s=(a=t.type)!==null&&a!==void 0&&a.defaultProps?pr(pr({},t.type.defaultProps),t.props):t.props,i=s.stackId;if(Fr(i)){var o=r[i];if(o){var l=o.items.indexOf(t);return l>=0?o.stackedData[l]:null}}return null},C4e=function(t){return t.reduce(function(r,a){return[i0(a.concat([r[0]]).filter(we)),s0(a.concat([r[1]]).filter(we))]},[1/0,-1/0])},eG=function(t,r,a){return Object.keys(t).reduce(function(s,i){var o=t[i],l=o.stackedData,c=l.reduce(function(d,u){var m=C4e(u.slice(r,a+1));return[Math.min(d[0],m[0]),Math.max(d[1],m[1])]},[1/0,-1/0]);return[Math.min(c[0],s[0]),Math.max(c[1],s[1])]},[1/0,-1/0]).map(function(s){return s===1/0||s===-1/0?0:s})},W_=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,U_=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ok=function(t,r,a){if(ot(t))return t(r,a);if(!Array.isArray(t))return r;var s=[];if(we(t[0]))s[0]=a?t[0]:Math.min(t[0],r[0]);else if(W_.test(t[0])){var i=+W_.exec(t[0])[1];s[0]=r[0]-i}else ot(t[0])?s[0]=t[0](r[0]):s[0]=r[0];if(we(t[1]))s[1]=a?t[1]:Math.max(t[1],r[1]);else if(U_.test(t[1])){var o=+U_.exec(t[1])[1];s[1]=r[1]+o}else ot(t[1])?s[1]=t[1](r[1]):s[1]=r[1];return s},qy=function(t,r,a){if(t&&t.scale&&t.scale.bandwidth){var s=t.scale.bandwidth();if(!a||s>0)return s}if(t&&r&&r.length>=2){for(var i=yP(r,function(m){return m.coordinate}),o=1/0,l=1,c=i.length;l<c;l++){var d=i[l],u=i[l-1];o=Math.min((d.coordinate||0)-(u.coordinate||0),o)}return o===1/0?0:o}return a?void 0:0},V_=function(t,r,a){return!t||!t.length||o0(t,Da(a,"type.defaultProps.domain"))?r:t},tG=function(t,r){var a=t.type.defaultProps?pr(pr({},t.type.defaultProps),t.props):t.props,s=a.dataKey,i=a.name,o=a.unit,l=a.formatter,c=a.tooltipType,d=a.chartType,u=a.hide;return pr(pr({},xt(t,!1)),{},{dataKey:s,unit:o,formatter:l,name:i||s,color:VP(t),value:xa(r,s),type:c,payload:r,chartType:d,hide:u})};function If(e){"@babel/helpers - typeof";return If=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},If(e)}function q_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function H_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?q_(Object(r),!0).forEach(function(a){P4e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function P4e(e,t,r){return t=T4e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function T4e(e){var t=A4e(e,"string");return If(t)=="symbol"?t:t+""}function A4e(e,t){if(If(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(If(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Hy=Math.PI/180,E4e=function(t){return t*180/Math.PI},Qr=function(t,r,a,s){return{x:t+Math.cos(-Hy*s)*a,y:r+Math.sin(-Hy*s)*a}},I4e=function(t,r){var a=t.x,s=t.y,i=r.x,o=r.y;return Math.sqrt(Math.pow(a-i,2)+Math.pow(s-o,2))},_4e=function(t,r){var a=t.x,s=t.y,i=r.cx,o=r.cy,l=I4e({x:a,y:s},{x:i,y:o});if(l<=0)return{radius:l};var c=(a-i)/l,d=Math.acos(c);return s>o&&(d=2*Math.PI-d),{radius:l,angle:E4e(d),angleInRadian:d}},M4e=function(t){var r=t.startAngle,a=t.endAngle,s=Math.floor(r/360),i=Math.floor(a/360),o=Math.min(s,i);return{startAngle:r-o*360,endAngle:a-o*360}},O4e=function(t,r){var a=r.startAngle,s=r.endAngle,i=Math.floor(a/360),o=Math.floor(s/360),l=Math.min(i,o);return t+l*360},G_=function(t,r){var a=t.x,s=t.y,i=_4e({x:a,y:s},r),o=i.radius,l=i.angle,c=r.innerRadius,d=r.outerRadius;if(o<c||o>d)return!1;if(o===0)return!0;var u=M4e(r),m=u.startAngle,h=u.endAngle,f=l,b;if(m<=h){for(;f>h;)f-=360;for(;f<m;)f+=360;b=f>=m&&f<=h}else{for(;f>m;)f-=360;for(;f<h;)f+=360;b=f>=h&&f<=m}return b?H_(H_({},r),{},{radius:o,angle:O4e(f,r)}):null};function _f(e){"@babel/helpers - typeof";return _f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_f(e)}var R4e=["offset"];function F4e(e){return z4e(e)||L4e(e)||$4e(e)||D4e()}function D4e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
777In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $4e(e,t){if(e){if(typeof e=="string")return lk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return lk(e,t)}}function L4e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function z4e(e){if(Array.isArray(e))return lk(e)}function lk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function B4e(e,t){if(e==null)return{};var r=W4e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function W4e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function K_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Er(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?K_(Object(r),!0).forEach(function(a){U4e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function U4e(e,t,r){return t=V4e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function V4e(e){var t=q4e(e,"string");return _f(t)=="symbol"?t:t+""}function q4e(e,t){if(_f(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(_f(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Mf(){return Mf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Mf.apply(this,arguments)}var H4e=function(t){var r=t.value,a=t.formatter,s=pt(t.children)?r:t.children;return ot(a)?a(s):s},G4e=function(t,r){var a=ds(r-t),s=Math.min(Math.abs(r-t),360);return a*s},K4e=function(t,r,a){var s=t.position,i=t.viewBox,o=t.offset,l=t.className,c=i,d=c.cx,u=c.cy,m=c.innerRadius,h=c.outerRadius,f=c.startAngle,b=c.endAngle,g=c.clockWise,p=(m+h)/2,x=G4e(f,b),v=x>=0?1:-1,w,N;s==="insideStart"?(w=f+v*o,N=g):s==="insideEnd"?(w=b-v*o,N=!g):s==="end"&&(w=b+v*o,N=g),N=x<=0?N:!N;var j=Qr(d,u,p,w),k=Qr(d,u,p,w+(N?1:-1)*359),S="M".concat(j.x,",").concat(j.y,`
778    A`).concat(p,",").concat(p,",0,1,").concat(N?0:1,`,
779    `).concat(k.x,",").concat(k.y),C=pt(t.id)?Tp("recharts-radial-line-"):t.id;return L.createElement("text",Mf({},a,{dominantBaseline:"central",className:vt("recharts-radial-bar-label",l)}),L.createElement("defs",null,L.createElement("path",{id:C,d:S})),L.createElement("textPath",{xlinkHref:"#".concat(C)},r))},Y4e=function(t){var r=t.viewBox,a=t.offset,s=t.position,i=r,o=i.cx,l=i.cy,c=i.innerRadius,d=i.outerRadius,u=i.startAngle,m=i.endAngle,h=(u+m)/2;if(s==="outside"){var f=Qr(o,l,d+a,h),b=f.x,g=f.y;return{x:b,y:g,textAnchor:b>=o?"start":"end",verticalAnchor:"middle"}}if(s==="center")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(s==="centerTop")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"start"};if(s==="centerBottom")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"end"};var p=(c+d)/2,x=Qr(o,l,p,h),v=x.x,w=x.y;return{x:v,y:w,textAnchor:"middle",verticalAnchor:"middle"}},Z4e=function(t){var r=t.viewBox,a=t.parentViewBox,s=t.offset,i=t.position,o=r,l=o.x,c=o.y,d=o.width,u=o.height,m=u>=0?1:-1,h=m*s,f=m>0?"end":"start",b=m>0?"start":"end",g=d>=0?1:-1,p=g*s,x=g>0?"end":"start",v=g>0?"start":"end";if(i==="top"){var w={x:l+d/2,y:c-m*s,textAnchor:"middle",verticalAnchor:f};return Er(Er({},w),a?{height:Math.max(c-a.y,0),width:d}:{})}if(i==="bottom"){var N={x:l+d/2,y:c+u+h,textAnchor:"middle",verticalAnchor:b};return Er(Er({},N),a?{height:Math.max(a.y+a.height-(c+u),0),width:d}:{})}if(i==="left"){var j={x:l-p,y:c+u/2,textAnchor:x,verticalAnchor:"middle"};return Er(Er({},j),a?{width:Math.max(j.x-a.x,0),height:u}:{})}if(i==="right"){var k={x:l+d+p,y:c+u/2,textAnchor:v,verticalAnchor:"middle"};return Er(Er({},k),a?{width:Math.max(a.x+a.width-k.x,0),height:u}:{})}var S=a?{width:d,height:u}:{};return i==="insideLeft"?Er({x:l+p,y:c+u/2,textAnchor:v,verticalAnchor:"middle"},S):i==="insideRight"?Er({x:l+d-p,y:c+u/2,textAnchor:x,verticalAnchor:"middle"},S):i==="insideTop"?Er({x:l+d/2,y:c+h,textAnchor:"middle",verticalAnchor:b},S):i==="insideBottom"?Er({x:l+d/2,y:c+u-h,textAnchor:"middle",verticalAnchor:f},S):i==="insideTopLeft"?Er({x:l+p,y:c+h,textAnchor:v,verticalAnchor:b},S):i==="insideTopRight"?Er({x:l+d-p,y:c+h,textAnchor:x,verticalAnchor:b},S):i==="insideBottomLeft"?Er({x:l+p,y:c+u-h,textAnchor:v,verticalAnchor:f},S):i==="insideBottomRight"?Er({x:l+d-p,y:c+u-h,textAnchor:x,verticalAnchor:f},S):dm(i)&&(we(i.x)||Dl(i.x))&&(we(i.y)||Dl(i.y))?Er({x:l+fc(i.x,d),y:c+fc(i.y,u),textAnchor:"end",verticalAnchor:"end"},S):Er({x:l+d/2,y:c+u/2,textAnchor:"middle",verticalAnchor:"middle"},S)},Q4e=function(t){return"cx"in t&&we(t.cx)};function un(e){var t=e.offset,r=t===void 0?5:t,a=B4e(e,R4e),s=Er({offset:r},a),i=s.viewBox,o=s.position,l=s.value,c=s.children,d=s.content,u=s.className,m=u===void 0?"":u,h=s.textBreakAll;if(!i||pt(l)&&pt(c)&&!y.isValidElement(d)&&!ot(d))return null;if(y.isValidElement(d))return y.cloneElement(d,s);var f;if(ot(d)){if(f=y.createElement(d,s),y.isValidElement(f))return f}else f=H4e(s);var b=Q4e(i),g=xt(s,!0);if(b&&(o==="insideStart"||o==="insideEnd"||o==="end"))return K4e(s,f,g);var p=b?Y4e(s):Z4e(s);return L.createElement(Iy,Mf({className:vt("recharts-label",m)},g,p,{breakAll:h}),f)}un.displayName="Label";var rG=function(t){var r=t.cx,a=t.cy,s=t.angle,i=t.startAngle,o=t.endAngle,l=t.r,c=t.radius,d=t.innerRadius,u=t.outerRadius,m=t.x,h=t.y,f=t.top,b=t.left,g=t.width,p=t.height,x=t.clockWise,v=t.labelViewBox;if(v)return v;if(we(g)&&we(p)){if(we(m)&&we(h))return{x:m,y:h,width:g,height:p};if(we(f)&&we(b))return{x:f,y:b,width:g,height:p}}return we(m)&&we(h)?{x:m,y:h,width:0,height:0}:we(r)&&we(a)?{cx:r,cy:a,startAngle:i||s||0,endAngle:o||s||0,innerRadius:d||0,outerRadius:u||c||l||0,clockWise:x}:t.viewBox?t.viewBox:{}},X4e=function(t,r){return t?t===!0?L.createElement(un,{key:"label-implicit",viewBox:r}):Fr(t)?L.createElement(un,{key:"label-implicit",viewBox:r,value:t}):y.isValidElement(t)?t.type===un?y.cloneElement(t,{key:"label-implicit",viewBox:r}):L.createElement(un,{key:"label-implicit",content:t,viewBox:r}):ot(t)?L.createElement(un,{key:"label-implicit",content:t,viewBox:r}):dm(t)?L.createElement(un,Mf({viewBox:r},t,{key:"label-implicit"})):null:null},J4e=function(t,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&a&&!t.label)return null;var s=t.children,i=rG(t),o=$a(s,un).map(function(c,d){return y.cloneElement(c,{viewBox:r||i,key:"label-".concat(d)})});if(!a)return o;var l=X4e(t.label,r||i);return[l].concat(F4e(o))};un.parseViewBox=rG;un.renderCallByParent=J4e;function e3e(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var t3e=e3e;const r3e=Ft(t3e);function Of(e){"@babel/helpers - typeof";return Of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Of(e)}var n3e=["valueAccessor"],a3e=["data","dataKey","clockWise","id","textBreakAll"];function s3e(e){return c3e(e)||l3e(e)||o3e(e)||i3e()}function i3e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
780In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function o3e(e,t){if(e){if(typeof e=="string")return ck(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ck(e,t)}}function l3e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c3e(e){if(Array.isArray(e))return ck(e)}function ck(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function Gy(){return Gy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Gy.apply(this,arguments)}function Y_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Z_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Y_(Object(r),!0).forEach(function(a){d3e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function d3e(e,t,r){return t=u3e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u3e(e){var t=m3e(e,"string");return Of(t)=="symbol"?t:t+""}function m3e(e,t){if(Of(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Of(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Q_(e,t){if(e==null)return{};var r=h3e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function h3e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}var f3e=function(t){return Array.isArray(t.value)?r3e(t.value):t.value};function Uo(e){var t=e.valueAccessor,r=t===void 0?f3e:t,a=Q_(e,n3e),s=a.data,i=a.dataKey,o=a.clockWise,l=a.id,c=a.textBreakAll,d=Q_(a,a3e);return!s||!s.length?null:L.createElement(jr,{className:"recharts-label-list"},s.map(function(u,m){var h=pt(i)?r(u,m):xa(u&&u.payload,i),f=pt(l)?{}:{id:"".concat(l,"-").concat(m)};return L.createElement(un,Gy({},xt(u,!0),d,f,{parentViewBox:u.parentViewBox,value:h,textBreakAll:c,viewBox:un.parseViewBox(pt(o)?u:Z_(Z_({},u),{},{clockWise:o})),key:"label-".concat(m),index:m}))}))}Uo.displayName="LabelList";function p3e(e,t){return e?e===!0?L.createElement(Uo,{key:"labelList-implicit",data:t}):L.isValidElement(e)||ot(e)?L.createElement(Uo,{key:"labelList-implicit",data:t,content:e}):dm(e)?L.createElement(Uo,Gy({data:t},e,{key:"labelList-implicit"})):null:null}function g3e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var a=e.children,s=$a(a,Uo).map(function(o,l){return y.cloneElement(o,{data:t,key:"labelList-".concat(l)})});if(!r)return s;var i=p3e(e.label,t);return[i].concat(s3e(s))}Uo.renderCallByParent=g3e;function Rf(e){"@babel/helpers - typeof";return Rf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rf(e)}function dk(){return dk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},dk.apply(this,arguments)}function X_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function J_(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?X_(Object(r),!0).forEach(function(a){x3e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):X_(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function x3e(e,t,r){return t=y3e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y3e(e){var t=v3e(e,"string");return Rf(t)=="symbol"?t:t+""}function v3e(e,t){if(Rf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Rf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var b3e=function(t,r){var a=ds(r-t),s=Math.min(Math.abs(r-t),359.999);return a*s},Tg=function(t){var r=t.cx,a=t.cy,s=t.radius,i=t.angle,o=t.sign,l=t.isExternal,c=t.cornerRadius,d=t.cornerIsExternal,u=c*(l?1:-1)+s,m=Math.asin(c/u)/Hy,h=d?i:i+o*m,f=Qr(r,a,u,h),b=Qr(r,a,s,h),g=d?i-o*m:i,p=Qr(r,a,u*Math.cos(m*Hy),g);return{center:f,circleTangency:b,lineTangency:p,theta:m}},nG=function(t){var r=t.cx,a=t.cy,s=t.innerRadius,i=t.outerRadius,o=t.startAngle,l=t.endAngle,c=b3e(o,l),d=o+c,u=Qr(r,a,i,o),m=Qr(r,a,i,d),h="M ".concat(u.x,",").concat(u.y,`
781    A `).concat(i,",").concat(i,`,0,
782    `).concat(+(Math.abs(c)>180),",").concat(+(o>d),`,
783    `).concat(m.x,",").concat(m.y,`
784  `);if(s>0){var f=Qr(r,a,s,o),b=Qr(r,a,s,d);h+="L ".concat(b.x,",").concat(b.y,`
785            A `).concat(s,",").concat(s,`,0,
786            `).concat(+(Math.abs(c)>180),",").concat(+(o<=d),`,
787            `).concat(f.x,",").concat(f.y," Z")}else h+="L ".concat(r,",").concat(a," Z");return h},w3e=function(t){var r=t.cx,a=t.cy,s=t.innerRadius,i=t.outerRadius,o=t.cornerRadius,l=t.forceCornerRadius,c=t.cornerIsExternal,d=t.startAngle,u=t.endAngle,m=ds(u-d),h=Tg({cx:r,cy:a,radius:i,angle:d,sign:m,cornerRadius:o,cornerIsExternal:c}),f=h.circleTangency,b=h.lineTangency,g=h.theta,p=Tg({cx:r,cy:a,radius:i,angle:u,sign:-m,cornerRadius:o,cornerIsExternal:c}),x=p.circleTangency,v=p.lineTangency,w=p.theta,N=c?Math.abs(d-u):Math.abs(d-u)-g-w;if(N<0)return l?"M ".concat(b.x,",").concat(b.y,`
788        a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
789        a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
790      `):nG({cx:r,cy:a,innerRadius:s,outerRadius:i,startAngle:d,endAngle:u});var j="M ".concat(b.x,",").concat(b.y,`
791    A`).concat(o,",").concat(o,",0,0,").concat(+(m<0),",").concat(f.x,",").concat(f.y,`
792    A`).concat(i,",").concat(i,",0,").concat(+(N>180),",").concat(+(m<0),",").concat(x.x,",").concat(x.y,`
793    A`).concat(o,",").concat(o,",0,0,").concat(+(m<0),",").concat(v.x,",").concat(v.y,`
794  `);if(s>0){var k=Tg({cx:r,cy:a,radius:s,angle:d,sign:m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),S=k.circleTangency,C=k.lineTangency,A=k.theta,T=Tg({cx:r,cy:a,radius:s,angle:u,sign:-m,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),E=T.circleTangency,I=T.lineTangency,R=T.theta,P=c?Math.abs(d-u):Math.abs(d-u)-A-R;if(P<0&&o===0)return"".concat(j,"L").concat(r,",").concat(a,"Z");j+="L".concat(I.x,",").concat(I.y,`
795      A`).concat(o,",").concat(o,",0,0,").concat(+(m<0),",").concat(E.x,",").concat(E.y,`
796      A`).concat(s,",").concat(s,",0,").concat(+(P>180),",").concat(+(m>0),",").concat(S.x,",").concat(S.y,`
797      A`).concat(o,",").concat(o,",0,0,").concat(+(m<0),",").concat(C.x,",").concat(C.y,"Z")}else j+="L".concat(r,",").concat(a,"Z");return j},j3e={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},aG=function(t){var r=J_(J_({},j3e),t),a=r.cx,s=r.cy,i=r.innerRadius,o=r.outerRadius,l=r.cornerRadius,c=r.forceCornerRadius,d=r.cornerIsExternal,u=r.startAngle,m=r.endAngle,h=r.className;if(o<i||u===m)return null;var f=vt("recharts-sector",h),b=o-i,g=fc(l,b,0,!0),p;return g>0&&Math.abs(u-m)<360?p=w3e({cx:a,cy:s,innerRadius:i,outerRadius:o,cornerRadius:Math.min(g,b/2),forceCornerRadius:c,cornerIsExternal:d,startAngle:u,endAngle:m}):p=nG({cx:a,cy:s,innerRadius:i,outerRadius:o,startAngle:u,endAngle:m}),L.createElement("path",dk({},xt(r,!0),{className:f,d:p,role:"img"}))};function Ff(e){"@babel/helpers - typeof";return Ff=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ff(e)}function uk(){return uk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},uk.apply(this,arguments)}function e5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function t5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?e5(Object(r),!0).forEach(function(a){N3e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):e5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function N3e(e,t,r){return t=k3e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function k3e(e){var t=S3e(e,"string");return Ff(t)=="symbol"?t:t+""}function S3e(e,t){if(Ff(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Ff(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var r5={curveBasisClosed:Nve,curveBasisOpen:kve,curveBasis:jve,curveBumpX:lve,curveBumpY:cve,curveLinearClosed:Sve,curveLinear:Kb,curveMonotoneX:Cve,curveMonotoneY:Pve,curveNatural:Tve,curveStep:Ave,curveStepAfter:Ive,curveStepBefore:Eve},Ag=function(t){return t.x===+t.x&&t.y===+t.y},Wm=function(t){return t.x},Um=function(t){return t.y},C3e=function(t,r){if(ot(t))return t;var a="curve".concat(Hb(t));return(a==="curveMonotone"||a==="curveBump")&&r?r5["".concat(a).concat(r==="vertical"?"Y":"X")]:r5[a]||Kb},P3e=function(t){var r=t.type,a=r===void 0?"linear":r,s=t.points,i=s===void 0?[]:s,o=t.baseLine,l=t.layout,c=t.connectNulls,d=c===void 0?!1:c,u=C3e(a,l),m=d?i.filter(function(g){return Ag(g)}):i,h;if(Array.isArray(o)){var f=d?o.filter(function(g){return Ag(g)}):o,b=m.map(function(g,p){return t5(t5({},g),{},{base:f[p]})});return l==="vertical"?h=vg().y(Um).x1(Wm).x0(function(g){return g.base.x}):h=vg().x(Wm).y1(Um).y0(function(g){return g.base.y}),h.defined(Ag).curve(u),h(b)}return l==="vertical"&&we(o)?h=vg().y(Um).x1(Wm).x0(o):we(o)?h=vg().x(Wm).y1(Um).y0(o):h=a7().x(Wm).y(Um),h.defined(Ag).curve(u),h(m)},mk=function(t){var r=t.className,a=t.points,s=t.path,i=t.pathRef;if((!a||!a.length)&&!s)return null;var o=a&&a.length?P3e(t):s;return L.createElement("path",uk({},xt(t,!1),gy(t),{className:vt("recharts-curve",r),d:o,ref:i}))},sG={exports:{}},T3e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",A3e=T3e,E3e=A3e;function iG(){}function oG(){}oG.resetWarningCache=iG;var I3e=function(){function e(a,s,i,o,l,c){if(c!==E3e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:oG,resetWarningCache:iG};return r.PropTypes=r,r};sG.exports=I3e();var _3e=sG.exports;const Ct=Ft(_3e);var M3e=Object.getOwnPropertyNames,O3e=Object.getOwnPropertySymbols,R3e=Object.prototype.hasOwnProperty;function n5(e,t){return function(a,s,i){return e(a,s,i)&&t(a,s,i)}}function Eg(e){return function(r,a,s){if(!r||!a||typeof r!="object"||typeof a!="object")return e(r,a,s);var i=s.cache,o=i.get(r),l=i.get(a);if(o&&l)return o===a&&l===r;i.set(r,a),i.set(a,r);var c=e(r,a,s);return i.delete(r),i.delete(a),c}}function a5(e){return M3e(e).concat(O3e(e))}var F3e=Object.hasOwn||function(e,t){return R3e.call(e,t)};function Oc(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var D3e="__v",$3e="__o",L3e="_owner",s5=Object.getOwnPropertyDescriptor,i5=Object.keys;function z3e(e,t,r){var a=e.length;if(t.length!==a)return!1;for(;a-- >0;)if(!r.equals(e[a],t[a],a,a,e,t,r))return!1;return!0}function B3e(e,t){return Oc(e.getTime(),t.getTime())}function W3e(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function U3e(e,t){return e===t}function o5(e,t,r){var a=e.size;if(a!==t.size)return!1;if(!a)return!0;for(var s=new Array(a),i=e.entries(),o,l,c=0;(o=i.next())&&!o.done;){for(var d=t.entries(),u=!1,m=0;(l=d.next())&&!l.done;){if(s[m]){m++;continue}var h=o.value,f=l.value;if(r.equals(h[0],f[0],c,m,e,t,r)&&r.equals(h[1],f[1],h[0],f[0],e,t,r)){u=s[m]=!0;break}m++}if(!u)return!1;c++}return!0}var V3e=Oc;function q3e(e,t,r){var a=i5(e),s=a.length;if(i5(t).length!==s)return!1;for(;s-- >0;)if(!lG(e,t,r,a[s]))return!1;return!0}function Vm(e,t,r){var a=a5(e),s=a.length;if(a5(t).length!==s)return!1;for(var i,o,l;s-- >0;
797)if(i=a[s],!lG(e,t,r,i)||(o=s5(e,i),l=s5(t,i),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function H3e(e,t){return Oc(e.valueOf(),t.valueOf())}function G3e(e,t){return e.source===t.source&&e.flags===t.flags}function l5(e,t,r){var a=e.size;if(a!==t.size)return!1;if(!a)return!0;for(var s=new Array(a),i=e.values(),o,l;(o=i.next())&&!o.done;){for(var c=t.values(),d=!1,u=0;(l=c.next())&&!l.done;){if(!s[u]&&r.equals(o.value,l.value,o.value,l.value,e,t,r)){d=s[u]=!0;break}u++}if(!d)return!1}return!0}function K3e(e,t){var r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}function Y3e(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function lG(e,t,r,a){return(a===L3e||a===$3e||a===D3e)&&(e.$$typeof||t.$$typeof)?!0:F3e(t,a)&&r.equals(e[a],t[a],a,a,e,t,r)}var Z3e="[object Arguments]",Q3e="[object Boolean]",X3e="[object Date]",J3e="[object Error]",eEe="[object Map]",tEe="[object Number]",rEe="[object Object]",nEe="[object RegExp]",aEe="[object Set]",sEe="[object String]",iEe="[object URL]",oEe=Array.isArray,c5=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,d5=Object.assign,lEe=Object.prototype.toString.call.bind(Object.prototype.toString);function cEe(e){var t=e.areArraysEqual,r=e.areDatesEqual,a=e.areErrorsEqual,s=e.areFunctionsEqual,i=e.areMapsEqual,o=e.areNumbersEqual,l=e.areObjectsEqual,c=e.arePrimitiveWrappersEqual,d=e.areRegExpsEqual,u=e.areSetsEqual,m=e.areTypedArraysEqual,h=e.areUrlsEqual;return function(b,g,p){if(b===g)return!0;if(b==null||g==null)return!1;var x=typeof b;if(x!==typeof g)return!1;if(x!=="object")return x==="number"?o(b,g,p):x==="function"?s(b,g,p):!1;var v=b.constructor;if(v!==g.constructor)return!1;if(v===Object)return l(b,g,p);if(oEe(b))return t(b,g,p);if(c5!=null&&c5(b))return m(b,g,p);if(v===Date)return r(b,g,p);if(v===RegExp)return d(b,g,p);if(v===Map)return i(b,g,p);if(v===Set)return u(b,g,p);var w=lEe(b);return w===X3e?r(b,g,p):w===nEe?d(b,g,p):w===eEe?i(b,g,p):w===aEe?u(b,g,p):w===rEe?typeof b.then!="function"&&typeof g.then!="function"&&l(b,g,p):w===iEe?h(b,g,p):w===J3e?a(b,g,p):w===Z3e?l(b,g,p):w===Q3e||w===tEe||w===sEe?c(b,g,p):!1}}function dEe(e){var t=e.circular,r=e.createCustomConfig,a=e.strict,s={areArraysEqual:a?Vm:z3e,areDatesEqual:B3e,areErrorsEqual:W3e,areFunctionsEqual:U3e,areMapsEqual:a?n5(o5,Vm):o5,areNumbersEqual:V3e,areObjectsEqual:a?Vm:q3e,arePrimitiveWrappersEqual:H3e,areRegExpsEqual:G3e,areSetsEqual:a?n5(l5,Vm):l5,areTypedArraysEqual:a?Vm:K3e,areUrlsEqual:Y3e};if(r&&(s=d5({},s,r(s))),t){var i=Eg(s.areArraysEqual),o=Eg(s.areMapsEqual),l=Eg(s.areObjectsEqual),c=Eg(s.areSetsEqual);s=d5({},s,{areArraysEqual:i,areMapsEqual:o,areObjectsEqual:l,areSetsEqual:c})}return s}function uEe(e){return function(t,r,a,s,i,o,l){return e(t,r,l)}}function mEe(e){var t=e.circular,r=e.comparator,a=e.createState,s=e.equals,i=e.strict;
vendor: 162,105 bytes, lines 797-820
797if(a)return function(c,d){var u=a(),m=u.cache,h=m===void 0?t?new WeakMap:void 0:m,f=u.meta;return r(c,d,{cache:h,equals:s,meta:f,strict:i})};if(t)return function(c,d){return r(c,d,{cache:new WeakMap,equals:s,meta:void 0,strict:i})};var o={cache:void 0,equals:s,meta:void 0,strict:i};return function(c,d){return r(c,d,o)}}var hEe=bl();bl({strict:!0});bl({circular:!0});bl({circular:!0,strict:!0});bl({createInternalComparator:function(){return Oc}});bl({strict:!0,createInternalComparator:function(){return Oc}});bl({circular:!0,createInternalComparator:function(){return Oc}});bl({circular:!0,createInternalComparator:function(){return Oc},strict:!0});function bl(e){e===void 0&&(e={});var t=e.circular,r=t===void 0?!1:t,a=e.createInternalComparator,s=e.createState,i=e.strict,o=i===void 0?!1:i,l=dEe(e),c=cEe(l),d=a?a(c):uEe(c);return mEe({circular:r,comparator:c,createState:s,equals:d,strict:o})}function fEe(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function u5(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,a=function s(i){r<0&&(r=i),i-r>t?(e(i),r=-1):fEe(s)};requestAnimationFrame(a)}function hk(e){"@babel/helpers - typeof";return hk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hk(e)}function pEe(e){return vEe(e)||yEe(e)||xEe(e)||gEe()}function gEe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
798In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xEe(e,t){if(e){if(typeof e=="string")return m5(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m5(e,t)}}function m5(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function yEe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vEe(e){if(Array.isArray(e))return e}function bEe(){var e={},t=function(){return null},r=!1,a=function s(i){if(!r){if(Array.isArray(i)){if(!i.length)return;var o=i,l=pEe(o),c=l[0],d=l.slice(1);if(typeof c=="number"){u5(s.bind(null,d),c);return}s(c),u5(s.bind(null,d));return}hk(i)==="object"&&(e=i,t(e)),typeof i=="function"&&i()}};return{stop:function(){r=!0},start:function(i){r=!1,a(i)},subscribe:function(i){return t=i,function(){t=function(){return null}}}}}function Df(e){"@babel/helpers - typeof";return Df=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Df(e)}function h5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function f5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?h5(Object(r),!0).forEach(function(a){cG(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function cG(e,t,r){return t=wEe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wEe(e){var t=jEe(e,"string");return Df(t)==="symbol"?t:String(t)}function jEe(e,t){if(Df(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Df(a)!=="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var NEe=function(t,r){return[Object.keys(t),Object.keys(r)].reduce(function(a,s){return a.filter(function(i){return s.includes(i)})})},kEe=function(t){return t},SEe=function(t){return t.replace(/([A-Z])/g,function(r){return"-".concat(r.toLowerCase())})},kh=function(t,r){return Object.keys(r).reduce(function(a,s){return f5(f5({},a),{},cG({},s,t(s,r[s])))},{})},p5=function(t,r,a){return t.map(function(s){return"".concat(SEe(s)," ").concat(r,"ms ").concat(a)}).join(",")};function CEe(e,t){return AEe(e)||TEe(e,t)||dG(e,t)||PEe()}function PEe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
799In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TEe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function AEe(e){if(Array.isArray(e))return e}function EEe(e){return MEe(e)||_Ee(e)||dG(e)||IEe()}function IEe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
800In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dG(e,t){if(e){if(typeof e=="string")return fk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fk(e,t)}}function _Ee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function MEe(e){if(Array.isArray(e))return fk(e)}function fk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}var Ky=1e-4,uG=function(t,r){return[0,3*t,3*r-6*t,3*t-3*r+1]},mG=function(t,r){return t.map(function(a,s){return a*Math.pow(r,s)}).reduce(function(a,s){return a+s})},g5=function(t,r){return function(a){var s=uG(t,r);return mG(s,a)}},OEe=function(t,r){return function(a){var s=uG(t,r),i=[].concat(EEe(s.map(function(o,l){return o*l}).slice(1)),[0]);return mG(i,a)}},x5=function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];var s=r[0],i=r[1],o=r[2],l=r[3];if(r.length===1)switch(r[0]){case"linear":s=0,i=0,o=1,l=1;break;case"ease":s=.25,i=.1,o=.25,l=1;break;case"ease-in":s=.42,i=0,o=1,l=1;break;case"ease-out":s=.42,i=0,o=.58,l=1;break;case"ease-in-out":s=0,i=0,o=.58,l=1;break;default:{var c=r[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var d=c[1].split(")")[0].split(",").map(function(p){return parseFloat(p)}),u=CEe(d,4);s=u[0],i=u[1],o=u[2],l=u[3]}}}var m=g5(s,o),h=g5(i,l),f=OEe(s,o),b=function(x){return x>1?1:x<0?0:x},g=function(x){for(var v=x>1?1:x,w=v,N=0;N<8;++N){var j=m(w)-v,k=f(w);if(Math.abs(j-v)<Ky||k<Ky)return h(w);w=b(w-j/k)}return h(w)};return g.isStepper=!1,g},REe=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,a=r===void 0?100:r,s=t.damping,i=s===void 0?8:s,o=t.dt,l=o===void 0?17:o,c=function(u,m,h){var f=-(u-m)*a,b=h*i,g=h+(f-b)*l/1e3,p=h*l/1e3+u;return Math.abs(p-m)<Ky&&Math.abs(g)<Ky?[m,0]:[p,g]};return c.isStepper=!0,c.dt=l,c},FEe=function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];var s=r[0];if(typeof s=="string")switch(s){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return x5(s);case"spring":return REe();default:if(s.split("(")[0]==="cubic-bezier")return x5(s)}return typeof s=="function"?s:null};function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function y5(e){return LEe(e)||$Ee(e)||hG(e)||DEe()}function DEe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
801In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $Ee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function LEe(e){if(Array.isArray(e))return gk(e)}function v5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Kr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?v5(Object(r),!0).forEach(function(a){pk(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function pk(e,t,r){return t=zEe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zEe(e){var t=BEe(e,"string");return $f(t)==="symbol"?t:String(t)}function BEe(e,t){if($f(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if($f(a)!=="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function WEe(e,t){return qEe(e)||VEe(e,t)||hG(e,t)||UEe()}function UEe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
802In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hG(e,t){if(e){if(typeof e=="string")return gk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gk(e,t)}}function gk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function VEe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function qEe(e){if(Array.isArray(e))return e}var Yy=function(t,r,a){return t+(r-t)*a},xk=function(t){var r=t.from,a=t.to;return r!==a},HEe=function e(t,r,a){var s=kh(function(i,o){if(xk(o)){var l=t(o.from,o.to,o.velocity),c=WEe(l,2),d=c[0],u=c[1];return Kr(Kr({},o),{},{from:d,velocity:u})}return o},r);return a<1?kh(function(i,o){return xk(o)?Kr(Kr({},o),{},{velocity:Yy(o.velocity,s[i].velocity,a),from:Yy(o.from,s[i].from,a)}):o},r):e(t,s,a-1)};const GEe=function(e,t,r,a,s){var i=NEe(e,t),o=i.reduce(function(p,x){return Kr(Kr({},p),{},pk({},x,[e[x],t[x]]))},{}),l=i.reduce(function(p,x){return Kr(Kr({},p),{},pk({},x,{from:e[x],velocity:0,to:t[x]}))},{}),c=-1,d,u,m=function(){return null},h=function(){return kh(function(x,v){return v.from},l)},f=function(){return!Object.values(l).filter(xk).length},b=function(x){d||(d=x);var v=x-d,w=v/r.dt;l=HEe(r,l,w),s(Kr(Kr(Kr({},e),t),h())),d=x,f()||(c=requestAnimationFrame(m))},g=function(x){u||(u=x);var v=(x-u)/a,w=kh(function(j,k){return Yy.apply(void 0,y5(k).concat([r(v)]))},o);if(s(Kr(Kr(Kr({},e),t),w)),v<1)c=requestAnimationFrame(m);else{var N=kh(function(j,k){return Yy.apply(void 0,y5(k).concat([r(1)]))},o);s(Kr(Kr(Kr({},e),t),N))}};return m=r.isStepper?b:g,function(){return requestAnimationFrame(m),function(){cancelAnimationFrame(c)}}};function Au(e){"@babel/helpers - typeof";return Au=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Au(e)}var KEe=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function YEe(e,t){if(e==null)return{};var r=ZEe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function ZEe(e,t){if(e==null)return{};var r={},a=Object.keys(e),s,i;for(i=0;i<a.length;i++)s=a[i],!(t.indexOf(s)>=0)&&(r[s]=e[s]);return r}function cj(e){return eIe(e)||JEe(e)||XEe(e)||QEe()}function QEe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
803In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function XEe(e,t){if(e){if(typeof e=="string")return yk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yk(e,t)}}function JEe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function eIe(e){if(Array.isArray(e))return yk(e)}function yk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function b5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Ga(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?b5(Object(r),!0).forEach(function(a){nh(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function nh(e,t,r){return t=fG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tIe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rIe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,fG(a.key),a)}}function nIe(e,t,r){return t&&rIe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function fG(e){var t=aIe(e,"string");return Au(t)==="symbol"?t:String(t)}function aIe(e,t){if(Au(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Au(a)!=="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function sIe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vk(e,t)}function vk(e,t){return vk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},vk(e,t)}function iIe(e){var t=oIe();return function(){var a=Zy(e),s;if(t){var i=Zy(this).constructor;s=Reflect.construct(a,arguments,i)}else s=a.apply(this,arguments);return bk(this,s)}}function bk(e,t){if(t&&(Au(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return wk(e)}function wk(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oIe(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Zy(e){return Zy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Zy(e)}var Ki=function(e){sIe(r,e);var t=iIe(r);function r(a,s){var i;tIe(this,r),i=t.call(this,a,s);var o=i.props,l=o.isActive,c=o.attributeName,d=o.from,u=o.to,m=o.steps,h=o.children,f=o.duration;if(i.handleStyleChange=i.handleStyleChange.bind(wk(i)),i.changeStyle=i.changeStyle.bind(wk(i)),!l||f<=0)return i.state={style:{}},typeof h=="function"&&(i.state={style:u}),bk(i);if(m&&m.length)i.state={style:m[0].style};else if(d){if(typeof h=="function")return i.state={style:d},bk(i);i.state={style:c?nh({},c,d):d}}else i.state={style:{}};return i}return nIe(r,[{key:"componentDidMount",value:function(){var s=this.props,i=s.isActive,o=s.canBegin;this.mounted=!0,!(!i||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(s){var i=this.props,o=i.isActive,l=i.canBegin,c=i.attributeName,d=i.shouldReAnimate,u=i.to,m=i.from,h=this.state.style;if(l){if(!o){var f={style:c?nh({},c,u):u};this.state&&h&&(c&&h[c]!==u||!c&&h!==u)&&this.setState(f);return}if(!(hEe(s.to,u)&&s.canBegin&&s.isActive)){var b=!s.canBegin||!s.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var g=b||d?m:s.to;if(this.state&&h){var p={style:c?nh({},c,g):g};(c&&h[c]!==g||!c&&h!==g)&&this.setState(p)}this.runAnimation(Ga(Ga({},this.props),{},{from:g,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var s=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),s&&s()}},{key:"handleStyleChange",value:function(s){this.changeStyle(s)}},{key:"changeStyle",value:function(s){this.mounted&&this.setState({style:s})}},{key:"runJSAnimation",value:function(s){var i=this,o=s.from,l=s.to,c=s.duration,d=s.easing,u=s.begin,m=s.onAnimationEnd,h=s.onAnimationStart,f=GEe(o,l,FEe(d),c,this.changeStyle),b=function(){i.stopJSAnimation=f()};this.manager.start([h,u,b,c,m])}},{key:"runStepAnimation",value:function(s){var i=this,o=s.steps,l=s.begin,c=s.onAnimationStart,d=o[0],u=d.style,m=d.duration,h=m===void 0?0:m,f=function(g,p,x){if(x===0)return g;var v=p.duration,w=p.easing,N=w===void 0?"ease":w,j=p.style,k=p.properties,S=p.onAnimationEnd,C=x>0?o[x-1]:p,A=k||Object.keys(j);if(typeof N=="function"||N==="spring")return[].concat(cj(g),[i.runJSAnimation.bind(i,{from:C.style,to:j,duration:v,easing:N}),v]);var T=p5(A,v,N),E=Ga(Ga(Ga({},C.style),j),{},{transition:T});return[].concat(cj(g),[E,v,S]).filter(kEe)};return this.manager.start([c].concat(cj(o.reduce(f,[u,Math.max(h,l)])),[s.onAnimationEnd]))}},{key:"runAnimation",value:function(s){this.manager||(this.manager=bEe());var i=s.begin,o=s.duration,l=s.attributeName,c=s.to,d=s.easing,u=s.onAnimationStart,m=s.onAnimationEnd,h=s.steps,f=s.children,b=this.manager;if(this.unSubscribe=b.subscribe(this.handleStyleChange),typeof d=="function"||typeof f=="function"||d==="spring"){this.runJSAnimation(s);return}if(h.length>1){this.runStepAnimation(s);return}var g=l?nh({},l,c):c,p=p5(Object.keys(g),o,d);b.start([u,i,Ga(Ga({},g),{},{transition:p}),o,m])}},{key:"render",value:function(){var s=this.props,i=s.children;s.begin;var o=s.duration;s.attributeName,s.easing;var l=s.isActive;s.steps,s.from,s.to,s.canBegin,s.onAnimationEnd,s.shouldReAnimate,s.onAnimationReStart;var c=YEe(s,KEe),d=y.Children.count(i),u=this.state.style;if(typeof i=="function")return i(u);if(!l||d===0||o<=0)return i;var m=function(f){var b=f.props,g=b.style,p=g===void 0?{}:g,x=b.className,v=y.cloneElement(f,Ga(Ga({},c),{},{style:Ga(Ga({},p),u),className:x}));return v};return d===1?m(y.Children.only(i)):L.createElement("div",null,y.Children.map(i,function(h){return m(h)}))}}]),r}(y.PureComponent);Ki.displayName="Animate";Ki.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Ki.propTypes={from:Ct.oneOfType([Ct.object,Ct.string]),to:Ct.oneOfType([Ct.object,Ct.string]),attributeName:Ct.string,duration:Ct.number,begin:Ct.number,easing:Ct.oneOfType([Ct.string,Ct.func]),steps:Ct.arrayOf(Ct.shape({duration:Ct.number.isRequired,style:Ct.object.isRequired,easing:Ct.oneOfType([Ct.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Ct.func]),properties:Ct.arrayOf("string"),onAnimationEnd:Ct.func})),children:Ct.oneOfType([Ct.node,Ct.func]),isActive:Ct.bool,canBegin:Ct.bool,onAnimationEnd:Ct.func,shouldReAnimate:Ct.bool,onAnimationStart:Ct.func,onAnimationReStart:Ct.func};function Lf(e){"@babel/helpers - typeof";return Lf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lf(e)}function Qy(){return Qy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Qy.apply(this,arguments)}function lIe(e,t){return mIe(e)||uIe(e,t)||dIe(e,t)||cIe()}function cIe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
804In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dIe(e,t){if(e){if(typeof e=="string")return w5(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return w5(e,t)}}function w5(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function uIe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function mIe(e){if(Array.isArray(e))return e}function j5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function N5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?j5(Object(r),!0).forEach(function(a){hIe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function hIe(e,t,r){return t=fIe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fIe(e){var t=pIe(e,"string");return Lf(t)=="symbol"?t:t+""}function pIe(e,t){if(Lf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Lf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var k5=function(t,r,a,s,i){var o=Math.min(Math.abs(a)/2,Math.abs(s)/2),l=s>=0?1:-1,c=a>=0?1:-1,d=s>=0&&a>=0||s<0&&a<0?1:0,u;if(o>0&&i instanceof Array){for(var m=[0,0,0,0],h=0,f=4;h<f;h++)m[h]=i[h]>o?o:i[h];u="M".concat(t,",").concat(r+l*m[0]),m[0]>0&&(u+="A ".concat(m[0],",").concat(m[0],",0,0,").concat(d,",").concat(t+c*m[0],",").concat(r)),u+="L ".concat(t+a-c*m[1],",").concat(r),m[1]>0&&(u+="A ".concat(m[1],",").concat(m[1],",0,0,").concat(d,`,
805        `).concat(t+a,",").concat(r+l*m[1])),u+="L ".concat(t+a,",").concat(r+s-l*m[2]),m[2]>0&&(u+="A ".concat(m[2],",").concat(m[2],",0,0,").concat(d,`,
806        `).concat(t+a-c*m[2],",").concat(r+s)),u+="L ".concat(t+c*m[3],",").concat(r+s),m[3]>0&&(u+="A ".concat(m[3],",").concat(m[3],",0,0,").concat(d,`,
807        `).concat(t,",").concat(r+s-l*m[3])),u+="Z"}else if(o>0&&i===+i&&i>0){var b=Math.min(o,i);u="M ".concat(t,",").concat(r+l*b,`
808            A `).concat(b,",").concat(b,",0,0,").concat(d,",").concat(t+c*b,",").concat(r,`
809            L `).concat(t+a-c*b,",").concat(r,`
810            A `).concat(b,",").concat(b,",0,0,").concat(d,",").concat(t+a,",").concat(r+l*b,`
811            L `).concat(t+a,",").concat(r+s-l*b,`
812            A `).concat(b,",").concat(b,",0,0,").concat(d,",").concat(t+a-c*b,",").concat(r+s,`
813            L `).concat(t+c*b,",").concat(r+s,`
814            A `).concat(b,",").concat(b,",0,0,").concat(d,",").concat(t,",").concat(r+s-l*b," Z")}else u="M ".concat(t,",").concat(r," h ").concat(a," v ").concat(s," h ").concat(-a," Z");return u},gIe=function(t,r){if(!t||!r)return!1;var a=t.x,s=t.y,i=r.x,o=r.y,l=r.width,c=r.height;if(Math.abs(l)>0&&Math.abs(c)>0){var d=Math.min(i,i+l),u=Math.max(i,i+l),m=Math.min(o,o+c),h=Math.max(o,o+c);return a>=d&&a<=u&&s>=m&&s<=h}return!1},xIe={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},qP=function(t){var r=N5(N5({},xIe),t),a=y.useRef(),s=y.useState(-1),i=lIe(s,2),o=i[0],l=i[1];y.useEffect(function(){if(a.current&&a.current.getTotalLength)try{var N=a.current.getTotalLength();N&&l(N)}catch{}},[]);var c=r.x,d=r.y,u=r.width,m=r.height,h=r.radius,f=r.className,b=r.animationEasing,g=r.animationDuration,p=r.animationBegin,x=r.isAnimationActive,v=r.isUpdateAnimationActive;if(c!==+c||d!==+d||u!==+u||m!==+m||u===0||m===0)return null;var w=vt("recharts-rectangle",f);return v?L.createElement(Ki,{canBegin:o>0,from:{width:u,height:m,x:c,y:d},to:{width:u,height:m,x:c,y:d},duration:g,animationEasing:b,isActive:v},function(N){var j=N.width,k=N.height,S=N.x,C=N.y;return L.createElement(Ki,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:g,isActive:x,easing:b},L.createElement("path",Qy({},xt(r,!0),{className:w,d:k5(S,C,j,k,h),ref:a})))}):L.createElement("path",Qy({},xt(r,!0),{className:w,d:k5(c,d,u,m,h)}))};function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},jk.apply(this,arguments)}var HP=function(t){var r=t.cx,a=t.cy,s=t.r,i=t.className,o=vt("recharts-dot",i);return r===+r&&a===+a&&s===+s?L.createElement("circle",jk({},xt(t,!1),gy(t),{className:o,cx:r,cy:a,r:s})):null};function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zf(e)}var yIe=["x","y","top","left","width","height","className"];function Nk(){return Nk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Nk.apply(this,arguments)}function S5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function vIe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?S5(Object(r),!0).forEach(function(a){bIe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function bIe(e,t,r){return t=wIe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wIe(e){var t=jIe(e,"string");return zf(t)=="symbol"?t:t+""}function jIe(e,t){if(zf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(zf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function NIe(e,t){if(e==null)return{};var r=kIe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function kIe(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}var SIe=function(t,r,a,s,i,o){return"M".concat(t,",").concat(i,"v").concat(s,"M").concat(o,",").concat(r,"h").concat(a)},CIe=function(t){var r=t.x,a=r===void 0?0:r,s=t.y,i=s===void 0?0:s,o=t.top,l=o===void 0?0:o,c=t.left,d=c===void 0?0:c,u=t.width,m=u===void 0?0:u,h=t.height,f=h===void 0?0:h,b=t.className,g=NIe(t,yIe),p=vIe({x:a,y:i,top:l,left:d,width:m,height:f},g);return!we(a)||!we(i)||!we(m)||!we(f)||!we(l)||!we(d)?null:L.createElement("path",Nk({},xt(p,!0),{className:vt("recharts-cross",b),d:SIe(a,i,m,f,l,d)}))},PIe=T7,TIe=PIe(Object.getPrototypeOf,Object),AIe=TIe,EIe=Zi,IIe=AIe,_Ie=Qi,MIe="[object Object]",OIe=Function.prototype,RIe=Object.prototype,pG=OIe.toString,FIe=RIe.hasOwnProperty,DIe=pG.call(Object);function $Ie(e){if(!_Ie(e)||EIe(e)!=MIe)return!1;var t=IIe(e);if(t===null)return!0;var r=FIe.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&pG.call(r)==DIe}var LIe=$Ie;const zIe=Ft(LIe);var BIe=Zi,WIe=Qi,UIe="[object Boolean]";function VIe(e){return e===!0||e===!1||WIe(e)&&BIe(e)==UIe}var qIe=VIe;const HIe=Ft(qIe);function Bf(e){"@babel/helpers - typeof";return Bf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bf(e)}function Xy(){return Xy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Xy.apply(this,arguments)}function GIe(e,t){return QIe(e)||ZIe(e,t)||YIe(e,t)||KIe()}function KIe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
815In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YIe(e,t){if(e){if(typeof e=="string")return C5(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return C5(e,t)}}function C5(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function ZIe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function QIe(e){if(Array.isArray(e))return e}function P5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function T5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?P5(Object(r),!0).forEach(function(a){XIe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function XIe(e,t,r){return t=JIe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function JIe(e){var t=e_e(e,"string");return Bf(t)=="symbol"?t:t+""}function e_e(e,t){if(Bf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Bf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var A5=function(t,r,a,s,i){var o=a-s,l;return l="M ".concat(t,",").concat(r),l+="L ".concat(t+a,",").concat(r),l+="L ".concat(t+a-o/2,",").concat(r+i),l+="L ".concat(t+a-o/2-s,",").concat(r+i),l+="L ".concat(t,",").concat(r," Z"),l},t_e={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},r_e=function(t){var r=T5(T5({},t_e),t),a=y.useRef(),s=y.useState(-1),i=GIe(s,2),o=i[0],l=i[1];y.useEffect(function(){if(a.current&&a.current.getTotalLength)try{var w=a.current.getTotalLength();w&&l(w)}catch{}},[]);var c=r.x,d=r.y,u=r.upperWidth,m=r.lowerWidth,h=r.height,f=r.className,b=r.animationEasing,g=r.animationDuration,p=r.animationBegin,x=r.isUpdateAnimationActive;if(c!==+c||d!==+d||u!==+u||m!==+m||h!==+h||u===0&&m===0||h===0)return null;var v=vt("recharts-trapezoid",f);return x?L.createElement(Ki,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:d},to:{upperWidth:u,lowerWidth:m,height:h,x:c,y:d},duration:g,animationEasing:b,isActive:x},function(w){var N=w.upperWidth,j=w.lowerWidth,k=w.height,S=w.x,C=w.y;return L.createElement(Ki,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:g,easing:b},L.createElement("path",Xy({},xt(r,!0),{className:v,d:A5(S,C,N,j,k),ref:a})))}):L.createElement("g",null,L.createElement("path",Xy({},xt(r,!0),{className:v,d:A5(c,d,u,m,h)})))},n_e=["option","shapeType","propTransformer","activeClassName","isActive"];function Wf(e){"@babel/helpers - typeof";return Wf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wf(e)}function a_e(e,t){if(e==null)return{};var r=s_e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function s_e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function E5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Jy(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?E5(Object(r),!0).forEach(function(a){i_e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function i_e(e,t,r){return t=o_e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o_e(e){var t=l_e(e,"string");return Wf(t)=="symbol"?t:t+""}function l_e(e,t){if(Wf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Wf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function c_e(e,t){return Jy(Jy({},t),e)}function d_e(e,t){return e==="symbols"}function I5(e){var t=e.shapeType,r=e.elementProps;switch(t){case"rectangle":return L.createElement(qP,r);case"trapezoid":return L.createElement(r_e,r);case"sector":return L.createElement(aG,r);case"symbols":if(d_e(t))return L.createElement(dP,r);break;default:return null}}function u_e(e){return y.isValidElement(e)?e.props:e}function m_e(e){var t=e.option,r=e.shapeType,a=e.propTransformer,s=a===void 0?c_e:a,i=e.activeClassName,o=i===void 0?"recharts-active-shape":i,l=e.isActive,c=a_e(e,n_e),d;if(y.isValidElement(t))d=y.cloneElement(t,Jy(Jy({},c),u_e(t)));else if(ot(t))d=t(c);else if(zIe(t)&&!HIe(t)){var u=s(t,c);d=L.createElement(I5,{shapeType:r,elementProps:u})}else{var m=c;d=L.createElement(I5,{shapeType:r,elementProps:m})}return l?L.createElement(jr,{className:o},d):d}function d0(e,t){return t!=null&&"trapezoids"in e.props}function u0(e,t){return t!=null&&"sectors"in e.props}function Uf(e,t){return t!=null&&"points"in e.props}function h_e(e,t){var r,a,s=e.x===(t==null||(r=t.labelViewBox)===null||r===void 0?void 0:r.x)||e.x===t.x,i=e.y===(t==null||(a=t.labelViewBox)===null||a===void 0?void 0:a.y)||e.y===t.y;return s&&i}function f_e(e,t){var r=e.endAngle===t.endAngle,a=e.startAngle===t.startAngle;return r&&a}function p_e(e,t){var r=e.x===t.x,a=e.y===t.y,s=e.z===t.z;return r&&a&&s}function g_e(e,t){var r;return d0(e,t)?r=h_e:u0(e,t)?r=f_e:Uf(e,t)&&(r=p_e),r}function x_e(e,t){var r;return d0(e,t)?r="trapezoids":u0(e,t)?r="sectors":Uf(e,t)&&(r="points"),r}function y_e(e,t){if(d0(e,t)){var r;return(r=t.tooltipPayload)===null||r===void 0||(r=r[0])===null||r===void 0||(r=r.payload)===null||r===void 0?void 0:r.payload}if(u0(e,t)){var a;return(a=t.tooltipPayload)===null||a===void 0||(a=a[0])===null||a===void 0||(a=a.payload)===null||a===void 0?void 0:a.payload}return Uf(e,t)?t.payload:{}}function v_e(e){var t=e.activeTooltipItem,r=e.graphicalItem,a=e.itemData,s=x_e(r,t),i=y_e(r,t),o=a.filter(function(c,d){var u=o0(i,c),m=r.props[s].filter(function(b){var g=g_e(r,t);return g(b,t)}),h=r.props[s].indexOf(m[m.length-1]),f=d===h;return u&&f}),l=a.indexOf(o[o.length-1]);return l}var b_e=Math.ceil,w_e=Math.max;function j_e(e,t,r,a){for(var s=-1,i=w_e(b_e((t-e)/(r||1)),0),o=Array(i);i--;)o[a?i:++s]=e,e+=r;return o}var N_e=j_e,k_e=G7,_5=1/0,S_e=17976931348623157e292;function C_e(e){if(!e)return e===0?e:0;if(e=k_e(e),e===_5||e===-_5){var t=e<0?-1:1;return t*S_e}return e===e?e:0}var gG=C_e,P_e=N_e,T_e=Xb,dj=gG;function A_e(e){return function(t,r,a){return a&&typeof a!="number"&&T_e(t,r,a)&&(r=a=void 0),t=dj(t),r===void 0?(r=t,t=0):r=dj(r),a=a===void 0?t<r?1:-1:dj(a),P_e(t,r,a,e)}}var E_e=A_e,I_e=E_e,__e=I_e(),M_e=__e;const ev=Ft(M_e);function Vf(e){"@babel/helpers - typeof";return Vf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vf(e)}function M5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function O5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?M5(Object(r),!0).forEach(function(a){xG(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):M5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function xG(e,t,r){return t=O_e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function O_e(e){var t=R_e(e,"string");return Vf(t)=="symbol"?t:t+""}function R_e(e,t){if(Vf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Vf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var F_e=["Webkit","Moz","O","ms"],D_e=function(t,r){var a=t.replace(/(\w)/,function(i){return i.toUpperCase()}),s=F_e.reduce(function(i,o){return O5(O5({},i),{},xG({},o+a,r))},{});return s[t]=r,s};function Eu(e){"@babel/helpers - typeof";return Eu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eu(e)}function tv(){return tv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},tv.apply(this,arguments)}function R5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function uj(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?R5(Object(r),!0).forEach(function(a){Jn(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function $_e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function F5(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,vG(a.key),a)}}function L_e(e,t,r){return t&&F5(e.prototype,t),r&&F5(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function z_e(e,t,r){return t=rv(t),B_e(e,yG()?Reflect.construct(t,r||[],rv(e).constructor):t.apply(e,r))}function B_e(e,t){if(t&&(Eu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return W_e(e)}function W_e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(yG=function(){return!!e})()}function rv(e){return rv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},rv(e)}function U_e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&kk(e,t)}function kk(e,t){return kk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},kk(e,t)}function Jn(e,t,r){return t=vG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function vG(e){var t=V_e(e,"string");return Eu(t)=="symbol"?t:t+""}function V_e(e,t){if(Eu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Eu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var q_e=function(t){var r=t.data,a=t.startIndex,s=t.endIndex,i=t.x,o=t.width,l=t.travellerWidth;if(!r||!r.length)return{};var c=r.length,d=jh().domain(ev(0,c)).range([i,i+o-l]),u=d.domain().map(function(m){return d(m)});return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:d(a),endX:d(s),scale:d,scaleValues:u}},D5=function(t){return t.changedTouches&&!!t.changedTouches.length},Iu=function(e){function t(r){var a;return $_e(this,t),a=z_e(this,t,[r]),Jn(a,"handleDrag",function(s){a.leaveTimer&&(clearTimeout(a.leaveTimer),a.leaveTimer=null),a.state.isTravellerMoving?a.handleTravellerMove(s):a.state.isSlideMoving&&a.handleSlideDrag(s)}),Jn(a,"handleTouchMove",function(s){s.changedTouches!=null&&s.changedTouches.length>0&&a.handleDrag(s.changedTouches[0])}),Jn(a,"handleDragEnd",function(){a.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var s=a.props,i=s.endIndex,o=s.onDragEnd,l=s.startIndex;o==null||o({endIndex:i,startIndex:l})}),a.detachDragEndListener()}),Jn(a,"handleLeaveWrapper",function(){(a.state.isTravellerMoving||a.state.isSlideMoving)&&(a.leaveTimer=window.setTimeout(a.handleDragEnd,a.props.leaveTimeOut))}),Jn(a,"handleEnterSlideOrTraveller",function(){a.setState({isTextActive:!0})}),Jn(a,"handleLeaveSlideOrTraveller",function(){a.setState({isTextActive:!1})}),Jn(a,"handleSlideDragStart",function(s){var i=D5(s)?s.changedTouches[0]:s;a.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),a.attachDragEndListener()}),a.travellerDragStartHandlers={startX:a.handleTravellerDragStart.bind(a,"startX"),endX:a.handleTravellerDragStart.bind(a,"endX")},a.state={},a}return U_e(t,e),L_e(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(a){var s=a.startX,i=a.endX,o=this.state.scaleValues,l=this.props,c=l.gap,d=l.data,u=d.length-1,m=Math.min(s,i),h=Math.max(s,i),f=t.getIndexInRange(o,m),b=t.getIndexInRange(o,h);return{startIndex:f-f%c,endIndex:b===u?u:b-b%c}}},{key:"getTextOfTick",value:function(a){var s=this.props,i=s.data,o=s.tickFormatter,l=s.dataKey,c=xa(i[a],l,a);return ot(o)?o(c,a):c}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(a){var s=this.state,i=s.slideMoveStartX,o=s.startX,l=s.endX,c=this.props,d=c.x,u=c.width,m=c.travellerWidth,h=c.startIndex,f=c.endIndex,b=c.onChange,g=a.pageX-i;g>0?g=Math.min(g,d+u-m-l,d+u-m-o):g<0&&(g=Math.max(g,d-o,d-l));var p=this.getIndex({startX:o+g,endX:l+g});(p.startIndex!==h||p.endIndex!==f)&&b&&b(p),this.setState({startX:o+g,endX:l+g,slideMoveStartX:a.pageX})}},{key:"handleTravellerDragStart",value:function(a,s){var i=D5(s)?s.changedTouches[0]:s;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:a,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(a){var s=this.state,i=s.brushMoveStartX,o=s.movingTravellerId,l=s.endX,c=s.startX,d=this.state[o],u=this.props,m=u.x,h=u.width,f=u.travellerWidth,b=u.onChange,g=u.gap,p=u.data,x={startX:this.state.startX,endX:this.state.endX},v=a.pageX-i;v>0?v=Math.min(v,m+h-f-d):v<0&&(v=Math.max(v,m-d)),x[o]=d+v;var w=this.getIndex(x),N=w.startIndex,j=w.endIndex,k=function(){var C=p.length-1;return o==="startX"&&(l>c?N%g===0:j%g===0)||l<c&&j===C||o==="endX"&&(l>c?j%g===0:N%g===0)||l>c&&j===C};this.setState(Jn(Jn({},o,d+v),"brushMoveStartX",a.pageX),function(){b&&k()&&b(w)})}},{key:"handleTravellerMoveKeyboard",value:function(a,s){var i=this,o=this.state,l=o.scaleValues,c=o.startX,d=o.endX,u=this.state[s],m=l.indexOf(u);if(m!==-1){var h=m+a;if(!(h===-1||h>=l.length)){var f=l[h];s==="startX"&&f>=d||s==="endX"&&f<=c||this.setState(Jn({},s,f),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var a=this.props,s=a.x,i=a.y,o=a.width,l=a.height,c=a.fill,d=a.stroke;return L.createElement("rect",{stroke:d,fill:c,x:s,y:i,width:o,height:l})}},{key:"renderPanorama",value:function(){var a=this.props,s=a.x,i=a.y,o=a.width,l=a.height,c=a.data,d=a.children,u=a.padding,m=y.Children.only(d);return m?L.cloneElement(m,{x:s,y:i,width:o,height:l,margin:u,compact:!0,data:c}):null}},{key:"renderTravellerLayer",value:function(a,s){var i,o,l=this,c=this.props,d=c.y,u=c.travellerWidth,m=c.height,h=c.traveller,f=c.ariaLabel,b=c.data,g=c.startIndex,p=c.endIndex,x=Math.max(a,this.props.x),v=uj(uj({},xt(this.props,!1)),{},{x,y:d,width:u,height:m}),w=f||"Min value: ".concat((i=b[g])===null||i===void 0?void 0:i.name,", Max value: ").concat((o=b[p])===null||o===void 0?void 0:o.name);return L.createElement(jr,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":a,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[s],onTouchStart:this.travellerDragStartHandlers[s],onKeyDown:function(j){["ArrowLeft","ArrowRight"].includes(j.key)&&(j.preventDefault(),j.stopPropagation(),l.handleTravellerMoveKeyboard(j.key==="ArrowRight"?1:-1,s))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(h,v))}},{key:"renderSlide",value:function(a,s){var i=this.props,o=i.y,l=i.height,c=i.stroke,d=i.travellerWidth,u=Math.min(a,s)+d,m=Math.max(Math.abs(s-a)-d,0);return L.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:c,fillOpacity:.2,x:u,y:o,width:m,height:l})}},{key:"renderText",value:function(){var a=this.props,s=a.startIndex,i=a.endIndex,o=a.y,l=a.height,c=a.travellerWidth,d=a.stroke,u=this.state,m=u.startX,h=u.endX,f=5,b={pointerEvents:"none",fill:d};return L.createElement(jr,{className:"recharts-brush-texts"},L.createElement(Iy,tv({textAnchor:"end",verticalAnchor:"middle",x:Math.min(m,h)-f,y:o+l/2},b),this.getTextOfTick(s)),L.createElement(Iy,tv({textAnchor:"start",verticalAnchor:"middle",x:Math.max(m,h)+c+f,y:o+l/2},b),this.getTextOfTick(i)))}},{key:"render",value:function(){var a=this.props,s=a.data,i=a.className,o=a.children,l=a.x,c=a.y,d=a.width,u=a.height,m=a.alwaysShowText,h=this.state,f=h.startX,b=h.endX,g=h.isTextActive,p=h.isSlideMoving,x=h.isTravellerMoving,v=h.isTravellerFocused;if(!s||!s.length||!we(l)||!we(c)||!we(d)||!we(u)||d<=0||u<=0)return null;var w=vt("recharts-brush",i),N=L.Children.count(o)===1,j=D_e("userSelect","none");return L.createElement(jr,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:j},this.renderBackground(),N&&this.renderPanorama(),this.renderSlide(f,b),this.renderTravellerLayer(f,"startX"),this.renderTravellerLayer(b,"endX"),(g||p||x||v||m)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(a){var s=a.x,i=a.y,o=a.width,l=a.height,c=a.stroke,d=Math.floor(i+l/2)-1;return L.createElement(L.Fragment,null,L.createElement("rect",{x:s,y:i,width:o,height:l,fill:c,stroke:"none"}),L.createElement("line",{x1:s+1,y1:d,x2:s+o-1,y2:d,fill:"none",stroke:"#fff"}),L.createElement("line",{x1:s+1,y1:d+2,x2:s+o-1,y2:d+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(a,s){var i;return L.isValidElement(a)?i=L.cloneElement(a,s):ot(a)?i=a(s):i=t.renderDefaultTraveller(s),i}},{key:"getDerivedStateFromProps",value:function(a,s){var i=a.data,o=a.width,l=a.x,c=a.travellerWidth,d=a.updateId,u=a.startIndex,m=a.endIndex;if(i!==s.prevData||d!==s.prevUpdateId)return uj({prevData:i,prevTravellerWidth:c,prevUpdateId:d,prevX:l,prevWidth:o},i&&i.length?q_e({data:i,width:o,x:l,travellerWidth:c,startIndex:u,endIndex:m}):{scale:null,scaleValues:null});if(s.scale&&(o!==s.prevWidth||l!==s.prevX||c!==s.prevTravellerWidth)){s.scale.range([l,l+o-c]);var h=s.scale.domain().map(function(f){return s.scale(f)});return{prevData:i,prevTravellerWidth:c,prevUpdateId:d,prevX:l,prevWidth:o,startX:s.scale(a.startIndex),endX:s.scale(a.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(a,s){for(var i=a.length,o=0,l=i-1;l-o>1;){var c=Math.floor((o+l)/2);a[c]>s?l=c:o=c}return s>=a[l]?l:o}}])}(y.PureComponent);Jn(Iu,"displayName","Brush");Jn(Iu,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var H_e=xP;function G_e(e,t){var r;return H_e(e,function(a,s,i){return r=t(a,s,i),!r}),!!r}var K_e=G_e,Y_e=b7,Z_e=xl,Q_e=K_e,X_e=Zn,J_e=Xb;function e5e(e,t,r){var a=X_e(e)?Y_e:Q_e;return r&&J_e(e,t,r)&&(t=void 0),a(e,Z_e(t))}var t5e=e5e;const r5e=Ft(t5e);var Us=function(t,r){var a=t.alwaysShow,s=t.ifOverflow;return a&&(s="extendDomain"),s===r},$5=W7;function n5e(e,t,r){t=="__proto__"&&$5?$5(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var a5e=n5e,s5e=a5e,i5e=z7,o5e=xl;function l5e(e,t){var r={};return t=o5e(t),i5e(e,function(a,s,i){s5e(r,s,t(a,s,i))}),r}var c5e=l5e;const d5e=Ft(c5e);function u5e(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(!t(e[r],r,e))return!1;return!0}var m5e=u5e,h5e=xP;function f5e(e,t){var r=!0;return h5e(e,function(a,s,i){return r=!!t(a,s,i),r}),r}var p5e=f5e,g5e=m5e,x5e=p5e,y5e=xl,v5e=Zn,b5e=Xb;function w5e(e,t,r){var a=v5e(e)?g5e:x5e;return r&&b5e(e,t,r)&&(t=void 0),a(e,y5e(t))}var j5e=w5e;const bG=Ft(j5e);var N5e=["x","y"];function qf(e){"@babel/helpers - typeof";return qf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qf(e)}function Sk(){return Sk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Sk.apply(this,arguments)}function L5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function qm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?L5(Object(r),!0).forEach(function(a){k5e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function k5e(e,t,r){return t=S5e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S5e(e){var t=C5e(e,"string");return qf(t)=="symbol"?t:t+""}function C5e(e,t){if(qf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(qf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function P5e(e,t){if(e==null)return{};var r=T5e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function T5e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function A5e(e,t){var r=e.x,a=e.y,s=P5e(e,N5e),i="".concat(r),o=parseInt(i,10),l="".concat(a),c=parseInt(l,10),d="".concat(t.height||s.height),u=parseInt(d,10),m="".concat(t.width||s.width),h=parseInt(m,10);return qm(qm(qm(qm(qm({},t),s),o?{x:o}:{}),c?{y:c}:{}),{},{height:u,width:h,name:t.name,radius:t.radius})}function z5(e){return L.createElement(m_e,Sk({shapeType:"rectangle",propTransformer:A5e,activeClassName:"recharts-active-bar"},e))}var E5e=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(a,s){if(typeof t=="number")return t;var i=typeof a=="number";return i?t(a,s):(i||gc(),r)}},I5e=["value","background"],wG;function _u(e){"@babel/helpers - typeof";return _u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_u(e)}function _5e(e,t){if(e==null)return{};var r=M5e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function M5e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function nv(){return nv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},nv.apply(this,arguments)}function B5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function kr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?B5(Object(r),!0).forEach(function(a){Ao(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function O5e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function W5(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,NG(a.key),a)}}function R5e(e,t,r){return t&&W5(e.prototype,t),r&&W5(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function F5e(e,t,r){return t=av(t),D5e(e,jG()?Reflect.construct(t,r||[],av(e).constructor):t.apply(e,r))}function D5e(e,t){if(t&&(_u(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $5e(e)}function $5e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jG=function(){return!!e})()}function av(e){return av=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},av(e)}function L5e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ck(e,t)}function Ck(e,t){return Ck=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Ck(e,t)}function Ao(e,t,r){return t=NG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function NG(e){var t=z5e(e,"string");return _u(t)=="symbol"?t:t+""}function z5e(e,t){if(_u(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(_u(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var wl=function(e){function t(){var r;O5e(this,t);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return r=F5e(this,t,[].concat(s)),Ao(r,"state",{isAnimationFinished:!1}),Ao(r,"id",Tp("recharts-bar-")),Ao(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),o&&o()}),Ao(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),o&&o()}),r}return L5e(t,e),R5e(t,[{key:"renderRectanglesStatically",value:function(a){var s=this,i=this.props,o=i.shape,l=i.dataKey,c=i.activeIndex,d=i.activeBar,u=xt(this.props,!1);return a&&a.map(function(m,h){var f=h===c,b=f?d:o,g=kr(kr(kr({},u),m),{},{isActive:f,option:b,index:h,dataKey:l,onAnimationStart:s.handleAnimationStart,onAnimationEnd:s.handleAnimationEnd});return L.createElement(jr,nv({className:"recharts-bar-rectangle"},xy(s.props,m,h),{key:"rectangle-".concat(m==null?void 0:m.x,"-").concat(m==null?void 0:m.y,"-").concat(m==null?void 0:m.value,"-").concat(h)}),L.createElement(z5,g))})}},{key:"renderRectanglesWithAnimation",value:function(){var a=this,s=this.props,i=s.data,o=s.layout,l=s.isAnimationActive,c=s.animationBegin,d=s.animationDuration,u=s.animationEasing,m=s.animationId,h=this.state.prevData;return L.createElement(Ki,{begin:c,duration:d,isActive:l,easing:u,from:{t:0},to:{t:1},key:"bar-".concat(m),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(f){var b=f.t,g=i.map(function(p,x){var v=h&&h[x];if(v){var w=as(v.x,p.x),N=as(v.y,p.y),j=as(v.width,p.width),k=as(v.height,p.height);return kr(kr({},p),{},{x:w(b),y:N(b),width:j(b),height:k(b)})}if(o==="horizontal"){var S=as(0,p.height),C=S(b);return kr(kr({},p),{},{y:p.y+p.height-C,height:C})}var A=as(0,p.width),T=A(b);return kr(kr({},p),{},{width:T})});return L.createElement(jr,null,a.renderRectanglesStatically(g))})}},{key:"renderRectangles",value:function(){var a=this.props,s=a.data,i=a.isAnimationActive,o=this.state.prevData;return i&&s&&s.length&&(!o||!o0(o,s))?this.renderRectanglesWithAnimation():this.renderRectanglesStatically(s)}},{key:"renderBackground",value:function(){var a=this,s=this.props,i=s.data,o=s.dataKey,l=s.activeIndex,c=xt(this.props.background,!1);return i.map(function(d,u){d.value;var m=d.background,h=_5e(d,I5e);if(!m)return null;var f=kr(kr(kr(kr(kr({},h),{},{fill:"#eee"},m),c),xy(a.props,d,u)),{},{onAnimationStart:a.handleAnimationStart,onAnimationEnd:a.handleAnimationEnd,dataKey:o,index:u,className:"recharts-bar-background-rectangle"});return L.createElement(z5,nv({key:"background-bar-".concat(u),option:a.props.background,isActive:u===l},f))})}},{key:"renderErrorBar",value:function(a,s){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,o=i.data,l=i.xAxis,c=i.yAxis,d=i.layout,u=i.children,m=$a(u,Op);if(!m)return null;var h=d==="vertical"?o[0].height/2:o[0].width/2,f=function(p,x){var v=Array.isArray(p.value)?p.value[1]:p.value;return{x:p.x,y:p.y,value:v,errorVal:xa(p,x)}},b={clipPath:a?"url(#clipPath-".concat(s,")"):null};return L.createElement(jr,b,m.map(function(g){return L.cloneElement(g,{key:"error-bar-".concat(s,"-").concat(g.props.dataKey),data:o,xAxis:l,yAxis:c,layout:d,offset:h,dataPointFormatter:f})}))}},{key:"render",value:function(){var a=this.props,s=a.hide,i=a.data,o=a.className,l=a.xAxis,c=a.yAxis,d=a.left,u=a.top,m=a.width,h=a.height,f=a.isAnimationActive,b=a.background,g=a.id;if(s||!i||!i.length)return null;var p=this.state.isAnimationFinished,x=vt("recharts-bar",o),v=l&&l.allowDataOverflow,w=c&&c.allowDataOverflow,N=v||w,j=pt(g)?this.id:g;return L.createElement(jr,{className:x},v||w?L.createElement("defs",null,L.createElement("clipPath",{id:"clipPath-".concat(j)},L.createElement("rect",{x:v?d:d-m/2,y:w?u:u-h/2,width:v?m:m*2,height:w?h:h*2}))):null,L.createElement(jr,{className:"recharts-bar-rectangles",clipPath:N?"url(#clipPath-".concat(j,")"):null},b?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(N,j),(!f||p)&&Uo.renderCallByParent(this.props,i))}}],[{key:"getDerivedStateFromProps",value:function(a,s){return a.animationId!==s.prevAnimationId?{prevAnimationId:a.animationId,curData:a.data,prevData:s.curData}:a.data!==s.curData?{curData:a.data}:null}}])}(y.PureComponent);wG=wl;Ao(wl,"displayName","Bar");Ao(wl,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!Ai.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});Ao(wl,"getComposedData",function(e){var t=e.props,r=e.item,a=e.barPosition,s=e.bandSize,i=e.xAxis,o=e.yAxis,l=e.xAxisTicks,c=e.yAxisTicks,d=e.stackedData,u=e.dataStartIndex,m=e.displayedData,h=e.offset,f=g4e(a,r);if(!f)return null;var b=t.layout,g=r.type.defaultProps,p=g!==void 0?kr(kr({},g),r.props):r.props,x=p.dataKey,v=p.children,w=p.minPointSize,N=b==="horizontal"?o:i,j=d?N.scale.domain():null,k=k4e({numericAxis:N}),S=$a(v,Y7),C=m.map(function(A,T){var E,I,R,P,M,O;d?E=x4e(d[u+T],j):(E=xa(A,x),Array.isArray(E)||(E=[k,E]));var $=E5e(w,wG.defaultProps.minPointSize)(E[1],T);if(b==="horizontal"){var _,F=[o.scale(E[0]),o.scale(E[1])],U=F[0],Z=F[1];I=B_({axis:i,ticks:l,bandSize:s,offset:f.offset,entry:A,index:T}),R=(_=Z??U)!==null&&_!==void 0?_:void 0,P=f.size;var H=U-Z;if(M=Number.isNaN(H)?0:H,O={x:I,y:o.y,width:P,height:o.height},Math.abs($)>0&&Math.abs(M)<Math.abs($)){var Q=ds(M||$)*(Math.abs($)-Math.abs(M));R-=Q,M+=Q}}else{var B=[i.scale(E[0]),i.scale(E[1])],se=B[0],ye=B[1];if(I=se,R=B_({axis:o,ticks:c,bandSize:s,offset:f.offset,entry:A,index:T}),P=ye-se,M=f.size,O={x:i.x,y:R,width:i.width,height:M},Math.abs($)>0&&Math.abs(P)<Math.abs($)){var ne=ds(P||$)*(Math.abs($)-Math.abs(P));P+=ne}}return kr(kr(kr({},A),{},{x:I,y:R,width:P,height:M,value:d?E:E[1],payload:A,background:O},S&&S[T]&&S[T].props),{},{tooltipPayload:[tG(r,A)],tooltipPosition:{x:I+P/2,y:R+M/2}})});return kr({data:C,layout:b},h)});function Hf(e){"@babel/helpers - typeof";return Hf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hf(e)}function B5e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function U5(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,kG(a.key),a)}}function W5e(e,t,r){return t&&U5(e.prototype,t),r&&U5(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function V5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function es(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?V5(Object(r),!0).forEach(function(a){m0(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function m0(e,t,r){return t=kG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kG(e){var t=U5e(e,"string");return Hf(t)=="symbol"?t:t+""}function U5e(e,t){if(Hf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Hf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var SG=function(t,r,a,s,i){var o=t.width,l=t.height,c=t.layout,d=t.children,u=Object.keys(r),m={left:a.left,leftMirror:a.left,right:o-a.right,rightMirror:o-a.right,top:a.top,topMirror:a.top,bottom:l-a.bottom,bottomMirror:l-a.bottom},h=!!ra(d,wl);return u.reduce(function(f,b){var g=r[b],p=g.orientation,x=g.domain,v=g.padding,w=v===void 0?{}:v,N=g.mirror,j=g.reversed,k="".concat(p).concat(N?"Mirror":""),S,C,A,T,E;if(g.type==="number"&&(g.padding==="gap"||g.padding==="no-gap")){var I=x[1]-x[0],R=1/0,P=g.categoricalDomain.sort();if(P.forEach(function(B,se){se>0&&(R=Math.min((B||0)-(P[se-1]||0),R))}),Number.isFinite(R)){var M=R/I,O=g.layout==="vertical"?a.height:a.width;if(g.padding==="gap"&&(S=M*O/2),g.padding==="no-gap"){var $=fc(t.barCategoryGap,M*O),_=M*O/2;S=_-$-(_-$)/O*$}}}s==="xAxis"?C=[a.left+(w.left||0)+(S||0),a.left+a.width-(w.right||0)-(S||0)]:s==="yAxis"?C=c==="horizontal"?[a.top+a.height-(w.bottom||0),a.top+(w.top||0)]:[a.top+(w.top||0)+(S||0),a.top+a.height-(w.bottom||0)-(S||0)]:C=g.range,j&&(C=[C[1],C[0]]);var F=f4e(g,i,h),U=F.scale,Z=F.realScaleType;U.domain(x).range(C),p4e(U);var H=N4e(U,es(es({},g),{},{realScaleType:Z}));s==="xAxis"?(E=p==="top"&&!N||p==="bottom"&&N,A=a.left,T=m[k]-E*g.height):s==="yAxis"&&(E=p==="left"&&!N||p==="right"&&N,A=m[k]-E*g.width,T=a.top);var Q=es(es(es({},g),H),{},{realScaleType:Z,x:A,y:T,scale:U,width:s==="xAxis"?a.width:g.width,height:s==="yAxis"?a.height:g.height});return Q.bandSize=qy(Q,H),!g.hide&&s==="xAxis"?m[k]+=(E?-1:1)*Q.height:g.hide||(m[k]+=(E?-1:1)*Q.width),es(es({},f),{},m0({},b,Q))},{})},CG=function(t,r){var a=t.x,s=t.y,i=r.x,o=r.y;return{x:Math.min(a,i),y:Math.min(s,o),width:Math.abs(i-a),height:Math.abs(o-s)}},V5e=function(t){var r=t.x1,a=t.y1,s=t.x2,i=t.y2;return CG({x:r,y:a},{x:s,y:i})},PG=function(){function e(t){B5e(this,e),this.scale=t}return W5e(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=a.bandAware,i=a.position;if(r!==void 0){if(i)switch(i){case"start":return this.scale(r);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+o}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(r)+l}default:return this.scale(r)}if(s){var c=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+c}return this.scale(r)}}},{key:"isInRange",value:function(r){var a=this.range(),s=a[0],i=a[a.length-1];return s<=i?r>=s&&r<=i:r>=i&&r<=s}}],[{key:"create",value:function(r){return new e(r)}}])}();m0(PG,"EPS",1e-4);var GP=function(t){var r=Object.keys(t).reduce(function(a,s){return es(es({},a),{},m0({},s,PG.create(t[s])))},{});return es(es({},r),{},{apply:function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=i.bandAware,l=i.position;return d5e(s,function(c,d){return r[d].apply(c,{bandAware:o,position:l})})},isInRange:function(s){return bG(s,function(i,o){return r[o].isInRange(i)})}})};function q5e(e){return(e%180+180)%180}var H5e=function(t){var r=t.width,a=t.height,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=q5e(s),o=i*Math.PI/180,l=Math.atan(a/r),c=o>l&&o<Math.PI-l?a/Math.sin(o):r/Math.cos(o);return Math.abs(c)},G5e=xl,K5e=Ap,Y5e=Zb;function Z5e(e){return function(t,r,a){var s=Object(t);if(!K5e(t)){var i=G5e(r);t=Y5e(t),r=function(l){return i(s[l],l,s)}}var o=e(t,r,a);return o>-1?s[i?t[o]:o]:void 0}}var Q5e=Z5e,X5e=gG;function J5e(e){var t=X5e(e),r=t%1;return t===t?r?t-r:t:0}var eMe=J5e,tMe=O7,rMe=xl,nMe=eMe,aMe=Math.max;function sMe(e,t,r){var a=e==null?0:e.length;if(!a)return-1;var s=r==null?0:nMe(r);return s<0&&(s=aMe(a+s,0)),tMe(e,rMe(t),s)}var iMe=sMe,oMe=Q5e,lMe=iMe,cMe=oMe(lMe),dMe=cMe;const uMe=Ft(dMe);var mMe=Jge(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),KP=y.createContext(void 0),YP=y.createContext(void 0),TG=y.createContext(void 0),AG=y.createContext({}),EG=y.createContext(void 0),IG=y.createContext(0),_G=y.createContext(0),q5=function(t){var r=t.state,a=r.xAxisMap,s=r.yAxisMap,i=r.offset,o=t.clipPathId,l=t.children,c=t.width,d=t.height,u=mMe(i);return L.createElement(KP.Provider,{value:a},L.createElement(YP.Provider,{value:s},L.createElement(AG.Provider,{value:i},L.createElement(TG.Provider,{value:u},L.createElement(EG.Provider,{value:o},L.createElement(IG.Provider,{value:d},L.createElement(_G.Provider,{value:c},l)))))))},hMe=function(){return y.useContext(EG)},MG=function(t){var r=y.useContext(KP);r==null&&gc();var a=r[t];return a==null&&gc(),a},fMe=function(){var t=y.useContext(KP);return po(t)},pMe=function(){var t=y.useContext(YP),r=uMe(t,function(a){return bG(a.domain,Number.isFinite)});return r||po(t)},OG=function(t){var r=y.useContext(YP);r==null&&gc();var a=r[t];return a==null&&gc(),a},gMe=function(){var t=y.useContext(TG);return t},xMe=function(){return y.useContext(AG)},ZP=function(){return y.useContext(_G)},QP=function(){return y.useContext(IG)};function Mu(e){"@babel/helpers - typeof";return Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mu(e)}function yMe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vMe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,FG(a.key),a)}}function bMe(e,t,r){return t&&vMe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function wMe(e,t,r){return t=sv(t),jMe(e,RG()?Reflect.construct(t,r||[],sv(e).constructor):t.apply(e,r))}function jMe(e,t){if(t&&(Mu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return NMe(e)}function NMe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function RG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(RG=function(){return!!e})()}function sv(e){return sv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},sv(e)}function kMe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Pk(e,t)}function Pk(e,t){return Pk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Pk(e,t)}function H5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function G5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?H5(Object(r),!0).forEach(function(a){XP(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function XP(e,t,r){return t=FG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function FG(e){var t=SMe(e,"string");return Mu(t)=="symbol"?t:t+""}function SMe(e,t){if(Mu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Mu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function CMe(e,t){return EMe(e)||AMe(e,t)||TMe(e,t)||PMe()}function PMe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
816In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TMe(e,t){if(e){if(typeof e=="string")return K5(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return K5(e,t)}}function K5(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function AMe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function EMe(e){if(Array.isArray(e))return e}function Tk(){return Tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Tk.apply(this,arguments)}var IMe=function(t,r){var a;return L.isValidElement(t)?a=L.cloneElement(t,r):ot(t)?a=t(r):a=L.createElement("line",Tk({},r,{className:"recharts-reference-line-line"})),a},_Me=function(t,r,a,s,i,o,l,c,d){var u=i.x,m=i.y,h=i.width,f=i.height;if(a){var b=d.y,g=t.y.apply(b,{position:o});if(Us(d,"discard")&&!t.y.isInRange(g))return null;var p=[{x:u+h,y:g},{x:u,y:g}];return c==="left"?p.reverse():p}if(r){var x=d.x,v=t.x.apply(x,{position:o});if(Us(d,"discard")&&!t.x.isInRange(v))return null;var w=[{x:v,y:m+f},{x:v,y:m}];return l==="top"?w.reverse():w}if(s){var N=d.segment,j=N.map(function(k){return t.apply(k,{position:o})});return Us(d,"discard")&&r5e(j,function(k){return!t.isInRange(k)})?null:j}return null};function MMe(e){var t=e.x,r=e.y,a=e.segment,s=e.xAxisId,i=e.yAxisId,o=e.shape,l=e.className,c=e.alwaysShow,d=hMe(),u=MG(s),m=OG(i),h=gMe();if(!d||!h)return null;Ti(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var f=GP({x:u.scale,y:m.scale}),b=Fr(t),g=Fr(r),p=a&&a.length===2,x=_Me(f,b,g,p,h,e.position,u.orientation,m.orientation,e);if(!x)return null;var v=CMe(x,2),w=v[0],N=w.x,j=w.y,k=v[1],S=k.x,C=k.y,A=Us(e,"hidden")?"url(#".concat(d,")"):void 0,T=G5(G5({clipPath:A},xt(e,!0)),{},{x1:N,y1:j,x2:S,y2:C});return L.createElement(jr,{className:vt("recharts-reference-line",l)},IMe(o,T),un.renderCallByParent(e,V5e({x1:N,y1:j,x2:S,y2:C})))}var JP=function(e){function t(){return yMe(this,t),wMe(this,t,arguments)}return kMe(t,e),bMe(t,[{key:"render",value:function(){return L.createElement(MMe,this.props)}}])}(L.Component);XP(JP,"displayName","ReferenceLine");XP(JP,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Ak(){return Ak=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Ak.apply(this,arguments)}function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function Y5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Z5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Y5(Object(r),!0).forEach(function(a){h0(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function OMe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function RMe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,$G(a.key),a)}}function FMe(e,t,r){return t&&RMe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function DMe(e,t,r){return t=iv(t),$Me(e,DG()?Reflect.construct(t,r||[],iv(e).constructor):t.apply(e,r))}function $Me(e,t){if(t&&(Ou(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return LMe(e)}function LMe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function DG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(DG=function(){return!!e})()}function iv(e){return iv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},iv(e)}function zMe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ek(e,t)}function Ek(e,t){return Ek=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Ek(e,t)}function h0(e,t,r){return t=$G(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function $G(e){var t=BMe(e,"string");return Ou(t)=="symbol"?t:t+""}function BMe(e,t){if(Ou(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Ou(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var WMe=function(t){var r=t.x,a=t.y,s=t.xAxis,i=t.yAxis,o=GP({x:s.scale,y:i.scale}),l=o.apply({x:r,y:a},{bandAware:!0});return Us(t,"discard")&&!o.isInRange(l)?null:l},f0=function(e){function t(){return OMe(this,t),DMe(this,t,arguments)}return zMe(t,e),FMe(t,[{key:"render",value:function(){var a=this.props,s=a.x,i=a.y,o=a.r,l=a.alwaysShow,c=a.clipPathId,d=Fr(s),u=Fr(i);if(Ti(l===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!d||!u)return null;var m=WMe(this.props);if(!m)return null;var h=m.x,f=m.y,b=this.props,g=b.shape,p=b.className,x=Us(this.props,"hidden")?"url(#".concat(c,")"):void 0,v=Z5(Z5({clipPath:x},xt(this.props,!0)),{},{cx:h,cy:f});return L.createElement(jr,{className:vt("recharts-reference-dot",p)},t.renderDot(g,v),un.renderCallByParent(this.props,{x:h-o,y:f-o,width:2*o,height:2*o}))}}])}(L.Component);h0(f0,"displayName","ReferenceDot");h0(f0,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});h0(f0,"renderDot",function(e,t){var r;return L.isValidElement(e)?r=L.cloneElement(e,t):ot(e)?r=e(t):r=L.createElement(HP,Ak({},t,{cx:t.cx,cy:t.cy,className:"recharts-reference-dot-dot"})),r});function Ik(){return Ik=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Ik.apply(this,arguments)}function Ru(e){"@babel/helpers - typeof";return Ru=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ru(e)}function Q5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function X5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Q5(Object(r),!0).forEach(function(a){p0(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function UMe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VMe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,zG(a.key),a)}}function qMe(e,t,r){return t&&VMe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function HMe(e,t,r){return t=ov(t),GMe(e,LG()?Reflect.construct(t,r||[],ov(e).constructor):t.apply(e,r))}function GMe(e,t){if(t&&(Ru(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return KMe(e)}function KMe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function LG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(LG=function(){return!!e})()}function ov(e){return ov=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ov(e)}function YMe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_k(e,t)}function _k(e,t){return _k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},_k(e,t)}function p0(e,t,r){return t=zG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zG(e){var t=ZMe(e,"string");return Ru(t)=="symbol"?t:t+""}function ZMe(e,t){if(Ru(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Ru(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var QMe=function(t,r,a,s,i){var o=i.x1,l=i.x2,c=i.y1,d=i.y2,u=i.xAxis,m=i.yAxis;if(!u||!m)return null;var h=GP({x:u.scale,y:m.scale}),f={x:t?h.x.apply(o,{position:"start"}):h.x.rangeMin,y:a?h.y.apply(c,{position:"start"}):h.y.rangeMin},b={x:r?h.x.apply(l,{position:"end"}):h.x.rangeMax,y:s?h.y.apply(d,{position:"end"}):h.y.rangeMax};return Us(i,"discard")&&(!h.isInRange(f)||!h.isInRange(b))?null:CG(f,b)},g0=function(e){function t(){return UMe(this,t),HMe(this,t,arguments)}return YMe(t,e),qMe(t,[{key:"render",value:function(){var a=this.props,s=a.x1,i=a.x2,o=a.y1,l=a.y2,c=a.className,d=a.alwaysShow,u=a.clipPathId;Ti(d===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var m=Fr(s),h=Fr(i),f=Fr(o),b=Fr(l),g=this.props.shape;if(!m&&!h&&!f&&!b&&!g)return null;var p=QMe(m,h,f,b,this.props);if(!p&&!g)return null;var x=Us(this.props,"hidden")?"url(#".concat(u,")"):void 0;return L.createElement(jr,{className:vt("recharts-reference-area",c)},t.renderRect(g,X5(X5({clipPath:x},xt(this.props,!0)),p)),un.renderCallByParent(this.props,p))}}])}(L.Component);p0(g0,"displayName","ReferenceArea");p0(g0,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});p0(g0,"renderRect",function(e,t){var r;return L.isValidElement(e)?r=L.cloneElement(e,t):ot(e)?r=e(t):r=L.createElement(qP,Ik({},t,{className:"recharts-reference-area-rect"})),r});function BG(e,t,r){if(t<1)return[];if(t===1&&r===void 0)return e;for(var a=[],s=0;s<e.length;s+=t)a.push(e[s]);return a}function XMe(e,t,r){var a={width:e.width+t.width,height:e.height+t.height};return H5e(a,r)}function JMe(e,t,r){var a=r==="width",s=e.x,i=e.y,o=e.width,l=e.height;return t===1?{start:a?s:i,end:a?s+o:i+l}:{start:a?s+o:i+l,end:a?s:i}}function lv(e,t,r,a,s){if(e*t<e*a||e*t>e*s)return!1;var i=r();return e*(t-e*i/2-a)>=0&&e*(t+e*i/2-s)<=0}function eOe(e,t){return BG(e,t+1)}function tOe(e,t,r,a,s){for(var i=(a||[]).slice(),o=t.start,l=t.end,c=0,d=1,u=o,m=function(){var b=a==null?void 0:a[c];if(b===void 0)return{v:BG(a,d)};var g=c,p,x=function(){return p===void 0&&(p=r(b,g)),p},v=b.coordinate,w=c===0||lv(e,v,x,u,l);w||(c=0,u=o,d+=1),w&&(u=v+e*(x()/2+s),c+=d)},h;d<=i.length;)if(h=m(),h)return h.v;return[]}function Gf(e){"@babel/helpers - typeof";return Gf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gf(e)}function J5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function cn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?J5(Object(r),!0).forEach(function(a){rOe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J5(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function rOe(e,t,r){return t=nOe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nOe(e){var t=aOe(e,"string");return Gf(t)=="symbol"?t:t+""}function aOe(e,t){if(Gf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Gf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function sOe(e,t,r,a,s){for(var i=(a||[]).slice(),o=i.length,l=t.start,c=t.end,d=function(h){var f=i[h],b,g=function(){return b===void 0&&(b=r(f,h)),b};if(h===o-1){var p=e*(f.coordinate+e*g()/2-c);i[h]=f=cn(cn({},f),{},{tickCoord:p>0?f.coordinate-p*e:f.coordinate})}else i[h]=f=cn(cn({},f),{},{tickCoord:f.coordinate});var x=lv(e,f.tickCoord,g,l,c);x&&(c=f.tickCoord-e*(g()/2+s),i[h]=cn(cn({},f),{},{isShow:!0}))},u=o-1;u>=0;u--)d(u);return i}function iOe(e,t,r,a,s,i){var o=(a||[]).slice(),l=o.length,c=t.start,d=t.end;if(i){var u=a[l-1],m=r(u,l-1),h=e*(u.coordinate+e*m/2-d);o[l-1]=u=cn(cn({},u),{},{tickCoord:h>0?u.coordinate-h*e:u.coordinate});var f=lv(e,u.tickCoord,function(){return m},c,d);f&&(d=u.tickCoord-e*(m/2+s),o[l-1]=cn(cn({},u),{},{isShow:!0}))}for(var b=i?l-1:l,g=function(v){var w=o[v],N,j=function(){return N===void 0&&(N=r(w,v)),N};if(v===0){var k=e*(w.coordinate-e*j()/2-c);o[v]=w=cn(cn({},w),{},{tickCoord:k<0?w.coordinate-k*e:w.coordinate})}else o[v]=w=cn(cn({},w),{},{tickCoord:w.coordinate});var S=lv(e,w.tickCoord,j,c,d);S&&(c=w.tickCoord+e*(j()/2+s),o[v]=cn(cn({},w),{},{isShow:!0}))},p=0;p<b;p++)g(p);return o}function eT(e,t,r){var a=e.tick,s=e.ticks,i=e.viewBox,o=e.minTickGap,l=e.orientation,c=e.interval,d=e.tickFormatter,u=e.unit,m=e.angle;if(!s||!s.length||!a)return[];if(we(c)||Ai.isSsr)return eOe(s,typeof c=="number"&&we(c)?c:0);var h=[],f=l==="top"||l==="bottom"?"width":"height",b=u&&f==="width"?wh(u,{fontSize:t,letterSpacing:r}):{width:0,height:0},g=function(w,N){var j=ot(d)?d(w.value,N):w.value;return f==="width"?XMe(wh(j,{fontSize:t,letterSpacing:r}),b,m):wh(j,{fontSize:t,letterSpacing:r})[f]},p=s.length>=2?ds(s[1].coordinate-s[0].coordinate):1,x=JMe(i,p,f);return c==="equidistantPreserveStart"?tOe(p,x,g,s,o):(c==="preserveStart"||c==="preserveStartEnd"?h=iOe(p,x,g,s,o,c==="preserveStartEnd"):h=sOe(p,x,g,s,o),h.filter(function(v){return v.isShow}))}var oOe=["viewBox"],lOe=["viewBox"],cOe=["ticks"];function Fu(e){"@babel/helpers - typeof";return Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fu(e)}function yd(){return yd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},yd.apply(this,arguments)}function eM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function jn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?eM(Object(r),!0).forEach(function(a){tT(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eM(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function mj(e,t){if(e==null)return{};var r=dOe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function dOe(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function uOe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tM(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,UG(a.key),a)}}function mOe(e,t,r){return t&&tM(e.prototype,t),r&&tM(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function hOe(e,t,r){return t=cv(t),fOe(e,WG()?Reflect.construct(t,r||[],cv(e).constructor):t.apply(e,r))}function fOe(e,t){if(t&&(Fu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pOe(e)}function pOe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function WG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(WG=function(){return!!e})()}function cv(e){return cv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},cv(e)}function gOe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Mk(e,t)}function Mk(e,t){return Mk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Mk(e,t)}function tT(e,t,r){return t=UG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function UG(e){var t=xOe(e,"string");return Fu(t)=="symbol"?t:t+""}function xOe(e,t){if(Fu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Fu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var bm=function(e){function t(r){var a;return uOe(this,t),a=hOe(this,t,[r]),a.state={fontSize:"",letterSpacing:""},a}return gOe(t,e),mOe(t,[{key:"shouldComponentUpdate",value:function(a,s){var i=a.viewBox,o=mj(a,oOe),l=this.props,c=l.viewBox,d=mj(l,lOe);return!Rd(i,c)||!Rd(o,d)||!Rd(s,this.state)}},{key:"componentDidMount",value:function(){var a=this.layerReference;if(a){var s=a.getElementsByClassName("recharts-cartesian-axis-tick-value")[0];s&&this.setState({fontSize:window.getComputedStyle(s).fontSize,letterSpacing:window.getComputedStyle(s).letterSpacing})}}},{key:"getTickLineCoord",value:function(a){var s=this.props,i=s.x,o=s.y,l=s.width,c=s.height,d=s.orientation,u=s.tickSize,m=s.mirror,h=s.tickMargin,f,b,g,p,x,v,w=m?-1:1,N=a.tickSize||u,j=we(a.tickCoord)?a.tickCoord:a.coordinate;switch(d){case"top":f=b=a.coordinate,p=o+ +!m*c,g=p-w*N,v=g-w*h,x=j;break;case"left":g=p=a.coordinate,b=i+ +!m*l,f=b-w*N,x=f-w*h,v=j;break;case"right":g=p=a.coordinate,b=i+ +m*l,f=b+w*N,x=f+w*h,v=j;break;default:f=b=a.coordinate,p=o+ +m*c,g=p+w*N,v=g+w*h,x=j;break}return{line:{x1:f,y1:g,x2:b,y2:p},tick:{x,y:v}}}},{key:"getTickTextAnchor",value:function(){var a=this.props,s=a.orientation,i=a.mirror,o;switch(s){case"left":o=i?"start":"end";break;case"right":o=i?"end":"start";break;default:o="middle";break}return o}},{key:"getTickVerticalAnchor",value:function(){var a=this.props,s=a.orientation,i=a.mirror,o="end";switch(s){case"left":case"right":o="middle";break;case"top":o=i?"start":"end";break;default:o=i?"end":"start";break}return o}},{key:"renderAxisLine",value:function(){var a=this.props,s=a.x,i=a.y,o=a.width,l=a.height,c=a.orientation,d=a.mirror,u=a.axisLine,m=jn(jn(jn({},xt(this.props,!1)),xt(u,!1)),{},{fill:"none"});if(c==="top"||c==="bottom"){var h=+(c==="top"&&!d||c==="bottom"&&d);m=jn(jn({},m),{},{x1:s,y1:i+h*l,x2:s+o,y2:i+h*l})}else{var f=+(c==="left"&&!d||c==="right"&&d);m=jn(jn({},m),{},{x1:s+f*o,y1:i,x2:s+f*o,y2:i+l})}return L.createElement("line",yd({},m,{className:vt("recharts-cartesian-axis-line",Da(u,"className"))}))}},{key:"renderTicks",value:function(a,s,i){var o=this,l=this.props,c=l.tickLine,d=l.stroke,u=l.tick,m=l.tickFormatter,h=l.unit,f=eT(jn(jn({},this.props),{},{ticks:a}),s,i),b=this.getTickTextAnchor(),g=this.getTickVerticalAnchor(),p=xt(this.props,!1),x=xt(u,!1),v=jn(jn({},p),{},{fill:"none"},xt(c,!1)),w=f.map(function(N,j){var k=o.getTickLineCoord(N),S=k.line,C=k.tick,A=jn(jn(jn(jn({textAnchor:b,verticalAnchor:g},p),{},{stroke:"none",fill:d},x),C),{},{index:j,payload:N,visibleTicksCount:f.length,tickFormatter:m});return L.createElement(jr,yd({className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},xy(o.props,N,j)),c&&L.createElement("line",yd({},v,S,{className:vt("recharts-cartesian-axis-tick-line",Da(c,"className"))})),u&&t.renderTickItem(u,A,"".concat(ot(m)?m(N.value,j):N.value).concat(h||"")))});return L.createElement("g",{className:"recharts-cartesian-axis-ticks"},w)}},{key:"render",value:function(){var a=this,s=this.props,i=s.axisLine,o=s.width,l=s.height,c=s.ticksGenerator,d=s.className,u=s.hide;if(u)return null;var m=this.props,h=m.ticks,f=mj(m,cOe),b=h;return ot(c)&&(b=h&&h.length>0?c(this.props):c(f)),o<=0||l<=0||!b||!b.length?null:L.createElement(jr,{className:vt("recharts-cartesian-axis",d),ref:function(p){a.layerReference=p}},i&&this.renderAxisLine(),this.renderTicks(b,this.state.fontSize,this.state.letterSpacing),un.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(a,s,i){var o;return L.isValidElement(a)?o=L.cloneElement(a,s):ot(a)?o=a(s):o=L.createElement(Iy,yd({},s,{className:"recharts-cartesian-axis-tick-value"}),i),o}}])}(y.Component);tT(bm,"displayName","CartesianAxis");tT(bm,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var yOe=["x1","y1","x2","y2","key"],vOe=["offset"];function xc(e){"@babel/helpers - typeof";return xc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xc(e)}function rM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function mn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?rM(Object(r),!0).forEach(function(a){bOe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rM(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function bOe(e,t,r){return t=wOe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function wOe(e){var t=jOe(e,"string");return xc(t)=="symbol"?t:t+""}function jOe(e,t){if(xc(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(xc(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function zl(){return zl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},zl.apply(this,arguments)}function nM(e,t){if(e==null)return{};var r=NOe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function NOe(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}var kOe=function(t){var r=t.fill;if(!r||r==="none")return null;var a=t.fillOpacity,s=t.x,i=t.y,o=t.width,l=t.height,c=t.ry;return L.createElement("rect",{x:s,y:i,ry:c,width:o,height:l,stroke:"none",fill:r,fillOpacity:a,className:"recharts-cartesian-grid-bg"})};function VG(e,t){var r;if(L.isValidElement(e))r=L.cloneElement(e,t);else if(ot(e))r=e(t);else{var a=t.x1,s=t.y1,i=t.x2,o=t.y2,l=t.key,c=nM(t,yOe),d=xt(c,!1);d.offset;var u=nM(d,vOe);r=L.createElement("line",zl({},u,{x1:a,y1:s,x2:i,y2:o,fill:"none",key:l}))}return r}function SOe(e){var t=e.x,r=e.width,a=e.horizontal,s=a===void 0?!0:a,i=e.horizontalPoints;if(!s||!i||!i.length)return null;var o=i.map(function(l,c){var d=mn(mn({},e),{},{x1:t,y1:l,x2:t+r,y2:l,key:"line-".concat(c),index:c});return VG(s,d)});return L.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function COe(e){var t=e.y,r=e.height,a=e.vertical,s=a===void 0?!0:a,i=e.verticalPoints;if(!s||!i||!i.length)return null;var o=i.map(function(l,c){var d=mn(mn({},e),{},{x1:l,y1:t,x2:l,y2:t+r,key:"line-".concat(c),index:c});return VG(s,d)});return L.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function POe(e){var t=e.horizontalFill,r=e.fillOpacity,a=e.x,s=e.y,i=e.width,o=e.height,l=e.horizontalPoints,c=e.horizontal,d=c===void 0?!0:c;if(!d||!t||!t.length)return null;var u=l.map(function(h){return Math.round(h+s-s)}).sort(function(h,f){return h-f});s!==u[0]&&u.unshift(0);var m=u.map(function(h,f){var b=!u[f+1],g=b?s+o-h:u[f+1]-h;if(g<=0)return null;var p=f%t.length;return L.createElement("rect",{key:"react-".concat(f),y:h,x:a,height:g,width:i,stroke:"none",fill:t[p],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return L.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function TOe(e){var t=e.vertical,r=t===void 0?!0:t,a=e.verticalFill,s=e.fillOpacity,i=e.x,o=e.y,l=e.width,c=e.height,d=e.verticalPoints;if(!r||!a||!a.length)return null;var u=d.map(function(h){return Math.round(h+i-i)}).sort(function(h,f){return h-f});i!==u[0]&&u.unshift(0);var m=u.map(function(h,f){var b=!u[f+1],g=b?i+l-h:u[f+1]-h;if(g<=0)return null;var p=f%a.length;return L.createElement("rect",{key:"react-".concat(f),x:h,y:o,width:g,height:c,stroke:"none",fill:a[p],fillOpacity:s,className:"recharts-cartesian-grid-bg"})});return L.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var AOe=function(t,r){var a=t.xAxis,s=t.width,i=t.height,o=t.offset;return JH(eT(mn(mn(mn({},bm.defaultProps),a),{},{ticks:ji(a,!0),viewBox:{x:0,y:0,width:s,height:i}})),o.left,o.left+o.width,r)},EOe=function(t,r){var a=t.yAxis,s=t.width,i=t.height,o=t.offset;return JH(eT(mn(mn(mn({},bm.defaultProps),a),{},{ticks:ji(a,!0),viewBox:{x:0,y:0,width:s,height:i}})),o.top,o.top+o.height,r)},Gc={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function dv(e){var t,r,a,s,i,o,l=ZP(),c=QP(),d=xMe(),u=mn(mn({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Gc.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:Gc.fill,horizontal:(a=e.horizontal)!==null&&a!==void 0?a:Gc.horizontal,horizontalFill:(s=e.horizontalFill)!==null&&s!==void 0?s:Gc.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:Gc.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:Gc.verticalFill,x:we(e.x)?e.x:d.left,y:we(e.y)?e.y:d.top,width:we(e.width)?e.width:d.width,height:we(e.height)?e.height:d.height}),m=u.x,h=u.y,f=u.width,b=u.height,g=u.syncWithTicks,p=u.horizontalValues,x=u.verticalValues,v=fMe(),w=pMe();if(!we(f)||f<=0||!we(b)||b<=0||!we(m)||m!==+m||!we(h)||h!==+h)return null;var N=u.verticalCoordinatesGenerator||AOe,j=u.horizontalCoordinatesGenerator||EOe,k=u.horizontalPoints,S=u.verticalPoints;if((!k||!k.length)&&ot(j)){var C=p&&p.length,A=j({yAxis:w?mn(mn({},w),{},{ticks:C?p:w.ticks}):void 0,width:l,height:c,offset:d},C?!0:g);Ti(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(xc(A),"]")),Array.isArray(A)&&(k=A)}if((!S||!S.length)&&ot(N)){var T=x&&x.length,E=N({xAxis:v?mn(mn({},v),{},{ticks:T?x:v.ticks}):void 0,width:l,height:c,offset:d},T?!0:g);Ti(Array.isArray(E),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(xc(E),"]")),Array.isArray(E)&&(S=E)}return L.createElement("g",{className:"recharts-cartesian-grid"},L.createElement(kOe,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height,ry:u.ry}),L.createElement(SOe,zl({},u,{offset:d,horizontalPoints:k,xAxis:v,yAxis:w})),L.createElement(COe,zl({},u,{offset:d,verticalPoints:S,xAxis:v,yAxis:w})),L.createElement(POe,zl({},u,{horizontalPoints:k})),L.createElement(TOe,zl({},u,{verticalPoints:S})))}dv.displayName="CartesianGrid";var IOe=["type","layout","connectNulls","ref"],_Oe=["key"];function Du(e){"@babel/helpers - typeof";return Du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Du(e)}function aM(e,t){if(e==null)return{};var r=MOe(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function MOe(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function Sh(){return Sh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Sh.apply(this,arguments)}function sM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Xn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sM(Object(r),!0).forEach(function(a){ts(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sM(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Kc(e){return DOe(e)||FOe(e)||ROe(e)||OOe()}function OOe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
817In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ROe(e,t){if(e){if(typeof e=="string")return Ok(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ok(e,t)}}function FOe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function DOe(e){if(Array.isArray(e))return Ok(e)}function Ok(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function $Oe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function iM(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,HG(a.key),a)}}function LOe(e,t,r){return t&&iM(e.prototype,t),r&&iM(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function zOe(e,t,r){return t=uv(t),BOe(e,qG()?Reflect.construct(t,r||[],uv(e).constructor):t.apply(e,r))}function BOe(e,t){if(t&&(Du(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return WOe(e)}function WOe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(qG=function(){return!!e})()}function uv(e){return uv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},uv(e)}function UOe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rk(e,t)}function Rk(e,t){return Rk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Rk(e,t)}function ts(e,t,r){return t=HG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function HG(e){var t=VOe(e,"string");return Du(t)=="symbol"?t:t+""}function VOe(e,t){if(Du(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Du(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ya=function(e){function t(){var r;$Oe(this,t);for(var a=arguments.length,s=new Array(a),i=0;i<a;i++)s[i]=arguments[i];return r=zOe(this,t,[].concat(s)),ts(r,"state",{isAnimationFinished:!0,totalLength:0}),ts(r,"generateSimpleStrokeDasharray",function(o,l){return"".concat(l,"px ").concat(o-l,"px")}),ts(r,"getStrokeDasharray",function(o,l,c){var d=c.reduce(function(x,v){return x+v});if(!d)return r.generateSimpleStrokeDasharray(l,o);for(var u=Math.floor(o/d),m=o%d,h=l-o,f=[],b=0,g=0;b<c.length;g+=c[b],++b)if(g+c[b]>m){f=[].concat(Kc(c.slice(0,b)),[m-g]);break}var p=f.length%2===0?[0,h]:[h];return[].concat(Kc(t.repeat(c,u)),Kc(f),p).map(function(x){return"".concat(x,"px")}).join(", ")}),ts(r,"id",Tp("recharts-line-")),ts(r,"pathRef",function(o){r.mainCurve=o}),ts(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),ts(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return UOe(t,e),LOe(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var a=this.getTotalLength();this.setState({totalLength:a})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var a=this.getTotalLength();a!==this.state.totalLength&&this.setState({totalLength:a})}}},{key:"getTotalLength",value:function(){var a=this.mainCurve;try{return a&&a.getTotalLength&&a.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(a,s){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,o=i.points,l=i.xAxis,c=i.yAxis,d=i.layout,u=i.children,m=$a(u,Op);if(!m)return null;var h=function(g,p){return{x:g.x,y:g.y,value:g.value,errorVal:xa(g.payload,p)}},f={clipPath:a?"url(#clipPath-".concat(s,")"):null};return L.createElement(jr,f,m.map(function(b){return L.cloneElement(b,{key:"bar-".concat(b.props.dataKey),data:o,xAxis:l,yAxis:c,layout:d,dataPointFormatter:h})}))}},{key:"renderDots",value:function(a,s,i){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var l=this.props,c=l.dot,d=l.points,u=l.dataKey,m=xt(this.props,!1),h=xt(c,!0),f=d.map(function(g,p){var x=Xn(Xn(Xn({key:"dot-".concat(p),r:3},m),h),{},{index:p,cx:g.x,cy:g.y,value:g.value,dataKey:u,payload:g.payload,points:d});return t.renderDotItem(c,x)}),b={clipPath:a?"url(#clipPath-".concat(s?"":"dots-").concat(i,")"):null};return L.createElement(jr,Sh({className:"recharts-line-dots",key:"dots"},b),f)}},{key:"renderCurveStatically",value:function(a,s,i,o){var l=this.props,c=l.type,d=l.layout,u=l.connectNulls;l.ref;var m=aM(l,IOe),h=Xn(Xn(Xn({},xt(m,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:s?"url(#clipPath-".concat(i,")"):null,points:a},o),{},{type:c,layout:d,connectNulls:u});return L.createElement(mk,Sh({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(a,s){var i=this,o=this.props,l=o.points,c=o.strokeDasharray,d=o.isAnimationActive,u=o.animationBegin,m=o.animationDuration,h=o.animationEasing,f=o.animationId,b=o.animateNewValues,g=o.width,p=o.height,x=this.state,v=x.prevPoints,w=x.totalLength;return L.createElement(Ki,{begin:u,duration:m,isActive:d,easing:h,from:{t:0},to:{t:1},key:"line-".concat(f),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(N){var j=N.t;if(v){var k=v.length/l.length,S=l.map(function(I,R){var P=Math.floor(R*k);if(v[P]){var M=v[P],O=as(M.x,I.x),$=as(M.y,I.y);return Xn(Xn({},I),{},{x:O(j),y:$(j)})}if(b){var _=as(g*2,I.x),F=as(p/2,I.y);return Xn(Xn({},I),{},{x:_(j),y:F(j)})}return Xn(Xn({},I),{},{x:I.x,y:I.y})});return i.renderCurveStatically(S,a,s)}var C=as(0,w),A=C(j),T;if(c){var E="".concat(c).split(/[,\s]+/gim).map(function(I){return parseFloat(I)});T=i.getStrokeDasharray(A,w,E)}else T=i.generateSimpleStrokeDasharray(w,A);return i.renderCurveStatically(l,a,s,{strokeDasharray:T})})}},{key:"renderCurve",value:function(a,s){var i=this.props,o=i.points,l=i.isAnimationActive,c=this.state,d=c.prevPoints,u=c.totalLength;return l&&o&&o.length&&(!d&&u>0||!o0(d,o))?this.renderCurveWithAnimation(a,s):this.renderCurveStatically(o,a,s)}},{key:"render",value:function(){var a,s=this.props,i=s.hide,o=s.dot,l=s.points,c=s.className,d=s.xAxis,u=s.yAxis,m=s.top,h=s.left,f=s.width,b=s.height,g=s.isAnimationActive,p=s.id;if(i||!l||!l.length)return null;var x=this.state.isAnimationFinished,v=l.length===1,w=vt("recharts-line",c),N=d&&d.allowDataOverflow,j=u&&u.allowDataOverflow,k=N||j,S=pt(p)?this.id:p,C=(a=xt(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},A=C.r,T=A===void 0?3:A,E=C.strokeWidth,I=E===void 0?2:E,R=sye(o)?o:{},P=R.clipDot,M=P===void 0?!0:P,O=T*2+I;return L.createElement(jr,{className:w},N||j?L.createElement("defs",null,L.createElement("clipPath",{id:"clipPath-".concat(S)},L.createElement("rect",{x:N?h:h-f/2,y:j?m:m-b/2,width:N?f:f*2,height:j?b:b*2})),!M&&L.createElement("clipPath",{id:"clipPath-dots-".concat(S)},L.createElement("rect",{x:h-O/2,y:m-O/2,width:f+O,height:b+O}))):null,!v&&this.renderCurve(k,S),this.renderErrorBar(k,S),(v||o)&&this.renderDots(k,M,S),(!g||x)&&Uo.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(a,s){return a.animationId!==s.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,prevPoints:s.curPoints}:a.points!==s.curPoints?{curPoints:a.points}:null}},{key:"repeat",value:function(a,s){for(var i=a.length%2!==0?[].concat(Kc(a),[0]):a,o=[],l=0;l<s;++l)o=[].concat(Kc(o),Kc(i));return o}},{key:"renderDotItem",value:function(a,s){var i;if(L.isValidElement(a))i=L.cloneElement(a,s);else if(ot(a))i=a(s);else{var o=s.key,l=aM(s,_Oe),c=vt("recharts-line-dot",typeof a!="boolean"?a.className:"");i=L.createElement(HP,Sh({key:o},l,{className:c}))}return i}}])}(y.PureComponent);ts(ya,"displayName","Line");ts(ya,"defaultProps",{xAxisId:0,yAxisId:0,connectNulls:!1,activeDot:!0,dot:!0,legendType:"line",stroke:"#3182bd",strokeWidth:1,fill:"#fff",points:[],isAnimationActive:!Ai.isSsr,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",hide:!1,label:!1});ts(ya,"getComposedData",function(e){var t=e.props,r=e.xAxis,a=e.yAxis,s=e.xAxisTicks,i=e.yAxisTicks,o=e.dataKey,l=e.bandSize,c=e.displayedData,d=e.offset,u=t.layout,m=c.map(function(h,f){var b=xa(h,o);return u==="horizontal"?{x:z_({axis:r,ticks:s,bandSize:l,entry:h,index:f}),y:pt(b)?null:a.scale(b),value:b,payload:h}:{x:pt(b)?null:r.scale(b),y:z_({axis:a,ticks:i,bandSize:l,entry:h,index:f}),value:b,payload:h}});return Xn({points:m,layout:u},d)});function $u(e){"@babel/helpers - typeof";return $u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$u(e)}function qOe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function HOe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,YG(a.key),a)}}function GOe(e,t,r){return t&&HOe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function KOe(e,t,r){return t=mv(t),YOe(e,GG()?Reflect.construct(t,r||[],mv(e).constructor):t.apply(e,r))}function YOe(e,t){if(t&&($u(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ZOe(e)}function ZOe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function GG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(GG=function(){return!!e})()}function mv(e){return mv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},mv(e)}function QOe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fk(e,t)}function Fk(e,t){return Fk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Fk(e,t)}function KG(e,t,r){return t=YG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YG(e){var t=XOe(e,"string");return $u(t)=="symbol"?t:t+""}function XOe(e,t){if($u(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if($u(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Dk(){return Dk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Dk.apply(this,arguments)}function JOe(e){var t=e.xAxisId,r=ZP(),a=QP(),s=MG(t);return s==null?null:L.createElement(bm,Dk({},s,{className:vt("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:r,height:a},ticksGenerator:function(o){return ji(o,!0)}}))}var ma=function(e){function t(){return qOe(this,t),KOe(this,t,arguments)}return QOe(t,e),GOe(t,[{key:"render",value:function(){return L.createElement(JOe,this.props)}}])}(L.Component);KG(ma,"displayName","XAxis");KG(ma,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function Lu(e){"@babel/helpers - typeof";return Lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lu(e)}function eRe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tRe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,XG(a.key),a)}}function rRe(e,t,r){return t&&tRe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function nRe(e,t,r){return t=hv(t),aRe(e,ZG()?Reflect.construct(t,r||[],hv(e).constructor):t.apply(e,r))}function aRe(e,t){if(t&&(Lu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return sRe(e)}function sRe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ZG(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ZG=function(){return!!e})()}function hv(e){return hv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},hv(e)}function iRe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$k(e,t)}function $k(e,t){return $k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},$k(e,t)}function QG(e,t,r){return t=XG(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function XG(e){var t=oRe(e,"string");return Lu(t)=="symbol"?t:t+""}function oRe(e,t){if(Lu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Lu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lk(){return Lk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Lk.apply(this,arguments)}var lRe=function(t){var r=t.yAxisId,a=ZP(),s=QP(),i=OG(r);return i==null?null:L.createElement(bm,Lk({},i,{className:vt("recharts-".concat(i.axisType," ").concat(i.axisType),i.className),viewBox:{x:0,y:0,width:a,height:s},ticksGenerator:function(l){return ji(l,!0)}}))},ha=function(e){function t(){return eRe(this,t),nRe(this,t,arguments)}return iRe(t,e),rRe(t,[{key:"render",value:function(){return L.createElement(lRe,this.props)}}])}(L.Component);QG(ha,"displayName","YAxis");QG(ha,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function oM(e){return mRe(e)||uRe(e)||dRe(e)||cRe()}function cRe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
818In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dRe(e,t){if(e){if(typeof e=="string")return zk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zk(e,t)}}function uRe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function mRe(e){if(Array.isArray(e))return zk(e)}function zk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}var Bk=function(t,r,a,s,i){var o=$a(t,JP),l=$a(t,f0),c=[].concat(oM(o),oM(l)),d=$a(t,g0),u="".concat(s,"Id"),m=s[0],h=r;if(c.length&&(h=c.reduce(function(g,p){if(p.props[u]===a&&Us(p.props,"extendDomain")&&we(p.props[m])){var x=p.props[m];return[Math.min(g[0],x),Math.max(g[1],x)]}return g},h)),d.length){var f="".concat(m,"1"),b="".concat(m,"2");h=d.reduce(function(g,p){if(p.props[u]===a&&Us(p.props,"extendDomain")&&we(p.props[f])&&we(p.props[b])){var x=p.props[f],v=p.props[b];return[Math.min(g[0],x,v),Math.max(g[1],x,v)]}return g},h)}return i&&i.length&&(h=i.reduce(function(g,p){return we(p)?[Math.min(g[0],p),Math.max(g[1],p)]:g},h)),h},JG={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,r="~";function a(){}Object.create&&(a.prototype=Object.create(null),new a().__proto__||(r=!1));function s(c,d,u){this.fn=c,this.context=d,this.once=u||!1}function i(c,d,u,m,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,m||c,h),b=r?r+d:d;return c._events[b]?c._events[b].fn?c._events[b]=[c._events[b],f]:c._events[b].push(f):(c._events[b]=f,c._eventsCount++),c}function o(c,d){--c._eventsCount===0?c._events=new a:delete c._events[d]}function l(){this._events=new a,this._eventsCount=0}l.prototype.eventNames=function(){var d=[],u,m;if(this._eventsCount===0)return d;for(m in u=this._events)t.call(u,m)&&d.push(r?m.slice(1):m);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},l.prototype.listeners=function(d){var u=r?r+d:d,m=this._events[u];if(!m)return[];if(m.fn)return[m.fn];for(var h=0,f=m.length,b=new Array(f);h<f;h++)b[h]=m[h].fn;return b},l.prototype.listenerCount=function(d){var u=r?r+d:d,m=this._events[u];return m?m.fn?1:m.length:0},l.prototype.emit=function(d,u,m,h,f,b){var g=r?r+d:d;if(!this._events[g])return!1;var p=this._events[g],x=arguments.length,v,w;if(p.fn){switch(p.once&&this.removeListener(d,p.fn,void 0,!0),x){case 1:return p.fn.call(p.context),!0;case 2:return p.fn.call(p.context,u),!0;case 3:return p.fn.call(p.context,u,m),!0;case 4:return p.fn.call(p.context,u,m,h),!0;case 5:return p.fn.call(p.context,u,m,h,f),!0;case 6:return p.fn.call(p.context,u,m,h,f,b),!0}for(w=1,v=new Array(x-1);w<x;w++)v[w-1]=arguments[w];p.fn.apply(p.context,v)}else{var N=p.length,j;for(w=0;w<N;w++)switch(p[w].once&&this.removeListener(d,p[w].fn,void 0,!0),x){case 1:p[w].fn.call(p[w].context);break;case 2:p[w].fn.call(p[w].context,u);break;case 3:p[w].fn.call(p[w].context,u,m);break;case 4:p[w].fn.call(p[w].context,u,m,h);break;default:if(!v)for(j=1,v=new Array(x-1);j<x;j++)v[j-1]=arguments[j];p[w].fn.apply(p[w].context,v)}}return!0},l.prototype.on=function(d,u,m){return i(this,d,u,m,!1)},l.prototype.once=function(d,u,m){return i(this,d,u,m,!0)},l.prototype.removeListener=function(d,u,m,h){var f=r?r+d:d;if(!this._events[f])return this;if(!u)return o(this,f),this;var b=this._events[f];if(b.fn)b.fn===u&&(!h||b.once)&&(!m||b.context===m)&&o(this,f);else{for(var g=0,p=[],x=b.length;g<x;g++)(b[g].fn!==u||h&&!b[g].once||m&&b[g].context!==m)&&p.push(b[g]);p.length?this._events[f]=p.length===1?p[0]:p:o(this,f)}return this},l.prototype.removeAllListeners=function(d){var u;return d?(u=r?r+d:d,this._events[u]&&o(this,u)):(this._events=new a,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=r,l.EventEmitter=l,e.exports=l})(JG);var hRe=JG.exports;const fRe=Ft(hRe);var hj=new fRe,fj="recharts.syncMouseEvents";function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function pRe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gRe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,eK(a.key),a)}}function xRe(e,t,r){return t&&gRe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function pj(e,t,r){return t=eK(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eK(e){var t=yRe(e,"string");return Kf(t)=="symbol"?t:t+""}function yRe(e,t){if(Kf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(Kf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var vRe=function(){function e(){pRe(this,e),pj(this,"activeIndex",0),pj(this,"coordinateList",[]),pj(this,"layout","horizontal")}return xRe(e,[{key:"setDetails",value:function(r){var a,s=r.coordinateList,i=s===void 0?null:s,o=r.container,l=o===void 0?null:o,c=r.layout,d=c===void 0?null:c,u=r.offset,m=u===void 0?null:u,h=r.mouseHandlerCallback,f=h===void 0?null:h;this.coordinateList=(a=i??this.coordinateList)!==null&&a!==void 0?a:[],this.container=l??this.container,this.layout=d??this.layout,this.offset=m??this.offset,this.mouseHandlerCallback=f??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(r){if(this.coordinateList.length!==0)switch(r.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(r){this.activeIndex=r}},{key:"spoofMouse",value:function(){var r,a;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var s=this.container.getBoundingClientRect(),i=s.x,o=s.y,l=s.height,c=this.coordinateList[this.activeIndex].coordinate,d=((r=window)===null||r===void 0?void 0:r.scrollX)||0,u=((a=window)===null||a===void 0?void 0:a.scrollY)||0,m=i+c+d,h=o+this.offset.top+l/2+u;this.mouseHandlerCallback({pageX:m,pageY:h})}}}])}();function bRe(e,t,r){if(r==="number"&&t===!0&&Array.isArray(e)){var a=e==null?void 0:e[0],s=e==null?void 0:e[1];if(a&&s&&we(a)&&we(s))return!0}return!1}function wRe(e,t,r,a){var s=a/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-s:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-s,width:e==="horizontal"?a:r.width-1,height:e==="horizontal"?r.height-1:a}}function tK(e){var t=e.cx,r=e.cy,a=e.radius,s=e.startAngle,i=e.endAngle,o=Qr(t,r,a,s),l=Qr(t,r,a,i);return{points:[o,l],cx:t,cy:r,radius:a,startAngle:s,endAngle:i}}function jRe(e,t,r){var a,s,i,o;if(e==="horizontal")a=t.x,i=a,s=r.top,o=r.top+r.height;else if(e==="vertical")s=t.y,o=s,a=r.left,i=r.left+r.width;else if(t.cx!=null&&t.cy!=null)if(e==="centric"){var l=t.cx,c=t.cy,d=t.innerRadius,u=t.outerRadius,m=t.angle,h=Qr(l,c,d,m),f=Qr(l,c,u,m);a=h.x,s=h.y,i=f.x,o=f.y}else return tK(t);return[{x:a,y:s},{x:i,y:o}]}function Yf(e){"@babel/helpers - typeof";return Yf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yf(e)}function lM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function Ig(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?lM(Object(r),!0).forEach(function(a){NRe(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lM(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function NRe(e,t,r){return t=kRe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kRe(e){var t=SRe(e,"string");return Yf(t)=="symbol"?t:t+""}function SRe(e,t){if(Yf(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(Yf(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function CRe(e){var t,r,a=e.element,s=e.tooltipEventType,i=e.isActive,o=e.activeCoordinate,l=e.activePayload,c=e.offset,d=e.activeTooltipIndex,u=e.tooltipAxisBandSize,m=e.layout,h=e.chartName,f=(t=a.props.cursor)!==null&&t!==void 0?t:(r=a.type.defaultProps)===null||r===void 0?void 0:r.cursor;if(!a||!f||!i||!o||h!=="ScatterChart"&&s!=="axis")return null;var b,g=mk;if(h==="ScatterChart")b=o,g=CIe;else if(h==="BarChart")b=wRe(m,o,c,u),g=qP;else if(m==="radial"){var p=tK(o),x=p.cx,v=p.cy,w=p.radius,N=p.startAngle,j=p.endAngle;b={cx:x,cy:v,startAngle:N,endAngle:j,innerRadius:w,outerRadius:w},g=aG}else b={points:jRe(m,o,c)},g=mk;var k=Ig(Ig(Ig(Ig({stroke:"#ccc",pointerEvents:"none"},c),b),xt(f,!1)),{},{payload:l,payloadIndex:d,className:vt("recharts-tooltip-cursor",f.className)});return y.isValidElement(f)?y.cloneElement(f,k):y.createElement(g,k)}var PRe=["item"],TRe=["children","className","width","height","style","compact","title","desc"];function zu(e){"@babel/helpers - typeof";return zu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zu(e)}function vd(){return vd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},vd.apply(this,arguments)}function cM(e,t){return IRe(e)||ERe(e,t)||nK(e,t)||ARe()}function ARe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
819In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ERe(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var a,s,i,o,l=[],c=!0,d=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(a=i.call(r)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(u){d=!0,s=u}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(d)throw s}}return l}}function IRe(e){if(Array.isArray(e))return e}function dM(e,t){if(e==null)return{};var r=_Re(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function _Re(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function MRe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ORe(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,aK(a.key),a)}}function RRe(e,t,r){return t&&ORe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function FRe(e,t,r){return t=fv(t),DRe(e,rK()?Reflect.construct(t,r||[],fv(e).constructor):t.apply(e,r))}function DRe(e,t){if(t&&(zu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $Re(e)}function $Re(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function rK(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(rK=function(){return!!e})()}function fv(e){return fv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},fv(e)}function LRe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Wk(e,t)}function Wk(e,t){return Wk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,s){return a.__proto__=s,a},Wk(e,t)}function Bu(e){return WRe(e)||BRe(e)||nK(e)||zRe()}function zRe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
820In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nK(e,t){if(e){if(typeof e=="string")return Uk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Uk(e,t)}}function BRe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function WRe(e){if(Array.isArray(e))return Uk(e)}function Uk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function uM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function oe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?uM(Object(r),!0).forEach(function(a){Be(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uM(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Be(e,t,r){return t=aK(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function aK(e){var t=URe(e,"string");return zu(t)=="symbol"?t:t+""}function URe(e,t){if(zu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(zu(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var VRe={xAxis:["bottom","top"],yAxis:["left","right"]},qRe={width:"100%",height:"100%"},sK={x:0,y:0};function _g(e){return e}var HRe=function(t,r){return r==="horizontal"?t.x:r==="vertical"?t.y:r==="centric"?t.angle:t.radius},GRe=function(t,r,a,s){var i=r.find(function(u){return u&&u.index===a});if(i){if(t==="horizontal")return{x:i.coordinate,y:s.y};if(t==="vertical")return{x:s.x,y:i.coordinate};if(t==="centric"){var o=i.coordinate,l=s.radius;return oe(oe(oe({},s),Qr(s.cx,s.cy,l,o)),{},{angle:o,radius:l})}var c=i.coordinate,d=s.angle;return oe(oe(oe({},s),Qr(s.cx,s.cy,c,d)),{},{angle:d,radius:c})}return sK},x0=function(t,r){var a=r.graphicalItems,s=r.dataStartIndex,i=r.dataEndIndex,o=(a??[]).reduce(function(l,c){var d=c.props.data;return d&&d.length?[].concat(Bu(l),Bu(d)):l},[]);return o.length>0?o:t&&t.length&&we(s)&&we(i)?t.slice(s,i+1):[]};function iK(e){return e==="number"?[0,"auto"]:void 0}var Vk=function(t,r,a,s){var i=t.graphicalItems,o=t.tooltipAxis,l=x0(r,t);return a<0||!i||!i.length||a>=l.length?null:i.reduce(function(c,d){var u,m=(u=d.props.data)!==null&&u!==void 0?u:r;m&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=a&&(m=m.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var f=m===void 0?l:m;h=py(f,o.dataKey,s)}else h=m&&m[a]||l[a];return h?[].concat(Bu(c),[tG(d,h)]):c},[])},mM=function(t,r,a,s){var i=s||{x:t.chartX,y:t.chartY},o=HRe(i,a),l=t.orderedTooltipTicks,c=t.tooltipAxis,d=t.tooltipTicks,u=l4e(o,l,d,c);if(u>=0&&d){var m=d[u]&&d[u].value,h=Vk(t,r,u,m),f=GRe(a,l,u,i);return{activeTooltipIndex:u,activeLabel:m,activePayload:h,activeCoordinate:f}}return null},KRe=function(t,r){var a=r.axes,s=r.graphicalItems,i=r.axisType,o=r.axisIdKey,l=r.stackGroups,c=r.dataStartIndex,d=r.dataEndIndex,u=t.layout,m=t.children,h=t.stackOffset,f=XH(u,i);return a.reduce(function(b,g){var p,x=g.type.defaultProps!==void 0?oe(oe({},g.type.defaultProps),g.props):g.props,v=x.type,w=x.dataKey,N=x.allowDataOverflow,j=x.allowDuplicatedCategory,k=x.scale,S=x.ticks,C=x.includeHidden,A=x[o];if(b[A])return b;var T=x0(t.data,{graphicalItems:s.filter(function(H){var Q,B=o in H.props?H.props[o]:(Q=H.type.defaultProps)===null||Q===void 0?void 0:Q[o];return B===A}),dataStartIndex:c,dataEndIndex:d}),E=T.length,I,R,P;bRe(x.domain,N,v)&&(I=ok(x.domain,null,N),f&&(v==="number"||k!=="auto")&&(P=Nh(T,w,"category")));var M=iK(v);if(!I||I.length===0){var O,$=(O=x.domain)!==null&&O!==void 0?O:M;if(w){if(I=Nh(T,w,v),v==="category"&&f){var _=Zxe(I);j&&_?(R=I,I=ev(0,E)):j||(I=V_($,I,g).reduce(function(H,Q){return H.indexOf(Q)>=0?H:[].concat(Bu(H),[Q])},[]))}else if(v==="category")j?I=I.filter(function(H){return H!==""&&!pt(H)}):I=V_($,I,g).reduce(function(H,Q){return H.indexOf(Q)>=0||Q===""||pt(Q)?H:[].concat(Bu(H),[Q])},[]);else if(v==="number"){var F=h4e(T,s.filter(function(H){var Q,B,se=o in H.props?H.props[o]:(Q=H.type.defaultProps)===null||Q===void 0?void 0:Q[o],ye="hide"in H.props?H.props.hide:(B=H.type.defaultProps)===null||B===void 0?void 0:B.hide;return se===A&&(C||!ye)}),w,i,u);F&&(I=F)}f&&(v==="number"||k!=="auto")&&(P=Nh(T,w,"category"))}else f?I=ev(0,E):l&&l[A]&&l[A].hasStack&&v==="number"?I=h==="expand"?[0,1]:eG(l[A].stackGroups,c,d):I=QH(T,s.filter(function(H){var Q=o in H.props?H.props[o]:H.type.defaultProps[o],B="hide"in H.props?H.props.hide:H.type.defaultProps.hide;return Q===A&&(C||!B)}),v,u,!0);if(v==="number")I=Bk(m,I,A,i,S),$&&(I=ok($,I,N));else if(v==="category"&&$){var U=$,Z=I.every(function(H){return U.indexOf(H)>=0});Z&&(I=U)}}return oe(oe({},b),{},Be({},A,oe(oe({},x),{},{axisType:i,domain:I,categoricalDomain:P,duplicateDomain:R,originalDomain:(p=x.domain)!==null&&p!==void 0?p:M,isCategorical:f,layout:u})))},{})},YRe=function(t,r){var a=r.graphicalItems,s=r.Axis,i=r.axisType,o=r.axisIdKey,l=r.stackGroups,c=r.dataStartIndex,d=r.dataEndIndex,u=t.layout,m=t.children,h=x0(t.data,{graphicalItems:a,dataStartIndex:c,dataEndIndex:d}),f=h.length,b=XH(u,i),g=-1;return a.reduce(function(p,x){var v=x.type.defaultProps!==void 0?oe(oe({},x.type.defaultProps),x.props):x.props,w=v[o],N=iK("number");if(!p[w]){g++;var j;return b?j=ev(0,f):l&&l[w]&&l[w].hasStack?(j=eG(l[w].stackGroups,c,d),j=Bk(m,j,w,i)):(j=ok(N,QH(h,a.filter(function(k){var S,C,A=o in k.props?k.props[o]:(S=k.type.defaultProps)===null||S===void 0?void 0:S[o],T="hide"in k.props?k.props.hide:(C=k.type.defaultProps)===null||C===void 0?void 0:C.hide;return A===w&&!T}),"number",u),s.defaultProps.allowDataOverflow),j=Bk(m,j,w,i)),oe(oe({},p),{},Be({},w,oe(oe({axisType:i},s.defaultProps),{},{hide:!0,orientation:Da(VRe,"".concat(i,".").concat(g%2),null),domain:j,originalDomain:N,isCategorical:b,layout:u})))}return p},{})},ZRe=function(t,r){var a=r.axisType,s=a===void 0?"xAxis":a,i=r.AxisComp,o=r.graphicalItems,l=r.stackGroups,c=r.dataStartIndex,d=r.dataEndIndex,u=t.children,m="".concat(s,"Id"),h=$a(u,i),f={};return h&&h.length?f=KRe(t,{axes:h,graphicalItems:o,axisType:s,axisIdKey:m,stackGroups:l,dataStartIndex:c,dataEndIndex:d}):o&&o.length&&(f=YRe(t,{Axis:i,graphicalItems:o,axisType:s,axisIdKey:m,stackGroups:l,dataStartIndex:c,dataEndIndex:d})),f},QRe=function(t){var r=po(t),a=ji(r,!1,!0);return{tooltipTicks:a,orderedTooltipTicks:yP(a,function(s){return s.coordinate}),tooltipAxis:r,tooltipAxisBandSize:qy(r,a)}},hM=function(t){var r=t.children,a=t.defaultShowTooltip,s=ra(r,Iu),i=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),s&&s.props&&(s.props.startIndex>=0&&(i=s.props.startIndex),s.props.endIndex>=0&&(o=s.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!a}},XRe=function(t){return!t||!t.length?!1:t.some(function(r){var a=Pi(r&&r.type);return a&&a.indexOf("Bar")>=0})},fM=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},JRe=function(t,r){var a=t.props,s=t.graphicalItems,i=t.xAxisMap,o=i===void 0?{}:i,l=t.yAxisMap,c=l===void 0?{}:l,d=a.width,u=a.height,m=a.children,h=a.margin||{},f=ra(m,Iu),b=ra(m,Fd),g=Object.keys(c).reduce(function(j,k){var S=c[k],C=S.orientation;return!S.mirror&&!S.hide?oe(oe({},j),{},Be({},C,j[C]+S.width)):j},{left:h.left||0,right:h.right||0}),p=Object.keys(o).reduce(function(j,k){var S=o[k],C=S.orientation;return!S.mirror&&!S.hide?oe(oe({},j),{},Be({},C,Da(j,"".concat(C))+S.height)):j},{top:h.top||0,bottom:h.bottom||0}),x=oe(oe({},p),g),v=x.bottom;f&&(x.bottom+=f.props.height||Iu.defaultProps.height),b&&r&&(x=u4e(x,s,a,r));var w=d-x.left-x.right,N=u-x.top-x.bottom;return oe(oe({brushBottom:v},x),{},{width:Math.max(w,0),height:Math.max(N,0)})},eFe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},oK=function(t){var r=t.chartName,a=t.GraphicalChild,s=t.defaultTooltipEventType,i=s===void 0?"axis":s,o=t.validateTooltipEventTypes,l=o===void 0?["axis"]:o,c=t.axisComponents,d=t.legendContent,u=t.formatAxisMap,m=t.defaultProps,h=function(x,v){var w=v.graphicalItems,N=v.stackGroups,j=v.offset,k=v.updateId,S=v.dataStartIndex,C=v.dataEndIndex,A=x.barSize,T=x.layout,E=x.barGap,I=x.barCategoryGap,R=x.maxBarSize,P=fM(T),M=P.numericAxisName,O=P.cateAxisName,$=XRe(w),_=[];return w.forEach(function(F,U){var Z=x0(x.data,{graphicalItems:[F],dataStartIndex:S,dataEndIndex:C}),H=F.type.defaultProps!==void 0?oe(oe({},F.type.defaultProps),F.props):F.props,Q=H.dataKey,B=H.maxBarSize,se=H["".concat(M,"Id")],ye=H["".concat(O,"Id")],ne={},xe=c.reduce(function(Kt,z){var J=v["".concat(z.axisType,"Map")],K=H["".concat(z.axisType,"Id")];J&&J[K]||z.axisType==="zAxis"||gc();var le=J[K];return oe(oe({},Kt),{},Be(Be({},z.axisType,le),"".concat(z.axisType,"Ticks"),ji(le)))},ne),W=xe[O],ee=xe["".concat(O,"Ticks")],ae=N&&N[se]&&N[se].hasStack&&S4e(F,N[se].stackGroups),te=Pi(F.type).indexOf("Bar")>=0,Ae=qy(W,ee),ke=[],Oe=$&&c4e({barSize:A,stackGroups:N,totalSize:eFe(xe,O)});if(te){var $e,Ke,Dt=pt(B)?R:B,$t=($e=(Ke=qy(W,ee,!0))!==null&&Ke!==void 0?Ke:Dt)!==null&&$e!==void 0?$e:0;ke=d4e({barGap:E,barCategoryGap:I,bandSize:$t!==Ae?$t:Ae,sizeList:Oe[ye],maxBarSize:Dt}),$t!==Ae&&(ke=ke.map(function(Kt){return oe(oe({},Kt),{},{position:oe(oe({},Kt.position),{},{offset:Kt.position.offset-$t/2})})}))}var nn=F&&F.type&&F.type.getComposedData;nn&&_.push({props:oe(oe({},nn(oe(oe({},xe),{},{displayedData:Z,props:x,dataKey:Q,item:F,bandSize:Ae,barPosition:ke,offset:j,stackedData:ae,layout:T,dataStartIndex:S,dataEndIndex:C}))),{},Be(Be(Be({key:F.key||"item-".concat(U)},M,xe[M]),O,xe[O]),"animationId",k)),childIndex:lye(F,x.children),item:F})}),_},f=function(x,v){var w=x.props,N=x.dataStartIndex,j=x.dataEndIndex,k=x.updateId;if(!DE({props:w}))return null;var S=w.children,C=w.layout,A=w.stackOffset,T=w.data,E=w.reverseStackOrder,I=fM(C),R=I.numericAxisName,P=I.cateAxisName,M=$a(S,a),O=j4e(T,M,"".concat(R,"Id"),"".concat(P,"Id"),A,E),$=c.reduce(function(H,Q){var B="".concat(Q.axisType,"Map");return oe(oe({},H),{},Be({},B,ZRe(w,oe(oe({},Q),{},{graphicalItems:M,stackGroups:Q.axisType===R&&O,dataStartIndex:N,dataEndIndex:j}))))},{}),_=JRe(oe(oe({},$),{},{props:w,graphicalItems:M}),v==null?void 0:v.legendBBox);Object.keys($).forEach(function(H){$[H]=u(w,$[H],_,H.replace("Map",""),r)});var F=$["".concat(P,"Map")],U=QRe(F),Z=h(w,oe(oe({},$),{},{dataStartIndex:N,dataEndIndex:j,updateId:k,graphicalItems:M,stackGroups:O,offset:_}));return oe(oe({formattedGraphicalItems:Z,graphicalItems:M,offset:_,stackGroups:O},U),$)},b=function(p){function x(v){var w,N,j;return MRe(this,x),j=FRe(this,x,[v]),Be(j,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Be(j,"accessibilityManager",new vRe),Be(j,"handleLegendBBoxUpdate",function(k){if(k){var S=j.state,C=S.dataStartIndex,A=S.dataEndIndex,T=S.updateId;j.setState(oe({legendBBox:k},f({props:j.props,dataStartIndex:C,dataEndIndex:A,updateId:T},oe(oe({},j.state),{},{legendBBox:k}))))}}),Be(j,"handleReceiveSyncEvent",function(k,S,C){if(j.props.syncId===k){if(C===j.eventEmitterSymbol&&typeof j.props.syncMethod!="function")return;j.applySyncEvent(S)}}),Be(j,"handleBrushChange",function(k){var S=k.startIndex,C=k.endIndex;if(S!==j.state.dataStartIndex||C!==j.state.dataEndIndex){var A=j.state.updateId;j.setState(function(){return oe({dataStartIndex:S,dataEndIndex:C},f({props:j.props,dataStartIndex:S,dataEndIndex:C,updateId:A},j.state))}),j.triggerSyncEvent({dataStartIndex:S,dataEndIndex:C})}}),Be(j,"handleMouseEnter",function(k){var S=j.getMouseInfo(k);if(S){var C=oe(oe({},S),{},{isTooltipActive:!0});j.setState(C),j.triggerSyncEvent(C);var A=j.props.onMouseEnter;ot(A)&&A(C,k)}}),Be(j,"triggeredAfterMouseMove",function(k){var S=j.getMouseInfo(k),C=S?oe(oe({},S),{},{isTooltipActive:!0}):{isTooltipActive:!1};j.setState(C),j.triggerSyncEvent(C);var A=j.props.onMouseMove;ot(A)&&A(C,k)}),Be(j,"handleItemMouseEnter",function(k){j.setState(function(){return{isTooltipActive:!0,activeItem:k,activePayload:k.tooltipPayload,activeCoordinate:k.tooltipPosition||{x:k.cx,y:k.cy}}})}),Be(j,"handleItemMouseLeave",function(){j.setState(function(){return{isTooltipActive:!1}})}),Be(j,"handleMouseMove",function(k){k.persist(),j.throttleTriggeredAfterMouseMove(k)}),Be(j,"handleMouseLeave",function(k){j.throttleTriggeredAfterMouseMove.cancel();var S={isTooltipActive:!1};j.setState(S),j.triggerSyncEvent(S);var C=j.props.onMouseLeave;ot(C)&&C(S,k)}),Be(j,"handleOuterEvent",function(k){var S=oye(k),C=Da(j.props,"".concat(S));if(S&&ot(C)){var A,T;/.*touch.*/i.test(S)?T=j.getMouseInfo(k.changedTouches[0]):T=j.getMouseInfo(k),C((A=T)!==null&&A!==void 0?A:{},k)}}),Be(j,"handleClick",function(k){var S=j.getMouseInfo(k);if(S){var C=oe(oe({},S),{},{isTooltipActive:!0});j.setState(C),j.triggerSyncEvent(C);var A=j.props.onClick;ot(A)&&A(C,k)}}),Be(j,"handleMouseDown",function(k){var S=j.props.onMouseDown;if(ot(S)){var C=j.getMouseInfo(k);S(C,k)}}),Be(j,"handleMouseUp",function(k){var S=j.props.onMouseUp;if(ot(S)){var C=j.getMouseInfo(k);S(C,k)}}),Be(j,"handleTouchMove",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&j.throttleTriggeredAfterMouseMove(k.changedTouches[0])}),Be(j,"handleTouchStart",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&j.handleMouseDown(k.changedTouches[0])}),Be(j,"handleTouchEnd",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&j.handleMouseUp(k.changedTouches[0])}),Be(j,"handleDoubleClick",function(k){var S=j.props.onDoubleClick;if(ot(S)){var C=j.getMouseInfo(k);S(C,k)}}),Be(j,"handleContextMenu",function(k){var S=j.props.onContextMenu;if(ot(S)){var C=j.getMouseInfo(k);S(C,k)}}),Be(j,"triggerSyncEvent",function(k){j.props.syncId!==void 0&&hj.emit(fj,j.props.syncId,k,j.eventEmitterSymbol)}),Be(j,"applySyncEvent",function(k){var S=j.props,C=S.layout,A=S.syncMethod,T=j.state.updateId,E=k.dataStartIndex,I=k.dataEndIndex;if(k.dataStartIndex!==void 0||k.dataEndIndex!==void 0)j.setState(oe({dataStartIndex:E,dataEndIndex:I},f({props:j.props,dataStartIndex:E,dataEndIndex:I,updateId:T},j.state)));else if(k.activeTooltipIndex!==void 0){var R=k.chartX,P=k.chartY,M=k.activeTooltipIndex,O=j.state,$=O.offset,_=O.tooltipTicks;if(!$)return;if(typeof A=="function")M=A(_,k);else if(A==="value"){M=-1;for(var F=0;F<_.length;F++)if(_[F].value===k.activeLabel){M=F;break}}var U=oe(oe({},$),{},{x:$.left,y:$.top}),Z=Math.min(R,U.x+U.width),H=Math.min(P,U.y+U.height),Q=_[M]&&_[M].value,B=Vk(j.state,j.props.data,M),se=_[M]?{x:C==="horizontal"?_[M].coordinate:Z,y:C==="horizontal"?H:_[M].coordinate}:sK;j.setState(oe(oe({},k),{},{activeLabel:Q,activeCoordinate:se,activePayload:B,activeTooltipIndex:M}))}else j.setState(k)}),Be(j,"renderCursor",function(k){var S,C=j.state,A=C.isTooltipActive,T=C.activeCoordinate,E=C.activePayload,I=C.offset,R=C.activeTooltipIndex,P=C.tooltipAxisBandSize,M=j.getTooltipEventType(),O=(S=k.props.active)!==null&&S!==void 0?S:A,$=j.props.layout,_=k.key||"_recharts-cursor";return L.createElement(CRe,{key:_,activeCoordinate:T,activePayload:E,activeTooltipIndex:R,chartName:r,element:k,isActive:O,layout:$,offset:I,tooltipAxisBandSize:P,tooltipEventType:M})}),Be(j,"renderPolarAxis",function(k,S,C){var A=Da(k,"type.axisType"),T=Da(j.state,"".concat(A,"Map")),E=k.type.defaultProps,I=E!==void 0?oe(oe({},E),k.props):k.props,R=T&&T[I["".concat(A,"Id")]];return y.cloneElement(k,oe(oe({},R),{},{className:vt(A,R.className),key:k.key||"".concat(S,"-").concat(C),ticks:ji(R,!0)}))}),Be(j,"renderPolarGrid",function(k){var S=k.props,C=S.radialLines,A=S.polarAngles,T=S.polarRadius,E=j.state,I=E.radiusAxisMap,R=E.angleAxisMap,P=po(I),M=po(R),O=M.cx,$=M.cy,_=M.innerRadius,F=M.outerRadius;return y.cloneElement(k,{polarAngles:Array.isArray(A)?A:ji(M,!0).map(function(U){return U.coordinate}),polarRadius:Array.isArray(T)?T:ji(P,!0).map(function(U){return U.coordinate}),cx:O,cy:$,innerRadius:_,outerRadius:F,key:k.key||"polar-grid",radialLines:C})}),Be(j,"renderLegend",function(){var k=j.state.formattedGraphicalItems,S=j.props,C=S.children,A=S.width,T=S.height,E=j.props.margin||{},I=A-(E.left||0)-(E.right||0),R=YH({children:C,formattedGraphicalItems:k,legendWidth:I,legendContent:d});if(!R)return null;var P=R.item,M=dM(R,PRe);return y.cloneElement(P,oe(oe({},M),{},{chartWidth:A,chartHeight:T,margin:E,onBBoxUpdate:j.handleLegendBBoxUpdate}))}),Be(j,"renderTooltip",function(){var k,S=j.props,C=S.children,A=S.accessibilityLayer,T=ra(C,Br);if(!T)return null;var E=j.state,I=E.isTooltipActive,R=E.activeCoordinate,P=E.activePayload,M=E.activeLabel,O=E.offset,$=(k=T.props.active)!==null&&k!==void 0?k:I;return y.cloneElement(T,{viewBox:oe(oe({},O),{},{x:O.left,y:O.top}),active:$,label:M,payload:$?P:[],coordinate:R,accessibilityLayer:A})}),Be(j,"renderBrush",function(k){var S=j.props,C=S.margin,A=S.data,T=j.state,E=T.offset,I=T.dataStartIndex,R=T.dataEndIndex,P=T.updateId;return y.cloneElement(k,{key:k.key||"_recharts-brush",onChange:Pg(j.handleBrushChange,k.props.onChange),data:A,x:we(k.props.x)?k.props.x:E.left,y:we(k.props.y)?k.props.y:E.top+E.height+E.brushBottom-(C.bottom||0),width:we(k.props.width)?k.props.width:E.width,startIndex:I,endIndex:R,updateId:"brush-".concat(P)})}),Be(j,"renderReferenceElement",function(k,S,C){if(!k)return null;var A=j,T=A.clipPathId,E=j.state,I=E.xAxisMap,R=E.yAxisMap,P=E.offset,M=k.type.defaultProps||{},O=k.props,$=O.xAxisId,_=$===void 0?M.xAxisId:$,F=O.yAxisId,U=F===void 0?M.yAxisId:F;return y.cloneElement(k,{key:k.key||"".concat(S,"-").concat(C),xAxis:I[_],yAxis:R[U],viewBox:{x:P.left,y:P.top,width:P.width,height:P.height},clipPathId:T})}),Be(j,"renderActivePoints",function(k){var S=k.item,C=k.activePoint,A=k.basePoint,T=k.childIndex,E=k.isRange,I=[],R=S.props.key,P=S.item.type.defaultProps!==void 0?oe(oe({},S.item.type.defaultProps),S.item.props):S.item.props,M=P.activeDot,O=P.dataKey,$=oe(oe({index:T,dataKey:O,cx:C.x,cy:C.y,r:4,fill:VP(S.item),strokeWidth:2,stroke:"#fff",payload:C.payload,value:C.value},xt(M,!1)),gy(M));return I.push(x.renderActiveDot(M,$,"".concat(R,"-activePoint-").concat(T))),A?I.push(x.renderActiveDot(M,oe(oe({},$),{},{cx:A.x,cy:A.y}),"".concat(R,"-basePoint-").concat(T))):E&&I.push(null),I}),Be(j,"renderGraphicChild",function(k,S,C){var A=j.filterFormatItem(k,S,C);if(!A)return null;var T=j.getTooltipEventType(),E=j.state,I=E.isTooltipActive,R=E.tooltipAxis,P=E.activeTooltipIndex,M=E.activeLabel,O=j.props.children,$=ra(O,Br),_=A.props,F=_.points,U=_.isRange,Z=_.baseLine,H=A.item.type.defaultProps!==void 0?oe(oe({},A.item.type.defaultProps),A.item.props):A.item.props,Q=H.activeDot,B=H.hide,se=H.activeBar,ye=H.activeShape,ne=!!(!B&&I&&$&&(Q||se||ye)),xe={};T!=="axis"&&$&&$.props.trigger==="click"?xe={onClick:Pg(j.handleItemMouseEnter,k.props.onClick)}:T!=="axis"&&(xe={onMouseLeave:Pg(j.handleItemMouseLeave,k.props.onMouseLeave),onMouseEnter:Pg(j.handleItemMouseEnter,k.props.onMouseEnter)});var W=y.cloneElement(k,oe(oe({},A.props),xe));function ee(z){return typeof R.dataKey=="function"?R.dataKey(z.payload):null}if(ne)if(P>=0){var ae,te;if(R.dataKey&&!R.allowDuplicatedCategory){var Ae=typeof R.dataKey=="function"?ee:"payload.".concat(R.dataKey.toString());ae=py(F,Ae,M),te=U&&Z&&py(Z,Ae,M)}else ae=F==null?void 0:F[P],te=U&&Z&&Z[P];if(ye||se){var ke=k.props.activeIndex!==void 0?k.props.activeIndex:P;return[y.cloneElement(k,oe(oe(oe({},A.props),xe),{},{activeIndex:ke})),null,null]}if(!pt(ae))return[W].concat(Bu(j.renderActivePoints({item:A,activePoint:ae,basePoint:te,childIndex:P,isRange:U})))}else{var Oe,$e=(Oe=j.getItemByXY(j.state.activeCoordinate))!==null&&Oe!==void 0?Oe:{graphicalItem:W},Ke=$e.graphicalItem,Dt=Ke.item,$t=Dt===void 0?k:Dt,nn=Ke.childIndex,Kt=oe(oe(oe({},A.props),xe),{},{activeIndex:nn});return[y.cloneElement($t,Kt),null,null]}return U?[W,null,null]:[W,null]}),Be(j,"renderCustomized",function(k,S,C){return y.cloneElement(k,oe(oe({key:"recharts-customized-".concat(C)},j.props),j.state))}),Be(j,"renderMap",{CartesianGrid:{handler:_g,once:!0},ReferenceArea:{handler:j.renderReferenceElement},ReferenceLine:{handler:_g},ReferenceDot:{handler:j.renderReferenceElement},XAxis:{handler:_g},YAxis:{handler:_g},Brush:{handler:j.renderBrush,once:!0},Bar:{handler:j.renderGraphicChild},Line:{handler:j.renderGraphicChild},Area:{handler:j.renderGraphicChild},Radar:{handler:j.renderGraphicChild},RadialBar:{handler:j.renderGraphicChild},Scatter:{handler:j.renderGraphicChild},Pie:{handler:j.renderGraphicChild},Funnel:{handler:j.renderGraphicChild},Tooltip:{handler:j.renderCursor,once:!0},PolarGrid:{handler:j.renderPolarGrid,once:!0},PolarAngleAxis:{handler:j.renderPolarAxis},PolarRadiusAxis:{handler:j.renderPolarAxis},Customized:{handler:j.renderCustomized}}),j.clipPathId="".concat((w=v.id)!==null&&w!==void 0?w:Tp("recharts"),"-clip"),j.throttleTriggeredAfterMouseMove=K7(j.triggeredAfterMouseMove,(N=v.throttleDelay)!==null&&N!==void 0?N:1e3/60),j.state={},j}return LRe(x,p),RRe(x,[{key:"componentDidMount",value:function(){var w,N;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(N=this.props.margin.top)!==null&&N!==void 0?N:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,N=w.children,j=w.data,k=w.height,S=w.layout,C=ra(N,Br);if(C){var A=C.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,E=Vk(this.state,j,A,T),I=this.state.tooltipTicks[A].coordinate,R=(this.state.offset.top+k)/2,P=S==="horizontal",M=P?{x:I,y:R}:{y:I,x:R},O=this.state.formattedGraphicalItems.find(function(_){var F=_.item;return F.type.name==="Scatter"});O&&(M=oe(oe({},M),O.props.points[A].tooltipPosition),E=O.props.points[A].tooltipPayload);var $={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:T,activePayload:E,activeCoordinate:M};this.setState($),this.renderCursor(C),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,N){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==N.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var j,k;this.accessibilityManager.setDetails({offset:{left:(j=this.props.margin.left)!==null&&j!==void 0?j:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0}})}return null}},{key:"componentDidUpdate",value:function(w){jN([ra(w.children,Br)],[ra(this.props.children,Br)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=ra(this.props.children,Br);if(w&&typeof w.props.shared=="boolean"){var N=w.props.shared?"axis":"item";return l.indexOf(N)>=0?N:i}return i}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var N=this.container,j=N.getBoundingClientRect(),k=O2e(j),S={chartX:Math.round(w.pageX-k.left),chartY:Math.round(w.pageY-k.top)},C=j.width/N.offsetWidth||1,A=this.inRange(S.chartX,S.chartY,C);if(!A)return null;var T=this.state,E=T.xAxisMap,I=T.yAxisMap,R=this.getTooltipEventType(),P=mM(this.state,this.props.data,this.props.layout,A);if(R!=="axis"&&E&&I){var M=po(E).scale,O=po(I).scale,$=M&&M.invert?M.invert(S.chartX):null,_=O&&O.invert?O.invert(S.chartY):null;return oe(oe({},S),{},{xValue:$,yValue:_},P)}return P?oe(oe({},S),P):null}},{key:"inRange",value:function(w,N){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=this.props.layout,S=w/j,C=N/j;if(k==="horizontal"||k==="vertical"){var A=this.state.offset,T=S>=A.left&&S<=A.left+A.width&&C>=A.top&&C<=A.top+A.height;return T?{x:S,y:C}:null}var E=this.state,I=E.angleAxisMap,R=E.radiusAxisMap;if(I&&R){var P=po(I);return G_({x:S,y:C},P)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,N=this.getTooltipEventType(),j=ra(w,Br),k={};j&&N==="axis"&&(j.props.trigger==="click"?k={onClick:this.handleClick}:k={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var S=gy(this.props,this.handleOuterEvent);return oe(oe({},S),k)}},{key:"addListener",value:function(){hj.on(fj,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){hj.removeListener(fj,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,N,j){for(var k=this.state.formattedGraphicalItems,S=0,C=k.length;S<C;S++){var A=k[S];if(A.item===w||A.props.key===w.key||N===Pi(A.item.type)&&j===A.childIndex)return A}return null}},{key:"renderClipPath",value:function(){var w=this.clipPathId,N=this.state.offset,j=N.left,k=N.top,S=N.height,C=N.width;return L.createElement("defs",null,L.createElement("clipPath",{id:w},L.createElement("rect",{x:j,y:k,height:S,width:C})))}},{key:"getXScales",value:function(){var w=this.state.xAxisMap;return w?Object.entries(w).reduce(function(N,j){var k=cM(j,2),S=k[0],C=k[1];return oe(oe({},N),{},Be({},S,C.scale))},{}):null}},{key:"getYScales",value:function(){var w=this.state.yAxisMap;return w?Object.entries(w).reduce(function(N,j){var k=cM(j,2),S=k[0],C=k[1];return oe(oe({},N),{},Be({},S,C.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(w){var N;return(N=this.state.xAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getYScaleByAxisId",value:function(w){var N;return(N=this.state.yAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getItemByXY",value:function(w){var N=this.state,j=N.formattedGraphicalItems,k=N.activeItem;if(j&&j.length)for(var S=0,C=j.length;S<C;S++){var A=j[S],T=A.props,E=A.item,I=E.type.defaultProps!==void 0?oe(oe({},E.type.defaultProps),E.props):E.props,R=Pi(E.type);if(R==="Bar"){var P=(T.data||[]).find(function(_){return gIe(w,_)});if(P)return{graphicalItem:A,payload:P}}else if(R==="RadialBar"){var M=(T.data||[]).find(function(_){return G_(w,_)});if(M)return{graphicalItem:A,payload:M}}else if(d0(A,k)||u0(A,k)||Uf(A,k)){var O=v_e({graphicalItem:A,activeTooltipItem:k,itemData:I.data}),$=I.activeIndex===void 0?O:I.activeIndex;return{graphicalItem:oe(oe({},A),{},{childIndex:$}),payload:Uf(A,k)?I.data[O]:A.props.data[O]}}}return null}},{key:"render",value:function(){var w=this;if(!DE(this))return null;var N=this.props,j=N.children,k=N.className,S=N.width,C=N.height,A=N.style,T=N.compact,E=N.title,I=N.desc,R=dM(N,TRe),P=xt(R,!1);if(T)return L.createElement(q5,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},L.createElement(kN,vd({},P,{width:S,height:C,title:E,desc:I}),this.renderClipPath(),LE(j,this.renderMap)));if(this.props.accessibilityLayer){var M,O;P.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,P.role=(O=this.props.role)!==null&&O!==void 0?O:"application",P.onKeyDown=function(_){w.accessibilityManager.keyboardEvent(_)},P.onFocus=function(){w.accessibilityManager.focus()}}var $=this.parseEventsOfWrapper();return L.createElement(q5,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},L.createElement("div",vd({className:vt("recharts-wrapper",k),style:oe({position:"relative",curs
820or:"default",width:S,height:C},A)},$,{ref:function(F){w.container=F}}),L.createElement(kN,vd({},P,{width:S,height:C,title:E,desc:I,style:qRe}),this.renderClipPath(),LE(j,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(y.Component);Be(b,"displayName",r),Be(b,"defaultProps",oe({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},m)),Be(b,"getDerivedStateFromProps",function(p,x){var v=p.dataKey,w=p.data,N=p.children,j=p.width,k=p.height,S=p.layout,C=p.stackOffset,A=p.margin,T=x.dataStartIndex,E=x.dataEndIndex;if(x.updateId===void 0){var I=hM(p);return oe(oe(oe({},I),{},{updateId:0},f(oe(oe({props:p},I),{},{updateId:0}),x)),{},{prevDataKey:v,prevData:w,prevWidth:j,prevHeight:k,prevLayout:S,prevStackOffset:C,prevMargin:A,prevChildren:N})}if(v!==x.prevDataKey||w!==x.prevData||j!==x.prevWidth||k!==x.prevHeight||S!==x.prevLayout||C!==x.prevStackOffset||!Rd(A,x.prevMargin)){var R=hM(p),P={chartX:x.chartX,chartY:x.chartY,isTooltipActive:x.isTooltipActive},M=oe(oe({},mM(x,w,S)),{},{updateId:x.updateId+1}),O=oe(oe(oe({},R),P),M);return oe(oe(oe({},O),f(oe({props:p},O),x)),{},{prevDataKey:v,prevData:w,prevWidth:j,prevHeight:k,prevLayout:S,prevStackOffset:C,prevMargin:A,prevChildren:N})}if(!jN(N,x.prevChildren)){var $,_,F,U,Z=ra(N,Iu),H=Z&&($=(_=Z.props)===null||_===void 0?void 0:_.startIndex)!==null&&$!==void 0?$:T,Q=Z&&(F=(U=Z.props)===null||U===void 0?void 0:U.endIndex)!==null&&F!==void 0?F:E,B=H!==T||Q!==E,se=!pt(w),ye=se&&!B?x.updateId:x.updateId+1;return oe(oe({updateId:ye},f(oe(oe({props:p},x),{},{updateId:ye,dataStartIndex:H,dataEndIndex:Q}),x)),{},{prevChildren:N,dataStartIndex:H,dataEndIndex:Q})}return null}),Be(b,"renderActiveDot",function(p,x,v){var w;return y.isValidElement(p)?w=y.cloneElement(p,x):ot(p)?w=p(x):w=L.createElement(HP,x),L.createElement(jr,{className:"recharts-active-dot",key:v},w)});var g=y.forwardRef(function(x,v){return L.createElement(b,vd({},x,{ref:v}))});return g.displayName=b.displayName,g},yc=oK({chartName:"LineChart",GraphicalChild:ya,axisComponents:[{axisType:"xAxis",AxisComp:ma},{axisType:"yAxis",AxisComp:ha}],formatAxisMap:SG}),lK=oK({chartName:"BarChart",GraphicalChild:wl,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:ma},{axisType:"yAxis",AxisComp:ha}],formatAxisMap:SG});function Mg(){Hu("/user/:id");const{user:e}=Gt(),t=Np(e==null?void 0:e.preferredLanguage),[r,a]=y.useState(!1),{toast:s}=dt(),[i,o]=y.useState("idle"),[l,c]=y.useState(3),[d,u]=y.useState(0),[m,h]=y.useState(null),[f,b]=y.useState(new Array(20).fill(0)),g=y.useRef(null),p=y.useRef([]),x=y.useRef(null),v=y.useRef(null),w=y.useRef(null),N=y.useRef(0),j=y.useRef(null),k=y.useRef(null),S=y.useRef(null),C=y.useRef(null);She();const A=(e==null?void 0:e.id)||"",[T,E]=y.useState(null),{data:I,isLoading:R}=De({queryKey:[`/api/users/${A}/meetings`],staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,refetchInterval:W=>{var te;const ee=(te=W.state.data)==null?void 0:te.some(Ae=>Ae.analysisStatus==="pending"||Ae.analysisStatus==="processing"),ae=T&&Date.now()-T<6e4;return ee||ae?2e3:!1}}),{data:P}=De({queryKey:["/api/live-recording-sessions"],refetchInterval:5e3}),M=()=>{E(Date.now()),Qe.invalidateQueries({queryKey:[`/api/users/${A}/meetings`]})},O=async()=>{await Qe.invalidateQueries({queryKey:[`/api/users/${A}/meetings`]})},{containerRef:$,isPulling:_,isRefreshing:F,pullDistance:U,pullDirection:Z}=Che({onRefresh:O,pullDownThreshold:80,maxPullDown:150}),H=(I==null?void 0:I.slice(0,4))||[];I&&(I.length,I.reduce((W,ee)=>W+ee.grammarCount,0),I.reduce((W,ee)=>W+ee.fillerCount,0),I.reduce((W,ee)=>W+ee.clarityCount,0),I.reduce((W,ee)=>W+ee.salesCount,0)),y.useEffect(()=>{const ee=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg","audio/wav"].find(ae=>MediaRecorder.isTypeSupported(ae));ee&&h(ee)},[]);const Q=()=>{if(!(e!=null&&e.id)){s({title:t.dashboard.authRequired,description:t.dashboard.pleaseLogin,variant:"destructive"});return}if(!m){s({title:t.dashboard.notSupported,description:t.dashboard.browserNotSupport,variant:"destructive"});return}o("countdown"),c(3);let W=3;j.current=setInterval(()=>{W--,W>0?c(W):(j.current&&(clearInterval(j.current),j.current=null),ye())},1e3)},B=()=>{j.current&&(clearInterval(j.current),j.current=null),o("idle"),c(3)},se=()=>
820{if(!S.current)return;const W=new Uint8Array(S.current.frequencyBinCount);S.current.getByteFrequencyData(W);const ee=20,ae=Math.floor(W.length/ee),te=[];for(let Ae=0;Ae<ee;Ae++){let ke=0;for(let $e=0;$e<ae;$e++)ke+=W[Ae*ae+$e];const Oe=ke/ae;te.push(Math.min(100,Oe/255*100))}b(te),C.current=requestAnimationFrame(se)},ye=async()=>{try{const W=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}});v.current=W,w.current=`session-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,N.current=0;const ee=new AudioContext,ae=ee.createAnalyser();ae.fftSize=256,ae.smoothingTimeConstant=.7,ee.createMediaStreamSource(W).connect(ae),k.current=ee,S.current=ae;const Ae={mimeType:m},ke=new MediaRecorder(W,Ae);g.current=ke,p.current=[],ke.ondataavailable=async Oe=>{if(Oe.data.size>0){const $e=N.current++;p.current.push(Oe.data);try{const Ke=new FormData;Ke.append("chunk",Oe.data),Ke.append("sessionId",w.current),Ke.append("chunkIndex",$e.toString()),Ke.append("mimeType",m),Ke.append("title",`Live Recording ${new Date().toLocaleString()}`),await fetch("/api/meetings/live-chunk",{method:"POST",body:Ke,credentials:"include"})}catch(Ke){console.error("Failed to upload chunk:",Ke)}}},ke.start(1e3),o("recording"),u(0),se(),x.current=setInterval(()=>{u(Oe=>Oe+1)},1e3)}catch(W){console.error("Error starting recording:",W),o("idle"),s({title:t.dashboard.micDenied,description:t.dashboard.allowMic,variant:"destructive"})}},ne=()=>{if(g.current&&i==="recording"){if(d<3){s({title:t.dashboard.tooShort,description:t.dashboard.recordAtLeast,variant:"destructive"});return}const W=w.current;g.current.stop(),x.current&&(clearInterval(x.current),x.current=null),C.current&&(cancelAnimationFrame(C.current),C.current=null),k.current&&(k.current.close(),k.current=null,S.current=null),b(new Array(20).fill(0)),v.current&&(v.current.getTracks().forEach(ee=>ee.stop()),v.current=null),o("idle"),u(0),setTimeout(()=>{W&&fetch("/api/meetings/live-finalize",{method:"POST",body:JSON.stringify({sessionId:W}),headers:{"Content-Type":"application/json"},credentials:"include"}).then(async ee=>{ee.ok&&(E(Date.now()),await Qe.invalidateQueries({queryKey:[`/api/users/${A}/meetings`]}),s({title:t.dashboard.recordingComplete,description:t.dashboard.meetingReady}))}).catch(ee=>console.error("Finalize error:",ee)),p.current=[],w.current=null,N.current=0},500),s({title:t.dashboard.recordingStopped,description:t.dashboard.processingBackground})}},xe=W=>{const ee=Math.floor(W/60),ae=W%60;return`${ee.toString().padStart(2,"0")}:${ae.toString().padStart(2,"0")}`};return n.jsxs("div",{ref:$,className:"min-h-screen bg-background pb-24",children:[n.jsx(lt,{noIndex:!0,title:"Dashboard | SpeakFlare",description:"Your SpeakFlare dashboard"}),Z==="top"&&n.jsx("div",{className:"sticky top-0 left-0 right-0 flex items-center justify-center transition-all duration-300 z-50 pointer-events-none",style:{height:`${U}px`,opacity:U>0?1:0},children:n.jsx("div",{className:"p-2",children:n.jsx(_n,{className:`h-6 w-6 text-primary ${F?"animate-spin":""}`})})}),n.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs("div",{className:"flex items-start justify-between gap-4 mb-4",children:[n.jsx("div",{className:"flex-1",children:n.jsx(Phe,{})}),n.jsx("div",{className:"flex-shrink-0 mt-0.5",children:n.jsx(cfe,{})})]}),n.jsx(Whe,{open:r,onClose:()=>a(!1),onRecordingComplete:M}),P&&P.length>0&&n.jsx("div",{className:"mb-8",children:n.jsx("div",{className:"bg-primary/5 dark:bg-primary/10 rounded-md border border-primary/10 p-5",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-12 h-12 bg-primary/20 flex items-center justify-center flex-shrink-0",children:n.jsx("div",{className:"w-6 h-1.5 bg-primary/30 overflow-hidden",children:n.jsx("div",{className:"h-full w-1/2 bg-primary animate-[loading-bar_1s_ease-in-out_infinite]"})})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("h4",{className:"font-semibold text-lg text-foreground mb-2",children:[P.length," ",P.length===1?t.dashboard.processingRecording:t.dashboard.processingRecordings]}),P.map((W,ee)=>{const ae=W.lastChunkAt?Math.floor((Date.now()-new Date(W.lastChunkAt).getTime())/6e4):0,te=ae>=2;
820return n.jsxs("div",{className:`p-3 mt-2 first:mt-0 ${ee%2===0?"bg-muted":"bg-card"}`,children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"font-medium text-foreground",children:W.title||t.dashboard.untitled}),te&&n.jsx("span",{className:"text-xs bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-400 px-2 py-0.5",children:t.dashboard.autoProcessing})]}),n.jsxs("div",{className:"text-sm text-muted-foreground mt-1",children:[W.chunkCount," ",W.chunkCount===1?t.dashboard.chunk:t.dashboard.chunks," •",t.dashboard.started," ",new Date(W.createdAt).toLocaleTimeString(),ae>0&&` • ${t.dashboard.idle} ${ae}m`]})]},W.sessionId)}),n.jsxs("div",{className:"flex items-center justify-between mt-3",children:[n.jsx("p",{className:"text-sm text-primary font-medium",children:t.dashboard.stuckNote}),n.jsx(Uhe,{})]})]})]})})}),n.jsx("div",{className:"mb-10",children:n.jsxs("div",{className:"bg-card border border-border shadow-sm rounded-md p-8 flex flex-col items-center justify-center",children:[n.jsx("button",{onClick:i==="idle"?Q:i==="countdown"?B:i==="recording"?ne:void 0,disabled:!(e!=null&&e.id),"data-testid":"button-record-live",className:"group relative w-36 h-36 sm:w-44 sm:h-44 rounded-full transition-all duration-300 hover:scale-105 active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100 bg-primary rec-glow",children:n.jsxs("div",{className:"absolute inset-3 sm:inset-4 rounded-full flex items-center justify-center bg-white dark:bg-gray-100",children:[i==="idle"&&n.jsx(Ze,{className:"w-12 h-12 sm:w-16 sm:h-16 text-primary"}),i==="countdown"&&n.jsx("span",{className:"text-5xl sm:text-6xl font-bold text-primary",children:l}),i==="recording"&&n.jsx("div",{className:"flex flex-col items-center",children:n.jsx(cp,{className:"h-10 w-10 sm:h-12 sm:w-12 text-primary",fill:"currentColor"})})]})}),n.jsxs("div",{className:"mt-6 text-center",children:[i==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-xl font-semibold text-foreground block",children:t.dashboard.startRecording}),n.jsx("span",{className:"text-sm text-muted-foreground mt-1 block",children:t.dashboard.tapToBegin})]}),i==="countdown"&&n.jsx("span",{className:"text-xl font-semibold text-primary",children:t.dashboard.getReady}),i==="recording"&&n.jsxs("div",{className:"flex flex-col items-center gap-3",children:[n.jsx("div",{className:"flex items-end justify-center gap-0.5 h-12 w-full max-w-xs","data-testid":"audio-visualizer",children:f.map((W,ee)=>n.jsx("div",{className:"w-2 bg-primary transition-all duration-75",style:{height:`${Math.max(4,W*.48)}px`,opacity:.5+W/200}},ee))}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-primary animate-pulse"}),n.jsx("span",{className:"text-xl font-semibold text-primary",children:t.dashboard.recording})]}),n.jsx("span",{className:"text-3xl font-mono font-bold text-foreground",children:xe(d)}),n.jsx("span",{className:"text-sm text-muted-foreground",children:t.dashboard.tapToStop})]})]})]})}),n.jsxs("div",{className:"mb-6 grid grid-cols-1 sm:grid-cols-2 gap-4",children:[n.jsx(ufe,{}),n.jsx("div",{className:"flex items-stretch",children:n.jsx(Mq,{})})]}),n.jsxs("div",{className:"mb-6 grid grid-cols-2 sm:grid-cols-4 gap-3",children:[n.jsx(Fe,{href:"/goals",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex flex-col items-center gap-2 cursor-pointer card-hover text-center",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 rounded-md flex items-center justify-center",children:n.jsx(rr,{className:"h-4 w-4 text-primary"})}),n.jsx("span",{className:"text-xs font-medium text-foreground",children:"Set a Goal"})]})}),n.jsx(Fe,{href:"/comparison",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex flex-col items-center gap-2 cursor-pointer card-hover text-center",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 rounded-md flex items-center justify-center",children:n.jsx(Zv,{className:"h-4 w-4 text-primary"})}),n.jsx("span",{className:"text-xs font-medium text-foreground",children:"Compare Meetings"})]})}),n.jsx(Fe,{href:"/ai-coach",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex flex-col items-center gap-2 cursor-pointer card-hover text-center",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 rounded-md flex items-center justify-center",children:n.jsx(O1,{className:"h-4 w-4 text-primary"})}),n.jsx("span",{className:"text-xs font-medium text-foreground",children:"Ask AI Coach"})]})}),n.jsx(Fe,{href:"/referral",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex flex-col items-center gap-2 cursor-pointer card-hover text-center",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 rounded-md flex items-center justify-center",children:n.jsx(dp,{className:"h-4 w-4 text-primary"})}),n.jsx("span",{className:"text-xs font-medium text-foreground",children:"Invite Friends"})]})})]}),n.jsx("div",{className:"mb-6",children:n.jsx(gfe,{})}),n.jsxs("div",{className:"mb-8",children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsx("h2",{className:"text-xl font-semibold text-foreground",children:t.dashboard.recentMeetings}),n.jsx(Fe,{href:"/meetings",children:n.jsx(D,{variant:"ghost",size:"sm","data-testid":"link-all-meetings",children:t.dashboard.viewAll})})]}),R?n.jsx("div",{className:"flex items-center justify-center py-12",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):H.length===0?n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-12 text-center",children:[n.jsx("h3",{className:"text-lg font-semibold mb-2",children:t.dashboard.noMeetingsYet}),n.jsx("p",{className:"text-muted-foreground mb-6",children:t.dashboard.uploadFirst}),n.jsx(Fe,{href:"/meetings",children:n.jsx(D,{"data-testid":"button-upload-first",size:"lg",children:t.dashboard.uploadFirstMeeting})})]}):n.jsx("div",{className:"bg-card border border-border rounded-md shadow-sm overflow-hidden",children:H.map((W,ee)=>{const ae=H[ee+1],te=W.grammarCount+W.fillerCount+W.clarityCount+W.salesCount,Ae=ae?ae.grammarCount+ae.fillerCount+ae.clarityCount+ae.salesCount:null,ke=Ae!==null?Ae-te:null,Oe=()=>ke===null?null:ke>0?n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-green-100 dark:bg-green-900/30 text-green-600 dark:text-green-400","data-testid":"progress-improving",children:[n.jsx(kc,{className:"h-3 w-3"}),n.jsxs("span",{className:"text-xs font-medium",children:["-",ke]})]}):ke<0?n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400","data-testid":"progress-declining",children:[n.jsx(it,{className:"h-3 w-3"}),n.jsxs("span",{className:"text-xs font-medium",children:["+",Math.abs(ke)]})]}):n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted text-muted-foreground","data-testid":"progress-same",children:[n.jsx(lp,{className:"h-3 w-3"}),n.jsx("span",{className:"text-xs font-medium",children:t.dashboard.same})]}),Ke=new Date(W.date).toLocaleDateString();return n.jsx(Fe,{href:`/meeting/${W.id}`,children:n.jsx("div",{className:`px-4 py-4 cursor-pointer transition-colors hover:bg-accent ${ee%2===0?"bg-muted":"bg-card"}`,"data-testid":`card-recent-meeting-${W.id}`,children:n.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("h3",{className:"font-medium text-base truncate",children:W.title}),W.keywords&&W.keywords.length>0&&n.jsx("div",{className:"flex gap-1 mt-1 flex-wrap","data-testid":`keywords-container-${W.id}`,children:W.keywords.slice(0,4).map((Dt,$t)=>n.jsx("span",{className:"text-xs px-2 py-0.5 bg-primary/10 text-primary","data-testid":`keyword-${W.id}-${$t}`,children:Dt},$t))}),n.jsx("span",{className:"text-sm text-muted-foreground",children:Ke}),n.jsxs("div",{className:"flex items-center gap-3 mt-2 flex-wrap",children:[W.grammarCount>0&&n.jsxs("span",{className:"text-xs font-medium text-red-600 dark:text-red-400",children:["Grammar: ",W.grammarCount]}),W.fillerCount>0&&n.jsxs("span",{className:"text-xs font-medium text-yellow-600 dark:text-yellow-400",children:["Filler: ",W.f
820illerCount]}),W.clarityCount>0&&n.jsxs("span",{className:"text-xs font-medium text-blue-600 dark:text-blue-400",children:["Clarity: ",W.clarityCount]}),W.salesCount>0&&n.jsxs("span",{className:"text-xs font-medium text-orange-600 dark:text-orange-400",children:["Sales: ",W.salesCount]})]})]}),n.jsxs("div",{className:"flex flex-col items-end gap-2 flex-shrink-0",children:[Oe(),n.jsxs("div",{className:"text-center px-3 py-2 bg-primary/10",children:[n.jsx("div",{className:"text-2xl font-bold text-primary",children:te}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.dashboard.issues})]})]})]})})},W.id)})})]}),I&&I.length>=2&&n.jsxs("div",{className:"mb-8",children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsx("h2",{className:"text-xl font-semibold text-foreground",children:t.dashboard.yourProgress}),n.jsx(Fe,{href:"/progress",children:n.jsx(D,{variant:"ghost",size:"sm","data-testid":"link-detailed-progress",children:t.dashboard.viewDetails})})]}),n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("div",{className:"h-56",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:I.slice(0,8).reverse().map((W,ee)=>({name:new Date(W.date).toLocaleDateString(void 0,{month:"short",day:"numeric"}),total:W.grammarCount+W.fillerCount+W.clarityCount+W.salesCount,grammar:W.grammarCount,filler:W.fillerCount,clarity:W.clarityCount,sales:W.salesCount})),margin:{top:10,right:10,left:-20,bottom:0},children:[n.jsx(ma,{dataKey:"name",tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(ha,{tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(Br,{contentStyle:{backgroundColor:"hsl(var(--card))",borderRadius:"6px",padding:"12px 16px",border:"1px solid hsl(var(--border))"},labelStyle:{fontWeight:"bold",marginBottom:"4px"}}),n.jsx(ya,{type:"monotone",dataKey:"total",stroke:"hsl(var(--primary))",strokeWidth:3,dot:{r:4,fill:"hsl(var(--primary))"},activeDot:{r:6,fill:"hsl(var(--primary))"},name:t.dashboard.totalIssues})]})})}),n.jsx("div",{className:"flex items-center justify-center mt-4 pt-4 ",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-4 h-1 bg-primary"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:t.dashboard.totalIssues})]})})]})]}),n.jsx("div",{className:"mt-8",children:n.jsx(pfe,{})})]}),Z==="bottom"&&n.jsx("div",{className:"sticky bottom-0 left-0 right-0 flex items-center justify-center transition-all duration-300 z-50 pointer-events-none",style:{height:`${U}px`,opacity:U>0?1:0},children:n.jsx("div",{className:"p-2",children:n.jsx(_n,{className:`h-6 w-6 text-primary ${F?"animate-spin":""}`})})})]})}const tFe=Ede,cK=y.createContext({}),pM=({...e})=>n.jsx(cK.Provider,{value:{name:e.name},children:n.jsx(Ode,{...e})}),y0=()=>{const e=y.useContext(cK),t=y.useContext(dK),{getFieldState:r,formState:a}=jb(),s=r(e.name,a);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...s}},dK=y.createContext({}),qk=y.forwardRef(({className:e,...t},r)=>{const a=y.useId();return n.jsx(dK.Provider,{value:{id:a},children:n.jsx("div",{ref:r,className:_e("space-y-2",e),...t})})});qk.displayName="FormItem";const Hk=y.forwardRef(({className:e,...t},r)=>{const{error:a,formItemId:s}=y0();return n.jsx(zt,{ref:r,className:_e(a&&"text-destructive",e),htmlFor:s,...t})});Hk.displayName="FormLabel";const Gk=y.forwardRef(({...e},t)=>{const{error:r,formItemId:a,formDescriptionId:s,formMessageId:i}=y0();return n.jsx(Kz,{ref:t,id:a,"aria-describedby":r?`${s} ${i}`:`${s}`,"aria-invalid":!!r,...e})});Gk.displayName="FormControl";const rFe=y.forwardRef(({className:e,...t},r)=>{const{formDescriptionId:a}=y0();return n.jsx("p",{ref:r,id:a,className:_e("text-sm text-muted-foreground",e),...t})});rFe.displayName="FormDescription";const Kk=y.forwardRef(({className:e,children:t,...r},a)=>{const{error:s,formMessageId:i}=y0(),o=s?String((s==null?void 0:s.message)??""):t;return o?n.jsx("p",{ref:a,id:i,className:_e("text-sm font-medium text-destructive",e),...r,children:o}):null});Kk.displayName="FormMessage";const Rc=y.forwardRef(({className:e,...t},r)=>n.jsx("textarea",{className:_e("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));Rc.displayName="Textarea";var gj="rovingFocusGroup.onEntryFocus",nFe={bubbles:!1,cancelable:!0},v0="RovingFocusGroup",[Yk,uK,aFe]=Ku(v0),[sFe,b0]=rn(v0,[aFe]),[iFe,oFe]=sFe(v0),mK=y.forwardRef((e,t)=>
vendor: 4,560 bytes, line 820
820n.jsx(Yk.Provider,{scope:e.__scopeRovingFocusGroup,children:n.jsx(Yk.Slot,{scope:e.__scopeRovingFocusGroup,children:n.jsx(lFe,{...e,ref:t})})}));mK.displayName=v0;var lFe=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:a,loop:s=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:u=!1,...m}=e,h=y.useRef(null),f=tt(t,h),b=sm(i),[g=null,p]=Kn({prop:o,defaultProp:l,onChange:c}),[x,v]=y.useState(!1),w=en(d),N=uK(r),j=y.useRef(!1),[k,S]=y.useState(0);return y.useEffect(()=>{const C=h.current;if(C)return C.addEventListener(gj,w),()=>C.removeEventListener(gj,w)},[w]),n.jsx(iFe,{scope:r,orientation:a,dir:b,loop:s,currentTabStopId:g,onItemFocus:y.useCallback(C=>p(C),[p]),onItemShiftTab:y.useCallback(()=>v(!0),[]),onFocusableItemAdd:y.useCallback(()=>S(C=>C+1),[]),onFocusableItemRemove:y.useCallback(()=>S(C=>C-1),[]),children:n.jsx(Me.div,{tabIndex:x||k===0?-1:0,"data-orientation":a,...m,ref:f,style:{outline:"none",...e.style},onMouseDown:ge(e.onMouseDown,()=>{j.current=!0}),onFocus:ge(e.onFocus,C=>{const A=!j.current;if(C.target===C.currentTarget&&A&&!x){const T=new CustomEvent(gj,nFe);if(C.currentTarget.dispatchEvent(T),!T.defaultPrevented){const E=N().filter(O=>O.focusable),I=E.find(O=>O.active),R=E.find(O=>O.id===g),M=[I,R,...E].filter(Boolean).map(O=>O.ref.current);pK(M,u)}}j.current=!1}),onBlur:ge(e.onBlur,()=>v(!1))})})}),hK="RovingFocusGroupItem",fK=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:a=!0,active:s=!1,tabStopId:i,...o}=e,l=Gn(),c=i||l,d=oFe(hK,r),u=d.currentTabStopId===c,m=uK(r),{onFocusableItemAdd:h,onFocusableItemRemove:f}=d;return y.useEffect(()=>{if(a)return h(),()=>f()},[a,h,f]),n.jsx(Yk.ItemSlot,{scope:r,id:c,focusable:a,active:s,children:n.jsx(Me.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...o,ref:t,onMouseDown:ge(e.onMouseDown,b=>{a?d.onItemFocus(c):b.preventDefault()}),onFocus:ge(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:ge(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){d.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const g=uFe(b,d.orientation,d.dir);if(g!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let x=m().filter(v=>v.focusable).map(v=>v.ref.current);if(g==="last")x.reverse();else if(g==="prev"||g==="next"){g==="prev"&&x.reverse();const v=x.indexOf(b.currentTarget);x=d.loop?mFe(x,v+1):x.slice(v+1)}setTimeout(()=>pK(x))}})})})});fK.displayName=hK;var cFe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function dFe(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function uFe(e,t,r){const a=dFe(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(a))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(a)))return cFe[a]}function pK(e,t=!1){const r=document.activeElement;for(const a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}function mFe(e,t){return e.map((r,a)=>e[(t+a)%e.length])}var gK=mK,xK=fK,rT="Tabs",[hFe,z8e]=rn(rT,[b0]),yK=b0(),[fFe,nT]=hFe(rT),vK=y.forwardRef((e,t)=>{const{__scopeTabs:r,value:a,onValueChange:s,defaultValue:i,orientation:o="horizontal",dir:l,activationMode:c="automatic",...d}=e,u=sm(l),[m,h]=Kn({prop:a,onChange:s,defaultProp:i});return n.jsx(fFe,{scope:r,baseId:Gn(),value:m,onValueChange:h,orientation:o,dir:u,activationMode:c,children:n.jsx(Me.div,{dir:u,"data-orientation":o,...d,ref:t})})});vK.displayName=rT;var bK="TabsList",wK=y.forwardRef((e,t)=>{const{__scopeTabs:r,loop:a=!0,...s}=e,i=nT(bK,r),o=yK(r);return n.jsx(gK,{asChild:!0,...o,orientation:i.orientation,dir:i.dir,loop:a,children:n.jsx(Me.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});wK.displayName=bK;var jK="TabsTrigger",NK=y.forwardRef((e,t)=>{const{__scopeTabs:r,value:a,disabled:s=!1,...i}=e,o=nT(jK,r),l=yK(r),c=CK(o.baseId,a),d=PK(o.baseId,a),u=a===o.value;return n.jsx(xK,{asChild:!0,...l,focusable:!s,active:u,children:n.jsx(Me.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":d,"data-state":u?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:c,...i,ref:t,onMouseDown:ge(e.onMouseDown,m=>{!s&&m.button===0&&m.ctrlKey===!1?o.onValueChange(a):m.preventDefault()}),onKeyDown:ge(e.onKeyDown,m=>{[" ","Enter"].includes(m.key)&&o.onValueChange(a)}),onFocus:ge(e.onFocus,()=>{const m=o.activationMode!=="manual";!u&&!s&&m&&o.onValueChange(a)})})})});NK.displayName=jK;var kK="TabsContent",SK=y.forwardRef((e,t)=>
820{const{__scopeTabs:r,value:a,forceMount:s,children:i,...o}=e,l=nT(kK,r),c=CK(l.baseId,a),d=PK(l.baseId,a),u=a===l.value,m=y.useRef(u);return y.useEffect(()=>{const h=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(h)},[]),n.jsx(Yn,{present:s||u,children:({present:h})=>n.jsx(Me.div,{"data-state":u?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":c,hidden:!h,id:d,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:m.current?"0s":void 0},children:h&&i})})});SK.displayName=kK;function CK(e,t){return`${e}-trigger-${t}`}function PK(e,t){return`${e}-content-${t}`}var pFe=vK,TK=wK,AK=NK,EK=SK;const IK=pFe,_K=y.forwardRef(({className:e,...t},r)=>n.jsx(TK,{ref:r,className:_e("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));_K.displayName=TK.displayName;const Zk=y.forwardRef(({className:e,...t},r)=>n.jsx(AK,{ref:r,className:_e("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t}));Zk.displayName=AK.displayName;const go=y.forwardRef(({className:e,...t},r)=>n.jsx(EK,{ref:r,className:_e("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));go.displayName=EK.displayName;const gFe=["20 full recording analyses","Grammar, filler words, clarity & pace","Per-speaker breakdown","50+ languages","Credits never expire"];function aT({open:e,onClose:t}){const{toast:r}=dt(),[a,s]=y.useState(null),i=async(o,l)=>{const c=`${o}-${l}`;s(c);try{const u=await fetch(l==="paypal"?"/api/payments/paypal/create":"/api/payments/payerurl/create",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({plan:o})});if(!u.ok){const h=await u.json();throw new Error(h.error||"Failed to start payment")}const m=await u.json();m.url&&(window.location.href=m.url)}catch(d){r({title:"Payment failed",description:d.message||"Please try again.",variant:"destructive"}),s(null)}};return n.jsx(Tc,{open:e,onOpenChange:o=>{o||t()},children:n.jsx(fl,{className:"max-w-md p-0 overflow-hidden",children:n.jsxs("div",{className:"relative bg-background p-6",children:[n.jsx("button",{onClick:t,className:"absolute top-4 right-4 text-muted-foreground hover:text-foreground transition-colors","aria-label":"Close",children:n.jsx(Ra,{className:"h-5 w-5"})}),n.jsxs(Ac,{className:"mb-5",children:[n.jsx(Ec,{className:"text-2xl font-bold",children:"Get more recordings"}),n.jsx("p",{className:"text-muted-foreground mt-1",children:"Pay as you go — no subscription. Buy a pack and analyze your calls whenever you want."})]}),n.jsxs("div",{className:"border-2 border-primary rounded-xl p-5 flex flex-col relative",children:[n.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-semibold px-3 py-1 rounded-full",children:"Best value"}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(Ze,{className:"h-5 w-5 text-primary"}),n.jsx("div",{className:"text-lg font-bold",children:"20 Recordings"})]}),n.jsxs("div",{className:"text-4xl font-extrabold mt-1",children:["$5",n.jsx("span",{className:"text-base font-normal text-muted-foreground",children:" one-time"})]}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Just $0.25 per analyzed recording"}),n.jsx("ul",{className:"space-y-1.5 my-4",children:gFe.map(o=>n.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-green-500 mt-0.5 shrink-0"}),n.jsx("span",{children:o})]},o))}),n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsxs(D,{className:"w-full gap-2",onClick:()=>i("pack20","paypal"),disabled:!!a,children:[a==="pack20-paypal"?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):null,"Buy with PayPal or Card"]}),n.jsxs(D,{variant:"outline",className:"w-full gap-2 text-orange-600 border-orange-300 hover:bg-orange-50",onClick:()=>i("pack20","payerurl"),disabled:!!a,children:[a==="pack20-payerurl"?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):null,"💰 Pay with Crypto"]})]})]}),n.jsxs("div",{className:"mt-5 pt-4 border-t border-border/60",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:"Analyze a lot? Go unlimited instead:"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsxs(D,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>i("monthly","paypal"),disabled:!!a,children:[a==="monthly-paypal"?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):null,"Pro $12/mo"]}),n.jsxs(D,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>i("annual","paypal"),disabled:!!a,children:[a==="annual-paypal"?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):null,"Pro $99/yr"]})]})]})]})})})}const xFe=hl({userId:Or().min(1),title:Or().min(1,"Title is required"),transcript:Or().min(10,"Transcript must be at least 10 characters")});function yFe(){const{toast:e}=dt(),[t,r]=y.useState(!1),[a,s]=y.useState(!1),[i,o]=y.useState(null),[l,c]=y.useState(""),[d,u]=y.useState(!1),[m,h]=y.useState(null),[f,b]=y.useState(1),g=y.useRef(null),{user:p}=Gt(),x=Np(p==null?void 0:p.preferredLanguage),v=_z(),w=(p==null?void 0:p.id)||"",N=10,{data:j,isLoading:k}=De({queryKey:[`/api/users/${w}/meetings`],staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0,refetchInterval:B=>{var ne;const se=(ne=B.state.data)==null?void 0:ne.some(xe=>xe.analysisStatus==="pending"||xe.analysisStatus==="processing"),ye=m&&Date.now()-m<6e4;return se||ye?1e3:3e3}}),{data:S}=De({queryKey:["/api/live-recording-sessions"],refetchInterval:2e3}),C=Ve({mutationFn:async B=>{const se=await fetch("/api/meetings",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(B)});if(!se.ok){const ye=await se.json();throw new Error(ye.error||"Failed to save meeting")}return await se.json()},onSuccess:()=>{Qe.invalidateQueries({queryKey:[`/api/users/${w}/meetings`]}),e({title:x.meetings.uploadedSuccess,description:x.meetings.uploadedDesc}),r(!1),E.reset()},onError:B=>{e({title:x.meetings.uploadFailed,description:B.message||x.meetings.uploadFailedDesc,variant:"destructive"})}}),A=Ve({mutationFn:async B=>{const se=new FormData;se.append("file",B),se.append("title",l||B.name.replace(/\.[^/.]+$/,"")),p!=null&&p.preferredLanguage&&p.preferredLanguage!=="en"&&se.append("languageOverride",p.preferredLanguage);const ye=await fetch("/api/meetings/upload",{method:"POST",credentials:"include",body:se});if(!ye.ok){const ne=await ye.json();throw new Error(ne.error||"Failed to upload file")}return await ye.json()},onSuccess:()=>{h(Date.now()),Qe.invalidateQueries({queryKey:[`/api/users/${w}/meetings`]}),e({title:x.meetings.fileUploaded,description:x.meetings.fileUploadedDesc}),r(!1),o(null),c("")},onError:B=>{e({title:x.meetings.uploadFailed,description:B.message||x.meetings.fileUploadFailed,variant:"destructive"})}}),T=Ve({mutationFn:async B=>{const se=await fetch(`/api/meetings/${B}/reanalyze`,{method:"POST",credentials:"include"});if(!se.ok){const ye=await se.json();throw new Error(ye.error||"Failed to retry analysis")}return await se.json()},onSuccess:()=>{Qe.invalidateQueries({queryKey:[`/api/users/${w}/meetings`]}),e({title:x.meetings.analysisRestarted,description:x.meetings.analysisRestartedDesc})},onError:B=>{e({title:x.meetings.retryFailed,description:B.message||x.meetings.retryFailedDesc,variant:"destructive"})}}),E=OC({resolver:RC(xFe),defaultValues:{userId:w,title:"",transcript:""}}),I=B=>{C.mutate(B)},R=B=>{var ye;const se=(ye=B.target.files)==null?void 0:ye[0];se&&(o(se),l||c(se.name.replace(/\.[^/.]+$/,"")))},P=B=>{B.preventDefault(),u(!1);const se=B.dataTransfer.files[0];if(se){const ye=se.name.toLowerCase().split(".").pop();["m4a","mp4","mp3","wav","mov"].includes(ye||"")?(o(se),l||c(se.name.replace(/\.[^/.]+$/,""))):e({title:x.meetings.invalidFileType,description:x.meetings.invalidFileDesc,variant:"destructive"})}},M=()=>{i&&A.mutate(i)},O=B=>B<=5?"text-green-600 dark:text-green-400":B<=12?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400",$=j||[],_=Math.ceil($.length/N),F=(f-1)*N,U=F+N,Z=$.slice(F,U);y.useEffect(()=>{_>0&&f>_&&b(_)},[_,f]);const H=B=>{const se=Math.max(1,Math.min(B,_||1));b(se),window.scrollTo({top:0,behavior:"smooth"})};y.useEffect(()=>{v.includes("upgraded=1")&&e({title:x.meetings.welcomePro,description:x.meetings.welcomeProDesc})},[v]);const Q=(j||[]).some(B=>B.analysisStatus==="paywalled");return n.jsxs("div",{className:"min-h-screen bg-background pb-24",children:[n.jsx(aT,{open:a,onClose:()=>s(!1)}),n.jsx(lt,{noIndex:!0,title:"My Meetings | SpeakFlare",description:"Your recorded meetings and communication analysis"}),n.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[p&&!p.telegramChatId&&n.jsxs("div",{className:"mb-6 flex items-center justify-between gap-4 px-4 py-3 bg-primary/5 border border-primary/20 rounded-md",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("span",{className:"text-xl",children:"📱"}),n.jsx("span",{className:"text-sm font-medium",children:x.meetings.telegramBanner})]}),n.jsx("a",{href:"/profile",className:"shrink-0",children:n.jsx(D,{size:"sm",variant:"outline",className:"gap-1.5",children:x.meetings.connectTelegram})})]}),Q&&n.jsxs("div",{className:"mb-6 flex items-center justify-between gap-4 px-4 py-3 bg-yellow-500/10 border border-yellow-500/30 rounded-md",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("span",{className:"text-xl",children:"⚡"}),n.jsx("span",{className:"text-sm font-medium",children:x.meetings.paywallBanner})]}),n.jsxs(D,{size:"sm",onClick:()=>s(!0),className:"shrink-0",children:[x.common.upgrade," →"]})]}),n.jsxs("div",{className:"mb-8 flex items-center justify-between",children:[n.jsx("h1",{className:"text-2xl font-bold text-foreground",children:x.meetings.title}),n.jsxs(Tc,{open:t,onOpenChange:r,children:[n.jsx(Dhe,{asChild:!0,children:n.jsxs(D,{"data-testid":"button-upload-meeting",className:"gap-2 shadow-md",children:[n.jsx(Pd,{className:"h-4 w-4"}),n.jsx("span",{children:x.meetings.uploadMeeting})]})}),n.jsxs(fl,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[n.jsx(Ac,{children:n.jsx(Ec,{children:x.meetings.uploadMeeting})}),n.jsxs(IK,{defaultValue:"file",className:"w-full",children:[n.jsxs(_K,{className:"grid w-full grid-cols-2 h-auto p-0 bg-transparent border-b border-border",children:[n.jsxs(Zk,{value:"file","data-testid":"tab-upload-file",className:"flex items-center justify-center h-auto py-3 px-4 bg-transparent border-0 border-b-2 border-transparent roun
820ded-none data-[state=active]:border-b-primary data-[state=active]:bg-transparent",children:[n.jsx(R1,{className:"h-4 w-4 mr-2"}),x.meetings.uploadAudio]}),n.jsxs(Zk,{value:"text","data-testid":"tab-paste-text",className:"flex items-center justify-center h-auto py-3 px-4 bg-transparent border-0 border-b-2 border-transparent rounded-none data-[state=active]:border-b-primary data-[state=active]:bg-transparent",children:[n.jsx(Pd,{className:"h-4 w-4 mr-2"}),x.meetings.uploadManual]})]}),n.jsx(go,{value:"file",className:"space-y-4 mt-4",children:n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("label",{className:"text-sm font-medium",children:x.meetings.meetingTitle}),n.jsx(Et,{placeholder:x.meetings.titlePlaceholder,value:l,onChange:B=>c(B.target.value),className:"mt-1.5","data-testid":"input-file-title"})]}),n.jsxs("div",{className:`border-2 border-solid rounded-md p-8 text-center cursor-pointer transition-colors ${d?"border-primary bg-primary/5":"border-muted-foreground/25 hover:border-primary/50"}`,onDragOver:B=>{B.preventDefault(),u(!0)},onDragLeave:()=>u(!1),onDrop:P,onClick:()=>{var B;return(B=g.current)==null?void 0:B.click()},"data-testid":"dropzone-file-upload",children:[i?n.jsxs("div",{className:"space-y-2",children:[n.jsx(R1,{className:"h-12 w-12 mx-auto text-primary"}),n.jsx("p",{className:"font-medium",children:i.name}),n.jsxs("p",{className:"text-sm text-muted-foreground",children:[(i.size/1024/1024).toFixed(2)," MB"]}),n.jsx(D,{type:"button",variant:"outline",size:"sm",onClick:B=>{B.stopPropagation(),o(null)},children:x.common.remove})]}):n.jsxs("div",{className:"space-y-2",children:[n.jsx(Pd,{className:"h-12 w-12 mx-auto text-muted-foreground"}),n.jsx("p",{className:"font-medium",children:x.meetings.clickOrDrag}),n.jsx("p",{className:"text-sm text-muted-foreground",children:x.meetings.audioFormats}),n.jsx("p",{className:"text-xs text-muted-foreground",children:x.meetings.maxSize})]}),n.jsx("input",{ref:g,type:"file",accept:".m4a,.mp4,.mp3,.wav,.mov,audio/*,video/*",onChange:R,className:"hidden","data-testid":"input-file-upload"})]}),n.jsxs("div",{className:"flex gap-3 justify-end pt-2",children:[n.jsx(D,{type:"button",variant:"outline",onClick:()=>{r(!1),o(null),c("")},disabled:A.isPending,"data-testid":"button-cancel-file",children:x.common.cancel}),n.jsxs(D,{onClick:M,disabled:!i||A.isPending,"data-testid":"button-upload-file",children:[A.isPending&&n.jsx(Ce,{className:"h-4 w-4 mr-2 animate-spin"}),A.isPending?x.meetings.transcribing:x.meetings.uploadAnalyze]})]})]})}),n.jsx(go,{value:"text",className:"mt-4",children:n.jsx(tFe,{...E,children:n.jsxs("form",{onSubmit:E.handleSubmit(I),className:"space-y-6",children:[n.jsx(pM,{control:E.control,name:"title",render:({field:B})=>n.jsxs(qk,{children:[n.jsx(Hk,{children:x.meetings.meetingTitle}),n.jsx(Gk,{children:n.jsx(Et,{placeholder:x.meetings.titlePlaceholder,...B,"data-testid":"input-meeting-title"})}),n.jsx(Kk,{})]})}),n.jsx(pM,{control:E.control,name:"transcript",render:({field:B})=>n.jsxs(qk,{children:[n.jsx(Hk,{children:"Transcript"}),n.jsx(Gk,{children:n.jsx(Rc,{placeholder:x.meetings.pasteTranscript,className:"min-h-[300px] resize-y",...B,"data-testid":"input-meeting-transcript"})}),n.jsx(Kk,{})]})}),n.jsxs("div",{className:"flex gap-3 justify-end",children:[n.jsx(D,{type:"button",variant:"outline",onClick:()=>r(!1),disabled:C.isPending,"data-testid":"button-cancel",children:x.common.cancel}),n.jsxs(D,{type:"submit",disabled:C.isPending,"data-testid":"button-submit",children:[C.isPending&&n.jsx(Ce,{className:"h-4 w-4 mr-2 animate-spin"}),C.isPending?x.meetings.uploading:x.meetings.uploadAnalyze]})]})]})})})]})]})]})]}),S&&S.length>0&&n.jsxs("div",{className:"mb-6 bg-muted/50  p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[n.jsx(Ce,{className:"h-5 w-5 text-primary animate-spin"}),n.jsxs("h4",{className:"font-medium text-foreground",children:["Processing ",S.length," ",S.length===1?x.meetings.processingRecording:x.meetings.processingRecordings]})]}),n.jsx("div",{className:"divide-y divide-border",children:S.map(B=>n.jsxs("div",{className:"py-2",children:[n.jsx("div",{className:"font-medium text-foreground text-sm",children:B.title||"Untitled Recording"}),n.jsxs("div",{className:"text-xs text-muted-foreground mt-0.5",children:[B.chunkCount," ",B.chunkCount===1?"chunk":"chunks"," • Started ",new Date(B.createdAt).toLocaleTimeString()]})]},B.sessionId))}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:x.meetings.autoProcessing})]}),k?n.jsx("div",{className:"flex items-center justify-center py-12",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):Z.length===0?n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-12 text-center",children:[n.jsx("h3",{className:"text-xl font-semibold mb-2",children:x.meetings.noMeetingsYet}),n.jsx("p",{className:"text-muted-foreground mb-6",children:x.meetings.uploadFirst}),n.jsx(D,{onClick:()=>r(!0),"data-testid":"button-upload-first",size:"lg",children:x.meetings.uploadMeeting})]}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"bg-card border border-border rounded-md shadow-sm overflow-hidden",children:Z.map((B,se)=>{const ye=new Date(B.date),ne=ye.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),xe=ye.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"}),W=B.grammarCount+B.fillerCount+B.clarityCount+B.salesCount,ee=B.analysisStatus==="pending"||B.analysisStatus==="processing",ae=B.analysisStatus==="failed",te=B.analysisStatus==="paywalled",Ae=B.analysisStatus==="complete",ke=B.analysisStatus==="partial",Oe=B.transcript&&B.transcript.trim().length>0,$e=(Ae||ke)&&Oe,Ke=se%2===0,Dt=ee&&B.processingSince&&Date.now()-new Date(B.processingSince).getTime()>3*60*1e3,$t=B.transcript?B.transcript.slice(0,100)+(B.transcript.length>100?"...":""):null,nn=n.jsxs("div",{className:"flex items-center justify-between gap-4",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-foreground",children:B.title}),$t&&n.jsx("div",{className:"text-sm text-muted-foreground mt-0.5 line-clamp-1","data-testid":`preview-${B.id}`,children:$t}),B.keywords&&B.keywords.length>0&&n.jsx("div",{className:"flex gap-1 mt-1 flex-wrap","data-testid":`keywords-container-${B.id}`,children:B.keywords.slice(0,5).map((z,J)=>n.jsx("span",{className:"text-xs px-2 py-0.5 bg-primary/10 text-primary","data-testid":`keyword-${B.id}-${J}`,children:z},J))}),n.jsxs("div",{className:"text-sm text-muted-foreground mt-0.5",children:[ne," at ",xe]}),ee&&n.jsx("div",{className:"text-sm text-primary mt-1",children:x.meetings.analyzingMsg}),ae&&n.jsx("div",{className:"text-sm text-destructive mt-1",children:x.meetings.analysisFailed}),te&&n.jsx("div",{className:"text-sm text-yellow-600 mt-1",children:x.meetings.upgradeToAnalyze}),ke&&n.jsxs("div",{className:"text-xs text-primary/70 mt-1",children:[x.meetings.partialUpgradePrompt," →"]})]}),n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4 flex-shrink-0",children:[$e&&n.jsxs("div",{className:"hidden sm:flex items-center gap-3 text-sm",children:[B.grammarCount>0&&n.jsx("span",{className:"text-red-600 dark:text-red-400 font-medium",children:B.grammarCount}),B.fillerCount>0&&n.jsx("span",{className:"text-yellow-600 dark:text-yellow-400 font-medium",children:B.fillerCount}),B.clarityCount>
8200&&n.jsx("span",{className:"text-blue-600 dark:text-blue-400 font-medium",children:B.clarityCount}),B.salesCount>0&&n.jsx("span",{className:"text-orange-600 dark:text-orange-400 font-medium",children:B.salesCount}),ke&&n.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-primary/10 text-primary font-medium rounded",children:x.meetings.partialChip})]}),$e?n.jsx("div",{className:`text-xl sm:text-2xl font-bold ${O(W)}`,children:W}):ee?n.jsx("div",{className:"w-12 h-1.5 bg-primary/30 overflow-hidden",children:n.jsx("div",{className:"h-full w-1/2 bg-primary animate-[loading-bar_1s_ease-in-out_infinite]"})}):ae&&!Dt?n.jsx(D,{size:"sm",variant:"outline",onClick:z=>{z.preventDefault(),z.stopPropagation(),T.mutate(B.id)},disabled:T.isPending,"data-testid":`button-retry-${B.id}`,children:x.common.retry}):te?n.jsx(D,{size:"sm",onClick:z=>{z.preventDefault(),z.stopPropagation(),s(!0)},children:x.common.upgrade}):null]})]}),Kt=`px-4 py-4 ${Ke?"bg-muted":"bg-card"} ${$e?"cursor-pointer hover:bg-accent transition-colors":""} ${ee?"opacity-70":""}`;return $e?n.jsx(Fe,{href:`/meeting/${B.id}`,children:n.jsx("div",{className:Kt,"data-testid":`row-meeting-${B.id}`,children:nn})},B.id):n.jsx("div",{className:Kt,"data-testid":`row-meeting-${B.id}`,children:nn},B.id)})}),_>1&&n.jsxs("div",{className:"mt-6 flex items-center justify-center gap-3 p-4 bg-card border border-border rounded-md shadow-sm",children:[n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>H(f-1),disabled:f===1,"data-testid":"button-prev-page",children:[n.jsx(Gv,{className:"h-4 w-4 mr-1"}),x.common.previous]}),n.jsx("div",{className:"flex items-center gap-2",children:Array.from({length:_},(B,se)=>se+1).map(B=>B===1||B===_||B>=f-1&&B<=f+1?n.jsx(D,{variant:f===B?"default":"ghost",size:"sm",onClick:()=>H(B),"data-testid":`button-page-${B}`,className:`min-w-[2.5rem] ${f===B?"font-bold":""}`,children:B},B):B===f-2||B===f+2?n.jsx("span",{className:"px-2 text-muted-foreground",children:"..."},B):null)}),n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>H(f+1),disabled:f===_,"data-testid":"button-next-page",children:[x.common.next,n.jsx(Xs,{className:"h-4 w-4 ml-1"})]})]})]})]})]})}const vFe=Qu("whitespace-nowrap inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover-elevate ",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow-xs",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow-xs",outline:" border [border-color:var(--badge-outline)] shadow-xs"}},defaultVariants:{variant:"default"}});function ve({className:e,variant:t,...r}){return n.jsx("div",{className:_e(vFe({variant:t}),e),...r})}var sT="Collapsible",[bFe,MK]=rn(sT),[wFe,iT]=bFe(sT),OK=y.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:a,defaultOpen:s,disabled:i,onOpenChange:o,...l}=e,[c=!1,d]=Kn({prop:a,defaultProp:s,onChange:o});return n.jsx(wFe,{scope:r,disabled:i,contentId:Gn(),open:c,onOpenToggle:y.useCallback(()=>d(u=>!u),[d]),children:n.jsx(Me.div,{"data-state":dT(c),"data-disabled":i?"":void 0,...l,ref:t})})});OK.displayName=sT;var RK="CollapsibleTrigger",oT=y.forwardRef((e,t)=>{const{__scopeCollapsible:r,...a}=e,s=iT(RK,r);return n.jsx(Me.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":dT(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...a,ref:t,onClick:ge(e.onClick,s.onOpenToggle)})});oT.displayName=RK;var lT="CollapsibleContent",cT=y.forwardRef((e,t)=>{const{forceMount:r,...a}=e,s=iT(lT,e.__scopeCollapsible);return n.jsx(Yn,{present:r||s.open,children:({present:i})=>n.jsx(jFe,{...a,ref:t,present:i})})});cT.displayName=lT;var jFe=y.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:a,children:s,...i}=e,o=iT(lT,r),[l,c]=y.useState(a),d=y.useRef(null),u=tt(t,d),m=y.useRef(0),h=m.current,f=y.useRef(0),b=f.current,g=o.open||l,p=y.useRef(g),x=y.useRef(void 0);return y.useEffect(()=>{const v=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(v)},[]),Ar(()=>{const v=d.current;if(v){x.current=x.current||{transitionDuration:v.style.transitionDuration,animationName:v.style.animationName},v.style.transitionDuration="0s",v.style.animationName="none";const w=v.getBoundingClientRect();
820m.current=w.height,f.current=w.width,p.current||(v.style.transitionDuration=x.current.transitionDuration,v.style.animationName=x.current.animationName),c(a)}},[o.open,a]),n.jsx(Me.div,{"data-state":dT(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!g,...i,ref:u,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:g&&s})});function dT(e){return e?"open":"closed"}var FK=OK,NFe=oT,kFe=cT;const Ns=FK,ks=oT,Ss=cT;var uT="Avatar",[SFe,B8e]=rn(uT),[CFe,DK]=SFe(uT),$K=y.forwardRef((e,t)=>{const{__scopeAvatar:r,...a}=e,[s,i]=y.useState("idle");return n.jsx(CFe,{scope:r,imageLoadingStatus:s,onImageLoadingStatusChange:i,children:n.jsx(Me.span,{...a,ref:t})})});$K.displayName=uT;var LK="AvatarImage",zK=y.forwardRef((e,t)=>{const{__scopeAvatar:r,src:a,onLoadingStatusChange:s=()=>{},...i}=e,o=DK(LK,r),l=PFe(a,i),c=en(d=>{s(d),o.onImageLoadingStatusChange(d)});return Ar(()=>{l!=="idle"&&c(l)},[l,c]),l==="loaded"?n.jsx(Me.img,{...i,ref:t,src:a}):null});zK.displayName=LK;var BK="AvatarFallback",WK=y.forwardRef((e,t)=>{const{__scopeAvatar:r,delayMs:a,...s}=e,i=DK(BK,r),[o,l]=y.useState(a===void 0);return y.useEffect(()=>{if(a!==void 0){const c=window.setTimeout(()=>l(!0),a);return()=>window.clearTimeout(c)}},[a]),o&&i.imageLoadingStatus!=="loaded"?n.jsx(Me.span,{...s,ref:t}):null});WK.displayName=BK;function gM(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function PFe(e,{referrerPolicy:t,crossOrigin:r}){const a=AFe(),s=y.useRef(null),i=a?(s.current||(s.current=new window.Image),s.current):null,[o,l]=y.useState(()=>gM(i,e));return Ar(()=>{l(gM(i,e))},[i,e]),Ar(()=>{const c=m=>()=>{l(m)};if(!i)return;const d=c("loaded"),u=c("error");return i.addEventListener("load",d),i.addEventListener("error",u),t&&(i.referrerPolicy=t),typeof r=="string"&&(i.crossOrigin=r),()=>{i.removeEventListener("load",d),i.removeEventListener("error",u)}},[i,r,t]),o}function TFe(){return()=>{}}function AFe(){return y.useSyncExternalStore(TFe,()=>!0,()=>!1)}var UK=$K,VK=zK,qK=WK;const Ld=y.forwardRef(({className:e,...t},r)=>n.jsx(UK,{ref:r,className:_e(`
821      after:content-[''] after:block after:absolute after:inset-0 after:rounded-full after:pointer-events-none after:border after:border-black/10 dark:after:border-white/10
822      relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full`,e),...t}));Ld.displayName=UK.displayName;const Ch=y.forwardRef(({className:e,...t},r)=>n.jsx(VK,{ref:r,className:_e("aspect-square h-full w-full",e),...t}));Ch.displayName=VK.displayName;const zd=y.forwardRef(({className:e,...t},r)=>n.jsx(qK,{ref:r,className:_e("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));zd.displayName=qK.displayName;const EFe=["אממ","אה","כאילו","אממממ","אהה"],IFe=["um","uh","umm","uhh","emm","ehh","like"];function HK(e){const t={hebrew:"he",english:"en",spanish:"es",french:"fr",german:"de",italian:"it",portuguese:"pt",russian:"ru",japanese:"ja",korean:"ko",chinese:"zh",arabic:"ar",hindi:"hi",turkish:"tr",dutch:"nl",polish:"pl",swedish:"sv",danish:"da",norwegian:"no",finnish:"fi"},r=e.toLowerCase().trim();return t[r]||r.split("-")[0]}function _Fe(e){const t=HK(e),r={en:{grammar:"Grammar",filler:"Filler Word",clarity:"Clarity",sales:"Sales/Presentation"},ru:{grammar:"Грамматика",filler:"Слово-паразит",clarity:"Ясность",sales:"Продажи/Презентация"},he:{grammar:"דקדוק",filler:"מילת מילוי",clarity:"בהירות",sales:"מכירות/מצגת"},es:{grammar:"Gramática",filler:"Muletilla",clarity:"Claridad",sales:"Ventas/Presentación"},ar:{grammar:"القواعد",filler:"كلمة حشو",clarity:"الوضوح",sales:"المبيعات/العرض"},zh:{grammar:"语法",filler:"填充词",clarity:"清晰度",sales:"销售/演示"}};return r[t]||r.en}function xM({segments:e,transcript:t,analysis:r,language:a="en",onSeek:s,selectedSpeaker:i,onSpeakerChange:o}){const[l,c]=y.useState(null),[d,u]=y.useState(null),m=HK(a),h=m==="he"||m==="ar",f=_Fe(a),b=i!==void 0?i:d,g=o||u,p=y.useMemo(()=>{var M;if(!e||e.length===0)return"";const P=e[0];return`${e.length}-${((M=P.text)==null?void 0:M.slice(0,50))||""}-${P.timestamp||""}`},[e]);y.useEffect(()=>{o||u(null)},[p,o]);const x=(P,M)=>!M||typeof M!="object"?P:P.map((O,$)=>{const _=[],F=O.text.toLowerCase();return["grammar","filler","clarity","sales"].forEach(U=>{const Z=M[U];
822!(Z!=null&&Z.issues)||!Array.isArray(Z.issues)||Z.issues.forEach((H,Q)=>{var ye,ne;const B=(ye=H.word)==null?void 0:ye.toLowerCase();if(!B)return;const se=F.indexOf(B);se>=0&&_.push({type:U,word:H.word,position:se,suggestion:H.fixed||H.suggestion||((ne=H.suggestions)==null?void 0:ne[0])||"",example:H.example||`${H.wrong} → ${H.fixed}`||""})})}),{...O,issues:_}}),v=(P,M)=>{const O=Math.floor(P?P/1e3:M||0),$=Math.floor(O/60),_=O%60;return`${$}:${_.toString().padStart(2,"0")}`};let w=e||(()=>{if(!t)return[];if(typeof t=="string"&&t.trim().startsWith("["))try{const M=JSON.parse(t);if(Array.isArray(M))return M.map(O=>({timestamp:O.timestamp||v(O.startMs,O.start)||"0:00",text:O.text||O.content||"",speaker:O.speaker,words:O.words,startMs:O.startMs,endMs:O.endMs,start:O.start,end:O.end,issues:O.issues||[]}))}catch{}return(typeof t=="string"?t:String(t)).split(/\n\n+/).filter(M=>M.trim()).map((M,O)=>({timestamp:`${Math.floor(O*30/60)}:${String(O*30%60).padStart(2,"0")}`,text:M.trim(),issues:[]}))})();r&&w.some(P=>!P.issues||P.issues.length===0)&&(w=x(w,r));const N=P=>{const M=P.toLowerCase().replace(/[.,!?;:'"()]/g,"").trim();return EFe.includes(M)||IFe.includes(M)},j=P=>{const M=Math.floor(P/60),O=Math.floor(P%60);return`${M}:${O.toString().padStart(2,"0")}`},k=P=>{switch(P){case"grammar":return"bg-red-100 text-red-800 border-red-300 hover:bg-red-200 dark:bg-red-950/50 dark:text-red-400 dark:border-red-800";case"filler":return"bg-yellow-100 text-yellow-800 border-yellow-300 hover:bg-yellow-200 dark:bg-yellow-950/50 dark:text-yellow-400 dark:border-yellow-800";case"clarity":return"bg-blue-100 text-blue-800 border-blue-300 hover:bg-blue-200 dark:bg-blue-950/50 dark:text-blue-400 dark:border-blue-800";case"sales":return"bg-orange-100 text-orange-800 border-orange-300 hover:bg-orange-200 dark:bg-orange-950/50 dark:text-orange-400 dark:border-orange-800";default:return"bg-gray-100 text-gray-800 border-gray-300 hover:bg-gray-200"}},S=P=>f[P]||P,C=(P,M)=>{if(!P.match(/→|->|—/))return null;const[$,_]=P.split(/→|->|—/).map(H=>H.trim()),F=_.match(/\[add:\s*([^\]]+)\]/);if(F){const H=_.match(/(\S+)\s+\[add:/);return{type:"add",word:F[1].trim().replace(/['"]/g,""),wordBefore:H?H[1].trim():null,fullCorrection:_}}const U=$.match(/\[([^\]]+)\]/),Z=_.match(/\[([^\]]+)\]/);return U&&Z?{type:"replace",oldWord:U[1].trim(),newWord:Z[1].trim(),fullCorrection:_}:U&&!_.match(/\[/)?{type:"delete",word:U[1].trim(),fullCorrection:_}:null},A=(P,M,O)=>{if(!P||P.length===0)return{wordElements:null,expandedPanel:null};const $=[];let _=0,F=null;const U=Z=>{s&&s(Z)};return P.forEach((Z,H)=>{const Q=Z.word,B=Z.start,se=j(B),ye=N(Q),ne=M.find(xe=>xe.position>=_&&xe.position<_+Q.length);if(ye)$.push(n.jsx("button",{type:"button",onClick:()=>U(B),className:"inline-flex items-baseline group mx-0.5 focus:outline-none","data-testid":`filler-word-${H}`,children:n.jsx("span",{className:"bg-yellow-100 dark:bg-yellow-950/50 text-yellow-800 dark:text-yellow-400 px-1.5 py-0.5 rounded font-medium cursor-pointer transition-colors hover:bg-yellow-200 dark:hover:bg-yellow-900/50 hover:scale-105",title:`Click to play from ${se}`,children:Q})},`word-${H}`));else if(ne){const xe=`${O}-${H}`,W=l===xe,ee=C(ne.example,ne.word);$.push(n.jsxs("span",{className:"inline-flex items-baseline gap-0.5 mx-0.5",children:[n.jsx("button",{type:"button",onClick:ae=>{ae.preventDefault(),ae.stopPropagation(),c(W?null:xe)},className:`${k(ne.type)} px-1.5 py-0.5 rounded cursor-pointer transition-colors inline-flex items-center gap-0.5 border-0 p-0 m-0 font-inherit text-inherit`,"data-testid":`highlight-${ne.type}-${H}`,title:"Click to see details",children:n.jsx("span",{children:Q})}),n.jsx("button",{type:"button",onClick:ae=>{ae.preventDefault(),ae.stopPropagation(),c(W?null:xe)},onMouseDown:ae=>ae.preventDefault(),className:"cursor-pointer transition-transform hover:scale-110 focus:outline-none p-0","data-testid":`arrow-expand-${ne.type}-${H}`,title:"Click to see details",children:n.jsx(Jt,{className:`h-3 w-3 transition-transform ${W?"rotate-180":""}`})}),ee&&n.jsxs("span",{className:"ms-1",children:[ee.type==="replace"&&n.jsxs("span",{className:"text-green-600 dark:text-green-400 font-medium",children:["→ ",ee.newWord]}),ee.type==="delete"&&n.jsx("span",{className:"text-red-600 dark:text-red-400 font-medium line-through",children:"[remove]"})]})]},`word-${H}`)),W&&(F=n.jsxs("div",{className:"mt-2 mb-1 p-3 text-sm space-y-3 bg-muted/30 rounded-md",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(ve,{variant:"outline",className:"text-xs",children:S(ne.type)}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:se})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"What you said:"}),n.jsx("p",{className:"italic text-muted-foreground",children:Q})]}),ee&&n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"Say this instead:"}),ee.type==="replace"&&n.jsx("p",{className:"text-green-600 dark:text-green-400 font-medium",children:ee.newWord}),ee.type==="delete"&&n.jsx("p",{className:"text-red-600 dark:text-red-400 line-through",children:"Remove this word"})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"Why it matters:"}),n.jsx("p",{className:"text-muted-foreground",children:ne.suggestion})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"How to avoid:"}),n.jsx("p",{className:"italic text-muted-foreground",children:ne.example})]})]},`panel-${xe}`))}else $.push(n.jsx("button",{type:"button",onClick:()=>U(B),className:"inline-flex items-baseline group mx-0.5 cursor-pointer hover:text-primary transition-colors focus:outline-none",title:`Click to play from ${se}`,"data-testid":`word-${H}`,children:n.jsx("span",{className:"hover:underline",children:Q})},`word-${H}`));_+=Q.length+1}),{wordElements:n.jsx("div",{className:"flex flex-wrap gap-1",children:$}),expandedPanel:F}},T=(P,M,O)=>{if(M.length===0)return n.jsx("span",{children:P});const $=[],_=[];M.forEach(Q=>{const B=C(Q.example,Q.word);(B==null?void 0:B.type)==="add"&&B.wordBefore?$.push({issue:Q,correction:B,consumed:!1}):_.push(Q)});const F=P.split(/(\s+)/),U=[];let Z=0,H=0;for(let Q=0;Q<F.length;Q++){const B=F[Q];
822if(/^\s+$/.test(B)){U.push(n.jsx("span",{children:B},`space-${Q}`)),H+=B.length;continue}const se=_.find(xe=>xe.position>=H&&xe.position<H+B.length);if(se){const xe=`${O}-${_.indexOf(se)}`,W=l===xe,ee=C(se.example,se.word);U.push(n.jsxs("span",{className:"inline-flex items-baseline flex-col",children:[n.jsxs("span",{className:"inline-flex items-baseline gap-0.5",children:[n.jsx("button",{type:"button",onClick:ae=>{ae.preventDefault(),ae.stopPropagation(),c(W?null:xe)},className:`${k(se.type)} px-1.5 py-0.5 rounded cursor-pointer transition-colors inline-flex items-center gap-0.5 border-0 bg-none p-0 m-0 font-inherit text-inherit`,"data-testid":`highlight-${se.type}-${Z}`,children:n.jsx("span",{children:B})}),n.jsx("button",{type:"button",onClick:ae=>{ae.preventDefault(),ae.stopPropagation(),c(W?null:xe)},onMouseDown:ae=>ae.preventDefault(),className:"cursor-pointer transition-transform hover:scale-110 focus:outline-none p-0","data-testid":`arrow-expand-${se.type}-${Z}`,title:"Click to see details",children:n.jsx(Jt,{className:`h-3 w-3 transition-transform ${W?"rotate-180":""}`})})]}),W&&n.jsxs("div",{className:"mt-2 mb-1 p-3 text-sm space-y-3",children:[n.jsx("div",{className:"flex items-center gap-2",children:n.jsx(ve,{variant:"outline",className:"text-xs",children:S(se.type)})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"What you said:"}),n.jsx("p",{className:"italic text-muted-foreground",children:B})]}),ee&&n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"Say this instead:"}),ee.type==="replace"&&n.jsx("p",{className:"text-green-600 dark:text-green-400 font-medium",children:ee.newWord}),ee.type==="delete"&&n.jsx("p",{className:"text-red-600 dark:text-red-400 line-through",children:"Remove this word"})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"Why it matters:"}),n.jsx("p",{className:"text-muted-foreground",children:se.suggestion})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-xs mb-1",children:"How to avoid:"}),n.jsx("p",{className:"italic text-muted-foreground",children:se.example})]})]}),ee&&ee.type!=="add"&&n.jsxs("span",{className:"ml-1",children:[ee.type==="replace"&&n.jsxs("span",{className:"text-green-600 dark:text-green-400 font-medium","data-testid":`correction-replace-${Z}`,children:["→ ",ee.newWord]}),ee.type==="delete"&&n.jsx("span",{className:"text-red-600 dark:text-red-400 font-medium line-through","data-testid":`correction-delete-${Z}`,children:"[remove]"})]})]},`error-${Z}`))}else U.push(n.jsx("span",{children:B},`word-${Z}`));const ye=H+B.length,ne=$.find(({issue:xe,correction:W,consumed:ee})=>!ee&&(W==null?void 0:W.wordBefore)&&B.toLowerCase().includes(W.wordBefore.toLowerCase())&&xe.position>=H&&xe.position<=ye);if(ne){const xe=$.indexOf(ne),W=`${O}-missing-${xe}`,ee=l===W,{issue:ae,correction:te}=ne;ne.consumed=!0,U.push(n.jsxs("span",{className:"inline-flex items-baseline flex-col ml-1",children:[n.jsxs("span",{className:"inline-flex items-baseline gap-0.5",children:[n.jsxs("button",{type:"button",onClick:Ae=>{Ae.preventDefault(),Ae.stopPropagation(),c(ee?null:W)},className:"text-green-600 dark:text-green-400 bg-green-50 dark:bg-green-950/30 px-1.5 py-0.5 rounded cursor-pointer transition-colors inline-flex items-center gap-0.5 font-medium border-0 p-0 m-0 font-inherit text-inherit","data-testid":`correction-add-${xe}`,children:["[add: ",te.word,"]"]}),n.jsx("button",{type:"button",onClick:()=>c(ee?null:W),className:"cursor-pointer transition-transform hover:scale-110 focus:outline-none p-0",title:"Click to see details",children:n.jsx(Jt,{className:`h-3 w-3 transition-transform ${ee?"rotate-180":""}`})})]}),ee&&n.jsxs("div",{className:"mt-2 mb-1 p-3 text-sm",children:[n.jsx("div",{className:"font-semibold mb-1 flex items-center gap-2",children:n.jsx(ve,{variant:"outline",className:"text-xs",children:S(ae.type)})}),n.jsx("p",{className:"text-muted-foreground mb-2",children:ae.suggestion}),n.jsxs("div",{className:"text-xs",children:[n.jsx("span",{className:"font-medium",children:"Example:"}),n.jsx("p",{className:"mt-1 italic",children:ae.example})]})]})]},`missing-${Z}`))}H+=B.length,Z++}return n.jsx(n.Fragment,{children:U})},E=y.useMemo(()=>{const P=w.map(M=>M.speaker).filter(M=>!!M);return Array.from(new Set(P)).sort()},[w]),I=y.useMemo(()=>{const P={};
822return w.forEach(M=>{M.speaker&&(P[M.speaker]=(P[M.speaker]||0)+1)}),P},[w]),R=y.useMemo(()=>b?w.filter(P=>P.speaker===b):w,[w,b]);return!w||w.length===0?n.jsx("div",{"data-testid":"card-transcript",children:n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:n.jsx("p",{children:"No transcript available"})})}):n.jsxs("div",{"data-testid":"card-transcript",className:"px-2",children:[E.length>1&&n.jsxs("div",{className:"mb-4 flex flex-wrap items-center gap-2","data-testid":"speaker-filter-tabs",children:[n.jsx(Wt,{className:"h-4 w-4 text-muted-foreground"}),n.jsxs(D,{variant:b===null?"default":"outline",size:"sm",onClick:()=>g(null),"data-testid":"speaker-filter-all",children:["All (",w.length,")"]}),E.map(P=>n.jsxs(D,{variant:b===P?"default":"outline",size:"sm",onClick:()=>g(P),"data-testid":`speaker-filter-${P.replace(/\s+/g,"-").toLowerCase()}`,children:[P," (",I[P]||0,")"]},P))]}),n.jsx("div",{className:"space-y-8",dir:h?"rtl":"ltr",children:R.map((P,M)=>{const $=!b||P.speaker===b?P.issues:[];return n.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-6","data-testid":`transcript-segment-${M}`,children:[n.jsxs("div",{className:`flex items-start gap-2 text-base text-primary sm:min-w-[140px] pt-0.5 ${h?"sm:flex-row-reverse":""}`,children:[n.jsx(vn,{className:"h-4 w-4 mt-1"}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"font-mono font-medium",children:(()=>{let _=P.start||0,F=P.end||0;P.startMs!==void 0&&P.startMs>0&&(_=P.startMs/1e3),P.endMs!==void 0&&P.endMs>0&&(F=P.endMs/1e3);const U=j(_),Z=F>0?j(F):"";return F>_&&Z?`${U}-${Z}`:U})()}),P.speaker&&n.jsxs("div",{className:"flex items-center gap-2","data-testid":`speaker-${P.speaker.replace(/\s+/g,"-").toLowerCase()}`,children:[P.speakerPhotoUrl?n.jsxs(Ld,{className:"h-6 w-6",children:[n.jsx(Ch,{src:P.speakerPhotoUrl,alt:P.speakerName||P.speaker}),n.jsx(zd,{className:"text-sm",children:(P.speakerName||P.speaker||"?").charAt(0).toUpperCase()})]}):n.jsx("div",{className:"h-6 w-6 rounded-full bg-muted flex items-center justify-center text-sm font-medium",children:(P.speakerName||P.speaker||"?").charAt(0).toUpperCase()}),n.jsx("span",{className:"text-sm font-medium text-foreground",children:P.speakerName||P.speaker})]})]})]}),n.jsx("div",{className:"flex-1 text-base text-foreground leading-relaxed",children:P.words&&P.words.length>0?(()=>{const{wordElements:_,expandedPanel:F}=A(P.words,$,M);return n.jsxs(n.Fragment,{children:[_,F]})})():T(P.text,$,M)})]},M)})})]})}function An(e,t,r,a){return new(r||(r=Promise))(function(s,i){function o(d){try{c(a.next(d))}catch(u){i(u)}}function l(d){try{c(a.throw(d))}catch(u){i(u)}}function c(d){var u;d.done?s(d.value):(u=d.value,u instanceof r?u:new r(function(m){m(u)})).then(o,l)}c((a=a.apply(e,t||[])).next())})}class Rp{constructor(){this.listeners={}}on(t,r,a){if(this.listeners[t]||(this.listeners[t]=new Set),a==null?void 0:a.once){const s=(...i)=>{this.un(t,s),r(...i)};return this.listeners[t].add(s),()=>this.un(t,s)}return this.listeners[t].add(r),()=>this.un(t,r)}un(t,r){var a;(a=this.listeners[t])===null||a===void 0||a.delete(r)}once(t,r){return this.on(t,r,{once:!0})}unAll(){this.listeners={}}emit(t,...r){this.listeners[t]&&this.listeners[t].forEach(a=>a(...r))}}const Og={decode:function(e,t){return An(this,void 0,void 0,function*(){const r=new AudioContext({sampleRate:t});try{return yield r.decodeAudioData(e)}finally{r.close()}})},createBuffer:function(e,t){if(!e||e.length===0)throw new Error("channelData must be a non-empty array");if(t<=0)throw new Error("duration must be greater than 0");if(typeof e[0]=="number"&&(e=[e]),!e[0]||e[0].length===0)throw new Error("channelData must contain non-empty channel arrays");(function(a){const s=a[0];if(s.some(i=>i>1||i<-1)){const i=s.length;let o=0;for(let l=0;l<i;l++){const c=Math.abs(s[l]);c>o&&(o=c)}for(const l of a)for(let c=0;c<i;c++)l[c]/=o}})(e);const r=e.map(a=>a instanceof Float32Array?a:Float32Array.from(a));return{duration:t,length:r[0].length,sampleRate:r[0].length/t,numberOfChannels:r.length,getChannelData:a=>{const s=r[a];if(!s)throw new Error(`Channel ${a} not found`);return s},copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function GK(e,t){const r=t.xmlns?document.createElementNS(t.xmlns,e):document.createElement(e);for(const[a,s]of Object.entries(t))if(a==="children"&&s)for(const[i,o]of Object.entries(s))o instanceof Node?r.appendChild(o):typeof o=="str
822ing"?r.appendChild(document.createTextNode(o)):r.appendChild(GK(i,o));else a==="style"?Object.assign(r.style,s):a==="textContent"?r.textContent=s:r.setAttribute(a,s.toString());return r}function yM(e,t,r){const a=GK(e,t||{});return r==null||r.appendChild(a),a}var MFe=Object.freeze({__proto__:null,createElement:yM,default:yM});const OFe={fetchBlob:function(e,t,r){return An(this,void 0,void 0,function*(){const a=yield fetch(e,r);if(a.status>=400)throw new Error(`Failed to fetch ${e}: ${a.status} (${a.statusText})`);return function(s,i){An(this,void 0,void 0,function*(){if(!s.body||!s.headers)return;const o=s.body.getReader(),l=Number(s.headers.get("Content-Length"))||0;let c=0;const d=u=>{c+=(u==null?void 0:u.length)||0;const m=Math.round(c/l*100);i(m)};try{for(;;){const u=yield o.read();if(u.done)break;d(u.value)}}catch(u){console.warn("Progress tracking error:",u)}})}(a.clone(),t),a.blob()})}};class RFe extends Rp{constructor(t){super(),this.isExternalMedia=!1,t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),t.playbackRate!=null&&this.onMediaEvent("canplay",()=>{t.playbackRate!=null&&(this.media.playbackRate=t.playbackRate)},{once:!0})}onMediaEvent(t,r,a){return this.media.addEventListener(t,r,a),()=>this.media.removeEventListener(t,r,a)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const t=this.getSrc();t.startsWith("blob:")&&URL.revokeObjectURL(t)}canPlayType(t){return this.media.canPlayType(t)!==""}setSrc(t,r){const a=this.getSrc();if(t&&a===t)return;this.revokeSrc();const s=r instanceof Blob&&(this.canPlayType(r.type)||!t)?URL.createObjectURL(r):t;if(a&&this.media.removeAttribute("src"),s||t)try{this.media.src=s}catch{this.media.src=t}}destroy(){this.isExternalMedia||(this.media.pause(),this.revokeSrc(),this.media.removeAttribute("src"),this.media.load(),this.media.remove())}setMediaElement(t){this.media=t}play(){return An(this,void 0,void 0,function*(){try{return yield this.media.play()}catch(t){if(t instanceof DOMException&&t.name==="AbortError")return;throw t}})}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=Math.max(0,Math.min(t,this.getDuration()))}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,r){r!=null&&(this.media.preservesPitch=r),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}}function xj(e){return e<0?0:e>1?1:e}function FFe({maxTop:e,maxBottom:t,halfHeight:r,vScale:a}){const s=Math.round(e*r*a);return{topHeight:s,totalHeight:s+Math.round(t*r*a)||1}}function DFe({barAlign:e,halfHeight:t,topHeight:r,totalHeight:a,canvasHeight:s}){return e==="top"?0:e==="bottom"?s-a:t-r}function vM(e,t,r){const a=t-e.left,s=r-e.top;return[a/e.width,s/e.height]}function KK(e){return!!(e.barWidth||e.barGap||e.barAlign)}function bM(e,t){if(!KK(t))return e;const r=t.barWidth||.5,a=r+(t.barGap||r/2);return a===0?e:Math.floor(e/a)*a}function wM({scrollLeft:e,totalWidth:t,numCanvases:r}){if(t===0)return[0];const a=e/t,s=Math.floor(a*r);return[s-1,s,s+1]}function jM({scrollLeft:e,clientWidth:t,scrollWidth:r}){return r===0?{startX:0,endX:0}:{startX:e/r,endX:(e+t)/r}}class $Fe extends Rp{constructor(t,r){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.unsubscribeOnScroll=[],this.dragUnsubscribe=null,this.subscriptions=[],this.options=t;const a=this.parentFromOptionsContainer(t.container);this.parent=a;const[s,i]=this.initHtml();a.appendChild(s),this.container=s,this.scrollContainer=i.querySelector(".scroll"),this.wrapper=i.querySelector(".wrapper"),this.canvasWrapper=i.querySelector(".canvases"),this.progressWrapper=i.querySelector(".progress"),this.cursor=i.querySelector(".cursor"),r&&i.appendChild(r),this.initEvents()}parentFromOptionsContainer(t){let r;
822if(typeof t=="string"?r=document.querySelector(t):t instanceof HTMLElement&&(r=t),!r)throw new Error("Container not found");return r}initEvents(){if(this.wrapper.addEventListener("click",t=>{const r=this.wrapper.getBoundingClientRect(),[a,s]=vM(r,t.clientX,t.clientY);this.emit("click",a,s)}),this.wrapper.addEventListener("dblclick",t=>{const r=this.wrapper.getBoundingClientRect(),[a,s]=vM(r,t.clientX,t.clientY);this.emit("dblclick",a,s)}),this.options.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.scrollContainer.addEventListener("scroll",()=>{const{scrollLeft:t,scrollWidth:r,clientWidth:a}=this.scrollContainer,{startX:s,endX:i}=jM({scrollLeft:t,scrollWidth:r,clientWidth:a});this.emit("scroll",s,i,t,t+a)}),typeof ResizeObserver=="function"){const t=this.createDelay(100);this.resizeObserver=new ResizeObserver(()=>{t().then(()=>this.onContainerResize()).catch(()=>{})}),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const t=this.parent.clientWidth;t===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=t,this.reRender(),this.emit("resize"))}initDrag(){this.dragUnsubscribe||(this.dragUnsubscribe=function(t,r,a,s,i=3,o=0,l=100){if(!t)return()=>{};const c=new Map,d=matchMedia("(pointer: coarse)").matches;let u=()=>{};const m=h=>{if(h.button!==o||(c.set(h.pointerId,h),c.size>1))return;let f=h.clientX,b=h.clientY,g=!1;const p=Date.now(),x=k=>{if(k.defaultPrevented||c.size>1||d&&Date.now()-p<l)return;const S=k.clientX,C=k.clientY,A=S-f,T=C-b;if(g||Math.abs(A)>i||Math.abs(T)>i){k.preventDefault(),k.stopPropagation();const E=t.getBoundingClientRect(),{left:I,top:R}=E;g||(a==null||a(f-I,b-R),g=!0),r(A,T,S-I,C-R),f=S,b=C}},v=k=>{if(c.delete(k.pointerId),g){const S=k.clientX,C=k.clientY,A=t.getBoundingClientRect(),{left:T,top:E}=A;s==null||s(S-T,C-E)}u()},w=k=>{c.delete(k.pointerId),k.relatedTarget&&k.relatedTarget!==document.documentElement||v(k)},N=k=>{g&&(k.stopPropagation(),k.preventDefault())},j=k=>{k.defaultPrevented||c.size>1||g&&k.preventDefault()};document.addEventListener("pointermove",x),document.addEventListener("pointerup",v),document.addEventListener("pointerout",w),document.addEventListener("pointercancel",w),document.addEventListener("touchmove",j,{passive:!1}),document.addEventListener("click",N,{capture:!0}),u=()=>{document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",v),document.removeEventListener("pointerout",w),document.removeEventListener("pointercancel",w),document.removeEventListener("touchmove",j),setTimeout(()=>{document.removeEventListener("click",N,{capture:!0})},10)}};return t.addEventListener("pointerdown",m),()=>{u(),t.removeEventListener("pointerdown",m),c.clear()}}(this.wrapper,(t,r,a)=>{const s=this.wrapper.getBoundingClientRect().width;this.emit("drag",xj(a/s))},t=>{this.isDragging=!0;const r=this.wrapper.getBoundingClientRect().width;this.emit("dragstart",xj(t/r))},t=>{this.isDragging=!1;const r=this.wrapper.getBoundingClientRect().width;this.emit("dragend",xj(t/r))}),this.subscriptions.push(this.dragUnsubscribe))}initHtml(){const t=document.createElement("div"),r=t.attachShadow({mode:"open"}),a=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return r.innerHTML=`
823      <style${a?` nonce="${a}"`:""}>
824        :host {
825          user-select: none;
826          min-width: 1px;
827        }
828        :host audio {
829          display: block;
830          width: 100%;
831        }
832        :host .scroll {
833          overflow-x: auto;
834          overflow-y: hidden;
835          width: 100%;
836          position: relative;
837        }
838        :host .noScrollbar {
839          scrollbar-color: transparent;
840          scrollbar-width: none;
841        }
842        :host .noScrollbar::-webkit-scrollbar {
843          display: none;
844          -webkit-appearance: none;
845        }
846        :host .wrapper {
847          position: relative;
848          overflow: visible;
849          z-index: 2;
850        }
851        :host .canvases {
852          min-height: ${this.getHeight(this.options.height,this.options.splitChannels)}px;
853          pointer-events: none;
854        }
855        :host .canvases > div {
856          position: relative;
857        }
858        :host canvas {
859          display: block;
860          position: absolute;
861          top: 0;
862          image-rendering: pixelated;
863        }
864        :host .progress {
865          pointer-events: none;
866          position: absolute;
867          z-index: 2;
868          top: 0;
869          left: 0;
870          width: 0;
871          height: 100%;
872          overflow: hidden;
873        }
874        :host .progress > div {
875          position: relative;
876        }
877        :host .cursor {
878          pointer-events: none;
879          position: absolute;
880          z-index: 5;
881          top: 0;
882          left: 0;
883          height: 100%;
884          border-radius: 2px;
885        }
886      </style>
887
888      <div class="scroll" part="scroll">
889        <div class="wrapper" part="wrapper">
890          <div class="canvases" part="canvases"></div>
891          <div class="progress" part="progress"></div>
892          <div class="cursor" part="cursor"></div>
893        </div>
894      </div>
895    `,[t,r]}setOptions(t){if(this.options.container!==t.container){const r=this.parentFromOptionsContainer(t.container);r.appendChild(this.container),this.parent=r}t.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth}getScroll(){return this.scrollContainer.scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){const{scrollWidth:r}=this.scrollContainer,a=r*t;this.setScroll(a)}destroy(){var t;this.subscriptions.forEach(r=>r()),this.container.remove(),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),(t=this.unsubscribeOnScroll)===null||t===void 0||t.forEach(r=>r()),this.unsubscribeOnScroll=[]}createDelay(t=10){let r,a;const s=()=>{r&&(clearTimeout(r),r=void 0),a&&(a(),a=void 0)};return this.timeouts.push(s),()=>new Promise((i,o)=>{s(),a=o,r=setTimeout(()=>{r=void 0,a=void 0,i()},t)})}getHeight(t,r){var a;const s=((a=this.audioData)===null||a===void 0?void 0:a.numberOfChannels)||1;return function({optionsHeight:i,optionsSplitChannels:o,parentHeight:l,numberOfChannels:c,defaultHeight:d=128}){if(i==null)return d;const u=Number(i);if(!isNaN(u))return u;if(i==="auto"){const m=l||d;return o!=null&&o.every(h=>!h.overlay)?m/c:m}return d}({optionsHeight:t,optionsSplitChannels:r,parentHeight:this.parent.clientHeight,numberOfChannels:s,defaultHeight:128})}convertColorValues(t){return function(r,a){if(!Array.isArray(r))return r||"";if(r.length===0)return"#999";if(r.length<2)return r[0]||"";const s=document.createElement("canvas"),i=s.getContext("2d"),o=s.height*a,l=i.createLinearGradient(0,0,0,o||a),c=1/(r.length-1);return r.forEach((d,u)=>{l.addColorStop(u*c,d)}),l}(t,this.getPixelRatio())}getPixelRatio(){return t=window.devicePixelRatio,Math.max(1,t||1);var t}renderBarWaveform(t,r,a,s){const{width:i,height:o}=a.canvas,{halfHeight:l,barWidth:c,barRadius:d,barIndexScale:u,barSpacing:m}=function({width:f,height:b,length:g,options:p,pixelRatio:x}){const v=b/2,w=p.barWidth?p.barWidth*x:1,N=p.barGap?p.barGap*x:p.barWidth?w/2:0,j=w+N||1;return{halfHeight:v,barWidth:w,barGap:N,barRadius:p.barRadius||0,barIndexScale:g>0?f/j/g:0,barSpacing:j}}({width:i,height:o,length:(t[0]||[]).length,options:r,pixelRatio:this.getPixelRatio()}),h=function({channelData:f,barIndexScale:b,barSpacing:g,barWidth:p,halfHeight:x,vScale:v,canvasHeight:w,barAlign:N}){const j=f[0]||[],k=f[1]||j,S=j.length,C=[];let A=0,T=0,E=0;for(let I=0;I<=S;I++){const R=Math.round(I*b);if(R>A){const{topHeight:O,totalHeight:$}=FFe({maxTop:T,maxBottom:E,halfHeight:x,vScale:v}),_=DFe({barAlign:N,halfHeight:x,topHeight:O,totalHeight:$,canvasHeight:w});C.push({x:A*g,y:_,width:p,height:$}),A=R,T=0,E=0}const P=Math.abs(j[I]||0),M=Math.abs(k[I]||0);P>T&&(T=P),M>E&&(E=M)}return C}({channelData:t,barIndexScale:u,barSpacing:m,barWidth:c,halfHeight:l,vScale:s,canvasHeight:o,barAlign:r.barAlign});a.beginPath();for(const f of h)d&&"roundRect"in a?a.roundRect(f.x,f.y,f.width,f.height,d):a.rect(f.x,f.y,f.width,f.height);a.fill(),a.closePath()}renderLineWaveform(t,r,a,s){const{width:i,height:o}=a.canvas,l=function({channelData:c,width:d,height:u,vScale:m}){const h=u/2,f=c[0]||[];return[f,c[1]||f].map((b,g)=>{const p=b.length,x=p?d/p:0,v=h,w=g===0?-1:1,N=[{x:0,y:v}];let j=0,k=0;for(let S=0;
895S<=p;S++){const C=Math.round(S*x);if(C>j){const T=v+(Math.round(k*h*m)||1)*w;N.push({x:j,y:T}),j=C,k=0}const A=Math.abs(b[S]||0);A>k&&(k=A)}return N.push({x:j,y:v}),N})}({channelData:t,width:i,height:o,vScale:s});a.beginPath();for(const c of l)if(c.length){a.moveTo(c[0].x,c[0].y);for(let d=1;d<c.length;d++){const u=c[d];a.lineTo(u.x,u.y)}}a.fill(),a.closePath()}renderWaveform(t,r,a){if(a.fillStyle=this.convertColorValues(r.waveColor),r.renderFunction)return void r.renderFunction(t,a);const s=function({channelData:i,barHeight:o,normalize:l}){var c;const d=o||1;if(!l)return d;const u=i[0];if(!u||u.length===0)return d;let m=0;for(let h=0;h<u.length;h++){const f=(c=u[h])!==null&&c!==void 0?c:0,b=Math.abs(f);b>m&&(m=b)}return m?d/m:d}({channelData:t,barHeight:r.barHeight,normalize:r.normalize});KK(r)?this.renderBarWaveform(t,r,a,s):this.renderLineWaveform(t,r,a,s)}renderSingleCanvas(t,r,a,s,i,o,l){const c=this.getPixelRatio(),d=document.createElement("canvas");d.width=Math.round(a*c),d.height=Math.round(s*c),d.style.width=`${a}px`,d.style.height=`${s}px`,d.style.left=`${Math.round(i)}px`,o.appendChild(d);const u=d.getContext("2d");if(r.renderFunction?(u.fillStyle=this.convertColorValues(r.waveColor),r.renderFunction(t,u)):this.renderWaveform(t,r,u),d.width>0&&d.height>0){const m=d.cloneNode(),h=m.getContext("2d");h.drawImage(d,0,0),h.globalCompositeOperation="source-in",h.fillStyle=this.convertColorValues(r.progressColor),h.fillRect(0,0,d.width,d.height),l.appendChild(m)}}renderMultiCanvas(t,r,a,s,i,o){const l=this.getPixelRatio(),{clientWidth:c}=this.scrollContainer,d=a/l,u=function({clientWidth:b,totalWidth:g,options:p}){return bM(Math.min(8e3,b,g),p)}({clientWidth:c,totalWidth:d,options:r});let m={};if(u===0)return;const h=b=>{if(b<0||b>=f||m[b])return;m[b]=!0;const g=b*u;let p=Math.min(d-g,u);if(p=bM(p,r),p<=0)return;const x=function({channelData:v,offset:w,clampedWidth:N,totalWidth:j}){return v.map(k=>{const S=Math.floor(w/j*k.length),C=Math.floor((w+N)/j*k.length);return k.slice(S,C)})}({channelData:t,offset:g,clampedWidth:p,totalWidth:d});this.renderSingleCanvas(x,r,p,s,g,i,o)},f=Math.ceil(d/u);if(!this.isScrollable){for(let b=0;b<f;b++)h(b);return}if(wM({scrollLeft:this.scrollContainer.scrollLeft,totalWidth:d,numCanvases:f}).forEach(b=>h(b)),f>1){const b=this.on("scroll",()=>{const{scrollLeft:g}=this.scrollContainer;Object.keys(m).length>10&&(i.innerHTML="",o.innerHTML="",m={}),wM({scrollLeft:g,totalWidth:d,numCanvases:f}).forEach(p=>h(p))});this.unsubscribeOnScroll.push(b)}}renderChannel(t,r,a,s){var{overlay:i}=r,o=function(u,m){var h={};for(var f in u)Object.prototype.hasOwnProperty.call(u,f)&&m.indexOf(f)<0&&(h[f]=u[f]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function"){var b=0;for(f=Object.getOwnPropertySymbols(u);b<f.length;b++)m.indexOf(f[b])<0&&Object.prototype.propertyIsEnumerable.call(u,f[b])&&(h[f[b]]=u[f[b]])}return h}(r,["overlay"]);const l=document.createElement("div"),c=this.getHeight(o.height,o.splitChannels);l.style.height=`${c}px`,i&&s>0&&(l.style.marginTop=`-${c}px`),this.canvasWrapper.style.minHeight=`${c}px`,this.canvasWrapper.appendChild(l);const d=l.cloneNode();this.progressWrapper.appendChild(d),this.renderMultiCanvas(t,o,a,c,l,d)}render(t){return An(this,void 0,void 0,function*(){var r;this.timeouts.forEach(d=>d()),this.timeouts=[],this.canvasWrapper.innerHTML="",this.progressWrapper.innerHTML="",this.options.width!=null&&(this.scrollContainer.style.width=typeof this.options.width=="number"?`${this.options.width}px`:this.options.width);const a=this.getPixelRatio(),s=this.scrollContainer.clientWidth,{scrollWidth:i,isScrollable:o,useParentWidth:l,width:c}=function({duration:d,minPxPerSec:u=0,parentWidth:m,fillParent:h,pixelRatio:f}){const b=Math.ceil(d*u),g=b>m,p=!!(h&&!g);return{scrollWidth:b,isScrollable:g,useParentWidth:p,width:(p?m:b)*f}}({duration:t.duration,minPxPerSec:this.options.minPxPerSec||0,parentWidth:s,fillParent:this.options.fillParent,pixelRatio:a});if(this.isScrollable=o,this.wrapper.style.width=l?"100%":`${i}px`,this.scrollContainer.style.overflowX=this.isScrollable?"auto":"hidden",this.scrollContainer.classList.toggle("noScrollbar",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}
895px`,this.audioData=t,this.emit("render"),this.options.splitChannels)for(let d=0;d<t.numberOfChannels;d++){const u=Object.assign(Object.assign({},this.options),(r=this.options.splitChannels)===null||r===void 0?void 0:r[d]);this.renderChannel([t.getChannelData(d)],u,c,d)}else{const d=[t.getChannelData(0)];t.numberOfChannels>1&&d.push(t.getChannelData(1)),this.renderChannel(d,this.options,c,0)}Promise.resolve().then(()=>this.emit("rendered"))})}reRender(){if(this.unsubscribeOnScroll.forEach(a=>a()),this.unsubscribeOnScroll=[],!this.audioData)return;const{scrollWidth:t}=this.scrollContainer,{right:r}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),this.isScrollable&&t!==this.scrollContainer.scrollWidth){const{right:a}=this.progressWrapper.getBoundingClientRect(),s=function(i){const o=2*i;return(o<0?Math.floor(o):Math.ceil(o))/2}(a-r);this.scrollContainer.scrollLeft+=s}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t,r=!1){const{scrollLeft:a,scrollWidth:s,clientWidth:i}=this.scrollContainer,o=t*s,l=a,c=a+i,d=i/2;if(this.isDragging)o+30>c?this.scrollContainer.scrollLeft+=30:o-30<l&&(this.scrollContainer.scrollLeft-=30);else{(o<l||o>c)&&(this.scrollContainer.scrollLeft=o-(this.options.autoCenter?d:0));const u=o-a-d;r&&this.options.autoCenter&&u>0&&(this.scrollContainer.scrollLeft+=u)}{const u=this.scrollContainer.scrollLeft,{startX:m,endX:h}=jM({scrollLeft:u,scrollWidth:s,clientWidth:i});this.emit("scroll",m,h,u,u+i)}}renderProgress(t,r){if(isNaN(t))return;const a=100*t;this.canvasWrapper.style.clipPath=`polygon(${a}% 0%, 100% 0%, 100% 100%, ${a}% 100%)`,this.progressWrapper.style.width=`${a}%`,this.cursor.style.left=`${a}%`,this.cursor.style.transform=this.options.cursorWidth?`translateX(-${t*this.options.cursorWidth}px)`:"",this.isScrollable&&this.options.autoScroll&&this.scrollIntoView(t,r)}exportImage(t,r,a){return An(this,void 0,void 0,function*(){const s=this.canvasWrapper.querySelectorAll("canvas");if(!s.length)throw new Error("No waveform data");if(a==="dataURL"){const i=Array.from(s).map(o=>o.toDataURL(t,r));return Promise.resolve(i)}return Promise.all(Array.from(s).map(i=>new Promise((o,l)=>{i.toBlob(c=>{c?o(c):l(new Error("Could not export image"))},t,r)})))})}}class LFe extends Rp{constructor(){super(...arguments),this.animationFrameId=null,this.isRunning=!1}start(){if(this.isRunning)return;this.isRunning=!0;const t=()=>
vendor: 10,612 bytes, line 895
895{this.isRunning&&(this.emit("tick"),this.animationFrameId=requestAnimationFrame(t))};t()}stop(){this.isRunning=!1,this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}destroy(){this.stop()}}class yj extends Rp{constructor(t=new AudioContext){super(),this.bufferNode=null,this.playStartTime=0,this.playedDuration=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc="",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this.audioContext=t,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return An(this,void 0,void 0,function*(){})}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit("emptied");fetch(t).then(r=>{if(r.status>=400)throw new Error(`Failed to fetch ${t}: ${r.status} (${r.statusText})`);return r.arrayBuffer()}).then(r=>this.currentSrc!==t?null:this.audioContext.decodeAudioData(r)).then(r=>{this.currentSrc===t&&(this.buffer=r,this.emit("loadedmetadata"),this.emit("canplay"),this.autoplay&&this.play())}).catch(r=>{console.error("WebAudioPlayer load error:",r)})}_play(){if(!this.paused)return;this.paused=!1,this.bufferNode&&(this.bufferNode.onended=null,this.bufferNode.disconnect()),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this._playbackRate,this.bufferNode.connect(this.gainNode);let t=this.playedDuration*this._playbackRate;(t>=this.duration||t<0)&&(t=0,this.playedDuration=0),this.bufferNode.start(this.audioContext.currentTime,t),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{this.currentTime>=this.duration&&(this.pause(),this.emit("ended"))}}_pause(){var t;this.paused=!0,(t=this.bufferNode)===null||t===void 0||t.stop(),this.playedDuration+=this.audioContext.currentTime-this.playStartTime}play(){return An(this,void 0,void 0,function*(){this.paused&&(this._play(),this.emit("play"))})}pause(){this.paused||(this._pause(),this.emit("pause"))}stopAt(t){const r=t-this.currentTime,a=this.bufferNode;a==null||a.stop(this.audioContext.currentTime+r),a==null||a.addEventListener("ended",()=>{a===this.bufferNode&&(this.bufferNode=null,this.pause())},{once:!0})}setSinkId(t){return An(this,void 0,void 0,function*(){return this.audioContext.setSinkId(t)})}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return(this.paused?this.playedDuration:this.playedDuration+(this.audioContext.currentTime-this.playStartTime))*this._playbackRate}set currentTime(t){const r=!this.paused;r&&this._pause(),this.playedDuration=t/this._playbackRate,r&&this._play(),this.emit("seeking"),this.emit("timeupdate")}get duration(){var t,r;return(t=this._duration)!==null&&t!==void 0?t:((r=this.buffer)===null||r===void 0?void 0:r.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit("volumechange")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){return/^(audio|video)\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){const t=[];if(!this.buffer)return t;const r=this.buffer.numberOfChannels;for(let a=0;a<r;a++)t.push(this.buffer.getChannelData(a));return t}removeAttribute(t){switch(t){case"src":this.src="";break;case"playbackRate":this.playbackRate=0;break;case"currentTime":this.currentTime=0;break;case"duration":this.duration=0;break;case"volume":this.volume=0;break;case"muted":this.muted=!1}}}const zFe={waveColor:"#999",progressColor:"#555",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3};class Wu extends RFe{static create(t){return new Wu(t)}constructor(t){const r=t.media||(t.backend==="WebAudio"?new yj:void 0);super({media:r,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.stopAtPosition=null,this.subscriptions=[],this.mediaSubscriptions=[],this.abortController=null,this.options=Object.assign({},zFe,t),this.timer=new LFe;const a=r?void 0:this.getMediaElement();this.renderer=new $Fe(this.options,a),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initPlugins();const s=this.options.url||this.getSrc()||"";Promise.resolve().then(()=>{this.emit("init");const{peaks:i,duration:o}=this.options;(s||i&&o)&&this.load(s,i,o).catch(l=>{this.emit("error",l instanceof Error?l:new Error(String(l)))})})}updateProgress(t=this.getCurrentTime()){return this.renderer.renderProgress(t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on("tick",()=>{if(!this.isSeeking()){const t=this.updateProgress();this.emit("timeupdate",t),this.emit("audioprocess",t),this.stopAtPosition!=null&&this.isPlaying()&&t>=this.stopAtPosition&&this.pause()}}))}initPlayerEvents(){this.isPlaying()&&(this.emit("play"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent("timeupdate",()=>{const t=this.updateProgress();this.emit("timeupdate",t)}),this.onMediaEvent("play",()=>{this.emit("play"),this.timer.start()}),this.onMediaEvent("pause",()=>{this.emit("pause"),this.timer.stop(),this.stopAtPosition=null}),this.onMediaEvent("emptied",()=>{this.timer.stop(),this.stopAtPosition=null}),this.onMediaEvent("ended",()=>{this.emit("timeupdate",this.getDuration()),this.emit("finish"),this.stopAtPosition=null}),this.onMediaEvent("seeking",()=>{this.emit("seeking",this.getCurrentTime())}),this.onMediaEvent("error",()=>{var t;this.emit("error",(t=this.getMediaElement().error)!==null&&t!==void 0?t:new Error("Media error")),this.stopAtPosition=null}))}initRendererEvents(){this.subscriptions.push(this.renderer.on("click",(t,r)=>{this.options.interact&&(this.seekTo(t),this.emit("interaction",t*this.getDuration()),this.emit("click",t,r))}),this.renderer.on("dblclick",(t,r)=>{this.emit("dblclick",t,r)}),this.renderer.on("scroll",(t,r,a,s)=>{const i=this.getDuration();this.emit("scroll",t*i,r*i,a,s)}),this.renderer.on("render",()=>{this.emit("redraw")}),this.renderer.on("rendered",()=>{this.emit("redrawcomplete")}),this.renderer.on("dragstart",t=>{this.emit("dragstart",t)}),this.renderer.on("dragend",t=>{this.emit("dragend",t)}),this.renderer.on("resize",()=>{this.emit("resize")}));{let t;const r=this.renderer.on("drag",a=>{var s;if(!this.options.interact)return;this.renderer.renderProgress(a),clearTimeout(t);let i=0;const o=this.options.dragToSeek;this.isPlaying()?i=0:o===!0?i=200:o&&typeof o=="object"&&(i=(s=o.debounceTime)!==null&&s!==void 0?s:200),t=setTimeout(()=>{this.seekTo(a)},i),this.emit("interaction",a*this.getDuration()),this.emit("drag",a)});this.subscriptions.push(()=>{clearTimeout(t),r()})}}initPlugins(){var t;!((t=this.options.plugins)===null||t===void 0)&&t.length&&this.options.plugins.forEach(r=>{this.registerPlugin(r)})}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach(t=>t()),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),t.duration&&!t.peaks&&(this.decodedData=Og.createBuffer(this.exportPeaks(),t.duration)),t.peaks&&t.duration&&(this.decodedData=Og.createBuffer(t.peaks,t.duration)),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),t.mediaControls!=null&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){if(this.plugins.includes(t))return t;t._init(this),this.plugins.push(t);const r=t.once("destroy",()=>{this.plugins=this.plugins.filter(a=>a!==t),this.subscriptions=this.subscriptions.filter(a=>a!==r)});return this.subscriptions.push(r),t}unregisterPlugin(t){this.plugins=this.plugins.filter(r=>r!==t),t.destroy()}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){const r=t/this.getDuration();this.renderer.setScrollPercentage(r)}getActivePlugins(){return this.plugins}loadAudio(t,r,a,s){return An(this,void 0,void 0,function*(){var i;if(this.emit("load",t),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,this.stopAtPosition=null,(i=this.abortController)===null||i===void 0||i.abort(),this.abortController=null,!r&&!a){const l=this.options.fetchParams||{};window.AbortController&&!l.signal&&(this.abortController=new AbortController,l.signal=this.abortController.signal);const c=u=>this.emit("loading",u);r=yield OFe.fetchBlob(t,c,l);const d=this.options.blobMimeType;d&&(r=new Blob([r],{type:d}))}this.setSrc(t,r);const o=yield new Promise(l=>{const c=s||this.getDuration();c?l(c):this.mediaSubscriptions.push(this.onMediaEvent("loadedmetadata",()=>l(this.getDuration()),{once:!0}))});if(!t&&!r){const l=this.getMediaElement();l instanceof yj&&(l.duration=o)}if(a)this.decodedData=Og.createBuffer(a,o||0);else if(r){const l=yield r.arrayBuffer();this.decodedData=yield Og.decode(l,this.options.sampleRate)}this.decodedData&&(this.emit("decode",this.getDuration()),this.renderer.render(this.decodedData)),this.emit("ready",this.getDuration())})}load(t,r,a){return An(this,void 0,void 0,function*(){try{return yield this.loadAudio(t,void 0,r,a)}catch(s){throw this.emit("error",s),s}})}loadBlob(t,r,a){return An(this,void 0,void 0,function*(){try{return yield this.loadAudio("",t,r,a)}catch(s){throw this.emit("error",s),s}})}zoom(t){if(!this.decodedData)throw new Error("No audio loaded");this.renderer.zoom(t),this.emit("zoom",t)}getDecodedData(){return this.decodedData}exportPeaks({channels:t=2,maxLength:r=8e3,precision:a=1e4}={}){if(!this.decodedData)throw new Error("The audio has not been decoded yet");const s=Math.min(t,this.decodedData.numberOfChannels),i=[];for(let o=0;o<s;o++){const l=this.decodedData.getChannelData(o),c=[],d=l.length/r;for(let u=0;u<r;u++){const m=l.slice(Math.floor(u*d),Math.ceil((u+1)*d));let h=0;for(let f=0;f<m.length;f++){const b=m[f];Math.abs(b)>Math.abs(h)&&(h=b)}c.push(Math.round(h*a)/a)}i.push(c)}return i}getDuration(){let t=super.getDuration()||0;return t!==0&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){this.stopAtPosition=null,super.setTime(t),this.updateProgress(t),this.emit
895("timeupdate",t)}seekTo(t){const r=this.getDuration()*t;this.setTime(r)}play(t,r){const a=Object.create(null,{play:{get:()=>super.play}});return An(this,void 0,void 0,function*(){t!=null&&this.setTime(t);const s=yield a.play.call(this);return r!=null&&(this.media instanceof yj?this.media.stopAt(r):this.stopAtPosition=r),s})}playPause(){return An(this,void 0,void 0,function*(){return this.isPlaying()?this.pause():this.play()})}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load("",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(t),this.initPlayerEvents()}exportImage(){return An(this,arguments,void 0,function*(t="image/png",r=1,a="dataURL"){return this.renderer.exportImage(t,r,a)})}destroy(){var t;this.emit("destroy"),(t=this.abortController)===null||t===void 0||t.abort(),this.plugins.forEach(r=>r.destroy()),this.subscriptions.forEach(r=>r()),this.unsubscribePlayerEvents(),this.timer.destroy(),this.renderer.destroy(),super.destroy()}}Wu.BasePlugin=class extends Rp{constructor(e){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=e}onInit(){}_init(e){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=e,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(e=>e()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}},Wu.dom=MFe;var YK=["PageUp","PageDown"],ZK=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],QK={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},wm="Slider",[Qk,BFe,WFe]=Ku(wm),[XK,W8e]=rn(wm,[WFe]),[UFe,w0]=XK(wm),JK=y.forwardRef((e,t)=>{const{name:r,min:a=0,max:s=100,step:i=1,orientation:o="horizontal",disabled:l=!1,minStepsBetweenThumbs:c=0,defaultValue:d=[a],value:u,onValueChange:m=()=>{},onValueCommit:h=()=>{},inverted:f=!1,form:b,...g}=e,p=y.useRef(new Set),x=y.useRef(0),w=o==="horizontal"?VFe:qFe,[N=[],j]=Kn({prop:u,defaultProp:d,onChange:E=>{var R;(R=[...p.current][x.current])==null||R.focus(),m(E)}}),k=y.useRef(N);function S(E){const I=ZFe(N,E);T(E,I)}function C(E){T(E,x.current)}function A(){const E=k.current[x.current];N[x.current]!==E&&h(N)}function T(E,I,{commit:R}={commit:!1}){const P=eDe(i),M=tDe(Math.round((E-a)/i)*i+a,P),O=Wx(M,[a,s]);j(($=[])=>{const _=KFe($,O,I);if(JFe(_,c*i)){x.current=_.indexOf(O);const F=String(_)!==String($);return F&&R&&h(_),F?_:$}else return $})}return n.jsx(UFe,{scope:e.__scopeSlider,name:r,disabled:l,min:a,max:s,valueIndexToChangeRef:x,thumbs:p.current,values:N,orientation:o,form:b,children:n.jsx(Qk.Provider,{scope:e.__scopeSlider,children:n.jsx(Qk.Slot,{scope:e.__scopeSlider,children:n.jsx(w,{"aria-disabled":l,"data-disabled":l?"":void 0,...g,ref:t,onPointerDown:ge(g.onPointerDown,()=>{l||(k.current=N)}),min:a,max:s,inverted:f,onSlideStart:l?void 0:S,onSlideMove:l?void 0:C,onSlideEnd:l?void 0:A,onHomeKeyDown:()=>!l&&T(a,0,{commit:!0}),onEndKeyDown:()=>!l&&T(s,N.length-1,{commit:!0}),onStepKeyDown:({event:E,direction:I})=>{if(!l){const M=YK.includes(E.key)||E.shiftKey&&ZK.includes(E.key)?10:1,O=x.current,$=N[O],_=i*M*I;T($+_,O,{commit:!0})}}})})})})});JK.displayName=wm;var[eY,tY]=XK(wm,{startEdge:"left",endEdge:"right",size:"width",direction:1}),VFe=y.forwardRef((e,t)=>{const{min:r,max:a,dir:s,inverted:i,onSlideStart:o,onSlideMove:l,onSlideEnd:c,onStepKeyDown:d,...u}=e,[m,h]=y.useState(null),f=tt(t,w=>h(w)),b=y.useRef(void 0),g=sm(s),p=g==="ltr",x=p&&!i||!p&&i;function v(w){const N=b.current||m.getBoundingClientRect(),j=[0,N.width],S=mT(j,x?[r,a]:[a,r]);return b.current=N,S(w-N.left)}return n.jsx(eY,{scope:e.__scopeSlider,startEdge:x?"left":"right",endEdge:x?"right":"left",direction:x?1:-1,size:"width",children:n.jsx(rY,{dir:g,"data-orientation":"horizontal",...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:w=>{const N=v(w.clientX);o==null||o(N)},onSlideMove:w=>{const N=v(w.clientX);l==null||l(N)},onSlideEnd:()=>{b.current=void 0,c==null||c()},onStepKeyDown:w=>{const j=QK[x?"from-left":"from-right"].includes(w.key);d==null||d({event:w,direction:j?-1:1})}})})}),qFe=y.forwardRef((e,t)=>
895{const{min:r,max:a,inverted:s,onSlideStart:i,onSlideMove:o,onSlideEnd:l,onStepKeyDown:c,...d}=e,u=y.useRef(null),m=tt(t,u),h=y.useRef(void 0),f=!s;function b(g){const p=h.current||u.current.getBoundingClientRect(),x=[0,p.height],w=mT(x,f?[a,r]:[r,a]);return h.current=p,w(g-p.top)}return n.jsx(eY,{scope:e.__scopeSlider,startEdge:f?"bottom":"top",endEdge:f?"top":"bottom",size:"height",direction:f?1:-1,children:n.jsx(rY,{"data-orientation":"vertical",...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:g=>{const p=b(g.clientY);i==null||i(p)},onSlideMove:g=>{const p=b(g.clientY);o==null||o(p)},onSlideEnd:()=>{h.current=void 0,l==null||l()},onStepKeyDown:g=>{const x=QK[f?"from-bottom":"from-top"].includes(g.key);c==null||c({event:g,direction:x?-1:1})}})})}),rY=y.forwardRef((e,t)=>{const{__scopeSlider:r,onSlideStart:a,onSlideMove:s,onSlideEnd:i,onHomeKeyDown:o,onEndKeyDown:l,onStepKeyDown:c,...d}=e,u=w0(wm,r);return n.jsx(Me.span,{...d,ref:t,onKeyDown:ge(e.onKeyDown,m=>{m.key==="Home"?(o(m),m.preventDefault()):m.key==="End"?(l(m),m.preventDefault()):YK.concat(ZK).includes(m.key)&&(c(m),m.preventDefault())}),onPointerDown:ge(e.onPointerDown,m=>{const h=m.target;h.setPointerCapture(m.pointerId),m.preventDefault(),u.thumbs.has(h)?h.focus():a(m)}),onPointerMove:ge(e.onPointerMove,m=>{m.target.hasPointerCapture(m.pointerId)&&s(m)}),onPointerUp:ge(e.onPointerUp,m=>{const h=m.target;h.hasPointerCapture(m.pointerId)&&(h.releasePointerCapture(m.pointerId),i(m))})})}),nY="SliderTrack",aY=y.forwardRef((e,t)=>{const{__scopeSlider:r,...a}=e,s=w0(nY,r);return n.jsx(Me.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...a,ref:t})});aY.displayName=nY;var Xk="SliderRange",sY=y.forwardRef((e,t)=>{const{__scopeSlider:r,...a}=e,s=w0(Xk,r),i=tY(Xk,r),o=y.useRef(null),l=tt(t,o),c=s.values.length,d=s.values.map(h=>oY(h,s.min,s.max)),u=c>1?Math.min(...d):0,m=100-Math.max(...d);return n.jsx(Me.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...a,ref:l,style:{...e.style,[i.startEdge]:u+"%",[i.endEdge]:m+"%"}})});sY.displayName=Xk;var Jk="SliderThumb",iY=y.forwardRef((e,t)=>{const r=BFe(e.__scopeSlider),[a,s]=y.useState(null),i=tt(t,l=>s(l)),o=y.useMemo(()=>a?r().findIndex(l=>l.ref.current===a):-1,[r,a]);return n.jsx(HFe,{...e,ref:i,index:o})}),HFe=y.forwardRef((e,t)=>{const{__scopeSlider:r,index:a,name:s,...i}=e,o=w0(Jk,r),l=tY(Jk,r),[c,d]=y.useState(null),u=tt(t,v=>d(v)),m=c?o.form||!!c.closest("form"):!0,h=G2(c),f=o.values[a],b=f===void 0?0:oY(f,o.min,o.max),g=YFe(a,o.values.length),p=h==null?void 0:h[l.size],x=p?QFe(p,b,l.direction):0;return y.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),n.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[l.startEdge]:`calc(${b}% + ${x}px)`},children:[n.jsx(Qk.ItemSlot,{scope:e.__scopeSlider,children:n.jsx(Me.span,{role:"slider","aria-label":e["aria-label"]||g,"aria-valuemin":o.min,"aria-valuenow":f,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...i,ref:u,style:f===void 0?{display:"none"}:e.style,onFocus:ge(e.onFocus,()=>{o.valueIndexToChangeRef.current=a})})}),m&&n.jsx(GFe,{name:s??(o.name?o.name+(o.values.length>1?"[]":""):void 0),form:o.form,value:f},a)]})});iY.displayName=Jk;var GFe=e=>{const{value:t,...r}=e,a=y.useRef(null),s=Q2(t);return y.useEffect(()=>{const i=a.current,o=window.HTMLInputElement.prototype,c=Object.getOwnPropertyDescriptor(o,"value").set;if(s!==t&&c){const d=new Event("input",{bubbles:!0});c.call(i,t),i.dispatchEvent(d)}},[s,t]),n.jsx("input",{style:{display:"none"},...r,ref:a,defaultValue:t})};function KFe(e=[],t,r){const a=[...e];return a[r]=t,a.sort((s,i)=>s-i)}function oY(e,t,r){const i=100/(r-t)*(e-t);return Wx(i,[0,100])}function YFe(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function ZFe(e,t){if(e.length===1)return 0;const r=e.map(s=>Math.abs(s-t)),a=Math.min(...r);return r.indexOf(a)}function QFe(e,t,r){const a=e/2,i=mT([0,50],[0,a]);return(a-i(t)*r)*r}function XFe(e){return e.slice(0,-1).map((t,r)=>e[r+1]-t)}function JFe(e,t){if(t>0){const r=XFe(e);return Math.min(...r)>=t}return!0}function mT(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}function eDe(e){return(String(e).split(".")[1]||"").length}function tDe(e,t){const r=Math.pow(10,t);return Math.round(e*r)/r}var lY=JK,rDe=aY,nDe=sY,aDe=iY;const j0=y.forwardRef(({className:e,...t},r)=>n.jsxs(lY,{ref:r,className:_e("relative flex w-full touch-none select-none items-center",e),...t,children:[n.jsx(rDe,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:n.jsx(nDe,{className:"absolute h-full bg-primary"})}),n.jsx(aDe,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));j0.displayName=lY.displayName;const sDe=({className:e="h-6 w-6"})=>n.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",className:e,children:[n.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2"}),n.jsx("path",{d:"M10 8L16 12L10 16V8Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]}),iDe=({className:e="h-6 w-6"})=>n.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",className:e,children:[n.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2"}
895),n.jsx("rect",{x:"9",y:"8",width:"2",height:"8",fill:"currentColor",rx:"0.5"}),n.jsx("rect",{x:"13",y:"8",width:"2",height:"8",fill:"currentColor",rx:"0.5"})]});function oDe(e="en"){const t=e.toLowerCase().trim().split("-")[0],r={en:{grammar:"Grammar",clarity:"Clarity",filler:"Filler Words",sales:"Weak Language",speakerChange:"Speaker Change",found:"Found",howToFix:"How to say correctly",examples:"How to say correctly",error:"Error"},ru:{grammar:"Грамматика",clarity:"Ясность",filler:"Слова-паразиты",sales:"Слабый язык",speakerChange:"Смена спикера",found:"Найдено",howToFix:"Как сказать правильно",examples:"Как сказать правильно",error:"Ошибка"},he:{grammar:"דקדוק",clarity:"בהירות",filler:"מילות מילוי",sales:"שפה חלשה",speakerChange:"שינוי דובר",found:"נמצא",howToFix:"איך לומר נכון",examples:"איך לומר נכון",error:"שגיאה"},es:{grammar:"Gramática",clarity:"Claridad",filler:"Palabras de relleno",sales:"Lenguaje débil",speakerChange:"Cambio de orador",found:"Encontrado",howToFix:"Cómo decirlo correctamente",examples:"Cómo decirlo correctamente",error:"Error"},ar:{grammar:"قواعد",clarity:"وضوح",filler:"كلمات حشو",sales:"لغة ضعيفة",speakerChange:"تغيير المتحدث",found:"وُجد",howToFix:"كيف تقولها بشكل صحيح",examples:"كيف تقولها بشكل صحيح",error:"خطأ"},zh:{grammar:"语法",clarity:"清晰度",filler:"填充词",sales:"弱语言",speakerChange:"发言人变更",found:"发现",howToFix:"如何正确表达",examples:"如何正确表达",error:"错误"}};return r[t]||r.en}function lDe({audioUrl:e,errorMarkers:t=[],speakerMarkers:r=[],language:a="en",onReady:s}){const i=oDe(a),o=a.toLowerCase().trim().split("-")[0],l=o==="he"||o==="ar"||o==="hebrew"||o==="arabic",c=y.useRef(null),d=y.useRef(null),[u,m]=y.useState(!1),[h,f]=y.useState(0),[b,g]=y.useState(0),[p,x]=y.useState(1),[v,w]=y.useState(!1),[N,j]=y.useState(!1),[k,S]=y.useState(0),[C,A]=y.useState(null),[T,E]=y.useState(null),I=y.useRef(0),R=y.useRef(null),P=y.useRef(null),M=y.useRef(!1);y.useEffect(()=>{if(!c.current)return;let Q=!1;const B=new AbortController,se=Wu.create({container:c.current,waveColor:"hsl(var(--muted-foreground) / 0.3)",progressColor:"hsl(var(--primary))",cursorColor:"hsl(var(--primary))",barWidth:2,barGap:1,barRadius:2,height:80,normalize:!0,backend:"WebAudio",fetchParams:{signal:B.signal,credentials:"include"}});d.current=se,se.on("ready",()=>{M.current=!0,P.current&&clearTimeout(P.current),Q||(j(!0),g(se.getDuration()))}),se.on("play",()=>!Q&&m(!0)),se.on("pause",()=>!Q&&m(!1)),se.on("audioprocess",()=>{Q||f(se.getCurrentTime())}),se.on("seeking",()=>{Q||f(se.getCurrentTime())}),se.on("loading",ne=>{Q||S(ne)}),se.on("error",ne=>{!Q&&!String(ne??"").includes("abort")&&(console.error("[WaveformPlayer] Error loading audio:",ne),P.current&&clearTimeout(P.current),A(o==="he"?"שגיאה בטעינת השמע":"Error loading audio"))});const ye=()=>{se.load(e).catch(ne=>{Q||!ne||String(ne).includes("abort")||(I.current<3?(I.current+=1,console.log(`[WaveformPlayer] Audio not ready, auto-retry ${I.current}/3 in 5s`),R.current=setTimeout(()=>{Q||ye()},5e3)):(console.error("[WaveformPlayer] Failed to load audio after retries:",ne),A(o==="he"?"לא ניתן לטעון את קובץ השמע":"Could not load audio file")))})};return ye(),P.current=setTimeout(()=>{!Q&&!M.current&&(console.warn("[WaveformPlayer] Load timeout — audio took too long to decode"),A(o==="he"?"לא ניתן לטעון את קובץ השמע":"Could not load audio file"))},9e4),()=>{Q=!0,d.current=null,R.current&&clearTimeout(R.current),P.current&&clearTimeout(P.current),B.abort();try{se.pause(),se.empty()}catch{}}},[e]),y.useEffect(()=>{N&&b>0&&s&&s(Q=>{if(d.current){const B=Q/b;d.current.seekTo(Math.min(B,1))}})},[N,b,s]);const O=()=>{d.current&&d.current.playPause()},$=Q=>{const B=Q[0];x(B),d.current&&d.current.setVolume(B),B===0?w(!0):v&&w(!1)},_=()=>
895{d.current&&(v?(d.current.setVolume(p||.5),w(!1)):(d.current.setVolume(0),w(!0)))},F=Q=>{if(d.current&&N){const B=Q/b;d.current.seekTo(B)}},U=Q=>{const B=Math.floor(Q/60),se=Math.floor(Q%60);return`${B}:${se.toString().padStart(2,"0")}`},Z=Q=>{switch(Q){case"grammar":return"bg-red-500";case"clarity":return"bg-blue-500";case"filler":return"bg-yellow-500";case"sales":return"bg-orange-500";default:return"bg-gray-500"}},H=Q=>{switch(Q){case"grammar":return"text-red-600 dark:text-red-400";case"clarity":return"text-blue-600 dark:text-blue-400";case"filler":return"text-yellow-600 dark:text-yellow-500";case"sales":return"text-orange-600 dark:text-orange-400";default:return"text-muted-foreground"}};return n.jsx("div",{className:"p-6 rounded-2xl",children:n.jsxs("div",{className:"space-y-4",children:[C&&n.jsxs("div",{className:"flex flex-col items-center justify-center py-8 space-y-4","data-testid":"waveform-error",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-red-100 dark:bg-red-950/30 flex items-center justify-center",children:n.jsx(g4,{className:"w-8 h-8 text-red-500"})}),n.jsx("p",{className:"text-sm text-red-600 dark:text-red-400",children:C}),n.jsx(D,{variant:"outline",size:"sm",onClick:()=>{A(null),j(!1),I.current=0,d.current&&d.current.load(e).catch(Q=>{Q&&!String(Q).includes("abort")&&A(o==="he"?"לא ניתן לטעון את קובץ השמע":"Could not load audio file")})},"data-testid":"button-retry-audio",children:o==="he"?"נסה שוב":"Retry"})]}),!N&&!C&&n.jsxs("div",{className:"flex flex-col items-center justify-center py-8 space-y-4","data-testid":"waveform-loading",children:[n.jsx("div",{className:"w-full max-w-md h-2 bg-muted rounded-full overflow-hidden",children:n.jsx("div",{className:`h-full bg-primary rounded-full transition-all duration-300 ${k===0?"animate-pulse":""}`,style:{width:`${k>0?k:15}%`}})}),n.jsx("p",{className:"text-sm text-muted-foreground",children:k>0&&k<100?o==="he"?`טוען שמע... ${k}%`:o==="ar"?`جاري تحميل الصوت... ${k}%`:o==="ru"?`Загрузка аудио... ${k}%`:o==="es"?`Cargando audio... ${k}%`:o==="zh"?`加载音频... ${k}%`:`Loading audio... ${k}%`:k>=100?o==="he"?"מעבד שמע...":o==="ar"?"جاري معالجة الصوت...":o==="ru"?"Обработка аудио...":o==="es"?"Procesando audio...":o==="zh"?"处理音频...":"Processing audio...":o==="he"?"טוען נגן...":o==="ar"?"جاري التحميل...":o==="ru"?"Загрузка...":o==="es"?"Cargando...":o==="zh"?"加载中...":"Loading player..."})]}),N&&b>0&&t.length>0&&n.jsx("div",{className:"relative h-8 mb-2",children:t.map((Q,B)=>{const se=Q.time/b*100,ye=Math.max(5,Math.min(95,se));return n.jsx("button",{type:"button",onClick:()=>{E(Q),F(Q.time),d.current&&!u&&d.current.play()},className:`absolute text-xs font-medium px-1.5 py-0.5 rounded cursor-pointer transition-all hover:scale-110 ${H(Q.type)} hover:underline`,style:{left:`${ye}%`,transform:"translateX(-50%)"},title:`${U(Q.time)} - Click to play`,"data-testid":`label-${Q.type}-${B}`,children:Q.text},`label-${B}`)})}),n.jsxs("div",{className:"relative rounded-xl p-4",children:[n.jsxs("div",{className:"relative",children:[n.jsx("div",{ref:c,className:"w-full","data-testid":"waveform-container"}),N&&b>0&&n.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[t.map((Q,B)=>n.jsx("div",{className:`absolute top-0 bottom-0 w-2 ${Z(Q.type)} cursor-pointer hover:w-3 transition-all z-10 rounded-sm`,style:{left:`${Q.time/b*100}%`,pointerEvents:"auto",transform:"translateX(-50%)",opacity:.9},onClick:se=>{se.stopPropagation(),E(Q),F(Q.time),d.current&&!u&&d.current.play()},title:`${Q.text} (${Q.type}) - Click to play from ${U(Q.time)}`,"data-testid":`marker-${Q.type}-${B}`},`error-${B}`)),r.map((Q,B)=>n.jsx("div",{className:"absolute top-0 bottom-0 w-0.5 bg-purple-500 opacity-50 cursor-pointer hover:opacity-100 transition-opacity",style:{left:`${Q.time/b*100}%`,pointerEvents:"auto"},onClick:()=>F(Q.time),title:`Speaker: ${Q.speaker}`,"data-testid":`marker-speaker-${B}`},`speaker-${B}`))]})]}),N&&b>0&&t.length>0&&(()=>{const B=Math.ceil(b/2),se=100/B,ye={grammar:4,sales:3,clarity:2,filler:1},ne=Array(B).fill(null).map(()=>({type:null,markers:[]}));t.forEach(W=>{const ee=Math.min(Math.floor(W.time/2),B-1);ee>=0&&ee<B&&(ne[ee].markers.push(W),(!ne[ee].type||ye[W.type]>ye[ne[ee].type])&&(ne[ee].type=W.type))});const xe=W=>{switch(W){case"grammar":return"bg-red-500/70";
895case"clarity":return"bg-blue-500/70";case"filler":return"bg-yellow-500/70";case"sales":return"bg-orange-500/70";default:return""}};return n.jsxs("div",{className:"relative h-3 mt-2 rounded-full overflow-hidden","data-testid":"segment-bar",children:[n.jsx("div",{className:"absolute inset-0 bg-muted/30 rounded-full"}),ne.map((W,ee)=>W.type?n.jsx("div",{className:`absolute top-0 bottom-0 ${xe(W.type)} cursor-pointer hover:opacity-100 transition-opacity`,style:{left:`${ee*se}%`,width:`${se}%`},onClick:()=>{const ae=W.markers[0];ae&&(E(ae),F(ee*2),d.current&&!u&&d.current.play())},title:`${W.markers.length} ${W.markers.length===1?"issue":"issues"} - ${U(ee*2)}`,"data-testid":`bin-${W.type}-${ee}`},`bin-${ee}`):null),n.jsx("div",{className:"absolute top-0 bottom-0 w-0.5 bg-foreground z-20",style:{left:`${h/b*100}%`}})]})})()]}),n.jsxs("div",{className:"flex items-center gap-4",dir:"ltr",children:[n.jsx("button",{onClick:O,disabled:!N,className:"w-12 h-12 flex items-center justify-center text-primary hover:text-primary/80 transition-colors disabled:opacity-50","data-testid":"button-play-pause",children:u?n.jsx(iDe,{className:"h-10 w-10"}):n.jsx(sDe,{className:"h-10 w-10"})}),n.jsxs("div",{className:"text-sm text-muted-foreground min-w-[80px]","data-testid":"text-time",children:[U(h)," / ",U(b)]}),n.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[n.jsx(D,{size:"icon",variant:"ghost",onClick:_,"data-testid":"button-mute",children:v||p===0?n.jsx(g4,{className:"h-4 w-4"}):n.jsx(Jv,{className:"h-4 w-4"})}),n.jsx("div",{className:"w-24",children:n.jsx(j0,{value:[v?0:p],min:0,max:1,step:.01,onValueChange:$,"data-testid":"slider-volume"})})]})]}),T&&n.jsxs("div",{className:"rounded-lg p-4 space-y-3 relative",dir:l?"rtl":"ltr",children:[n.jsx(D,{size:"icon",variant:"ghost",className:`absolute top-2 h-6 w-6 ${l?"left-2":"right-2"}`,onClick:()=>E(null),"data-testid":"button-close-error-details",children:n.jsx(Ra,{className:"h-4 w-4"})}),n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx("div",{className:`w-3 h-3 ${Z(T.type)} rounded-sm`}),n.jsxs("h4",{className:"font-semibold text-sm capitalize",children:[i[T.type]," ",i.error]}),n.jsxs("span",{className:`text-xs text-muted-foreground ${l?"mr-auto":"ml-auto"}`,children:["@",U(T.time)]})]}),n.jsxs("div",{className:"space-y-3",children:[T.wrong&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.wrongSentence,":"]}),n.jsx("p",{className:`text-sm ${l?"pr-3":"pl-3"}`,children:T.wrong})]}),T.fixed&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.fixedSentence,":"]}),n.jsx("p",{className:`text-sm ${l?"pr-3":"pl-3"}`,children:T.fixed})]}),T.reason&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.reason,":"]}),n.jsx("p",{className:`text-sm ${l?"pr-3":"pl-3"}`,children:T.reason})]}),T.tip&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.tip,":"]}),n.jsx("p",{className:`text-sm ${l?"pr-3":"pl-3"}`,children:T.tip})]}),T.suggestions&&T.suggestions.length>0&&!T.fixed&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.howToFix,":"]}),n.jsx("div",{className:"space-y-1",children:T.suggestions.map((Q,B)=>n.jsx("p",{className:`text-sm ${l?"pr-3":"pl-3"}`,children:Q},B))})]}),T.examples&&T.examples.length>0&&!T.reason&&n.jsxs("div",{children:[n.jsxs("p",{className:"text-xs font-semibold text-muted-foreground mb-1",children:[i.examples,":"]}),n.jsx("div",{className:"space-y-1",children:T.examples.map((Q,B)=>n.jsxs("p",{className:`text-xs italic text-muted-foreground font-mono ${l?"pr-3":"pl-3"}`,children:['"',Q,'"']},B))})]})]})]}),(t.length>0||r.length>0)&&n.jsxs("div",{className:`flex flex-wrap gap-4 text-xs text-muted-foreground ${l?"justify-end":"justify-start"}`,dir:l?"rtl":"ltr",children:[t.some(Q=>Q.type==="grammar")&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-red-500 rounded-sm"}),n.jsx("span",{children:i.grammar})]}),t.some(Q=>Q.type==="clarity")&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-blue-500 rounded-sm"}),n.jsx("span",{children:i.clarity})]}),t.some(Q=>Q.type==="filler")&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-yellow-500 rounded-sm"}),n.jsx("span",{children:i.filler})]}),t.some(Q=>Q.type==="sales")&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-orange-500 rounded-sm"}),n.jsx("span",{children:i.sales})]}),r.length>0&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-3 h-3 bg-purple-500 rounded-sm"}),n.jsx("span",{children:i.speakerChange})]})]})]})})}var hT="Switch",[cDe,U8e]=rn(hT),[dDe,uDe]=cDe(hT),cY=y.forwardRef((e,t)=>
895{const{__scopeSwitch:r,name:a,checked:s,defaultChecked:i,required:o,disabled:l,value:c="on",onCheckedChange:d,form:u,...m}=e,[h,f]=y.useState(null),b=tt(t,w=>f(w)),g=y.useRef(!1),p=h?u||!!h.closest("form"):!0,[x=!1,v]=Kn({prop:s,defaultProp:i,onChange:d});return n.jsxs(dDe,{scope:r,checked:x,disabled:l,children:[n.jsx(Me.button,{type:"button",role:"switch","aria-checked":x,"aria-required":o,"data-state":mY(x),"data-disabled":l?"":void 0,disabled:l,value:c,...m,ref:b,onClick:ge(e.onClick,w=>{v(N=>!N),p&&(g.current=w.isPropagationStopped(),g.current||w.stopPropagation())})}),p&&n.jsx(mDe,{control:h,bubbles:!g.current,name:a,value:c,checked:x,required:o,disabled:l,form:u,style:{transform:"translateX(-100%)"}})]})});cY.displayName=hT;var dY="SwitchThumb",uY=y.forwardRef((e,t)=>{const{__scopeSwitch:r,...a}=e,s=uDe(dY,r);return n.jsx(Me.span,{"data-state":mY(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:t})});uY.displayName=dY;var mDe=e=>{const{control:t,checked:r,bubbles:a=!0,...s}=e,i=y.useRef(null),o=Q2(r),l=G2(t);return y.useEffect(()=>{const c=i.current,d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"checked").set;if(o!==r&&m){const h=new Event("click",{bubbles:a});m.call(c,r),c.dispatchEvent(h)}},[o,r,a]),n.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...s,tabIndex:-1,ref:i,style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function mY(e){return e?"checked":"unchecked"}var hY=cY,hDe=uY;const Vo=y.forwardRef(({className:e,...t},r)=>n.jsx(hY,{className:_e("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:n.jsx(hDe,{className:_e("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));Vo.displayName=hY.displayName;function fDe({meetingId:e,open:t,onClose:r}){const{toast:a}=dt(),[s,i]=y.useState(!1),[o,l]=y.useState(null),[c,d]=y.useState(!1),u=o?`https://speakflare.com/report/${o}`:null,m=Ve({mutationFn:async()=>await ct(`/api/meetings/${e}/share`,"POST"),onSuccess:x=>{i(x.isPublic),l(x.shareToken||null),a({title:x.isPublic?"Report is now public":"Report is now private",description:x.isPublic?"Anyone with the link can view it":"Link has been disabled"})},onError:()=>{a({title:"Error",description:"Could not update sharing settings",variant:"destructive"})}}),h=()=>{m.mutate()},f=async()=>{if(u)try{await navigator.clipboard.writeText(u),d(!0),setTimeout(()=>d(!1),2e3),a({title:"Copied!",description:"Link copied to clipboard"})}catch{a({title:"Error",description:"Could not copy link",variant:"destructive"})}},b=`My communication score on SpeakFlare AI. Can you beat it? → ${u}`,g=()=>{if(!u)return;const x=`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(u)}`;window.open(x,"_blank","noopener,noreferrer")},p=()=>{if(!u)return;const v=`https://twitter.com/intent/tweet?text=${encodeURIComponent(b)}`;window.open(v,"_blank","noopener,noreferrer")};return n.jsx(Tc,{open:t,onOpenChange:r,children:n.jsxs(fl,{className:"max-w-md",children:[n.jsx(Ac,{children:n.jsxs(Ec,{className:"flex items-center gap-2",children:[n.jsx(Ko,{className:"h-5 w-5"}),"Share Report"]})}),n.jsxs("div",{className:"space-y-6 pt-2",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 bg-muted/40 rounded-lg",children:[n.jsxs("div",{children:[n.jsx(zt,{className:"text-sm font-semibold",children:"Public Report"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:s?"Anyone with the link can view this report":"Only you can see this report"})]}),n.jsx(Vo,{checked:s,onCheckedChange:h,disabled:m.isPending})]}),s&&u&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center gap-2 p-3 bg-muted/30 border border-border rounded-lg",children:[n.jsx("span",{className:"text-xs text-muted-foreground flex-1 truncate",children:u}),n.jsx(D,{size:"sm",variant:"ghost",onClick:f,className:"shrink-0 h-7 px-2",children:c?n.jsx(ut,{className:"h-3.5 w-3.5 text-green-500"}):n.jsx(Xu,{className:"h-3.5 w-3.5"})})]}),n.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[n.jsxs(D,{variant:"outline",className:"gap-2 text-sm",onClick:g,children:[n.jsx(Qv,{className:"h-4 w-4 text-blue-600"}),"LinkedIn"]}),n.jsxs(D,{variant:"outline",className:"gap-2 text-sm",onClick:p,children:[n.jsx(I8,{className:"h-4 w-4"}),"Twitter / X"]})]}),n.jsxs("div",{className:"p-3 bg-primary/5 border border-primary/20 rounded-lg",children:[n.jsx("p",{className:"text-xs text-muted-foreground font-medium mb-1",children:"Challenge text:"}),n.jsxs("p",{className:"text-xs text-foreground italic",children:['"',b,'"']})]})]}),!s&&n.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:"Enable public sharing to generate a shareable link for this report."})]})]})})}const eS=["A+","A","B+","B","C","D","F"];function Rg(e){return eS.indexOf(e)}function pDe(e){const t=Math.round(Math.min(Math.max(e,0),eS.length-1));return eS[t]}function fY(e){return e===0?"A+":e<=2?"A":e<=5?"B+":e<=10?"B":e<=15?"C":e<=20?"D":"F"}function pY(e){return e===0?"A+":e<=3?"A":e<=8?"B+":e<=15?"B":e<=25?"C":e<=35?"D":"F"}function gY(e){return e===0?"A+":e<=2?"A":e<=6?"B+":e<=12?"B":e<=18?"C":e<=25?"D":"F"}function xY(e){return e===0?"A+":e<=2?"A":e<=5?"B+":e<=10?"B":e<=15?"C":e<=20?"D":"F"}function gDe(e,t,r,a){const s=[Rg(fY(e)),Rg(pY(t)),Rg(gY(r)),Rg(xY(a))],i=s.reduce((o,l)=>o+l,0)/s.length;return pDe(i)}function yY(e){switch(e){case"A+":case"A":return{bg:"bg-green-50",text:"text-green-700",border:"border-green-200"};case"B+":case"B":return{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200"};case"C":return{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200"};case"D":return{bg:"bg-orange-50",text:"text-orange-700",border:"border-orange-200"};case"F":return{bg:"bg-red-50",text:"text-red-700",border:"border-red-200"}}}function NM({grade:e}){const t=yY(e);return n.jsx("span",{className:`inline-flex items-center justify-center w-12 h-12 rounded-full font-extrabold text-lg border-2 ${t.bg} ${t.text} ${t.border}`,children:e})}function xDe({grammarCount:e,fillerCount:t,clarityCount:r,salesCount:a,totalMeetings:s,speakerName:i}
895){const o=fY(e),l=pY(t),c=gY(r),d=xY(a),u=gDe(e,t,r,a),m=yY(u),h=[{subject:"Grammar",grade:o,detail:`${e} issue${e!==1?"s":""}`},{subject:"Filler Words",grade:l,detail:`${t} use${t!==1?"s":""}`},{subject:"Clarity",grade:c,detail:`${r} issue${r!==1?"s":""}`},{subject:"Sales Language",grade:d,detail:`${a} issue${a!==1?"s":""}`}];return n.jsxs(X,{className:"overflow-hidden border-2 border-border max-w-md w-full",children:[n.jsxs("div",{className:"bg-primary px-6 py-4 flex items-center gap-3",children:[n.jsx(xB,{size:36,className:"flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("div",{className:"text-primary-foreground font-bold text-base leading-tight",children:"SpeakFlare"}),n.jsx("div",{className:"text-primary-foreground/80 text-xs font-medium tracking-wide uppercase",children:"Communication Report Card"})]}),s!==void 0&&n.jsxs("div",{className:"ml-auto text-right",children:[n.jsx("div",{className:"text-primary-foreground/70 text-xs",children:"Meetings"}),n.jsx("div",{className:"text-primary-foreground font-bold text-lg leading-tight",children:s})]})]}),n.jsxs("div",{className:"px-6 py-3 border-b border-border bg-muted/40 flex items-center justify-between",children:[n.jsxs("span",{className:"font-semibold text-sm text-foreground",children:[i||"Speaker","'s Report"]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:new Date().toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})})]}),n.jsxs("div",{className:"px-6 py-4",children:[n.jsxs("div",{className:"grid grid-cols-3 mb-2 px-1",children:[n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Subject"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide text-center",children:"Grade"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide text-right",children:"Detail"})]}),n.jsxs("div",{className:"space-y-2",children:[h.map(f=>n.jsxs("div",{className:"grid grid-cols-3 items-center py-2.5 px-3 rounded-lg border border-border bg-card hover:bg-muted/30 transition-colors",children:[n.jsx("span",{className:"text-sm font-medium text-foreground",children:f.subject}),n.jsx("div",{className:"flex justify-center",children:n.jsx(NM,{grade:f.grade})}),n.jsx("span",{className:"text-sm text-muted-foreground text-right",children:f.detail})]},f.subject)),n.jsxs("div",{className:`grid grid-cols-3 items-center py-3 px-3 rounded-lg border-2 ${m.border} ${m.bg} mt-3`,children:[n.jsx("span",{className:"text-sm font-extrabold text-foreground",children:"Overall"}),n.jsx("div",{className:"flex justify-center",children:n.jsx(NM,{grade:u})}),n.jsx("span",{className:"text-right text-xs font-semibold text-muted-foreground",children:"Combined"})]})]})]}),n.jsxs("div",{className:"px-6 py-3 border-t border-border bg-muted/30 flex items-center justify-between",children:[n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Powered by"," ",n.jsx("span",{className:"font-semibold text-primary",children:"SpeakFlare.com"})]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"AI Speech Analysis"})]})]})}var tS=["Enter"," "],yDe=["ArrowDown","PageUp","Home"],vY=["ArrowUp","PageDown","End"],vDe=[...yDe,...vY],bDe={ltr:[...tS,"ArrowRight"],rtl:[...tS,"ArrowLeft"]},wDe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Fp="Menu",[Zf,jDe,NDe]=Ku(Fp),[Fc,bY]=rn(Fp,[NDe,cl,b0]),N0=cl(),wY=b0(),[kDe,Dc]=Fc(Fp),[SDe,Dp]=Fc(Fp),jY=e=>{const{__scopeMenu:t,open:r=!1,children:a,dir:s,onOpenChange:i,modal:o=!0}=e,l=N0(t),[c,d]=y.useState(null),u=y.useRef(!1),m=en(i),h=sm(s);return y.useEffect(()=>{const f=()=>{u.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>u.current=!1;return document.addEventListener("keydown",f,{capture:!0}),()=>{document.removeEventListener("keydown",f,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),n.jsx(nb,{...l,children:n.jsx(kDe,{scope:t,open:r,onOpenChange:m,content:c,onContentChange:d,children:n.jsx(SDe,{scope:t,onClose:y.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:u,dir:h,modal:o,children:a})})})};jY.displayName=Fp;
vendor: 12,993 bytes, line 895
895var CDe="MenuAnchor",fT=y.forwardRef((e,t)=>{const{__scopeMenu:r,...a}=e,s=N0(r);return n.jsx(mp,{...s,...a,ref:t})});fT.displayName=CDe;var pT="MenuPortal",[PDe,NY]=Fc(pT,{forceMount:void 0}),kY=e=>{const{__scopeMenu:t,forceMount:r,children:a,container:s}=e,i=Dc(pT,t);return n.jsx(PDe,{scope:t,forceMount:r,children:n.jsx(Yn,{present:r||i.open,children:n.jsx(Yu,{asChild:!0,container:s,children:a})})})};kY.displayName=pT;var La="MenuContent",[TDe,gT]=Fc(La),SY=y.forwardRef((e,t)=>{const r=NY(La,e.__scopeMenu),{forceMount:a=r.forceMount,...s}=e,i=Dc(La,e.__scopeMenu),o=Dp(La,e.__scopeMenu);return n.jsx(Zf.Provider,{scope:e.__scopeMenu,children:n.jsx(Yn,{present:a||i.open,children:n.jsx(Zf.Slot,{scope:e.__scopeMenu,children:o.modal?n.jsx(ADe,{...s,ref:t}):n.jsx(EDe,{...s,ref:t})})})})}),ADe=y.forwardRef((e,t)=>{const r=Dc(La,e.__scopeMenu),a=y.useRef(null),s=tt(t,a);return y.useEffect(()=>{const i=a.current;if(i)return ub(i)},[]),n.jsx(xT,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:ge(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),EDe=y.forwardRef((e,t)=>{const r=Dc(La,e.__scopeMenu);return n.jsx(xT,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),IDe=Go("MenuContent.ScrollLock"),xT=y.forwardRef((e,t)=>{const{__scopeMenu:r,loop:a=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:m,onInteractOutside:h,onDismiss:f,disableOutsideScroll:b,...g}=e,p=Dc(La,r),x=Dp(La,r),v=N0(r),w=wY(r),N=jDe(r),[j,k]=y.useState(null),S=y.useRef(null),C=tt(t,S,p.onContentChange),A=y.useRef(0),T=y.useRef(""),E=y.useRef(0),I=y.useRef(null),R=y.useRef("right"),P=y.useRef(0),M=b?fp:y.Fragment,O=b?{as:IDe,allowPinchZoom:!0}:void 0,$=F=>{var ne,xe;const U=T.current+F,Z=N().filter(W=>!W.disabled),H=document.activeElement,Q=(ne=Z.find(W=>W.ref.current===H))==null?void 0:ne.textValue,B=Z.map(W=>W.textValue),se=UDe(B,U,Q),ye=(xe=Z.find(W=>W.textValue===se))==null?void 0:xe.ref.current;(function W(ee){T.current=ee,window.clearTimeout(A.current),ee!==""&&(A.current=window.setTimeout(()=>W(""),1e3))})(U),ye&&setTimeout(()=>ye.focus())};y.useEffect(()=>()=>window.clearTimeout(A.current),[]),db();const _=y.useCallback(F=>{var Z,H;return R.current===((Z=I.current)==null?void 0:Z.side)&&qDe(F,(H=I.current)==null?void 0:H.area)},[]);return n.jsx(TDe,{scope:r,searchRef:T,onItemEnter:y.useCallback(F=>{_(F)&&F.preventDefault()},[_]),onItemLeave:y.useCallback(F=>{var U;_(F)||((U=S.current)==null||U.focus(),k(null))},[_]),onTriggerLeave:y.useCallback(F=>{_(F)&&F.preventDefault()},[_]),pointerGraceTimerRef:E,onPointerGraceIntentChange:y.useCallback(F=>{I.current=F},[]),children:n.jsx(M,{...O,children:n.jsx(hp,{asChild:!0,trapped:s,onMountAutoFocus:ge(i,F=>{var U;F.preventDefault(),(U=S.current)==null||U.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:n.jsx(Nc,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:m,onInteractOutside:h,onDismiss:f,children:n.jsx(gK,{asChild:!0,...w,dir:x.dir,orientation:"vertical",loop:a,currentTabStopId:j,onCurrentTabStopIdChange:k,onEntryFocus:ge(c,F=>{x.isUsingKeyboardRef.current||F.preventDefault()}),preventScrollOnEntryFocus:!0,children:n.jsx(ab,{role:"menu","aria-orientation":"vertical","data-state":BY(p.open),"data-radix-menu-content":"",dir:x.dir,...v,...g,ref:C,style:{outline:"none",...g.style},onKeyDown:ge(g.onKeyDown,F=>{const Z=F.target.closest("[data-radix-menu-content]")===F.currentTarget,H=F.ctrlKey||F.altKey||F.metaKey,Q=F.key.length===1;Z&&(F.key==="Tab"&&F.preventDefault(),!H&&Q&&$(F.key));const B=S.current;if(F.target!==B||!vDe.includes(F.key))return;F.preventDefault();const ye=N().filter(ne=>!ne.disabled).map(ne=>ne.ref.current);vY.includes(F.key)&&ye.reverse(),BDe(ye)}),onBlur:ge(e.onBlur,F=>{F.currentTarget.contains(F.target)||(window.clearTimeout(A.current),T.current="")}),onPointerMove:ge(e.onPointerMove,Qf(F=>{const U=F.target,Z=P.current!==F.clientX;if(F.currentTarget.contains(U)&&Z){const H=F.clientX>P.current?"right":"left";R.current=H,P.current=F.clientX}}))})})})})})})});SY.displayName=La;var _De="MenuGroup",yT=y.forwardRef((e,t)=>{const{__scopeMenu:r,...a}=e;return n.jsx(Me.div,{role:"group",...a,ref:t})});yT.displayName=_De;var MDe="MenuLabel",CY=y.forwardRef((e,t)=>{const{__scopeMenu:r,...a}=e;return n.jsx(Me.div,{...a,ref:t})});CY.displayName=MDe;var pv="MenuItem",kM="menu.itemSelect",k0=y.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:a,...s}=e,i=y.useRef(null),o=Dp(pv,e.__scopeMenu),l=gT(pv,e.__scopeMenu),c=tt(t,i),d=y.useRef(!1),u=()=>{const m=i.current;if(!r&&m){const h=new CustomEvent(kM,{bubbles:!0,cancelable:!0});m.addEventListener(kM,f=>a==null?void 0:a(f),{once:!0}),P2(m,h),h.defaultPrevented?d.current=!1:o.onClose()}};return n.jsx(PY,{...s,ref:c,disabled:r,onClick:ge(e.onClick,u),onPointerDown:m=>{var h;(h=e.onPointerDown)==null||h.call(e,m),d.current=!0},onPointerUp:ge(e.onPointerUp,m=>{var h;d.current||(h=m.currentTarget)==null||h.click()}),onKeyDown:ge(e.onKeyDown,m=>{const h=l.searchRef.current!=="";r||h&&m.key===" "||tS.includes(m.key)&&(m.currentTarget.click(),m.preventDefault())})})});k0.displayName=pv;var PY=y.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:a=!1,textValue:s,...i}=e,o=gT(pv,r),l=wY(r),c=y.useRef(null),d=tt(t,c),[u,m]=y.useState(!1),[h,f]=y.useState("");return y.useEffect(()=>{const b=c.current;b&&f((b.textContent??"").trim())},[i.children]),n.jsx(Zf.ItemSlot,{scope:r,disabled:a,textValue:s??h,children:n.jsx(xK,{asChild:!0,...l,focusable:!a,children:n.jsx(Me.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...i,ref:d,onPointerMove:ge(e.onPointerMove,Qf(b=>{a?o.onItemLeave(b):(o.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:ge(e.onPointerLeave,Qf(b=>o.onItemLeave(b))),onFocus:ge(e.onFocus,()=>m(!0)),onBlur:ge(e.onBlur,()=>m(!1))})})})}),ODe="MenuCheckboxItem",TY=y.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:a,...s}=e;return n.jsx(MY,{scope:e.__scopeMenu,checked:r,children:n.jsx(k0,{role:"menuitemcheckbox","aria-checked":gv(r)?"mixed":r,...s,ref:t,"data-state":bT(r),onSelect:ge(s.onSelect,()=>a==null?void 0:a(gv(r)?!0:!r),{checkForDefaultPrevented:!1})})})});TY.displayName=ODe;var AY="MenuRadioGroup",[RDe,FDe]=Fc(AY,{value:void 0,onValueChange:()=>{}}),EY=y.forwardRef((e,t)=>{const{value:r,onValueChange:a,...s}=e,i=en(a);return n.jsx(RDe,{scope:e.__scopeMenu,value:r,onValueChange:i,children:n.jsx(yT,{...s,ref:t})})});EY.displayName=AY;var IY="MenuRadioItem",_Y=y.forwardRef((e,t)=>{const{value:r,...a}=e,s=FDe(IY,e.__scopeMenu),i=r===s.value;return n.jsx(MY,{scope:e.__scopeMenu,checked:i,children:n.jsx(k0,{role:"menuitemradio","aria-checked":i,...a,ref:t,"data-state":bT(i),onSelect:ge(a.onSelect,()=>{var o;return(o=s.onValueChange)==null?void 0:o.call(s,r)},{checkForDefaultPrevented:!1})})})});_Y.displayName=IY;var vT="MenuItemIndicator",[MY,DDe]=Fc(vT,{checked:!1}),OY=y.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:a,...s}=e,i=DDe(vT,r);return n.jsx(Yn,{present:a||gv(i.checked)||i.checked===!0,children:n.jsx(Me.span,{...s,ref:t,"data-state":bT(i.checked)})})});OY.displayName=vT;var $De="MenuSeparator",RY=y.forwardRef((e,t)=>{const{__scopeMenu:r,...a}=e;return n.jsx(Me.div,{role:"separator","aria-orientation":"horizontal",...a,ref:t})});RY.displayName=$De;var LDe="MenuArrow",FY=y.forwardRef((e,t)=>{const{__scopeMenu:r,...a}=e,s=N0(r);return n.jsx(sb,{...s,...a,ref:t})});FY.displayName=LDe;var zDe="MenuSub",[V8e,DY]=Fc(zDe),ah="MenuSubTrigger",$Y=y.forwardRef((e,t)=>{const r=Dc(ah,e.__scopeMenu),a=Dp(ah,e.__scopeMenu),s=DY(ah,e.__scopeMenu),i=gT(ah,e.__scopeMenu),o=y.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=i,d={__scopeMenu:e.__scopeMenu},u=y.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return y.useEffect(()=>u,[u]),y.useEffect(()=>{const m=l.current;return()=>{window.clearTimeout(m),c(null)}},[l,c]),n.jsx(fT,{asChild:!0,...d,children:n.jsx(PY,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":s.contentId,"data-state":BY(r.open),...e,ref:Bv(t,s.onTriggerChange),onClick:m=>{var h;(h=e.onClick)==null||h.call(e,m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:ge(e.onPointerMove,Qf(m=>{i.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!r.open&&!o.current&&(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:ge(e.onPointerLeave,Qf(m=>{var f,b;u();const h=(f=r.content)==null?void 0:f.getBoundingClientRect();if(h){const g=(b=r.content)==null?void 0:b.dataset.side,p=g==="right",x=p?-5:5,v=h[p?"left":"right"],w=h[p?"right":"left"];i.onPointerGraceIntentChange({area:[{x:m.clientX+x,y:m.clientY},{x:v,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:v,y:h.bottom}],side:g}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(m),m.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:ge(e.onKeyDown,m=>{var f;const h=i.searchRef.current!=="";e.disabled||h&&m.key===" "||bDe[a.dir].includes(m.key)&&(r.onOpenChange(!0),(f=r.content)==null||f.focus(),m.preventDefault())})})})});$Y.displayName=ah;var LY="MenuSubContent",zY=y.forwardRef((e,t)=>{const r=NY(La,e.__scopeMenu),{forceMount:a=r.forceMount,...s}=e,i=Dc(La,e.__scopeMenu),o=Dp(La,e.__scopeMenu),l=DY(LY,e.__scopeMenu),c=y.useRef(null),d=tt(t,c);return n.jsx(Zf.Provider,{scope:e.__scopeMenu,children:n.jsx(Yn,{present:a||i.open,children:n.jsx(Zf.Slot,{scope:e.__scopeMenu,children:n.jsx(xT,{id:l.contentId,"aria-labelledby":l.triggerId,...s,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var m;o.isUsingKeyboardRef.current&&((m=c.current)==null||m.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:ge(e.onFocusOutside,u=>{u.target!==l.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:ge(e.onEscapeKeyDown,u=>{o.onClose(),u.preventDefault()}),onKeyDown:ge(e.onKeyDown,u=>{var f;const m=u.currentTarget.contains(u.target),h=wDe[o.dir].includes(u.key);m&&h&&(i.onOpenChange(!1),(f=l.trigger)==null||f.focus(),u.preventDefault())})})})})})});zY.displayName=LY;function BY(e){return e?"open":"closed"}function gv(e){return e==="indeterminate"}function bT(e){return gv(e)?"indeterminate":e?"checked":"unchecked"}function BDe(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function WDe(e,t){return e.map((r,a)=>e[(t+a)%e.length])}function UDe(e,t,r){const s=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,i=r?e.indexOf(r):-1;let o=WDe(e,Math.max(i,0));s.length===1&&(o=o.filter(d=>d!==r));const c=o.find(d=>d.toLowerCase().startsWith(s.toLowerCase()));return c!==r?c:void 0}function VDe(e,t){const{x:r,y:a}=e;let s=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const l=t[i].x,c=t[i].y,d=t[o].x,u=t[o].y;c>a!=u>a&&r<(d-l)*(a-c)/(u-c)+l&&(s=!s)}return s}function qDe(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return VDe(r,t)}function Qf(e){return t=>t.pointerType==="mouse"?e(t):void 0}var HDe=jY,GDe=fT,KDe=kY,YDe=SY,ZDe=yT,QDe=CY,XDe=k0,JDe=TY,e$e=EY,t$e=_Y,r$e=OY,n$e=RY,a$e=FY,s$e=$Y,i$e=zY,wT="DropdownMenu",[o$e,q8e]=rn(wT,[bY]),Fn=bY(),[l$e,WY]=o$e(wT),UY=e=>{const{__scopeDropdownMenu:t,children:r,dir:a,open:s,defaultOpen:i,onOpenChange:o,modal:l=!0}=e,c=Fn(t),d=y.useRef(null),[u=!1,m]=Kn({prop:s,defaultProp:i,onChange:o});return n.jsx(l$e,{scope:t,triggerId:Gn(),triggerRef:d,contentId:Gn(),open:u,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(h=>!h),[m]),modal:l,children:n.jsx(HDe,{...c,open:u,onOpenChange:m,dir:a,modal:l,children:r})})};UY.displayName=wT;var VY="DropdownMenuTrigger",qY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:a=!1,...s}=e,i=WY(VY,r),o=Fn(r);return n.jsx(GDe,{asChild:!0,...o,children:n.jsx(Me.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":a?"":void 0,disabled:a,...s,ref:Bv(t,i.triggerRef),onPointerDown:ge(e.onPointerDown,l=>{!a&&l.button===0&&l.ctrlKey===!1&&(i.onOpenToggle(),i.open||l.preventDefault())}),onKeyDown:ge(e.onKeyDown,l=>{a||(["Enter"," "].includes(l.key)&&i.onOpenToggle(),l.key==="ArrowDown"&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(l.key)&&l.preventDefault())})})})});qY.displayName=VY;var c$e="DropdownMenuPortal",HY=e=>{const{__scopeDropdownMenu:t,...r}=e,a=Fn(t);return n.jsx(KDe,{...a,...r})};HY.displayName=c$e;var GY="DropdownMenuContent",KY=y.forwardRef((e,t)=>
895{const{__scopeDropdownMenu:r,...a}=e,s=WY(GY,r),i=Fn(r),o=y.useRef(!1);return n.jsx(YDe,{id:s.contentId,"aria-labelledby":s.triggerId,...i,...a,ref:t,onCloseAutoFocus:ge(e.onCloseAutoFocus,l=>{var c;o.current||(c=s.triggerRef.current)==null||c.focus(),o.current=!1,l.preventDefault()}),onInteractOutside:ge(e.onInteractOutside,l=>{const c=l.detail.originalEvent,d=c.button===0&&c.ctrlKey===!0,u=c.button===2||d;(!s.modal||u)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});KY.displayName=GY;var d$e="DropdownMenuGroup",u$e=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(ZDe,{...s,...a,ref:t})});u$e.displayName=d$e;var m$e="DropdownMenuLabel",YY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(QDe,{...s,...a,ref:t})});YY.displayName=m$e;var h$e="DropdownMenuItem",ZY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(XDe,{...s,...a,ref:t})});ZY.displayName=h$e;var f$e="DropdownMenuCheckboxItem",QY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(JDe,{...s,...a,ref:t})});QY.displayName=f$e;var p$e="DropdownMenuRadioGroup",g$e=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(e$e,{...s,...a,ref:t})});g$e.displayName=p$e;var x$e="DropdownMenuRadioItem",XY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(t$e,{...s,...a,ref:t})});XY.displayName=x$e;var y$e="DropdownMenuItemIndicator",JY=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(r$e,{...s,...a,ref:t})});JY.displayName=y$e;var v$e="DropdownMenuSeparator",eZ=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(n$e,{...s,...a,ref:t})});eZ.displayName=v$e;var b$e="DropdownMenuArrow",w$e=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(a$e,{...s,...a,ref:t})});w$e.displayName=b$e;var j$e="DropdownMenuSubTrigger",tZ=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(s$e,{...s,...a,ref:t})});tZ.displayName=j$e;var N$e="DropdownMenuSubContent",rZ=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...a}=e,s=Fn(r);return n.jsx(i$e,{...s,...a,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});rZ.displayName=N$e;var k$e=UY,S$e=qY,C$e=HY,nZ=KY,aZ=YY,sZ=ZY,iZ=QY,oZ=XY,lZ=JY,cZ=eZ,dZ=tZ,uZ=rZ;const rS=k$e,nS=S$e,P$e=y.forwardRef(({className:e,inset:t,children:r,...a},s)=>n.jsxs(dZ,{ref:s,className:_e("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...a,children:[r,n.jsx(Xs,{className:"ml-auto"})]}));P$e.displayName=dZ.displayName;const T$e=y.forwardRef(({className:e,...t},r)=>n.jsx(uZ,{ref:r,className:_e("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...t}));T$e.displayName=uZ.displayName;const xv=y.forwardRef(({className:e,sideOffset:t=4,...r},a)=>n.jsx(C$e,{children:n.jsx(nZ,{ref:a,sideOffset:t,className:_e("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
895de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",e),...r})}));xv.displayName=nZ.displayName;const Bd=y.forwardRef(({className:e,inset:t,...r},a)=>n.jsx(sZ,{ref:a,className:_e("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...r}));Bd.displayName=sZ.displayName;const A$e=y.forwardRef(({className:e,children:t,checked:r,...a},s)=>n.jsxs(iZ,{ref:s,className:_e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:r,...a,children:[n.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:n.jsx(lZ,{children:n.jsx(ut,{className:"h-4 w-4"})})}),t]}));A$e.displayName=iZ.displayName;const E$e=y.forwardRef(({className:e,children:t,...r},a)=>n.jsxs(oZ,{ref:a,className:_e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[n.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:n.jsx(lZ,{children:n.jsx(j8,{className:"h-2 w-2 fill-current"})})}),t]}));E$e.displayName=oZ.displayName;const I$e=y.forwardRef(({className:e,inset:t,...r},a)=>n.jsx(aZ,{ref:a,className:_e("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));I$e.displayName=aZ.displayName;const _$e=y.forwardRef(({className:e,...t},r)=>n.jsx(cZ,{ref:r,className:_e("-mx-1 my-1 h-px bg-muted",e),...t}));_$e.displayName=cZ.displayName;function M$e(e="en"){const t={hebrew:"he",english:"en",spanish:"es",french:"fr",german:"de",italian:"it",portuguese:"pt",russian:"ru",japanese:"ja",korean:"ko",chinese:"zh",arabic:"ar"},r=e.toLowerCase().trim(),a=t[r]||r.split("-")[0],s={en:{grammar:"Grammar",filler:"Filler",clarity:"Clarity",sales:"Sales"},ru:{grammar:"Грамматика",filler:"Паразиты",clarity:"Ясность",sales:"Продажи"},he:{grammar:"דקדוק",filler:"מילוי",clarity:"בהירות",sales:"מכירות"},es:{grammar:"Gramática",filler:"Muletillas",clarity:"Claridad",sales:"Ventas"},zh:{grammar:"语法",filler:"填充词",clarity:"清晰度",sales:"销售"},ar:{grammar:"قواعد",filler:"حشو",clarity:"وضوح",sales:"مبيعات"},fr:{grammar:"Grammaire",filler:"Remplissage",clarity:"Clarté",sales:"Ventes"},de:{grammar:"Grammatik",filler:"Füllwörter",clarity:"Klarheit",sales:"Verkauf"},it:{grammar:"Grammatica",filler:"Riempitivi",clarity:"Chiarezza",sales:"Vendite"},pt:{grammar:"Gramática",filler:"Preenchimento",clarity:"Clareza",sales:"Vendas"},ja:{grammar:"文法",filler:"口癖",clarity:"明瞭さ",sales:"営業"},ko:{grammar:"문법",filler:"채움말",clarity:"명확성",sales:"영업"}};return s[a]||s.en}function O$e(){var Ke,Dt,$t,nn,Kt,z,J,K,le,me,de,be;const[,e]=Hu("/meeting/:id"),[,t]=ze(),{toast:r}=dt(),{user:a}=Gt(),[s,i]=y.useState(null),[o,l]=y.useState("analysis");y.useState("introduction");const[c,d]=y.useState(!1),[u,m]=y.useState(!1),[h,f]=y.useState(!1),[b,g]=y.useState(null),p=Np(a==null?void 0:a.preferredLanguage);y.useEffect(()=>{const pe=new URLSearchParams(window.location.search).get("tab");pe&&["summary","transcript","timeline","insights"].includes(pe)&&i(pe);const Se=ht=>{i(ht.detail)};return window.addEventListener("tabchange",Se),()=>window.removeEventListener("tabchange",Se)},[]);const x=y.useCallback(V=>{i(V);const pe=new URL(window.location.href);pe.searchParams.set("tab",V),window.history.replaceState({},"",pe.toString())},[]),v=y.useCallback(V=>{b&&(b(V),x("transcript"))},[b,x]),{data:w,isLoading:N,error:j}=De({queryKey:["/api/meetings",e==null?void 0:e.id],enabled:!!(e!=null&&e.id)}),{data:k}=De({queryKey:[`/api/meetings/${e==null?void 0:e.id}/progress`],enabled:!!(e!=null&&e.id)&&!!w}),S=(w==null?void 0:w.primaryLanguage)||"en",C=nhe((a==null?void 0:a.preferredLanguage)??void 0),A=M$e(S);
895p.meetingDetail.whatYouSaid,p.meetingDetail.sayInstead,p.meetingDetail.whyMatters,p.meetingDetail.howToAvoid;const[T,E]=y.useState(null);y.useEffect(()=>{E(null)},[e==null?void 0:e.id]),y.useEffect(()=>{S&&window.dispatchEvent(new CustomEvent("meetinglanguagechange",{detail:S}))},[S]),y.useEffect(()=>{w&&s===null&&i("insights")},[w,s]);const I=Ve({mutationFn:async()=>ct(`/api/meetings/${e==null?void 0:e.id}/reanalyze`,"POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/meetings",e==null?void 0:e.id]}),Qe.invalidateQueries({queryKey:[`/api/meetings/${e==null?void 0:e.id}`]}),r({title:p.meetingDetail.retranscribeStarted,description:p.meetingDetail.retranscribeDesc})},onError:V=>{var Se,ht;const pe=((ht=(Se=V==null?void 0:V.response)==null?void 0:Se.data)==null?void 0:ht.error)||(V==null?void 0:V.message)||"Unknown error";console.error("[Reanalyze Error]",pe),r({title:p.meetingDetail.retranscribeFailed,description:pe||"Failed to start re-transcription. Please try again.",variant:"destructive"})}});if(N)return n.jsx("div",{className:"flex items-center justify-center h-64","data-testid":"loading-state",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(j||!w)return n.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-4","data-testid":"error-state",children:[n.jsx("p",{className:"text-muted-foreground",children:p.meetingDetail.meetingNotFound}),n.jsx(D,{variant:"outline",onClick:()=>t("/meetings"),children:p.meetingDetail.back})]});const R=w.analysisData||{},P=w.speakerAnalysis||{},M=P._matches||[],O=T&&((Ke=P[T])!=null&&Ke.analysisData)?P[T].analysisData:R,$=T&&((Dt=P[T])==null?void 0:Dt.analysisData),_=(($t=O.grammar)==null?void 0:$t.count)||0,F=((nn=O.filler)==null?void 0:nn.count)||0,U=((Kt=O.clarity)==null?void 0:Kt.count)||0,Z=((z=O.sales)==null?void 0:z.count)||0,H=_+F+U+Z,Q=V=>{const pe=M.find(Se=>Se.speaker===V);return(pe==null?void 0:pe.profileName)||V},B=w.transcriptSegments,se=(B==null?void 0:B.length)>0?(()=>{var Se;const V=B[B.length-1],pe=(V==null?void 0:V.endMs)||(V!=null&&V.end?V.end*1e3:0);return pe>0?Math.ceil(pe/6e4):Math.max(1,Math.ceil((((Se=w.transcript)==null?void 0:Se.split(" ").length)||1)/150))})():Math.max(1,Math.ceil((((J=w.transcript)==null?void 0:J.split(" ").length)||1)/150)),ne=(w.date?new Date(w.date):new Date).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}),xe=[];["grammar","filler","clarity","sales"].forEach(V=>{var Se;(((Se=O[V])==null?void 0:Se.issues)||[]).forEach(ht=>{var Hr,Lt;xe.push({type:V,word:ht.word,count:ht.count||1,wrong:ht.wrong,fixed:ht.fixed,suggestion:(Hr=ht.suggestions)==null?void 0:Hr[0],example:(Lt=ht.examples)==null?void 0:Lt[0],reason:ht.reason||ht.rule,tip:ht.tip})})}),xe.sort((V,pe)=>pe.count-V.count);const W=xe.slice(0,5),ee=()=>{const V=[],pe=w.transcriptSegments;return["grammar","filler","clarity","sales"].forEach(Se=>{var Hr;const ht=R[Se];(Hr=ht==null?void 0:ht.issues)!=null&&Hr.length&&ht.issues.forEach(Lt=>{var bn,eo;const Dn=(bn=Lt.word)==null?void 0:bn.toLowerCase();if(Dn&&pe!=null&&pe.length){for(const ws of pe)if(ws.words&&Array.isArray(ws.words))for(const si of ws.words)(eo=si.word)!=null&&eo.toLowerCase().includes(Dn)&&si.start!==void 0&&V.push({time:Math.max(0,si.start),type:Se,text:Lt.word,suggestions:Lt.suggestions||[Lt.fixed],wrong:Lt.wrong,fixed:Lt.fixed,reason:Lt.reason||Lt.rule,tip:Lt.tip})}})}),V.sort((Se,ht)=>Se.time-ht.time)},ae=w.summaryData||{},te=ae.executiveSummary||ae.overview||p.meetingDetail.noIssues,Ae=ae.topicSummary||"";ae.actionItems;const ke=(O==null?void 0:O.improvementTips)||ae.improvementTips||"",Oe=(O==null?void 0:O.speechRateData)||w.speechRateData,$e=(O==null?void 0:O.structureData)||w.structureData;return n.jsxs("div",{className:`min-h-screen pb-20 ${C?"text-right":"text-left"}`,dir:C?"rtl":"ltr","data-testid":"meeting-detail-page",children:[n.jsx("header",{className:"sticky top-0 z-50 py-3 px-4 sm:px-6 bg-background","data-testid":"meeting-header",children:n.jsx("div",{className:"max-w-4xl mx-auto",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex items-center justify-between gap-4",children:[n.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[n.jsx(Fe,{href:"/meetings","data-testid":"link-back-meetings",children:n.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-md bg-muted flex items-center justify-center hover:bg-muted/80 transition-colors",children:C?n.jsx(At,{className:"h-5 w-5 text-foreground"}):n.jsx(Hh,{className:"h-5 w-5 text-foreground"})})}),n.jsxs("div",{className:"min-w-0 flex-1",children:[n.jsx("h1",{className:"font-bold text-base sm:text-xl leading-tight truncate","data-testid":"text-meeting-title",children:w.title||p.meetingDetail.meeting}),w.keywords&&w.keywords.length>0&&n.jsx("div",{className:"flex gap-1.5 mt-1 flex-wrap","data-testid":`keywords-container-${w.id}`,children:w.keywords.map((V,pe)=>n.jsx("span",{className:"text-xs px-2 py-0.5 bg-primary/10 text-primary","data-testid":`keyword-${w.id}-${pe}`,children:V},pe))}),n.jsxs("p",{className:"text-sm text-muted-foreground mt-1","data-testid":"text-meeting-date",children:[ne," · ",se," min"]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[I.isPending&&n.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:n.jsx(_n,{className:"h-4 w-4 animate-spin"})}),n.jsx("button",{onClick:()=>m(!0),className:"w-10 h-10 rounded-md bg-muted flex items-center justify-center hover:bg-muted/80 transition-colors","aria-label":"Share report","data-testid":"button-share-report",children:n.jsx(Ko,{className:"h-5 w-5 text-foreground"})}),n.jsxs(rS,{children:[n.jsx(nS,{asChild:!0,children:n.jsx("button",{className:"w-10 h-10 rounded-md bg-muted flex items-center justify-center hover:bg-muted/80 transition-colors","aria-label":"More actions","data-testid":"button-more-actions",children:n.jsx(Nte,{className:"h-5 w-5 text-foreground"})})}),n.jsxs(xv,{align:C?"start":"end",className:` ${C?"text-right":""}`,children:[n.jsx(Bd,{onClick:()=>I.mutate(),disabled:I.isPending,className:"rounded-none","data-testid":"menu-reanalyze",children:C?n.jsxs(n.Fragment,{children:[I.isPending?p.meetingDetail.analyzing:p.meetingDetail.reanalyze,n.jsx(_n,{className:`h-4 w-4 ms-2 ${I.isPending?"animate-spin":""}`})]}):n.jsxs(n.Fragment,{children:[n.jsx(_n,{className:`h-4 w-4 me-2 ${I.isPending?"animate-spin":""}`}),I.isPending?p.meetingDetail.analyzing:p.meetingDetail.reanalyze]})}),n.jsx(Bd,{onClick:()=>d(!0),className:"rounded-none","data-testid":"menu-send-email",children:C?n.jsxs(n.Fragment,{children:[p.meetingDetail.sendSummary,n.jsx(Ht,{className:"h-4 w-4 ms-2"})]}):n.jsxs(n.Fragment,{children:[n.jsx(Ht,{className:"h-4 w-4 me-2"}),p.meetingDetail.sendSummary]})})]})]})]})]})})}),w.analysisStatus==="partial"&&n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 pt-3",children:n.jsxs("div",{className:"flex items-center justify-between gap-4 px-4 py-3 bg-primary/5 border border-primary/20 rounded-md",children:[n.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[n.jsx(Ur,{className:"h-5 w-5 text-primary shrink-0"}),n.jsxs("div",{className:"min-w-0",children:[n.jsx("span",{className:"text-sm font-semibold text-foreground",children:p.meetingDetail.partialBannerTitle}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:[" — ",H," ",p.meetingDetail.partialBannerBody]})]})]}),n.jsxs(D,{size:"sm",onClick:()=>f(!0),className:"shrink-0 gap-1.5",children:[n.jsx(Ur,{className:"h-3.5 w-3.5"}),p.meetingDetail.partialBannerCta]})]})}),n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 pt-2",children:n.jsxs("div",{className:"bg-card p-3",children:[n.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:p.meetingDetail.allSpeakers}),n.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:[{id:"player",label:p.meetingDetail.player},{id:"overview",label:p.meetingDetail.executiveSummary}].map(V=>n.jsx("button",{onClick:()=>l(V.id),className:`px-3 py-2 text-sm font-medium transition-all ${V.id===o?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted hover:text-foreground"}`,"data-testid":`tab-${V.id}`,children:V.label},V.id))})]})}),(()=>{const V=Object.keys(P).filter(pe=>{var Se;return pe!=="_matches"&&((Se=P[pe])==null?void 0:Se.analysisData)});return V.length>0?(T===null&&V.length>0&&setTimeout(()=>E(V[0]),0),n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 pt-2",children:n.jsxs("div",{className:"bg-card p-3",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:p.meetingDetail.selectSpeaker}),V.map(pe=>n.jsx("button",{onClick:()=>E(pe),className:`px-3 py-1.5 text-sm font-medium transition-all ${T===pe?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted hover:text-foreground"}`,"data-testid":`speaker-${pe}`,children:Q(pe)},pe))]}),T&&!$&&n.jsx("p",{className:"text-xs text-yellow-600 mt-2",children:p.meetingDetail.noSeparateAnalysis})]})})):null})(),n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 py-2",children:n.jsx("div",{className:"bg-card p-4",children:(()=>{const V=[{id:"progress",label:p.meetingDetail.progressFromPrev},{id:"tips",label:p.meetingDetail.howToImprove},{id:"text",label:p.meetingDetail.text},{id:"structure",label:p.meetingDetail.structure},{id:"speech",label:p.meetingDetail.speechRate},{id:"breakdown",label:p.meetingDetail.errors},{id:"top-issues",label:p.meetingDetail.issues},{id:"analysis",label:p.meetingDetail.quickAnalysis}
895],pe=C?[...V].reverse():V;return n.jsxs("div",{className:"space-y-0","data-testid":"tabs-navigation-meeting",children:[n.jsx("div",{className:"grid grid-cols-3 gap-2 sm:hidden",children:pe.map(Se=>n.jsx("button",{onClick:()=>l(Se.id),className:`px-2 py-3 text-xs font-medium transition-all text-center leading-tight ${Se.id===o?"bg-primary text-primary-foreground shadow-sm":"bg-muted/50 text-muted-foreground hover:bg-muted hover:text-foreground"}`,"data-testid":`tab-${Se.id}`,children:Se.label},Se.id))}),n.jsx("div",{className:"hidden sm:flex items-center justify-center gap-2 flex-wrap",children:pe.map(Se=>n.jsx("button",{onClick:()=>l(Se.id),className:`px-3 py-2 text-sm font-medium transition-all text-center whitespace-nowrap ${Se.id===o?"bg-primary text-primary-foreground shadow-sm":"bg-muted/50 text-muted-foreground hover:bg-muted hover:text-foreground"}`,"data-testid":`tab-${Se.id}`,children:Se.label},Se.id))})]})})()})}),n.jsx("main",{className:"max-w-4xl mx-auto px-4 sm:px-6 pb-32",children:n.jsxs("div",{className:"space-y-6 mt-4",dir:C?"rtl":"ltr",children:[o==="overview"&&n.jsxs("div",{className:"space-y-6","data-testid":"content-overview",children:[n.jsxs("section",{className:`bg-card  p-6 ${C?"text-right":"text-left"}`,children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.executiveSummary}),n.jsx("p",{className:"text-base text-foreground leading-relaxed","data-testid":"text-executive-summary",children:te})]}),Ae&&n.jsxs("section",{className:`bg-card  p-6 ${C?"text-right":"text-left"}`,children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.whatDiscussed}),n.jsx("p",{className:"text-base text-foreground leading-relaxed","data-testid":"text-topic-summary",children:Ae})]})]}),o==="tips"&&n.jsx("div",{className:"space-y-6","data-testid":"content-tips",children:ke?n.jsxs("section",{className:`bg-card  p-6 ${C?"text-right":"text-left"}`,children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.howToImprove}),n.jsx("div",{className:"space-y-6","data-testid":"text-improvement-tips",children:ke.split(/\n\n+/).filter(V=>V.trim()&&!V.trim().match(/^[\d\.\-\s]*$/)).map((V,pe)=>{var Hr;const Se=V.split(`
896`).filter(Lt=>Lt.trim()&&!Lt.trim().match(/^[\d\.\-\s]*$/));if(Se.length===0)return null;const ht=(Hr=Se[0])==null?void 0:Hr.replace(/^\d+\.\s*/,"").replace(/\*\*/g,"").trim();return!ht||ht==="---"||ht==="-"?null:n.jsxs("div",{className:"space-y-2",children:[n.jsx("p",{className:"text-base font-medium text-primary",children:ht}),Se.slice(1).map((Lt,Dn)=>{const bn=Lt.replace(/\*\*/g,"").trim();return!bn||bn==="---"||bn==="-"?null:n.jsx("p",{className:"text-base text-foreground",children:bn},Dn)})]},pe)})})]}):n.jsx("p",{className:"text-base text-muted-foreground",children:p.meetingDetail.noActionItems})}),o==="progress"&&n.jsx("div",{className:"space-y-6","data-testid":"content-progress",children:k!=null&&k.hasPreviousMeetings?n.jsxs("section",{className:`bg-card  p-6 ${C?"text-right":"text-left"}`,children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.progressFromPrev}),n.jsxs("div",{className:"space-y-6","data-testid":"text-progress",children:[k.notImproved.length>0&&n.jsxs("div",{className:"space-y-2",children:[n.jsx("p",{className:"text-base font-medium text-primary",children:p.meetingDetail.needsWork}),n.jsx("div",{className:"space-y-1",children:k.notImproved.map(V=>n.jsxs("p",{className:"text-base text-foreground",children:[n.jsxs("span",{className:"font-medium",children:[V,":"]})," ",p.meetingDetail.errors]},V))})]}),k.improved.length>0&&n.jsxs("div",{className:"space-y-2",children:[n.jsx("p",{className:"text-base font-medium text-primary",children:p.meetingDetail.improved}),n.jsx("div",{className:"space-y-1",children:k.improved.map(V=>n.jsxs("p",{className:"text-base text-foreground",children:[n.jsxs("span",{className:"font-medium",children:[V,":"]})," ",p.meetingDetail.improved]},V))})]})]})]}):n.jsx("section",{className:`bg-card  p-6 ${C?"text-right":"text-left"}`,children:n.jsx("p",{className:"text-base text-muted-foreground",children:p.meetingDetail.firstMeeting})})}),o==="player"&&n.jsx("div",{className:"space-y-6","data-testid":"content-player",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.audioPlayer}),w.audioUrl?n.jsx(lDe,{audioUrl:w.audioUrl,duration:se*60,language:S,onReady:V=>g(()=>V),errorMarkers:ee()}):w.transcript||w.transcriptSegments?n.jsx(xM,{segments:w.transcriptSegments,transcript:w.transcript,analysis:O,language:S,onSeek:v,selectedSpeaker:T,onSpeakerChange:E}):n.jsx("div",{className:"p-6 text-center text-base text-muted-foreground",children:n.jsx("p",{children:p.meetingDetail.noTranscript})})]})}),o==="text"&&n.jsx("div",{className:"space-y-6","data-testid":"content-text",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.transcript}),w.transcript||w.transcriptSegments?n.jsx(xM,{segments:w.transcriptSegments,transcript:w.transcript,analysis:O,language:S,onSeek:v,selectedSpeaker:T,onSpeakerChange:E}):n.jsx("div",{className:"text-center py-12 text-muted-foreground",children:n.jsx("p",{children:p.meetingDetail.noTranscript})})]})}),o==="speech"&&n.jsx("div",{className:"space-y-6","data-testid":"content-speech",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.speechRate}),Oe?n.jsxs("div",{className:"space-y-6",children:[n.jsxs("section",{className:C?"text-right":"text-left",children:[n.jsxs("div",{className:"flex items-center gap-4 mb-3",dir:"ltr",children:[n.jsx("span",{className:"text-5xl font-bold text-primary",children:Oe.averageWpm||0}),n.jsx("span",{className:"text-lg text-foreground",children:p.meetingDetail.wpm})]}),n.jsx("p",{className:"text-base text-foreground",children:Oe.feedback||""})]}),((K=Oe.segments)==null?void 0:K.length)>0&&n.jsxs("section",{className:C?"text-right":"text-left",children:[n.jsx("h3",{className:"text-base font-semibold text-foreground mb-4",children:p.meetingDetail.speedOverTime}),n.jsx("div",{className:"h-64",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:Oe.segments.map(V=>({time:Math.round(V.startTime/60),wpm:V.wpm,name:`${Math.floor(V.startTime/60)}:${String(Math.round(V.startTime%60)).padStart(2,"0")}`})),margin:{top:10,right:10,left:0,bottom:10},children:[n.jsx(ma,{dataKey:"time",stroke:"hsl(var(--muted-foreground))",fontSize:12,tickLine:!1,axisLine
896:!1,tickFormatter:V=>`${V}m`}),n.jsx(ha,{stroke:"hsl(var(--muted-foreground))",fontSize:12,tickLine:!1,axisLine:!1,domain:[0,"auto"]}),n.jsx(ya,{type:"monotone",dataKey:"wpm",stroke:"hsl(var(--primary))",strokeWidth:2,dot:!1}),n.jsx(Br,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"0px"}})]})})})]})]}):n.jsx("div",{className:"text-center py-12 text-muted-foreground",children:n.jsx("p",{children:p.meetingDetail.noSpeechData})})]})}),o==="structure"&&n.jsx("div",{className:"space-y-6","data-testid":"content-structure",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-foreground",children:p.meetingDetail.structure}),$e?n.jsx("div",{className:"space-y-6",children:["introduction","body","conclusion"].map(V=>{const pe=$e==null?void 0:$e[V],Se=(pe==null?void 0:pe.score)??0,ht={introduction:p.meetingDetail.intro,body:p.meetingDetail.body,conclusion:p.meetingDetail.conclusion};return n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("span",{className:"font-medium text-foreground",children:ht[V]}),n.jsxs("span",{className:`text-lg font-bold ${Se>=70?"text-green-600":Se>=40?"text-yellow-600":"text-red-600"}`,children:[Se,"/100"]})]}),n.jsx("div",{className:"w-full bg-muted rounded-full h-2",children:n.jsx("div",{className:`h-2 rounded-full ${Se>=70?"bg-green-600":Se>=40?"bg-yellow-600":"bg-red-600"}`,style:{width:`${Se}%`}})}),(pe==null?void 0:pe.feedback)&&n.jsx("p",{className:"text-sm text-muted-foreground",children:pe.feedback})]},V)})}):n.jsx("div",{className:"text-center py-12 text-muted-foreground",children:n.jsx("p",{children:p.meetingDetail.noStructureData})})]})}),o==="analysis"&&n.jsx("div",{className:"space-y-6","data-testid":"content-analysis",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-6 text-foreground",children:p.meetingDetail.quickAnalysis}),W.length>0?n.jsx("div",{className:"space-y-4",children:W.slice(0,3).map((V,pe)=>{const Se=(V==null?void 0:V.word)||"",ht=(V==null?void 0:V.count)||0,Lt=((Dn,bn)=>{const si=bn==="he"?{זה:{instead:"המוצר, הפתרון, התוכנית, הרעיון",example:'במקום "זה עובד טוב" → "המוצר עובד טוב"'},אני:{instead:"אנחנו, הצוות, החברה",example:'במקום "אני חושב" → "אנחנו מאמינים" או "הניסיון מראה"'},כן:{instead:"בהחלט, נכון, מסכים",example:'במקום "כן, כן" → "בהחלט, אני מסכים"'},אממ:{instead:"הפסקה שקטה",example:"עצור לחשוב בשקט במקום למלא את השתיקה"},אה:{instead:"הפסקה שקטה",example:"קח נשימה והמשך בביטחון"},כאילו:{instead:"כמו, למשל, דוגמה",example:'במקום "כאילו..." → "למשל..." או "כמו..."'},בעצם:{instead:"למעשה, בפועל",example:'במקום "בעצם זה..." → "למעשה זה..."'},סתם:{instead:"פשוט, רק",example:'במקום "סתם רציתי" → "רציתי לשאול"'},ממש:{instead:"מאוד, באמת",example:'במקום "ממש טוב" → "מצוין" או "איכותי מאוד"'},נו:{instead:"הפסקה",example:"השמט לגמרי או החלף בהפסקה שקטה"}}:{um:{instead:"silent pause",example:"Pause silently instead of filling the silence"},uh:{instead:"silent pause",example:"Take a breath and continue confidently"},like:{instead:"such as, for example",example:'Instead of "like..." → "for example..." or "such as..."'},"you know":{instead:"remove or pause",example:"Remove entirely or replace with a confident pause"},so:{instead:"therefore, thus",example:'Instead of "so..." at sentence start → "Therefore..." or just start directly'},basically:{instead:"essentially, in short",example:'Instead of "basically..." → "In short..." or remove'},actually:{instead:"in fact, indeed",example:'Instead of "actually..." → "In fact..." or remove'},"i think":{instead:"I believe, research shows",example:'Instead of "I think..." → "I believe..." or "The data shows..."'},i:{instead:"we, our team, the company",example:'Instead of "I did..." → "We achieved..." or "Our team delivered..."'},this:{instead:"the product, the solution",example:'Instead of "this works well" → "The solution works well"'}},Lp=Dn.toLowerCase();return si[Lp]||si[Dn]||null})(Se,S);return n.jsx("section",{className:`${C?"text-right":"text-left"} p-5 bg-muted/30 /50`,"data-testid":`issues-summary-${pe}`,children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx("span",{className:"text-sm font-bold text-primary",children:pe+1})}),n.jsxs("div",{className:"space-y-3 flex-1",children:[n.jsxs("p",{className:"font-semibold text-foreground text-lg",children:['"',Se,'" (',ht,"x)"]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:(V==null?void 0:V.reason)||"Communication pattern to improve."}),Lt&&n.jsxs("div",{className:"mt-3 space-y-2",children:[n.jsxs("div",{className:"p-3 rounded-none bg-green-50 dark:bg-green-950/20 border-l-4 border-green-500",children:[n.jsx("p",{className:"text-xs font-medium text-green-600 dark:text-green-400 mb-1",children:p.meetingDetail.sayInstead}),n.jsx("p",{className:"text-sm font-medium text-foreground",children:Lt.instead})]}),n.jsxs("div",{className:"p-3 rounded-none bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dar
896k:text-blue-400 mb-1",children:p.meetingDetail.howToFix}),n.jsx("p",{className:"text-sm text-foreground",children:Lt.example})]})]})]})]})},pe)})}):n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-muted/50 flex items-center justify-center mx-auto mb-4",children:n.jsx(cw,{className:"w-8 h-8 text-primary"})}),n.jsx("p",{className:"text-base text-muted-foreground",children:p.meetingDetail.greatJob})]})]})}),o==="top-issues"&&n.jsxs("div",{className:"space-y-6","data-testid":"content-top-issues",children:[n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-6 text-foreground",children:p.meetingDetail.issues}),W.length>0?n.jsx("div",{className:"space-y-4",children:W.map((V,pe)=>n.jsxs(Ns,{defaultOpen:pe===0,children:[n.jsx(ks,{className:`w-full p-4 bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer ${C?"text-right":"text-left"}`,children:n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs(ve,{variant:"secondary",className:"text-xs font-bold",children:[(V==null?void 0:V.count)||0,"x"]}),n.jsxs("span",{className:"font-semibold text-foreground text-lg",children:['"',V==null?void 0:V.word,'"']})]}),n.jsx(Jt,{className:"h-5 w-5 text-muted-foreground transition-transform"})]})}),n.jsx(Ss,{className:"px-4 pb-4",children:n.jsxs("div",{className:`mt-4 space-y-4 ${C?"text-right":"text-left"}`,children:[(V==null?void 0:V.wrong)&&n.jsxs("div",{className:"p-3 rounded-none bg-red-50 dark:bg-red-950/20 border-l-4 border-red-500",children:[n.jsx("p",{className:"text-xs font-medium text-red-600 dark:text-red-400 mb-1",children:p.meetingDetail.whatYouSaid}),n.jsx("p",{className:"text-sm text-foreground",children:V.wrong})]}),(V==null?void 0:V.fixed)&&n.jsxs("div",{className:"p-3 rounded-none bg-green-50 dark:bg-green-950/20 border-l-4 border-green-500",children:[n.jsx("p",{className:"text-xs font-medium text-green-600 dark:text-green-400 mb-1",children:p.meetingDetail.sayInstead}),n.jsx("p",{className:"text-sm text-foreground",children:V.fixed})]}),(V==null?void 0:V.reason)&&n.jsxs("div",{className:"p-3 rounded-none bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dark:text-blue-400 mb-1",children:p.meetingDetail.whyMatters}),n.jsx("p",{className:"text-sm text-foreground",children:V.reason})]}),(V==null?void 0:V.tip)&&n.jsxs("div",{className:"p-3 rounded-none bg-primary/10 border-l-4 border-primary",children:[n.jsx("p",{className:"text-xs font-medium text-primary mb-1",children:p.meetingDetail.howToAvoid}),n.jsx("p",{className:"text-sm text-foreground",children:V.tip})]})]})})]},pe))}):n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-muted/50 flex items-center justify-center mx-auto mb-4",children:n.jsx(cw,{className:"w-8 h-8 text-primary"})}),n.jsx("p",{className:"text-base text-muted-foreground",children:p.meetingDetail.noIssues})]})]}),n.jsx(Mq,{}),n.jsx(xDe,{grammarCount:_,fillerCount:F,clarityCount:U,salesCount:Z})]}),o==="breakdown"&&n.jsx("div",{className:"space-y-6","data-testid":"content-breakdown",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-lg font-bold mb-6 text-foreground",children:p.meetingDetail.errors}),n.jsxs("div",{className:"space-y-6",children:[_>0&&n.jsxs(Ns,{defaultOpen:!0,children:[n.jsx(ks,{className:"w-full",children:n.jsxs("h3",{className:"font-semibold text-foreground flex items-center justify-between gap-2 p-3 rounded-none bg-red-50 dark:bg-red-950/20 hover:bg-red-100 dark:hover:bg-red-950/30 transition-colors cursor-pointer",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-3 h-3 rounded-full bg-red-500"}),A.grammar," (",_,")"]}),n.jsx(Jt,{className:"h-4 w-4"})]})}),n.jsx(Ss,{children:n.jsx("div",{className:"space-y-2 mt-2",children:(((le=O.grammar)==null?void 0:le.issues)||[]).map((V,pe)=>n.jsxs(Ns,{children:[n.jsx(ks,{className:`w-full p-3 rounded-none bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer ${C?"text-right":"text-left"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(ve,{variant:"secondary",className:"text-xs",children:[V.count,"x"]}),n.jsxs("span",{className:"font-medium text-foreground",children:['"',V.word,'"']}
896)]}),n.jsx(Jt,{className:"h-4 w-4 text-muted-foreground"})]})}),n.jsx(Ss,{className:"px-3 pb-3",children:n.jsxs("div",{className:`mt-3 space-y-3 ${C?"text-right":"text-left"}`,children:[(V==null?void 0:V.wrong)&&n.jsxs("div",{className:"p-2 rounded bg-red-50 dark:bg-red-950/20 border-l-4 border-red-500",children:[n.jsx("p",{className:"text-xs font-medium text-red-600 dark:text-red-400 mb-1",children:p.meetingDetail.whatYouSaid}),n.jsx("p",{className:"text-sm text-foreground",children:V.wrong})]}),(V==null?void 0:V.fixed)&&n.jsxs("div",{className:"p-2 rounded bg-green-50 dark:bg-green-950/20 border-l-4 border-green-500",children:[n.jsx("p",{className:"text-xs font-medium text-green-600 dark:text-green-400 mb-1",children:p.meetingDetail.sayInstead}),n.jsx("p",{className:"text-sm text-foreground",children:V.fixed})]}),(V==null?void 0:V.reason)&&n.jsxs("div",{className:"p-2 rounded bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dark:text-blue-400 mb-1",children:p.meetingDetail.whyMatters}),n.jsx("p",{className:"text-sm text-foreground",children:V.reason})]}),(V==null?void 0:V.tip)&&n.jsxs("div",{className:"p-2 rounded bg-primary/10 border-l-4 border-primary",children:[n.jsx("p",{className:"text-xs font-medium text-primary mb-1",children:p.meetingDetail.howToAvoid}),n.jsx("p",{className:"text-sm text-foreground",children:V.tip})]})]})})]},pe))})})]}),F>0&&n.jsxs(Ns,{defaultOpen:!0,children:[n.jsx(ks,{className:"w-full",children:n.jsxs("h3",{className:"font-semibold text-foreground flex items-center justify-between gap-2 p-3 rounded-none bg-yellow-50 dark:bg-yellow-950/20 hover:bg-yellow-100 dark:hover:bg-yellow-950/30 transition-colors cursor-pointer",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-3 h-3 rounded-full bg-yellow-500"}),A.filler," (",F,")"]}),n.jsx(Jt,{className:"h-4 w-4"})]})}),n.jsx(Ss,{children:n.jsx("div",{className:"space-y-2 mt-2",children:(((me=O.filler)==null?void 0:me.issues)||[]).map((V,pe)=>n.jsxs(Ns,{children:[n.jsx(ks,{className:`w-full p-3 rounded-none bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer ${C?"text-right":"text-left"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(ve,{variant:"secondary",className:"text-xs",children:[V.count,"x"]}),n.jsxs("span",{className:"font-medium text-foreground",children:['"',V.word,'"']})]}),n.jsx(Jt,{className:"h-4 w-4 text-muted-foreground"})]})}),n.jsx(Ss,{className:"px-3 pb-3",children:n.jsxs("div",{className:`mt-3 space-y-3 ${C?"text-right":"text-left"}`,children:[(V==null?void 0:V.reason)&&n.jsxs("div",{className:"p-2 rounded bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dark:text-blue-400 mb-1",children:p.meetingDetail.whyMatters}),n.jsx("p",{className:"text-sm text-foreground",children:V.reason})]}),(V==null?void 0:V.tip)&&n.jsxs("div",{className:"p-2 rounded bg-primary/10 border-l-4 border-primary",children:[n.jsx("p",{className:"text-xs font-medium text-primary mb-1",children:p.meetingDetail.howToAvoid}),n.jsx("p",{className:"text-sm text-foreground",children:V.tip})]})]})})]},pe))})})]}),U>0&&n.jsxs(Ns,{defaultOpen:!0,children:[n.jsx(ks,{className:"w-full",children:n.jsxs("h3",{className:"font-semibold text-foreground flex items-center justify-between gap-2 p-3 rounded-none bg-blue-50 dark:bg-blue-950/20 hover:bg-blue-100 dark:hover:bg-blue-950/30 transition-colors cursor-pointer",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-3 h-3 rounded-full bg-blue-500"}),A.clarity," (",U,")"]}),n.jsx(Jt,{className:"h-4 w-4"})]})}),n.jsx(Ss,{children:n.jsx("div",{className:"space-y-2 mt-2",children:(((de=O.clarity)==null?void 0:de.issues)||[]).map((V,pe)=>n.jsxs(Ns,{children:[n.jsx(ks,{className:`w-full p-3 rounded-none bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer ${C?"text-right":"text-left"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(ve,{variant:"secondary",className:"text-xs",children:[V.count,"x"]}),n.jsxs("span",{className:"font-medium text-foreground",children:['"',V.word,'"']}
896)]}),n.jsx(Jt,{className:"h-4 w-4 text-muted-foreground"})]})}),n.jsx(Ss,{className:"px-3 pb-3",children:n.jsxs("div",{className:`mt-3 space-y-3 ${C?"text-right":"text-left"}`,children:[(V==null?void 0:V.wrong)&&n.jsxs("div",{className:"p-2 rounded bg-red-50 dark:bg-red-950/20 border-l-4 border-red-500",children:[n.jsx("p",{className:"text-xs font-medium text-red-600 dark:text-red-400 mb-1",children:p.meetingDetail.whatYouSaid}),n.jsx("p",{className:"text-sm text-foreground",children:V.wrong})]}),(V==null?void 0:V.fixed)&&n.jsxs("div",{className:"p-2 rounded bg-green-50 dark:bg-green-950/20 border-l-4 border-green-500",children:[n.jsx("p",{className:"text-xs font-medium text-green-600 dark:text-green-400 mb-1",children:p.meetingDetail.sayInstead}),n.jsx("p",{className:"text-sm text-foreground",children:V.fixed})]}),(V==null?void 0:V.reason)&&n.jsxs("div",{className:"p-2 rounded bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dark:text-blue-400 mb-1",children:p.meetingDetail.whyMatters}),n.jsx("p",{className:"text-sm text-foreground",children:V.reason})]}),(V==null?void 0:V.tip)&&n.jsxs("div",{className:"p-2 rounded bg-primary/10 border-l-4 border-primary",children:[n.jsx("p",{className:"text-xs font-medium text-primary mb-1",children:p.meetingDetail.howToAvoid}),n.jsx("p",{className:"text-sm text-foreground",children:V.tip})]})]})})]},pe))})})]}),Z>0&&n.jsxs(Ns,{defaultOpen:!0,children:[n.jsx(ks,{className:"w-full",children:n.jsxs("h3",{className:"font-semibold text-foreground flex items-center justify-between gap-2 p-3 rounded-none bg-orange-50 dark:bg-orange-950/20 hover:bg-orange-100 dark:hover:bg-orange-950/30 transition-colors cursor-pointer",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-3 h-3 rounded-full bg-orange-500"}),A.sales," (",Z,")"]}),n.jsx(Jt,{className:"h-4 w-4"})]})}),n.jsx(Ss,{children:n.jsx("div",{className:"space-y-2 mt-2",children:(((be=O.sales)==null?void 0:be.issues)||[]).map((V,pe)=>n.jsxs(Ns,{children:[n.jsx(ks,{className:`w-full p-3 rounded-none bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer ${C?"text-right":"text-left"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(ve,{variant:"secondary",className:"text-xs",children:[V.count,"x"]}),n.jsxs("span",{className:"font-medium text-foreground",children:['"',V.word,'"']})]}),n.jsx(Jt,{className:"h-4 w-4 text-muted-foreground"})]})}),n.jsx(Ss,{className:"px-3 pb-3",children:n.jsxs("div",{className:`mt-3 space-y-3 ${C?"text-right":"text-left"}`,children:[(V==null?void 0:V.wrong)&&n.jsxs("div",{className:"p-2 rounded bg-red-50 dark:bg-red-950/20 border-l-4 border-red-500",children:[n.jsx("p",{className:"text-xs font-medium text-red-600 dark:text-red-400 mb-1",children:p.meetingDetail.whatYouSaid}),n.jsx("p",{className:"text-sm text-foreground",children:V.wrong})]}),(V==null?void 0:V.fixed)&&n.jsxs("div",{className:"p-2 rounded bg-green-50 dark:bg-green-950/20 border-l-4 border-green-500",children:[n.jsx("p",{className:"text-xs font-medium text-green-600 dark:text-green-400 mb-1",children:p.meetingDetail.sayInstead}),n.jsx("p",{className:"text-sm text-foreground",children:V.fixed})]}),(V==null?void 0:V.reason)&&n.jsxs("div",{className:"p-2 rounded bg-blue-50 dark:bg-blue-950/20 border-l-4 border-blue-500",children:[n.jsx("p",{className:"text-xs font-medium text-blue-600 dark:text-blue-400 mb-1",children:p.meetingDetail.whyMatters}),n.jsx("p",{className:"text-sm text-foreground",children:V.reason})]}),(V==null?void 0:V.tip)&&n.jsxs("div",{className:"p-2 rounded bg-primary/10 border-l-4 border-primary",children:[n.jsx("p",{className:"text-xs font-medium text-primary mb-1",children:p.meetingDetail.howToAvoid}),n.jsx("p",{className:"text-sm text-foreground",children:V.tip})]})]})})]},pe))})})]}),H===0&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-muted/50 flex items-center justify-center mx-auto mb-4",children:n.jsx(cw,{className:"w-8 h-8 text-primary"})}),n.jsx("p",{className:"text-base text-muted-foreground",children:p.meetingDetail.noIssues})]})]})]})})]})}),n.jsx(Tc,{open:c,onOpenChange:d,children:n.jsxs(fl,{className:"max-w-lg","data-testid":"dialog-email-preview",children:[n.jsx(Ac,{children:n.jsx(Ec,{children:p.meetingDetail.emailPreview})}),n.jsxs("div",{className:"space-y-4 text-sm",children:[n.jsxs("div",{children:[n.jsx("p",{className:"font-medium",children:w.title}),n.jsx("p",{className:"text-muted-foreground",children:ne})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-medium mb-2",children:p.meetingDetail.summary}),n.jsx("p",{className:"text-muted-foreground",children:te})]}),n.jsxs("div",{children:[n.jsxs("p",{className:"font-medium mb-2",children:[p.meetingDetail.issues,": ",H]}),n.jsxs("div",{className:"flex gap-4 text-xs text-muted-foreground",children:[n.jsxs("span",{children:[_," ",A.grammar]}),n.jsxs("span",{children:[F," ",A.filler]}),n.jsxs("span",{children:[U," ",A.clarity]}),n.jsxs("span",{children:[Z," ",A.sales]})]})]}),n.jsx(D,{className:"w-full",onClick:()=>d(!1),"data-testid":"button-close-email",children:p.common.close})]})]})}),n.jsx(fDe,{meetingId:(e==null?void 0:e.id)||"",open:u,onClose:()=>m(!1)}),n.jsx(aT,{open:h,onClose:()=>f(!1)})]})}const R$e=({active:e,payload:t,label:r})=>!e||!t||!t.length?null:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-3",children:[n.jsx("p",{className:"text-sm font-medium mb-1",children:r}),t.map((a,s)=>n.jsxs("div",{className:"text-sm",children:[n.jsxs("span",{className:"text-muted-foreground",children:[a.name,": "]}),n.jsx("span",{className:"font-semibold",children:a.value})]},s))]});function ao(e){const t=100-e.grammarCount*2-e.fillerCount*1.5-e.clarityCount*1-e.salesCount*.5;return Math.max(0,Math.min(100,Math.round(t)))}function F$e(){const{user:e}=Gt(),t=Np(e==null?void 0:e.preferredLanguage),r=(e==null?void 0:e.id)||"",[a,s]=y.useState(1),[i,o]=y.useState("category"),l=10;y.useEffect(()=>{const E=new URLSearchParams(window.location.search).get("tab")||"category";o(E);const I=R=>{o(R.detail)};return window.addEventListener("tabchange",I),()=>window.removeEventListener("tabchange",I)},[]);const{data:c,isLoading:d}=De({queryKey:[`/api/users/${r}/meetings/all`]}),u=c||[],m=new Map;u.forEach(T=>{var P,M,O,$;const E=T.analysisData,I=new Date(T.date).toLocaleDateString("en-US",{month:"short",day:"numeric"});[...(((P=E==null?void 0:E.grammar)==null?void 0:P.issues)||[]).map(_=>({..._,category:"Grammar"})),...(((M=E==null?void 0:E.filler)==null?void 0:M.issues)||[]).map(_=>({..._,category:"Filler Word"}
896)),...(((O=E==null?void 0:E.clarity)==null?void 0:O.issues)||[]).map(_=>({..._,category:"Clarity"})),...((($=E==null?void 0:E.sales)==null?void 0:$.issues)||[]).map(_=>({..._,category:"Sales"}))].forEach(_=>{const F=_.word.toLowerCase();m.has(F)||m.set(F,{word:_.word,status:"active",currentCount:0,message:"",history:[],category:_.category}),m.get(F).history.push({date:I,count:_.count,meetingTitle:T.title})})});const h=Array.from(m.values()).map(T=>{var I;T.history.sort((R,P)=>new Date(P.date).getTime()-new Date(R.date).getTime());const E=((I=T.history[0])==null?void 0:I.count)||0;return T.currentCount=E,T.status=E===0?"eliminated":"active",T.status==="eliminated"?T.message=`Great job! No more "${T.word}"`:T.message=`Used ${E} time${E!==1?"s":""} in latest meeting`,T}).sort((T,E)=>T.status!==E.status?T.status==="eliminated"?-1:1:E.currentCount-T.currentCount);h.filter(T=>T.status==="eliminated").length,h.filter(T=>T.status==="active").length,u.length,u.reduce((T,E)=>T+E.grammarCount+E.fillerCount+E.clarityCount+E.salesCount,0);const f=Math.ceil(h.length/l);if(y.useEffect(()=>{s(1)},[r]),y.useEffect(()=>{f>0&&a>f&&s(f)},[f,a]),d)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});const b=u.sort((T,E)=>new Date(T.date).getTime()-new Date(E.date).getTime()),g=b.length;let p="day";g>60?p="month":g>30&&(p="week");const x=T=>{if(p==="month")return`${T.getFullYear()}-${String(T.getMonth()+1).padStart(2,"0")}`;if(p==="week"){const E=new Date(T.getFullYear(),0,1),I=Math.ceil(((T.getTime()-E.getTime())/864e5+E.getDay()+1)/7);return`${T.getFullYear()}-W${String(I).padStart(2,"0")}`}else return T.toISOString().split("T")[0]},v=T=>{if(p==="month"){const[E,I]=T.split("-");return new Date(parseInt(E),parseInt(I)-1,1).toLocaleDateString("en-US",{month:"short",year:"numeric"})}else if(p==="week"){const[E,I]=T.split("-W");return`Week ${I}, ${E}`}else return new Date(T).toLocaleDateString("en-US",{month:"short",day:"numeric"})},w=new Map;b.forEach(T=>{const E=new Date(T.date),I=x(E);w.has(I)||w.set(I,{total:0,grammar:0,filler:0,clarity:0,sales:0,count:0});const R=w.get(I);R.total+=T.grammarCount+T.fillerCount+T.clarityCount+T.salesCount,R.grammar+=T.grammarCount,R.filler+=T.fillerCount,R.clarity+=T.clarityCount,R.sales+=T.salesCount,R.count+=1});const N=Array.from(w.entries()).map(([T,E])=>({date:v(T),total:Math.round(E.total/E.count),grammar:Math.round(E.grammar/E.count),filler:Math.round(E.filler/E.count),clarity:Math.round(E.clarity/E.count),sales:Math.round(E.sales/E.count)}));N.length>=2&&N[N.length-1].total<N[0].total;const j=Math.max(1,Math.min(a,f||1)),k=(j-1)*l,S=k+l,C=h.slice(k,S),A=T=>{const E=Math.max(1,Math.min(T,f||1));s(E),window.scrollTo({top:0,behavior:"smooth"})};return n.jsx("div",{className:"min-h-screen bg-background pb-20",children:n.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[(()=>{const T=[{id:"category",label:t.progress.overview},{id:"trend",label:t.progress.trend},{id:"words",label:t.progress.words}];return n.jsx("div",{className:"flex items-center justify-center gap-6 mb-6 border-b border-border",children:T.map(E=>n.jsx("button",{onClick:()=>o(E.id),className:`pb-3 px-1 text-sm font-medium transition-colors border-b-2 -mb-px ${i===E.id?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,"data-testid":`tab-${E.id}`,children:E.label},E.id))})})(),u.length===0?n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-12 text-center",children:[n.jsx("h3",{className:"text-xl font-semibold mb-2",children:t.progress.noData}),n.jsx("p",{className:"text-muted-foreground mb-6",children:t.progress.uploadToTrack}),n.jsx(Fe,{href:"/meetings",children:n.jsx(D,{size:"lg",children:t.progress.uploadFirst})})]}):n.jsxs(n.Fragment,{children:[i==="category"&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("h2",{className:"text-xl font-semibold mb-4",children:t.progress.issuesOverview}),n.jsx("div",{className:"w-full",children:n.jsx(Ei,{width:"100%",height:280,children:n.jsxs(lK,{data:N,margin:{top:20,right:10,left:80,bottom:10},children:[n.jsx(ma,{dataKey:"date",tick:{fill:"hsl(var(--muted-foreground))",fontSize:10}
896,axisLine:{stroke:"hsl(var(--muted-foreground))",opacity:.25},tickLine:!1}),n.jsx(ha,{orientation:"right",tick:{fill:"hsl(var(--muted-foreground))",fontSize:10},axisLine:{stroke:"hsl(var(--muted-foreground))",opacity:.25},tickLine:!1}),n.jsx(Br,{content:n.jsx(R$e,{}),cursor:{fill:"hsl(var(--muted))",opacity:.3}}),n.jsx(wl,{dataKey:"total",fill:"hsl(var(--primary))",name:t.progress.totalIssues,radius:[4,4,0,0]})]})})}),n.jsx("p",{className:"text-center text-sm text-muted-foreground mt-4 pt-4 border-t",children:t.progress.trackIssues})]}),u.length>=2&&(()=>{const T=[...u].sort((E,I)=>new Date(E.date).getTime()-new Date(I.date).getTime()).slice(-20).map(E=>({name:new Date(E.date).toLocaleDateString("en-US",{month:"short",day:"numeric"}),score:ao(E)}));return n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsxs("h2",{className:"text-xl font-semibold mb-4 flex items-center gap-2",children:[n.jsx(oc,{className:"h-5 w-5 text-primary"}),"Communication Score Over Time"]}),n.jsx("div",{className:"h-64",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:T,margin:{top:10,right:10,left:-20,bottom:0},children:[n.jsx(ma,{dataKey:"name",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(ha,{domain:[0,100],tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(Br,{contentStyle:{backgroundColor:"hsl(var(--card))",borderRadius:"0px",padding:"10px 14px",border:"1px solid hsl(var(--border))"},labelStyle:{fontWeight:"bold",marginBottom:"4px"},formatter:E=>[`${E}/100`,"Score"]}),n.jsx(ya,{type:"monotone",dataKey:"score",stroke:"hsl(var(--primary))",strokeWidth:2.5,dot:{r:4,fill:"hsl(var(--primary))"},activeDot:{r:6},name:"Score"})]})})}),n.jsx("p",{className:"text-xs text-muted-foreground text-center mt-3",children:"Score = 100 − (grammar×2) − (filler×1.5) − (clarity×1) − (sales×0.5), capped 0–100"})]})})(),u.length>=1&&(()=>{const E=[...u.map(P=>({...P,_score:ao(P)}))].sort((P,M)=>M._score-P._score)[0],I=[...u].sort((P,M)=>new Date(P.date).getTime()-new Date(M.date).getTime());let R=null;if(I.length>=6){const P=(ao(I[0])+ao(I[1])+ao(I[2]))/3,M=I.slice(-3),O=(ao(M[0])+ao(M[1])+ao(M[2]))/3;P>0&&(R=Math.round((O-P)/P*100))}return n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(_te,{className:"h-5 w-5 text-yellow-500"}),n.jsx("h3",{className:"font-semibold text-sm",children:"Your Best Meeting"})]}),n.jsx(Fe,{href:`/meeting/${E.id}`,children:n.jsxs("div",{className:"cursor-pointer hover:opacity-80 transition-opacity",children:[n.jsx("p",{className:"font-medium text-foreground truncate",children:E.title}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:new Date(E.date).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}),n.jsxs("div",{className:"mt-3 flex items-center gap-3 flex-wrap text-xs",children:[E.grammarCount>0&&n.jsxs("span",{className:"text-red-600 dark:text-red-400",children:["Grammar: ",E.grammarCount]}),E.fillerCount>0&&n.jsxs("span",{className:"text-yellow-600 dark:text-yellow-400",children:["Filler: ",E.fillerCount]}),E.clarityCount>0&&n.jsxs("span",{className:"text-blue-600 dark:text-blue-400",children:["Clarity: ",E.clarityCount]}),E.salesCount>0&&n.jsxs("span",{className:"text-orange-600 dark:text-orange-400",children:["Sales: ",E.salesCount]})]}),n.jsxs("div",{className:"mt-3 inline-flex items-center gap-1 px-3 py-1 bg-primary/10 text-primary text-sm font-bold",children:["Score: ",E._score,"/100"]})]})})]}),n.jsxs("div",{className:"bg-card border border-border p-5 flex flex-col justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(it,{className:"h-5 w-5 text-green-500"}),n.jsx("h3",{className:"font-semibold text-sm",children:"Most Improved"})]}),R!==null?n.jsxs("div",{children:[n.jsxs("div",{className:`text-4xl font-bold ${R>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"}`,children:[R>=0?"+":"",R,"%"]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Score change: first 3 meetings vs last 3 meetings"})]}):n.jsx("p",{className:"text-sm text-muted-foreground",children:"Record at least 6 meetings to see your improvement trend."})]})]})})(),n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[n.jsx(Fe,{href:"/goals",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex items-center gap-3 cursor-pointer hover:bg-muted/50 transition-colors group",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx(rr,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Set a Goal"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Define targets to stay on track"})]})]})}),n.jsx(Fe,{href:"/comparison",children:n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-4 flex items-center gap-3 cursor-pointer hover:bg-muted/50 transition-colors group",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx(Zv,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Compare Meetings"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Side-by-side analysis of two sessions"})]})]})})]})]}),i==="words"&&n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-semibold mb-4",children:t.progress.wordTracking}),n.jsx("div",{className:"bg-card border border-border rounded-md shadow-sm overflow-hidden",children:C.map((T,E)=>n.jsxs("div",{className:`px-4 py-4 ${E%2===0?"bg-muted":"bg-card"}`,"data-testid":`progress-word-${E}`,children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsxs("span",{className:"font-medium",children:['"',T.word,'"']}
896),n.jsx("span",{className:"px-2 py-0.5 text-xs bg-background text-muted-foreground",children:T.category}),T.status==="eliminated"&&n.jsx("span",{className:"text-xs text-green-600 dark:text-green-400 font-medium",children:t.progress.eliminated})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:T.message})]}),T.status==="active"&&n.jsx("div",{className:`text-2xl font-bold flex-shrink-0 ${T.currentCount<=2?"text-green-600 dark:text-green-400":T.currentCount<=5?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}`,children:T.currentCount})]}),T.history.length>1&&n.jsxs("div",{className:"mt-3 pt-3 /50",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:t.progress.history}),n.jsx("div",{className:"space-y-1",children:T.history.slice(0,3).map((I,R)=>n.jsxs("div",{className:"flex items-center justify-between text-sm",children:[n.jsxs("div",{className:"text-muted-foreground",children:[I.meetingTitle," (",I.date,")"]}),n.jsx("div",{className:`font-medium ${I.count===0?"text-green-600 dark:text-green-400":I.count<=2?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}`,children:I.count})]},R))})]})]},E))}),f>1&&n.jsxs("div",{className:"mt-6 flex items-center justify-center gap-3 py-4",children:[n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>A(j-1),disabled:j===1,"data-testid":"button-prev-page",children:[n.jsx(Gv,{className:"h-4 w-4 mr-1"}),t.common.previous]}),n.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:f},(T,E)=>E+1).map(T=>T===1||T===f||T>=j-1&&T<=j+1?n.jsx(D,{variant:j===T?"default":"ghost",size:"sm",onClick:()=>A(T),"data-testid":`button-page-${T}`,className:"min-w-[2.5rem]",children:T},T):T===j-2||T===j+2?n.jsx("span",{className:"px-2 text-muted-foreground",children:"..."},T):null)}),n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>A(j+1),disabled:j===f,"data-testid":"button-next-page",children:[t.common.next,n.jsx(Xs,{className:"h-4 w-4 ml-1"})]})]})]}),i==="trend"&&n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-semibold mb-4",children:t.progress.issueTrend}),n.jsxs("div",{className:"bg-card border border-border rounded-md shadow-sm p-6",children:[n.jsx("div",{className:"h-80",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:N,margin:{top:20,right:10,left:80,bottom:10},children:[n.jsx(ma,{dataKey:"date",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(ha,{orientation:"right",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(Br,{contentStyle:{backgroundColor:"hsl(var(--card))",borderRadius:"0px",padding:"12px 16px",border:"1px solid hsl(var(--border))"},labelStyle:{fontWeight:"bold",marginBottom:"8px"}}),n.jsx(ya,{type:"monotone",dataKey:"total",stroke:"hsl(var(--primary))",strokeWidth:2,dot:{r:3,fill:"hsl(var(--primary))"},activeDot:{r:5,fill:"hsl(var(--primary))"},name:t.progress.totalIssues})]})})}),n.jsx("div",{className:"flex items-center justify-center mt-4",children:n.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5",children:[n.jsx("div",{className:"w-4 h-0.5 bg-primary"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:t.progress.totalIssues})]})}),n.jsx("p",{className:"text-sm text-muted-foreground text-center mt-4 pt-4 ",children:t.progress.trackTrend})]})]})]})]})})}var Ji="Accordion",D$e=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[jT,$$e,L$e]=Ku(Ji),[S0,H8e]=rn(Ji,[L$e,MK]),NT=MK(),mZ=L.forwardRef((e,t)=>{const{type:r,...a}=e,s=a,i=a;return n.jsx(jT.Provider,{scope:e.__scopeAccordion,children:r==="multiple"?n.jsx(U$e,{...i,ref:t}):n.jsx(W$e,{...s,ref:t})})});mZ.displayName=Ji;var[hZ,z$e]=S0(Ji),[fZ,B$e]=S0(Ji,{collapsible:!1}),W$e=L.forwardRef((e,t)=>{const{value:r,defaultValue:a,onValueChange:s=()=>{},collapsible:i=!1,...o}=e,[l,c]=Kn({prop:r,defaultProp:a,onChange:s});return n.jsx(hZ,{scope:e.__scopeAccordion,value:l?[l]:[],onItemOpen:c,onItemClose:L.useCallback(()=>i&&c(""),[i,c]),children:n.jsx(fZ,{scope:e.__scopeAccordion,collapsible:i,children:n.jsx(pZ,{...o,ref:t})})})}),U$e=L.forwardRef((e,t)=>
896{const{value:r,defaultValue:a,onValueChange:s=()=>{},...i}=e,[o=[],l]=Kn({prop:r,defaultProp:a,onChange:s}),c=L.useCallback(u=>l((m=[])=>[...m,u]),[l]),d=L.useCallback(u=>l((m=[])=>m.filter(h=>h!==u)),[l]);return n.jsx(hZ,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:d,children:n.jsx(fZ,{scope:e.__scopeAccordion,collapsible:!0,children:n.jsx(pZ,{...i,ref:t})})})}),[V$e,C0]=S0(Ji),pZ=L.forwardRef((e,t)=>{const{__scopeAccordion:r,disabled:a,dir:s,orientation:i="vertical",...o}=e,l=L.useRef(null),c=tt(l,t),d=$$e(r),m=sm(s)==="ltr",h=ge(e.onKeyDown,f=>{var C;if(!D$e.includes(f.key))return;const b=f.target,g=d().filter(A=>{var T;return!((T=A.ref.current)!=null&&T.disabled)}),p=g.findIndex(A=>A.ref.current===b),x=g.length;if(p===-1)return;f.preventDefault();let v=p;const w=0,N=x-1,j=()=>{v=p+1,v>N&&(v=w)},k=()=>{v=p-1,v<w&&(v=N)};switch(f.key){case"Home":v=w;break;case"End":v=N;break;case"ArrowRight":i==="horizontal"&&(m?j():k());break;case"ArrowDown":i==="vertical"&&j();break;case"ArrowLeft":i==="horizontal"&&(m?k():j());break;case"ArrowUp":i==="vertical"&&k();break}const S=v%x;(C=g[S].ref.current)==null||C.focus()});return n.jsx(V$e,{scope:r,disabled:a,direction:s,orientation:i,children:n.jsx(jT.Slot,{scope:r,children:n.jsx(Me.div,{...o,"data-orientation":i,ref:c,onKeyDown:a?void 0:h})})})}),yv="AccordionItem",[q$e,kT]=S0(yv),gZ=L.forwardRef((e,t)=>{const{__scopeAccordion:r,value:a,...s}=e,i=C0(yv,r),o=z$e(yv,r),l=NT(r),c=Gn(),d=a&&o.value.includes(a)||!1,u=i.disabled||e.disabled;return n.jsx(q$e,{scope:r,open:d,disabled:u,triggerId:c,children:n.jsx(FK,{"data-orientation":i.orientation,"data-state":jZ(d),...l,...s,ref:t,disabled:u,open:d,onOpenChange:m=>{m?o.onItemOpen(a):o.onItemClose(a)}})})});gZ.displayName=yv;var xZ="AccordionHeader",yZ=L.forwardRef((e,t)=>{const{__scopeAccordion:r,...a}=e,s=C0(Ji,r),i=kT(xZ,r);return n.jsx(Me.h3,{"data-orientation":s.orientation,"data-state":jZ(i.open),"data-disabled":i.disabled?"":void 0,...a,ref:t})});yZ.displayName=xZ;var aS="AccordionTrigger",vZ=L.forwardRef((e,t)=>{const{__scopeAccordion:r,...a}=e,s=C0(Ji,r),i=kT(aS,r),o=B$e(aS,r),l=NT(r);return n.jsx(jT.ItemSlot,{scope:r,children:n.jsx(NFe,{"aria-disabled":i.open&&!o.collapsible||void 0,"data-orientation":s.orientation,id:i.triggerId,...l,...a,ref:t})})});vZ.displayName=aS;var bZ="AccordionContent",wZ=L.forwardRef((e,t)=>{const{__scopeAccordion:r,...a}=e,s=C0(Ji,r),i=kT(bZ,r),o=NT(r);return n.jsx(kFe,{role:"region","aria-labelledby":i.triggerId,"data-orientation":s.orientation,...o,...a,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});wZ.displayName=bZ;function jZ(e){return e?"open":"closed"}var H$e=mZ,G$e=gZ,K$e=yZ,NZ=vZ,kZ=wZ;const ST=H$e,P0=y.forwardRef(({className:e,...t},r)=>n.jsx(G$e,{ref:r,className:_e("border-b",e),...t}));P0.displayName="AccordionItem";const CT=y.forwardRef(({className:e,children:t,...r},a)=>n.jsx(K$e,{className:"flex",children:n.jsxs(NZ,{ref:a,className:_e("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...r,children:[t,n.jsx(Jt,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));CT.displayName=NZ.displayName;const T0=y.forwardRef(({className:e,children:t,...r},a)=>n.jsx(kZ,{ref:a,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:n.jsx("div",{className:_e("pb-4 pt-0",e),children:t})}));T0.displayName=kZ.displayName;const Fg=e=>[`Hello, my name is ${e} and I'm training my voice profile.`,"I frequently participate in meetings and presentations.","Communication clarity is very important to me.","I want the system to recognize my voice automatically.","Thank you for helping me improve my speaking skills."],Y$e=(e,t)=>{const r=d=>d.toLowerCase().replace(/[.,!?'"]/g,"").replace(/\s+/g," ").trim(),a=r(e),s=r(t),i=a.split(" "),o=s.split(" ");let l=0;for(const d of o)i.includes(d)&&l++;return l/o.length>=.7};function SM({user:e,t}){const{toast:r}=dt(),[a,s]=y.useState(null),[i,o]=y.useState(!1),[l,c]=y.useState(!!(e!=null&&e.telegramChatId&&(e!=null&&e.telegramOptIn))),d=Ve({mutationFn:async()=>(await ct("/api/telegram/generate-link","POST",{})).json(),onSuccess:h=>{s(h.link),o(!0)},onError:h=>{r({title:t.common.error,description:h.message,variant:"destructive"})}});y.useEffect(()=>{if(!i)return;const h=setInterval(async()=>{try{(await(await fetch("/api/telegram/status",{credentials:"include"})).json()).connected&&(c(!0),o(!1),s(null),Qe.invalidateQueries({queryKey:["/api/auth/user"]}
896),r({title:t.profile.telegramConnected,description:t.profile.telegramConnectedDesc}))}catch{}},3e3),f=setTimeout(()=>{clearInterval(h),o(!1)},5*60*1e3);return()=>{clearInterval(h),clearTimeout(f)}},[i]);const u=Ve({mutationFn:async()=>(await ct(`/api/users/${e.id}`,"PATCH",{telegramChatId:"",telegramOptIn:!1})).json(),onSuccess:()=>{c(!1),Qe.invalidateQueries({queryKey:["/api/auth/user"]}),r({title:t.profile.disconnected,description:t.profile.telegramDisconnected})}}),m=Ve({mutationFn:async()=>(await ct(`/api/users/${e.id}/test-telegram`,"POST",{})).json(),onSuccess:h=>{r({title:t.profile.testSent,description:h.message})},onError:h=>{r({title:t.profile.failed,description:h.message||t.profile.couldNotSend,variant:"destructive"})}});return n.jsxs("div",{className:"bg-card border border-border/50 p-6 space-y-5",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-11 h-11 bg-primary/10 flex items-center justify-center",children:n.jsx(ls,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg font-bold",children:t.profile.telegramTitle}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.telegramDesc})]})]}),l&&n.jsxs("span",{className:"flex items-center gap-1.5 text-xs font-semibold text-green-600 bg-green-500/10 border border-green-500/20 px-3 py-1 rounded-full",children:[n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-green-500"}),t.profile.connected]})]}),l?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.receivingDesc}),n.jsxs("div",{className:"flex gap-3",children:[n.jsxs(D,{variant:"outline",onClick:()=>m.mutate(),disabled:m.isPending,className:"gap-2",children:[m.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(ls,{className:"h-4 w-4"}),t.profile.sendTest]}),n.jsxs(D,{variant:"ghost",onClick:()=>u.mutate(),disabled:u.isPending,className:"gap-2 text-muted-foreground",children:[u.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):null,t.common.disconnect]})]})]}):a?n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"p-4 bg-primary/5 border border-primary/20 text-sm space-y-1",children:[n.jsx("p",{className:"font-semibold",children:t.profile.clickButton}),n.jsx("p",{className:"text-muted-foreground",children:t.profile.pressStart})]}),n.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:n.jsxs(D,{className:"w-full gap-2",children:[n.jsx(ls,{className:"h-4 w-4"}),t.profile.openBot]})}),i&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin"}),t.profile.waiting]})]}):n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.getAnalysis}),n.jsxs(D,{onClick:()=>d.mutate(),disabled:d.isPending,className:"w-full gap-2",children:[d.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(ls,{className:"h-4 w-4"}),t.profile.connectTelegram]})]})]})}function Z$e(){y.useState(!1);const{user:e}=Gt(),t=Np(e==null?void 0:e.preferredLanguage),{toast:r}=dt(),[a,s]=ze(),i=_z(),o=y.useMemo(()=>{const le=new URLSearchParams(i).get("tab");return le&&["overview","chrome","zoom","telegram","settings"].includes(le)?le:"overview"},[i]),l=K=>{s(`/profile?tab=${K}`)},[c,d]=y.useState(""),[u,m]=y.useState(0),[h,f]=y.useState(""),[b,g]=y.useState(null),[p,x]=y.useState(null),[v,w]=y.useState(!1),[N,j]=y.useState(0),[k,S]=y.useState(0),[C,A]=y.useState([]),[T,E]=y.useState(!1),[I,R]=y.useState(null),[P,M]=y.useState(null),[O,$]=y.useState(""),[_,F]=y.useState(!1),[U,Z]=y.useState(!1),[H,Q]=y.useState(!0),B=y.useRef(null),se=y.useRef([]),ye=y.useRef(null),ne=y.useRef(null),xe=y.useRef(null),W=y.useRef(null);y.useEffect(()=>()=>{var K;((K=B.current)==null?void 0:K.state)==="recording"&&B.current.stop(),ye.current&&ye.current.getTracks().forEach(le=>le.stop()),ne.current&&clearInterval(ne.current)},[c]),y.useEffect(()=>{c||(m(0),S(0),E(!1),R(null),W.current&&(W.current.destroy(),W.current=null))},[c]),y.useEffect(()=>{if(!P||!xe.current)return;W.current&&W.current.destroy();const K=Wu.create({container:xe.current,waveColor:"hsl(var(--muted-foreground) / 0.3)",progressColor:"hsl(var(--primary))",cursorColor:"hsl(var(--primary))",barWidth:2,barGap:1,barRadius:2,height:60,normalize:!0,backend:"WebAudio"});return W.current=K,K.load(P),K.on("play",()=>Z(!0)),K.on("pause",()=>Z(!1)),K.on("finish",()=>Z(!1)),()=>{K.destroy()}},[P]),y.useEffect(()=>{const K=new URLSearchParams(window.location.search);
896if(K.get("zoom_connected")==="true")r({title:t.profile.zoomConnectedMsg,description:t.profile.zoomConnectedDesc}),window.history.replaceState({},"","/profile");else if(K.get("error")){const le=K.get("details");r({title:t.profile.connectionFailed,description:le?`Error: ${decodeURIComponent(le)}`:t.profile.connectionFailedDesc,variant:"destructive"}),window.history.replaceState({},"","/profile")}},[r]);const ee=async()=>{try{await fetch("/api/logout",{method:"POST",credentials:"include"}),window.location.href="/"}catch(K){console.error("Logout error:",K),window.location.href="/"}};if(!e)return null;const ae={totalMeetings:12,avgIssues:11},te=()=>{window.location.href="/api/zoom/connect"},Ae=!!e.zoomUserId,{data:ke=[]}=De({queryKey:["/api/voice-profiles"],enabled:!!e}),{data:Oe}=De({queryKey:["/api/subscription/status"],enabled:!!e}),$e=()=>{window.location.href="mailto:[email protected]?subject=Billing%20Management"},Ke=K=>{var me;const le=(me=K.target.files)==null?void 0:me[0];if(le){g(le);const de=new FileReader;de.onloadend=()=>{x(de.result)},de.readAsDataURL(le)}},Dt=async()=>{try{const K=await navigator.mediaDevices.getUserMedia({audio:!0});ye.current=K;const le=new MediaRecorder(K);B.current=le,se.current=[],le.ondataavailable=me=>{me.data.size>0&&se.current.push(me.data)},le.onstop=async()=>{const me=new Blob(se.current,{type:"audio/webm"});A(be=>[...be,me]),E(!0);const de=URL.createObjectURL(me);M(de),F(!0),$("");try{const be=new FormData;be.append("audio",me,"voice-sample.webm");const V=await fetch("/api/transcribe-quick",{method:"POST",body:be,credentials:"include"});if(V.ok){const Se=(await V.json()).text||"";$(Se);const ht=Fg(h)[k],Hr=Y$e(Se,ht);Q(Hr)}else $("(transcription failed)"),Q(!1)}catch(be){console.error("Transcription error:",be),$("(transcription failed)"),Q(!1)}finally{F(!1)}ye.current&&(ye.current.getTracks().forEach(be=>be.stop()),ye.current=null)},le.start(),w(!0),E(!1),ne.current=setInterval(()=>{j(me=>{var be;const de=me+1;return de>=10&&(ne.current&&(clearInterval(ne.current),ne.current=null),((be=B.current)==null?void 0:be.state)==="recording"&&B.current.stop(),w(!1),j(0)),de})},1e3)}catch{r({title:t.profile.micDenied,description:t.profile.allowMic,variant:"destructive"})}},$t=()=>{var K;ne.current&&(clearInterval(ne.current),ne.current=null),((K=B.current)==null?void 0:K.state)==="recording"&&(B.current.stop(),w(!1),j(0))},nn=()=>{const K=Fg(h);k<K.length-1&&(S(le=>le+1),m(le=>le+1),E(!1),P&&(URL.revokeObjectURL(P),M(null)),$(""),R(3))},Kt=()=>{h.trim()&&(m(1),S(0),R(3))};y.useEffect(()=>{if(I===null||I===0)return;const K=setTimeout(()=>{I===1?(R(null),Dt()):R(I-1)},1e3);return()=>clearTimeout(K)},[I]);const z=Ve({mutationFn:async()=>{if(!h||C.length===0)throw new Error("Name and voice recording required");const K=new FormData;K.append("name",h),C.forEach((me,de)=>{K.append("voiceSamples",me,`voice-sample-${de+1}.webm`)}),b&&K.append("photo",b);const le=await fetch("/api/voice-profiles",{method:"POST",body:K,credentials:"include"});if(!le.ok){const me=await le.json();throw new Error(me.error||"Failed to create voice profile")}return le.json()},onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/voice-profiles"]}),d(""),f(""),g(null),x(null),A([]),S(0),E(!1),m(0),r({title:t.profile.voiceCreated,description:t.profile.voiceCreatedDesc})},onError:K=>{r({title:t.profile.failedCreate,description:K.message,variant:"destructive"})}}),J=Ve({mutationFn:async K=>{const le=await fetch(`/api/voice-profiles/${K}`,{method:"DELETE",credentials:"include"});if(!le.ok)throw new Error("Failed to delete profile");return le.json()},onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/voice-profiles"]}),r({title:t.profile.profileDeleted,description:t.profile.profileDeletedDesc})}});return n.jsx("div",{className:"min-h-screen bg-background pb-20",children:n.jsxs("div",{className:"max-w-4xl mx-auto px-3 sm:px-6 lg:px-8 py-4 sm:py-8",children:[(()=>{const K=[{id:"overview",label:t.profile.integrations,icon:Lte},{id:"chrome",label:t.profile.extension,icon:ki},{id:"zoom",label:t.profile.zoom,icon:ca},{id:"telegram",label:"Telegram",icon:ls},{id:"settings",label:t.profile.settings,icon:Xv}];return n.jsx("div",{className:"flex items-center justify-center gap-4 sm:gap-6 mb-6 border-b border-border","data-testid":"tabs-navigation-profile",children:K.map(le=>{const me=le.icon;return n.jsxs("button",{onClick:()=>l(le.id),className:`flex items-center gap-1.5 pb-3 px-1 text-xs sm:text-sm font-medium transition-colors border-b-2 -mb-px ${o===le.i
896d?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,"data-testid":`tab-${le.id}`,children:[n.jsx(me,{className:"h-4 w-4"}),le.label]},le.id)})})})(),n.jsx("div",{className:"space-y-6",children:n.jsxs(IK,{value:o,className:"w-full",children:[n.jsx(go,{value:"overview",children:n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-md bg-primary/10 flex items-center justify-center",children:n.jsx(ki,{className:"h-5 w-5 text-primary"})}),n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.chromeExt})]}),e.chromeExtensionConnected&&n.jsxs("div",{className:"flex items-center gap-1 text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30 px-3 py-1 rounded-full",children:[n.jsx(nr,{className:"h-4 w-4"}),n.jsx("span",{className:"text-sm font-medium",children:t.profile.connected})]})]}),n.jsx("p",{className:"text-muted-foreground",children:t.profile.chromeExtDesc}),e.chromeExtensionConnected?n.jsx("p",{className:"text-sm text-green-600 dark:text-green-400",children:t.profile.extConnected}):n.jsxs(D,{className:"gap-2",onClick:()=>window.open("https://chromewebstore.google.com/search/SpeakFlare%20-%20Meeting%20Assistant","_blank"),"data-testid":"button-install-extension-overview",children:[t.profile.installExt,n.jsx(m4,{className:"h-4 w-4"})]})]}),n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-md bg-blue-500/10 flex items-center justify-center",children:n.jsx(ca,{className:"h-5 w-5 text-blue-500"})}),n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.zoomIntegration})]}),Ae&&n.jsxs("div",{className:"flex items-center gap-1 text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30 px-3 py-1 rounded-full",children:[n.jsx(nr,{className:"h-4 w-4"}),n.jsx("span",{className:"text-sm font-medium",children:t.profile.connected})]})]}),n.jsx("p",{className:"text-muted-foreground",children:t.profile.zoomDesc}),Ae?n.jsx("p",{className:"text-sm text-green-600 dark:text-green-400",children:t.profile.zoomConnected}):n.jsx(D,{className:"gap-2 bg-blue-500 hover:bg-blue-600 text-white",onClick:te,"data-testid":"button-connect-zoom-overview",children:t.profile.connectZoom})]}),n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-md bg-primary/10 flex items-center justify-center",children:n.jsx(Ze,{className:"h-5 w-5 text-primary"})}),n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.voiceProfile})]}),n.jsxs(D,{onClick:()=>d(c==="create"?"":"create"),"data-testid":"button-add-voice-profile-overview",className:"gap-2",size:"sm",children:[n.jsx(dp,{className:"h-4 w-4"}),c==="create"?t.common.cancel:t.common.add]})]}),!c&&n.jsx("p",{className:"text-muted-foreground",children:t.profile.voiceProfileDesc}),n.jsx(ST,{type:"single",collapsible:!0,value:c,onValueChange:d,children:n.jsx(P0,{value:"create",className:"rounded-md",children:n.jsxs(T0,{className:"p-4 space-y-6",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx("h4",{className:"font-semibold text-lg",children:u===0?t.profile.createVoiceProfile:`${t.profile.voiceTraining} - ${t.profile.progressLabel} ${u} of 5`}),n.jsx("p",{className:"text-sm text-muted-foreground",children:u===0?t.profile.enterInfo:t.profile.readSentences})]}),n.jsxs("div",{className:"space-y-6",children:[u===0&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"profile-name-overview",className:"text-sm font-medium",children:t.profile.nameLabel}),n.jsx(Et,{id:"profile-name-overview",placeholder:t.profile.namePlaceholder,value:h,onChange:K=>f(K.target.value),"data-testid":"input-profile-name-overview"})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{className:"text-sm font-medium",children:t.profile.photo}),n.jsxs("div",{className:"flex flex-col items-center gap-3",children:[n.jsxs("div",{className:"relative",children:[n.jsx("div",{onClick:()=>{var K;return(K=document.getElementById("profile-photo-overview"))==null?void 0:K.click()},className:"cursor-pointer group","data-testid":"avatar-upload-trigger-overview",children:n.jsx(Ld,{className:"h-24 w-24 border-2 border-border hover:border-primary transition-colors",children:p?n.jsx(Ch,{src:p}):n.jsx(zd,{className:"text-2xl bg-muted group-hover:bg-muted/80 transition-colors",children:h?h[0].toUpperCase():n.jsx(To,{className:"h-10 w-10"})})})}),p&&n.jsx("button",{onClick:K=>{K.stopPropagation(),g(null),x(null)},className:"absolute -top-1 -right-1 h-6 w-6 rounded-full bg-destructive text-destructive-foreground hover:bg-destructive/90 flex items-center justify-center shadow-md","data-testid":"button-remove-photo-overview",children:n.jsx(Ra,{className:"h-3 w-3"})})]}),n.jsx(Et,{id:"profile-photo-overview",type:"file",accept:"image/*",onChange:Ke,"data-testid":"input-profile-photo-overview",className:"hidden"}),n.jsx("p",{className:"text-xs text-muted-foreground text-center",children:p?t.profile.clickX:t.profile.clickCircle})]})]}),n.jsxs(D,{onClick:Kt,disabled:!h.trim(),className:"w-full gap-2 bg-red-600 hover:bg-red-700 text-white",size:"lg","data-testid":"button-next-to-recording-overview",children:[t.profile.nextRecord,n.jsx(Xs,{className:"h-5 w-5"})]})]}),u>=1&&u<=5&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-4 p-4 bg-muted/50 rounded-lg",children:[n.jsx(Ld,{className:"h-12 w-12 border border-border flex-shrink-0",children:p?n.jsx(Ch,{src:p}):n.jsx(zd,{className:"text-lg",children:h&&h.length>0?h[0].toUpperCase():n.jsx(To,{className:"h-6 w-6"})})}),n.jsxs("div",{className:"min-w-0",children:[n.jsx("p",{className:"font-semibold text-base truncate",children:h}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.recordingSamples})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{className:"flex justify-between text-sm",children:[n.jsx("span",{className:"text-muted-foreground",children:t.profile.progressLabel}),n.jsxs("span",{className:"font-medium",children:[C.length," / 5 sentences"]})]}),n.jsx("div",{className:"flex gap-2",children:[1,2,3,4,5].map(K=>n.jsx("div",{className:`h-2 flex-1 rounded-full transition-colors ${C.length>=K?"bg-primary":u===K?"bg-primary/40":"bg-muted"}`},K))})]}),T?n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"space-y-3 p-4 bg-muted/30 rounded-lg border",children:[P&&n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{className:"text-xs text-muted-foreground",children:t.profile.yourRecording}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(D,{size:"icon",variant:"outline",onClick:()=>{var K;return(K=W.current)==null?void 0:K.playPause()},"data-testid":"button-play-pause-overview",className:"flex-shrink-0",children:U?n.jsx(Fte,{className:"h-4 w-4"}):n.jsx($o,{className:"h-4 w-4"})}),n.jsx("div",{ref:xe,className:"flex-1 bg-background rounded-md","data-testid":"waveform-container-overview"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{className:"text-xs text-muted-foreground",children:t.profile.whatYouS
896aid}),_?n.jsxs("div",{className:"flex items-center gap-2 p-3 bg-background rounded-md border",children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:t.profile.analyzing})]}):H?n.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-md border bg-green-50 dark:bg-green-950/20 border-green-200 dark:border-green-900",children:[n.jsx(nr,{className:"h-5 w-5 text-green-600 dark:text-green-400 flex-shrink-0 mt-0.5"}),n.jsx("p",{className:"text-sm italic break-words flex-1 text-green-900 dark:text-green-100",children:O||"(no transcription available)"})]}):n.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-md border bg-red-50 dark:bg-red-950/20 border-red-200 dark:border-red-900",children:[n.jsx(Ra,{className:"h-5 w-5 text-red-600 dark:text-red-400 flex-shrink-0 mt-0.5"}),n.jsxs("div",{className:"flex-1",children:[n.jsx("p",{className:"text-sm italic break-words text-red-900 dark:text-red-100 mb-1",children:O||"(no transcription available)"}),n.jsx("p",{className:"text-xs text-red-600 dark:text-red-400",children:t.profile.noMatch})]})]})]})]}),!_&&n.jsx("div",{className:"space-y-3",children:H?n.jsx(n.Fragment,{children:k<4?n.jsxs(D,{onClick:nn,className:"w-full gap-2 bg-green-600 hover:bg-green-700 text-white",size:"lg","data-testid":"button-next-sentence-overview",children:[n.jsx(nr,{className:"h-5 w-5"}),t.profile.continueNext," (",k+2,"/5)"]}):n.jsx(D,{onClick:()=>z.mutate(),disabled:z.isPending,className:"w-full gap-2 bg-green-600 hover:bg-green-700 text-white",size:"lg","data-testid":"button-save-profile-auto-overview",children:z.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-5 w-5 animate-spin"}),t.profile.saving]}):n.jsxs(n.Fragment,{children:[n.jsx(nr,{className:"h-5 w-5"}),t.profile.finishSave]})})}):n.jsxs(D,{onClick:()=>{A(K=>K.slice(0,-1)),E(!1),Q(!0),P&&(URL.revokeObjectURL(P),M(null)),$(""),R(3)},className:"w-full gap-2 bg-red-600 hover:bg-red-700 text-white",size:"lg","data-testid":"button-record-again-overview",children:[n.jsx(Ra,{className:"h-5 w-5"}),t.profile.recordAgain]})})]}):n.jsx("div",{className:"space-y-3",children:I!==null?n.jsx("div",{className:"flex items-center justify-center p-12",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-8xl font-bold text-red-600 animate-pulse",children:I}),n.jsx("p",{className:"text-lg text-muted-foreground mt-4",children:t.profile.getReady})]})}):v?n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("p",{className:"text-2xl text-center leading-relaxed font-bold",children:['"',Fg(h)[k],'"']}),n.jsxs("div",{className:"flex items-center justify-center gap-3",children:[n.jsx("div",{className:"bg-red-600 rounded-full p-3 animate-pulse",children:n.jsx(Ze,{className:"h-6 w-6 text-white"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-lg font-semibold text-red-600",children:"Recording..."}),n.jsxs("p",{className:"text-sm text-muted-foreground",children:[N,"s / 10s"]})]})]}),n.jsx("div",{className:"space-y-2",children:n.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden",children:n.jsx("div",{className:"h-full bg-red-600 transition-all duration-300",style:{width:`${N/10*100}%`}})})}),n.jsxs(D,{onClick:$t,className:"w-full gap-2",size:"lg","data-testid":"button-stop-sentence-overview",children:[n.jsx(nr,{className:"h-5 w-5"}),t.profile.finishRecording]})]}):n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("p",{className:"text-2xl text-center leading-relaxed font-bold",children:['"',Fg(h)[k],'"']}),n.jsxs(D,{onClick:Dt,className:"w-full gap-2 bg-red-600 hover:bg-red-700 text-white",size:"lg","data-testid":"button-record-sentence-overview",children:[n.jsx(Ze,{className:"h-5 w-5"}),t.profile.startRecording]})]})})]})]})]})})}),!c&&ke.length>0&&n.jsx("div",{className:"space-y-3",children:ke.map(K=>n.jsxs("div",{className:"flex items-center gap-3 p-3 border rounded-lg hover-elevate","data-testid":`voice-profile-overview-${K.id}`,children:[n.jsx(Ld,{className:"h-10 w-10 border border-border",children:K.photoUrl?n.jsx(Ch,{src:K.photoUrl}):n.jsx(zd,{children:K.name?K.name[0].toUpperCase():n.jsx(To,{className:"h-5 w-5"})})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"font-medium truncate",children:K.name}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Created ",new Date(K.createdAt).toLocaleDateString()]})]}),n.jsx(D,{variant:"ghost",size:"icon",onClick:()=>J.mutate(K.id),"data-testid":`button-delete-profile-overview-${K.id}`,children:n.jsx(Yo,{className:"h-4 w-4 text-destructive"})})]},K.id))}),!c&&ke.length===0&&n.jsx("div",{className:"text-center py-8 border border-solid border-muted-foreground
896/20 rounded-md bg-muted/10",children:n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.noProfiles})})]})]})}),n.jsx(go,{value:"chrome",children:n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[n.jsx("div",{className:"w-12 h-12 rounded-md bg-primary/10 flex items-center justify-center",children:n.jsx(ki,{className:"h-6 w-6 text-primary"})}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-bold",children:t.profile.chromeExt}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.chromeExtDesc})]})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsx("h3",{className:"font-semibold",children:t.profile.quickSetup}),n.jsxs("ul",{className:"space-y-3",children:[n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"1"}),n.jsx("span",{children:t.profile.installChrome})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"2"}),n.jsxs("span",{children:[t.profile.loginWith," (",e.email,")"]})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"3"}),n.jsx("span",{children:t.profile.joinMeeting})]})]})]}),n.jsxs(D,{className:"gap-2 w-full sm:w-auto",size:"lg",onClick:()=>window.open("https://chromewebstore.google.com/search/SpeakFlare%20-%20Meeting%20Assistant","_blank"),"data-testid":"button-install-chrome-extension",children:[t.profile.installExt,n.jsx(m4,{className:"h-4 w-4"})]})]})}),n.jsx(go,{value:"zoom",children:n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[n.jsx("div",{className:"w-12 h-12 rounded-md bg-blue-500/10 flex items-center justify-center",children:n.jsx(ca,{className:"h-6 w-6 text-blue-500"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("h2",{className:"text-xl font-bold",children:t.profile.zoomIntegration}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.zoomDesc})]}),Ae&&n.jsxs("div",{className:"flex items-center gap-1 text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30 px-3 py-1 rounded-full",children:[n.jsx(nr,{className:"h-4 w-4"}),n.jsx("span",{className:"text-sm font-medium",children:t.profile.connected})]})]}),Ae?n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"p-4 bg-green-50 dark:bg-green-900/20 rounded-md space-y-2",children:[n.jsxs("div",{className:"flex items-center gap-2 text-green-700 dark:text-green-300",children:[n.jsx(nr,{className:"h-5 w-5"}),n.jsx("span",{className:"font-medium",children:t.profile.zoomConnected})]}),n.jsx("p",{className:"text-sm text-green-600 dark:text-green-400",children:t.profile.analysisAuto})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsx("h3",{className:"font-semibold",children:t.profile.howToUse}),n.jsxs("ul",{className:"space-y-3",children:[n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"1"}),n.jsx("span",{children:t.profile.enableCloud})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"2"}),n.jsx("span",{children:t.profile.hostMeetings})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"3"}),n.jsx("span",{children:t.profile.startRecordingCloud})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"4"}),n.jsx("span",{children:t.profile.analysisAuto})]})]})]}),n.jsxs("div",{className:"p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-md space-y-2",children:[n.jsx("h3",{className:"font-semibold text-yellow-800 dark:text-yellow-200",children:t.profile.importantNotes}),n.jsxs("ul",{className:"text-sm space-y-1 text-yellow-700 dark:text-yellow-300",children:[n.jsx("li",{children:t.profile.mustUseCloud}),n.jsx("li",{children:t.profile.participantsSee}),n.jsx("li",{children:t.profile.processingTime})]})]})]}):n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-4",children:[n.jsx("h3",{className:"font-semibold",children:t.profile.quickSetup}),n.jsxs("ul",{className:"space-y-3",children:[n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"1"}),n.jsx("span",{children:t.profile.clickConnect})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"2"}),n.jsx("span",{children:t.profile.authorize})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"3"}),n.jsx("span",{children:t.profile.enableCloudSettings})]}),n.jsxs("li",{className:"flex items-start gap-3 p-3 bg-muted/30 rounded-lg",children:[n.jsx("span",{className:"w-6 h-6 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold flex-shrink-0",children:"4"}),n.jsx("span",{children:t.profile.hostAuto})]})]})]}),n.jsx(D,{onClick:te,className:"gap-2 w-full sm:w-auto bg-blue-500 hover:bg-blue-600",size:"lg","data-testid":"button-connect-zoom",children:t.profile.connectZoomAccount})]})]})}),n.jsx(go,{value:"telegram",children:n.jsx(SM,{user:e,t})}),n.jsx(go,{value:"settings",children:n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[n.jsx("div",{className:"w-12 h-12 rounded-md bg-primary/10 flex items-center justify-center",children:n.jsx(To,{className:"h-6 w-6 text-primary"})}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-bold",children:t.profile.account}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.profile.yourProfile})]})]}),n.jsxs("div",{className:"p-4 bg-muted/30 rounded-md space-y-1",children:[n.jsxs("p",{className:"text-lg font-semibold",children:[e.firstName," ",e.lastName]}),n.jsx("p",{className:"text-muted-foreground",children:e.email})]})]}),n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.subscription}),(Oe==null?void 0:Oe.status)==="pro"?n.jsxs("div",{className:"flex items-center justify-between p-4 bg-primary/10 rounded-md",children:[n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-primary",children:t.profile.proPlan}),n.jsxs("p",{className:"text-sm text-muted-foreground mt-0.5",children:[Oe.plan==="annual"?t.profile.annualBilling:t.profile.monthlyBilling,Oe.expiresAt?` · renews ${new Date(Oe.expiresAt).toLocaleDateString()}`:""]})]}),n.jsx(D,{variant:"outline",size:"sm",onClick:$e,children:t.profile.manageBilling})]}):n.jsxs("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-md",children:[n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold",children:t.profile.freePlan}),n.jsxs("p",{className:"text-sm text-muted-foreground mt-0.5",children:[(Oe==null?void 0:Oe.meetingsAnalyzed)??
8960,"/",(Oe==null?void 0:Oe.freeLimit)??3," ",t.profile.freeAnalyses]})]}),n.jsx("a",{href:"/meetings",children:n.jsx(D,{size:"sm",children:t.profile.upgradeТoPro})})]})]}),n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.statistics}),n.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[n.jsxs("div",{className:"p-4 bg-muted/30 rounded-md text-center",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:t.profile.memberSince}),n.jsx("p",{className:"text-lg font-bold",children:e.createdAt?new Date(e.createdAt).toLocaleDateString():"N/A"})]}),n.jsxs("div",{className:"p-4 bg-muted/30 rounded-md text-center",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:t.profile.meetings}),n.jsx("p",{className:"text-2xl font-bold text-primary",children:ae.totalMeetings})]}),n.jsxs("div",{className:"p-4 bg-muted/30 rounded-md text-center",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:t.profile.avgIssues}),n.jsx("p",{className:"text-2xl font-bold text-primary",children:ae.avgIssues})]})]})]}),n.jsx(SM,{user:e,t}),n.jsxs("div",{className:"bg-card rounded-md shadow-sm p-6 space-y-4",children:[n.jsx("h3",{className:"text-lg font-semibold",children:t.profile.actions}),n.jsxs(D,{variant:"destructive",className:"gap-2 w-full sm:w-auto",size:"lg",onClick:ee,"data-testid":"button-logout-settings",children:[n.jsx(Ite,{className:"h-4 w-4"}),t.profile.logout]})]})]})})]})})]})})}const CM={en:{pageTitle:"Privacy Policy",lastUpdated:"Last Updated:",introduction:"Introduction",infoWeCollect:"Information We Collect",infoYouProvide:"Information You Provide",infoCollectedAuto:"Automatically Collected Information",howDataFlows:"How Data Flows",howWeUse:"How We Use Your Information",howWeShare:"How We Share Your Information",thirdPartyServices:"Third-Party Services",chromeWebSpeech:"Chrome Web Speech API",openRouterApi:"OpenRouter API",openAiWhisper:"OpenAI Whisper API",dataSecurity:"Data Security",yourRights:"Your Rights",dataRetention:"Data Retention",gdprCompliance:"GDPR Compliance (EU Users)",ccpaCompliance:"CCPA Compliance (California Users)",childrensPrivacy:"Children's Privacy",changesToPolicy:"Changes to This Policy",contactUs:"Contact Us"},he:{pageTitle:"מדיניות פרטיות",lastUpdated:"עודכן לאחרונה:",introduction:"מבוא",infoWeCollect:"מידע שאנחנו אוספים",infoYouProvide:"מידע שאתה מספק",infoCollectedAuto:"מידע שנאסף אוטומטית",howDataFlows:"כיצד זורם המידע",howWeUse:"כיצד אנחנו משתמשים במידע שלך",howWeShare:"כיצד אנחנו משתפים את המידע שלך",thirdPartyServices:"שירותי צד שלישי",chromeWebSpeech:"Chrome Web Speech API",openRouterApi:"OpenRouter API",openAiWhisper:"OpenAI Whisper API",dataSecurity:"אבטחת נתונים",yourRights:"הזכויות שלך",dataRetention:"שמירת נתונים",gdprCompliance:"עמידה ב-GDPR (משתמשי האיחוד האירופי)",ccpaCompliance:"עמידה ב-CCPA (משתמשי קליפורניה)",childrensPrivacy:"פרטיות ילדים",changesToPolicy:"שינויים במדיניות זו",contactUs:"צור קשר"},ar:{pageTitle:"سياسة الخصوصية",lastUpdated:"آخر تحديث:",introduction:"مقدمة",infoWeCollect:"المعلومات التي نجمعها",infoYouProvide:"المعلومات التي تقدمها",infoCollectedAuto:"المعلومات المجمعة تلقائياً",howDataFlows:"كيفية تدفق البيانات",howWeUse:"كيف نستخدم معلوماتك",howWeShare:"كيف نشارك معلوماتك",thirdPartyServices:"خدمات الطرف الثالث",chromeWebSpeech:"Chrome Web Speech API",openRouterApi:"OpenRouter API",openAiWhisper:"OpenAI Whisper API",dataSecurity:"أمان البيانات",yourRights:"حقوقك",dataRetention:"الاحتفاظ بالبيانات",gdprCompliance:"الامتثال لـ GDPR (مستخدمو الاتحاد الأوروبي)",ccpaCompliance:"الامتثال لـ 
896CCPA (مستخدمو كاليفورنيا)",childrensPrivacy:"خصوصية الأطفال",changesToPolicy:"التغييرات على هذه السياسة",contactUs:"اتصل بنا"},es:{pageTitle:"Política de Privacidad",lastUpdated:"Última actualización:",introduction:"Introducción",infoWeCollect:"Información que recopilamos",infoYouProvide:"Información que proporcionas",infoCollectedAuto:"Información recopilada automáticamente",howDataFlows:"Cómo fluyen los datos",howWeUse:"Cómo usamos tu información",howWeShare:"Cómo compartimos tu información",thirdPartyServices:"Servicios de terceros",chromeWebSpeech:"Chrome Web Speech API",openRouterApi:"OpenRouter API",openAiWhisper:"OpenAI Whisper API",dataSecurity:"Seguridad de datos",yourRights:"Tus derechos",dataRetention:"Retención de datos",gdprCompliance:"Cumplimiento del GDPR (usuarios de la UE)",ccpaCompliance:"Cumplimiento del CCPA (usuarios de California)",childrensPrivacy:"Privacidad de los niños",changesToPolicy:"Cambios en esta política",contactUs:"Contáctanos"},ru:{pageTitle:"Политика конфиденциальности",lastUpdated:"Последнее обновление:",introduction:"Введение",infoWeCollect:"Информация, которую мы собираем",infoYouProvide:"Информация, которую вы предоставляете",infoCollectedAuto:"Информация, собираемая автоматически",howDataFlows:"Как передаются данные",howWeUse:"Как мы используем вашу информацию",howWeShare:"Как мы передаём вашу информацию",thirdPartyServices:"Сторонние сервисы",chromeWebSpeech:"Chrome Web Speech API",openRouterApi:"OpenRouter API",openAiWhisper:"OpenAI Whisper API",dataSecurity:"Безопасность данных",yourRights:"Ваши права",dataRetention:"Хранение данных",gdprCompliance:"Соответствие GDPR (пользователи ЕС)",ccpaCompliance:"Соответствие CCPA (пользователи Калифорнии)",childrensPrivacy:"Конфиденциальность детей",changesToPolicy:"Изменения в этой политике",contactUs:"Связаться с нами"}};function Q$e(e){return CM[e]||CM.en}function sS(){const e=St(),t=Q$e(e),r=e==="he"||e==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:r?"rtl":"ltr",children:[n.jsx(lt,{title:"Privacy Policy | SpeakFlare",description:"SpeakFlare's privacy policy: how we collect, use, and protect your meeting data, personal information, and recordings. GDPR compliant. You control your data.",canonical:"https://speakflare.com/privacy",keywords:"SpeakFlare privacy policy, meeting data privacy, speech analysis GDPR, recording data protection, privacy rights",pageType:"page",breadcrumbs:[{name:"Privacy Policy",url:"https://speakflare.com/privacy"}]}),n.jsx(He,{}),n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:n.jsxs("div",{className:"prose prose-slate dark:prose-invert max-w-none",children:[n.jsx("h1",{className:"text-4xl font-bold mb-2",children:t.pageTitle}),n.jsxs("p",{className:"text-muted-foreground mb-8",children:[t.lastUpdated," November 14, 2025"]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.introduction}),n.jsx("p",{children:'SpeakFlare ("we", "us", or "our") operates the SpeakFlare platform and Chrome Extension (the "Service"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our Service.'}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.infoWeCollect}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.infoYouProvide}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Account Information:"})," Email address, password, name"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Meeting Transcripts:"})," Text transcripts of your speech during meetings"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"User Preferences:"})," Settings such as auto-start recording, notification preferences"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Contact Information:"})," Phone number (optional, for Telegram notifications)"]})]}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.infoCollectedAuto}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Speech Transcripts:"})," Text converted from speech using Chrome's Web Speech API"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Meeting Metadata:"})," Meeting date, time, and title"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Usage Data:"})," When you start/stop recordings"]})]}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.howDataFlows}),n.jsxs("ol",{className:"list-decimal pl-6 space-y-2",children:[n.jsx("li",{children:"Chrome's Web Speech API converts your speech to text locally in your browser"}),n.jsx("li",{children:"Text is temporarily stored in browser extension storage"}),n.jsx("li",{children:"When you close the tab or stop recording, transcript text is uploaded to SpeakFlare servers"}),n.jsx("li",{children:"Our servers send transcripts to open source AI models via OpenRouter for analysis"}),n.jsx("li",{children:"Results are stored securely in your account database"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.howWeUse}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Authenticate your identity and provide access to your account"}),n.jsx("li",{children:"Capture and transcribe your meeting speech using browser's Web Speech API"}),n.jsx("li",{children:"Analyze communication patterns using AI to i
896dentify areas for improvement"}),n.jsx("li",{children:"Store transcripts and analysis results securely"}),n.jsx("li",{children:"Provide insights and track your progress over time"}),n.jsx("li",{children:"Send notifications (if enabled) about meeting analysis completion"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.howWeShare}),n.jsx("p",{className:"font-semibold",children:"We DO NOT sell, trade, or rent your personal information to third parties."}),n.jsx("p",{className:"mt-4",children:"We share your information only in these circumstances:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"With Your Consent:"})," When you explicitly authorize us to share information"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"AI Service Providers:"}),n.jsxs("ul",{className:"list-circle pl-6 mt-2 space-y-1",children:[n.jsx("li",{children:"OpenRouter API with open source models (text analysis only, no personal data)"}),n.jsx("li",{children:"OpenAI Whisper API (transcription only, no personal data)"})]})]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Legal Requirements:"})," When required by law or court order"]})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.thirdPartyServices}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.chromeWebSpeech}),n.jsx("p",{children:"Converts your speech to text locally in your browser. Google may receive audio for cloud processing per Chrome's speech recognition policy."}),n.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Privacy Policy: https://www.google.com/chrome/privacy/"}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.openRouterApi}),n.jsx("p",{children:"Routes requests to open source AI models (Llama 70B, Qwen) for transcript analysis. Only text transcripts are shared, no audio or personal information."}),n.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Privacy Policy: https://openrouter.ai/privacy"}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.openAiWhisper}),n.jsx("p",{children:"Provides speech-to-text transcription with word-level timestamps. Audio is processed for transcription only, not stored by OpenAI."}),n.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Privacy Policy: https://openai.com/policies/privacy-policy"}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.dataSecurity}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"All data transmitted using HTTPS encryption"}),n.jsx("li",{children:"Passwords are hashed using bcrypt before storage"}),n.jsx("li",{children:"Transcripts stored on secure servers with access controls"}),n.jsx("li",{children:"Session-based authentication with secure cookies"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.yourRights}),n.jsx("p",{children:"You have the right to:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Access:"})," View all data we have collected about you"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Correct:"})," Update or correct your personal information"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Delete:"})," Request deletion of your account and all associated data"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Export:"})," Download your meeting transcripts and data"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Opt-Out:"})," Disable notifications or uninstall the extension"]})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.dataRetention}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Active Accounts:"})," Data retained while your account is active"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Account Deletion:"})," All data permanently deleted within 30 days"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Backups:"})," Retained for up to 90 days for disaster recovery"]})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.gdprCompliance}),n.jsx("p",{children:"If you are in the European Economic Area, you have additional rights:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Right to access your personal data"}
896),n.jsx("li",{children:"Right to rectification of inaccurate data"}),n.jsx("li",{children:'Right to erasure ("right to be forgotten")'}),n.jsx("li",{children:"Right to restrict processing"}),n.jsx("li",{children:"Right to data portability"}),n.jsx("li",{children:"Right to object to processing"}),n.jsx("li",{children:"Right to withdraw consent"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.ccpaCompliance}),n.jsx("p",{children:"If you are a California resident, you have rights under CCPA:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Right to know what personal information we collect"}),n.jsx("li",{children:"Right to delete your personal information"}),n.jsx("li",{children:"Right to opt-out of sale (we do not sell data)"}),n.jsx("li",{children:"Right to non-discrimination for exercising privacy rights"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.childrensPrivacy}),n.jsx("p",{children:"The Service is not intended for users under 13. We do not knowingly collect information from children under 13. If you believe your child has provided us with personal information, please contact us."}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.changesToPolicy}),n.jsx("p",{children:'We may update this Privacy Policy from time to time. We will notify you of changes by posting the new policy on this page and updating the "Last Updated" date. Significant changes will be communicated via email.'}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.contactUs}),n.jsxs("div",{className:"bg-muted p-6 rounded-lg mt-4",children:[n.jsx("p",{className:"font-semibold mb-2",children:"SpeakFlare"}),n.jsxs("p",{children:[n.jsx("strong",{children:"Email:"})," ",n.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Website:"})," ",n.jsx("a",{href:"https://speakflare.com",className:"text-primary hover:underline",children:"https://speakflare.com"})]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Address:"})," HaNahshol 36, Israel"]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Phone:"})," ",n.jsx("a",{href:"tel:+972525222793",className:"text-primary hover:underline",children:"+972 52-522-2793"})]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Contact:"})," Guy Evgeni Levin"]})]}),n.jsx("div",{className:"bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-900 rounded-lg p-4 mt-8",children:n.jsx("p",{className:"text-sm",children:"By using SpeakFlare, you consent to this Privacy Policy and agree to its terms."})})]})})]})}const PM={en:{pageTitle:"Terms of Service",lastUpdated:"Last Updated:",acceptanceOfTerms:"1. Acceptance of Terms",descriptionOfService:"2. Description of Service",userAccounts:"3. User Accounts",accountRegistration:"Account Registration",accountResponsibility:"Account Responsibility",acceptableUse:"4. Acceptable Use",youMay:"You May:",youMayNot:"You May Not:",recordingConsent:"5. Recording Consent",intellectualProperty:"6. Intellectual Property",ourRights:"Our Rights",yourRights:"Your Rights",paymentAndSubscriptions:"7. Payment and Subscriptions",dataAndPrivacy:"8. Data and Privacy",serviceAvailability:"9. Service Availability",limitationOfLiability:"10. Limitation of Liability",indemnification:"11. Indemnification",termination:"12. Termination",byYou:"By You",byUs:"By Us",changesToTerms:"13. Changes to Terms",governingLaw:"14. Governing Law",contactInformation:"15. Contact Information"},he:{pageTitle:"תנאי שירות",lastUpdated:"עודכן לאחרונה:",acceptanceOfTerms:"1. קבלת התנאים",descriptionOfService:"2. תיאור השירות",userAccounts:"3. חשבונות משתמש",accountRegistration:"רישום חשבון",accountResponsibility:"אחריות החשבון",acceptableUse:"4. שימוש מותר",youMay:"מותר לך:",youMayNot:"אסור לך:",recordingConsent:"5. הסכמה להקלטה",intellectualProperty:"6. קניין רוחני",ourRights:"הזכויות שלנו",yourRights:"הזכויות שלך",paymentAndSubscriptions:"7. תשלום ומנויים",dataAndPrivacy:"8. נתונים ופרטיות",serviceAvailability:"9. זמינות השירות",limitationOfLiability:"10. הגבלת אחריות",indemnification:"11. שיפוי",termination:"12. סיום",byYou:"על ידך",byUs:"על ידינו",changesToTerms:"13. שינויים בתנאים",governingLaw:"14. הדין החל",contactInformation:"15. פרטי יצירת קשר"},ar:{pageTitle:"شروط الخدمة",lastUpdated:"آخر تحديث:",acceptanceOfTerms:"1. قبول الشروط",descriptionOfService:"2. وصف الخدمة",userAccounts:"3. حسابات المستخدمين",accountRegistration:"تسجيل الحساب",accountResponsibility:"مسؤولية الحساب",acceptableUse:"4. الاستخدام المقبول",youMay:"يمكنك:",youMayNot:"لا يمكنك:",recordingConsent:"5. موافقة التسجيل",intellectualProperty:"6. الملكية الفكرية",ourRights:"حقوقنا",yourRights:"حقوقك",paymentAndSubscriptions:"7. الدفع والاشتراكات",dataAndPrivacy:"8. البيانات والخصوصية",serviceAvailability:"9. توفر الخدمة",limitationOfLiability:"10. تحديد المسؤولية",indemnification:"11. التعويض",termination:"12. الإنهاء",byYou:"من قِبلك",byUs:"من قِبلنا",changesToTerms:"13. التغييرات على الشروط",governingLaw:"14. القانون الحاكم",contactInformation:"15. معلومات الاتصال"},es:{pageTitle:"Términos de Servicio",lastUpdated:"Última actualización:",acceptanceOfTerms:"1. Aceptación de los términos",descriptionOfService:"2. Descripción del servicio",userAccounts:"3. Cuentas de usuario",accountRegistration:"Registro de cuenta",accountResponsibility:"Responsabilidad de la cuenta",acceptableUse:"4. Uso aceptable",youMay:"Puedes:",youMayNot:"No puedes:",recordingConsent:"5. Consentimiento de grabación",intellectualProperty:"6. Propiedad intelectual",ourRights:"Nuestros derechos",yourRights:"Tus derechos",paymentAndSubscriptions:"7. Pagos y suscripciones",dataAndPrivacy:"8. Datos y privacidad",serviceAvailability:"9. Disponibilidad del servicio",limitationOfLiability:"10. Limitación de responsabilidad",indemnification:"11. Indemnización",termination:"12. Terminación",byYou:"Por tu parte",byUs:"Por nuestra parte",changesToTerms:"13. C
896ambios en los términos",governingLaw:"14. Ley aplicable",contactInformation:"15. Información de contacto"},ru:{pageTitle:"Условия использования",lastUpdated:"Последнее обновление:",acceptanceOfTerms:"1. Принятие условий",descriptionOfService:"2. Описание сервиса",userAccounts:"3. Учётные записи",accountRegistration:"Регистрация аккаунта",accountResponsibility:"Ответственность за аккаунт",acceptableUse:"4. Допустимое использование",youMay:"Вы можете:",youMayNot:"Вы не можете:",recordingConsent:"5. Согласие на запись",intellectualProperty:"6. Интеллектуальная собственность",ourRights:"Наши права",yourRights:"Ваши права",paymentAndSubscriptions:"7. Оплата и подписки",dataAndPrivacy:"8. Данные и конфиденциальность",serviceAvailability:"9. Доступность сервиса",limitationOfLiability:"10. Ограничение ответственности",indemnification:"11. Возмещение ущерба",termination:"12. Прекращение",byYou:"С вашей стороны",byUs:"С нашей стороны",changesToTerms:"13. Изменения условий",governingLaw:"14. Применимое право",contactInformation:"15. Контактная информация"}};function X$e(e){return PM[e]||PM.en}function iS(){const e=St(),t=X$e(e),r=e==="he"||e==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:r?"rtl":"ltr",children:[n.jsx(lt,{title:"Terms of Service | SpeakFlare",description:"SpeakFlare's terms of service: acceptable use policy, subscription terms, data ownership rights, and service level commitments.",canonical:"https://speakflare.com/terms",keywords:"SpeakFlare terms of service, user agreement, subscription terms, acceptable use policy, terms and conditions",pageType:"page",breadcrumbs:[{name:"Terms of Service",url:"https://speakflare.com/terms"}]}),n.jsx(He,{}),n.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:n.jsxs("div",{className:"prose prose-slate dark:prose-invert max-w-none",children:[n.jsx("h1",{className:"text-4xl font-bold mb-2",children:t.pageTitle}),n.jsxs("p",{className:"text-muted-foreground mb-8",children:[t.lastUpdated," November 14, 2025"]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.acceptanceOfTerms}),n.jsx("p",{children:'By accessing and using SpeakFlare ("the Service"), you accept and agree to be bound by these Terms of Service. If you do not agree to these terms, please do not use the Service.'}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.descriptionOfService}),n.jsx("p",{children:"SpeakFlare provides AI-powered communication analysis tools that:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Capture and transcribe your speech during online meetings"}),n.jsx("li",{children:"Analyze communication patterns for grammar, filler words, clarity, and presentation skills"}),n.jsx("li",{children:"Provide insights and feedback to help improve communication"}),n.jsx("li",{children:"Track progress over time with historical data"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.userAccounts}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.accountRegistration}),n.jsx("p",{children:"To use SpeakFlare, you must:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Provide accurate and complete registration information"}),n.jsx("li",{children:"Maintain the security of your password"}),n.jsx("li",{children:"Be at least 13 years of age"}),n.jsx("li",{children:"Notify us immediately of any unauthorized use of your account"})]}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.accountResponsibility}),n.jsx("p",{children:"You are responsible for:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"All activities that occur under your account"}),n.jsx("li",{children:"Maintaining the confidentiality of your login credentials"}),n.jsx("li",{children:"The content of your meeting transcripts and data"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.acceptableUse}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.youMay}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Use the Service for personal or professional communication improvement"}),n.jsx("li",{children:"Record and analyze your own meetings with participant consent"}),n.jsx("li",{children:"Export your data at any time"})]}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.youMayNot}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Record meetings without obtaining consent from all participants"}),n.jsx("li",{children:"Use the Service for illegal or unauthorized purposes"}),n.jsx("li",{children:"Attempt to gain unauthorized access to the Service or other users' accounts"}),n.jsx("li",{children:"Share your account credentials with others"}
896),n.jsx("li",{children:"Reverse engineer, decompile, or disassemble any part of the Service"}),n.jsx("li",{children:"Use the Service to violate any applicable laws or regulations"}),n.jsx("li",{children:"Upload malicious code or attempt to disrupt the Service"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.recordingConsent}),n.jsx("p",{className:"font-semibold text-yellow-900 dark:text-yellow-100 bg-yellow-50 dark:bg-yellow-950/20 border border-yellow-200 dark:border-yellow-900 p-4 rounded-lg",children:"Important: You are responsible for obtaining consent from all meeting participants before recording. Recording laws vary by jurisdiction. Ensure you comply with all applicable laws."}),n.jsx("p",{className:"mt-4",children:"SpeakFlare is a tool that enables recording. You, as the user, are solely responsible for:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Obtaining proper consent before recording any conversation"}),n.jsx("li",{children:"Complying with federal, state, and local recording laws"}),n.jsx("li",{children:"Informing participants that the meeting is being recorded"}),n.jsx("li",{children:"Understanding and following consent requirements in your jurisdiction"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.intellectualProperty}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.ourRights}),n.jsx("p",{children:"SpeakFlare and its content (excluding your user data) are owned by us and protected by copyright, trademark, and other intellectual property laws."}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.yourRights}),n.jsx("p",{children:"You retain all rights to your meeting transcripts and data. By using the Service, you grant us a limited license to:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Store and process your transcripts for AI analysis"}),n.jsx("li",{children:"Provide the Service features to you"}),n.jsx("li",{children:"Improve the Service (using anonymized, aggregated data only)"})]}),n.jsx("p",{className:"mt-4",children:"We do NOT claim ownership of your content and will not use your transcripts for training AI models or share them with third parties (except as outlined in our Privacy Policy)."}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.paymentAndSubscriptions}),n.jsx("p",{children:"Currently, SpeakFlare offers free access to all features. If paid plans are introduced in the future:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"You will be notified in advance of any pricing changes"}),n.jsx("li",{children:"Billing terms will be clearly displayed before purchase"}),n.jsx("li",{children:"Refunds will be handled on a case-by-case basis"}),n.jsx("li",{children:"You may cancel your subscription at any time"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.dataAndPrivacy}),n.jsxs("p",{children:["Your use of the Service is also governed by our ",n.jsx("a",{href:"/privacy",className:"text-primary hover:underline",children:"Privacy Policy"}),", which explains how we collect, use, and protect your data."]}),n.jsx("p",{className:"mt-4",children:"Key points:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"We use HTTPS encryption for all data transmission"}),n.jsx("li",{children:"Transcripts are analyzed by open source AI models via OpenRouter API"}),n.jsx("li",{children:"You can delete your account and all data at any time"}),n.jsx("li",{children:"We comply with GDPR and CCPA regulations"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.serviceAvailability}),n.jsx("p",{children:"We strive to provide reliable service, but we do not guarantee:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Uninterrupted or error-free operation"}),n.jsx("li",{children:"That the Service will meet your specific requirements"}),n.jsx("li",{children:"That defects will be corrected immediately"})]}),n.jsx("p",{className:"mt-4",children:"We reserve the right to modify, suspend, or discontinue the Service at any time with or without notice."}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.limitationOfLiability}),n.jsx("p",{className:"font-semibold mb-4",children:"TO THE MAXIMUM EXTENT PERMITTED BY LAW:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:'SpeakFlare is provided "as is" without warranties of any kind'}),n.jsx("li",{children:"We are not liable for any indirect, incidental, or consequential damages"}),n.jsx("li",{children:"Our total liability shall not exceed the amount you paid us in the past 12 months"}),n.jsx("li",{children:"We are not responsible for third-party services (Chrome, Zoom, Google Meet, AI providers)"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.indemnification}),n.jsx("p",{children:"You agree to indemnify and hold harmless SpeakFlare and its affiliates from any claims, damages, or expenses arising from:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Your use of the Service"}),n.jsx("li",{children:"Your violation of these Terms"}),n.jsx("li",{children:"Your violation of recording consent laws"}),n.jsx("li",{children:"Your violation of any third-party rights"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.termination}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.byYou}),n.jsx("p",{children:"You may terminate your account at any time by:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Deleting your account through the profile settings"}),n.jsx("li",{children:"Contacting us at [email protected]"})]}),n.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:t.byUs}),n.jsx("p",{children:"We may terminate or suspend your account if:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"You violate these Terms of Service"}),n.jsx("li",{children:"We are required to do so by law"}),n.jsx("li",{children:"Your account has been inactive for an extended period"}),n.jsx("li",{children:"We believe your actions may cause legal liability"})]}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.changesToTerms}),n.jsx("p",{children:"We may update these Terms from time to time. We will notify you of significant changes by:"}),n.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[n.jsx("li",{children:"Posting the updated Terms on this page"}),n.jsx("li",{children:'Updating the "Last Updated" date'}),n.jsx("li",{children:"Sending an email notification (for material changes)"})]}),n.jsx("p",{className:"mt-4",children:"Your continued use of the Service after changes constitutes acceptance of the new Terms."}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.governingLaw}),n.jsx("p",{children:"These Terms are governed by the laws of Israel. Any disputes shall be resolved 
896in the courts of Israel."}),n.jsx("h2",{className:"text-2xl font-semibold mt-8 mb-4",children:t.contactInformation}),n.jsxs("div",{className:"bg-muted p-6 rounded-lg mt-4",children:[n.jsx("p",{className:"font-semibold mb-2",children:"For questions about these Terms, contact us:"}),n.jsxs("p",{children:[n.jsx("strong",{children:"Email:"})," ",n.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Phone:"})," ",n.jsx("a",{href:"tel:+972525222793",className:"text-primary hover:underline",children:"+972 52-522-2793"})]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Address:"})," HaNahshol 36, Israel"]}),n.jsxs("p",{children:[n.jsx("strong",{children:"Contact:"})," Guy Evgeni Levin"]})]}),n.jsxs("div",{className:"bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-900 rounded-lg p-4 mt-8",children:[n.jsx("p",{className:"text-sm font-semibold mb-2",children:"Acknowledgment"}),n.jsx("p",{className:"text-sm",children:"By using SpeakFlare, you acknowledge that you have read, understood, and agree to be bound by these Terms of Service."})]})]})})]})}const TM={en:{pageTitle:"Security at SpeakFlare",pageSubtitle:"Your data security and privacy are our top priorities",featEncryption:"Encryption",featAuthentication:"Authentication",featInfrastructure:"Infrastructure",featAccessControl:"Access Control",featAuditLogging:"Audit Logging",featThreatProtection:"Threat Protection",securityPractices:"Security Practices",dataEncryption:"Data Encryption",authAndAccess:"Authentication & Access",threatProtection:"Threat Protection",infrastructureSecurity:"Infrastructure Security",secureEmailDelivery:"Secure Email Delivery",complianceAndStandards:"Compliance & Standards",responsibleDisclosure:"Responsible Disclosure"},he:{pageTitle:"אבטחה ב-SpeakFlare",pageSubtitle:"אבטחת הנתונים והפרטיות שלך הן העדיפויות הראשונות שלנו",featEncryption:"הצפנה",featAuthentication:"אימות",featInfrastructure:"תשתית",featAccessControl:"בקרת גישה",featAuditLogging:"רישום ביקורת",featThreatProtection:"הגנה מפני איומים",securityPractices:"פרקטיקות אבטחה",dataEncryption:"הצפנת נתונים",authAndAccess:"אימות וגישה",threatProtection:"הגנה מפני איומים",infrastructureSecurity:"אבטחת תשתית",secureEmailDelivery:"משלוח אימייל מאובטח",complianceAndStandards:"עמידה בתקנים",responsibleDisclosure:"דיווח אחראי"},ar:{pageTitle:"الأمان في SpeakFlare",pageSubtitle:"أمان بياناتك وخصوصيتك هي أولوياتنا القصوى",featEncryption:"التشفير",featAuthentication:"المصادقة",featInfrastructure:"البنية التحتية",featAccessControl:"التحكم في الوصول",featAuditLogging:"سجلات التدقيق",featThreatProtection:"الحماية من التهديدات",securityPractices:"ممارسات الأمان",dataEncryption:"تشفير البيانات",authAndAccess:"المصادقة والوصول",threatProtection:"الحماية من التهديدات",infrastructureSecurity:"أمان البنية التحتية",secureEmailDelivery:"تسليم البريد الإلكتروني الآمن",complianceAndStandards:"الامتثال والمعايير",responsibleDisclosure:"الإفصاح المسؤول"},es:{pageTitle:"Seguridad en SpeakFlare",pageSubtitle:"La seguridad de tus datos y la privacidad son nuestras principales prioridades",featEncryption:"Cifrado",featAuthentication:"Autenticación",featInfrastructure:"Infraestructura",featAccessControl:"Control de acceso",featAuditLogging:"Registro de auditoría",featThreatProtection:"Protección contra amenazas",securityPractices:"Prácticas de seguridad",dataEncryption:"Cifrado de datos",authAndAccess:"Autenticación y acceso",threatProtection:"Protección contra amenazas",infrastructureSecurity:"Seguridad de infraestructura",secureEmailDelivery:"Entrega segura de correo",complianceAndStandards:"Cumplimiento y estándares",responsibleDisclosure:"Divulgación responsable"},ru:{pageTitle:"Безопасность в SpeakFlare",pageSubtitle:"Безопасность ваших данных и конфиденциальность — наши главные приоритеты",featEncryption:"Шифрование",featAuthentication:"Аутентификация",featInfrastru
896cture:"Инфраструктура",featAccessControl:"Контроль доступа",featAuditLogging:"Журналирование",featThreatProtection:"Защита от угроз",securityPractices:"Практики безопасности",dataEncryption:"Шифрование данных",authAndAccess:"Аутентификация и доступ",threatProtection:"Защита от угроз",infrastructureSecurity:"Безопасность инфраструктуры",secureEmailDelivery:"Безопасная доставка почты",complianceAndStandards:"Соответствие стандартам",responsibleDisclosure:"Ответственное раскрытие"}};function J$e(e){return TM[e]||TM.en}function oS(){const e=St(),t=J$e(e),r=e==="he"||e==="ar",a=[{icon:op,title:t.featEncryption,description:"All data encrypted in transit (HTTPS/TLS 1.3) and at rest with enterprise-grade AES-256"},{icon:Pr,title:t.featAuthentication,description:"Session-based auth with bcrypt password hashing, secure cookies, and automatic session expiry"},{icon:E8,title:t.featInfrastructure,description:"Hosted on secure, SOC 2 compliant infrastructure with automated backups and disaster recovery"},{icon:Js,title:t.featAccessControl,description:"Role-based access control (RBAC) with principle of least privilege"},{icon:kte,title:t.featAuditLogging,description:"Comprehensive audit logs for all data access and system changes"},{icon:Vs,title:t.featThreatProtection,description:"Multi-tier rate limiting, DDoS protection, and automated threat detection"}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:r?"rtl":"ltr",children:[n.jsx(lt,{title:"Security - Enterprise-Grade Protection for Your Meeting Data | SpeakFlare",description:"SpeakFlare security: AES-256 encryption, ISO 27001-aligned controls, GDPR compliance, role-based access control, audit logging, and secure data deletion.",canonical:"https://speakflare.com/security",keywords:"SpeakFlare security, meeting data security, speech analysis privacy, encryption data protection, GDPR compliant, ISO 27001 security",pageType:"page",breadcrumbs:[{name:"Security",url:"https://speakflare.com/security"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx(Pr,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:t.pageTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:t.pageSubtitle})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-16",children:a.map((s,i)=>n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(s.icon,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.description})]},i))}),n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs(X,{className:"p-8 mb-8",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:t.securityPractices}),n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.dataEncryption}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"In Transit:"})," All data transmitted using HTTPS with TLS 1.3 encryption"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"At Rest:"})," Database encryption with AES-256 for all stored data"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Audio Files:"})," Compressed MP3 files stored with encryption and access controls"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Passwords:"})," Never stored in plaintext - bcrypt hashing with salt"]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.authAndAccess}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Session Management:"})," Secure session-based authentication with HTTP-only cookies"]}
896),n.jsxs("li",{children:[n.jsx("strong",{children:"Password Requirements:"})," Minimum 6 characters with strength validation"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Auto-Logout:"})," Sessions automatically expire after inactivity"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Extension Tokens:"})," Indexed token authentication for Chrome extension with bcrypt-hashed secrets"]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.threatProtection}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Rate Limiting:"})," Multi-tier rate limiting on authentication and API endpoints"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"DDoS Protection:"})," Distributed denial-of-service attack mitigation"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Input Validation:"})," All user input validated and sanitized to prevent injection attacks"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"CORS Policy:"})," Strict cross-origin resource sharing policies"]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.infrastructureSecurity}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Secure Hosting:"})," SOC 2 compliant infrastructure providers"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Automated Backups:"})," Regular automated backups with encryption"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Disaster Recovery:"})," Tested disaster recovery procedures"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Network Isolation:"})," Segmented networks and firewall protection"]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.secureEmailDelivery}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Resend API:"})," Enterprise-grade email infrastructure with 99%+ deliverability"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"SPF & DKIM:"})," Email authentication protocols to prevent spoofing"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Encrypted Transit:"})," All emails sent over encrypted TLS connections"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Privacy Protected:"})," No tracking pixels or third-party analytics in emails"]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-3",children:t.complianceAndStandards}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Security Best Practices:"})," Following industry-standard security practices and frameworks"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"GDPR Compliant:"})," Full compliance with EU data protection regulations"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"CCPA Compliant:"})," California Consumer Privacy Act compliance"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Ongoing Improvements:"})," Regular security assessments and updates"]})]})]})]})]}),n.jsxs(X,{className:"p-8",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:t.responsibleDisclosure}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"We take security vulnerabilities seriously. If you discover a security issue, please report it responsibly:"}),n.jsxs("ul",{className:"list-disc pl-6 text-muted-foreground space-y-2 mb-6",children:[n.jsxs("li",{children:["Email us at: ",n.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),n.jsx("li",{children:"Provide detailed information about the vulnerability"}),n.jsx("li",{children:"Allow us reasonable time to address the issue before public disclosure"}),n.jsx("li",{children:"Do not exploit the vulnerability or access data beyond what is necessary to demonstrate the issue"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"We appreciate responsible disclosure and will acknowledge security researchers who help us keep SpeakFlare secure."})]})]})]})]})}const AM={en:{pageTitle:"Cookie Policy",lastUpdated:"Last updated:",whatAreCookies:"1. What Are Cookies?",howWeUseCookies:"2. How We Use Cookies",typesOfCookies:"3. Types of Cookies We Use",essentialCookies:"3.1 Essential Cookies (Required)",functionalCookies:"3.2 Functional Cookies (Optional)",thirdPartyCookies:"4. Third-Party Cookies",managingCookies:"5. Managing Cookies",browserInstructions:"6. Browser-Specific Instru
896ctions",updatesToPolicy:"7. Updates to This Policy",contactUs:"8. Contact Us"},he:{pageTitle:"מדיניות עוגיות",lastUpdated:"עודכן לאחרונה:",whatAreCookies:"1. מה הן עוגיות?",howWeUseCookies:"2. כיצד אנחנו משתמשים בעוגיות",typesOfCookies:"3. סוגי עוגיות שאנחנו משתמשים בהן",essentialCookies:"3.1 עוגיות חיוניות (נדרשות)",functionalCookies:"3.2 עוגיות פונקציונליות (אופציונליות)",thirdPartyCookies:"4. עוגיות צד שלישי",managingCookies:"5. ניהול עוגיות",browserInstructions:"6. הוראות לפי דפדפן",updatesToPolicy:"7. עדכונים למדיניות זו",contactUs:"8. צור קשר"},ar:{pageTitle:"سياسة ملفات تعريف الارتباط",lastUpdated:"آخر تحديث:",whatAreCookies:"1. ما هي ملفات تعريف الارتباط؟",howWeUseCookies:"2. كيف نستخدم ملفات تعريف الارتباط",typesOfCookies:"3. أنواع ملفات تعريف الارتباط التي نستخدمها",essentialCookies:"3.1 ملفات تعريف الارتباط الأساسية (مطلوبة)",functionalCookies:"3.2 ملفات تعريف الارتباط الوظيفية (اختيارية)",thirdPartyCookies:"4. ملفات تعريف ارتباط الطرف الثالث",managingCookies:"5. إدارة ملفات تعريف الارتباط",browserInstructions:"6. تعليمات خاصة بالمتصفح",updatesToPolicy:"7. تحديثات هذه السياسة",contactUs:"8. اتصل بنا"},es:{pageTitle:"Política de Cookies",lastUpdated:"Última actualización:",whatAreCookies:"1. ¿Qué son las cookies?",howWeUseCookies:"2. Cómo usamos las cookies",typesOfCookies:"3. Tipos de cookies que usamos",essentialCookies:"3.1 Cookies esenciales (Obligatorias)",functionalCookies:"3.2 Cookies funcionales (Opcionales)",thirdPartyCookies:"4. Cookies de terceros",managingCookies:"5. Gestión de cookies",browserInstructions:"6. Instrucciones por navegador",updatesToPolicy:"7. Actualizaciones de esta política",contactUs:"8. Contáctanos"},ru:{pageTitle:"Политика cookies",lastUpdated:"Последнее обновление:",whatAreCookies:"1. Что такое cookies?",howWeUseCookies:"2. Как мы используем cookies",typesOfCookies:"3. Типы используемых нами cookies",essentialCookies:"3.1 Основные cookies (обязательные)",functionalCookies:"3.2 Функциональные cookies (необязательные)",thirdPartyCookies:"4. Cookies третьих сторон",managingCookies:"5. Управление cookies",browserInstructions:"6. Инструкции для конкретных браузеров",updatesToPolicy:"7. Обновления этой политики",contactUs:"8. Связаться с нами"}};function e6e(e){return AM[e]||AM.en}function lS(){const e=St(),t=e6e(e),r=e==="he"||e==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:r?"rtl":"ltr",children:[n.jsx(lt,{title:"Cookie Policy | SpeakFlare",description:"SpeakFlare's cookie policy: which cookies we use, why we use them, how long they last, and how to control or disable them in your browser.",canonical:"https://speakflare.com/cookies",keywords:"SpeakFlare cookie policy, cookies used, session cookies, analytics cookies, browser cookies control",pageType:"page",breadcrumbs:[{name:"Cookie Policy",url:"https://speakflare.com/cookies"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx(bte,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl font-bold mb-4",children:t.pageTitle}),n.jsxs("p",{className:"text-muted-foreground",children:[t.lastUpdated," November 22, 2025"]})]}),n.jsx(X,{className:"p-8",children:n.jsxs("div",{className:"prose prose-slate dark:prose-invert max-w-none",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:t.whatAreCookies}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"Cookies are small text files stored on your device when you visit a website. They help websites remember your preferences and improve your experience."}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.howWeUseCookies}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"SpeakFlare uses co
896okies for essential functionality only. We do NOT use cookies for:"}),n.jsxs("ul",{className:"list-disc pl-6 mb-6 text-muted-foreground space-y-2",children:[n.jsx("li",{children:"Advertising or tracking"}),n.jsx("li",{children:"Selling your data to third parties"}),n.jsx("li",{children:"Cross-site tracking"}),n.jsx("li",{children:"Analytics beyond basic usage"})]}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.typesOfCookies}),n.jsx("h3",{className:"text-xl font-bold mb-3 mt-6",children:t.essentialCookies}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"These cookies are necessary for the website to function properly:"}),n.jsx("div",{className:"bg-muted rounded-lg p-4 mb-6",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"border-b border-border",children:[n.jsx("th",{className:"text-left py-2",children:"Cookie Name"}),n.jsx("th",{className:"text-left py-2",children:"Purpose"}),n.jsx("th",{className:"text-left py-2",children:"Duration"})]})}),n.jsx("tbody",{className:"text-muted-foreground",children:n.jsxs("tr",{className:"border-b border-border",children:[n.jsx("td",{className:"py-2",children:n.jsx("code",{children:"connect.sid"})}),n.jsx("td",{className:"py-2",children:"Session authentication"}),n.jsx("td",{className:"py-2",children:"Session (deleted on logout)"})]})})]})}),n.jsx("h3",{className:"text-xl font-bold mb-3 mt-6",children:t.functionalCookies}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"These cookies remember your preferences:"}),n.jsxs("ul",{className:"list-disc pl-6 mb-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Theme Preference:"})," Light/dark mode selection (localStorage)"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Language Preference:"})," Preferred language for the interface (localStorage)"]})]}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.thirdPartyCookies}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"We do NOT use third-party cookies for tracking or advertising. Our third-party services (OpenAI Whisper, OpenRouter, Resend) may use their own cookies when you interact with their services, subject to their own privacy policies."}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.managingCookies}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"You can control cookies through your browser settings:"}),n.jsxs("ul",{className:"list-disc pl-6 mb-6 text-muted-foreground space-y-2",children:[n.jsxs("li",{children:[n.jsx("strong",{children:"Block All Cookies:"})," Prevents any cookies from being stored (may break website functionality)"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Delete Cookies:"})," Remove existing cookies from your device"]}),n.jsxs("li",{children:[n.jsx("strong",{children:"Third-Party Cookies:"})," Block cookies from third-party domains"]})]}),n.jsxs("div",{className:"bg-yellow-50 dark:bg-yellow-950/20 border border-yellow-200 dark:border-yellow-900 rounded-lg p-4 mb-6",children:[n.jsx("p",{className:"text-sm font-semibold mb-2",children:"⚠️ Important"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Blocking or deleting essential cookies will prevent you from logging in and using SpeakFlare. These cookies are strictly necessary for the service to function."})]}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.browserInstructions}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:"Chrome"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Settings → Privacy and security → Cookies and other site data"})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:"Firefox"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Settings → Privacy & Security → Cookies and Site Data"})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:"Safari"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Preferences → Privacy → Manage Website Data"})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:"Edge"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Settings → Cookies and site permissions → Manage and delete cookies"})]})]}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.updatesToPolicy}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"We may update this Cookie Policy from time to time. Significant changes will be communicated via email."}),n.jsx("h2",{className:"text-2xl font-bold mb-4 mt-8",children:t.contactUs}),n.jsxs("p",{className:"text-muted-foreground",children:["Questions about our use of cookies? Contact us at:"," ",n.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})})]})]})}const EM={en:{heroTitle:"Powerful Features for Better Communication",heroSub:"Everything you need to analyze, improve, and master your speaking skills across 50+ languages",heroBtn:"Get Started",sectionAnalysis:"Comprehensive Analysis Categories",sectionTech:"Advanced Technical Capabilities",ctaTitle:"Ready to Improve Your Communication?",ctaSub:"Join thousands of professionals using SpeakFlare to eliminate speaking mistakes and deliver confident presentations",ctaBtn:"Start Your Journey",exampleLabel:"Example:",feat1title:"Multiple Recording Methods",feat1desc:"Capture meetings through Zoom integration, Chrome extension for Google Meet, direct microphone recording, or file upload",feat2title:"50+ Languages Supported",feat2desc:"Automatic language detection and analysis in Hebrew, Russian, Spanish, Arabic, Chinese, and 45+ more languages",feat3title:"4 Analysis Categories",feat3desc:"Grammar errors, filler words, clarity issues, and sales/presentation weaknesses - all detected automatically",feat4title:"Progress Tracking",feat4desc:"Monitor your improvement over time, see which mistakes you've eliminated, and track trends across all meetings",feat5title:"Smart Notifications",feat5desc:"Receive professional email summaries and Telegram alerts (Pro) with meeting insights in your language",feat6title:"Backgroun
896d Processing",feat6desc:"Stop recording instantly - analysis happens in the background with automatic email when complete",cat1title:"Grammar Errors",cat1desc:"Subject-verb disagreements, tense issues, article mistakes, and more",cat1example:"Detects: 'We was working' → Suggests: 'We were working'",cat2title:"Filler Words",cat2desc:"Track 'um', 'like', 'you know', 'uh' and language-specific fillers",cat2example:"Hebrew: אממ, כאילו, יאללה | Spanish: eh, este, o sea",cat3title:"Clarity Issues",cat3desc:"Complex sentences, unclear phrasing, passive voice overuse",cat3example:"Simplifies long, convoluted sentences for better understanding",cat4title:"Sales & Presentation",cat4desc:"Weak openings, poor objection handling, lack of confidence markers",cat4example:"Identifies missed closing opportunities and passive language",tech1title:"Audio Compression",tech1desc:"MP3 compression (64% smaller, mono, 16kHz) optimized for speech processing",tech2title:"Word-Level Timestamps",tech2desc:"Precise timestamps for every word using OpenAI Whisper API",tech3title:"Interactive Waveform",tech3desc:"Click on any error to jump directly to that moment in the audio",tech4title:"Speaker Filtering",tech4desc:"Filter analysis by specific speakers across all tabs",tech5title:"RTL Language Support",tech5desc:"Proper right-to-left text rendering for Hebrew and Arabic",tech6title:"PWA Installation",tech6desc:"Install on iPhone, Android, or desktop for app-like experience",tech7title:"Secure Authentication",tech7desc:"Session-based auth with bcrypt password hashing and rate limiting",tech8title:"Chrome Extension",tech8desc:"Live transcription from Google Meet and Zoom using Web Speech API"},he:{heroTitle:"תכונות עוצמתיות לתקשורת טובה יותר",heroSub:"כל מה שצריך כדי לנתח, לשפר ולשלוט במיומנויות הדיבור שלך ב-50+ שפות",heroBtn:"התחל עכשיו",sectionAnalysis:"קטגוריות ניתוח מקיפות",sectionTech:"יכולות טכניות מתקדמות",ctaTitle:"מוכן לשפר את התקשורת שלך?",ctaSub:"הצטרף לאלפי אנשי מקצוע שמשתמשים ב-SpeakFlare כדי לבטל טעויות דיבור ולמסור הצגות בביטחון",ctaBtn:"התחל את המסע שלך",exampleLabel:"דוגמה:",feat1title:"שיטות הקלטה מרובות",feat1desc:"לכידת פגישות דרך אינטגרציית Zoom, תוסף Chrome ל-Google Meet, הקלטת מיקרופון ישירה, או העלאת קובץ",feat2title:"תמיכה ב-50+ שפות",feat2desc:"זיהוי שפה אוטומטי וניתוח בעברית, רוסית, ספרדית, ערבית, סינית ו-45+ שפות נוספות",feat3title:"4 קטגוריות ניתוח",feat3desc:"שגיאות דקדוק, מילות מילוי, בעיות בהירות, וחולשות בהצגה/מכירות — כולן מזוהות אוטומטית",feat4title:"מעקב אחר התקדמות",feat4desc:"עקוב אחר השיפור שלך לאורך זמן, ראה אילו טעויות ביטלת ועקוב אחר מגמות בכל הפגישות",feat5title:"התראות חכמות",feat5desc:"קבל סיכומי אימייל מקצועיים והתראות טלגרם (Pro) עם תובנות פגישה בשפה שלך",feat6title:"עיבוד ברקע",feat6desc:"עצור את ההקלטה מיד — הניתוח מתבצע ברקע עם אימייל אוטומטי כשמסתיים",cat1title:"שגיאות דקדוק",cat1desc:"אי-התאמת נושא-פועל, בעיות בזמנים, טעויות בכתיבה ועוד",cat1example:"מזהה: 'We was working' → מציע: 'We were working'",cat2title:"מילות מילוי",cat2desc:"עקוב אחר 'אממ', 'כאילו', 'אתה יודע', 'אה' ומילות מילוי ייחודיות לשפה",cat2example:"עברית: אממ, כאילו, יאללה | ספרדית: eh, este, o sea",cat3title:"בעיות בהירות",cat3desc:"משפטים מורכבים, ניסוח לא ברור, שימוש יתר בקול סביל",cat3example:"מפשט משפטים ארוכים ומסובכים להבנה טובה יותר",cat4title:"מכירות והצגה",cat4desc:"פתיחות חלשות, טיפול גרוע בהתנגדויות, חוסר בסמנות ביטחון",cat4example:"מזהה הזדמנויות סגירה שהוחמצו ושפה פסיבית",tech1title:"דחיסת אודיו",tech1desc:"דחיסת MP3 (64% קטן יותר, מונו, 16kHz) מותאמת לעיבוד דיבור",tech2title:"חותמות זמן ברמת מילה",tech2desc:"חותמות זמן מדויקות לכל מילה באמצעות OpenAI Whisper API",tech3title:"גלים אינטראקטיביים",tech3desc:"לחץ על כל שגיאה כדי לקפוץ ישירות לאותו רגע באודיו",tech4title:"סינון דוברים",tech4desc:"סנן ניתוח לפי דוברים ספציפיים בכל הלשוניות",tech5title:"תמיכה בשפות RTL",tech5desc:"עיבוד טקסט מימין לשמאל נכון לעברית וערבית",tech6title:"התקנת PWA",tech6desc:"התקן על iPhone, Android, או שולחן עבודה לחוויית אפליקציה",tech7title:"אימות מאובטח",tech7desc:"אימות מבוסס-סשן עם hashing סיסמאות bcrypt ומגבלת קצב",tech8title:"תוסף Chrome",tech8desc:"תמלול חי מ-Google Meet ו-Zoom באמצעות Web Speech API"},ar:{heroTitle:"ميزات قوية لتواصل أفضل",heroSub:"كل ما تحتاجه لتحليل مهارات التحدث لديك وتطويرها وإتقانها في أكثر من 50 لغة",heroBtn:"ابدأ الآن",sectionAnalysis:"فئات تحليل شاملة",sectionTech:"قدرات تقنية متقدمة",ctaTitle:"هل أنت مستعد لتحسين تواصلك؟",ctaSub:"انضم إلى آلاف المحترفين الذين يستخدمون SpeakFlare للتخلص من أخطاء الكلام وتقديم عروض واثقة",ctaBtn:"ابدأ رحلتك",exampleLabel:"مثال:",feat1title:"طرق تØ
896³Ø¬ÙŠÙ„ متعددة",feat1desc:"التقط الاجتماعات عبر تكامل Zoom أو امتداد Chrome لـ Google Meet أو التسجيل المباشر بالميكروفون أو رفع الملفات",feat2title:"دعم أكثر من 50 لغة",feat2desc:"الكشف التلقائي عن اللغة والتحليل بالعبرية والروسية والإسبانية والعربية والصينية وأكثر من 45 لغة أخرى",feat3title:"4 فئات تحليل",feat3desc:"الأخطاء النحوية وكلمات الحشو ومشاكل الوضوح ونقاط الضعف في التقديم/المبيعات — كلها تُكتشف تلقائياً",feat4title:"تتبع التقدم",feat4desc:"راقب تحسّنك مع مرور الوقت، وشاهد الأخطاء التي أزلتها، وتتبع الاتجاهات عبر جميع الاجتماعات",feat5title:"إشعارات ذكية",feat5desc:"احصل على ملخصات بريد إلكتروني احترافية وتنبيهات Telegram (برو) مع رؤى الاجتماع بلغتك",feat6title:"المعالجة في الخلفية",feat6desc:"أوقف التسجيل فوراً — يتم التحليل في الخلفية مع إرسال بريد إلكتروني تلقائي عند الانتهاء",cat1title:"الأخطاء النحوية",cat1desc:"عدم توافق الفاعل والفعل، مشاكل الأزمنة، أخطاء المقالات وغيرها",cat1example:"يكتشف: 'We was working' → يقترح: 'We were working'",cat2title:"كلمات الحشو",cat2desc:"تتبع 'آه'، 'يعني'، 'إيه' وكلمات الحشو الخاصة بكل لغة",cat2example:"عبري: אממ, כאילו, יאללה | إسباني: eh, este, o sea",cat3title:"مشاكل الوضوح",cat3desc:"الجمل المعقدة والصياغة الغامضة والإفراط في استخدام المبني للمجهول",cat3example:"يبسّط الجمل الطويلة والمعقدة لفهم أفضل",cat4title:"المبيعات والتقديم",cat4desc:"فتحات ضعيفة، ضعف التعامل مع الاعتراضات، غياب علامات الثقة",cat4example:"يحدد فرص الإغلاق الفائتة واللغة السلبية",tech1title:"ضغط الصوت",tech1desc:"ضغط MP3 (أصغر بنسبة 64
896%، أحادي، 16kHz) محسّن لمعالجة الكلام",tech2title:"طوابع زمنية على مستوى الكلمة",tech2desc:"طوابع زمنية دقيقة لكل كلمة باستخدام OpenAI Whisper API",tech3title:"شكل موجي تفاعلي",tech3desc:"انقر على أي خطأ للانتقال مباشرة إلى تلك اللحظة في الصوت",tech4title:"تصفية المتحدثين",tech4desc:"تصفية التحليل حسب متحدثين محددين عبر جميع علامات التبويب",tech5title:"دعم اللغات RTL",tech5desc:"عرض نص صحيح من اليمين إلى اليسار للعبرية والعربية",tech6title:"تثبيت PWA",tech6desc:"ثبّت على iPhone أو Android أو سطح المكتب لتجربة تشبه التطبيق",tech7title:"مصادقة آمنة",tech7desc:"مصادقة قائمة على الجلسة مع تجزئة كلمة مرور bcrypt وتحديد المعدل",tech8title:"امتداد Chrome",tech8desc:"نسخ نصي مباشر من Google Meet وZoom باستخدام Web Speech API"},es:{heroTitle:"Funciones Poderosas para una Mejor Comunicación",heroSub:"Todo lo que necesitas para analizar, mejorar y dominar tus habilidades de habla en más de 50 idiomas",heroBtn:"Empezar",sectionAnalysis:"Categorías de Análisis Completas",sectionTech:"Capacidades Técnicas Avanzadas",ctaTitle:"¿Listo para Mejorar tu Comunicación?",ctaSub:"Únete a miles de profesionales que usan SpeakFlare para eliminar errores al hablar y dar presentaciones con confianza",ctaBtn:"Comienza tu Viaje",exampleLabel:"Ejemplo:",feat1title:"Múltiples Métodos de Grabación",feat1desc:"Captura reuniones a través de la integración con Zoom, extensión de Chrome para Google Meet, grabación directa con micrófono o carga de archivo",feat2title:"Más de 50 Idiomas Compatibles",feat2desc:"Detección automática de idioma y análisis en hebreo, ruso, español, árabe, chino y más de 45 idiomas más",feat3title:"4 Categorías de Análisis",feat3desc:"Errores gramaticales, muletillas, problemas de claridad y debilidades en presentación/ventas — todo detectado automáticamente",feat4title:"Seguimiento del Progreso",feat4desc:"Monitorea tu mejora a lo largo del tiempo, ve qué errores has eliminado y rastrea tendencias en todas tus reuniones",feat5title:"Notificaciones Inteligentes",feat5desc:"Recibe resúmenes profesionales por email y alertas de Telegram (Pro) con información de la reunión en tu idioma",feat6title:"Procesamiento en Segundo Plano",feat6desc:"Detén la grabación al instante — el análisis ocurre en segundo plano con email automático al completarse",cat1title:"Errores Gramaticales",cat1desc:"Discordancias sujeto-verbo, problemas de tiempos verbales, errores de artículos y más",cat1example:"Detecta: 'We was working' → Sugiere: 'We were working'",cat2title:"Muletillas",cat2desc:"Rastrea 'eh', 'o sea', 'tipo', 'bueno' y muletillas específicas de cada idioma",cat2example:"Hebreo: אממ, כאילו, יאללה | Español: eh, este, o sea",cat3title:"Problemas de Claridad",cat3desc:"Oraciones complejas, frases poco claras, uso excesivo de la voz pasiva",cat3example:"Simplifica oraciones largas y enrevesadas para una mejor comprensión",cat4title:"Ventas y Presentación",cat4desc:"Aperturas débiles, manejo deficiente de objeciones, falta de marcadores de confianza",cat4example:"Identifica oportunidades de cierre perdidas y lenguaje pasivo",tech1title:"Compresión de Audio",tech1desc:"Compresión MP3 (64% más pequeño, mono, 16kHz) optimizado para el procesamiento de voz",tech2title:"Marcas de Tiempo por Palabra",tech2desc:"Marcas de tiempo precisas para cada palabra usando la API OpenAI Whisper",tech3title:"Forma de Onda Interactiva",tech3desc:"Haz clic en cualquier error para saltar directamente a ese momento en el audio",tech4title:"Filtrado de Oradores",tech4desc:"Filtra el análisis por oradores específicos en todas las pestañas",tech5title:"Soporte de Idiomas RTL",tech5desc:"Representación correcta de texto de derecha a izquierda para hebreo y árabe",tech6title:"Instalación PWA",tech6desc:"Instala en iPhone, Android o escritorio para una experiencia similar a una app",tech7title:"Autenticación Segura",tech7desc:"Autenticación basada en sesión con hash de contraseña bcrypt y limitación de velocidad",tech8title:"Extensión de Chrome",tech8desc:"Transcripción en vivo de Google Meet y Zoom usando Web Speech API"},ru:{heroTitle:"Мощные функции для лучшего общения",heroSub:"Всё необходимое для анализа, улучшения и совершенствования навыков речи на 50+ языках",heroBtn:"Начать",sectionAnalysis:"Комплексные категории анализа",sectionTech:"Расширенные технические возможности",ctaTitle:"Готовы улучшить своё общение?",ctaSub:"Присоединитесь к тысячам профессионалов, использующих SpeakFlare для устранения речевых ошибок и уверенных выступлений",ctaBtn:"Начать путь",exampleLabel:"Пример:",feat1title:"Несколько способов записи",feat1desc:"Захват встреч через интеграцию с Zoom, расширение Chrome для Google Meet, прямую запись с микрофона или загрузку файла",feat2title:"Поддержка 50+ языков",feat2desc:"Автоматическое определение языка и анализ на иврите, русском, испанском, арабском, китайском и 45+ других языках",feat3title:"4 категории анализа",feat3desc:"Грамматические ошибки, слова-паразиты, проблемы ясности и слабости в презентации/продажах — всё определяется автоматически",feat4title:"Отслеживание прогресса",feat4desc:"Следите за своим улучшением, смотрите какие ошибки устранены, и отслеживайте тенденции по всем встречам",feat5title:"Умные уведомления",feat5desc:"Получайте профессиональные сводки по email и уведомления Telegram (Pro) с данными встречи на вашем языке",feat6title:"Фоновая обработка",feat6desc:"Останавливайте запись мгновенно — анализ происходит в фоне с автоматическим email по завершении",cat1title:"Грамматические ошибки",cat1desc:"Несогласование подлежащего и сказуемого, проблемы с временами, ошибки с артиклями и др.",cat1example:"Обнаруживает: 'We was working' → Предлагает: 'We were working'",cat2title:"Слова-паразиты",cat2desc:"Отслеживайте 'эм', 'ну', 'типа', 'короче' и специфические для языка слова-паразиты",cat2example:"Иврит: אממ, כאילו, יאללה | Испанский: eh, este, o sea",cat3title:"Проблемы ясности",cat3desc:"Сложные предложения, нечёткие фразы, избыточное использование пассивного залога",cat3example:"Упрощает длинные, запутанные предложения для лучшего понимания",cat4title:"Продажи и презентации",cat4desc:"Слабые вступления, плохая работа с возражениями, отсутствие маркеров уверенности",cat4example:"Определяет упущенные возможности закрытия и пассивный язык",tech1title:"Сжатие аудио",tech1desc:"Сжатие MP3 (на 64% меньше, моно, 16кГц) оптимизировано для обработки речи",tech2title:"Метки времени на уровне слов",tech2desc:"Точные метки времени для каждого слова с использованием OpenAI Whisper API",tech3title:"Интерактивная волновая форма",tech3desc:"Нажмите на любую ошибку, чтобы перейти прямо к этому моменту в аудио",tech4title:"Фильтрация по доÐ
896ºÐ»Ð°Ð´Ñ‡Ð¸ÐºÐ°Ð¼",tech4desc:"Фильтруйте анализ по конкретным докладчикам на всех вкладках",tech5title:"Поддержка RTL-языков",tech5desc:"Корректное отображение текста справа налево для иврита и арабского",tech6title:"Установка PWA",tech6desc:"Установите на iPhone, Android или рабочий стол для работы как в приложении",tech7title:"Безопасная аутентификация",tech7desc:"Сессионная аутентификация с хешированием паролей bcrypt и ограничением запросов",tech8title:"Расширение Chrome",tech8desc:"Живая транскрипция из Google Meet и Zoom с использованием Web Speech API"}};function t6e(e){return EM[e]||EM.en}function cS(){const[,e]=ze(),t=St(),r=t6e(t),a=t==="he"||t==="ar",s=[{icon:ca,title:r.feat1title,description:r.feat1desc,color:"text-blue-600 dark:text-blue-400"},{icon:ti,title:r.feat2title,description:r.feat2desc,color:"text-green-600 dark:text-green-400"}
896,{icon:_t,title:r.feat3title,description:r.feat3desc,color:"text-purple-600 dark:text-purple-400"},{icon:it,title:r.feat4title,description:r.feat4desc,color:"text-orange-600 dark:text-orange-400"},{icon:Ht,title:r.feat5title,description:r.feat5desc,color:"text-pink-600 dark:text-pink-400"},{icon:vn,title:r.feat6title,description:r.feat6desc,color:"text-indigo-600 dark:text-indigo-400"}],i=[{title:r.tech1title,description:r.tech1desc},{title:r.tech2title,description:r.tech2desc},{title:r.tech3title,description:r.tech3desc},{title:r.tech4title,description:r.tech4desc},{title:r.tech5title,description:r.tech5desc},{title:r.tech6title,description:r.tech6desc},{title:r.tech7title,description:r.tech7desc},{title:r.tech8title,description:r.tech8desc}],o=[{icon:tn,title:r.cat1title,description:r.cat1desc,example:r.cat1example,color:"text-red-600 dark:text-red-400"},{icon:oc,title:r.cat2title,description:r.cat2desc,example:r.cat2example,color:"text-yellow-600 dark:text-yellow-400"},{icon:oc,title:r.cat3title,description:r.cat3desc,example:r.cat3example,color:"text-blue-600 dark:text-blue-400"},{icon:rr,title:r.cat4title,description:r.cat4desc,example:r.cat4example,color:"text-orange-600 dark:text-orange-400"}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Features - AI Speech Analysis, Filler Words, Grammar & More | SpeakFlare",description:"SpeakFlare features: real-time filler word detection, grammar error analysis, clarity scoring, per-speaker analysis, sales pitch evaluation, and progress tracking in 50+ languages.",canonical:"https://speakflare.com/features",keywords:"filler word detection, grammar error analysis, speech clarity, sales pitch analysis, speaker diarization, communication improvement features, 50 languages speech analysis, zoom recording analysis",pageType:"page",breadcrumbs:[{name:"Features",url:"https://speakflare.com/features"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-3xl mx-auto mb-8",children:r.heroSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-get-started",children:r.heroBtn})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-20",children:s.map((l,c)=>n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(l.icon,{className:`h-12 w-12 ${l.color} mb-4`}),n.jsx("h3",{className:"text-xl font-bold mb-2",children:l.title}),n.jsx("p",{className:"text-muted-foreground text-sm",children:l.description})]},c))}),n.jsxs("div",{className:"mb-20",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:r.sectionAnalysis}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:o.map((l,c)=>n.jsx(X,{className:"p-8",children:n.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[n.jsx("div",{className:"p-3 bg-primary/10 rounded-md",children:n.jsx(l.icon,{className:`h-6 w-6 ${l.color}`})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold mb-2",children:l.title}),n.jsx("p",{className:"text-muted-foreground text-sm mb-3",children:l.description}),n.jsxs("div",{className:"text-xs bg-muted p-3 rounded-md",children:[n.jsx("strong",{children:r.exampleLabel})," ",l.example]})]})]})},c))})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:r.sectionTech}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:i.map((l,c)=>n.jsxs(X,{className:"p-4",children:[n.jsx("h3",{className:"font-bold mb-2 text-sm",children:l.title}),n.jsx("p",{className:"text-xs text-muted-foreground",children:l.description})]},c))})]}),n.jsxs("div",{className:"text-center bg-card border border-border rounded-md p-6 sm:p-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:r.ctaTitle}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-2xl mx-auto",children:r.ctaSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-cta-signup",children:r.ctaBtn})]})]}),n.jsx(mW,{className:"border-t border-border/50"})]})}var SZ={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},IM=L.createContext&&L.createContext(SZ),r6e=["attr","size","title"];function n6e(e,t){if(e==null)return{};var r=a6e(e,t),a,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)a=i[s],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function a6e(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function vv(){return vv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},vv.apply(this,arguments)}function _M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,a)}return r}function bv(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};
vendor: 4,886 bytes, line 896
896t%2?_M(Object(r),!0).forEach(function(a){s6e(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_M(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function s6e(e,t,r){return t=i6e(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i6e(e){var t=o6e(e,"string");return typeof t=="symbol"?t:t+""}function o6e(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function CZ(e){return e&&e.map((t,r)=>L.createElement(t.tag,bv({key:r},t.attr),CZ(t.child)))}function A0(e){return t=>L.createElement(l6e,vv({attr:bv({},e.attr)},t),CZ(e.child))}function l6e(e){var t=r=>{var{attr:a,size:s,title:i}=e,o=n6e(e,r6e),l=s||r.size||"1em",c;return r.className&&(c=r.className),e.className&&(c=(c?c+" ":"")+e.className),L.createElement("svg",vv({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,a,o,{className:c,style:bv(bv({color:e.color||r.color},r.style),e.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),i&&L.createElement("title",null,i),e.children)};return IM!==void 0?L.createElement(IM.Consumer,null,r=>t(r)):t(SZ)}function c6e(e){return A0({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5.53 2.13 0 7.75h5.53zm.398 0v5.62h7.608v3.65l5.47-4.45c-.014-1.22.031-2.25-.025-3.46-.148-1.09-1.287-1.47-2.236-1.36zM23.1 4.32c-.802.295-1.358.995-2.047 1.49-2.506 2.05-4.982 4.12-7.468 6.19 3.025 2.59 6.04 5.18 9.065 7.76 1.218.671 1.428-.814 1.328-1.64v-13a.828.828 0 0 0-.877-.825zM.038 8.15v7.7h5.53v-7.7zm13.577 8.1H6.008v5.62c3.864-.006 7.737.011 11.58-.009 1.02-.07 1.618-1.12 1.468-2.07v-2.51l-5.47-4.68v3.65zm-13.577 0c.02 1.44-.041 2.88.033 4.31.162.948 1.158 1.43 2.047 1.31h3.464v-5.62z"},child:[]}]})(e)}function d6e(e){return A0({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"},child:[]}]})(e)}function u6e(e){return A0({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"},child:[]}]})(e)}function m6e(e){return A0({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M5.033 14.649H.743a.74.74 0 0 1-.686-.458.74.74 0 0 1 .16-.808L3.19 10.41H1.06A1.06 1.06 0 0 1 0 9.35h3.957c.301 0 .57.18.686.458a.74.74 0 0 1-.161.808L1.51 13.59h2.464c.585 0 1.06.475 1.06 1.06zM24 11.338c0-1.14-.927-2.066-2.066-2.066-.61 0-1.158.265-1.537.686a2.061 2.061 0 0 0-1.536-.686c-1.14 0-2.066.926-2.066 2.066v3.311a1.06 1.06 0 0 0 1.06-1.06v-2.251a1.004 1.004 0 0 1 2.013 0v2.251c0 .586.474 1.06 1.06 1.06v-3.3
89611a1.004 1.004 0 0 1 2.012 0v2.251c0 .586.475 1.06 1.06 1.06zM16.265 12a2.728 2.728 0 1 1-5.457 0 2.728 2.728 0 0 1 5.457 0zm-1.06 0a1.669 1.669 0 1 0-3.338 0 1.669 1.669 0 0 0 3.338 0zm-4.82 0a2.728 2.728 0 1 1-5.458 0 2.728 2.728 0 0 1 5.457 0zm-1.06 0a1.669 1.669 0 1 0-3.338 0 1.669 1.669 0 0 0 3.338 0z"},child:[]}]})(e)}const MM={en:{heroTitle:"Integrations & Connections",heroSub:"Connect with your favorite meeting platforms and get insights automatically",captureHeading:"Multiple Ways to Capture Meetings",integrationsHeading:"Available Integrations",comingSoonHeading:"Coming Soon",ctaTitle:"Ready to Connect Your Meetings?",ctaSub:"Start analyzing your meetings today with seamless integrations",ctaBtn:"Get Started",statusAvailable:"Available",statusPro:"Pro Only",statusBuiltIn:"Built-in",statusComingSoon:"Coming Soon",int1name:"Zoom",int1desc:"Automatic cloud recording capture via webhooks and OAuth",int1status:"Available",int1feat1:"Automatic transcription",int1feat2:"Cloud recording sync",int1feat3:"Webhook integration",int2name:"Google Meet",int2desc:"Live transcription through Chrome extension using Web Speech API",int2status:"Available",int2feat1:"Real-time capture",int2feat2:"Browser-based",int2feat3:"50+ languages",int3name:"Chrome Extension",int3desc:"Manifest V3 extension for live meeting transcription",int3status:"Available",int3feat1:"Google Meet support",int3feat2:"Zoom web client",int3feat3:"Instant upload",int4name:"Telegram Notifications",int4desc:"Meeting summaries delivered via Telegram (Pro plan)",int4status:"Pro Only",int4feat1:"Instant alerts",int4feat2:"Multilingual",int4feat3:"Rich formatting",int5name:"Email Notifications",int5desc:"Professional HTML email summaries with Resend API",int5status:"Available",int5feat1:"Meeting summaries",int5feat2:"RTL support",int5feat3:"All languages",int6name:"OpenAI Whisper",int6desc:"Speech-to-text with word-level timestamps and auto-language detection",int6status:"Built-in",int6feat1:"50+ languages",int6feat2:"Word timestamps",int6feat3:"High accuracy",cs1name:"Microsoft Teams",cs1desc:"Direct Teams integration via Microsoft Graph API",cs2name:"Webex",cs2desc:"Cisco Webex meeting analysis and recording capture",cs3name:"Slack",cs3desc:"Post meeting summaries directly to Slack channels",rm1title:"Zoom Integration",rm1desc:"Connect your Zoom account for automatic cloud recording analysis",rm1method:"OAuth + Webhooks",rm2title:"Chrome Extension",rm2desc:"Install our extension to capture Google Meet and Zoom web calls live",rm2method:"Browser Extension",rm3title:"Live Recording",rm3desc:"Record directly from your microphone through the dashboard",rm3method:"MediaRecorder API",rm4title:"File Upload",rm4desc:"Upload existing audio/video files for analysis",rm4method:"Multiple Formats"},he:{heroTitle:"אינטגרציות וחיבורים",heroSub:"התחבר לפלטפורמות הפגישות המועדפות עליך וקבל תובנות אוטומטית",captureHeading:"דרכים מרובות לצלם פגישות",integrationsHeading:"אינטגרציות זמינות",comingSoonHeading:"בקרוב",ctaTitle:"מוכן לחבר את הפגישות שלך?",ctaSub:"התחל לנתח את הפגישות שלך היום עם אינטגרציות חלקות",ctaBtn:"התחל עכשיו",statusAvailable:"זמין",statusPro:"Pro בלבד",statusBuiltIn:"מובנה",statusComingSoon:"בקרוב",int1name:"Zoom",int1desc:"לכידת הקלטות ענן אוטומטית דרך webhooks ו-OAuth",int1status:"זמין",int1feat1:"תמלול אוטומטי",int1feat2:"סנכרון הקלטות ענן",int1feat3:"אינטגרציית Webhook",int2name:"Google Meet",int2desc:"תמלול חי דרך תוסף Chrome באמצעות Web Speech API",int2status:"זמין",int2feat1:"לכידה בזמן אמת",int2feat2:"מבוסס-דפדפן",int2feat3:"50+ שפות",int3name:"תוסף Chrome",int3desc:"תוסף Manifest V3 לתמלול פגישות חי",int3status:"זמין",int3feat1:"תמיכה ב-Google Meet",int3feat2:"לקוח Zoom Web",int3feat3:"העלאה מיידית",int4name:"התראות Telegram",int4desc:"סיכומי פגישות שנמסרים דרך Telegram (תוכנית Pro)",int4status:"Pro בלבד",int4feat1:"התראות מיידיות",int4feat2:"רב-לשוני",int4feat3:"עיצוב עשיר",int5name:"התראות אימייל",int5desc:"סיכומי אימייל HTML מקצועיים עם Resend API",int5status:"זמין",int5feat1:"סיכומי פגישות",int5feat2:"תמיכה ב-RTL",int5feat3:"כל השפות",int6name:"OpenAI Whisper",int6desc:"דיבור לטקסט עם חותמות זמן ברמת מילה וזיהוי שפה אוטומטי",int6status:"מובנה",int6feat1:"50+ שפות",int6feat2:"חותמות זמן מילים",int6feat3:"דיוק גבוה",cs1name:"Microsoft Teams",cs1desc:"אינטגרציה ישירה עם Teams דרך Microsoft Graph API",cs2name:"Webex",cs2desc:"ניתוח פגישות ולכידת הקלטות Cisco Webex",cs3name:"Slack",cs3desc:"שליחת סיכומי פגישות ישירות לערוצי Slack",rm1title:"אינטגרציית Zoom",rm1desc:"חבר את חשבון Zoom שלך לניתוח הקלטות ענן אוטומטי",rm1method:"OAuth + Webhooks",rm2title:"תוסף Chrome",rm2desc:"התקן את התוסף שלנו ללכידת שיחות Google Meet ו-Zoom Web חיות",rm2method:"תוסף דפדפן",rm3title:"הקלטה חיה",rm3desc:"הקלט ישירות מהמיקרופון שלך דרך לוח הבקרה",rm3method:"MediaRecorder API",rm4title:"העלאת קובץ",rm4desc:"העלה קבצי אודיו/וידאו קיימים לניתוח",rm4method:"פורמטים מרובים"},ar:{heroTitle:"التكاملات والاتصالات",heroSub:"اربط منصات الاجتماعات المفضلة لديك واحصل على رؤى تلقائياً",captureHeading:"طرق متعددة لالتقاط الاجتماعات",integrationsHeading:"التكاملات المتاحة",comingSoonHeading:"قريباً",ctaTitle:"هل أنت مستعد لربط اجتماعاتك؟",ctaSub:"ابدأ تحليل اجتماعاتك اليوم مع تكاملات سلسة",ctaBtn:"ابدأ الآن",statusAvailable:"متاح",statusPro:"Pro فقط",statusBuiltIn:"مدمج",statusComingSoon:"قريباً",int1name:"Zoom",int1desc:"التقاط التسجيلات السحابية تلقائياً عبر webhooks و OAuth",int1status:"متاح",int1feat1:"نسخ تلقائي",int1feat2:"مزامنة التسجيلات السحابية",int1feat3:"تكامل Webhook",int2name:"Google Meet",int2desc:"نسخ مباشر عبر إضافة Chrome باستخدام Web Speech API",int2status:"متاح",int2feat1:"التقاط في الوقت الفعلي",int2feat2:"قائم على المتصفح",int2feat3:"50+ لغة",int3name:"إضافة Chrome",int3desc:"إضافة Manifest V3 للنسخ المباشر للاجتماعات",int3status:"متاح",int3feat1:"دعم Google Meet",int3feat2:"عميل Zoom Web",int3feat3:"رفع فوري",int4name:"إشعارات Telegram",int4desc:"ملخصات الاجتماعات تُرسل عبر Telegram (خطة Pro)",int4status:"Pro فقط",int4feat1:"تنبيهات فورية",int4feat2:"متعدد اللغات",int4feat3:"تنسيق غني",int5name:"إشعارات البريد الإلكتروني",int5desc:"ملخصات بريد إلكتروني HTML احترافية مع Resend API",int5status:"متاح",int5feat1:"ملخصات الاجتماعات",int5feat2:"دعم RTL",
896int5feat3:"جميع اللغات",int6name:"OpenAI Whisper",int6desc:"تحويل الكلام إلى نص مع طوابع زمنية على مستوى الكلمة واكتشاف اللغة تلقائياً",int6status:"مدمج",int6feat1:"50+ لغة",int6feat2:"طوابع زمنية للكلمات",int6feat3:"دقة عالية",cs1name:"Microsoft Teams",cs1desc:"تكامل مباشر مع Teams عبر Microsoft Graph API",cs2name:"Webex",cs2desc:"تحليل اجتماعات Cisco Webex والتقاط التسجيلات",cs3name:"Slack",cs3desc:"نشر ملخصات الاجتماعات مباشرة في قنوات Slack",rm1title:"تكامل Zoom",rm1desc:"اربط حساب Zoom الخاص بك لتحليل التسجيلات السحابية تلقائياً",rm1method:"OAuth + Webhooks",rm2title:"إضافة Chrome",rm2desc:"ثبّت إضافتنا لالتقاط مكالمات Google Meet و Zoom Web مباشرة",rm2method:"إضافة متصفح",rm3title:"التسجيل المباشر",rm3desc:"سجّل مباشرة من الميكروفون عبر لوحة التحكم",rm3method:"MediaRecorder API",rm4title:"رفع ملف",rm4desc:"ارفع ملفات الصوت/الفيديو الموجودة للتحليل",rm4method:"صيغ متعددة"},es:{heroTitle:"Integraciones y Conexiones",heroSub:"Conecta con tus plataformas de reuniones favoritas y obtén insights automáticamente",captureHeading:"Múltiples formas de capturar reuniones",integrationsHeading:"Integraciones disponibles",comingSoonHeading:"Próximamente",ctaTitle:"¿Listo para conectar tus reuniones?",ctaSub:"Empieza a analizar tus reuniones hoy con integraciones perfectas",ctaBtn:"Comenzar",statusAvailable:"Disponible",statusPro:"Solo Pro",statusBuiltIn:"Integrado",statusComingSoon:"Próximamente",int1name:"Zoom",int1desc:"Captura automática de grabaciones en la nube mediante webhooks y OAuth",int1status:"Disponible",int1feat1:"Transcripción automática",int1feat2:"Sincronización de grabaciones en la nube",int1feat3:"Integración Webhook",int2name:"Google Meet",int2desc:"Transcripción en vivo mediante extensión de Chrome usando Web Speech API",int2status:"Disponible",int2feat1:"Captura en tiempo real",int2feat2:"Basado en navegador",int2feat3:"50+ idiomas",int3name:"Extensión de Chrome",int3desc:"Extensión Manifest V3 para transcripción en vivo de reuniones",int3status:"Disponible",int3feat1:"Soporte para Google Meet",int3feat2:"Cliente web de Zoom",int3feat3:"Subida instantánea",int4name:"Notificaciones de Telegram",int4desc:"Resúmenes de reuniones entregados por Telegram (plan Pro)",int4status:"Solo Pro",int4feat1:"Alertas instantáneas",int4feat2:"Multilingüe",int4feat3:"Formato enriquecido",int5name:"Notificaciones por Email",int5desc:"Resúmenes de email HTML profesionales con Resend API",int5status:"Disponible",int5feat1:"Resúmenes de reuniones",int5feat2:"Soporte RTL",int5feat3:"Todos los idiomas",int6name:"OpenAI Whisper",int6desc:"Voz a texto con marcas de tiempo a nivel de palabra y detección automática de idioma",int6status:"Integrado",int6feat1:"50+ idiomas",int6feat2:"Marcas de tiempo por palabra",int6feat3:"Alta precisión",cs1name:"Microsoft Teams",cs1desc:"Integración directa con Teams mediante Microsoft Graph API",cs2name:"Webex",cs2desc:"Análisis de reuniones Cisco Webex y captura de grabaciones",cs3name:"Slack",cs3desc:"Publica resúmenes de reuniones directamente en canales de Slack",rm1title:"Integración de Zoom",rm1desc:"Conecta tu cuenta de Zoom para análisis automático de grabaciones en la nube",rm1method:"OAuth + Webhooks",rm2title:"Extensión de Chrome",rm2desc:"Instala nuestra extensión para capturar llamadas de Google Meet y Zoom web en vivo",rm2method:"Extensión de navegador",rm3title:"Grabación en vivo",rm3desc:"Graba directamente desde tu micrófono a través del panel",rm3method:"MediaRecorder API",rm4title:"Subida de archivo",rm4desc:"Sube archivos de audio/video existentes para análisis",rm4method:"Múltiples formatos"},ru:{heroTitle:"Интеграции и подключения",heroSub:"Подключайтесь к любимым платформам для встреч и получайте аналитику автоматически",captureHeading:"Несколько способов записи встреч",integrationsHeading:"Доступные интеграции",comingSoonHeading:"Скоро",ctaTitle:"Готовы подключить свои встречи?",ctaSub:"Начните анализировать встречи сегодня с бесшовными интеграциями",ctaBtn:"Начать",statusAvailable:"Доступно",statusPro:"Только Pro",statusBuiltIn:"Встроено",statusComingSoon:"Скоро",int1name:"Zoom",int1desc:"Автоматический захват облачных записей через webhooks и OAuth",int1status:"Доступно",int1feat1:"Автоматическая транскрипция",int1feat2:"Синхронизация облачных записей",int1feat3:"Интеграция Webhook",int2name:"Google Meet",int2desc:"Живая транскрипция через расширение Chrome с помощью Web Speech API",int2status:"Доступно",int2feat1:"Захват в реальном времени",int2feat2:"На основе браузера",int2feat3:"50+ языков",int3name:"Расширение Chrome",int3desc:"Расширение Manifest V3 для живой транскрипции встреч",int3status:"Доступно",int3feat1:"Поддержка Google Meet",int3feat2:"Веб-клиент Zoom",int3feat3:"Мгновенная загрузка",int4name:"Уведомления Telegram",int4desc:"Сводки встреч доставляются через Telegram (тариф Pro)",int4status:"Только Pro",int4feat1:"Мгновенные оповещения",int4feat2:"Многоязычный",int4feat3:"Богатое форматирование",int5name:"Email-уведомления",int5desc:"Профессиональные HTML-сводки по электронной почте через Resend API",int5status:"Доступно",int5feat1:"Сводки встреч",int5feat2:"Поддержка RTL",int5feat3:"Все языки",int6name:"OpenAI Whisper",int6desc:"Речь в текст с временными метками Ð
896½Ð° уровне слова и автоопределением языка",int6status:"Встроено",int6feat1:"50+ языков",int6feat2:"Временные метки слов",int6feat3:"Высокая точность",cs1name:"Microsoft Teams",cs1desc:"Прямая интеграция с Teams через Microsoft Graph API",cs2name:"Webex",cs2desc:"Анализ встреч Cisco Webex и захват записей",cs3name:"Slack",cs3desc:"Публикация сводок встреч прямо в каналы Slack",rm1title:"Интеграция Zoom",rm1desc:"Подключите аккаунт Zoom для автоматического анализа облачных записей",rm1method:"OAuth + Webhooks",rm2title:"Расширение Chrome",rm2desc:"Установите наше расширение для захвата звонков Google Meet и Zoom в реальном времени",rm2method:"Расширение браузера",rm3title:"Живая запись",rm3desc:"Записывайте прямо с микрофона через панель управления",rm3method:"MediaRecorder API",rm4title:"Загрузка файла",rm4desc:"Загружайте существующие аудио/видео файлы для анализа",rm4method:"Несколько форматов"}};function h6e(e){return MM[e]||MM.en}function dS(){const[,e]=ze(),t=St(),r=h6e(t),a=t==="he"||t==="ar",s=[{icon:m6e,name:r.int1name,description:r.int1desc,status:r.int1status,rawStatus:"Available",features:[r.int1feat1,r.int1feat2,r.int1feat3],color:"text-blue-600 dark:text-blue-400"},{icon:c6e,name:r.int2name,description:r.int2desc,status:r.int2status,rawStatus:"Available",features:[r.int2feat1,r.int2feat2,r.int2feat3],color:"text-green-600 dark:text-green-400"},{icon:ki,name:r.int3name,description:r.int3desc,status:r.int3status,rawStatus:"Available",features:[r.int3feat1,r.int3feat2,r.int3feat3],color:"text-yellow-600 dark:text-yellow-400"},{icon:u6e,name:r.int4name,description:r.int4desc,status:r.int4status,rawStatus:"Pro Only",features:[r.int4feat1,r.int4feat2,r.int4feat3],color:"text-sky-500 dark:text-sky-400"},{icon:Ht,name:r.int5name,description:r.int5desc,status:r.int5status,rawStatus:"Available",features:[r.int5feat1,r.int5feat2,r.int5feat3],color:"text-purple-600 dark:text-purple-400"},{icon:d6e,name:r.int6name,description:r.int6desc,status:r.int6status,rawStatus:"Built-in",features:[r.int6feat1,r.int6feat2,r.int6feat3],color:"text-gray-800 dark:text-gray-200"}],i=[{icon:ys,title:r.rm1title,description:r.rm1desc,method:r.rm1method},{icon:ki,title:r.rm2title,description:r.rm2desc,method:r.rm2method},{icon:Ze,title:r.rm3title,description:r.rm3desc,method:r.rm3method},{icon:Pd,title:r.rm4title,description:r.rm4desc,method:r.rm4method}],o=[{icon:ca,name:r.cs1name,description:r.cs1desc},{icon:Ur,name:r.cs2name,description:r.cs2desc},{icon:tn,name:r.cs3name,description:r.cs3desc}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Integrations - Zoom, Google Meet, Telegram & More | SpeakFlare",description:"SpeakFlare integrates with Zoom (automatic cloud recordings), Google Meet (Chrome extension), Telegram notifications, and file upload. Start analyzing meetings automatically.",canonical:"https://speakflare.com/integrations",keywords:"SpeakFlare Zoom integration, Google Meet analysis, Telegram meeting notifications, Chrome extension speech analysis, automatic recording analysis, meeting integrations",pageType:"page",breadcrumbs:[{name:"Integrations",url:"https://speakflare.com/integrations"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-3xl mx-auto",children:r.heroSub})]}),n.jsxs("div",{className:"mb-20",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.captureHeading}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:i.map((l,c)=>n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(l.icon,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"font-bold mb-2",children:l.title}),n.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:l.description}),n.jsx("div",{className:"text-xs bg-muted px-2 py-1 rounded inline-block",children:l.method})]},c))})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.integrationsHeading}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:s.map((l,c)=>n.jsxs(X,{className:"p-6",children:[n.jsxs("div",{className:"flex items-start justify-between mb-4",children:[n.jsx(l.icon,{className:`h-12 w-12 ${l.color}`}),n.jsx("span",{className:`text-xs px-2 py-1 rounded ${l.rawStatus==="Available"?"bg-green-100 dark:bg-green-950/50 text-green-700 dark:text-green-400":l.rawStatus==="Pro Only"?"bg-purple-100 dar
896k:bg-purple-950/50 text-purple-700 dark:text-purple-400":"bg-blue-100 dark:bg-blue-950/50 text-blue-700 dark:text-blue-400"}`,children:l.status})]}),n.jsx("h3",{className:"text-xl font-bold mb-2",children:l.name}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:l.description}),n.jsx("ul",{className:"space-y-2",children:l.features.map((d,u)=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(gn,{className:"h-4 w-4 text-green-600 dark:text-green-400 flex-shrink-0"}),n.jsx("span",{children:d})]},u))})]},c))})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.comingSoonHeading}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:o.map((l,c)=>n.jsxs(X,{className:"p-6 opacity-70",children:[n.jsxs("div",{className:"flex items-start justify-between mb-4",children:[n.jsx(l.icon,{className:"h-10 w-10 text-muted-foreground"}),n.jsx("span",{className:"text-xs px-2 py-1 rounded bg-muted text-muted-foreground",children:r.statusComingSoon})]}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:l.name}),n.jsx("p",{className:"text-sm text-muted-foreground",children:l.description})]},c))})]}),n.jsxs("div",{className:"text-center bg-card border border-border rounded-3xl p-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:r.ctaTitle}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-2xl mx-auto",children:r.ctaSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-get-started",children:r.ctaBtn})]})]})]})}const OM={en:{pwaBadge:"Progressive Web App",heroTitle:"SpeakFlare on Mobile",heroSub:"Install SpeakFlare as a mobile app on any device. Works on iPhone, Android, and desktop with full offline support.",getStarted:"Get Started",featuresTitle:"Mobile App Features",features:[{title:"Instant Access",description:"Access your meetings and insights anywhere, anytime from your mobile device"},{title:"Offline Support",description:"PWA technology allows viewing previously loaded content offline"},{title:"Push Notifications",description:"Get instant alerts when your meeting analysis is complete"},{title:"Full Analytics",description:"View complete meeting analysis, progress tracking, and detailed insights"},{title:"Pull to Refresh",description:"Bidirectional pull-to-refresh from top or bottom for quick updates"},{title:"Auto-Updates",description:"Network-first caching with automatic app updates every 60 seconds"}],howToInstall:"How to Install",platforms:[{platform:"iPhone / iPad (iOS)",steps:["Open SpeakFlare in Safari browser","Tap the Share button (square with arrow)","Scroll down and tap 'Add to Home Screen'","Tap 'Add' in the top right corner","The app icon will appear on your home screen"]},{platform:"Android",steps:["Open SpeakFlare in Chrome browser","Tap the menu button (three dots)","Tap 'Add to Home screen' or 'Install app'","Confirm by tapping 'Add' or 'Install'","Launch the app from your home screen"]},{platform:"Desktop (Chrome/Edge)",steps:["Open SpeakFlare in your browser","Look for the install icon in the address bar","Click 'Install' when prompted","Or use the browser menu: More Tools > Install","Access the app from your desktop or taskbar"]}],whyInstall:"Why Install as an App?",benefits:[{title:"Faster Loading",description:"Cached resources mean instant loading and better performance"},{title:"Native Experience",description:"Feels like a real app with full-screen mode and smooth animations"},{title:"Easy Access",description:"Launch from your home screen - no need to type the URL"},{title:"Offline Viewing",description:"Previously loaded content remains accessible without internet"}],ctaTitle:"Ready to Install?",ctaSub:"Get the full SpeakFlare experience on your mobile device"},he:{pwaBadge:"אפליקציית ווב פרוגרסיבית",heroTitle:"SpeakFlare במובייל",heroSub:"התקן את SpeakFlare כאפליקציה בכל מכשיר. עובד על iPhone, Android ומחשב עם תמיכה מלאה אופליין.",getStarted:"התחל",featuresTitle:"תכונות האפליקציה הניידת",features:[{title:"גישה מיידית",description:"גש לפגישות ולתובנות שלך מכל מקום ובכל עת ממכשיר הנייד שלך"},{title:"תמיכה אופליין",description:"טכנולוגיית PWA מאפשרת צפייה בתוכן שנטען קודם לכן גם ללא אינטרנט"},{title:"התראות Push",description:"קבל התראות מיידיות כשניתוח הפגישה שלך הושלם"},{title:"אנליטיקה מלאה",description:"צפה בניתוח פגישה מלא, מעקב התקדמות ותובנות מפורטות"},{title:"משיכה לרענון",description:"משיכה דו-כיוונית — מלמעלה או מלמטה — לעדכונים מהירים"},{title:"עדכונים אוטומטיים",description:"שמירה במטמון עם עדכוני אפליקציה אוטומטיים כל 60 שניות"}
896],howToInstall:"כיצד להתקין",platforms:[{platform:"iPhone / iPad (iOS)",steps:["פתח את SpeakFlare בדפדפן Safari","הקש על כפתור Share (ריבוע עם חץ)","גלול מטה והקש על 'Add to Home Screen'","הקש על 'Add' בפינה הימנית העליונה","סמל האפליקציה יופיע על מסך הבית שלך"]},{platform:"Android",steps:["פתח את SpeakFlare בדפדפן Chrome","הקש על כפתור התפריט (שלוש נקודות)","הקש על 'הוסף למסך הבית' או 'התקן אפליקציה'","אשר בהקשה על 'הוסף' או 'התקן'","הפעל את האפליקציה ממסך הבית שלך"]},{platform:"מחשב (Chrome/Edge)",steps:["פתח את SpeakFlare בדפדפן שלך","חפש את סמל ההתקנה בשורת הכתובת","לחץ על 'התקן' כשמוצג","או השתמש בתפריט הדפדפן: כלים נוספים > התקן","גש לאפליקציה מהשולחן העבודה או שורת המשימות"]}],whyInstall:"למה להתקין כאפליקציה?",benefits:[{title:"טעינה מהירה יותר",description:"משאבים שמורים במטמון מאפשרים טעינה מיידית וביצועים טובים יותר"},{title:"חוויה מקורית",description:"מרגיש כמו אפליקציה אמיתית עם מצב מסך מלא ואנימציות חלקות"},{title:"גישה קלה",description:"הפעל ממסך הבית — אין צורך להקליד את הכתובת"},{title:"צפייה אופליין",description:"תוכן שנטען קודם לכן נשאר נגיש גם ללא אינטרנט"}],ctaTitle:"מוכן להתקין?",ctaSub:"קבל את חוויית SpeakFlare המלאה במכשיר הנייד שלך"},ar:{pwaBadge:"تطبيق ويب تقدمي",heroTitle:"SpeakFlare على الجوال",heroSub:"ثبّت SpeakFlare كتطبيق جوال على أي جهاز. يعمل على iPhone وAndroid وسطح المكتب مع دعم كامل للعمل دون اتصال.",getStarted:"ابدأ",featuresTitle:"مميزات تطبيق الجوال",features:[{title:"وصول فوري",description:"ادخل إلى اجتماعاتك ورؤاك في أي مكان وأي وقت من جهازك المحمول"},{title:"دعم بدون اتصال",description:"تقنية PWA تتيح عرض المحتوى المحمّل مسبقاً بدون إنترنت"},{title:"إشعارات فورية",description:"احصل على تنبيهات فورية عند اكتمال تحليل اجتماعك"},{title:"تحليلات كاملة",description:"عرض تحليل الاجتماع الكامل وتتبع التقدم والرؤى التفصيلية"},{title:"اسحب للتحديث",description:"سحب ثنائي الاتجاه من الأعلى أو الأسفل للتحديثات السريعة"},{title:"تحديثات تلقائية",description:"تخزين مؤقت بأولوية الشبكة مع تحديثات تلقائية كل 60 ثانية"}],howToInstall:"كيفية التثبيت",platforms:[{platform:"iPhone / iPad (iOS)",steps:["افتح SpeakFlare في متصفح Safari","اضغط زر Share (مربع مع سهم)","اسحب للأسفل واضغط 'Add to Home Screen'","اضغط 'Add' في الزاوية اليمنى العليا","سيظهر أيقونة التطبيق على شاشتك الرئيسية"]},{platform:"Android",steps:["افتح SpeakFlare في متصفح Chrome","اضغط زر القائمة (ثلاث نقاط)","اضغط 'إضافة إلى الشاشة الرئيسية' أو 'تثبيت التطبيق'","أكد بالضغط على 'إضافة' أو 'تثبيت'","شغّل التطبيق من شاشتك الرئيسية"]},{platform:"سطح المكتب (Chrome/Edge)",steps:["افتح SpeakFlare في متصفحك","ابحث عن أيقونة التثبيت في شريط العنوان","انقر 'تثبيت' عند الطلب","أو استخدم قائمة المتصفح: أدوات إضافية > تثبيت","ادخل إلى التطبيق من سطح المكتب أو شريط المهام"]}],whyInstall:"لماذا تثبّت كتطبيق؟",benefits:[{title:"تحميل أسرع",description:"الموارد المخزنة مؤقتاً تعني تحميلاً فورياً وأداءً أفضل"},{title:"تجربة أصيلة",description:"يبدو كتطبيق حقيقي مع وضع الشاشة الكاملة والرسوم المتحركة السلسة"},{title:"وصول سهل",description:"شغّله من شاشتك الرئيسية — لا حاجة لكتابة الرابط"},{title:"عرض بدون اتصال",description:"المحتوى المحمّل مسبقاً يبقى متاحاً بدون إنترنت"}],ctaTitle:"هل أنت مستعد للتثبيت؟",ctaSub:"احصل على تجربة SpeakFlare الكاملة على جهازك المحمول"},es:{pwaBadge:"Aplicación Web Progresiva",heroTitle:"SpeakFlare en Móvil",heroSub:"Instala SpeakFlare como app móvil en cualquier dispositivo. Funciona en iPhone, Android y escritorio con soporte offline completo.",getStarted:"Comenzar",featuresTitle:"Funciones de la App Móvil",features:[{title:"Acceso Instantáneo",description:"Accede a tus reuniones e insights en cualquier lugar y momento desde tu móvil"},{title:"Soporte Offline",description:"La tecnología PWA permite ver contenido cargado previamente sin conexión"},{title:"Notificaciones Push",description:"Recibe alertas instantáneas cuando el análisis de tu reunión esté listo"},{title:"Análisis Completo",description:"Ve el análisis completo de reuniones, seguimiento de progreso e insights detallados"},{title:"Deslizar para Actualizar",description:"Deslizamiento bidireccional desde arriba o abajo para actualizaciones rápidas"},{title:"Actualizaciones Automáticas",description:"Caché con prioridad de red y actualizaciones automáticas cada 60 segundos"}],howToInstall:"Cómo instalar",platforms:[{platform:"iPhone / iPad (iOS)",steps:["Abre SpeakFlare en el navegador Safari","Toca el botón Compartir (cuadrado con flecha)","Desplázate hacia abajo y toca 'Añadir a pantalla de inicio'","Toca 'Añadir' en la esquina superior derecha","El icono de la app aparecerá en tu pantalla de inicio"]},{platform:"Android",steps:["Abre SpeakFlare en el navegador Chrome","Toca el botón de menú (tres pu
896ntos)","Toca 'Añadir a pantalla de inicio' o 'Instalar app'","Confirma tocando 'Añadir' o 'Instalar'","Lanza la app desde tu pantalla de inicio"]},{platform:"Escritorio (Chrome/Edge)",steps:["Abre SpeakFlare en tu navegador","Busca el icono de instalación en la barra de direcciones","Haz clic en 'Instalar' cuando se solicite","O usa el menú del navegador: Más herramientas > Instalar","Accede a la app desde tu escritorio o barra de tareas"]}],whyInstall:"¿Por qué instalarla como app?",benefits:[{title:"Carga Más Rápida",description:"Los recursos en caché permiten carga instantánea y mejor rendimiento"},{title:"Experiencia Nativa",description:"Se siente como una app real con modo pantalla completa y animaciones suaves"},{title:"Acceso Fácil",description:"Ábrela desde tu pantalla de inicio — sin necesidad de escribir la URL"},{title:"Ver Sin Conexión",description:"El contenido cargado previamente sigue accesible sin internet"}],ctaTitle:"¿Listo para instalar?",ctaSub:"Obtén la experiencia completa de SpeakFlare en tu dispositivo móvil"},ru:{pwaBadge:"Прогрессивное веб-приложение",heroTitle:"SpeakFlare на мобильном",heroSub:"Установите SpeakFlare как мобильное приложение на любом устройстве. Работает на iPhone, Android и ПК с полной поддержкой офлайн.",getStarted:"Начать",featuresTitle:"Возможности мобильного приложения",features:[{title:"Мгновенный доступ",description:"Доступ к встречам и аналитике в любом месте и в любое время с мобильного устройства"},{title:"Офлайн-режим",description:"Технология PWA позволяет просматривать ранее загруженный контент без интернета"},{title:"Push-уведомления",description:"Получайте мгновенные уведомления, когда анализ встречи завершён"},{title:"Полная аналитика",description:"Просматривайте полный анализ встреч, отслеживание прогресса и детальную аналитику"},{title:"Потяни для обновления",description:"Двунаправленное обновление потягиванием сверху или снизу для быстрых обновлений"},{title:"Автообновления",description:"Кэширование с приоритетом сети и автоматическими обновлениями каждые 60 секунд"}],howToInstall:"Как установить",platforms:[{platform:"iPhone / iPad (iOS)",steps:["Откройте SpeakFlare в браузере Safari","Нажмите кнопку Share (квадрат со стрелкой)","Прокрутите вниз и нажмите «Добавить на главный экран»","Нажмите «Добавить» в правом верхнем углу","Иконка приложения появится на главном экране"]},{platform:"Android",steps:["Откройте SpeakFlare в браузере Chrome","Нажмите кнопку меню (три точки)","Нажмите «Добавить на главный экран» или «Установить приложение»","Подтвердите нажатием «Добавить» или «Установить»","Запустите приложение с главного экрана"]},{platform:"Компьютер (Chrome/Edge)",steps:["Откройте SpeakFlare в браузере","Найдите иконку установки в адресной строке","Нажмите «Установить» при появлении запроса","Или используйте меню браузера: Дополнительные инструменты > Установить","Откройте приложение с рабочего стола или панели задач"]}],whyInstall:"Зачем устанавливать как приложение?",benefits:[{title:"Быстрая загрузка",description:"Кэшированные ресурсы обеспечивают мгновенную загрузку и высокую производительность"},{title:"Нативный опыт",description:"Ощущается как настоящее приложение с полноэкранным режимом и плавными анимациями"},{title:"Лёгкий доступ",description:"Запуск с главного экрана — не нужно вводить URL"},{title:"Просмотр офлайн",description:"Ранее загруженный контент остаётся доступным без интернета"}],ctaTitle:"Готовы установить?",ctaSub:"Получите полный опыт SpeakFlare на своём мобильном устройстве"}};function f6e(e){return OM[e]||OM.en}function uS(){const[,e]=ze(),t=St(),r=f6e(t),a=t==="he"||t==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Mobile App - SpeakFlare PWA for iPhone, Android & Desktop",description:"Install SpeakFlare as a Progressive Web App on any device. Access your meeting analysis dashboard offline, receive push notifications, and review insights on the go.",canonical:"https://speakflare.com/mobile-app",keywords:"SpeakFlare mobile app, PWA speech analysis, iPhone communication coach app, Android meeting analysis, progressive web app, mobile speech coaching",pageType:"page",breadcrumbs:[{name:"Mobile App",url:"https://speakflare.com/mobile-app"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-primary/10 border border-primary/20 mb-6",children:[n.jsx(F1,{className:"h-4 w-4 text-primary"}),n.jsx("span",{className:"text-sm font-medium text-primary",children:r.pwaBadge})]}),n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-3xl mx-auto mb-8",children:r.heroSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-get-started",children:r.getStarted})]}),n.jsxs("div",{className:"mb-20",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.featuresTitle}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{icon:Ur,...r.features[0]},{icon:Yte,...r.features[1]},{icon:Vv,...r.features[2]},{icon:_t,...r.features[3]},{icon:Ute,...r.features[4]},{icon:Kv,...r.features[5]}].map((s,i)=>n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(s.icon,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"font-bold mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.description})]},i))})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.howToInstall}),n.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:r.platforms.map((s,i)=>n.jsxs(X,{className:"p-6",children:[n.jsxs("h3",{className:"text-xl font-bold mb-4 flex items-center gap-2",children:[n.jsx(F1,{className:"h-5 w-5 text-primary"}),s.platform]}),n.jsx("ol",{className:"space-y-3",children:s.steps.map((o,l)=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-primary/10 text-primary flex items-center justify-center text-sm font-bold",children:l+1}),n.jsx("span",{className:"text-sm text-muted-foreground pt-0.5",children:o})]},l))})]},i))})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-8",children:r.whyInstall}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto",children:r.benefits.map((s,i)=>n.jsxs(X,{className:"p-6",children:[n.jsx(gn,{className:"h-8 w-8 text-green-600 dark:text-green-400 mb-3"}),n.jsx("h3",{className:"font-bold mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.description})]},i))})]}),n.jsxs("div",{className:"text-center bg-card border border-border rounded-3xl p-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:r.ctaTitle}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-2xl mx-auto",children:r.ctaSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-install-app",children:r.getStarted})]})]})]})}const RM={en:{platformFeatures:"Platform Features",insideTitle:"Inside the Platform",insideSub:"Explore the actual screens and features you'll use every day",dashboardTitle:"Dashboard",dashboardSub:"Your communication performance overview",grammarIssues:"Grammar Issues",totalDetected:"total detected",fillerWords:"Filler Words",clarityIssues:"Clarity Issues",salesIssues:"Sales Issues",dashboardDesc:"See all your communication metrics at a glance, track recent meetings with issue counts, and monitor your improvement over time with trend indicators.",meetingDetailTitle:"Meeting Detail",meetingDetailSub:"Deep dive into each meeting",fillerWord:"Filler Word",found:"Found:",fix:"Fix:",example:"Example:",fillerFound:"15 times",fillerFix:"Pause instead",fillerExample:'"Product is... effective"',grammarError:"Grammar Error",grammarFound:"Subject-verb error",grammarFix:'Use "were"',grammarExample:'"We <u>were</u> working..."',meetingDetailDesc:"View full transcript with highlighted issues, get detailed analysis across Grammar, Filler Words, Clarity, and Sales tabs, plus email/Telegram notification previews.",progressTitle:"Progress Tracking",progressSub:"Monitor your improvement",avgIssues:"Avg Issues Per Meeting",fromLastMonth:"-3 from last month",mistakesEliminated:"Mistakes Eliminated",keepItUp:"Keep it up!",eliminated:"Eliminated!",stillTimes:"Still 5 times",progressDesc:"Track which mistakes you've eliminated, see improvement metrics, and view detailed history for each word/phrase across all meetings.",notifTitle:"Email & Telegram Notifications",notifSub:"Get analysis summaries delivered instantly",emailSummary:"Email Summary",meetingLabel:"Meeting: Q1 Sales Pitch",pauseInstead:"Pause instead",subjectVerb:"Subject-verb error",useWere:'Use "were" instead',weWere:'"We were working..."',telegramAlert:"Telegram Alert",anal
896ysisReady:"SpeakFlare Analysis Ready!",clarityImprovements:"3 clarity improvements",viewFullReport:"View full report →",notifDesc:"Preview notification templates in the Communications tab of any meeting detail page. See exactly how your analysis summaries will look before they're sent via email or Telegram.",wasGrammar:"was → were (grammar)"},he:{platformFeatures:"תכונות הפלטפורמה",insideTitle:"בתוך הפלטפורמה",insideSub:"חקור את המסכים והתכונות האמיתיים שתשתמש בהם כל יום",dashboardTitle:"לוח בקרה",dashboardSub:"סקירת ביצועי התקשורת שלך",grammarIssues:"בעיות דקדוק",totalDetected:"זוהו בסך הכל",fillerWords:"מילות מילוי",clarityIssues:"בעיות בהירות",salesIssues:"בעיות מכירות",dashboardDesc:"ראה את כל מדדי התקשורת שלך במבט אחד, עקוב אחר פגישות אחרונות עם ספירות בעיות, ועקוב אחר השיפור שלך לאורך זמן עם מחוונים.",meetingDetailTitle:"פרטי פגישה",meetingDetailSub:"צלול לעומק כל פגישה",fillerWord:"מילת מילוי",found:"נמצא:",fix:"תיקון:",example:"דוגמה:",fillerFound:"15 פעמים",fillerFix:"עשה הפסקה במקום",fillerExample:'"המוצר הוא... יעיל"',grammarError:"שגיאת דקדוק",grammarFound:"שגיאת נושא-פועל",grammarFix:'השתמש ב-"were"',grammarExample:'"אנחנו <u>עבדנו</u>..."',meetingDetailDesc:"צפה בתמלול המלא עם בעיות מסומנות, קבל ניתוח מפורט בכרטיסיות דקדוק, מילות מילוי, בהירות ומכירות, ותצוגות מקדימות של התראות דואר אלקטרוני/טלגרם.",progressTitle:"מעקב התקדמות",progressSub:"עקוב אחר השיפור שלך",avgIssues:"ממוצע בעיות לפגישה",fromLastMonth:"‎-3 מהחודש שעבר",mistakesEliminated:"טעויות שחוסלו",keepItUp:"כל הכבוד!",eliminated:"חוסל!",stillTimes:"עדיין 5 פעמים",progressDesc:"עקוב אחר הטעויות שחיסלת, ראה מדדי שיפור, וצפה בהיסטוריה מפורטת לכל מילה/ביטוי בכל הפגישות.",notifTitle:"התראות דואר אלקטרוני וטלגרם",notifSub:"קבל סיכומי ניתוח מיידית",emailSummary:'סיכום דוא"ל',meetingLabel:"פגישה: Q1 Sales Pitch",pauseInstead:"עשה הפסקה במקום",subjectVerb:"שגיאת נושא-פועל",useWere:'השתמש ב-"were" במקום',weWere:'"אנחנו עבדנו..."',telegramAlert:"התראת טלגרם",analysisReady:"!SpeakFlare ניתוח מוכן",clarityImprovements:"3 שיפורי בהירות",viewFullReport:"צפה בדוח המלא ←",notifDesc:"צפה בתבניות התראות בלשונית תקשורת בכל דף פרטי פגישה. ראה בדיוק איך ייראו סיכומי הניתוח שלך לפני שנשלחים בדואר אלקטרוני או טלגרם.",wasGrammar:"was ← were (דקדוק)"},ar:{platformFeatures:"ميزات المنصة",insideTitle:"داخل المنصة",insideSub:"استكشف الشاشات والميزات الفعلية التي ستستخدمها كل يوم",dashboardTitle:"لوحة التحكم",dashboardSub:"نظرة عامة على أداء تواصلك",grammarIssues:"مشاكل نحوية",totalDetected:"إجمالي المكتشفة",fillerWords:"كلمات الحشو",clarityIssues:"مشاكل الوضوح",salesIssues:"مشاكل المبيعات",dashboardDesc:"شاهد جميع مقاييس التواصل دفعة واحدة، وتتبع الاجتماعات الأخيرة مع أعداد المشاكل، وراقب تحسنك بمرور الوقت.",meetingDetailTitle:"تفاصيل الاجتماع",meetingDetailSub:"تعمق في كل اجتماع",fillerWord:"كلمة حشو",found:"تم العثور عليه:",fix:"الإصلاح:",example:"مثال:",fillerFound:"15 مرة",fillerFix:"توقف مؤقتاً بدلاً من ذلك",fillerExample:'"المنتج... فعّال"',grammarError:"خطأ نحوي",grammarFound:"خطأ في تطابق الفاعل والفعل",grammarFix:'استخدم "were"',grammarExample:'"كنّا <u>نعمل</u>..."',meetingDetailDesc:"عرض النص الكامل مع تمييز المشاكل، والحصول على تحليل مفصل عبر تبويبات النحو وكلمات الحشو والوضوح والمبيعات، بالإضافة إلى معاينات الإشعارات.",progressTitle:"تتبع التقدم",progressSub:"راقب تحسنك",avgIssues:"متوسط المشاكل لكل اجتماع",fromLastMonth:"‎-3 من الشهر الماضي",mistakesEliminated:"الأخطاء المُزالة",keepItUp:"استمر!",eliminated:"تمت إزالته!",stillTimes:"لا يزال 5 مرات",progressDesc:"تتبع الأخطاء التي أزلتها، وشاهد مقاييس التحسن، وعرض السجل التفصيلي لكل كلمة/عبارة عبر جميع الاجتماعات.",n
896otifTitle:"إشعارات البريد الإلكتروني وTelegram",notifSub:"احصل على ملخصات التحليل فوراً",emailSummary:"ملخص البريد الإلكتروني",meetingLabel:"الاجتماع: Q1 Sales Pitch",pauseInstead:"توقف مؤقتاً بدلاً من ذلك",subjectVerb:"خطأ في تطابق الفاعل والفعل",useWere:'استخدم "were" بدلاً من ذلك',weWere:'"كنّا نعمل..."',telegramAlert:"تنبيه Telegram",analysisReady:"!تحليل SpeakFlare جاهز",clarityImprovements:"3 تحسينات في الوضوح",viewFullReport:"عرض التقرير الكامل ←",notifDesc:"معاينة قوالب الإشعارات في تبويب الاتصالات في أي صفحة تفاصيل اجتماع. شاهد بالضبط كيف ستبدو ملخصات التحليل قبل إرسالها.",wasGrammar:"was ← were (نحو)"},es:{platformFeatures:"Funciones de la plataforma",insideTitle:"Dentro de la plataforma",insideSub:"Explora las pantallas y funciones reales que usarás cada día",dashboardTitle:"Panel de control",dashboardSub:"Resumen de tu rendimiento comunicativo",grammarIssues:"Errores gramaticales",totalDetected:"total detectados",fillerWords:"Muletillas",clarityIssues:"Problemas de claridad",salesIssues:"Problemas de ventas",dashboardDesc:"Ve todas tus métricas de comunicación de un vistazo, rastrea reuniones recientes con recuentos de problemas y monitorea tu mejora a lo largo del tiempo.",meetingDetailTitle:"Detalle de reunión",meetingDetailSub:"Análisis profundo de cada reunión",fillerWord:"Muletilla",found:"Encontrado:",fix:"Corrección:",example:"Ejemplo:",fillerFound:"15 veces",fillerFix:"Haz una pausa en su lugar",fillerExample:'"El producto es... efectivo"',grammarError:"Error gramatical",grammarFound:"Error de concordancia sujeto-verbo",grammarFix:'Usa "were"',grammarExample:'"Estábamos <u>trabajando</u>..."',meetingDetailDesc:"Ve la transcripción completa con problemas resaltados, obtén análisis detallado en las pestañas de Gramática, Muletillas, Claridad y Ventas, más vistas previas de notificaciones.",progressTitle:"Seguimiento de progreso",progressSub:"Monitorea tu mejora",avgIssues:"Promedio de problemas por reunión",fromLastMonth:"-3 del mes pasado",mistakesEliminated:"Errores eliminados",keepItUp:"¡Sigue así!",eliminated:"¡Eliminado!",stillTimes:"Todavía 5 veces",progressDesc:"Rastrea qué errores has eliminado, ve métricas de mejora y visualiza el historial detallado de cada palabra/frase en todas las reuniones.",notifTitle:"Notificaciones por email y Telegram",notifSub:"Recibe resúmenes de análisis al instante",emailSummary:"Resumen por email",meetingLabel:"Reunión: Q1 Sales Pitch",pauseInstead:"Haz una pausa en su lugar",subjectVerb:"Error sujeto-verbo",useWere:'Usa "were" en su lugar',weWere:'"Estábamos trabajando..."',telegramAlert:"Alerta de Telegram",analysisReady:"¡Análisis de SpeakFlare listo!",clarityImprovements:"3 mejoras de claridad",viewFullReport:"Ver informe completo →",notifDesc:"Previsualiza plantillas de notificaciones en la pestaña Comunicaciones de cualquier página de detalle de reunión. Ve exactamente cómo se verán los resúmenes antes de enviarse.",wasGrammar:"was → were (gramática)"},ru:{platformFeatures:"Функции платформы",insideTitle:"Внутри платформы",insideSub:"Изучите реальные экраны и функции, которые вы будете использовать каждый день",dashboardTitle:"Панель управления",dashboardSub:"Обзор ваших коммуникационных показателей",grammarIssues:"Грамматические ошибки",totalDetected:"всего обнаружено",fillerWords:"Слова-паразиты",clarityIssues:"Проблемы ясности",salesIssues:"Проблемы продаж",dashboardDesc:"Смотрите все метрики общения с первого взгляда, отслеживайте последние встречи с количеством проблем и следите за улучшениями с течением времени.",meetingDetailTitle:"Детали встречи",meetingDetailSub:"Детальный анализ каждой встречи",fillerWord:"Слово-паразит",found:"Найдено:",fix:"Исправление:",example:"Пример:",fillerFound:"15 раз",fillerFix:"Сделайте паузу вместо этого",fillerExample:'"Продукт... эффективный"',grammarError:"Грамматическая ошибка",grammarFound:"Ошибка согласования подлежащего и сказуемого",grammarFix:'Используйте "were"',grammarExample:'"Мы <u>работали</u>..."',meetingDetailDesc:"Просматривайте полную расшифровку с выделенными проблемами, получайте детальный анализ во вкладках «Грамматика
896», «Слова-паразиты», «Ясность» и «Продажи».",progressTitle:"Отслеживание прогресса",progressSub:"Следите за улучшениями",avgIssues:"Среднее кол-во проблем за встречу",fromLastMonth:"-3 по сравнению с прошлым месяцем",mistakesEliminated:"Устранено ошибок",keepItUp:"Продолжайте в том же духе!",eliminated:"Устранено!",stillTimes:"Всё ещё 5 раз",progressDesc:"Отслеживайте устранённые ошибки, просматривайте метрики улучшений и историю для каждого слова/фразы по всем встречам.",notifTitle:"Уведомления по email и Telegram",notifSub:"Получайте сводки анализа мгновенно",emailSummary:"Сводка по email",meetingLabel:"Встреча: Q1 Sales Pitch",pauseInstead:"Сделайте паузу вместо этого",subjectVerb:"Ошибка согласования",useWere:'Используйте "were" вместо этого',weWere:'"Мы работали..."',telegramAlert:"Оповещение Telegram",analysisReady:"Анализ SpeakFlare готов!",clarityImprovements:"3 улучшения ясности",viewFullReport:"Просмотреть полный отчёт →",notifDesc:"Предварительный просмотр шаблонов уведомлений на вкладке «Коммуникации» на любой странице деталей встречи.",wasGrammar:"was → were (грамматика)"}};function p6e(e){return RM[e]||RM.en}function mS(){const e=St(),t=p6e(e),r=e==="he"||e==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:r?"rtl":"ltr",children:[n.jsx(lt,{title:"SpeakFlare Insider - Early Access & Advanced Features",description:"Join the SpeakFlare Insider program to get early access to new features, participate in beta testing, and shape the future of AI communication coaching.",canonical:"https://speakflare.com/insider",keywords:"SpeakFlare insider, early access beta, communication coaching beta, AI speech beta program, advanced features early access",pageType:"page",breadcrumbs:[{name:"Insider",url:"https://speakflare.com/insider"}]}),n.jsx(He,{}),n.jsxs("div",{id:"platform",className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 sm:py-20 bg-gradient-to-b from-background via-blue-500/5 to-background",children:[n.jsxs("div",{className:"text-center mb-10 sm:mb-16",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-blue-500/10 border border-blue-500/20 mb-6",children:[n.jsx(A8,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),n.jsx("span",{className:"text-sm font-medium text-blue-600 dark:text-blue-400",children:t.platformFeatures})]}),n.jsx("h2",{className:"text-3xl sm:text-4xl md:text-5xl font-bold mb-4 bg-gradient-to-r from-foreground via-blue-600 to-primary bg-clip-text text-transparent",children:t.insideTitle}),n.jsx("p",{className:"text-base sm:text-lg text-muted-foreground max-w-2xl mx-auto",children:t.insideSub})]}),n.jsx("div",{className:"mb-8 sm:mb-12",children:n.jsxs("div",{className:"bg-card border border-border rounded-2xl p-6 sm:p-8 shadow-xl hover-elevate transition-all",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(_t,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl sm:text-2xl font-bold text-foreground",children:t.dashboardTitle}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.dashboardSub})]})]}),n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6",children:[n.jsxs("div",{className:"text-center p-4 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.grammarIssues}),n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-red-600 dark:text-red-400",children:"24"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.totalDetected})]}),n.jsxs("div",{className:"text-center p-4 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.fillerWords}),n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-yellow-600 dark:text-yellow-400",children:"68"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.totalDetected})]}),n.jsxs("div",{className:"text-center p-4 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.clarityIssues}),n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-blue-600 dar
896k:text-blue-400",children:"8"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.totalDetected})]}),n.jsxs("div",{className:"text-center p-4 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.salesIssues}),n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-orange-600 dark:text-orange-400",children:"2"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.totalDetected})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.dashboardDesc})]})}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 sm:gap-8 mb-8 sm:mb-12",children:[n.jsxs("div",{className:"backdrop-blur-xl bg-white/50 dark:bg-black/30 border border-white/30 dark:border-white/10 rounded-2xl p-6 sm:p-8 shadow-xl",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(tn,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg sm:text-xl font-bold text-foreground",children:t.meetingDetailTitle}),n.jsx("p",{className:"text-xs text-muted-foreground",children:t.meetingDetailSub})]})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"backdrop-blur-sm bg-white/60 dark:bg-black/40 rounded-xl p-4 border border-yellow-200 dark:border-yellow-800",children:[n.jsxs("div",{className:"font-bold text-yellow-700 dark:text-yellow-300 mb-2 flex items-center gap-2",children:[n.jsx(ve,{variant:"outline",className:"border-yellow-200 bg-yellow-50 text-yellow-700 dark:border-yellow-800 dark:bg-yellow-950/50 dark:text-yellow-400 text-xs",children:"um"}),n.jsx("span",{className:"text-sm",children:t.fillerWord})]}),n.jsxs("div",{className:"text-xs space-y-1 text-foreground",children:[n.jsxs("div",{children:[n.jsxs("strong",{children:["1. ",t.found]})," ",t.fillerFound]}),n.jsxs("div",{children:[n.jsxs("strong",{children:["2. ",t.fix]})," ",t.fillerFix]}),n.jsxs("div",{children:[n.jsxs("strong",{children:["3. ",t.example]})," ",t.fillerExample]})]})]}),n.jsxs("div",{className:"backdrop-blur-sm bg-white/60 dark:bg-black/40 rounded-xl p-4 border border-red-200 dark:border-red-800",children:[n.jsxs("div",{className:"font-bold text-red-700 dark:text-red-300 mb-2 flex items-center gap-2",children:[n.jsx(ve,{variant:"outline",className:"border-red-200 bg-red-50 text-red-700 dark:border-red-800 dark:bg-red-950/50 dark:text-red-400 text-xs",children:"was"}),n.jsx("span",{className:"text-sm",children:t.grammarError})]}),n.jsxs("div",{className:"text-xs space-y-1 text-foreground",children:[n.jsxs("div",{children:[n.jsxs("strong",{children:["1. ",t.found]})," ",t.grammarFound]}),n.jsxs("div",{children:[n.jsxs("strong",{children:["2. ",t.fix]})," ",t.grammarFix]}),n.jsxs("div",{children:[n.jsxs("strong",{children:["3. ",t.example]})," ",n.jsx("span",{dangerouslySetInnerHTML:{__html:t.grammarExample}})]})]})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-4",children:t.meetingDetailDesc})]}),n.jsxs("div",{className:"backdrop-blur-xl bg-white/50 dark:bg-black/30 border border-white/30 dark:border-white/10 rounded-2xl p-6 sm:p-8 shadow-xl",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(it,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg sm:text-xl font-bold text-foreground",children:t.progressTitle}),n.jsx("p",{className:"text-xs text-muted-foreground",children:t.progressSub})]})]}),n.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-4",children:[n.jsxs("div",{className:"text-center p-3 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.avgIssues}),n.jsx("div",{className:"text-2xl font-bold text-primary",children:"11"}),n.jsx("div",{className:"text-xs text-green-600 dark:text-green-400",children:t.fromLastMonth})]}),n.jsxs("div",{className:"text-center p-3 rounded-xl backdrop-blur-sm bg-white/60 dark:bg-black/40",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:t.mistakesEliminated}),n.jsx("div",{className:"text-2xl font-bold text-green-600 dark:text-green-400",children:"3"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:t.keepItUp})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{className:"flex items-center justify-between p-3 rounded-xl backdrop-blur-sm bg-green-50/80 dark:bg-green-950/30 border border-green-200 dark:border-green-800",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(gn,{className:"h-4 w-4 text-green-600 dark:text-green-400"}),n.jsx("span",{className:"text-sm font-bold",children:'"um"'})]}),n.jsx("span",{className:"text-xs text-green-600 dark:text-green-400",children:t.eliminated})]}),n.jsxs("div",{className:"flex items-center justify-between p-3 rounded-xl backdrop-blur-sm bg-yellow-50/80 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-800",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(rr,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400"}),n.jsx("span",{className:"text-sm font-bold",children:'"like"'})]}),n.jsx("span",{className:"text-xs text-yellow-600 dark:text-yellow-400",children:t.stillTimes})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-4",children:t.progressDesc})]})]}),n.jsxs("div",{className:"backdrop-blur-xl bg-white/50 dark:bg-black/30 border border-white/30 dark:border-white/10 rounded-2xl p-6 sm:p-8 shadow-xl",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Ht,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl sm:text-2xl font-bold text-foreground",children:t.notifTitle}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.notifSub})]})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[n.jsxs("div",{className:"backdrop-blur-sm bg-white/60 dark:bg-black/40 rounded-xl p-6 border border-white/20",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(Ht,{className:"h-4 w-4 text-primary"}),n.jsx("span",{className:"font-semibold text-sm",children:t.emailSummary})]}),n.jsxs("div",{className:"text-xs sm:text-sm space-y-3 text-foreground",children:[n.jsx("div",{className:"font-bold",children:t.meetingLabel}),n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(ve,{variant:"outline",className:"border-yellow-200 bg-yellow-50 text-yellow-700 dark:border-yellow-800 dark:bg-yellow-950/50 dark:text-yellow-400 text-xs flex-shrink-0",children:"um"}),n.jsxs("div",{className:"text-xs",children:[n.jsxs("div",{children:["1. ",t.fillerFound]}),n.jsxs("div",{children:["2. ",t.pauseInstead]}),n.jsxs("div",{children:["3. ",t.fillerExample]})]})]}),n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(ve,{variant:"outline",className:"border-red-200 bg-red-50 text-red-700 dark:border-red-800 dark:bg-red-950/50 dark:text-red-400 text-xs flex-shrink-0",children:"was"}),n.jsxs("div",{className:"text-xs",children:[n.jsxs("div",{children:["1. ",t.subjectVerb]}),n.jsxs("div",{children:["2. ",t.useWere]}),n.jsxs("div",{children:["3. ",t.weWere]})]})]})]})]})]}),n.jsxs("div",{className:"backdrop-blur-sm bg-white/60 dark:bg-black/40 rounded-xl p-6 border border-white/20",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(Vv,{className:"h-4 w-4 text-primary"}),n.jsx("span",{className:"font-semibold text-sm",children:t.telegramAlert})]}),n.jsxs("div",{className:"text-xs sm:text-sm space-y-2 text-foreground",children:[n.jsx("div",{className:"font-bold",children:t.analysisReady}),n.jsx("div",{children:t.meetingLabel}),n.jsxs("div",{className:"space-y-1 pt-2",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx("span",{className:"text-yellow-600 dark:text-yellow-400",children:"●"}),n.jsxs("span",{children:['15x "um" - ',t.pauseInstead]})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx("span",{className:"text-red-600 dark:text-red-400",children:"●"}),n.jsx("span",{children:t.wasGrammar})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx("span",{className:"text-blue-600 dar
896k:text-blue-400",children:"●"}),n.jsx("span",{children:t.clarityImprovements})]})]}),n.jsx("div",{className:"pt-2 text-primary",children:t.viewFullReport})]})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-6",children:t.notifDesc})]})]})]})}function hS(){const{user:e}=Gt(),[,t]=ze(),[r,a]=y.useState(!1),s=Sc(St()),i=St()==="he"||St()==="ar",o=c=>{c&&e?a(!0):t(e?"/":"/register")},l=[{name:s.pricing.freeName,price:s.pricing.freePrice,period:"",description:s.pricing.freeSub,features:[s.pricing.freeFeat1,s.pricing.freeFeat2,s.pricing.freeFeat3,s.pricing.freeFeat4],buttonText:s.pricing.freeCta,popular:!1,free:!0},{name:s.pricing.starterName,price:s.pricing.starterPrice,period:s.pricing.starterPer,description:s.pricing.starterSub,features:[s.pricing.starterFeat1,s.pricing.starterFeat2,s.pricing.starterFeat3],buttonText:s.pricing.starterCta,popular:!1},{name:s.pricing.proName,price:s.pricing.proPrice,period:s.pricing.proPer,description:s.pricing.proSub,features:[s.pricing.proFeat1,s.pricing.proFeat2,s.pricing.proFeat3,s.pricing.proFeat4],buttonText:s.pricing.proCta,popular:!0},{name:s.pricing.entName,price:s.pricing.entPrice,period:"",description:s.pricing.entSub,features:[s.pricing.entFeat1,s.pricing.entFeat2,s.pricing.entFeat3,s.pricing.entFeat4],buttonText:s.pricing.entCta,popular:!1,enterprise:!0}];return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",dir:i?"rtl":"ltr",children:[n.jsx(lt,{title:"Pricing - Free 30-Second Demo, Then $5 for 20 Recordings | SpeakFlare",description:"$5 for 20 recordings (pay as you go). Free 30-second demo, no sign-up. Credits never expire. Prefer unlimited? Pro is $12/month or $99/year.",canonical:"https://speakflare.com/pricing",keywords:"SpeakFlare free demo, pay as you go speech analysis, $5 for 20 recordings, free AI speech analysis, SpeakFlare pricing, speech improvement demo",pageType:"product",productPrice:"5",productCurrency:"USD",breadcrumbs:[{name:"Pricing",url:"https://speakflare.com/pricing"}]}),n.jsx(He,{}),n.jsx("section",{className:"flex-1 py-20 px-4",children:n.jsxs("div",{className:"max-w-6xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl font-bold mb-4",children:s.pricing.title}),n.jsx("p",{className:"text-lg text-muted-foreground",children:s.pricing.subtitle})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:l.map((c,d)=>n.jsxs(X,{className:`relative ${c.popular?"ring-2 ring-primary shadow-lg":""} ${c.free?"ring-2 ring-green-500/50 shadow-lg":""}`,children:[c.popular&&n.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:n.jsx(ve,{className:"bg-primary text-primary-foreground px-4",children:s.pricing.mostPopular})}),c.free&&n.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:n.jsx(ve,{className:"bg-green-600 text-white px-4",children:s.pricing.alwaysFree})}),n.jsxs(Ye,{className:"text-center pb-4",children:[n.jsx("h3",{className:"text-xl font-semibold",children:c.name}),n.jsxs("div",{className:"mt-4",children:[n.jsx("span",{className:"text-4xl font-bold",children:c.price}),n.jsx("span",{className:"text-muted-foreground",children:c.period})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:c.description})]}),n.jsxs(ue,{children:[n.jsx("ul",{className:"space-y-3 mb-8",children:c.features.map((u,m)=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(ut,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5"}),n.jsx("span",{className:"text-sm",children:u})]},m))}),n.jsx(D,{onClick:c.enterprise?()=>window.location.href="mailto:[email protected]?subject=Enterprise%20Inquiry":()=>o(!c.free&&!c.enterprise),variant:c.popular?"default":"outline",className:"w-full rounded-md","data-testid":`button-${c.name.toLowerCase()}-plan`,children:c.buttonText})]})]},d))})]})}),n.jsx(Ut,{}),n.jsx(aT,{open:r,onClose:()=>a(!1)})]})}const FM={en:[{question:"What is SpeakFlare?",answer:"SpeakFlare is an AI-powered communication improvement platform that helps professionals eliminate speaking mistakes during video calls, presentations, and investor pitches. It automatically captures meeting transcripts, analyzes communication patterns (grammar errors, filler words, clarity issues, sales mistakes), tracks improvement over time, and provides actionable feedback."},{question:"How does SpeakFlare work?",answer:"Connect your Zoom account or install our Chrome extension for Google Meet. SpeakFlare automatically captures your meeting audio, transcribes it using advanced speech-to-text AI, and analyzes grammar errors, filler words, clarity issues, and sales/presentation mistakes. You'll receive detailed reports with specific suggestions for improvement."},{question:"Which platforms are supported?",answer:"Currently supported: Zoom (via automatic cloud recording integration) and Google Meet (via Chrome extension). Coming soon: Microsoft Teams, Webex, and other platforms."},{question:"Is my meeting data private?",answer:"Absolutely. Your privacy is our top priority. We use end-to-e
896nd encryption on enterprise-grade servers. Your data is never shared with third parties, not used to train public AI models, and you maintain full ownership with the ability to delete anytime."},{question:"What languages are supported?",answer:"Over 50 languages including English, Spanish, French, German, Hebrew, Arabic, Chinese, Japanese, Korean, Portuguese, Italian, Dutch, Russian, and more. Our AI automatically detects the meeting language and provides analysis in that language."},{question:"Is there a free way to try SpeakFlare?",answer:"Yes! Try a free 30-second demo right in your browser — no sign-up, no account, no credit card. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), so you only pay for what you use. Prefer unlimited? Go Pro for $12/month or $99/year."},{question:"How much does it cost?",answer:"Free 30-second demo: no sign-up, no credit card needed. Pay as you go: $5 for 20 recordings (20 full analyses), and credits never expire. Pro: $12/month or $99/year for unlimited recording analyses with Telegram notifications and advanced analytics. Enterprise: Custom plans with team management for larger organizations."},{question:"Can I track my improvement?",answer:"Yes! SpeakFlare includes comprehensive progress tracking that shows which mistakes you've eliminated, trends over time, and achievement milestones. You'll see visual charts comparing your current performance to past meetings."},{question:"What kind of feedback do I get?",answer:"Four analysis categories: Grammar Errors (subject-verb agreement, tense issues), Filler Words ('um', 'like', 'you know'), Clarity Issues (sentence structure, word choice), and Sales/Presentation (pitch effectiveness, closing techniques). Each issue includes the exact quote, timestamp, and suggested improvement."},{question:"How accurate is the AI?",answer:"Very accurate - 95%+ across all supported languages. We use open source AI models (Llama 70B and Qwen for analysis, OpenAI Whisper for transcription) specifically optimized for professional communication contexts."},{question:"Will others know I'm using SpeakFlare?",answer:"No. SpeakFlare works silently in the background. For Zoom, it uses cloud recordings. For Google Meet, the Chrome extension captures audio locally without notifying other participants."},{question:"How long does it take to see results?",answer:"Most users see improvement after just 3-5 meetings. You'll immediately become aware of your speaking patterns. Within 2-3 weeks of regular use, you'll notice significant reduction in filler words and grammar mistakes."},{question:"Can I use it for team coaching?",answer:"Yes! Our Enterprise plan includes team management features where managers can view aggregate analytics, track team improvement, and benchmark performance across team members."}],he:[{question:"מה זה SpeakFlare?",answer:"SpeakFlare היא פלטפורמת שיפור תקשורת מבוססת AI שעוזרת לאנשי מקצוע להעלים טעויות דיבור במהלך שיחות וידאו, מצגות ופיצ'ים למשקיעים. היא לוכדת אוטומטית תמלולי פגישות, מנתחת דפוסי תקשורת (שגיאות דקדוק, מילות מילוי, בעיות בהירות, טעויות מכירות), עוקבת אחר שיפור לאורך זמן ומספקת משוב מעשי."},{question:"איך SpeakFlare עובדת?",answer:"חבר את חשבון Zoom שלך או התקן את הרחבת Chrome שלנו ל-Google Meet. SpeakFlare לוכדת אוטומטית את שמע הפגישה, מתמללת אותו באמצעות AI מתקדם לזיהוי דיבור, ומנתחת שגיאות דקדוק, מילות מילוי, בעיות בהירות וטעויות מכירות/מצגת. תקבל דוחות מפורטים עם הצעות ספציפיות לשיפור."},{question:"אילו פלטפורמות נתמכות?",answer:"נתמכות כרגע: Zoom (דרך שילוב הקלטת ענן אוטומטית) ו-Google Meet (דרך הרחבת Chrome). בקרוב: Microsoft Teams, Webex ופלטפורמות נוספות."},{question:"האם נתוני הפגישה שלי פרטיים?",answer:"בהחלט. הפרטיות שלך היא עדיפותנו העליונה. אנחנו משתמשים בהצפנה מקצה לקצה על שרתים ברמה ארגונית. הנתונים שלך לעולם לא משותפים עם צדדים שלישיים, לא משמשים לאימון מודלי AI ציבוריים, ואתה שומר על בעלות מלאה עם יכולת למחוק בכל עת."},{question:"אילו שפות נתמכות?",answer:"למעלה מ-50 שפות כולל עברית, ערבית, אנגלית, ספרדית, צרפתית, גרמנית, סינית, יפנית, קוריאנית, פורטוגזית, איטלקית, הולנדית, רוסית ועוד. ה-AI שלנו מזהה אוטומטית את שפת הפגישה ומספק ניתוח בשפה זו."},{question:"האם יש דרך חינמית לנסות את SpeakFlare?",answer:"כן! נסו הדגמה חינמית של 30 שניות ישירות בדפדפן — ללא הרשמה, ללא חשבון, ללא כרטיס אשראי. כשתהיו מוכנים, ב-$5 תפתחו 20 ניתוחי הקלטה מלאים (הקרדיטים לעולם לא פגים), כך שתשלמו רק על מה שאתם משתמשים. מעדיפים ללא הגבלה? עברו ל-Pro ב-$12 לחודש או $99 לשנה."},{question:"כמה זה עולה?",answer:"הדגמה חינמית של 30 שניות: ללא הרשמה, ללא כרטיס אשראי. תשלום לפי שימוש: $5 עבור 20 הקלטות (20 ניתוחים מלאים), והקרדיטים לעולם לא פגים. Pro: $12/חודש או $99/שנה עבור ניתוחי הקלטה ללא הגבלה עם התראות טלגרם ואנליטיקה מתקדמת. ארגוני: תוכניות מותאמות אישית עם ניהול צוות לארגונים גדולים."},{question:"האם אני יכול לעקוב אחר ההתקדמות שלי?",answer:"כן! SpeakFlare כוללת מעקב התקדמות מקיף המראה אילו טעויות חיסלת, מגמות לאורך זמן ואבני דרך של הישגים. תראה תרשימים ויזואליים המשווים את הביצועים הנוכחיים שלך לפגישות עבר."},{question:"איזה סוג משוב אני מקבל?",answer:"ארבע קטגוריות ניתוח: שגיאות דקדוק (התאמת נושא-פועל, בעיות זמנים), מילות מילוי ('אממ', 'כאילו', 'בעצם'), בעיות בהירות (מבנה משפטים, בחירת מילים) ומכירות/מצגת (יעילות הפיצ', טכניקות סגירה). כל בעיה כוללת את הציטוט המדויק, חותמת הזמן והשיפור המוצע."},{question:"עד כמה ה-AI מדויק?",answer:"מדויק מאוד — 95%+ בכל השפות הנתמכות. אנחנו משתמשים במודלי AI קוד פתוח (Llama 70B ו-Qwen לניתוח, OpenAI Whisper לתמלול) שעברו אופטימיזציה ספציפית להקשרי תקשורת מקצועית."},{question:"האם אחרים ידעו שאני משתמש ב-SpeakFlare?",answer:"לא. SpeakFlare פועלת בשקט ברקע. עבור Zoom, היא משתמשת בהקלטות ענן. עבור Google Meet, הרחבת Chrome לוכדת שמע מקומית מבלי להודיע למשתתפים אחרים."},{question:"כמה זמן לוקח לראות תוצאות?",answer:"רוב המשתמשים רואים שיפור לאחר 3-5 פגישות בלבד. תיהפך מיד מודע לדפוסי הדיבור שלך. תוך 2-3 שבועות של שימוש קבוע, תבחין בירידה משמעותית במילות המילוי ובטעויות הדקדוק."},{question:"האם אני יכול להשתמש בזה לאימון צוות?",answer:"כן! תוכנית Enterprise שלנו כוללת תכונות ניהול צוות שבהן מנהלים יכולים לצפות באנליטיקה מצטברת, לעקוב אחר שיפור הצוות ולבצע ביצועים בנצ'מרק בין חברי הצוות."}],ar:[{question:"ما هو SpeakFlare؟",answer:"SpeakFlare هي منصة تحسين التواصل المدعومة بالذكاء الاصطناعي التي تساعد المحترفين على التخلص من أخطاء الكلام أثناء مكالمات الفيديو والعروض التقديمية وعروض المستثمرين. تلتقط تلقائياً نصوص الاجتماعات وتحلل أنماط التواصل (الأخطاء النحوية وكلمات الحشو ومشاكل الوضوح وأخطاء المبيعات) وتتبع التحسن بمرور الوقت وتقدم ملاحظات قابلة للتنفيذ."},{question:"كيف يعمل SpeakFlare؟",answer:"قم بتوصيل حساب Zoom أو تثبيت إضافة Chrome الخاصة بنا لـ Google Meet. يلتقط SpeakFlare تلقائياً صوت اجتماعك ويحوله إلى نص باستخدام الذكاء الاصطناعي المتقدم ويحلل الأخطاء النحوية وكلمات الحشو ومشاكل الوضوح وأخطاء المبيعات. ستتلقى تقارير مفصلة مع اقتراحات محددة للتحسين."},{question:"ما هي المنصات المدعومة؟",answer:"المدعومة حالياً: Zoom (عبر تكامل التسجيل السحابي التلقائي) وGoogle Meet (عبر إضافة Chrome). قريباً: Microsoft Teams وWebex ومنصات أخرى."},{question:"هل بيانات اجتماعاتي خاصة؟",answer:"بالتأكيد. خصوصيتك هي أولويتنا القصوى. نستخدم التشفير من طرف إلى طرف على خوادم على مستوى المؤسسات. لا تُشارك بياناتك مع أطراف ثالثة ولا تُستخدم لتدريب نماذج الذكاء الاصطناعي العامة، وتحتفظ بالملكية الكاملة مع القدرة على الحذف في أي وقت."},{question:"ما هي اللغات المدعومة؟",answer:"أكثر من 50 لغة بما في ذلك العربية والعبرية والإنجليزية والإسبانية والفرنسية والألمانية والصينية واليابانية والكورية والبرتغالية والإيطالية والهولندية والروسية وغيرها. يكتشف الذكاء الاصطناعي لدينا تلقائياً لغة الاجتماع ويوفر التحليل بتلك اللغة."},{question:"هل هناك طريقة مجانية لتجربة SpeakFlare؟",answer:"نعم! جرّب عرضاً تجريبياً مجانياً لمدة 30 ثانية مباشرة في متصفحك — بدون تسجيل، بدون حساب، بدون بطاقة ائتمان. وعندما تكون مستعداً، يفتح لك 5 دولارات 20 تحليلاً كاملاً للتسجيلات (الأرصدة لا تنتهي صلاحيتها أبداً)، فتدفع فقط مقابل ما تستخدمه. تفضّل بلا حدود؟ اشترك في Pro مقابل 12 دولاراً/شهر أو 99 دولاراً/سنة."},{question:"كم يكلف؟",answer:"عرض تجريبي مجاني لمدة 30 ثانية: بدون تسجيل، بدون بطاقة ائتمان. الدفع حسب الاستخدام: 5 دولارات مقابل 20 تØ
896³Ø¬ÙŠÙ„اً (20 تحليلاً كاملاً)، والأرصدة لا تنتهي صلاحيتها أبداً. خطة Pro: 12 دولاراً/شهر أو 99 دولاراً/سنة لتحليلات تسجيل غير محدودة مع إشعارات Telegram وتحليلات متقدمة. المؤسسي: خطط مخصصة مع إدارة الفريق للمؤسسات الكبيرة."},{question:"هل يمكنني تتبع تقدمي؟",answer:"نعم! يتضمن SpeakFlare تتبعاً شاملاً للتقدم يُظهر الأخطاء التي أزلتها والاتجاهات بمرور الوقت وإنجازات المعالم. ستشاهد مخططات مرئية تقارن أداءك الحالي بالاجتماعات السابقة."},{question:"ما نوع التغذية الراجعة التي أحصل عليها؟",answer:"أربع فئات تحليل: الأخطاء النحوية (تطابق الفاعل والفعل ومشاكل الزمن) وكلمات الحشو ('آه' و'يعني' و'إيه') ومشاكل الوضوح (بنية الجملة واختيار الكلمات) والمبيعات/العرض التقديمي (فاعلية العرض وتقنيات الإغلاق). تتضمن كل مشكلة الاقتباس الدقيق والطابع الزمني والتحسين المقترح."},{question:"ما مدى دقة الذكاء الاصطناعي؟",answer:"دقيق جداً — أكثر من 95% عبر جميع اللغات المدعومة. نستخدم نماذج AI مفتوحة المصدر (Llama 70B وQwen للتحليل، وOpenAI Whisper للنسخ) محسّنة خصيصاً لسياقات التواصل المهني."},{question:"هل سيعلم الآخرون أنني أستخدم SpeakFlare؟",answer:"لا. يعمل SpeakFlare بصمت في الخلفية. بالنسبة لـ Zoom، يستخدم التسجيلات السحابية. بالنسبة لـ Google Meet، تلتقط إضافة Chrome الصوت محلياً دون إخطار المشاركين الآخرين."},{question:"كم من الوقت يستغرق رؤية النتائج؟",answer:"يرى معظم المستخدمين تحسناً بعد 3-5 اجتماعات فقط. ستدرك فوراً أنماط كلامك. في غضون 2-3 أسابيع من الاستخدام المنتظم، ستلاحظ انخفاضاً ملحوظاً في كلمات الحشو والأخطاء النحوية."},{question:"هل يمكنني استخدامه لتدريب الفريق؟",answer:"نعم! تتضمن خطة المؤسسات لدينا ميزات إدارة الفريق حيث يمكن للمديرين عرض التحليلات الإجمالية وتتبع تحسن الفريق وقياس الأداء عبر أعضاء الفريق."}],es:[{question:"¿Qué es SpeakFlare?",answer:"SpeakFlare es una plataforma de mejora de comunicación impulsada por IA que ayuda a los profesionales a eliminar errores al hablar durante videollamadas, presentaciones y pitches de inversores. Captura automáticamente transcripciones de reuniones, analiza patrones de comunicación (errores gramaticales, muletillas, problemas de claridad, errores de ventas), rastrea la mejora con el tiempo y proporciona retroalimentación práctica."},{question:"¿Cómo funciona SpeakFlare?",answer:"Conecta tu cuenta de Zoom o instala nuestra extensión de Chrome para Google Meet. SpeakFlare captura automáticamente el audio de tu reunión, lo transcribe usando IA avanzada de voz a texto y analiza errores gramaticales, muletillas, problemas de claridad y errores de ventas/presentación. Recibirás informes detallados con sugerencias específicas para mejorar."},{question:"¿Qué plataformas son compatibles?",answer:"Actualmente compatibles: Zoom (mediante integración automática de grabación en la nube) y Google Meet (mediante extensión de Chrome). Próximamente: Microsoft Teams, Webex y otras plataformas."},{question:"¿Son privados los datos de mis reuniones?",answer:"Absolutamente. Tu privacidad es nuestra máxima prioridad. Usamos cifrado de extremo a extremo en servidores de nivel empresarial. Tus datos nunca se comparten con terceros, no se usan para entrenar modelos de IA públicos, y mantienes la propiedad completa con la capacidad de eliminar en cualquier momento."},{question:"¿Qué idiomas son compatibles?",answer:"Más de 50 idiomas incluyendo español, inglés, francés, alemán, hebreo, árabe, chino, japonés, coreano, portugués, italiano, neerlandés, ruso y más. Nuestra IA detecta automáticamente el idioma de la reunión y proporciona análisis en ese idioma."},{question:"¿Hay una forma gratuita de probar SpeakFlare?",answer:"¡Sí! Prueba una demo gratuita de 30 segundos directamente en tu navegador — sin registro, sin cuenta, sin tarjeta de crédito. Cuando estés listo, $5 desbloquea 20 análisis completos de grabaciones (los créditos nunca caducan), así que solo pagas por lo que usas. ¿Prefieres uso ilimitado? Pásate a Pro por $12/mes o $99/año."},{question:"¿Cuánto cuesta?",answer:"Demo gratuita de 30 segundos: sin registro, sin tarjeta de crédito. Pago por uso: $5 por 20 grabaciones (20 análisis completos), y los créditos nunca caducan. Plan Pro: $12/mes o $99/año para análisis de grabaciones ilimitados con notificaciones de Telegram y análisis avanzado. Enterprise: Planes personalizados con gestión de equipos para organizaciones más grandes."},{question:"¿Puedo rastrear mi mejora?",answer:"¡Sí! SpeakFlare incluye seguimiento de progreso completo que muestra qué errores has eliminado, tendencias a lo largo del tiempo e hitos de logros. Verás gráficos visuales que comparan tu rendimiento actual con reuniones pasadas."},{question:"¿Qué tipo de retroalimentación recibo?",answer:"Cuatro categorías de análisis: Errores gramaticales (concordancia sujeto-verbo, problemas de tiempo verbal), Muletillas ('eh', 'o sea', 'tipo'), Problemas de claridad (estructura de oraciones, elección de palabras) y Ventas/Presentación (efectividad del pitch, técnicas de cierre). Cada problema incluye la cita exacta, marca de tiempo y mejora sugerida."},{question:"¿Qué tan precisa es la IA?",answer:"Muy precisa — más del 95% en todos los idiomas compatibles. Usamos modelos de IA de código abierto (Llama 70B y Qwen para análisis, OpenAI Whisper para transcripción) optimizados específicamente para contextos de comunicación profesional."},{question:"¿Sabrán otros que estoy usando SpeakFlare?",answer:"No. SpeakFlare trabaja silenciosamente en segundo plano. Para Zoom, usa grabaciones en la nube. Para Google Meet, la extensión de Chrome captura audio localmente sin notificar a otros participantes."},{question:"¿Cuánto tiempo lleva ver resultados?",answer:"La mayoría de los usuarios ven mejoras después de tan solo 3-5 reuniones. Inmediatamente te volverás consciente de tus patrones de habla. Dentro de 2-3 semanas de uso regular, notarás una reducción significativa en las muletillas y errores gramaticales."},{question:"¿Puedo usarlo para el coaching de equipos?",answer:"¡Sí! Nuestro plan Enterprise incluye funciones de gestión de equipos donde los gerentes pueden ver análisis agregados, rastrear la mejora del equipo y comparar el rendimiento entre los miembros del equipo."}],ru:[{question:"Что такое SpeakFlare?",answer:"SpeakFlare — это платформа улучшения коммуникации на базе ИИ, которая помогает профессионалам устранять речевые ошибки во время видеозвонков, презентаций и питчей для инвесторов. Она автоматически записывает транскрипты встреч, анализирует паттерны общения (грамматические ошибки, слова-паразиты, проблемы ясности, ошибки в продажах), отслеживает улучшения и даёт практические рекомендации."},{question:"Как работает SpeakFlare?",answer:"Подключите аккаунт Zoom или установите наше расширение Chrome для Google Meet. SpeakFlare автоматически записывает аудио встречи, расшифровывает его с помощью передового ИИ распознавания речи и анализирует грамматические ошибки, слова-паразиты, проблемы ясности и ошибки в продажах. Вы получите подробные отчёты с конкретными рекомендациями по улучшению."},{question:"Какие платформы поддерживаются?",answer:"В настоящее время поддерживаются: Zoom (через автоматическую интеграцию облачной записи) и Google Meet (через расширение Chrome). Скоро: Microsoft Teams, Webex и другие платформы."},{question:"Приватны ли данные моих встреч?",answer:"Абсолютно. Ð
896’аша конфиденциальность — наш главный приоритет. Мы используем сквозное шифрование на серверах корпоративного уровня. Ваши данные никогда не передаются третьим лицам, не используются для обучения публичных ИИ-моделей, и вы сохраняете полное владение с возможностью удаления в любое время."},{question:"Какие языки поддерживаются?",answer:"Более 50 языков, включая русский, английский, испанский, французский, немецкий, иврит, арабский, китайский, японский, корейский, португальский, итальянский, нидерландский и другие. Наш ИИ автоматически определяет язык встречи и предоставляет анализ на этом языке."},{question:"Есть ли бесплатный способ попробовать SpeakFlare?",answer:"Да! Попробуйте бесплатное 30-секундное демо прямо в браузере — без регистрации, без аккаунта, без кредитной карты. Когда будете готовы, $5 открывают 20 полных анализов записей (кредиты никогда не сгорают), так что вы платите только за то, что используете. Предпочитаете без ограничений? Перейдите на Pro за $12/месяц или $99/год."},{question:"Сколько это стоит?",answer:"Бесплатное 30-секундное демо: без регистрации, без карты. Оплата по мере использования: $5 за 20 записей (20 полных анализов), и кредиты никогда не сгорают. Pro Plan: $12/мес. или $99/год для безлимитного анализа записей с уведомлениями в Telegram и расширенной аналитикой. Enterprise: индивидуальные планы с управлением командой для крупных организаций."},{question:"Могу ли я отслеживать свой прогресс?",answer:"Да! SpeakFlare включает комплексное отслеживание прогресса, показывающее устранённые ошибки, тенденции со временем и вехи достижений. Вы увидите визуальные графики, сравнивающие текущие результаты с прошлыми встречами."},{question:"Какую обратную связь я получаю?",answer:"Четыре категории анализа: грамматические ошибки (согласование подлежащего и сказуемого, проблемы со временами), слова-паразиты («эм», «типа», «ну»), проблемы ясности (структура предложений, выбор слов) и продажи/презентации (эффективность питча, техники завершения). Каждая проблема включает точную цитату, метку времени и предлагаемое улучшение."},{question:"Насколько точен ИИ?",answer:"Очень точен — 95%+ по всем поддерживаемым языкам. Мы используем модели ИИ с открытым исходным кодом (Llama 70B и Qwen для анализа, OpenAI Whisper для транскрипции), специально оптимизированные для профессионального общения."},{question:"Узнают ли другие, что я использую SpeakFlare?",answer:"Нет. SpeakFlare работает тихо в фоновом режиме. Дл
896я Zoom используются облачные записи. Для Google Meet расширение Chrome записывает аудио локально, не уведомляя других участников."},{question:"Сколько времени нужно, чтобы увидеть результаты?",answer:"Большинство пользователей видят улучшения уже после 3-5 встреч. Вы сразу осознаёте свои речевые паттерны. В течение 2-3 недель регулярного использования вы заметите значительное снижение количества слов-паразитов и грамматических ошибок."},{question:"Можно ли использовать это для командного коучинга?",answer:"Да! Наш план Enterprise включает функции управления командой, где менеджеры могут просматривать агрегированную аналитику, отслеживать улучшения команды и сравнивать производительность участников."}]};function g6e(e){return FM[e]||FM.en}function fS(){const[,e]=ze(),t=St(),r=Sc(t),a=t==="he"||t==="ar",s=g6e(t);return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"FAQ - Is SpeakFlare Free? How Does It Work? | SpeakFlare",description:"Try a free 30-second demo, no sign-up. Then $5 for 20 recordings (pay as you go), or go unlimited with Pro. Get answers about how it works, supported platforms, languages, and pricing.",canonical:"https://speakflare.com/faq",keywords:"SpeakFlare free, SpeakFlare FAQ, free speech analysis, communication coach questions, speech improvement help, zoom analysis questions, free filler word detector",pageType:"faq",breadcrumbs:[{name:"FAQ",url:"https://speakflare.com/faq"}],faqItems:s}),n.jsx(He,{}),n.jsx("section",{className:"flex-1 py-20 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl font-bold mb-4",children:r.faq.title}),n.jsx("p",{className:"text-lg text-muted-foreground",children:r.faq.subtitle})]}),n.jsx(ST,{type:"single",collapsible:!0,className:"space-y-4",children:s.map((i,o)=>n.jsxs(P0,{value:`item-${o}`,className:"bg-card rounded-md px-6",children:[n.jsx(CT,{className:"text-left font-medium py-4",children:i.question}),n.jsx(T0,{className:"text-muted-foreground pb-4",children:i.answer})]},o))}),n.jsxs("div",{className:"text-center mt-16",children:[n.jsx("p",{className:"text-muted-foreground mb-4",children:r.faq.stillHave}),n.jsxs(D,{onClick:()=>e("/contact"),variant:"outline",className:"rounded-md",children:[r.faq.contactUs," ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]})]})}),n.jsx(Ut,{})]})}const DM={en:{heroTitle:"About SpeakFlare",heroSub:"Empowering professionals to communicate with confidence and clarity",missionTitle:"Our Mission",missionP1:"SpeakFlare was built to solve a universal challenge: helping professionals identify and eliminate speaking mistakes that hurt their credibility and impact. Whether you're presenting to investors, leading team meetings, or closing sales deals, every word matters.",missionP2:"We combine cutting-edge AI technology with linguistic expertise to provide instant, actionable feedback across grammar errors, filler words, clarity issues, and presentation weaknesses—in over 50 languages.",valuesTitle:"Our Values",val1title:"Excellence",val1desc:"We're committed to delivering the most accurate and actionable communication insights",val2title:"Inclusivity",val2desc:"Supporting 50+ languages to help professionals worldwide improve their communication",val3title:"Innovation",val3desc:"Constantly evolving our AI technology to provide cutting-edge analysis and feedback",val4title:"Empowerment",val4desc:"Helping every user become a more confident and effective communicator",val5title:"Community",val5desc:"Building a global community of professionals dedicated to communication excellence",val6title:"Privacy",val6desc:"Your meetings and data are secure with enterprise-grade encryption and ISO 27001 standards",storyTitle:"Our Story",storyP1:"SpeakFlare was born from a simple observation: even the most brilliant ideas can fall flat when delivered poorly. Grammar mistakes, excessive filler words, and unclear messaging can undermine credibility and lose deals.",storyP2:"Traditional speech coaching is expensive and time-consuming. We believed there had to be a better way to help professionals improve their communication skills at scale.",storyP3:"By leveraging OpenAI's Whisper API for precise transcription, open source AI models (Llama 70B and Qwen) for intelligent analysis, and multilingual NLP c
896apabilities, we created a platform that provides professional-grade feedback instantly—for a fraction of the cost of traditional coaching.",storyP4:"Today, SpeakFlare analyzes thousands of meetings across 50+ languages, helping professionals worldwide eliminate speaking mistakes, track their improvement, and communicate with greater confidence.",ctaTitle:"Join Our Community",ctaSub:"Start your journey to becoming a more confident and effective communicator",ctaBtn:"Get Started"},he:{heroTitle:"אודות SpeakFlare",heroSub:"מעצימים אנשי מקצוע לתקשר בביטחון ובבהירות",missionTitle:"המשימה שלנו",missionP1:"SpeakFlare נבנה כדי לפתור אתגר אוניברסלי: לעזור לאנשי מקצוע לזהות ולבטל טעויות דיבור שפוגעות באמינותם ובהשפעתם. בין אם אתה מציג למשקיעים, מוביל פגישות צוות, או סוגר עסקאות מכירה — כל מילה חשובה.",missionP2:"אנחנו משלבים טכנולוגיית AI מתקדמת עם מומחיות לשונית כדי לספק משוב מיידי וניתן לפעולה על שגיאות דקדוק, מילות מילוי, בעיות בהירות וחולשות בהצגה — ביותר מ-50 שפות.",valuesTitle:"הערכים שלנו",val1title:"מצוינות",val1desc:"אנחנו מחויבים לספק את תובנות התקשורת המדויקות והישימות ביותר",val2title:"הכלה",val2desc:"תמיכה ב-50+ שפות לעזור לאנשי מקצוע ברחבי העולם לשפר את תקשורתם",val3title:"חדשנות",val3desc:"פיתוח מתמיד של טכנולוגיית ה-AI שלנו כדי לספק ניתוח ומשוב חדשניים",val4title:"העצמה",val4desc:"עוזרים לכל משתמש להיות מתקשר בטוח ואפקטיבי יותר",val5title:"קהילה",val5desc:"בניית קהילה גלובלית של אנשי מקצוע המחויבים למצוינות בתקשורת",val6title:"פרטיות",val6desc:"הפגישות והנתונים שלך מאובטחים עם הצפנה ברמה ארגונית ותקני ISO 27001",storyTitle:"הסיפור שלנו",storyP1:"SpeakFlare נולד מתצפית פשוטה: אפילו הרעיונות הנוצצים ביותר עלולים להיכשל כשמועברים בצורה גרועה. טעויות דקדוק, מילות מילוי מרובות ומסרים לא ברורים עלולים לפגוע באמינות ולאבד עסקאות.",storyP2:"אימון דיבור מסורתי יקר ואורך זמן. האמנו שחייבת להיות דרך טובה יותר לעזור לאנשי מקצוע לשפר את כישורי התקשורת שלהם בקנה מידה גדול.",storyP3:"על ידי מינוף Whisper API של OpenAI לתמלול מדויק, מודלי AI קוד פתוח (Llama 70B ו-Qwen) לניתוח אינטליגנטי, ויכולות NLP רב-לשוניות, יצרנו פלטפורמה שמספקת משוב ברמה מקצועית מיד — בשבריר מעלות האימון המסורתי.",storyP4:"היום, SpeakFlare מנתח אלפי פגישות ב-50+ שפות, ועוזר לאנשי מקצוע ברחבי העולם לבטל טעויות דיבור, לעקוב אחר השיפור שלהם, ולתקשר עם ביטחון רב יותר.",ctaTitle:"הצטרף לקהילה שלנו",ctaSub:"התחל את המסע שלך להיות מתקשר בטוח ואפקטיבי יותר",ctaBtn:"התחל עכשיו"},ar:{heroTitle:"عن SpeakFlare",heroSub:"تمكين المحترفين من التواصل بثقة ووضوح",missionTitle:"مهمتنا",missionP1:"تم بناء SpeakFlare لحل تحدٍّ عالمي: مساعدة المحترفين على تحديد وإزالة أخطاء الكلام التي تضر بمصداقيتهم وتأثيرهم. سواء كنت تعرض على المستثمرين أو تقود اجتماعات الفريق أو تُغلق صفقات البيع، فكل كلمة تهم.",missionP2:"نجمع بين أحدث تقنيات الذكاء الاصطناعي والخبرة اللغوية لتقديم ردود فعل فورية وقابلة للتنفيذ حول الأخطاء النحوية وكلمات الحشو ومشاكل الوضوح ونقاط الضعف في التقديم — بأكثر من 50 لغة.",valuesTitle:"قيمنا",val1title:"التميز",val1desc:"نحن ملتزمون بتقديم أدق رؤى التواصل وأكثرها قابلية للتنفيذ",val2title:"الشمولية",val2desc:"دعم أكثر من 50 لغة لمساعدة المحترفين في جميع أنحاء العالم على تحسين تواصلهم",val3title:"الابتكار",val3desc:"التطوير المستمر لتقنية الذكاء الاصطناعي لدينا لتقديم تحليل وتغذية راجعة متطورة",val4title:"التمكين",val4desc:"مساعدة كل مستخدم ليصبح متواصلاً أكثر ثقة وفعالية",val5title:"المجتمع",val5desc:"بناء مجتمع عالمي من المحترفين المكرّسين لتميز التواصل",val6title:"الخصوصية",val6desc:"اجتماعاتك وبياناتك آمنة مع تشفير على مستوى المؤسسة ومعايير ISO 27001",storyTitle:"قصتنا",storyP1:"وُلد SpeakFlare من ملاحظة بسيطة: حتى أذكى الأفكار يمكن أن تفشل عند تقديمها بشكل سيئ. يمكن للأخطاء النحوية وكلمات الحشو الزائدة والرسائل غير الواضحة أن تقوّض المصداقية وتُضيّع الصفقات.",storyP2:"التدريب على الكلام التقليدي مكلف ويستغرق وقتاً طويلاً. اعتقدنا أنه يجب أن تكون هناك طريقة أفضل لمساعدة المحترفين على تحسين مهارات التواصل لديهم على نطاق واسع.",storyP3:"من خلال الاستفادة من Whisper API من OpenAI للنسخ الدقيق، ونماذج الذكاء الاصطناعي مفتوحة المصدر (Llama 70B وQwen) للتحليل الذكيØ
896Œ وقدرات NLP متعددة اللغات، أنشأنا منصة تقدم تغذية راجعة باحترافية فورياً — بجزء من تكلفة التدريب التقليدي.",storyP4:"اليوم، يحلل SpeakFlare آلاف الاجتماعات عبر أكثر من 50 لغة، مما يساعد المحترفين في جميع أنحاء العالم على التخلص من أخطاء الكلام وتتبع تحسّنهم والتواصل بثقة أكبر.",ctaTitle:"انضم إلى مجتمعنا",ctaSub:"ابدأ رحلتك لتصبح متواصلاً أكثر ثقة وفعالية",ctaBtn:"ابدأ الآن"},es:{heroTitle:"Acerca de SpeakFlare",heroSub:"Empoderando a los profesionales para comunicarse con confianza y claridad",missionTitle:"Nuestra Misión",missionP1:"SpeakFlare fue creado para resolver un desafío universal: ayudar a los profesionales a identificar y eliminar los errores al hablar que dañan su credibilidad e impacto. Ya sea que estés presentando a inversores, liderando reuniones de equipo o cerrando tratos de ventas, cada palabra importa.",missionP2:"Combinamos tecnología de IA de vanguardia con experiencia lingüística para proporcionar retroalimentación instantánea y accionable sobre errores gramaticales, muletillas, problemas de claridad y debilidades en la presentación — en más de 50 idiomas.",valuesTitle:"Nuestros Valores",val1title:"Excelencia",val1desc:"Estamos comprometidos a entregar los insights de comunicación más precisos y accionables",val2title:"Inclusividad",val2desc:"Apoyando más de 50 idiomas para ayudar a profesionales de todo el mund
896o a mejorar su comunicación",val3title:"Innovación",val3desc:"Evolucionando constantemente nuestra tecnología de IA para proporcionar análisis y retroalimentación de vanguardia",val4title:"Empoderamiento",val4desc:"Ayudando a cada usuario a convertirse en un comunicador más seguro y efectivo",val5title:"Comunidad",val5desc:"Construyendo una comunidad global de profesionales dedicados a la excelencia en comunicación",val6title:"Privacidad",val6desc:"Tus reuniones y datos están seguros con cifrado de nivel empresarial y estándares ISO 27001",storyTitle:"Nuestra Historia",storyP1:"SpeakFlare nació de una observación simple: incluso las ideas más brillantes pueden fracasar cuando se presentan mal. Los errores gramaticales, el exceso de muletillas y los mensajes poco claros pueden socavar la credibilidad y perder negocios.",storyP2:"El coaching de habla tradicional es costoso y consume mucho tiempo. Creíamos que debía haber una mejor manera de ayudar a los profesionales a mejorar sus habilidades de comunicación a escala.",storyP3:"Aprovechando la API Whisper de OpenAI para transcripción precisa, modelos de IA de código abierto (Llama 70B y Qwen) para análisis inteligente y capacidades NLP multilingüe, creamos una plataforma que proporciona retroalimentación de nivel profesional de forma instantánea — por una fracción del costo del coaching tradicional.",storyP4:"Hoy, SpeakFlare analiza miles de reuniones en más de 50 idiomas, ayudando a profesionales de todo el mund
896o a eliminar errores al hablar, hacer seguimiento de su mejora y comunicarse con mayor confianza.",ctaTitle:"Únete a Nuestra Comunidad",ctaSub:"Comienza tu viaje para convertirte en un comunicador más seguro y efectivo",ctaBtn:"Empezar"},ru:{heroTitle:"О SpeakFlare",heroSub:"Помогаем профессионалам общаться уверенно и чётко",missionTitle:"Наша миссия",missionP1:"SpeakFlare создан для решения универсальной задачи: помочь профессионалам выявлять и устранять речевые ошибки, подрывающие их авторитет и эффективность. Будь то презентация инвесторам, ведение командных встреч или закрытие сделок — каждое слово важно.",missionP2:"Мы объединяем передовые технологии ИИ с лингвистической экспертизой для мгновенной и практической обратной связи по грамматическим ошибкам, словам-паразитам, проблемам ясности и слабостям в презентации — на более чем 50 языках.",valuesTitle:"Наши ценности",val1title:"Превосходство",val1desc:"Мы стремимся предоставлять наиболее точные и практичные коммуникационные инсайты",val2title:"Инклюзивность",val2desc:"Поддержка 50+ языков для помощи профессионалам по всему миру в улучшении коммуникации",val3title:"Инновации",val3desc:"Постоянное развитие технологий ИИ для предоставления передового анализа и обратной связи",val4title:"Расширение возможностей",val4desc:"Помощь каждому пользователю стать более уверенным и эффективным коммуникатором",val5title:"Сообщество",val5desc:"Создание глобального сообщества профессионалов, посвящённых коммуникационному совершенству",val6title:"Конфиденциальность",val6desc:"Ваши встречи и данные защищены шифрованием корпоративного уровня и стандартами ISO 27001",storyTitle:"Наша история",storyP1:"SpeakFlare появился из простого наблюдения: даже самые блестящие идеи могут провалиться при плохой подаче. Грамматические ошибки, избыток слов-паразитов и нечёткие сообщения могут подорвать доверие и привести к потере сделок.",storyP2:"Традиционный коучинг по речи дорог и требует много времени. Мы верили, что должен быть лучший способ помочь профессионалам улучшить навыки общения в масштабе.",storyP3:"Используя Whisper API от OpenAI для точной транскрипции, открытые модели ИИ (Llama 70B и Qwen) для интеллектуального анализа и многоязычные возможности NLP, мы создали платформу, обеспечивающую профессиональную обратную связь мгновенно — за долю стоимости традиционного коучинга.",storyP4:"Сегодня SpeakFlare анализирует тысячи встреч на 50+ языках, помогая профессионалам по всему миру устранять речевые ошибки, отслеживать прогресс и общаться с большей уверенностью.",ctaTitle:"Присоединяйтесь к нашему сообществу",ctaSub:"Начните свой путь к тому, чтобы стать более уверенным и эф
896фективным коммуникатором",ctaBtn:"Начать"}};function x6e(e){return DM[e]||DM.en}function pS(){const[,e]=ze(),t=St(),r=x6e(t),a=t==="he"||t==="ar",s=[{icon:rr,title:r.val1title,description:r.val1desc},{icon:ti,title:r.val2title,description:r.val2desc},{icon:Ur,title:r.val3title,description:r.val3desc},{icon:M2,title:r.val4title,description:r.val4desc},{icon:Wt,title:r.val5title,description:r.val5desc},{icon:Pr,title:r.val6title,description:r.val6desc}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"About SpeakFlare - Our Mission to Improve Professional Communication",description:"SpeakFlare was built to help professionals eliminate speaking mistakes automatically. Learn about our mission, AI technology (AssemblyAI + Llama 70B), and privacy-first approach.",canonical:"https://speakflare.com/about",keywords:"about SpeakFlare, communication improvement mission, AI speech technology, professional speaking coach, automated communication analysis, AssemblyAI speech recognition",pageType:"page",breadcrumbs:[{name:"About Us",url:"https://speakflare.com/about"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-3xl mx-auto",children:r.heroSub})]}),n.jsx("div",{className:"mb-20",children:n.jsxs(X,{className:"p-12 text-center",children:[n.jsx("h2",{className:"text-3xl font-bold mb-6",children:r.missionTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto mb-6",children:r.missionP1}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:r.missionP2})]})}),n.jsxs("div",{className:"mb-20",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.valuesTitle}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:s.map((i,o)=>n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(i.icon,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"font-bold text-xl mb-2",children:i.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.description})]},o))})]}),n.jsx("div",{className:"mb-20",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-bold mb-8 text-center",children:r.storyTitle}),n.jsxs("div",{className:"space-y-6 text-muted-foreground",children:[n.jsx("p",{children:r.storyP1}),n.jsx("p",{children:r.storyP2}),n.jsx("p",{children:r.storyP3}),n.jsx("p",{children:r.storyP4})]})]})}),n.jsxs("div",{className:"text-center bg-card border border-border rounded-3xl p-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:r.ctaTitle}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-2xl mx-auto",children:r.ctaSub}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),"data-testid":"button-get-started",children:r.ctaBtn})]})]})]})}const $M={en:{heroTitle:"Contact Us",heroSub:"Have a question or need help? We're here for you",formTitle:"Send Us a Message",labelName:"Name",labelEmail:"Email",labelSubject:"Subject",labelMessage:"Message",btnSend:"Send Message",touchTitle:"Get In Touch",method1Title:"General Support",method1Desc:"For general inquiries and support",method2Title:"Enterprise Sales",method2Desc:"For enterprise plans and custom solutions",method3Title:"Technical Support",method3Desc:"For technical issues and troubleshooting",method4Title:"Feedback",method4Desc:"Share your thoughts and suggestions",responseTitle:"Response Time",responseText:"We typically respond to all inquiries within 24 hours during business days. For urgent technical issues, please use our technical support email for priority assistance.",infraTitle:"Email Infrastructure",infraText1:"SpeakFlare uses",infraResend:"Resend",infraText2:"for reliable email delivery. All meeting analysis notifications, summaries, and updates are sent through Resend's enterprise-grade infrastru
896cture with support for 50+ languages and RTL formatting.",toastTitle:"Opening email client",toastDesc:"Your default email application will open with your message"},he:{heroTitle:"צרו קשר",heroSub:"יש לכם שאלה או צריכים עזרה? אנחנו כאן בשבילכם",formTitle:"שלחו לנו הודעה",labelName:"שם",labelEmail:"אימייל",labelSubject:"נושא",labelMessage:"הודעה",btnSend:"שלח הודעה",touchTitle:"דרכי יצירת קשר",method1Title:"תמיכה כללית",method1Desc:"לשאלות כלליות ותמיכה",method2Title:"מכירות ארגוניות",method2Desc:"לתוכניות ארגוניות ופתרונות מותאמים",method3Title:"תמיכה טכנית",method3Desc:"לבעיות טכניות ופתרון תקלות",method4Title:"משוב",method4Desc:"שתפו אותנו במחשבות ובהצעות שלכם",responseTitle:"זמן תגובה",responseText:'אנחנו מגיבים בדרך כלל לכל הפניות תוך 24 שעות בימי עסקים. לבעיות טכניות דחופות, השתמשו בדוא"ל התמיכה הטכנית לסיוע מועדף.',infraTitle:"תשתית דואר אלקטרוני",infraText1:"SpeakFlare משתמשת ב-",infraResend:"Resend",infraText2:"למשלוח דואר אלקטרוני אמין. כל הודעות ניתוח הפגישות, הסיכומים והעדכונים נשלחים דרך תשתית ברמה ארגונית עם תמיכה ב-50+ שפות ועיצוב RTL.",toastTitle:"פותח אפליקציית דואר",toastDesc:"אפליקציית הדואר האלקטרוני המוגדרת כברירת מחדל תיפתח עם ההודעה שלך"},ar:{heroTitle:"اتصل بنا",heroSub:"هل لديك سؤال أو تحتاج مساعدة؟ نحن هنا من أجلك",formTitle:"أرسل لنا رسالة",labelName:"الاسم",labelEmail:"البريد الإلكتروني",labelSubject:"الموضوع",labelMessage:"الرسالة",btnSend:"إرسال الرسالة",touchTitle:"تواصل معنا",method1Title:"الدعم العام",method1Desc:"للاستفسارات العامة والدعم",method2Title:"مبيعات المؤسسات",method2Desc:"لخطط المؤسسات والحلول المخصصة",method3Title:"الدعم التقني",method3Desc:"للمشكلات التقنية واستكشاف الأخطاء",method4Title:"الملاحظات",method4Desc:"شاركنا أفكارك واقتراحاتك",responseTitle:"وقت الاستجابة",responseText:"نستجيب عادةً لجميع الاستفسارات خلال 24 ساعة في أيام العمل. للمشكلات التقنية العاجلة، يرجى استخدام بريد الدعم التقني للحصول على مساعدة ذات أولوية.",infraTitle:"البنية التحتية للبريد الإلكتروني",infraText1:"يستخدم SpeakFlare",infraResend:"Resend",infraText2:"لتسليم البريد الإلكتروني بشكل موثوق. يتم إرسال جميع إشعارات تحليل الاجتماعات والملخصات والتحديثات عبر البنية التحتية للمؤسسات مع دعم أكثر من 50 لغة وتنسيق RTL.",toastTitle:"فتح عميل البريد الإلكتروني",toastDesc:"سيُفتح تطبيق البريد الإلكتروني الافتراضي لديك مع رسالتك"},es:{heroTitle:"Contáctanos",heroSub:"¿Tienes una pregunta o necesitas ayuda? Estamos aquí para ti",formTitle:"Envíanos un Mensaje",labelName:"Nombre",labelEmail:"Email",labelSubject:"Asunto",labelMessage:"Mensaje",btnSend:"Enviar Mensaje",touchTitle:"Ponte en Contacto",method1Title:"Soporte General",method1Desc:"Para consultas generales y soporte",method2Title:"Ventas Empresariales",method2Desc:"Para planes empresariales y soluciones personalizadas",method3Title:"Soporte Técnico",method3Desc:"Para problemas técnicos y resolución de incidencias",method4Title:"Comentarios",method4Desc:"Comparte tus opiniones y sugerencias",responseTitle:"Tiempo de Respuesta",responseText:"Respondemos a todas las consultas en un plazo de 24 horas en días laborables. Para problemas técnicos urgentes, utiliza nuestro correo de soporte técnico para asistencia prioritaria.",infraTitle:"Infraestructura de Email",infraText1:"SpeakFlare utiliza",infraResend:"Resend",infraText2:"para la entrega confiable de emails. Todas las notificaciones de análisis de reuniones, resúmenes y actualizaciones se envían a través de la infraestructura empresarial de Resend con soporte para 50+ idiomas y formato RTL.",toastTitle:"Abriendo cliente de correo",toastDesc:"Tu aplicación de correo predeterminada se abrirá con tu mensaje"},ru:{heroTitle:"Связаться с нами",heroSub:"Есть вопрос или нужна помощь? Мы здесь для вас",formTitle:"Отправьте нам сообщение",labelName:"Имя",labelEmail:"Эл. почта",labelSubject:"Тема",labelMessage:"Сообщение",btnSend:"Отправить сообщение",touchTitle:"Как с нами связаться",method1Title:"Общая поддержка",method1Desc:"Для общих вопросов и поддержки",method2Title:"Корпоративные продажи",method2Desc:"Для корпоративных планов и индивидуальных решений",method3Title:"Техническая поддержка",method3De
896sc:"Для технических проблем и устранения неполадок",method4Title:"Обратная связь",method4Desc:"Поделитесь вашими мыслями и предложениями",responseTitle:"Время ответа",responseText:"Мы обычно отвечаем на все запросы в течение 24 часов в рабочие дни. Для срочных технических проблем используйте наш email технической поддержки для приоритетной помощи.",infraTitle:"Email-инфраструктура",infraText1:"SpeakFlare использует",infraResend:"Resend",infraText2:"для надёжной доставки писем. Все уведомления об анализе встреч, сводки и обновления отправляются через корпоративную инфраструктуру Resend с поддержкой 50+ языков и форматирования RTL.",toastTitle:"Открытие почтового клиента",toastDesc:"Ваше почтовое приложение по умолчанию откроется с вашим сообщением"}};function y6e(e){return $M[e]||$M.en}function gS(){const{toast:e}=dt(),t=St(),r=y6e(t),a=t==="he"||t==="ar",[s,i]=y.useState({name:"",email:"",subject:"",message:""}),o=c=>{c.preventDefault();const d=`mailto:[email protected]?subject=${encodeURIComponent(s.subject)}&body=${encodeURIComponent(`Name: ${s.name}
897Email: ${s.email}
898
899Message:
900${s.message}`)}`;window.location.href=d,e({title:r.toastTitle,description:r.toastDesc})},l=[{icon:Ht,title:r.method1Title,description:r.method1Desc,contact:"[email protected]",color:"text-blue-600 dark:text-blue-400"},{icon:Hv,title:r.method2Title,description:r.method2Desc,contact:"[email protected]",color:"text-purple-600 dark:text-purple-400"},{icon:w8,title:r.method3Title,description:r.method3Desc,contact:"[email protected]",color:"text-green-600 dark:text-green-400"},{icon:tn,title:r.method4Title,description:r.method4Desc,contact:"[email protected]",color:"text-orange-600 dark:text-orange-400"}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Contact Us - Support, Sales & Technical Help | SpeakFlare",description:"Contact SpeakFlare: email [email protected] for account help, [email protected] for pricing inquiries. We respond within 24 hours on weekdays.",canonical:"https://speakflare.com/contact",keywords:"contact SpeakFlare, SpeakFlare support email, speech analysis help, account support, enterprise sales contact",pageType:"page",breadcrumbs:[{name:"Contact",url:"https://speakflare.com/contact"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-3xl mx-auto",children:r.heroSub})]}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 mb-16",children:[n.jsxs(X,{className:"p-8",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:r.formTitle}),n.jsxs("form",{onSubmit:o,className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx(zt,{htmlFor:"name",children:r.labelName}),n.jsx(Et,{id:"name",value:s.name,onChange:c=>i({...s,name:c.target.value}),required:!0,"data-testid":"input-contact-name"})]}),n.jsxs("div",{children:[n.jsx(zt,{htmlFor:"email",children:r.labelEmail}),n.jsx(Et,{id:"email",type:"email",value:s.email,onChange:c=>i({...s,email:c.target.value}),required:!0,"data-testid":"input-contact-email"})]}),n.jsxs("div",{children:[n.jsx(zt,{htmlFor:"subject",children:r.labelSubject}),n.jsx(Et,{id:"subject",value:s.subject,onChange:c=>i({...s,subject:c.target.value}),required:!0,"data-testid":"input-contact-subject"})]}),n.jsxs("div",{children:[n.jsx(zt,{htmlFor:"message",children:r.labelMessage}),n.jsx(Rc,{id:"message",rows:6,value:s.message,onChange:c=>i({...s,message:c.target.value}),required:!0,"data-testid":"input-contact-message"})]}),n.jsx(D,{type:"submit",className:"w-full","data-testid":"button-send-message",children:r.btnSend})]})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:r.touchTitle}),n.jsx("div",{className:"space-y-4",children:l.map((c,d)=>n.jsx(X,{className:"p-6 hover-elevate transition-all",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(c.icon,{className:`h-8 w-8 ${c.color} flex-shrink-0`}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-1",children:c.title}),n.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:c.description}),n.jsx("a",{href:`mailto:${c.contact}`,className:"text-sm text-primary hover:underline",children:c.contact})]})]})},d))}),n.jsxs(X,{className:"p-6 mt-6",children:[n.jsx("h3",{className:"font-bold mb-2",children:r.responseTitle}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r.responseText})]}),n.jsxs(X,{className:"p-6 mt-6",children:[n.jsx("h3",{className:"font-bold mb-2",children:r.infraTitle}),n.jsxs("p",{className:"text-sm text-muted-foreground",children:[r.infraText1," ",n.jsx("strong",{className:"text-foreground",children:r.infraResend})," ",r.infraText2]})]})]})]})]})]})}const LM={en:{h1:"SpeakFlare Blog",comingSoon:"Coming Soon",cardTitle:"We're Building Something Great",cardDesc:"Our blog is currently under construction. We'll be sharing insights on communication improvement, public speaking tips, AI-powered analysis, and success stories from our users.",notifyText:"Want to be notified when we launch? Contact us at:",btnHome:"Back to Home",btnContact:"Contact Us"},he:{h1:"הבלוג של SpeakFlare",comingSoon:"בקרוב",cardTitle:"אנחנו בונים משהו מדהים",cardDesc:"הבלוג שלנו נמצא כרגע בבנייה. נשתף תובנות על שיפור התקשורת, טיפים לדיבור בפני קהל, ניתוח מבוסס AI וסיפורי הצלחה מהמשתמשים שלנו.",notifyText:"רוצים לקבל הודעה כשנשיק? צרו קשר:",btnHome:"חזרה לדף הבית",btnContact:"צרו קשר"},ar:{h1:"مدونة SpeakFlare",comingSoon:"قريباً",cardTitle:"نبني شيئاً رائعاً",cardDesc:"مدونتنا قيد الإنشاء حالياً. سنشارك رؤى حول تحسين التواصل، ونصائح الخطابة العامة، والتحليل المدعوم بالذكاء الاصطناعي، وقصص نجاح مستخدمينا.",n
900otifyText:"هل تريد أن يتم إخطارك عند الإطلاق؟ تواصل معنا على:",btnHome:"العودة إلى الرئيسية",btnContact:"اتصل بنا"},es:{h1:"Blog de SpeakFlare",comingSoon:"Próximamente",cardTitle:"Estamos Construyendo Algo Genial",cardDesc:"Nuestro blog está actualmente en construcción. Compartiremos información sobre mejora de la comunicación, consejos para hablar en público, análisis con IA e historias de éxito de nuestros usuarios.",notifyText:"¿Quieres recibir una notificación cuando lancemos? Contáctanos en:",btnHome:"Volver al Inicio",btnContact:"Contáctanos"},ru:{h1:"Блог SpeakFlare",comingSoon:"Скоро",cardTitle:"Мы создаём что-то великое",cardDesc:"Наш блог сейчас находится в разработке. Мы будем делиться советами по улучшению коммуникации, рекомендациями по публичным выступлениям, анализом на основе ИИ и историями успеха наших пользователей.",notifyText:"Хотите получить уведомление о запуске? Свяжитесь с нами:",btnHome:"На главную",btnContact:"Связаться с нами"}};function v6e(e){return LM[e]||LM.en}function xS(){const[,e]=ze(),t=St(),r=v6e(t),a=t==="he"||t==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Blog - Communication Tips, AI Speech Analysis Insights | SpeakFlare",description:"The SpeakFlare blog: expert tips on eliminating filler words, improving presentation skills, passing investor pitches, and using AI to accelerate professional communication improvement.",canonical:"https://speakflare.com/blog",keywords:"communication improvement tips, filler words how to eliminate, presentation skills blog, public speaking advice, AI speech analysis insights, professional communication",pageType:"article",breadcrumbs:[{name:"Blog",url:"https://speakflare.com/blog"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx(Ua,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.h1}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.comingSoon})]}),n.jsxs(X,{className:"p-12 text-center",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:r.cardTitle}),n.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:r.cardDesc}),n.jsxs("div",{className:"max-w-md mx-auto mb-8",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:r.notifyText}),n.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 text-primary hover:underline",children:[n.jsx(Ht,{className:"h-4 w-4"}),"[email protected]"]})]}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{onClick:()=>e("/"),"data-testid":"button-back-home",children:r.btnHome}),n.jsx(D,{variant:"outline",onClick:()=>e("/contact"),"data-testid":"button-contact",children:r.btnContact})]})]})]})]})}const zM={en:{heroTitle:"Careers at SpeakFlare",heroSub:"Join us in transforming how professionals communicate",whyTitle:"Why Join SpeakFlare?",val1Title:"Mission-Driven",val1Desc:"We're passionate about helping people communicate better",val2Title:"Global Impact",val2Desc:"Supporting 50+ languages and users worldwide",val3Title:"Innovation",val3Desc:"Working with cutting-edge AI and ML technologies",val4Title:"Collaborative",val4Desc:"Small team with big ambitions and mutual respect",openTitle:"Open Positions",openDesc:"We're always looking for talented individuals who share our passion for improving communication. While we don't have specific openings listed right now, we'd love to hear from you.",interestedTitle:"Interested in joining our team?",interestedDesc:"Send your resume and a note about why you're interested to:",lookingFor:"We're particularly interested in:",job1:"Full-Stack Engineers (TypeScript, React, Node.js)",job2:"ML Engineers (NLP, Speech Recognition)",job3:"Product Designers (UI/UX)",job4:"Growth Marketers",btnApply:"Send Application",btnLearn:"Learn More About Us"},he:{heroTitle:"קריירה ב-SpeakFlare",heroSub:"הצטרפו אלינו בשינוי האופן שבו אנשי מקצוע מתקשרים",whyTitle:"למה להצטרף ל-SpeakFlare?",val1Title:"מונע ממשימה",val1Desc:"אנחנו נלהבים לעזור לאנשים לתקשר טוב יותר",val2Title:"השפעה גלובלית",val2Desc:"תמיכה ב-50+ שפות ומשתמשים ברחבי העולם",val3Title:"חדשנות",val3Desc:"עבודה עם טכנולוגיות AI ו-ML חדשניות",val4Title:"שיתופי פעולה",val4Desc:"צוות קטן עם שאיפות גדולות וכבוד הדדי",openTitle:"משרות פתוחות",openDesc:"אנחנו תמיד מחפשים אנשים מוכשרים שחולקים את התשוקה שלנו לשיפור התקשורת. גם אם אי×
900Ÿ לנו משרות ספציפיות כרגע, נשמח לשמוע מכם.",interestedTitle:"מעוניינים להצטרף לצוות שלנו?",interestedDesc:"שלחו את קורות החיים שלכם ופתק מדוע אתם מעוניינים אל:",lookingFor:"אנחנו מחפשים במיוחד:",job1:"מפתחי Full-Stack (TypeScript, React, Node.js)",job2:"מהנדסי ML (NLP, זיהוי דיבור)",job3:"מעצבי מוצר (UI/UX)",job4:"משווקי צמיחה",btnApply:"שלח מועמדות",btnLearn:"למד עוד עלינו"},ar:{heroTitle:"الوظائف في SpeakFlare",heroSub:"انضم إلينا في تحويل طريقة تواصل المحترفين",whyTitle:"لماذا تنضم إلى SpeakFlare؟",val1Title:"مدفوع بالمهمة",val1Desc:"نحن شغوفون بمساعدة الناس على التواصل بشكل أفضل",val2Title:"تأثير عالمي",val2Desc:"دعم أكثر من 50 لغة ومستخدمين حول العالم",val3Title:"الابتكار",val3Desc:"العمل مع أحدث تقنيات الذكاء الاصطناعي والتعلم الآلي",val4Title:"تعاوني",val4Desc:"فريق صغير بطموحات كبيرة واحترام متبادل",openTitle:"الوظائف المتاحة",openDesc:"نحن نبحث دائماً عن أفراد موهوبين يشاركوننا شغفنا بتحسين التواصل. حتى لو لم تكن لدينا وظائف محددة مدرجة الآن، يسعدنا سماع منك.",interestedTitle:"هل أنت مهتم بالانضمام إلى فريقنا؟",interestedDesc:"أرسل سيرتك الذاتية وملاحظة عن سبب اهتمامك إلى:",lookingFor:"نحن مهتمون بشكل خاص بـ:",job1:"مهندسو Full-Stack (TypeScript, React, Node.js)",job2:"مهندسو التعلم الآلي (NLP، التعرف على الكلام)",job3:"مصممو المنتجات (UI/UX)",job4:"مسوقو النمو",btnApply:"إرسال الطلب",btnLearn:"تعرف أكثر علينا"},es:{heroTitle:"Trabaja en SpeakFlare",heroSub:"Únete a nosotros para transformar cómo se comunican los profesionales",whyTitle:"¿Por qué unirse a SpeakFlare?",val1Title:"Orientados a la Misión",val1Desc:"Nos apasiona ayudar a las personas a comunicarse mejor",val2Title:"Impacto Global",val2Desc:"Apoyando 50+ idiomas y usuarios en todo el mund
900o",val3Title:"Innovación",val3Desc:"Trabajando con tecnologías de IA y ML de vanguardia",val4Title:"Colaborativo",val4Desc:"Equipo pequeño con grandes ambiciones y respeto mutuo",openTitle:"Posiciones Abiertas",openDesc:"Siempre buscamos personas talentosas que compartan nuestra pasión por mejorar la comunicación. Aunque no tenemos vacantes específicas en este momento, nos encantaría conocerte.",interestedTitle:"¿Te interesa unirte a nuestro equipo?",interestedDesc:"Envía tu currículum y una nota sobre tu interés a:",lookingFor:"Estamos especialmente interesados en:",job1:"Ingenieros Full-Stack (TypeScript, React, Node.js)",job2:"Ingenieros de ML (NLP, Reconocimiento de Voz)",job3:"Diseñadores de Producto (UI/UX)",job4:"Especialistas en Growth Marketing",btnApply:"Enviar Solicitud",btnLearn:"Conoce Más Sobre Nosotros"},ru:{heroTitle:"Карьера в SpeakFlare",heroSub:"Присоединяйтесь к нам в преобразовании профессионального общения",whyTitle:"Почему стоит присоединиться к SpeakFlare?",val1Title:"Миссия прежде всего",val1Desc:"Мы увлечены помощью людям в улучшении общения",val2Title:"Глобальное влияние",val2Desc:"Поддержка 50+ языков и пользователей по всему миру",val3Title:"Инновации",val3Desc:"Работа с передовыми технологиями ИИ и машинного обучения",val4Title:"Командная работа",val4Desc:"Небольшая команда с большими амбициями и взаимным уважением",openTitle:"Открытые вакансии",openDesc:"Мы всегда ищем талантливых людей, разделяющих нашу страсть к улучшению коммуникации. Даже если сейчас нет конкретных вакансий, мы будем рады услышать от вас.",interestedTitle:"Хотите присоединиться к нашей команде?",interestedDesc:"Отправьте своё резюме и записку о том, почему вас это интересует, на:",lookingFor:"Нас особенно интересуют:",job1:"Full-Stack разработчики (TypeScript, React, Node.js)",job2:"ML-инженеры (NLP, распознавание речи)",job3:"Продуктовые дизайнеры (UI/UX)",job4:"Growth-маркетологи",btnApply:"Отправить заявку",btnLearn:"Узнать больше о нас"}};function b6e(e){return zM[e]||zM.en}function yS(){const[,e]=ze(),t=St(),r=b6e(t),a=t==="he"||t==="ar",s=[{icon:M2,title:r.val1Title,description:r.val1Desc},{icon:ti,title:r.val2Title,description:r.val2Desc},{icon:Ur,title:r.val3Title,description:r.val3Desc},{icon:Wt,title:r.val4Title,description:r.val4Desc}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Careers at SpeakFlare - Join Our AI Communication Team",description:"Join SpeakFlare and help build the future of professional communication. We're hiring engineers, AI researchers, and product leaders passionate about speech technology.",canonical:"https://speakflare.com/careers",keywords:"SpeakFlare jobs, careers AI speech analysis, communication technology jobs, AI startup careers, speech recognition jobs, TypeScript jobs, remote jobs AI",pageType:"page",breadcrumbs:[{name:"Careers",url:"https://speakflare.com/careers"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx(Hv,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.heroSub})]}),n.jsxs("div",{className:"mb-16",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:r.whyTitle}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:s.map((i,o)=>n.jsxs(X,{className:"p-6 text-center hover-elevate transition-all",children:[n.jsx(i.icon,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h3",{className:"font-bold mb-2",children:i.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.description})]},o))})]}),n.jsxs(X,{className:"p-12 text-center max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:r.openTitle}),n.jsx("p",{className:"text-muted-foreground mb-8",children:r.openDesc}),n.jsxs("div",{className:"bg-muted rounded-lg p-6 mb-8",children:[n.jsx("h3",{className:"font-bold mb-3",children:r.interestedTitle}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:r.interestedDesc}),n.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 text-primary hover:underline text-lg font-medium",children:[n.jsx(Ht,{className:"h-5 w-5"}),"[email protected]"]})]}),n.jsxs("div",{className:"text-sm text-muted-foreground mb-6",children:[n.jsx("p",{className:"mb-2",children:r.lookingFor}),n.jsxs("ul",{className:"space-y-1",children:[n.jsxs("li",{children:["• ",r.job1]}),n.jsxs("li",{children:["• ",r.job2]}),n.jsxs("li",{children:["• ",r.job3]}),n.jsxs("li",{children:["• ",r.job4]})]})]}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{onClick:()=>window.location.href="mailto:[email protected]","data-testid":"button-apply",children:r.btnApply}),n.jsx(D,{variant:"outline",onClick:()=>e("/about"),"data-testid":"button-learn-more",children:r.btnLearn})]})]})]})]})}const BM={en:{heroTitle:"Help Center",heroSub:"Find answers to commonly asked questions",searchPlaceholder:"Search help articles...",stillHave:"Still Have Questions?",stillHaveSub:"Can't find the answer you're looking for? Our support team is here to help.",contactSupport:"Contact Support",viewDocs:"View Documentation",cat1:"Getting Started",cat1q1:"How do I record my first meeting?",cat1a1:"You have four options: (1) Install our Chrome extension for Google Meet or Zoom web, (2) Connect your Zoom account for automatic cloud recording capture, (3) Use the dashboard's 'Record Live' feature to record from your microphone, or (4) Upload an existing audio/video file.",cat1q2:"What languages are supported?",cat1a2:"SpeakFlare supports 50+ languages including English, Hebrew, Russian, Spanish, Arabic, Chinese, French, German, Italian, Portuguese, Japanese, Korean, Hindi, and many more. Language is automatically detected from your audio.",cat1q3:"How long does anal
900ysis take?",cat1a3:"Analysis typically takes 1-3 minutes depending on meeting length. You can stop recording instantly - we'll process it in the background and email you when it's ready.",cat2:"Features",cat2q1:"What types of mistakes does SpeakFlare detect?",cat2a1:"We analyze four categories: (1) Grammar Errors - subject-verb disagreements, tense issues, article mistakes; (2) Filler Words - 'um', 'like', 'you know' and language-specific fillers; (3) Clarity Issues - complex sentences, unclear phrasing, passive voice; (4) Sales & Presentation - weak openings, poor objection handling, confidence issues.",cat2q2:"Can I filter analysis by speaker?",cat2a2:"Yes! If your meeting has multiple speakers, you can filter the analysis to show only specific speakers' mistakes across all tabs (Grammar, Filler Words, Clarity, Sales).",cat2q3:"How does Progress Tracking work?",cat2a3:"The Progress page shows which mistakes you've eliminated over time, your average issues per meeting, and detailed history for each word/phrase across all your meetings.",cat3:"Technical",cat3q1:"What audio formats are supported?",cat3a1:"We support WebM, MP4, OGG, WAV, and M4A audio formats. Your audio is automatically compressed to MP3 (mono, 16kHz) for optimal speech processing.",cat3q2:"How do I install the mobile app?",cat3a2:"SpeakFlare is a Progressive Web App (PWA). On iPhone: Open in Safari > Share > Add to Home Screen. On Android: Open in Chrome > Menu > Install app. On Desktop: Look for the install icon in your browser's address bar.",cat3q3:"Is my meeting data secure?",cat3a3:"Yes. We use enterprise-grade encryption, ISO 27001-aligned security practices, session-based authentication with bcrypt password hashing, and comprehensive rate limiting. Your meetings are stored securely and never shared.",cat4:"Billing & Plans",cat4q1:"What's included in each plan?",cat4a1:"Free: a 30-second demo, no sign-up. Pay as you go: $5 for 20 recordings (credits never expire). Pro ($12/mo or $99/yr): unlimited recordings, Telegram notifications, advanced analytics, priority support. Enterprise: team management, API access, custom integrations.",cat4q2:"What happens when I hit my meeting limit?",cat4a2:"If you reach your monthly meeting or hour limit, you can upgrade to a higher plan or wait until your next billing cycle. Meetings are counted when analysis is completed.",cat4q3:"Can I cancel anytime?",cat4a3:"Yes, you can cancel your subscription at any time. You'll continue to have access until the end of your current billing period."},he:{heroTitle:"מרכז עזרה",heroSub:"מצא תשובות לשאלות נפוצות",searchPlaceholder:"חפש מאמרי עזרה...",stillHave:"עדיין יש לך שאלות?",stillHaveSub:"לא מצאת את התשובה שחיפשת? צוות התמיכה שלנו כאן לעזור.",contactSupport:"צור קשר עם תמיכה",viewDocs:"צפה בתיעוד",cat1:"תחילת עבודה",cat1q1:"איך מקליטים את הפגישה הראשונה?",cat1a1:"יש לך ארבע אפשרויות: (1) התקן את תוסף Chrome שלנו עבור Google Meet או Zoom, (2) חבר את חשבון ה-Zoom שלך לצילום הקלטות ענן אוטומטי, (3) השתמש בתכונה 'הקלטה חיה' בלוח הבקרה, או (4) העלה קובץ אודיו/וידאו קיים.",cat1q2:"אילו שפות נתמכות?",cat1a2:"SpeakFlare תומך ב-50+ שפות כולל עברית, אנגלית, רוסית, ספרדית, ערבית, סינית, צרפתית, גרמנית, איטלקית, פורטוגזית, יפנית, קוריאנית, הינדי ועוד רבות. השפה מזוהה אוטומטית מהאודיו שלך.",cat1q3:"כמה זמן לוקח הניתוח?",cat1a3:"הניתוח לוקח בדרך כלל 1-3 דקות בהתאם לאורך הפגישה. ניתן לעצור את ההקלטה מיידית — נעבד אותה ברקע ונשלח לך אימייל כשהיא מוכנה.",cat2:"תכונות",cat2q1:"אילו סוגי טעויות מזהה SpeakFlare?",cat2a1:"אנחנו מנתחים ארבע קטגוריות: (1) שגיאות דקדוק — אי-התאמת נושא-פועל, בעיות זמנים, שגיאות בכתיבה; (2) מילות מילוי — 'אממ', 'כאילו', 'בעצם' וממלאי מקום ספציפיים לשפה; (3) בעיות בהירות — משפטים מורכבים, ניסוח לא ברור, קול סביל; (4) מכירות והצגה — פתיחות חלשות, טיפול לקוי בהתנגדויות, בעיות ביטחון.",cat2q2:"האם ניתן לסנן ניתוח לפי דובר?",cat2a2:"כן! אם בפגישה שלך יש מספר דוברים, ניתן לסנן את הניתוח כך שיציג רק את טעויותיהם של דוברים ספציפיים בכל הלשוניות (דקדוק, מילות מילוי, בהירות, מכירות).",cat2q3:"איך עובד מעקב ההתקדמות?",cat2a3:"דף ההתקדמות מציג אילו טעויות ביטלת לאורך זמן, ממוצע הבעיות שלך לפגישה, והיסטוריה מפורטת לכל מילה/ביטוי בכל הפגישות שלך.",cat3:"טכני",cat3q1:"אילו פורמטי אודיו נתמכים?",cat3a1:"אנחנו תומכים ב-WebM, MP4, OGG, WAV ו-M4A. האודיו שלך נדחס אוטומטית ל-MP3 (מונו, 16kHz) לעיבוד דיבור אופטימלי.",cat3q2:"איך מתקינים את האפליקציה לנייד?",cat3a2:"SpeakFlare היא אפליקציית אינטרנט מתקדמת (PWA). ב-iPhone: פתח ב-Safari > שתף > הוסף למסך הבית. ב-Android: פתח ב-Chrome > תפריט > התקן אפליקציה. בדסקטופ: חפש את סמל ההתקנה בסרגל הכתובות של הדפדפן.",cat3q3:"האם נתוני הפגישה שלי מאובטחים?",cat3a3:"כן. אנחנו משתמשים בהצפנה ברמה ארגונית, בנהלי אבטחה מתואמי ISO 27001, אימות מבוסס-סשן עם גיבוב סיסמאות bcrypt, והגבלת קצב מקיפה. הפגישות שלך מאוחסנות בצורה מאובטחת ולעולם לא משותפות.",cat4:"חיוב ותוכניות",cat4q1:"מה כלול בכל תוכנית?",cat4a1:"חינם: הדגמה של 30 שניות, ללא הרשמה. תשלום לפי שימוש: 5$ עבור 20 הקלטות (הקרדיטים לא פגים). Pro (12$/חודש או 99$/שנה): הקלטות ללא הגבלה, התראות טלגרם, אנליטיקה מתקדמת, תמיכה מועדפת. Enterprise: ניהול צוות, גישת API, אינטגרציות מותאמות.",cat4q2:"מה קורה כשמגיעים למגבלת הפגישות?",cat4a2:"אם ה×
900’עת למגבלת הפגישות או השעות החודשית, ניתן לשדרג לתוכנית גבוהה יותר או להמתין למחזור החיוב הבא. פגישות נספרות כשהניתוח הושלם.",cat4q3:"האם ניתן לבטל בכל עת?",cat4a3:"כן, ניתן לבטל את המנוי שלך בכל עת. תמשיך לגשת עד סוף תקופת החיוב הנוכחית שלך."},ar:{heroTitle:"مركز المساعدة",heroSub:"ابحث عن إجابات للأسئلة الشائعة",searchPlaceholder:"ابحث في مقالات المساعدة...",stillHave:"هل لا تزال لديك أسئلة؟",stillHaveSub:"لم تجد الإجابة التي تبحث عنها؟ فريق الدعم لدينا هنا للمساعدة.",contactSupport:"تواصل مع الدعم",viewDocs:"عرض التوثيق",cat1:"البدء",cat1q1:"كيف أسجل اجتماعي الأول؟",cat1a1:"لديك أربعة خيارات: (1) ثبّت إضافة Chrome الخاصة بنا لـ Google Meet أو Zoom، (2) اربط حساب Zoom الخاص بك لالتقاط التسجيلات السحابية تلقائياً، (3) استخدم ميزة 'التسجيل المباشر' في لوحة التحكم، أو (4) ارفع ملف صوت/فيديو موجود.",cat1q2:"ما اللغات المدعومة؟",cat1a2:"يدعم SpeakFlare أكثر من 50 لغة بما فيها العربية والإنجليزية والعبرية والروسية والإسبانية والصينية والفرنسية والألمانية والإيطالية والبرتغالية واليابانية والكورية والهندية وغيرها الكثير. يتم اكتشاف اللغة تلقائياً من تسجيلك الصوتي.",cat1q3:"كم يستغرق التحليل؟",cat1a3:"يستغرق التحليل عادةً من 1 إلى 3 دقائق حسب مدة الاجتماع. يمكنك إيقاف التسجيل فوراً — سنعالجه في الخلفية ونُرسل لك بريداً إلكترونياً عند الانتهاء.",cat2:"الميزات",cat2q1:"ما أنواع الأخطاء التي يكتشفها SpeakFlare؟",cat2a1:"نحلل أربع فئات: (1) أخطاء نحوية — عدم توافق الفاعل والفعل، مشاكل الأزمنة، أخطاء المقالات؛ (2) كلمات الحشو — 'آه'، 'يعني'، 'إيه' والحشو الخاص بكل لغة؛ (3) مشاكل الوضوح — جمل معقدة، صياغة غير واضحة، المبني للمجهول؛ (4) المبيعات والعرض — افتتاحيات ضعيفة، ضعف التعامل مع الاعتراضات، مشاكل الثقة.",cat2q2:"هل يمكنني تصفية التحليل حسب المتحدث؟",cat2a2:"نعم! إذا كان اجتماعك يضم متحددين متعددين، يمكنك تصفية التحليل لعرض أخطاء متحددين محددين فقط في جميع علامات التبويب (النحو، كلمات الحشو، الوضوح، المبيعات).",cat2q3:"كيف يعمل تتبع التقدم؟",cat2a3:"تُظهر صفحة التقدم الأخطاء التي تخلصت منها بمرور الوقت، ومتوسط المشكلات لكل اجتماع، والسجل التفصيلي لكل كلمة/عبارة في جميع اجتماعاتك.",cat3:"التقني",cat3q1:"ما صيغ الصوت المدعومة؟",cat3a1:"ندعم WebM وMP4 وOGG وWAV وM4A. يتم ضغط صوتك تلقائياً إلى MP3 (أحادي، 16kHz) لمعالجة الكلام بشكل مثالي.",cat3q2:"كيف أثبّت تطبيق الهاتف؟",cat3a2:"SpeakFlare هو تطبيق ويب تقدمي (PWA). على iPhone: افتح في Safari > مشاركة > إضافة إلى الشاشة الرئيسية. على Android: افتح في Chrome > القائمة > تثبيت التطبيق. على سطح المكتب: ابحث عن أيقونة التثبيت في شريط العناوين.",cat3q3:"هل بيانات اجتماعاتي آمنة؟",cat3a3:"نعم. نستخدم تشفيراً على مستوى المؤسسات، وممارسات أمنية متوافقة مع ISO 27001، ومصادقة قائمة على الجلسة مع تجزئة كلمات المرور bcrypt، وتحديد شامل للمعدل. اجتماعاتك مخزنة بأمان ولا تُشارك أبداً.",cat4:"الفواتير والخطط",cat4q1:"ما المتضمن في كل خطة؟",cat4a1:"المبتدئ (9$/شهر): 7 اجتماعات أو 7 ساعات، جميع ميزات التحليل. Pro (19$/شهر): 30 اجتماعاً أو 50 ساعة، إشعارات Telegram، تحليلات متقدمة، دعم ذو أولوية. المؤسسي: اجتماعات غير محدودة، إدارة الفريق، وصول API، تكاملات مخصصة.",cat4q2:"ماذا يحدث عند الوصول لحد الاجتماعات؟",cat4a2:"إذا وصلت إلى حد الاجتماعات أو الساعات الشهري، يمكنك الترقية إلى خطة أعلى أو الانتظار حتى دورة الفواتير التالية. تُحسب الاجتماعات عند اكتمال التحليل.",cat4q3:"هل يمكنني الإلغاء في أي وقت؟",cat4a3:"نعم، يمكنك إلغاء اشتراكك في أي وقت. ستستمر في الوصول حتى نهاية فترة الفواتير الحالية."},es:{heroTitle:"Centro de Ayuda",heroSub:"Encuentra respuestas a las preguntas más fre
900cuentes",searchPlaceholder:"Buscar artículos de ayuda...",stillHave:"¿Tienes más preguntas?",stillHaveSub:"¿No encuentras la respuesta que buscas? Nuestro equipo de soporte está aquí para ayudarte.",contactSupport:"Contactar Soporte",viewDocs:"Ver Documentación",cat1:"Primeros Pasos",cat1q1:"¿Cómo grabo mi primera reunión?",cat1a1:"Tienes cuatro opciones: (1) Instala nuestra extensión de Chrome para Google Meet o Zoom web, (2) Conecta tu cuenta de Zoom para captura automática de grabaciones en la nube, (3) Usa la función 'Grabar en Vivo' del panel para grabar desde tu micrófono, o (4) Sube un archivo de audio/video existente.",cat1q2:"¿Qué idiomas son compatibles?",cat1a2:"SpeakFlare admite más de 50 idiomas incluyendo inglés, hebreo, ruso, español, árabe, chino, francés, alemán, italiano, portugués, japonés, coreano, hindi y muchos más. El idioma se detecta automáticamente de tu audio.",cat1q3:"¿Cuánto tarda el análisis?",cat1a3:"El análisis generalmente tarda entre 1 y 3 minutos dependiendo de la duración de la reunión. Puedes detener la grabación al instante — la procesaremos en segundo plano y te enviaremos un correo cuando esté lista.",cat2:"Funcionalidades",cat2q1:"¿Qué tipos de errores detecta SpeakFlare?",cat2a1:"Analizamos cuatro categorías: (1) Errores gramaticales — desacuerdos sujeto-verbo, problemas de tiempos verbales, errores de artículos; (2) Muletillas — 'eh', 'o sea', 'tipo' y muletillas específicas del idioma; (3) Problemas de claridad — oraciones complejas, redacción confusa, voz pasiva; (4) Ventas y presentación — aperturas débiles, manejo pobre de objeciones, problemas de confianza.",cat2q2:"¿Puedo filtrar el análisis por hablante?",cat2a2:"¡Sí! Si tu reunión tiene múltiples participantes, puedes filtrar el análisis para mostrar solo los errores de hablantes específicos en todas las pestañas (Gramática, Muletillas, Claridad, Ventas).",cat2q3:"¿Cómo funciona el Seguimiento de Progreso?",cat2a3:"La página de Progreso muestra qué errores has eliminado con el tiempo, tu promedio de problemas por reunión e historial detallado de cada palabra/frase en todas tus reuniones.",cat3:"Técnico",cat3q1:"¿Qué formatos de audio son compatibles?",cat3a1:"Admitimos WebM, MP4, OGG, WAV y M4A. Tu audio se comprime automáticamente a MP3 (mono, 16kHz) para un procesamiento óptimo del habla.",cat3q2:"¿Cómo instalo la aplicación móvil?",cat3a2:"SpeakFlare es una Aplicación Web Progresiva (PWA). En iPhone: Abre en Safari > Compartir > Añadir a pantalla de inicio. En Android: Abre en Chrome > Menú > Instalar app. En ordenador: Busca el ícono de instalación en la barra de direcciones del navegador.",cat3q3:"¿Están seguros mis datos de reunión?",cat3a3:"Sí. Usamos cifrado de nivel empresarial, prácticas de seguridad alineadas con ISO 27001, autenticación basada en sesión con hash de contraseñas bcrypt y limitación de velocidad exhaustiva. Tus reuniones se almacenan de forma segura y nunca se comparten.",cat4:"Facturación y Planes",cat4q1:"¿Qué incluye cada plan?",cat4a1:"Gratis: una demo de 30 segundos, sin registro. Pago por uso: $5 por 20 grabaciones (los créditos nunca caducan). Pro ($12/mes o $99/año): grabaciones ilimitadas, notificaciones de Telegram, análisis avanzado, soporte prioritario. Enterprise: gestión de equipos, acceso a API, integraciones personalizadas.",cat4q2:"¿Qué pasa cuando alcanzo mi límite de reuniones?",cat4a2:"Si alcanzas tu límite mensual de reuniones u horas, puedes actualizar a un plan superior o esperar hasta tu próximo ciclo de facturación. Las reuniones se cuentan cuando se completa el análisis.",cat4q3:"¿Puedo cancelar en cualquier momento?",cat4a3:"Sí, puedes cancelar tu suscripción en cualquier momento. Seguirás teniendo acceso hasta el final de tu período de facturación actual."},ru:{heroTitle:"Центр помощи",heroSub:"Найдите ответы на часто задаваемые вопросы",searchPlaceholder:"Поиск по статьям помощи...",stillHave:"Остались вопросы?",stillHaveSub:"Не можете найти нужный ответ? Наша служба поддержки готова помочь.",contactSupport:"Связаться с поддержкой",viewDocs:"Документация",cat1:"Начало работы",cat1q1:"Как записать первую встречу?",cat1a1:"У вас есть четыре варианта: (1) Установите наше расширение Chrome для Google Meet или Zoom, (2) Подключите аккаунт Zoom для автоматического захвата облачных записей, (3) Используйте функцию «Запись в реальном времени» в панели управления, или (4) Загрузите существующий аудио/видео файл.",cat1q2:"Какие языки поддерживаются?",cat1a2:"SpeakFlare поддерживает 50+ языков, включая русский, английский, иврит, испанский, арабский, китайский, французский, немецкий, итальянский, португальский, японский, корейский, хинди и многие другие. Язык определяется автоматически из вашей аудиозаписи.",cat1q3:"Сколько времени занимает анализ?",cat1a3:"Анализ обычно занимает 1-3 минуты в зависимости от продолжительности встречи. Вы можете мгновенно остановить запись — мы обработаем её в фоне и отправим письмо, когда всё будет готово.",cat2:"Возможности",cat2q1:"Какие типы ошибок обнаруживает SpeakFlare?",cat2a1:"Мы анализируем четыре категории: (1) Грамматические ошибки — несогласование подлежащего и сказуемого, проблемы с временами, ошибки в артиклях; (2) Слова-паразиты — «эм», «ну», «типа», «короче» и языко-специфичные заполнители; (3) Проблемы ясности — сложные предложения, неясные формулировки, страдательный залог; (4) Продажи и презентации — слабые вступления, плохая работа с возражениями, проблемы уверенности.",cat2q2:"Можно ли фильтровать анализ по спикеру?",cat2a2:"Да! Если в вашей встрече несколько спикеров, можно отфильтровать анализ, чтобы видеть ошибки конкретных участников во всех вкладках (Грамматика, Слова-паразиты, Ясность, Продажи).",cat2q3:"Как работает отслеживание прогресса?",cat2a3:"Страница «Прогресс» показывает, какие ошибки вы устранили со временем, среднее количество проблем за встречу и подробную историю по каждому слову/фразе во всех ваших встречах.",cat3:"Технические вопросы",cat3q1:"Какие форматы аудио поддерживаются?",cat3a1:"Мы поддерживаем WebM, MP4, OGG, WAV и M4A. Ваш аудиофайл автоматически сжимается до MP3 (моно, 16кГц) для оптимальной обработки речи.",cat3q2:"Как установить мобильное приложение?",cat3a2:"SpeakFlare — это прогрессивное веб-приложение (PWA). На iPhone: откройте в Safari > Поделиться > На экран «Домой». На Android: откройте в Chrome > Меню > Установить приложение. На ПК: ищите значок установки в адресной строке браузера.",cat3q3:"Защищены ли данные моих встреч?",cat3a3:"Да. Мы используем шифрование корпоративного уровня, практики безопасности в соответствии с ISO 27001, аутентификацию на основе сессий с хешированием паролей bcrypt и комплексное ограничение запросов. Ваши встречи надёжно хранятся и никогда не передаются третьим лицам.",cat4:"Оплата и тарифы",cat4q1:"Что входит в каждый тариф?",cat4a1:"Стартер (9$/мес): 7 встреч или 7 часов, все функции анализа. Pro (19$/мес): 30 встреч или 50 часов, уведомления в Telegram, расширенная аналитика, приоритетная поддержка. Корпоративный: неограниченные встречи, управление командой, доступ к API, индивидуальные интеграции.",cat4q2:"Что происходит при достижении лимита встреч?",cat4a2:"Если вы достигли месячного лимита встреч или часов, можно перейти на более высокий тариф или дождаться следующего расчётного периода. Встречи учитываются после завершения анализа.",cat4q3:"Можно ли отменить в любое время?",cat4a3:"Да, вы можете отменить подписку в любое время. Доступ сохранится до конца текущего расчётного периода."}};function w6e(e){return BM[e]||BM.en}function vS(){const[,e]=ze(),t=St(),r=w6e(t),a=t==="he"||t==="ar",s=[{category:r.cat1,questions:[{q:r.cat1q1,a:r.cat1a1},{q:r.cat1q2,a:r.cat1a2},{q:r.cat1q3,a:r.cat1a3}]},{category:r.cat2,questions:[{q:r.cat2q1,a:r.cat2a1},{q:r.cat2q2,a:r.cat2a2},{q:r.cat2q3,a:r.cat2a3}]},{category:r.cat3,questions:[{q:r.cat3q1,a:r.cat3a1},{q:r.cat3q2,a:r.cat3a2},{q:r.cat3q3,a:r.cat3a3}]},{category:r.cat4,questions:[{q:r.cat4q1,a:r.cat4a1},{q:r.cat4q2,a:r.cat4a2},{q:r.cat4q3,a:r.cat4a3}]}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Help Center - Setup Guides, Troubleshooting & Support | SpeakFlare",description:"SpeakFlare Help Center: step-by-step Zoom and Google Meet setup guides, troubleshooting recording issues, managing your account, and contacting support.",canonical:"https://speakflare.com/help-center",keywords:"SpeakFlare help, setup guide, zoom integration help, chrome extension setup, recording troubleshooting, SpeakFlare support, account help",pageType:"page",breadcrumbs:[{name:"Help Center",url:"https://speakflare.com/help-center"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx(w8,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.heroSub})]}),n.jsx("div",{className:"mb-12",children:s.map((i,o)=>n.jsxs("div",{className:"mb-8",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:i.category}),n.jsx(X,{className:"p-6",children:n.jsx(ST,{type:"single",collapsible:!0,className:"w-full",children:i.questions.map((l,c)=>n.jsxs(P0,{value:`item-${o}-${c}`,children:[n.jsx(CT,{className:"text-left",children:l.q}),n.jsx(T0,{className:"text-muted-foreground",children:l.a})]},c))})})]},o))}),n.jsxs(X,{className:"p-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:r.stillHave}),n.jsx("p",{className:"text-muted-foreground mb-6",children:r.stillHaveSub}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsxs(D,{onClick:()=>e("/contact"),"data-testid":"button-contact-support",children:[n.jsx(Ht,{className:"mr-2 h-4 w-4"}),r.contactSupport]}),n.jsx(D,{variant:"outline",onClick:()=>e("/documentation"),"data-testid":"button-documentation",children:r.viewDocs})]})]})]})]})}const WM={en:{heroTitle:"Documentation",heroSub:"Everything you need to know about using SpeakFlare",docs:[{title:"Recording Methods",description:"Learn about all four ways to capture meetings",topics:["Chrome Extension for Google Meet & Zoom","Zoom Cloud Recording Integration","Live Microphone Recording","Audio/Video File Upload"]},{title:"Understanding Analysis",description:"Deep dive into the four analysis categories",topics:["Grammar Errors Detection","Filler Words Tracking","Clarity Issues Analysis","Sales & Presentation Feedback"]},{title:"Progress Tracking",description:"Monitor your improvement over time",topics:["Eliminated Mistakes Dashboard","Metrics & Trends","Word/Phrase History","Speaker Filtering"]},{title:"Email Notifications",description:"Professional multilingual email delivery via Resend",topics:["Powered by Resend API for reliability","Meeting summaries and analysis reports","Multilingual HTML templates (50+ languages)","RTL support for Hebrew & Arabic"]},{title:"Chrome Extension",description:"Install and use the browser extension",topics:["Installation Guide","Google Meet Integration","Zoom Web Client Support","Live Transcription Settings"]},{title:"File Upload",description:"Upload and analyze existing recordings",topics:["Supp
900orted Formats (WebM, MP4, WAV, etc.)","Maximum File Size","Audio Compression","Processing Time"]}],quickStartTitle:"Quick Start Guide",steps:[{num:"1",title:"Sign Up",desc:"Create your account and choose a plan"},{num:"2",title:"Record",desc:"Capture your meeting using any of our methods"},{num:"3",title:"Analyze",desc:"Review detailed insights across 4 categories"},{num:"4",title:"Improve",desc:"Track your progress and eliminate mistakes"}],emailInfraTitle:"Email Service Infrastructure",emailIntro:"SpeakFlare uses",emailIntroMid:"as our email delivery service to send professional, multilingual email notifications to users.",whatWeSendTitle:"What We Send",whatWeSend:["Meeting analysis completion notifications","Detailed analysis summaries with error breakdowns","Progress updates and improvement tracking","Account notifications and security alerts"],keyFeaturesTitle:"Key Features",keyFeatures:[{label:"High Deliverability:",text:"Enterprise-grade email delivery with 99%+ inbox rate"},{label:"Multilingual Support:",text:"Automatic language detection and translation for 50+ languages"},{label:"RTL Support:",text:"Right-to-left text rendering for Hebrew and Arabic"},{label:"Professional Templates:",text:"Branded HTML email templates with responsive design"}],whyResend:"Why Resend?",whyResendText:"Resend provides reliable, developer-friendly email infrastructure with excellent deliverability rates, automatic spam prevention, and robust API support. This ensures you receive your meeting analysis reports promptly and reliably.",needHelp:"Need More Help?",visitHelpCenter:"Visit Help Center",watchTutorials:"Watch Tutorials",contactSupport:"Contact Support"},he:{heroTitle:"תיעוד",heroSub:"כל מה שצריך לדעת על שימוש ב-SpeakFlare",docs:[{title:"שיטות הקלטה",description:"למד על ארבעת הדרכים לצלם פגישות",topics:["הרחבת Chrome לGoogle Meet ו-Zoom","אינטגרציה עם הקלטת ענן של Zoom","הקלטה חיה דרך מיקרופון","העלאת קובץ שמע/וידאו"]},{title:"הבנת הניתוח",description:"צלילה עמוקה לארבע קטגוריות הניתוח",topics:["זיהוי שגיאות דקדוק","מעקב מילות מילוי","ניתוח בעיות בהירות","משוב מכירות והצגות"]},{title:"מעקב התקדמות",description:"עקוב אחר השיפור שלך לאורך זמן",topics:["לוח טעויות שהוסרו","מדדים ומגמות","היסטוריית מילים/ביטויים","סינון לפי דובר"]},{title:"התראות אימייל",description:"משלוח אימייל מקצועי רב-לשוני דרך Resend",topics:["מופעל על ידי Resend API לאמינות","סיכומי פגישות ודוחות ניתוח","תבניות HTML רב-לשוניות (50+ שפות)","תמיכה בכיוון ימין-לשמאל לעברית וערבית"]},{title:"הרחבת Chrome",description:"התקן והשתמש בהרחבת הדפדפן",topics:["מדריך התקנה","אינטגרציה עם Google Meet","תמיכה בלקוח האינטרנט של Zoom","הגדרות תמלול חי"]},{title:"העלאת קבצים",description:"העלה וניתח הקלטות קיימות",topics:["פורמטים נתמכים (WebM, MP4, WAV ועוד)","גודל קובץ מקסימלי","דחיסת שמע","זמן עיבוד"]}],quickStartTitle:"מדריך התחלה מהירה",steps:[{num:"1",title:"הירשם",desc:"צור את החשבון שלך ובחר תוכנית"},{num:"2",title:"הקלט",desc:"תפוס את הפגישה שלך באחת מהשיטות שלנו"},{num:"3",title:"נתח",desc:"עיין בתובנות מפורטות ב-4 קטגוריות"},{num:"4",title:"השתפר",desc:"עקוב אחר ההתקדמות שלך וחסל טעויות"}],emailInfraTitle:"תשתית שירות אימייל",emailIntro:"SpeakFlare משתמש ב-",emailIntroMid:"כשירות משלוח האימייל שלנו לשליחת התראות אימייל מקצועיות ורב-לשוניות למשתמשים.",whatWeSendTitle:"מה אנחנו שולחים",whatWeSend:["התראות על השלמת ניתוח פגישות","סיכומי ניתוח מפורטים עם פירוט שגיאות","עדכוני התקדמות ומעקב שיפור","התראות חשבון והתראות אבטחה"],keyFeaturesTitle:"תכונות מרכזיות",keyFeatures:[{label:"אמינות גבוהה:",text:"משלוח אימייל ברמה ארגונית עם שיעור הגעה לתיבה של 99%+"},{label:"תמיכה רב-לשונית:",text:"זיהוי שפה אוטומטי ותרגום ל-50+ שפות"},{label:"תמיכה בכיוון RTL:",text:"עיבוד טקסט מימין לשמאל לעברית וערבית"},{label:"תבניות מקצועיות:",text:"תבניות HTML עם מיתוג ועיצוב רספונסיבי"}],whyResend:"למה Resend?",whyResendText:"Resend מספקת תשתית אימייל אמינה וידידותית למפתחים עם שיעורי הגעה מצוינים, מניעת ספאם אוטומטית ותמיכת API חזקה. זה מבטיח שתקבל את דוחות ניתוח הפגישות שלך בזמן ובאמינות.",needHelp:"צריך עוד עזרה?",visitHelpCenter:"בקר במרכז העזרה",watchTutorials:"צפה בהדרכות",contactSupport:"פנה לתמיכה"},ar:{heroTitle:"التوثيق",heroSub:"كل ما تحتاج معرفته حول استخدام SpeakFlare",docs:[{title:"طرق التسجيل",description:"تعرف على الطرق الأربع لتسجيل الاجتماعات",topics:["إضافة Chrome لـ Google Meet وZoom","تكامل تسجيل السحابة في Zoom","التسجيل الحي عبر الميكروفون","رفع ملف صوتي/مرئي"]},{title:"فهم التحليل",description:"غوص عميق في الفئات الأربع للتحليل",topics:["اكتشاف الأخطاء النحوية","تتبع كلمات الحشو","تحليل مشاكل الوضوح","ملاحظات المبيعات والعروض التقديمية"]},{title:"تتبع التقدم",description:"راقب تحسّنك بمرور الوقت",topics:["لوحة الأخطاء المُزالة","المقاييس والاتجاهات","تاريخ الكلمات/العبارات","تصفية حسب المتحدث"]},{title:"إشعارات البريد الإلكتروني",description:"تسليم بريد إلكتروني احترافي متعدد اللغات عبر Resend",topics:["مدعوم بـ Resend API للموثوقية","ملخصات الاجتماعات وتقارير التحليل","قوالب HTML متعددة اللغات (50+ لغة)","دعم النص من اليمين إلى اليسار للعربية والعبرية"]},{title:"إضافة Chrome",description:"تثبيت واستخدام إضافة المتصفح",topics:["دليل التثبيت","التكامل مع Google Meet","دعم عميل Zoom على الويب","إعدادات النسخ الحي"]},{title:"رفع الملفات",description:"رفع وتحليل التسجيلات الموجودة",topics:["الصيغ المدعومة (WebM, MP4, WAV وغيرها)","الحجم الأقصى للملف","ضغط الصوت","وقت المعالجة"]}],quickStartTitle:"دليل البدء السريع",steps:[{num:"1",title:"سجّل",desc:"أنشئ حسابك واختر خطة"},{num:"2",title:"سجّل الاجتماع",desc:"التقط اجتماعك باستخدام أي من طرقنا"},{num:"3",title:"حلّل",desc:"راجع الرؤى التفصيلية عبر 4 فئات"},{num:"4",title:"تحسّن",desc:"تتبع تقدمك واحذف الأخطاء"}],emailInfraTitle:"بنية خدمة البريد الإلكتروني",emailIntro:"يستخدم SpeakFlare",emailIntroMid:"كخدمة تسليم البريد الإلكتروني لإرسال إشعارات بريد إلكتروني احترافية متعددة اللغات للمستخدمين.",whatWeSendTitle:"ما نرسله",whatWeSend:["إشعارات اكتمال تحليل الاجتماعات","ملخصات تحليلية مفصلة مع تفاصيل الأخطاء","تحديثات التقدم وتتبع التحسين","إشعارات الحساب وتنبيهات الأمان"],keyFeaturesTitle:"الميزات الرئيسية",keyFeatures:[{label:"إمكانية تسليم عالية:",text:"تسليم بريد إلكتروني بمستوى المؤسسات بمعدل وصول 99%+"},{label:"دعم متعدد اللغات:",text:"اكتشاف اللغة التلقائي والترجمة لأكثر من 50 لغة"},{label:"دعم RTL:",text:"عرض النص من اليمين إلى اليسار للعربية والعبرية"},{label:"قوالب احترافية:",text:"قوالب HTML ذات علامة تجارية بتصميم متجاوب"}],whyResend:"لماذا Resend؟",whyResendText:"يوفر Resend بنية تحتية موثوقة وسهلة للمطورين مع معدلات تسليم ممتازة ومنع تلقائي للرسائل غير المرغوب فيها ودعم API قوي. هذا يضمن استلامك تقارير تحليل الاجتماعات في الوقت المناسب وبشكل موثوق.",needHelp:"هل تحتاج مزيداً من المساعدة؟",visitHelpCenter:"زيارة مركز المساعدة",watchTutorials:"مشاهدة الدروس التعليمية",contactSupport:"التواصل مع الدعم"},es:{heroTitle:"Documentación",heroSub:"Todo lo que necesitas saber sobre el uso de SpeakFlare",docs:[{title:"Métodos de Grabación",description:"Aprende sobre las cuatro formas de capturar reuniones",topics:["Extensión Chrome para Google Meet y Zoom","Integración de grabación en la nube de Zoom","Grabación en vivo por micrófono","Subida de archivo de audio/vídeo"]},{title:"Comprensión del Análisis",description:"Análisis en profundidad de las cuatro categorías",topics:["Detección de errores gramaticales","Seguimiento de muletillas","Análisis de problemas de claridad","Retroalimentación de ventas y presentaciones"]},{title:"Seguimiento de Progreso",description:"Monitorea tu mejora a lo largo del tiempo",topics:["Panel de errores eliminados","Métricas y tendencias","Historial de palabras/frase
900s","Filtrado por hablante"]},{title:"Notificaciones por Email",description:"Entrega de email multilingüe profesional vía Resend",topics:["Impulsado por la API de Resend para fiabilidad","Resúmenes de reuniones e informes de análisis","Plantillas HTML multilingüe (50+ idiomas)","Soporte RTL para hebreo y árabe"]},{title:"Extensión Chrome",description:"Instala y usa la extensión del navegador",topics:["Guía de instalación","Integración con Google Meet","Soporte del cliente web de Zoom","Configuración de transcripción en vivo"]},{title:"Subida de Archivos",description:"Sube y analiza grabaciones existentes",topics:["Formatos soportados (WebM, MP4, WAV, etc.)","Tamaño máximo de archivo","Compresión de audio","Tiempo de procesamiento"]}],quickStartTitle:"Guía de Inicio Rápido",steps:[{num:"1",title:"Regístrate",desc:"Crea tu cuenta y elige un plan"},{num:"2",title:"Graba",desc:"Captura tu reunión usando cualquiera de nuestros métodos"},{num:"3",title:"Analiza",desc:"Revisa los insights detallados en 4 categorías"},{num:"4",title:"Mejora",desc:"Rastrea tu progreso y elimina errores"}],emailInfraTitle:"Infraestructura del Servicio de Email",emailIntro:"SpeakFlare usa",emailIntroMid:"como nuestro servicio de entrega de email para enviar notificaciones profesionales y multilingüe a los usuarios.",whatWeSendTitle:"Qué Enviamos",whatWeSend:["Notificaciones de finalización del análisis de reuniones","Resúmenes de análisis detallados con desglose de errores","Actualizaciones de progreso y seguimiento de mejora","Notificaciones de cuenta y alertas de seguridad"],keyFeaturesTitle:"Características Clave",keyFeatures:[{label:"Alta Entregabilidad:",text:"Entrega de email empresarial con tasa de bandeja de entrada del 99%+"},{label:"Soporte Multilingüe:",text:"Detección automática de idioma y traducción para 50+ idiomas"},{label:"Soporte RTL:",text:"Renderizado de texto de derecha a izquierda para hebreo y árabe"},{label:"Plantillas Profesionales:",text:"Plantillas HTML con marca y diseño responsivo"}],whyResend:"¿Por qué Resend?",whyResendText:"Resend proporciona infraestructura de email fiable y amigable para desarrolladores con excelentes tasas de entregabilidad, prevención automática de spam y soporte API robusto. Esto garantiza que recibas tus informes de análisis de reuniones de forma puntual y fiable.",needHelp:"¿Necesitas más ayuda?",visitHelpCenter:"Visitar el Centro de Ayuda",watchTutorials:"Ver Tutoriales",contactSupport:"Contactar Soporte"},ru:{heroTitle:"Документация",heroSub:"Всё, что нужно знать об использовании SpeakFlare",docs:[{title:"Методы записи",description:"Узнайте о четырёх способах захвата встреч",topics:["Расширение Chrome для Google Meet и Zoom","Интеграция с облачной записью Zoom","Запись в реальном времени через микрофон","Загрузка аудио/видеофайла"]},{title:"Понимание анализа",description:"Подробный разбор четырёх категорий анализа",topics:["Обнаружение грамматических ошибок","Отслеживание слов-паразитов","Анализ проблем ясности","Обратная связь по продажам и презентациям"]},{title:"Отслеживание прогресса",description:"Мониторинг вашего улучшения со временем",topics:["Панель устранённых ошибок","Метрики и тренды","История слов/фраз","Фильтрация по говорящему"]},{title:"Email-уведомления",description:"Профессиональная многоязычная доставка email через Resend",topics:["Работает на Resend API для надёжности","Сводки встреч и отчёты анализа","Многоязычные HTML-шаблоны (50+ языков)","Поддержка RTL для иврита и арабского"]},{title:"Расширение Chrome",description:"Установите и используйте расширение браузера",topics:["Руководство по установке","Интеграция с Google Meet","Поддержка веб-клиента Zoom","Настройки транскрипции в реальном времени"]},{title:"Загрузка файлов",description:"Загрузите и проанализируйте существующие записи",topics:["Поддерживаемые форматы (WebM, MP4, WAV и др.)","Максимальный размер файла","Сжатие аудио","Время обработки"]}],quickStartTitle:"Руководство быстрого старта",steps:[{num:"1",title:"Регистрация",desc:"Создайте аккаунт и выберите план"},{num:"2",title:"Запись",desc:"Захватите встречу любым из наших методов"},{num:"3",title:"Анализ",desc:"Изучите детальную аналитику по 4 категориям"}
900,{num:"4",title:"Улучшение",desc:"Отслеживайте прогресс и устраняйте ошибки"}],emailInfraTitle:"Инфраструктура email-сервиса",emailIntro:"SpeakFlare использует",emailIntroMid:"в качестве сервиса доставки email для отправки профессиональных многоязычных email-уведомлений пользователям.",whatWeSendTitle:"Что мы отправляем",whatWeSend:["Уведомления о завершении анализа встреч","Детальные сводки анализа с разбором ошибок","Обновления прогресса и отслеживание улучшений","Уведомления аккаунта и оповещения безопасности"],keyFeaturesTitle:"Ключевые возможности",keyFeatures:[{label:"Высокая доставляемость:",text:"Email-доставка корпоративного уровня со скоростью попадания в inbox 99%+"},{label:"Многоязычная поддержка:",text:"Автоопределение языка и перевод для 50+ языков"},{label:"Поддержка RTL:",text:"Отображение текста справа налево для иврита и арабского"},{label:"Профессиональные шаблоны:",text:"Брендированные HTML-шаблоны с адаптивным дизайном"}],whyResend:"Почему Resend?",whyResendText:"Resend обеспечивает надёжную, удобную для разработчиков email-инфраструктуру с отличными показателями доставляемости, автоматической защитой от спама и надёжной поддержкой API. Это гарантирует своевременное и надёжное получение отчётов анализа встреч.",needHelp:"Нужна дополнительная помощь?",visitHelpCenter:"Центр помощи",watchTutorials:"Смотреть уроки",contactSupport:"Связаться с поддержкой"}};function j6e(e){return WM[e]||WM.en}const N6e=[ca,_t,it,Ht,ki,Pd];function bS(){const[,e]=ze(),t=St(),r=j6e(t),a=t==="he"||t==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Documentation - Complete Technical Reference | SpeakFlare",description:"Complete SpeakFlare documentation: recording methods (Zoom, Google Meet, file upload), analysis categories, API reference, webhook setup, and integration guides.",canonical:"https://speakflare.com/documentation",keywords:"SpeakFlare documentation, API docs, webhook integration, recording setup guide, communication analysis technical reference, developer docs",pageType:"page",breadcrumbs:[{name:"Documentation",url:"https://speakflare.com/documentation"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx(gte,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.heroSub})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-16",children:r.docs.map((s,i)=>{const o=N6e[i];return n.jsxs(X,{className:"p-6 hover-elevate transition-all",children:[n.jsx(o,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"text-xl font-bold mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:s.description}),n.jsx("ul",{className:"space-y-2",children:s.topics.map((l,c)=>n.jsxs("li",{className:"text-sm flex items-start gap-2",children:[n.jsx("span",{className:"text-primary mt-1",children:"•"}),n.jsx("span",{children:l})]},c))})]},i)})}),n.jsxs(X,{className:"p-8 mb-16",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:r.quickStartTitle}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-6",children:r.steps.map((s,i)=>n.jsxs("div",{children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-primary font-bold mb-3",children:s.num}),n.jsx("h3",{className:"font-bold mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.desc})]},i))})]}),n.jsxs(X,{className:"p-8 mb-16",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:r.emailInfraTitle}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("p",{className:"text-muted-foreground",children:[r.emailIntro," ",n.jsx("strong",{className:"text-foreground",children:"Resend"})," ",r.emailIntroMid]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:r.whatWeSendTitle}),n.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:r.whatWeSend.map((s,i)=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx("span",{className:"text-primary mt-1",children:"•"}),n.jsx("span",{children:s})]},i))})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-2",children:r.keyFeaturesTitle}),n.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:r.keyFeatures.map((s,i)=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx("span",{className:"text-primary mt-1",children:"•"}),n.jsxs("span",{children:[n.jsx("strong",{className:"text-foreground",children:s.label})," ",s.text]})]},i))})]})]}),n.jsx("div",{className:"bg-muted p-4 rounded-lg mt-6",children:n.jsxs("p",{className:"text-sm text-muted-foreground",children:[n.jsx("strong",{className:"text-foreground",children:r.whyResend})," ",r.whyResendText]})})]})]}),n.jsxs("div",{className:"text-center",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:r.needHelp}
900),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{onClick:()=>e("/help-center"),"data-testid":"button-help-center",children:r.visitHelpCenter}),n.jsx(D,{variant:"outline",onClick:()=>e("/tutorials"),"data-testid":"button-tutorials",children:r.watchTutorials}),n.jsx(D,{variant:"outline",onClick:()=>e("/contact"),"data-testid":"button-contact",children:r.contactSupport})]})]})]})]})}const UM={en:{heroTitle:"Video Tutorials",heroSub:"Learn how to get the most out of SpeakFlare",comingSoonTitle:"Tutorials Coming Soon",comingSoonDesc:"We're currently creating comprehensive video tutorials to help you master every feature of SpeakFlare. In the meantime, check out our documentation and help center for detailed written guides.",viewDocs:"View Documentation",visitHelp:"Visit Help Center",upcomingTitle:"Upcoming Tutorials",tutorials:[{title:"Getting Started with SpeakFlare",description:"Complete walkthrough of creating your account and recording your first meeting",duration:"5 min",level:"Beginner"},{title:"Installing the Chrome Extension",description:"Step-by-step guide to installing and using the extension for Google Meet and Zoom",duration:"3 min",level:"Beginner"},{title:"Live Recording from Dashboard",description:"How to use the dashboard's live recording feature for instant analysis",duration:"4 min",level:"Beginner"},{title:"Uploading Audio Files",description:"Learn how to upload and analyze existing meeting recordings",duration:"2 min",level:"Beginner"},{title:"Understanding Your Analysis",description:"Deep dive into the four analysis categories and how to use insights effectively",duration:"8 min",level:"Intermediate"},{title:"Progress Tracking & Improvement",description:"Master the progress tracking features to monitor your communication improvement",duration:"6 min",level:"Intermediate"}]},he:{heroTitle:"הדרכות וידאו",heroSub:"למד כיצד להפיק את המרב מ-SpeakFlare",comingSoonTitle:"הדרכות בקרוב",comingSoonDesc:"אנחנו כרגע יוצרים הדרכות וידאו מקיפות שיעזרו לך לשלוט בכל תכונה של SpeakFlare. בינתיים, בדוק את התיעוד ומרכז העזרה שלנו למדריכים כתובים מפורטים.",viewDocs:"צפה בתיעוד",visitHelp:"בקר במרכז העזרה",upcomingTitle:"הדרכות קרובות",tutorials:[{title:"תחילת העבודה עם SpeakFlare",description:"סיור מקיף ביצירת חשבונך והקלטת הפגישה הראשונה שלך",duration:"5 דק׳",level:"מתחיל"},{title:"התקנת הרחבת Chrome",description:"מדריך שלב-אחר-שלב להתקנת ושימוש בהרחבה עבור Google Meet ו-Zoom",duration:"3 דק׳",level:"מתחיל"},{title:"הקלטה חיה מהלוח",description:"כיצד להשתמש בתכונת ההקלטה החיה של הלוח לניתוח מיידי",duration:"4 דק׳",level:"מתחיל"},{title:"העלאת קבצי שמע",description:"למד כיצד להעלות ולנתח הקלטות פגישות קיימות",duration:"2 דק׳",level:"מתחיל"},{title:"הבנת הניתוח שלך",description:"צלילה עמוקה לארבע קטגוריות הניתוח וכיצד להשתמש בתובנות ביעילות",duration:"8 דק׳",level:"בינוני"},{title:"מעקב התקדמות ושיפור",description:"שלוט בתכונות מעקב ההתקדמות כדי לעקוב אחר שיפור התקשורת שלך",duration:"6 דק׳",level:"בינוני"}]},ar:{heroTitle:"دروس الفيديو",heroSub:"تعلم كيف تستفيد إلى أقصى حد من SpeakFlare",comingSoonTitle:"الدروس قادمة قريباً",comingSoonDesc:"نحن نعمل حالياً على إنشاء دروس فيديو شاملة لمساعدتك على إتقان كل ميزة في SpeakFlare. في غضون ذلك، تحقق من التوثيق ومركز المساعدة للحصول على أدلة مكتوبة مفصلة.",viewDocs:"عرض التوثيق",visitHelp:"زيارة مركز المساعدة",upcomingTitle:"الدروس القادمة",tutorials:[{title:"البدء مع SpeakFlare",description:"جولة كاملة لإنشاء حسابك وتسجيل اجتماعك الأول",duration:"5 دقائق",level:"مبتدئ"},{title:"تثبيت إضافة Chrome",description:"دليل خطوة بخطوة لتثبيت واستخدام الإضافة لـ Google Meet وZoom",duration:"3 دقائق",level:"مبتدئ"},{title:"التسجيل الحي من لوحة التحكم",description:"كيفية استخدام ميزة التسجيل الحي في لوحة التحكم للتحليل الفوري",duration:"4 دقائق",level:"مبتدئ"},{title:"رفع الملفات الصوتية",description:"تعلم كيفية رفع وتحليل تسجيلات الاجتماعات الموجودة",duration:"دقيقتان",level:"مبتدئ"},{title:"فهم تحليلك",description:"غوص عميق في الفئات الأربع للتحليل وكيفية استخدام الرؤى بفعالية",duration:"8 دقائق",level:"متوسط"},{title:"تتبع التقدم والتحسين",description:"أتقن ميزات تتبع التقدم لمراقبة تحسين تواصلك",duration:"6 دقائق",level:"متوسط"}]},es:{heroTitle:"Tutoriales en Vídeo",heroSub:"Aprende a sacar el máximo partido a SpeakFlare",comingSoonTitle:"Tutoriales próximamente",comingSoonDesc:"Actualmente estamos creando tutoriales de vídeo completos para ayudarte a dominar cada función de SpeakFlare. Mientras tanto, consulta nuestra documentación y centro de ayuda para obtener guías escritas detalladas.",viewDocs:"Ver Documentación",visitHelp:"Visitar Centro de Ayuda",upcomingTitle:"Próximos Tutoriales",tutorials:[{title:"Primeros pasos con SpeakFlare",description:"Tutorial completo para crear tu cuenta y grabar tu primera reunión",duration:"5 min",level:"Principiante"},{title:"Instalar la Extensión Chrome",description:"Guía paso a paso para instalar y usar la extensión para Google Meet y Zoom",duration:"3 min",level:"Principiante"},{title:"Grabación en Vivo desde el Panel",description:"Cómo usar la función de grabación en vivo del panel para análisis instantáneo",duration:"4 min",level:"Principiante"}
900,{title:"Subir Archivos de Audio",description:"Aprende a subir y analizar grabaciones de reuniones existentes",duration:"2 min",level:"Principiante"},{title:"Entender tu Análisis",description:"Análisis profundo de las cuatro categorías y cómo usar los insights eficazmente",duration:"8 min",level:"Intermedio"},{title:"Seguimiento de Progreso y Mejora",description:"Domina las funciones de seguimiento de progreso para monitorear tu mejora comunicativa",duration:"6 min",level:"Intermedio"}]},ru:{heroTitle:"Видеоуроки",heroSub:"Узнайте, как получить максимум от SpeakFlare",comingSoonTitle:"Уроки скоро появятся",comingSoonDesc:"Мы создаём исчерпывающие видеоуроки, которые помогут вам освоить каждую функцию SpeakFlare. Пока воспользуйтесь нашей документацией и центром помощи для получения подробных письменных руководств.",viewDocs:"Смотреть документацию",visitHelp:"Центр помощи",upcomingTitle:"Предстоящие уроки",tutorials:[{title:"Начало работы с SpeakFlare",description:"Полное руководство по созданию аккаунта и записи первой встречи",duration:"5 мин",level:"Начинающий"},{title:"Установка расширения Chrome",description:"Пошаговое руководство по установке и использованию расширения для Google Meet и Zoom",duration:"3 мин",level:"Начинающий"},{title:"Запись в реальном времени из панели",description:"Как использовать функцию записи в реальном времени в панели управления для мгновенного анализа",duration:"4 мин",level:"Начинающий"},{title:"Загрузка аудиофайлов",description:"Узнайте, как загружать и анализировать существующие записи встреч",duration:"2 мин",level:"Начинающий"},{title:"Понимание вашего анализа",description:"Детальный разбор четырёх категорий анализа и эффективное использование аналитики",duration:"8 мин",level:"Средний"},{title:"Отслеживание прогресса и улучшение",description:"Освойте функции отслеживания прогресса для мониторинга улучшений в общении",duration:"6 мин",level:"Средний"}]}};function k6e(e){return UM[e]||UM.en}const S6e=[ca,ki,Ze,Pd,ca,ca];function wS(){const[,e]=ze(),t=St(),r=k6e(t),a=t==="he"||t==="ar";return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"Tutorials - Step-by-Step Guides for SpeakFlare",description:"Video tutorials and written guides: how to connect Zoom, install the Chrome extension, read your analysis report, track progress, and get the most from SpeakFlare.",canonical:"https://speakflare.com/tutorials",keywords:"SpeakFlare tutorial, how to use SpeakFlare, Zoom connection guide, Chrome extension tutorial, reading speech analysis report, getting started guide",pageType:"page",breadcrumbs:[{name:"Tutorials",url:"https://speakflare.com/tutorials"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-16",children:[n.jsx($o,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:r.heroTitle}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.heroSub})]}),n.jsxs(X,{className:"p-8 text-center mb-12 max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:r.comingSoonTitle}),n.jsx("p",{className:"text-muted-foreground mb-6",children:r.comingSoonDesc}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{onClick:()=>e("/documentation"),"data-testid":"button-documentation",children:r.viewDocs}),n.jsx(D,{variant:"outline",onClick:()=>e("/help-center"),"data-testid":"button-help-center",children:r.visitHelp})]})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-2xl font-bold text-center mb-8",children:r.upcomingTitle}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:r.tutorials.map((s,i)=>{const o=S6e[i];return n.jsxs(X,{className:"p-6 opacity-60",children:[n.jsx(o,{className:"h-10 w-10 text-primary mb-4"}),n.jsx("h3",{className:"font-bold mb-2",children:s.title}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:s.description}),n.jsxs("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:[n.jsx("span",{className:"px-2 py-1 bg-muted rounded",children:s.duration}),n.jsx("span",{className:"px-2 py-1 bg-muted rounded",children:s.level})]})]},i)})})]})]})]})}const VM={en:{heroSub:"Programmatic access to communication analysis",feat1title:"RESTful API",feat1desc:"Clean, well-documented REST API endpoints for all major operations",feat2title:"Real-time Analysis",feat2desc:"Submit recordings and receive detailed analysis programmatically",feat3title:"Secure Authentication",feat3desc:"API key-based authentication with rate limiting and usage tracking",mainTitle:"API Access - Enterprise Only",mainDesc:"Our API provides programmatic access to all SpeakFlare features including:",bullet1:"Upload and analyze recordings",bullet2:"Retrieve detailed meeting insights",bullet3:"Acce
900ss progress tracking data",bullet4:"Manage user accounts",bullet5:"Bulk operations support",bullet6:"Webhook notifications",bullet7:"Custom integrations",bullet8:"Team management",ctaBoxTitle:"Interested in API Access?",ctaBoxDesc:"API access is available exclusively for Enterprise customers. Contact our sales team to discuss your needs and get access to complete API documentation.",contactSales:"Contact Sales",viewEnterprise:"View Enterprise Plan",exampleTitle:"API Example",codeComment:"// Submit a recording for analysis",codeLanguageComment:"// or specific language code"},he:{heroSub:"גישה תכנותית לניתוח תקשורת",feat1title:"RESTful API",feat1desc:"נקודות קצה REST נקיות ומתועדות היטב לכל הפעולות העיקריות",feat2title:"ניתוח בזמן אמת",feat2desc:"שלח הקלטות וקבל ניתוח מפורט באופן תכנותי",feat3title:"אימות מאובטח",feat3desc:"אימות מבוסס מפתח API עם הגבלת קצב ומעקב שימוש",mainTitle:"גישת API — לארגונים בלבד",mainDesc:"ה-API שלנו מספק גישה תכנותית לכל תכונות SpeakFlare כולל:",bullet1:"העלאה וניתוח הקלטות",bullet2:"שליפת תובנות מפגישות מפורטות",bullet3:"גישה לנתוני מעקב התקדמות",bullet4:"ניהול חשבונות משתמשים",bullet5:"תמיכה בפעולות אצוות",bullet6:"התראות Webhook",bullet7:"אינטגרציות מותאמות אישית",bullet8:"ניהול צוות",ctaBoxTitle:"מעוניין בגישת API?",ctaBoxDesc:"גישת API זמינה באופן בלעדי ללקוחות ארגוניים. צור קשר עם צוות המכירות שלנו כדי לדון בצרכים שלך ולקבל גישה לתיעוד API מלא.",contactSales:"צור קשר עם מכירות",viewEnterprise:"צפה בתוכנית הארגונית",exampleTitle:"דוגמת API",codeComment:"// שלח הקלטה לניתוח",codeLanguageComment:"// או קוד שפה ספציפי"},ar:{heroSub:"وصول برمجي لتحليل الاتصالات",feat1title:"RESTful API",feat1desc:"نقاط نهاية REST نظيفة وموثقة جيداً لجميع العمليات الرئيسية",feat2title:"تحليل في الوقت الفعلي",feat2desc:"أرسل التسجيلات واستقبل التحليل التفصيلي برمجياً",feat3title:"مصادقة آمنة",feat3desc:"مصادقة مبنية على مفتاح API مع تحديد المعدل وتتبع الاستخدام",mainTitle:"وصول API — للمؤسسات فقط",mainDesc:"يوفر API الخاص بنا وصولاً برمجياً لجميع ميزات SpeakFlare بما في ذلك:",bullet1:"رفع وتحليل التسجيلات",bullet2:"استرداد رؤى الاجتماعات التفصيلية",bullet3:"الوصول إلى بيانات تتبع التقدم",bullet4:"إدارة حسابات المستخدمين",bullet5:"دعم العمليات الجماعية",bullet6:"إشعارات Webhook",bullet7:"تكاملات مخصصة",bullet8:"إدارة الفريق",ctaBoxTitle:"مهتم بالوصول إلى API؟",ctaBoxDesc:"الوصول إلى API متاح حصرياً لعملاء المؤسسات. تواصل مع فريق المبيعات لدينا لمناقشة احتياجاتك والحصول على وثائق API الكاملة.",contactSales:"تواصل مع المبيعات",viewEnterprise:"عرض خطة المؤسسات",exampleTitle:"مثال على API",codeComment:"// إرسال تسجيل للتحليل",codeLanguageComment:"// أو رمز لغة محدد"},es:{heroSub:"Acceso programático al análisis de comunicación",feat1title:"API RESTful",feat1desc:"Endpoints REST limpios y bien documentados para todas las operaciones principales",feat2title:"Análisis en tiempo real",feat2desc:"Envía grabaciones y recibe análisis detallado de forma programática",feat3title:"Autenticación segura",feat3desc:"Autenticación basada en clave API con límite de tasa y seguimiento de uso",mainTitle:"Acceso a API — Solo Enterprise",mainDesc:"Nuestra API proporciona acceso programático a todas las funciones de SpeakFlare incluyendo:",bullet1:"Subir y analizar grabaciones",bullet2:"Obtener información detallada de reuniones",bullet3:"Acceder a datos de seguimiento de progreso",bullet4:"Gestionar cuentas de usuarios",bullet5:"Soporte de operaciones masivas",bullet6:"Notificaciones webhook",bullet7:"Integraciones personalizadas",bullet8:"Gestión de equipos",ctaBoxTitle:"¿Interesado en el acceso a la API?",ctaBoxDesc:"El acceso a la API está disponible exclusivamente para clientes Enterprise. Contacta con nuestro equipo de ventas para hablar sobre tus necesidades y obtener acceso a la documentación completa.",contactSales:"Contactar ventas",viewEnterprise:"Ver plan Enterprise",exampleTitle:"Ejemplo de API",codeComment:"// Enviar una grabación para análisis",codeLanguageComment:"// o código de idioma específico"},ru:{heroSub:"Программный доступ к анализу коммуникаций",feat1title:"RESTful API",feat1desc:"Чистые, хорошо задокументированные REST API-эндпоинты для всех основных операций",feat2title:"Анализ в реальном времени",feat2desc:"Отправляйте записи и получайте детальный анализ программно",feat3title:"Безопасная аутентификация",feat3desc:"Аутентификация на основе API-ключа с ограничением запросов и отслеживанием использования",mainTitle:"Доступ к API — только для Enterprise",mainDesc:"Наш API предоставляет программный доступ ко всем функциям SpeakFlare, включая:",bullet1:"Загрузка и анализ записей",bullet2:"Получение подробных данных о встречах",bullet3:"Доступ к данным отслеживания прогресса",bullet4:"Управление учётными записями пользователей",bullet5:"Поддержка пакетных операций",bullet6:"Webhook-уведомления",bullet7:"Пользовательские интеграции",bullet8:"Управление командой",ctaBoxTitle:"Интересует доступ к API?",ctaBoxDesc:"Доступ к API доступен исключительно для корпоративных клиентов. Свяжитесь с нашей командой продаж, чтобы обсудить ваши потребности и получить доступ к полной документации API.",contactSales:"Связаться с отделом продаж",viewEnterprise:"Посмотреть план Enterprise",exampleTitle:"Пример API",codeComment:"// Отправить запись для анализа",codeLanguageComment:"// или конкретный код языка"}};function C6e(e){return VM[e]||VM.en}function jS(){const[,e]=ze(),t=St(),r=C6e(t),a=t==="he"||t==="ar",s=[{icon:d4,title:r.feat1title,description:r.feat1desc}
900,{icon:Ur,title:r.feat2title,description:r.feat2desc},{icon:Pr,title:r.feat3title,description:r.feat3desc}];return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5",dir:a?"rtl":"ltr",children:[n.jsx(lt,{title:"API Documentation - Programmatic Access to Meeting Analysis | SpeakFlare",description:"SpeakFlare API documentation: endpoints for submitting recordings, retrieving analysis results, managing users, and webhooks. Enterprise plan required.",canonical:"https://speakflare.com/api",keywords:"SpeakFlare API, speech analysis API, meeting analysis API, communication coaching API, enterprise API access, developer reference",pageType:"page",breadcrumbs:[{name:"API Documentation",url:"https://speakflare.com/api"}]}),n.jsx(He,{}),n.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx(d4,{className:"h-16 w-16 text-primary mx-auto mb-6"}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"SpeakFlare API"}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:r.heroSub})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-12",children:s.map((i,o)=>n.jsxs(X,{className:"p-6 text-center",children:[n.jsx(i.icon,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h3",{className:"font-bold mb-2",children:i.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.description})]},o))}),n.jsxs(X,{className:"p-12 text-center",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:r.mainTitle}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-2xl mx-auto",children:r.mainDesc}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-8 text-left max-w-2xl mx-auto",children:[n.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[n.jsxs("li",{children:["• ",r.bullet1]}),n.jsxs("li",{children:["• ",r.bullet2]}),n.jsxs("li",{children:["• ",r.bullet3]}),n.jsxs("li",{children:["• ",r.bullet4]})]}),n.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[n.jsxs("li",{children:["• ",r.bullet5]}),n.jsxs("li",{children:["• ",r.bullet6]}),n.jsxs("li",{children:["• ",r.bullet7]}),n.jsxs("li",{children:["• ",r.bullet8]})]})]}),n.jsxs("div",{className:"bg-muted rounded-lg p-6 mb-8",children:[n.jsx("h3",{className:"font-bold mb-3",children:r.ctaBoxTitle}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:r.ctaBoxDesc}),n.jsxs("a",{href:"mailto:[email protected]?subject=API Access Inquiry",className:"inline-flex items-center gap-2 text-primary hover:underline text-lg font-medium",children:[n.jsx(Ht,{className:"h-5 w-5"}),"[email protected]"]})]}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{onClick:()=>window.location.href="mailto:[email protected]?subject=Enterprise%20API%20Inquiry","data-testid":"button-contact-sales",children:r.contactSales}),n.jsx(D,{variant:"outline",onClick:()=>e("/#pricing"),"data-testid":"button-view-enterprise",children:r.viewEnterprise})]})]}),n.jsxs("div",{className:"mt-12",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6 text-center",children:r.exampleTitle}),n.jsx(X,{className:"p-6 bg-muted",children:n.jsx("pre",{className:"text-sm overflow-x-auto",children:n.jsx("code",{children:`${r.codeComment}
901const response = await fetch('https://api.speakflare.com/v1/analyze', {
902  method: 'POST',
903  headers: {
904    'Authorization': 'Bearer YOUR_API_KEY',
905    'Content-Type': 'application/json'
906  },
907  body: JSON.stringify({
908    audio_url: 'https://example.com/recording.mp3',
909    language: 'auto' ${r.codeLanguageComment}
910  })
911});
912
913const result = await response.json();
914console.log(result.analysis);`})})})]})]})]})}function P6e(){var bn,eo,ws,si,Lp,ET,IT;const[,e]=ze(),[t,r]=y.useState(""),[a,s]=y.useState("all"),[i,o]=y.useState(!1),[l,c]=y.useState(!0),[d,u]=y.useState(!1),[m,h]=y.useState(null),[f,b]=y.useState(!1),[g,p]=y.useState(null),{toast:x}=dt(),{data:v,isLoading:w}=De({queryKey:["/api/admin/users"],staleTime:0,refetchOnMount:"always"}),{data:N,isLoading:j,refetch:k}=De({queryKey:["/api/admin/failed-meetings"],refetchInterval:6e4}),{data:S,isLoading:C}=De({queryKey:["/api/admin/stuck-sessions"],refetchInterval:3e4}),{data:A}=De({queryKey:["/api/admin/funnel"],staleTime:6e4}),[T,E]=y.useState(!1),[I,R]=y.useState(!1),[P,M]=y.useState(!0),[O,$]=y.useState({}),[_,F]=y.useState(null),{data:U,isLoading:Z}=De({queryKey:["/api/admin/payments"],staleTime:0,refetchOnMount:"always",enabled:T}),{data:H,isLoading:Q}=De({queryKey:["/api/admin/affiliates"],staleTime:0,refetchOnMount:"always",enabled:I}),B=Ve({mutationFn:async G=>{const rt=await fetch(`/api/admin/affiliates/mark-paid/${G}`,{method:"POST"});if(!rt.ok)throw new Error("Failed to mark paid");return rt.json()},onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/admin/affiliates"]})}}),{data:se,isLoading:ye}=De({queryKey:["/api/admin/chats"],staleTime:0,refetchOnMount:"always",enabled:d}),{data:ne,isLoading:xe}=De({queryKey:["/api/admin/demo-attempts"],staleTime:0,refetchOnMount:"always",enabled:f}),{data:W,isLoading:ee,refetch:ae}=De({queryKey:["/api/admin/tickets"],staleTime:0,refetchOnMount:"always",refetchInterval:6e4}),te=Ve({mutationFn:async({id:G,status:rt,admin_response:ii})=>ct(`/api/admin/tickets/${G}`,"PATCH",{status:rt,admin_response:ii}),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/admin/tickets"]}),F(null),x({title:"Ticket updated"})},onError:()=>x({variant:"destructive",title:"Failed to update ticket"})}),Ae=Ve({mutationFn:async({userId:G,role:rt})=>ct(`/api/admin/users/${G}/role`,"PATCH",{role:rt}),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/admin/users"]}),x({title:"Role updated"})},onError:G=>{x({variant:"destructive",title:"Error",description:G.message})}}),ke=Ve({mutationFn:async G=>ct(`/api/admin/impersonate/${G}`,"POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/auth/user"]}),e("/"),x({title:"Viewing as user"})},onError:G=>{x({variant:"destructive",title:"Impersonation failed",description:G.message})}}),Oe=Ve({mutationFn:async G=>(await fetch(`/api/meetings/${G}/reanalyze`,{method:"POST",credentials:"include"})).json(),onSuccess:()=>{x({title:"Re-queued for analysis"}),k()},onError:G=>{x({variant:"destructive",title:"Failed",description:G.message})}}),$e=Ve({mutationFn:async()=>(await fetch("/api/admin/reanalyze-failed",{method:"POST",credentials:"include"})).json(),onSuccess:G=>{x({title:"Re-queued",description:G.message}),k()},onError:G=>{x({variant:"destructive",title:"Failed",description:G.message})}}),[Ke,Dt]=y.useState(null),[$t,nn]=y.useState(!1),[Kt,z]=y.useState(null),[J,K]=y.useState(!1),le=Ve({mutationFn:async()=>await(await ct("/api/admin/process-all-stuck","POST")).json(),onSuccess:G=>{x({title:"Processing Started",description:G.message}),setTimeout(()=>Qe.invalidateQueries({queryKey:["/api/admin/stuck-sessions"]}),3e4)},onError:G=>{x({variant:"destructive",title:"Error",description:G.message})}}),me=async()=>{nn(!0),Dt(null),z(null);try{const rt=await(await fetch("/api/admin/process-one-stuck",{method:"POST",credentials:"include"})).json();Dt(rt),rt.success?(x({title:"Success",description:`Processed → Meeting ${rt.meetingId}`}),Qe.invalidateQueries({queryKey:["/api/admin/stuck-sessions"]})):rt.isSilent?(z({sessionId:rt.sessionId,title:rt.title,chunkCount:rt.chunkCount}),x({title:"Silent Recording",description:rt.message})):x({variant:"destructive",title:"Failed",description:rt.error||rt.message})}catch(G){Dt({error:G.message}),x({variant:"destructive",title:"Error",description:G.message})}finally{nn(!1)}},de=async()=>
914{if(Kt){K(!0);try{const rt=await(await fetch(`/api/admin/stuck-session/${Kt.sessionId}`,{method:"DELETE",credentials:"include"})).json();rt.success?(x({title:"Deleted"}),Qe.invalidateQueries({queryKey:["/api/admin/stuck-sessions"]}),z(null),Dt(null)):x({variant:"destructive",title:"Failed",description:rt.error})}catch(G){x({variant:"destructive",title:"Error",description:G.message})}finally{K(!1)}}},be=()=>{if(!v)return;const G=["Name","Email","Role","Joined","Meetings","Analyzed","Errors","Last Meeting"],rt=v.map(wa=>[`${wa.firstName} ${wa.lastName}`,wa.email,wa.role,new Date(wa.createdAt).toLocaleDateString(),wa.meetingCount,wa.analyzedCount,wa.totalErrors,wa.lastMeetingDate?new Date(wa.lastMeetingDate).toLocaleDateString():""]),ii=[G,...rt].map(wa=>wa.join(",")).join(`
915`),zp=new Blob([ii],{type:"text/csv"}),Bp=URL.createObjectURL(zp),$c=document.createElement("a");$c.href=Bp,$c.download=`speakflare-users-${new Date().toISOString().split("T")[0]}.csv`,$c.click()},V=G=>new Date(G).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),pe=new Date;pe.setHours(0,0,0,0);const Se=(v||[]).filter(G=>{var zp,Bp,$c;const rt=((zp=G.email)==null?void 0:zp.toLowerCase().includes(t.toLowerCase()))||((Bp=G.firstName)==null?void 0:Bp.toLowerCase().includes(t.toLowerCase()))||(($c=G.lastName)==null?void 0:$c.toLowerCase().includes(t.toLowerCase())),ii=a==="all"||G.role===a;return rt&&ii}),ht=(v||[]).reduce((G,rt)=>G+(parseInt(String(rt.meetingCount))||0),0),Hr=(v||[]).reduce((G,rt)=>G+(parseInt(String(rt.analyzedCount))||0),0),Lt=(v||[]).filter(G=>new Date(G.createdAt)>=pe).length,Dn=(N==null?void 0:N.length)||0;return w?n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs("div",{className:"mb-8 flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"text-3xl font-bold mb-1",children:"Admin Dashboard"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Platform management & analytics"})]}),n.jsxs(D,{onClick:()=>e("/admin/qa"),variant:"outline",children:[n.jsx(cu,{className:"h-4 w-4 mr-2"}),"QA Dashboard"]})]}),n.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-4 mb-8",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Total Users"}),n.jsx(Wt,{className:"h-4 w-4 text-muted-foreground"})]}),n.jsx("div",{className:"text-2xl font-bold",children:(v==null?void 0:v.length)||0})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Joined Today"}),n.jsx(dp,{className:"h-4 w-4 text-muted-foreground"})]}),n.jsx("div",{className:"text-2xl font-bold",children:Lt})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Total Meetings"}),n.jsx(_t,{className:"h-4 w-4 text-muted-foreground"})]}),n.jsx("div",{className:"text-2xl font-bold",children:ht})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Analyzed"}),n.jsx(nr,{className:"h-4 w-4 text-green-500"})]}),n.jsx("div",{className:"text-2xl font-bold text-green-600",children:Hr})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Failed Analysis"}),n.jsx(Di,{className:"h-4 w-4 text-destructive"})]}),n.jsx("div",{className:`text-2xl font-bold ${Dn>0?"text-destructive":""}`,children:Dn})]})})]}),A&&n.jsxs(X,{className:"mb-6",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(it,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Conversion Funnel"})]})}),n.jsx(ue,{children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsxs("div",{className:"text-center px-4 py-2 bg-muted/50 rounded-lg min-w-[100px]",children:[n.jsx("div",{className:"text-2xl font-bold",children:A.total_users}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"Signed Up"})]}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground shrink-0"}),n.jsxs("div",{className:"text-center px-4 py-2 bg-muted/50 rounded-lg min-w-[100px]",children:[n.jsx("div",{className:"text-2xl font-bold text-blue-600",children:A.first_meeting}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"First Meeting"}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[A.total_users>
9150?Math.round(A.first_meeting/A.total_users*100):0,"%"]})]}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground shrink-0"}),n.jsxs("div",{className:"text-center px-4 py-2 bg-muted/50 rounded-lg min-w-[100px]",children:[n.jsx("div",{className:"text-2xl font-bold text-green-600",children:A.analyzed}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"Analyzed"}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[A.total_users>0?Math.round(A.analyzed/A.total_users*100):0,"%"]})]}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground shrink-0"}),n.jsxs("div",{className:"text-center px-4 py-2 bg-muted/50 rounded-lg min-w-[100px]",children:[n.jsx("div",{className:"text-2xl font-bold text-amber-600",children:A.paid}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"Paid"}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[A.total_users>0?Math.round(A.paid/A.total_users*100):0,"%"]})]})]})})]}),j?null:Dn>0&&n.jsxs(X,{className:"mb-6 border-destructive/40",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Di,{className:"h-5 w-5 text-destructive"}),n.jsxs(at,{className:"text-base",children:["Failed Analysis (",Dn,")"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(D,{size:"sm",variant:"outline",onClick:()=>$e.mutate(),disabled:$e.isPending,children:[$e.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-1"}):n.jsx(_n,{className:"h-4 w-4 mr-1"}),"Re-queue All"]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>c(G=>
915!G),children:l?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})]})}),l&&n.jsx(ue,{children:n.jsx("div",{className:"space-y-2",children:N==null?void 0:N.map(G=>n.jsxs("div",{className:"flex items-start justify-between p-3 bg-destructive/5 border border-destructive/20 rounded-lg gap-3",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-medium text-sm truncate",children:G.title||"Untitled"}),n.jsx(ve,{variant:G.analysisStatus==="failed"?"destructive":"secondary",className:"text-xs shrink-0",children:G.analysisStatus})]}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[G.userEmail," · ",V(G.date)]}),G.analysisError&&n.jsx("div",{className:"text-xs text-destructive mt-1 font-mono truncate",title:G.analysisError,children:G.analysisError})]}),n.jsx(D,{size:"sm",variant:"ghost",className:"shrink-0",onClick:()=>Oe.mutate(G.id),disabled:Oe.isPending,children:n.jsx(_n,{className:"h-3.5 w-3.5"})})]},G.id))})})]}),((S==null?void 0:S.totalStuck)||0)>0&&n.jsxs(X,{className:"mb-6 border-orange-500/40",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(pa,{className:"h-5 w-5 text-orange-500"}),n.jsxs(at,{className:"text-base",children:["Stuck Recordings (",S==null?void 0:S.totalStuck,")"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(D,{size:"sm",variant:"outline",onClick:me,disabled:$t,children:[$t?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-1"}):null,"Process One"]}),n.jsxs(D,{size:"sm",onClick:()=>le.mutate(),disabled:le.isPending,children:[n.jsx($o,{className:"h-4 w-4 mr-1"}),"Process All"]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>o(G=>!G),children:i?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})]})}),i&&n.jsxs(ue,{children:[Kt&&n.jsxs("div",{className:"mb-4 p-3 rounded-lg border bg-yellow-500/10 border-yellow-500/50",children:[n.jsx("h4",{className:"font-semibold text-sm mb-1",children:"Silent Recording Detected"}),n.jsxs("p",{className:"text-xs mb-3",children:['"',Kt.title,'" (',Kt.chunkCount," chunks) has no spoken audio."]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsxs(D,{variant:"destructive",size:"sm",onClick:de,disabled:J,children:[J?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-1"}):n.jsx(Yo,{className:"h-4 w-4 mr-1"}),"Delete"]}),n.jsx(D,{variant:"outline",size:"sm",onClick:()=>z(null),children:"Cancel"})]})]}),Ke&&!Kt&&n.jsx("div",{className:`mb-4 p-3 rounded-lg border text-xs font-mono ${Ke.success?"bg-green-500/10 border-green-500/50":"bg-red-500/10 border-red-500/50"}`,children:n.jsx("pre",{className:"overflow-auto max-h-40 whitespace-pre-wrap",children:JSON.stringify(Ke,null,2)})}),n.jsxs("div",{className:"space-y-2",children:[S==null?void 0:S.stuckSessions.map(G=>n.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/50 rounded-lg",children:[n.jsxs("div",{children:[n.jsx("span",{className:"font-medium text-sm",children:G.title||"Untitled"}),n.jsxs("span",{className:"text-xs text-muted-foreground ml-2",children:["(",G.chunkCount," chunks)"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:new Date(G.lastChunkAt).toLocaleString()}),n.jsx(D,{variant:"ghost",size:"icon",onClick:()=>z({sessionId:G.sessionId,title:G.title||"Untitled",chunkCount:G.chunkCount}),children:n.jsx(Yo,{className:"h-4 w-4 text-destructive"})})]})]},G.sessionId)),S==null?void 0:S.orphanedSessions.map(G=>n.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/50 rounded-lg",children:[n.jsxs("div",{children:[n.jsx("span",{className:"font-medium text-sm",children:"Orphaned Chunks"}),n.jsxs("span",{className:"text-xs text-muted-foreground ml-2",children:["(",G.chunkCount," chunks)"]})]}),n.jsx(ve,{variant:"outline",children:"orphaned"})]},G.sessionId))]})]})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-3",children:[n.jsxs(at,{className:"flex items-center gap-2",children:[n.jsx(Wt,{className:"h-5 w-5"}),"Users (",Se.length,")"]}),n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsxs("div",{className:"relative",children:[n.jsx(Wte,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),n.jsx(Et,{placeholder:"Search name or email...",value:t,onChange:G=>r(G.target.value),className:"pl-9 w-52"})]}),n.jsxs(zi,{value:a,onValueChange:s,children:[n.jsx(Hs,{className:"w-32",children:n.jsx(Bi,{})}),n.jsxs(Gs,{children:[n.jsx(jt,{value:"all",children:"All Roles"}),n.jsx(jt,{value:"user",children:"User"}),n.jsx(jt,{value:"admin",children:"Admin"})]})]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:be,children:[n.jsx(Kv,{className:"h-4 w-4 mr-1"}),"CSV"]})]})]})}),n.jsx(ue,{children:n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"User"}),n.jsx("th",{className:"pb-3 pr-4 font-medium hidden md:table-cell",children:"Joined"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center",children:"Meetings"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center hidden sm:table-cell",children:"Analyzed"}),n.jsx("th",{className:"pb-3 pr-4 font-medium hidden lg:table-cell",children:"Last Meeting"}),n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Role"}),n.jsx("th",{className:"pb-3 font-medium",children:"Actions"})]})}),n.jsxs("tbody",{children:[Se.map(G=>n.jsxs("tr",{className:"border-b last:border-0 hover:bg-muted/30 transition-colors",children:[n.jsx("td",{className:"py-3 pr-4",children:n.jsxs("div",{className:"cursor-pointer hover:text-primary",onClick:()=>e(`/admin/user/${G.id}`),children:[n.jsxs("div",{className:"font-medium",children:[G.firstName," ",G.lastName]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:G.email})]})}),n.jsx("td",{className:"py-3 pr-4 text-muted-foreground hidden md:table-cell whitespace-nowrap",children:V(G.createdAt)}),n.jsx("td",{className:"py-3 pr-4 text-center",children:n.jsx("span",{className:"font-semibold",children:parseInt(String(G.meetingCount))||0})}),n.jsx("td",{className:"py-3 pr-4 text-center hidden sm:table-cell",children:n.jsx("span",{className:parseInt(String(G.analyzedCount))>0?"text-green-600 font-medium":"text-muted-foreground",children:parseInt(String(G.analyzedCount))||0})}),n.jsx("td",{className:"py-3 pr-4 text-muted-foreground text-xs hidden lg:table-cell whitespace-nowrap",children:G.lastMeetingDate?V(G.lastMeetingDate):"—"}),n.jsx("td",{className:"py-3 pr-4",children:n.jsxs(zi,{defaultValue:G.role,onValueChange:rt=>Ae.mutate({userId:G.id,role:rt}),disabled:Ae.isPending,children:[n.jsx(Hs,{className:"w-24 h-7 text-xs",children:n.jsx(Bi,{})}),n.jsxs(Gs,{children:[n.jsx(jt,{value:"user",children:"User"}),n.jsx(jt,{value:"admin",children:"Admin"})]})]})}),n.jsx("td",{className:"py-3",children:n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx(D,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>e(`/admin/user/${G.id}`),children:"Details"}),n.jsx(D,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>ke.mutate(G.id),disabled:ke.isPending,title:"View as user",children:n.jsx(Js,{className:"h-3.5 w-3.5"})})]})})]},G.id)),Se.length===0&&n.jsx("tr",{children:n.jsx("td",{colSpan:7,className:"py-12 text-center text-muted-foreground",children:"No users found"})})]})]})})})]}),n.jsxs(X,{className:"mt-6",children:[n.jsxs(Ye,{className:"pb-3",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Gh,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Payments"}),U&&n.jsx(ve,{variant:"secondary",className:"text-xs",children:U.length})]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>E(G=>
915!G),children:T?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]}),U&&n.jsxs("div",{className:"flex gap-4 mt-2 text-sm text-muted-foreground",children:[n.jsxs("span",{children:["Pro users: ",n.jsx("strong",{children:U.filter(G=>G.status==="paid").length})]}),n.jsxs("span",{children:["MRR est: ",n.jsxs("strong",{children:["$",U.filter(G=>G.status==="paid"&&G.plan==="monthly").length*12+Math.round(U.filter(G=>G.status==="paid"&&G.plan==="annual").length*99/12),"/mo"]})]})]})]}),T&&n.jsx(ue,{children:Z?n.jsx("div",{className:"flex justify-center py-6",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):U&&U.length>0?n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"border-b",children:[n.jsx("th",{className:"pb-3 text-left font-medium",children:"User"}),n.jsx("th",{className:"pb-3 text-left font-medium",children:"Plan"}),n.jsx("th",{className:"pb-3 text-left font-medium",children:"Amount"}),n.jsx("th",{className:"pb-3 text-left font-medium",children:"Status"}),n.jsx("th",{className:"pb-3 text-left font-medium",children:"Date"})]})}),n.jsx("tbody",{children:U.map(G=>n.jsxs("tr",{className:"border-b last:border-0 hover:bg-muted/30 transition-colors",children:[n.jsxs("td",{className:"py-3 pr-4",children:[n.jsxs("div",{className:"font-medium text-xs",children:[G.first_name," ",G.last_name]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:G.email})]}),n.jsx("td",{className:"py-3 pr-4 capitalize text-xs",children:G.plan||"—"}),n.jsxs("td",{className:"py-3 pr-4 text-xs",children:["$",((G.amount||0)/100).toFixed(2)]}),n.jsx("td",{className:"py-3 pr-4",children:n.jsx(ve,{variant:G.status==="paid"?"default":"secondary",className:"text-xs capitalize",children:G.status})}),n.jsx("td",{className:"py-3 text-xs text-muted-foreground",children:new Date(G.created_at).toLocaleDateString()})]},G.id))})]})}):n.jsx("p",{className:"text-sm text-muted-foreground text-center py-6",children:"No payments yet"})})]}),n.jsxs(X,{className:"mt-6",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Gh,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Affiliate Payouts"}),(H==null?void 0:H.pendingPayouts)&&H.pendingPayouts.length>0&&n.jsxs(ve,{variant:"destructive",className:"text-xs",children:[H.pendingPayouts.length," pending"]})]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>R(G=>!G),children:I?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})}),I&&n.jsx(ue,{children:Q?n.jsx("div",{className:"flex justify-center py-8",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-semibold mb-3",children:"Pending Payout Requests"}),!(H!=null&&H.pendingPayouts)||H.pendingPayouts.length===0?n.jsx("p",{className:"text-sm text-muted-foreground",children:"No pending payouts"}):n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"User"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Amount"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Method"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Address"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Requested"}),n.jsx("th",{className:"pb-2 font-medium",children:"Action"})]})}),n.jsx("tbody",{children:H.pendingPayouts.map(G=>{var rt;return n.jsxs("tr",{className:"border-b last:border-0",children:[n.jsxs("td",{className:"py-2 pr-4",children:[n.jsxs("div",{className:"font-medium",children:[G.first_name," ",G.last_name]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:G.email})]}),n.jsxs("td",{className:"py-2 pr-4 font-bold text-green-600",children:["$",(G.amount_cents/100).toFixed(2)]}),n.jsx("td",{className:"py-2 pr-4 capitalize text-xs",children:(rt=G.method)==null?void 0:rt.replace("_"," ")}),n.jsx("td",{className:"py-2 pr-4 text-xs font-mono max-w-[180px] truncate",children:G.address}),n.jsx("td",{className:"py-2 pr-4 text-xs text-muted-foreground",children:new Date(G.created_at).toLocaleDateString()}),n.jsx("td",{className:"py-2",children:n.jsx(D,{size:"sm",onClick:()=>B.mutate(G.id),disabled:B.isPending,className:"text-xs",children:"Mark Paid"})})]},G.id)})})]})})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-semibold mb-3",children:"All Affiliates"}),!(H!=null&&H.affiliates)||H.affiliates.length===0?n.jsx("p",{className:"text-sm text-muted-foreground",children:"No affiliates yet"}):n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"User"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Balance"}),n.jsx("th",{className:"pb-2 pr-4 font-medium",children:"Total Earned"}),n.jsx("th",{className:"pb-2 font-medium",children:"Referrals"})]})}),n.jsx("tbody",{children:H.affiliates.map(G=>n.jsxs("tr",{className:"border-b last:border-0",children:[n.jsxs("td",{className:"py-2 pr-4",children:[n.jsxs("div",{className:"font-medium",children:[G.first_name," ",G.last_name]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:G.email})]}),n.jsxs("td",{className:"py-2 pr-4 font-semibold",children:["$",(G.affiliate_balance/100).toFixed(2)]}),n.jsxs("td",{className:"py-2 pr-4 text-green-600 font-semibold",children:["$",(G.total_earned_cents/100).toFixed(2)]}),n.jsx("td",{className:"py-2",children:G.total_earnings_count})]},G.id))})]})})]})]})})]}),n.jsxs(X,{className:"mt-6",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(tn,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Chat Sessions"}),se&&n.jsx(ve,{variant:"secondary",className:"text-xs",children:se.length})]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>u(G=>!G),children:d?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})}),d&&n.jsx(ue,{children:ye?n.jsx("div",{className:"flex justify-center py-8",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):!se||se.length===0?n.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No chat sessions yet."}):n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Time"}),n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Mode"}),n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"User"}),n.jsx("th",{className:"pb-3 pr-4 font-medium hidden md:table-cell",children:"Page"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center",children:"Messages"}),n.jsx("th",{className:"pb-3 font-medium",children:"Lang"})]})}),n.jsx("tbody",{children:se.map(G=>n.jsxs(L.Fragment,{children:[n.jsxs("tr",{className:"border-b last:border-0 hover:bg-muted/30 transition-colors cursor-pointer",onClick:()=>h(m===G.id?null:G.id),children:[n.jsx("td",{className:"py-3 pr-4 text-xs text-muted-foreground whitespace-nowrap",children:new Date(G.updated_at).toLocaleStr
915ing()}),n.jsx("td",{className:"py-3 pr-4",children:n.jsx(ve,{variant:G.mode==="sales"?"default":"secondary",className:"text-xs capitalize",children:G.mode})}),n.jsx("td",{className:"py-3 pr-4",children:G.email?n.jsxs("div",{children:[n.jsxs("div",{className:"font-medium text-xs",children:[G.first_name," ",G.last_name]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:G.email})]}):n.jsx("span",{className:"text-xs text-muted-foreground",children:"Visitor"})}),n.jsx("td",{className:"py-3 pr-4 text-xs text-muted-foreground hidden md:table-cell max-w-[180px] truncate",children:G.page_url?(()=>{try{return new URL(G.page_url).pathname}catch{return G.page_url}})():"—"}),n.jsx("td",{className:"py-3 pr-4 text-center",children:n.jsx("span",{className:"font-semibold",children:G.message_count||0})}),n.jsx("td",{className:"py-3 text-xs text-muted-foreground uppercase",children:G.language||"en"})]}),m===G.id&&n.jsx("tr",{className:"bg-muted/20",children:n.jsx("td",{colSpan:6,className:"px-4 py-4",children:n.jsxs("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:[(G.messages||[]).map((rt,ii)=>n.jsx("div",{className:`flex ${rt.role==="user"?"justify-end":"justify-start"}`,children:n.jsx("div",{className:`max-w-[75%] rounded-xl px-3 py-2 text-xs leading-relaxed ${rt.role==="user"?"bg-primary text-primary-foreground":"bg-white border border-border text-foreground"}`,children:rt.content})},ii)),(!G.messages||G.messages.length===0)&&n.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"No messages"})]})})},`${G.id}-transcript`)]},G.id))})]})})})]}),n.jsxs(X,{className:"mt-6",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ze,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Demo Activity"}),((bn=ne==null?void 0:ne.stats)==null?void 0:bn.total)!=null&&n.jsx(ve,{variant:"secondary",className:"text-xs",children:ne.stats.total})]}),n.jsx(D,{size:"sm",variant:"ghost",onClick:()=>b(G=>!G),children:f?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})}),f&&n.jsx(ue,{children:xe?n.jsx("div",{className:"flex justify-center py-8",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):!ne||!((eo=ne.attempts)!=null&&eo.length)?n.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No demo attempts yet."}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-5 gap-3 mb-5",children:[{label:"Total",value:((ws=ne.stats)==null?void 0:ws.total)??0},{label:"Last 7 days",value:((si=ne.stats)==null?void 0:si.last_7d)??0},{label:"Avg score",value:((Lp=ne.stats)==null?void 0:Lp.avg_score)??"—"},{label:"Avg fillers/min",value:((ET=ne.stats)==null?void 0:ET.avg_fpm)??"—"},{label:"Gave email",value:((IT=ne.stats)==null?void 0:IT.with_email)??0}].map(G=>n.jsxs("div",{className:"rounded-lg border p-3 text-center",children:[n.jsx("div",{className:"text-xl font-bold",children:G.value}),n.jsx("div",{className:"text-[11px] text-muted-foreground mt-0.5",children:G.label})]},G.label))}),n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Time"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center",children:"Score"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center",children:"Fillers/min"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center",children:"WPM"}),n.jsx("th",{className:"pb-3 pr-4 font-medium hidden md:table-cell",children:"Source"}),n.jsx("th",{className:"pb-3 font-medium",children:"Lang"})]})}),n.jsx("tbody",{children:ne.attempts.map(G=>n.jsxs(L.Fragment,{children:[n.jsxs("tr",{className:"border-b last:border-0 hover:bg-muted/30 transition-colors cursor-pointer",onClick:()=>p(g===G.id?null:G.id),children:[n.jsx("td",{className:"py-3 pr-4 text-xs text-muted-foreground whitespace-nowrap",children:new Date(G.created_at).toLocaleStr
915ing()}),n.jsx("td",{className:"py-3 pr-4 text-center font-semibold",children:G.score??"—"}),n.jsx("td",{className:"py-3 pr-4 text-center",children:G.fillers_per_min??"—"}),n.jsx("td",{className:"py-3 pr-4 text-center",children:G.wpm??"—"}),n.jsxs("td",{className:"py-3 pr-4 text-xs text-muted-foreground hidden md:table-cell",children:[G.source,G.gave_email?" · ✉️":""]}),n.jsx("td",{className:"py-3 text-xs text-muted-foreground",children:G.lang||"—"})]}),g===G.id&&G.transcript&&n.jsx("tr",{className:"bg-muted/20",children:n.jsxs("td",{colSpan:6,className:"p-3 text-xs text-foreground/80 italic",children:['"',G.transcript,'"']})})]},G.id))})]})})]})})]}),n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-3 cursor-pointer",onClick:()=>M(G=>!G),children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(O2,{className:"h-5 w-5 text-muted-foreground"}),n.jsx(at,{className:"text-base",children:"Support Tickets"}),W&&n.jsxs(ve,{variant:W.filter(G=>G.status==="open").length>0?"destructive":"secondary",className:"text-xs",children:[W.filter(G=>G.status==="open").length," open"]})]}),n.jsx(D,{size:"sm",variant:"ghost",children:P?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]})}),P&&n.jsx(ue,{children:ee?n.jsx("div",{className:"flex justify-center py-8",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):!W||W.length===0?n.jsx("p",{className:"text-sm text-muted-foreground text-center py-8",children:"No tickets yet."}):n.jsx("div",{className:"space-y-3",children:W.map(G=>n.jsxs("div",{className:"border rounded-lg p-4 space-y-2",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"font-semibold text-sm truncate",children:G.subject}),n.jsx(ve,{variant:G.status==="open"?"destructive":G.status==="in_progress"?"default":"secondary",className:"text-xs shrink-0",children:G.status}),n.jsx(ve,{variant:"outline",className:`text-xs shrink-0 ${G.priority==="high"?"border-red-400 text-red-600":""}`,children:G.priority})]}),n.jsxs("div",{className:"text-xs text-muted-foreground mt-0.5",children:[G.user_email," · ",new Date(G.created_at).toLocaleString()]})]}),n.jsxs("div",{className:"flex gap-1 shrink-0",children:[G.status!=="resolved"&&n.jsxs(D,{size:"sm",variant:"outline",className:"text-xs h-7 px-2",onClick:()=>te.mutate({id:G.id,status:"resolved"}),children:[n.jsx(nr,{className:"h-3 w-3 mr-1"})," Resolve"]}),n.jsxs(D,{size:"sm",variant:"ghost",className:"text-xs h-7 px-2",onClick:()=>F(_===G.id?null:G.id),children:[n.jsx(ls,{className:"h-3 w-3 mr-1"})," Reply"]})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground bg-muted/40 rounded p-2",children:G.message}),G.admin_response&&n.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded p-2",children:[n.jsx("p",{className:"text-xs font-semibold text-primary mb-1",children:"Your response:"}),n.jsx("p",{className:"text-sm",children:G.admin_response})]}),_===G.id&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Rc,{placeholder:"Type your response...",value:O[G.id]||"",onChange:rt=>$(ii=>({...ii,[G.id]:rt.target.value})),rows:3,className:"text-sm"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(D,{size:"sm",className:"text-xs",disabled:te.isPending,onClick:()=>te.mutate({id:G.id,status:"in_progress",admin_response:O[G.id]||""}),children:"Send Response"}),n.jsx(D,{size:"sm",variant:"outline",className:"text-xs",onClick:()=>F(null),children:"Cancel"})]})]})]},G.id))})})]})]})})}var PT="Progress",TT=100,[T6e,G8e]=rn(PT),[A6e,E6e]=T6e(PT),PZ=y.forwardRef((e,t)=>{const{__scopeProgress:r,value:a=null,max:s,getValueLabel:i=I6e,...o}=e;(s||s===0)&&!qM(s)&&console.error(_6e(`${s}`,"Progress"));const l=qM(s)?s:TT;a!==null&&!HM(a,l)&&console.error(M6e(`${a}`,"Progress"));const c=HM(a,l)?a:null,d=wv(c)?i(c,l):void 0;return n.jsx(A6e,{scope:r,value:c,max:l,children:n.jsx(Me.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":wv(c)?c:void 0,"aria-valuetext":d,role:"progressbar","data-state":EZ(c,l),"data-value":c??void 0,"data-max":l,...o,ref:t})})});PZ.displayName=PT;var TZ="ProgressIndicator",AZ=y.forwardRef((e,t)=>
915{const{__scopeProgress:r,...a}=e,s=E6e(TZ,r);return n.jsx(Me.div,{"data-state":EZ(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...a,ref:t})});AZ.displayName=TZ;function I6e(e,t){return`${Math.round(e/t*100)}%`}function EZ(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function wv(e){return typeof e=="number"}function qM(e){return wv(e)&&!isNaN(e)&&e>0}function HM(e,t){return wv(e)&&!isNaN(e)&&e<=t&&e>=0}function _6e(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${TT}\`.`}function M6e(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
916  - a positive number
917  - less than the value passed to \`max\` (or ${TT} if no \`max\` prop is set)
918  - \`null\` or \`undefined\` if the progress is indeterminate.
919
920Defaulting to \`null\`.`}var IZ=PZ,O6e=AZ;const $p=y.forwardRef(({className:e,value:t,...r},a)=>n.jsx(IZ,{ref:a,className:_e("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...r,children:n.jsx(O6e,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));$p.displayName=IZ.displayName;function R6e(e){switch(e){case"pass":return n.jsx(gn,{className:"h-5 w-5 text-green-500"});case"warning":return n.jsx(pa,{className:"h-5 w-5 text-yellow-500"});case"fail":return n.jsx(Di,{className:"h-5 w-5 text-red-500"});default:return n.jsx(cu,{className:"h-5 w-5 text-muted-foreground"})}}function F6e(e){switch(e){case"pass":return n.jsx(ve,{className:"bg-green-500/10 text-green-600 border-green-500/30",children:"PASS"});case"warning":return n.jsx(ve,{className:"bg-yellow-500/10 text-yellow-600 border-yellow-500/30",children:"WARNING"});case"fail":return n.jsx(ve,{className:"bg-red-500/10 text-red-600 border-red-500/30",children:"FAIL"});default:return n.jsx(ve,{variant:"secondary",children:"UNKNOWN"})}}function D6e(e){switch(e){case"meeting-transcription":return n.jsx(R1,{className:"h-5 w-5"});case"meeting-analysis":return n.jsx(cu,{className:"h-5 w-5"});case"stuck-recordings":return n.jsx(Ze,{className:"h-5 w-5"});case"orphaned-chunks":return n.jsx(wte,{className:"h-5 w-5"});case"voice-profiles":return n.jsx(Wt,{className:"h-5 w-5"});case"user-data-integrity":return n.jsx(Wt,{className:"h-5 w-5"});case"typescript-compilation":return n.jsx(N8,{className:"h-5 w-5"});case"api-health":return n.jsx(E8,{className:"h-5 w-5"});case"server-logs":return n.jsx(xte,{className:"h-5 w-5"});case"eslint-quality":return n.jsx(Ste,{className:"h-5 w-5"});case"build-status":return n.jsx(Rte,{className:"h-5 w-5"});default:return n.jsx(cu,{className:"h-5 w-5"})}}function $6e({onProcessNow:e}){const{data:t,isLoading:r,refetch:a,isFetching:s}=De({queryKey:["/api/qa/watchdog-status"],refetchInterval:5e3}),[i,o]=y.useState("");return y.useEffect(()=>{const l=()=>{if(t!=null&&t.lastRun){const d=Math.floor((Date.now()-new Date(t.lastRun).getTime())/1e3);d<60?o(`${d}s ago`):o(`${Math.floor(d/60)}m ${d%60}s ago`)}};l();const c=setInterval(l,1e3);return()=>clearInterval(c)},[t==null?void 0:t.lastRun]),r?n.jsx(X,{className:"mb-6",children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{className:"h-5 w-5 animate-spin"}),n.jsx("span",{children:"Loading watchdog status..."})]})})}):n.jsxs(X,{className:"mb-6 border-2 border-primary/20",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${t!=null&&t.running?"bg-green-500/20":"bg-red-500/20"}`,children:n.jsx(Js,{className:`h-5 w-5 ${t!=null&&t.running?"text-green-500":"text-red-500"}`})}),n.jsxs("div",{children:[n.jsx(at,{className:"text-lg",children:"QA Watchdog"}),n.jsx(Bo,{children:"Monitors and auto-processes stuck recordings"})]})]}),n.jsx(ve,{className:t!=null&&t.running?"bg-green-500/10 text-green-600 border-green-500/30":"bg-red-500/10 text-red-600 border-red-500/30",children:t!=null&&t.running?"RUNNING":"STOPPED"})]})}),n.jsxs(ue,{children:[n.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-4",children:[n.jsxs("div",{className:"p-3 rounded-lg bg-muted/50",children:[n.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-1",children:[n.jsx(vn,{className:"h-3 w-3"}),"Last Check"]}),n.jsx("div",{className:"font-semibold",children:i||"Never"})]}),n.jsxs("div",{className:"p-3 rounded-lg bg-muted/50",children:[n.jsx("div",{className:"text-sm text-muted-foreground",children:"Cycle #"}),n.jsx("div",{className:"font-semibold",children:(t==null?void 0:t.cycleCount)||0})]}),n.jsxs("div",{className:"p-3 rounded-lg bg-muted/50",children:[n.jsx("div",{className:"text-sm text-muted-foreground",children:"Interval"}),n.jsxs("div",{className:"font-semibold",children:[(t==null?void 0:t.intervalSeconds)||30,"s"]})]}),n.jsxs("div",{className:`p-3 rounded-lg ${((t==null?void 0:t.currentStuckCount)||0)>0?"bg-amber-500/20":"bg-green-500/20"}`,children:[n.jsx("div",{className:"text-sm text-muted-foreground",children:"Stuck Now"}),n.jsx("div",{className:`font-semibold ${((t==null?void 0:t.currentStuckCount)||0)>0?"text-amber-600":"text-green-600"}`,children:(t==null?void 0:t.currentStuckCount)||0})]})]}),(t==null?void 0:t.stuckSessions)&&t.stuckSessions.length>0&&n.jsxs("div",{className:"mb-4 p-3 rounded-lg bg-amber-500/10 border border-amber-500/30",children:[n.jsx("div",{className:"font-medium text-amber-700 dark:text-amber-400 mb-2",children:"Stuck Recordings Detected:"}),t.stuckSessions.map(l=>n.jsxs("div",{className:"text-sm flex items-center justify-between py-1",children:[n.jsxs("span",{className:"font-mono text-xs",children:[l.sessionId.slice(0,8),"..."]}),n.jsxs("span",{children:[l.chunkCount," chunks"]}),n.jsxs("span",{className:"text-amber-600",children:["Idle ",l.idleMinutes,"m"]})]},l.sessionId))]}),(t==null?void 0:t.lastResult)&&n.jsxs("div",{className:"text-sm text-muted-foreground mb-4",children:["Last result: Found ",t.lastResult.stuckCount," stuck, processed ",t.lastResult.processed,", failed ",t.lastResult.failed]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>a(),disabled:s,"data-testid":"button-refresh-watchdog",children:[n.jsx(_n,{className:`h-4 w-4 mr-2 ${s?"animate-spin":""}`}),"Refresh Status"]}),n.jsxs(D,{size:"sm",onClick:e,"data-testid":"button-process-now",className:"bg-primary",children:[n.jsx($o,{className:"h-4 w-4 mr-2"}),"Process Stuck Now"]})]})]})]})}function L6e({check:e,onFix:t}){return n.jsx(X,{className:"hover-elevate",children:n.jsxs(ue,{className:"pt-6",children:[n.jsxs("div",{className:"flex items-start justify-between mb-4",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-muted",children:D6e(e.id)}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold",children:e.name}),n.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]}),F6e(e.status)]}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center justify-between text-sm",children:[n.jsx("span",{className:"text-muted-foreground",children:"Pass Rate"}),n.jsxs("span",{className:"font-medium",children:[e.passRate.toFixed(1),"%"]})]}),n.jsx($p,{value:e.passRate,className:`h-2 ${e.status==="pass"?"[&>div]:bg-green-500":e.status==="warning"?"[&>div]:bg-yellow-500":"[&>div]:bg-red-500"}`}),n.jsxs("div",{className:"flex items-center justify-between text-sm",children:[n.jsxs("span",{className:"text-muted-foreground",children:[e.passed," / ",e.totalChecked," passed"]}),e.failed>0&&n.jsxs("span",{className:"text-red-500",children:[e.failed," failed"]})]}),e.issues.length>0&&n.jsx("div",{className:"mt-3 p-3 rounded-lg bg-muted/50 space-y-2",children:e.issues.map((r,a)=>n.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[n.jsx(pa,{className:"h-4 w-4 text-yellow-500 mt-0.5 flex-shrink-0"}),n.jsx("span",{children:r.description})]},a))}),e.canAutoFix&&e.status!=="pass"&&n.jsxs(D,{variant:"outline",size:"sm",className:"w-full mt-2",onClick:()=>t(e.id),"data-testid":`button-fix-${e.id}`,children:[n.jsx(Zte,{className:"h-4 w-4 mr-2"}),"Run Auto-Fix"]})]})]})})}function z6e(){const[,e]=ze(),{toast:t}=dt(),[r,a]=y.useState(!1),{data:s,isLoading:i,error:o,refetch:l,isFetching:c}=De({queryKey:["/api/qa/dashboard",r],queryFn:async()=>{const m=r?"/api/qa/dashboard?includeCodeQuality=true":"/api/qa/dashboard";console.log("[QA Dashboard] Fetching:",m);try{const h=await ct(m,"GET");if(console.log("[QA Dashboard] Response status:",h.status),!h.ok)throw console.error("[QA Dashboard] Response not OK:",h.status,h.statusText),new Error(`Failed to fetch QA data: ${h.status}`);const f=await h.json();return console.log("[QA Dashboard] Data received:",f),f}catch(h){throw console.error("[QA Dashboard] Fetch error:",h),h}},refetchInterval:r?!1:3e4,staleTime:r?6e4:1e4,enabled:!0,retry:1});console.log("[QA Dashboard] State:",{isLoading:i,isFetching:c,hasData:!!s,error:o==null?void 0:o.message});const d=Ve({mutationFn:async m=>(await ct(`/api/qa/fix/${m}`,"POST")).json(),onSuccess:m=>{m.success?t({title:"Auto-Fix Complete",description:m.message}):t({variant:"destructive",title:"Auto-Fix Failed",description:m.message}),Qe.invalidateQueries({queryKey:["/api/qa/dashboard"]})},onError:m=>{t({variant:"destructive",title:"Error",description:m.message})}});if(i)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!s)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsxs("div",{className:"text-center max-w-md",children:[n.jsx(pa,{className:"h-12 w-12 text-yellow-500 mx-auto mb-4"}),n.jsx("h2",{className:"text-xl font-semibold mb-2",children:"Unable to load QA data"}),n.jsx("p",{className:"text-muted-foreground mb-2",children:"Please make sure you're logged in as an admin."}),o&&n.jsxs("p",{className:"text-sm text-red-500 mb-4 p-2 bg-red-50 dark:bg-red-900/20 rounded",children:["Error: ",o.message]}),n.jsxs(D,{onClick:()=>l(),"data-testid":"button-retry-qa",children:[n.jsx(_n,{className:"h-4 w-4 mr-2"}),"Retry"]})]})});const u=s.status==="healthy"?"text-green-500":s.status==="degraded"?"text-yellow-500":"text-red-500";return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs("div",{className:"flex items-center justify-between mb-8",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx(D,{variant:"ghost",size:"icon",onClick:()=>e("/admin"),"data-testid":"button-back-admin",children:n.jsx(Hh,{className:"h-5 w-5"})}),n.jsxs("div",{children:[n.jsx("h1",{className:"text-3xl font-bold",children:"QA Stock Dashboard"}),n.jsx("p",{className:"text-muted-foreground",children:"Monitor data quality and system health"})]})]}),n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Vo,{id:"code-quality",checked:r,onCheckedChange:a,"data-testid":"switch-code-quality"}),n.jsx(zt,{htmlFor:"code-quality",className:"text-sm cursor-pointer",children:"Include Code Quality"})]}),n.jsxs(D,{onClick:()=>l(),disabled:c,"data-testid":"button-refresh-qa",children:[n.jsx(_n,{className:`h-4 w-4 mr-2 ${c?"animate-spin":""}`}),"Refresh"]})]})]}),n.jsx($6e,{onProcessNow:()=>d.mutate("stuck-recordings")}),n.jsxs("div",{className:"grid gap-6 md:grid-cols-4 mb-8",children:[n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Overall Health"}),n.jsxs("p",{className:`text-3xl font-bold ${u}`,children:[s.overallHealth,"%"]})]}),R6e(s.status)]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Passed"}),n.jsx("p",{className:"text-3xl font-bold text-green-500",children:s.summary.passed})]}),n.jsx(gn,{className:"h-8 w-8 text-green-500/30"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Warnings"}),n.jsx("p",{className:"text-3xl font-bold text-yellow-500",children:s.summary.warnings})]}),n.jsx(pa,{className:"h-8 w-8 text-yellow-500/30"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Failed"}),n.jsx("p",{className:"text-3xl font-bold text-red-500",children:s.summary.failed})]}),n.jsx(Di,{className:"h-8 w-8 text-red-500/30"})]})})})]}),n.jsx("div",{className:"grid gap-6 md:grid-cols-2 lg:grid-cols-3",children:s.checks.map(m=>n.jsx(L6e,{check:m,onFix:h=>d.mutate(h)},m.id))}),n.jsxs("div",{className:"mt-8 text-center text-sm text-muted-foreground",children:["Last checked: ",s.lastFullCheck?new Date(s.lastFullCheck).toLocaleStr
920ing():"Never"]})]})})}function B6e(){const{user:e,isAdmin:t}=Gt(),[,r]=ze(),{toast:a}=dt(),{data:s,isLoading:i,error:o}=De({queryKey:["/api/admin/users"],enabled:t,retry:3,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:!0}),l=Ve({mutationFn:async d=>await ct(`/api/admin/impersonate/${d}`,"POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/auth/user"]}),r("/"),a({title:"Viewing as user",description:"You are now viewing the app as this user"})},onError:d=>{a({variant:"destructive",title:"Impersonation failed",description:d.message})}});if(!t)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsxs(X,{className:"max-w-md",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-destructive",children:[n.jsx(Pr,{className:"h-5 w-5"}),"Access Denied"]})}),n.jsx(ue,{children:n.jsx("p",{className:"text-muted-foreground",children:"You don't have permission to access this page. Admin privileges are required."})})]})});if(i)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(o)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsxs(X,{className:"max-w-md",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-destructive",children:[n.jsx(Pr,{className:"h-5 w-5"}),"Error Loading Users"]})}),n.jsxs(ue,{children:[n.jsx("p",{className:"text-muted-foreground mb-4",children:o instanceof Error?o.message:"Failed to fetch users"}),n.jsx(D,{onClick:()=>window.location.reload(),variant:"outline",children:"Retry"})]})]})});const c=d=>{const u=new Date(d);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(u)};return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"container max-w-7xl mx-auto p-4 md:p-6 lg:p-8 space-y-6",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"User Management"}),n.jsx("p",{className:"text-muted-foreground",children:"View and manage all registered users"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Total Users"}),n.jsx("p",{className:"text-3xl font-bold",children:(s==null?void 0:s.length)||0})]}),n.jsx(Wt,{className:"h-8 w-8 text-muted-foreground"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Total Meetings"}),n.jsx("p",{className:"text-3xl font-bold",children:(s==null?void 0:s.reduce((d,u)=>d+(parseInt(String(u.meetingCount))||0),0))||0})]}),n.jsx(_t,{className:"h-8 w-8 text-muted-foreground"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Admin Users"}),n.jsx("p",{className:"text-3xl font-bold",children:(s==null?void 0:s.filter(d=>d.role==="admin").length)||0})]}),n.jsx(Pr,{className:"h-8 w-8 text-muted-foreground"})]})})})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2",children:[n.jsx(Wt,{className:"h-5 w-5"}),"All Users"]})}),n.jsx(ue,{children:n.jsx("div",{className:"space-y-4",children:s&&s.length>0?s.map(d=>n.jsxs("div",{className:"flex items-start justify-between p-3 sm:p-4 rounded-lg border hover-elevate gap-2","data-testid":`user-card-${d.id}`,children:[n.jsxs("div",{className:"flex items-start gap-3 flex-1 min-w-0",children:[n.jsx(Ld,{className:"h-10 w-10 sm:h-12 sm:w-12 flex-shrink-0",children:n.jsxs(zd,{children:[d.firstName[0],d.lastName[0]]})}),n.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsxs("h3",{className:"font-semibold text-sm sm:text-base",children:[d.firstName," ",d.lastName]}),d.role==="admin"&&n.jsx(ve,{variant:"default",className:"text-xs",children:"Admin"}),d.id===(e==null?void 0:e.id)&&n.jsx(ve,{variant:"outline",className:"text-xs",children:"You"})]}),n.jsxs("div",{className:"flex flex-col gap-1 text-xs sm:text-sm text-muted-foreground",children:[n.jsxs("span",{className:"flex items-center gap-1 truncate",children:[n.jsx(Ht,{className:"h-3 w-3 flex-shrink-0"}),n.jsx("span",{className:"truncate",children:d.email})]}),n.jsx("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(ys,{className:"h-3 w-3"}),"Joined ",c(d.createdAt)]})}),n.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 mt-1",children:[n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(_t,{className:"h-3 w-3"}),parseInt(String(d.meetingCount))||0," recorded"]}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(nr,{className:"h-3 w-3"}),parseInt(String(d.analyzedCount))||0," analyzed"]}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(Vs,{className:"h-3 w-3"}),parseInt(String(d.totalErrors))||0," errors"]})]}),d.lastMeetingDate&&n.jsxs("div",{className:"text-xs mt-1",children:["Last meeting: ",c(d.lastMeetingDate)]})]})]})]}),d.id!==(e==null?void 0:e.id)&&n.jsx(D,{variant:"outline",size:"sm",className:"ml-2 flex-shrink-0",onClick:()=>l.mutate(d.id),disabled:l.isPending,"data-testid":`button-impersonate-${d.id}`,children:l.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Js,{className:"h-4 w-4 sm:mr-2"}),n.jsx("span",{className:"hidden sm:inline",children:"View as User"})]})})]},d.id)):n.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[n.jsx(To,{className:"h-12 w-12 mx-auto mb-3 opacity-50"}),n.jsx("p",{children:"No users found"})]})})})]})]})})}const W6e={registered:"Signed up",first_meeting:"Uploaded first meeting",meeting_uploaded:"Uploaded a meeting",extension_
920installed:"Installed Chrome Extension",meeting_analyzed:"Meeting analyzed",payment_made:"Upgraded to Pro"},U6e=e=>e==="complete"?n.jsx(ve,{className:"bg-green-100 text-green-700 border-green-200",children:"complete"}):e==="failed"?n.jsx(ve,{variant:"destructive",children:"failed"}):e==="processing"?n.jsx(ve,{className:"bg-blue-100 text-blue-700 border-blue-200",children:"processing"}):n.jsx(ve,{variant:"secondary",children:e});function V6e(){const[,e]=Hu("/admin/user/:id"),[,t]=ze(),{toast:r}=dt(),a=e==null?void 0:e.id,{data:s,isLoading:i}=De({queryKey:["/api/admin/users"]}),{data:o,isLoading:l,refetch:c}=De({queryKey:[`/api/admin/users/${a}/meetings`],enabled:!!a}),{data:d}=De({queryKey:[`/api/admin/users/${a}/events`],enabled:!!a}),u=Ve({mutationFn:async v=>(await fetch(`/api/meetings/${v}/reanalyze`,{method:"POST",credentials:"include"})).json(),onSuccess:()=>{r({title:"Re-queued for analysis"}),c()},onError:v=>{r({variant:"destructive",title:"Failed",description:v.message})}}),m=Ve({mutationFn:async v=>ct(`/api/admin/impersonate/${v}`,"POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/auth/user"]}),t("/"),r({title:"Viewing as user"})},onError:v=>{r({variant:"destructive",title:"Failed",description:v.message})}}),h=s==null?void 0:s.find(v=>v.id===a),f=v=>new Date(v).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"});if(i||l)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!h)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsxs("div",{className:"text-center",children:[n.jsx("p",{className:"text-muted-foreground mb-4",children:"User not found"}),n.jsx(D,{variant:"outline",onClick:()=>t("/admin"),children:"Back to Admin"})]})});const b=(o||[]).filter(v=>v.analysisStatus==="failed").length,g=parseInt(String(h.analyzedCount))||0,p=parseInt(String(h.totalErrors))||0,x=g>0?Math.round(p/g):0;return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>t("/admin"),className:"mb-6",children:[n.jsx(Hh,{className:"mr-2 h-4 w-4"}),"Back to Admin"]}),n.jsx("div",{className:"mb-6",children:n.jsxs("div",{className:"flex items-start justify-between flex-wrap gap-4 mb-4",children:[n.jsxs("div",{children:[n.jsxs("h1",{className:"text-3xl font-bold mb-1",children:[h.firstName," ",h.lastName]}),n.jsxs("div",{className:"flex items-center gap-4 text-muted-foreground text-sm flex-wrap",children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(Ht,{className:"h-4 w-4"}),h.email]}),n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(ys,{className:"h-4 w-4"}),"Joined ",f(h.createdAt)]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(ve,{variant:h.role==="admin"?"default":"secondary",children:h.role}),n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>m.mutate(h.id),disabled:m.isPending,children:[n.jsx(Js,{className:"h-4 w-4 mr-1.5"}),"View as User"]})]})]})}),n.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-8",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Total Meetings"}),n.jsx("div",{className:"text-3xl font-bold",children:parseInt(String(h.meetingCount))||0})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Analyzed"}),n.jsx("div",{className:"text-3xl font-bold text-green-600",children:g})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Avg Issues"}),n.jsx("div",{className:"text-3xl font-bold text-primary",children:x}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"per meeting"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Failed"}),n.jsx("div",{className:`text-3xl font-bold ${b>0?"text-destructive":""}`,children:b})]})})]}),n.jsx(X,{className:"mb-6",children:n.jsxs(ue,{className:"pt-5 pb-4",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(ti,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("span",{className:"text-sm font-medium",children:"Acquisition"})]}),n.jsxs("div",{className:"text-sm text-muted-foreground",children:[n.jsx("span",{className:"font-medium text-foreground",children:"Came from: "}),h.utmSource?`${h.utmSource}${h.utmMedium?` / ${h.utmMedium}`:""}${h.utmCampaign?` / ${h.utmCampaign}`:""}`:h.referrer?h.referrer:"Direct"]}),h.signupPage&&n.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Landing page: ",h.signupPage]})]})}),d&&d.length>0&&n.jsxs(X,{className:"mb-6",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-base",children:[n.jsx(vn,{className:"h-4 w-4"}),"Journey"]})}),n.jsx(ue,{children:n.jsx("div",{className:"space-y-3",children:d.map((v,w)=>n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsxs("div",{className:"flex flex-col items-center",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-primary mt-1.5 shrink-0"}),w<d.length-1&&n.jsx("div",{className:"w-px flex-1 bg-border mt-1",style:{minHeight:"16px"}})]}),n.jsxs("div",{className:"flex-1 pb-1",children:[n.jsx("div",{className:"text-sm font-medium",children:W6e[v.event]||v.event}),v.metadata&&Object.keys(v.metadata).length>0&&n.jsx("div",{className:"text-xs text-muted-foreground font-mono",children:Object.entries(v.metadata).map(([N,j])=>`${N}: ${j}`).join(" · ")}),n.jsx("div",{className:"text-xs text-muted-foreground",children:new Date(v.created_at).toLocaleStr
920ing()})]})]},v.id))})})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2",children:[n.jsx(_t,{className:"h-5 w-5"}),"Meetings (",(o==null?void 0:o.length)||0,")"]})}),n.jsx(ue,{children:!o||o.length===0?n.jsx("div",{className:"text-center py-10 text-muted-foreground",children:"No meetings yet"}):n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{children:n.jsxs("tr",{className:"text-left text-muted-foreground border-b",children:[n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Title"}),n.jsx("th",{className:"pb-3 pr-4 font-medium hidden sm:table-cell",children:"Date"}),n.jsx("th",{className:"pb-3 pr-4 font-medium",children:"Status"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center hidden md:table-cell",children:"Grammar"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center hidden md:table-cell",children:"Filler"}),n.jsx("th",{className:"pb-3 pr-4 font-medium text-center hidden md:table-cell",children:"Clarity"}),n.jsx("th",{className:"pb-3 font-medium text-center hidden lg:table-cell",children:"Lang"}),n.jsx("th",{className:"pb-3"})]})}),n.jsx("tbody",{children:o.map(v=>n.jsxs("tr",{className:"border-b last:border-0 hover:bg-muted/30 transition-colors",children:[n.jsxs("td",{className:"py-3 pr-4",children:[n.jsx("div",{className:"font-medium max-w-[180px] truncate",title:v.title,children:v.title}),v.analysisError&&n.jsx("div",{className:"text-xs text-destructive font-mono mt-0.5 max-w-[180px] truncate",title:v.analysisError,children:v.analysisError})]}),n.jsx("td",{className:"py-3 pr-4 text-muted-foreground text-xs whitespace-nowrap hidden sm:table-cell",children:f(v.date)}),n.jsx("td",{className:"py-3 pr-4",children:U6e(v.analysisStatus)}),n.jsx("td",{className:"py-3 pr-4 text-center hidden md:table-cell",children:v.grammarCount||"—"}),n.jsx("td",{className:"py-3 pr-4 text-center hidden md:table-cell",children:v.fillerCount||"—"}),n.jsx("td",{className:"py-3 pr-4 text-center hidden md:table-cell",children:v.clarityCount||"—"}),n.jsx("td",{className:"py-3 pr-4 text-center text-xs text-muted-foreground hidden lg:table-cell",children:v.primaryLanguage||"—"}),n.jsx("td",{className:"py-3",children:(v.analysisStatus==="failed"||v.analysisStatus==="pending")&&n.jsx(D,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>u.mutate(v.id),disabled:u.isPending,title:"Re-trigger analysis",children:n.jsx(_n,{className:"h-3.5 w-3.5"})})})]},v.id))})]})})})]})]})})}function q6e(){const[e,t]=y.useState(!0),{data:r,refetch:a,isLoading:s}=De({queryKey:["/api/qa/status"],refetchInterval:e?1e3:!1}),i=Ve({mutationFn:async()=>ct("/api/qa/run","POST"),onSuccess:()=>{t(!0),a()}}),o=Ve({mutationFn:async()=>ct("/api/qa/stop","POST"),onSuccess:()=>{a()}});y.useEffect(()=>{r!=null&&r.completedAt&&!(r!=null&&r.isRunning)&&t(!1)},[r==null?void 0:r.completedAt,r==null?void 0:r.isRunning]);const l=u=>{switch(u){case"homepage":return n.jsx(Cte,{className:"h-4 w-4"});case"authenticated":return n.jsx(Pr,{className:"h-4 w-4"});case"api":return n.jsx(ti,{className:"h-4 w-4"});default:return null}},c=u=>{switch(u){case"passed":return n.jsxs(ve,{variant:"default",className:"bg-green-500",children:[n.jsx(gn,{className:"h-3 w-3 mr-1"}),"Passed"]});case"failed":return n.jsxs(ve,{variant:"destructive",children:[n.jsx(Di,{className:"h-3 w-3 mr-1"}),"Failed"]});case"running":return n.jsxs(ve,{variant:"secondary",children:[n.jsx(Ce,{className:"h-3 w-3 mr-1 animate-spin"}),"Running"]});case"skipped":return n.jsxs(ve,{variant:"outline",children:[n.jsx(vn,{className:"h-3 w-3 mr-1"}),"Skipped"]});default:return n.jsx(ve,{variant:"outline",children:"Pending"})}},d=r!=null&&r.summary&&r.summary.total>0?Math.round((r.summary.passed+r.summary.failed+r.summary.skipped)/r.summary.total*100):0;return n.jsxs("div",{className:"container max-w-4xl mx-auto py-8 px-4",children:[n.jsxs(X,{className:"mb-6",children:[n.jsx(Ye,{children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsxs(at,{className:"text-2xl flex items-center gap-2","data-testid":"qa-title",children:[n.jsx($o,{className:"h-6 w-6 text-primary"}),"QA Simulation"]}),n.jsx(Bo,{children:"Automated testing system - simulates real user interactions"})]}),n.jsxs("div",{className:"flex gap-2",children:[r!=null&&r.isRunning?n.jsxs(D,{size:"lg",variant:"destructive",onClick:()=>o.mutate(),disabled:o.isPending,"data-testid":"button-stop-qa",children:[n.jsx(cp,{className:"h-5 w-5 mr-2"}),"Stop"]}):n.jsxs(D,{size:"lg",onClick:()=>i.mutate(),disabled:i.isPending,"data-testid":"button-run-qa",children:[i.isPending?n.jsx(Ce,{className:"h-5 w-5 mr-2 animate-spin"}):n.jsx($o,{className:"h-5 w-5 mr-2"}),"Run Tests"]}),n.jsx(D,{size:"icon",variant:"outline",onClick:()=>a(),"data-testid":"button-refresh-qa",children:n.jsx(_n,{className:`h-4 w-4 ${s?"animate-spin":""}`})})]})]})}),(r==null?void 0:r.isRunning)&&n.jsx(ue,{children:n.jsxs("div",{className:"space-y-2",children:[n.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[n.jsxs("span",{children:["Running: ",r.currentTest||"Starting..."]}),n.jsxs("span",{children:[r.results.length," tests"]})]}),n.jsx($p,{value:d,className:"h-2"})]})})]}),(r==null?void 0:r.summary)&&n.jsxs("div",{className:"grid grid-cols-4 gap-4 mb-6",children:[n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-3xl font-bold","data-testid":"text-total-tests",children:r.summary.total}),n.jsx("div",{className:"text-sm text-muted-foreground",children:"Total"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-3xl font-bold text-green-500","data-testid":"text-passed-tests",children:r.summary.passed}),n.jsx("div",{className:"text-sm text-muted-foreground",children:"Passed"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-3xl font-bold text-red-500","data-testid":"text-failed-tests",children:r.summary.failed}),n.jsx("div",{className:"text-sm text-muted-foreground",children:"Failed"})]})})}),n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-3xl font-bold text-muted-foreground","data-testid":"text-skipped-tests",children:r.summary.skipped}),n.jsx("div",{className:"text-sm text-muted-foreground",children:"Skipped"})]})})})]}),["homepage","authenticated","api"].map(u=>{const m=(r==null?void 0:r.results.filter(h=>h.category===u))||[];return m.length===0?null:n.jsxs(X,{className:"mb-4",children:[n.jsx(Ye,{className:"py-3",children:n.jsxs(at,{className:"text-lg flex items-center gap-2",children:[l(u),u==="homepage"?"Homepage Tests":u==="authenticated"?"Authentication Tests":"API Tests"]})}),n.jsx(ue,{className:"pt-0",children:n.jsx("div",{className:"space-y-2",children:m.map(h=>n.jsxs("div",{className:`flex items-center justify-between p-3 rounded-lg border ${h.status==="failed"?"border-red-200 bg-red-50 dark:bg-red-950/20":h.status==="passed"?"border-green-200 bg-green-50 dark:bg-green-950/20":"border-border"}`,"data-testid":`test-result-${h.id}`,children:[n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-medium",children:h.name}),h.error&&n.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 mt-1",children:h.error}),h.duration&&n.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[h.duration,"ms"]})]}),n.jsx("div",{className:"ml-4",children:c(h.status)})]}
920,h.id))})})]},u)}),!(r!=null&&r.results.length)&&!(r!=null&&r.isRunning)&&n.jsx(X,{children:n.jsx(ue,{className:"py-12",children:n.jsxs("div",{className:"text-center text-muted-foreground",children:[n.jsx($o,{className:"h-12 w-12 mx-auto mb-4 opacity-50"}),n.jsx("p",{className:"text-lg",children:'Click "Run Tests" to start QA simulation'}),n.jsx("p",{className:"text-sm mt-2",children:"Tests will simulate real user clicks and check all buttons work"})]})})})]})}function GM(e){return e==="pack20"?"20 recordings added to your account! 🎉":e==="annual"?"Welcome to SpeakFlare Pro (Annual)! 🎉":e==="monthly"?"Welcome to SpeakFlare Pro (Monthly)! 🎉":"Payment successful! 🎉"}function KM(){const[,e]=ze(),[t,r]=y.useState("loading"),[a,s]=y.useState("");return y.useEffect(()=>{const i=new URLSearchParams(window.location.search),o=i.get("provider"),l=i.get("payment_id"),c=i.get("plan"),d=i.get("token")||i.get("orderId");if(!l){r("error"),s("Missing payment information.");return}(async()=>{try{if(o==="paypal"){const m=await fetch("/api/payments/paypal/capture",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({paymentId:l,orderId:d})}),h=await m.json();if(m.ok&&h.status==="completed")r("success"),s(GM(c));else throw new Error(h.error||"Capture failed")}else o==="payerurl"&&(r("success"),s(GM(c)))}catch(m){r("error"),s(m.message||"Payment verification failed.")}})()},[]),n.jsxs("div",{className:"min-h-screen flex flex-col items-center justify-center bg-background px-4",children:[t==="loading"&&n.jsxs("div",{className:"flex flex-col items-center gap-4",children:[n.jsx(Ce,{className:"h-12 w-12 animate-spin text-primary"}),n.jsx("p",{className:"text-lg text-muted-foreground",children:"Verifying your payment…"})]}),t==="success"&&n.jsxs("div",{className:"flex flex-col items-center gap-4 text-center max-w-sm",children:[n.jsx(nr,{className:"h-16 w-16 text-green-500"}),n.jsx("h1",{className:"text-2xl font-bold",children:"Payment Successful!"}),n.jsx("p",{className:"text-muted-foreground",children:a}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Your account has been upgraded. Go record something great."}),n.jsx(D,{className:"mt-2",onClick:()=>e("/meetings"),children:"Go to My Meetings"})]}),t==="error"&&n.jsxs("div",{className:"flex flex-col items-center gap-4 text-center max-w-sm",children:[n.jsx(Di,{className:"h-16 w-16 text-red-500"}),n.jsx("h1",{className:"text-2xl font-bold",children:"Something went wrong"}),n.jsx("p",{className:"text-muted-foreground",children:a}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"If you were charged, contact us at [email protected] with your payment ID."}),n.jsx(D,{variant:"outline",className:"mt-2",onClick:()=>e("/meetings"),children:"Back to Meetings"})]})]})}function Dg({label:e,count:t,icon:r}){const a=t===0?"text-green-600 bg-green-50 border-green-200":t<=3?"text-yellow-600 bg-yellow-50 border-yellow-200":"text-red-600 bg-red-50 border-red-200",s=t===0?"Excellent":t<=3?"Moderate":"Needs Work";return n.jsxs("div",{className:`border rounded-xl p-5 text-center ${a}`,children:[n.jsx("div",{className:"text-3xl mb-1",children:r}),n.jsx("div",{className:"text-4xl font-bold mb-1",children:t}),n.jsx("div",{className:"text-sm font-semibold",children:e}),n.jsx("div",{className:"text-xs mt-1 opacity-80",children:s})]})}function YM(){const[,e]=Hu("/report/:token"),{toast:t}=dt(),[r,a]=y.useState(!1),s=e==null?void 0:e.token,{data:i,isLoading:o,error:l}=De({queryKey:[`/api/public/report/${s}`],queryFn:async()=>{const j=await fetch(`/api/public/report/${s}`);if(!j.ok)throw new Error("Report not found");return j.json()},enabled:!!s}),c=`https://speakflare.com/report/${s}`,d=(i==null?void 0:i.mainSpeaker)||(i==null?void 0:i.title)||"This Speaker",u=async()=>{try{await navigator.clipboard.writeText(c),a(!0),setTimeout(()=>a(!1),2e3),t({title:"Link copied!"})}catch{t({title:"Error",description:"Could not copy link",variant:"destructive"})}},m=()=>{const j=`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(c)}`;window.open(j,"_blank","noopener,noreferrer")},h=()=>{const j=(i==null?void 0:i.filler_count)??(i==null?void 0:i.fillerCount)??0,k=encodeURIComponent(`Just analyzed my communication with SpeakFlare AI. My filler word score: ${j}. Check yours free → ${c}`);window.open(`https://twitter.com/intent/tweet?text=${k}`,"_blank","noopener,noreferrer")};if(o)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(l||!i)return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(He,{}),n.jsxs("div",{className:"max-w-2xl mx-auto px-4 py-20 text-center",children:[n.jsx("h1",{className:"text-2xl font-bold mb-4",children:"Report Not Found"}),n.jsx("p",{className:"text-muted-foreground mb-8",children:"This report may have been set to private or the link is invali
920d."}),n.jsx(Fe,{href:"/register",children:n.jsx(D,{children:"Analyze Your Own Meeting Free →"})})]}),n.jsx(Ut,{})]});const f=i.grammar_count??0,b=i.filler_count??0,g=i.clarity_count??0,p=i.sales_count??0,x=(typeof i.summary_data=="string"?JSON.parse(i.summary_data):i.summary_data)||{},v=x.overview||x.executiveSummary||"",w=x.keyPoints||x.actionItems||[],N=i.date?new Date(i.date).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}):"";return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(lt,{title:`${d}'s Communication Report | SpeakFlare`,description:`View ${d}'s AI-powered communication analysis. Grammar, filler words, clarity and sales language scores.`,canonical:c,noIndex:!1}),n.jsx(He,{}),n.jsxs("main",{className:"max-w-3xl mx-auto px-4 py-10 space-y-10",children:[n.jsxs("div",{className:"text-center space-y-2",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground mb-2",children:[n.jsx("span",{className:"font-semibold text-primary",children:"SpeakFlare"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"AI Communication Report"})]}),n.jsxs("h1",{className:"text-3xl font-bold",children:[d,"'s Communication Report"]}),N&&n.jsx("p",{className:"text-muted-foreground",children:N}),i.title&&n.jsx("p",{className:"text-muted-foreground text-sm",children:i.title})]}),n.jsxs("section",{children:[n.jsx("h2",{className:"text-lg font-bold mb-4 text-center",children:"Communication Scores"}),n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[n.jsx(Dg,{label:"Grammar Issues",count:f,icon:"📝"}),n.jsx(Dg,{label:"Filler Words",count:b,icon:"🔇"}),n.jsx(Dg,{label:"Clarity Issues",count:g,icon:"💡"}),n.jsx(Dg,{label:"Weak Language",count:p,icon:"💬"})]})]}),v&&n.jsxs("section",{className:"bg-card border border-border rounded-xl p-6 space-y-4",children:[n.jsx("h2",{className:"text-lg font-bold",children:"Summary"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:v}),w.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-semibold mb-2",children:"Key Points"}),n.jsx("ul",{className:"space-y-1",children:w.map((j,k)=>n.jsxs("li",{className:"text-sm text-muted-foreground flex gap-2",children:[n.jsx("span",{className:"text-primary shrink-0",children:"•"}),n.jsx("span",{children:j})]},k))})]})]}),n.jsxs("section",{className:"bg-muted/30 border border-border rounded-xl p-5 space-y-4",children:[n.jsx("h2",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Share This Report"}),n.jsxs("div",{className:"flex flex-wrap gap-3",children:[n.jsxs(D,{variant:"outline",size:"sm",className:"gap-2",onClick:u,children:[r?n.jsx(ut,{className:"h-4 w-4 text-green-500"}):n.jsx(Xu,{className:"h-4 w-4"}),"Copy Link"]}),n.jsxs(D,{variant:"outline",size:"sm",className:"gap-2",onClick:m,children:[n.jsx(Qv,{className:"h-4 w-4 text-blue-600"}),"LinkedIn"]}),n.jsxs(D,{variant:"outline",size:"sm",className:"gap-2",onClick:h,children:[n.jsx(I8,{className:"h-4 w-4"}),"Twitter / X"]})]})]}),n.jsxs("section",{className:"bg-primary text-primary-foreground rounded-2xl p-8 text-center space-y-4",children:[n.jsx("h2",{className:"text-2xl font-bold",children:"How does YOUR communication compare?"}),n.jsx("p",{className:"opacity-90 text-base max-w-md mx-auto",children:"Get your own AI-powered communication report. Analyze a real meeting, sales call, or interview — free."}),n.jsx(Fe,{href:"/register",children:n.jsx(D,{size:"lg",className:"bg-white text-primary hover:bg-white/90 font-bold text-base px-8",children:"Analyze a Meeting Free →"})}),n.jsx("p",{className:"text-xs opacity-70 mt-2",children:"Free 30-second demo, no sign-up · $5 for 20 recordings"})]}),n.jsx("div",{className:"text-center pb-4",children:n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Powered by"," ",n.jsx("a",{href:"https://speakflare.com",className:"text-primary font-semibold hover:underline",target:"_blank",rel:"noopener noreferrer",children:"SpeakFlare"})," ","— AI Communication Coach"]})})]}),n.jsx(Ut,{})]})}const H6e=["um","uh","like","you know","i mean","just","kind of","sort of","basically","literally","actually","right","okay so","well"];function G6e(e){const t=e.toLowerCase(),r=e.trim().split(/\s+/).filter(
920Boolean).length,a=[];let s=0;for(const i of H6e){const o=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),l=i.includes(" ")?new RegExp(o,"gi"):new RegExp(`\\b${o}\\b`,"gi"),c=t.match(l),d=c?c.length:0;d>0&&(a.push({word:i,count:d}),s+=d)}return a.sort((i,o)=>o.count-i.count),{totalWords:r,totalFillers:s,percentage:r>0?s/r*100:0,breakdown:a}}function K6e(e){return e<2?{label:"Excellent",color:"text-green-700 dark:text-green-400",bg:"bg-green-50 dark:bg-green-950/30",border:"border-green-200 dark:border-green-800"}:e<=5?{label:"Needs Work",color:"text-yellow-700 dark:text-yellow-400",bg:"bg-yellow-50 dark:bg-yellow-950/30",border:"border-yellow-200 dark:border-yellow-800"}:{label:"Too Many Fillers",color:"text-red-700 dark:text-red-400",bg:"bg-red-50 dark:bg-red-950/30",border:"border-red-200 dark:border-red-800"}}const Y6e=[{word:"Um / Uh",usage:"Thinking pause",example:'"We need to, um, reconsider the plan."'},{word:"Like",usage:"Comparison / hedge",example:'"It was like really important."'},{word:"You know",usage:"Seeking agreement",example:'"It matters, you know, for the team."'},{word:"Basically / Literally",usage:"Emphasis filler",example:'"It basically does everything."'},{word:"Kind of / Sort of",usage:"Hedging",example:'"I kind of disagree with that approach."'},{word:"Actually / Just",usage:"Softener / filler",example:'"I just wanted to check in."'}];function ZM(){const[,e]=ze(),[t,r]=y.useState(""),[a,s]=y.useState(null),[i,o]=y.useState(!1),l=()=>{t.trim()&&(s(G6e(t)),o(!0))},c=()=>{r(""),s(null),o(!1)},d=a?K6e(a.percentage):null;return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"Free Filler Word Counter — Detect Um, Uh, Like in Your Speech | SpeakFlare",description:"Paste any transcript or speech text and instantly count every filler word — um, uh, like, you know, and more. Free, instant, no sign-up required. See your filler percentage and benchmark against top speakers.",canonical:"https://speakflare.com/tools/filler-word-counter",keywords:"filler word counter, count um and uh, filler word detector, speech filler analyzer, how many filler words, um counter, uh counter, like counter, speech transcript analyzer, free filler word tool",pageType:"page",breadcrumbs:[{name:"Tools",url:"https://speakflare.com/tools"},{name:"Filler Word Counter",url:"https://speakflare.com/tools/filler-word-counter"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-4 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Free Filler Word Counter"}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:"Paste your speech, meeting transcript, or presentation script. Instantly see every filler word — and whether you're in the green, yellow, or red zone."})]})}),n.jsx("section",{className:"px-4 pb-16",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs(X,{className:"shadow-lg",children:[n.jsxs(Ye,{className:"pb-2",children:[n.jsx("h2",{className:"text-xl font-semibold",children:"Paste your transcript or speech text"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Minimum 20 words recommended for meaningful results"})]}),n.jsxs(ue,{className:"space-y-4",children:[n.jsx("textarea",{className:"w-full min-h-[180px] rounded-lg border border-border bg-muted/40 p-4 text-sm resize-y focus:outline-none focus:ring-2 focus:ring-primary",placeholder:`Example:
921"So I wanted to, um, walk you through the proposal. Basically it's, like, a way for us to, you know, kind of streamline the process..."`,value:t,onChange:u=>{r(u.target.value),o(!1)}}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(D,{onClick:l,disabled:!t.trim(),className:"rounded-full px-8",children:"Analyze Text"}),i&&n.jsx(D,{variant:"outline",onClick:c,className:"rounded-full",children:"Clear"})]}),a&&d&&n.jsxs("div",{className:"mt-6 space-y-6",children:[n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[n.jsxs("div",{className:"bg-muted/50 rounded-xl p-4 text-center",children:[n.jsx("div",{className:"text-3xl font-bold",children:a.totalWords}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Total Words"})]}),n.jsxs("div",{className:"bg-muted/50 rounded-xl p-4 text-center",children:[n.jsx("div",{className:"text-3xl font-bold",children:a.totalFillers}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Filler Words Found"})]}),n.jsxs("div",{className:`rounded-xl p-4 text-center col-span-2 sm:col-span-1 border ${d.bg} ${d.border}`,children:[n.jsxs("div",{className:`text-3xl font-bold ${d.color}`,children:[a.percentage.toFixed(1),"%"]}),n.jsx("div",{className:`text-xs mt-1 font-semibold ${d.color}`,children:d.label})]})]}),n.jsxs("div",{className:"flex items-start gap-3 rounded-xl bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-4",children:[n.jsx(it,{className:"h-5 w-5 text-blue-600 dar
921k:text-blue-400 flex-shrink-0 mt-0.5"}),n.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-300",children:[n.jsx("strong",{children:"Industry benchmark:"})," Top speakers (TED talks, executive presenters) average ",n.jsx("strong",{children:"under 1% filler words"}),". The average professional is around 3–4%."]})]}),a.breakdown.length>0?n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-3",children:"Breakdown by filler word"}),n.jsx("div",{className:"space-y-2",children:a.breakdown.map(u=>n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-28 text-sm font-medium capitalize",children:u.word}),n.jsx("div",{className:"flex-1 bg-muted rounded-full h-2",children:n.jsx("div",{className:"bg-primary h-2 rounded-full transition-all",style:{width:`${Math.min(100,u.count/(a.totalFillers||1)*100)}%`}})}),n.jsxs(ve,{variant:"secondary",className:"min-w-[40px] text-center",children:[u.count,"x"]})]},u.word))})]}):n.jsxs("div",{className:"flex items-center gap-3 rounded-xl bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-4",children:[n.jsx(ut,{className:"h-5 w-5 text-green-600"}),n.jsx("p",{className:"text-sm text-green-800 dark:text-green-300 font-medium",children:"No tracked filler words detected. Excellent speech clarity!"})]})]})]})]}),n.jsx(X,{className:"mt-8 bg-card border border-primary/20 shadow-md",children:n.jsxs(ue,{className:"py-8 text-center",children:[n.jsx(Ze,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Want AI analysis of your live meetings?"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-xl mx-auto",children:"This tool counts fillers in pasted text. SpeakFlare does it automatically on every Zoom call, Google Meet, or recording — in real time, across 50+ languages."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto space-y-16",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"What are filler words?"}),n.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Filler words are spoken sounds and phrases that fill the pauses in speech while a person is thinking. They carry no semantic meaning — the sentence makes just as much sense without them. Common examples include ",n.jsx("em",{children:"um"}),", ",n.jsx("em",{children:"uh"}),", ",n.jsx("em",{children:"like"}),", ",n.jsx("em",{children:"you know"}),", and ",n.jsx("em",{children:"basically"}),"."]}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:'Some filler words are universal cognitive placeholders (like "um"), while others are habitual linguistic tics that develop over time. Nearly every speaker uses them — the question is how often.'})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-bold mb-6",children:"How filler words hurt your career"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:[{icon:pa,color:"text-red-500",title:"They signal uncertainty",desc:"Listeners associate frequent 'um' and 'uh' with lack of preparation or low confidence — even when that's not true."},{icon:Hv,color:"text-orange-500",title:"They undermine authority",desc:'Phrases like "kind of" and "sort of" soften your message too much. "We should probably maybe consider..." sounds weak versus "I recommend..."'},{icon:it,color:"text-yellow-500",title:"They reduce memorability",desc:"Filler-heavy speech is harder to follow. Listeners spend cognitive energy filtering noise, and your key points get buried."}].map(u=>n.jsxs(X,{className:"p-6",children:[n.jsx(u.icon,{className:`h-8 w-8 ${u.color} mb-3`}),n.jsx("h3",{className:"font-bold mb-2",children:u.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:u.desc})]},u.title))})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-bold mb-6",children:"The most common filler words"}),n.jsx("div",{className:"overflow-x-auto rounded-xl border border-border",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{className:"bg-muted/60",children:n.jsxs("tr",{children:[n.jsx("th",{className:"text-left p-4 font-semibold",children:"Filler Word"}),n.jsx("th",{className:"text-left p-4 font-semibold",children:"Typical Usage"}),n.jsx("th",{className:"text-left p-4 font-semibold hidden sm:table-cell",children:"Example in Context"})]})}),n.jsx("tbody",{children:Y6e.map((u,m)=>n.jsxs("tr",{className:m%2===0?"bg-background":"bg-muted/20",children:[n.jsx("td",{className:"p-4 font-medium",children:u.word}),n.jsx("td",{className:"p-4 text-muted-foreground",children:u.usage}),n.jsx("td",{className:"p-4 text-muted-foreground hidden sm:table-cell italic",children:u.example})]},u.word))})]})})]}),n.jsxs("div",{className:"text-center bg-card rounded-3xl border border-border p-12",children:[n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Ready to eliminate fillers for good?"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"Pasting text is a start. SpeakFlare analyzes your actual meetings and calls — automatically, every session, so you can track real improvement over time."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"})]})]})})]}),n.jsx(Ut,{})]})}const Z6e=[{weak:"I think maybe we could explore some options for your team…",strong:"I recommend the Pro plan for your team — here's exactly why.",label:"Closing language"},{weak:"So it kind of does this thing where it, um, analyzes your calls.",strong:"SpeakFlare analyzes every call and shows you exactly what to fix.",label:"Product explanation"},{weak:"We were sort of hoping to get your feedback on this proposal.",strong:"We need your decision by Friday to hold the Q3 pricing.",label:"Urgency & commitment"}],Q6e=[{icon:Ze,color:"text-red-500",title:"Filler words that signal uncertainty",desc:'Every "um", "uh", and "like" chips away at your authority. SpeakFlare counts them per call and tracks your trend over time.'},{icon:tn,color:"text-orange-500",title:"Hedging language",desc:'"Kind of", "sort of", "maybe", "I think" — these qualifiers make your recommendations sound optional. SpeakFlare flags every instance.'},{icon:_t,color:"text-yellow-500",title:"Weak closing language",desc:'Passive closes ("Let us know what you think!") get flagged and replaced with assertive alternatives that create momentum.'},{icon:it,color:"text-purple-500",title:"Clarity issues",desc:'Vague references like "this thing" or "that solution" confuse buyers. SpeakFlare highlights unclear phrasing so you can tighten your pitch.'}],X6e=[{step:"01",title:"Record your sales call",desc:"Connect Zoom or Google Meet, or upload an existing recording. SpeakFlare supports 50+ languages."},{step:"02",title:"Get your communication analysis",desc:"Within minutes, receive a full breakdown: filler words, hedging language, weak closes, and clarity score — all timestamped."},{step:"03",title:"Improve call by call",desc:"Track your metrics across every call. Watch your filler rate drop and your close language strengthen over weeks."}];function QM(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Sales Call Analysis — Improve Close Rates with Better Communication | SpeakFlare",description:"SpeakFlare analyzes your sales calls and shows you exactly what communication patterns are hurting your close rate — filler words, hedging language, weak closes. Start free.",canonical:"https://speakflare.com/use-cases/sales-call-analysis",keywords:"sales call analysis, AI sales coaching, improve close rate, sales communication, filler words sales, weak language sales, sales call review, sales pitch improvement, AI sales coach",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Sales Call Analysis",url:"https://speakflare.com/use-cases/sales-call-analysis"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Stop Losing Deals Because of How You Talk"}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"SpeakFlare analyzes your sales calls and shows you exactly what's killing your close rate — before it costs you another deal."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Start Free — No Credit Card"}),n.jsxs(D,{size:"lg",variant:"outline",onClick:()=>e("/features"),className:"rounded-full px-10 text-base",children:["See How It Works ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"The words that lose deals"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Research shows buyers make judgements about competence and trust within the first 30 seconds. Here's the language that separates top performers from everyone else."}),n.jsx("div",{className:"space-y-6",children:Z6e.map(t=>n.jsxs(X,{className:"p-6",children:[n.jsx("div",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-4",children:t.label}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[n.jsxs("div",{className:"rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-red-600 dark:text-red-400 mb-2",children:"What most reps say"}),n.jsxs("p",{className:"text-sm italic text-red-800 dark:text-red-300",children:['"',t.weak,'"']})]}),n.jsxs("div",{className:"rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-green-600 dark:text-green-400 mb-2",children:"What top closers say"}),n.jsxs("p",{className:"text-sm italic text-green-800 dark:text-green-300",children:['"',t.strong,'"']})]})]})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"What SpeakFlare catches on every sales call"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Every call is automatically analyzed across four dimensions that directly impact close rates."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:Q6e.map(t=>n.jsxs(X,{className:"p-6 hover:shadow-md transition-shadow",children:[n.jsx(t.icon,{className:`h-10 w-10 ${t.color} mb-4`}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-primary/5 border-y border-primary/10",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("div",{className:"text-5xl font-black text-primary mb-4",children:"43%"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Fewer filler words in 30 days"}),n.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:"Sales teams on SpeakFlare reduce their filler word rate by an average of 43% within their first month of consistent use — without any formal coaching sessions."}),n.jsx("div",{className:"mt-8 flex flex-wrap justify-center gap-6 text-center",children:[{stat:"5 min",label:"Average time to first insight"},{stat:"50+",label:"Languages supported"},{stat:"4.8★",label:"Average user rating"}].map(t=>n.jsxs("div",{className:"min-w-[120px]",children:[n.jsx("div",{className:"text-2xl font-bold",children:t.stat}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:t.label})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:"How it works"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-8",children:X6e.map(t=>n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"w-14 h-14 roun
921ded-full bg-primary/10 text-primary flex items-center justify-center text-xl font-black mx-auto mb-4",children:t.step}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.step))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Start free — a 30-second demo, no sign-up"}),n.jsx("p",{className:"text-muted-foreground mb-4 max-w-xl mx-auto",children:"Try a free 30-second demo in your browser, no account needed. When you're ready, $5 unlocks 20 full recording analyses. No commitment."}),n.jsx("ul",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-8 text-sm",children:["Free 30-second demo, no sign-up","$5 for 20 recordings (pay as you go)","Pro unlimited $12/mo or $99/yr","Credits never expire"].map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t]},t))}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-12",children:"Start Free — No Credit Card"})]})})]}),n.jsx(Ut,{})]})}const J6e=[{icon:pa,color:"text-red-500",title:"Excessive filler words",desc:`"Um…" and "uh…" signal the interviewer that you didn't prepare. Even well-qualified candidates get passed over because of poor verbal delivery.`},{icon:Ze,color:"text-orange-500",title:"Unclear answers",desc:'Vague references like "this thing" or "that project" confuse interviewers. Specific, precise language is what separates memorable candidates.'},{icon:pa,color:"text-yellow-500",title:"Weak language",desc:'"I think I might be good at…" versus "I led a team of 8 and delivered 20% ahead of schedule." The second version gets offers.'},{icon:_t,color:"text-purple-500",title:"Grammar errors under pressure",desc:"Stress makes grammar slip. Subject-verb disagreements and tense errors come across as careless — even from smart candidates."}],eLe=[{icon:Ze,color:"text-primary",title:"Shows exactly which words you overuse",desc:"See your personal filler word fingerprint — the specific words that keep coming up in your answers, ranked by frequency."},{icon:it,color:"text-green-600",title:"Corrects your sentences to sound more professional",desc:'Get side-by-side rewrites: "I feel like I might be able to help with that" becomes "I have direct experience solving exactly this problem."'},{icon:_t,color:"text-blue-600",title:"Tracks improvement across practice sessions",desc:"Every practice answer is logged. Watch your filler rate, clarity score, and grammar accuracy improve session by session."}],tLe=[{q:"Tell me about yourself.",tip:"Structure: 1–2 sentences on current role → relevant experience → why this company. Avoid filler-heavy rambles."},{q:"What's your greatest weakness?",tip:"Be specific and show growth. Vague answers like 'I work too hard' read as evasive. SpeakFlare flags excessive hedging here."},{q:"Tell me about a time you failed.",tip:"Use the STAR method. Concrete nouns and active verbs score higher than passive, filler-heavy narration."},{q:"Why do you want to work here?",tip:"SpeakFlare detects whether your answer sounds rehearsed or genuine. Avoid generic phrases like 'great culture' without specifics."},{q:"Where do you see yourself in 5 years?",tip:"Align your answer to the company's growth. Watch for filler-heavy openings — the first 5 words set the tone."}],rLe=[{step:"01",title:"Record your practice answer",desc:"Use SpeakFlare's microphone recording or upload an audio/video file. Works for mock interviews alone or with a partner."},{step:"02",title:"Get your AI coaching report",desc:"Receive a full breakdown: filler words, grammar errors, clarity issues, and weak language — all highlighted in your transcript."},{step:"03",title:"Practice again and watch your score rise",desc:"Track progress across every session. By interview day, your answers will sound polished and prepared — because they are."}],nLe=["Google","Amazon","Meta","McKinsey","Goldman Sachs","Apple"];function XM(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Interview Prep — Analyze Your Communication Before Your Next Job Interview | SpeakFlare",description:"Record your practice interview answers and let SpeakFlare tell you exactly what to fix — filler words, weak language, unclear answers. Start free, no credit card needed.",canonical:"https://speakflare.com/use-cases/job-interview-prep",keywords:"AI interview prep, interview communication coach, job interview practice, reduce filler words interview, interview speech analysis, mock interview AI, improve interview answers, interview coaching free",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Job Interview Prep",url:"https://speakflare.com/use-cases/job-interview-prep"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Practice Until Your Interview Communication Is Flawless"}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"Record your practice answers. SpeakFlare tells you exactly what to fix before the real interview — filler words, weak language, and everything in between."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Practice Your First Answer Free"}),n.jsxs(D,{size:"lg",variant:"outline",onClick:()=>e("/features"),className:"rounded-full px-10 text-base",children:["See All Features ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up"})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"What interviewers silently judge"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Most candidates prepare what to say. Few prepare how they say 
921it. These are the verbal signals that cost qualified people offers every day."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:J6e.map(t=>n.jsxs(X,{className:"p-6 hover:shadow-md transition-shadow",children:[n.jsx(t.icon,{className:`h-10 w-10 ${t.color} mb-4`}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"Your personalized interview coach"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"SpeakFlare doesn't give generic advice. It analyzes your specific speech patterns and tells you exactly what to change."}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:eLe.map(t=>n.jsxs(X,{className:"p-6",children:[n.jsx(t.icon,{className:`h-10 w-10 ${t.color} mb-4`}),n.jsx("h3",{className:"font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Practice interview questions"}),n.jsx("p",{className:"text-center text-muted-foreground mb-10 max-w-xl mx-auto",children:"Record your answer to each of these, run it through SpeakFlare, and iterate until your communication is clean."}),n.jsx("div",{className:"space-y-4",children:tLe.map((t,r)=>n.jsx(X,{className:"p-6",children:n.jsxs("div",{className:"flex gap-4 items-start",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 text-primary text-sm font-bold flex items-center justify-center flex-shrink-0",children:r+1}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold mb-2",children:t.q}),n.jsxs("p",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx(Ua,{className:"h-4 w-4 flex-shrink-0 mt-0.5 text-primary"}),t.tip]})]})]})},r))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Used by candidates interviewing at"}),n.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:"Professionals preparing for roles at top companies use SpeakFlare to get their communication sharp before the high-stakes conversation."}),n.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:nLe.map(t=>n.jsx("div",{className:"px-6 py-3 rounded-full bg-muted border border-border text-sm font-semibold text-muted-foreground",children:t},t))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:"How it works"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-8",children:rLe.map(t=>n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 text-primary flex items-center justify-center text-xl font-black mx-auto mb-4",children:t.step}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.step))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Your next interview is a communication test"}),n.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:"The candidates who get offers don't just know the right answers — they deliver them with clarity and confidence. Start practicing with SpeakFlare today."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-12",children:"Start Free — No Credit Card"}),n.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-x-6 gap-y-2",children:["Free 30-sec demo","$5 for 20 recordings","Works on any device","50+ languages"].map(t=>n.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(ut,{className:"h-4 w-4 text-primary"}),t]},t))})]})})]}),n.jsx(Ut,{})]})}const aLe=[{icon:Ze,colorClass:"text-red-500",title:"Filler words that undermine confidence",desc:`Every "um" tells your audience you're not sure about what you're saying — even when you are. At scale, filler words de
921stroy the impression of authority.`},{icon:vn,colorClass:"text-orange-500",title:"Speaking pace issues",desc:"Too fast and audiences lose the thread. Too slow and they lose interest. SpeakFlare measures your words-per-minute and flags sections where pace becomes a problem."},{icon:_t,colorClass:"text-yellow-500",title:"Weak structure",desc:"Great presentations have a clear intro, body, and conclusion. Audiences need signposting. SpeakFlare scores each section independently."},{icon:rr,colorClass:"text-purple-500",title:"Unclear references that lose the audience",desc:'Vague language like "this point" or "that idea" forces listeners to work too hard. Your audience should not have to fill in your gaps.'}],sLe=[{icon:Ur,colorClass:"text-primary",title:"Communication Score",desc:"A single 0–100 score combining filler rate, clarity, grammar, and structural cohesion. Track it improving across practice sessions."},{icon:_t,colorClass:"text-blue-600",title:"Structure Analysis",desc:"Separate scores for intro, body, and conclusion. See where your presentation loses shape and fix it before the real delivery."},{icon:vn,colorClass:"text-green-600",title:"Speech Rate in Words Per Minute",desc:"The ideal presentation pace is 120–160 WPM. SpeakFlare shows your rate per section and flags where you rush or drag."},{icon:rr,colorClass:"text-orange-600",title:"Filler Word Heat Map",desc:"See exactly where in your presentation fillers cluster. Nervousness often spikes at transitions — SpeakFlare shows the exact moments."}],iLe=[{session:"Session 1",label:"Baseline",desc:"Your raw numbers: filler rate, pace, structure score. Uncomfortable to see, essential to know."},{session:"Session 2",label:"Improvement",desc:"With your weak spots identified, targeted practice drops your filler rate and tightens your structure."},{session:"Session 3",label:"Polished",desc:"Clean delivery, confident pace, strong structure. You show up to the real talk knowing your communication is ready."}
921],oLe=["TEDx and keynote preparation","Board room presentations","Investor pitch rehearsals","Sales demos and product pitches","Team meetings and all-hands","Podcast and video content","University presentations","Job interviews and panel discussions"];function JM(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Public Speaking Coach — Improve Your Presentations with Real-Time Analysis | SpeakFlare",description:"Record your presentation practice and get AI coaching on filler words, speech rate, structure, and clarity. SpeakFlare turns nervous rambling into confident delivery. Start free.",canonical:"https://speakflare.com/use-cases/public-speaking",keywords:"AI public speaking coach, presentation analysis, improve presentations, speech rate analyzer, filler words presentation, public speaking improvement, TEDx prep, keynote coaching, AI speech coach",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Public Speaking",url:"https://speakflare.com/use-cases/public-speaking"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Turn Nervous Rambling Into Confident Presentations"}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"Record your presentation practice. Get AI coaching on filler words, pace, structure, and clarity — before you step in front of your audience."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Analyze Your Next Presentation Free"}),n.jsxs(D,{size:"lg",variant:"outline",onClick:()=>e("/features"),className:"rounded-full px-10 text-base",children:["See All Features ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up"})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"What holds back most speakers"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"The gap between a speaker who commands a room and one who loses it comes down to specific verbal habits that never got fixed."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:aLe.map(t=>{const r=t.icon;return n.jsxs(X,{className:"p-6 hover:shadow-md transition-shadow",children:[n.jsx(r,{className:`h-10 w-10 ${t.colorClass} mb-4`}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title)})})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"SpeakFlare's Presentation Analysis"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Four dimensions measured automatically on every practice recording. No external coach required."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:sLe.map(t=>{const r=t.icon;return n.jsx(X,{className:"p-6",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-muted flex items-center justify-center flex-shrink-0",children:n.jsx(r,{className:`h-6 w-6 ${t.colorClass}`})}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold mb-1",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]})},t.title)})})]})}),n.jsx("section",{className:"py-16 px-4 bg-primary/5 border-y border-primary/10",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"From first draft to polished delivery in 3 sessions"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Speakers improve significantly within three measured practice sessions when they have concrete, objective feedback to act on."}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:iLe.map(t=>n.jsxs(X,{className:"p-6 text-center",children:[n.jsx("div",{className:"text-xs font-bold uppercase tracking-widest text-primary mb-1",children:t.session}),n.jsx("div",{className:"text-xl font-bold mb-3",children:t.label}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.session))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-4",children:"Works for every speaking scenario"}),n.jsx("p",{className:"text-center text-muted-foreground mb-10 max-w-xl mx-auto",children:"Whether you're rehearsing a five-minute pitch or a forty-five-minute keynote, SpeakFlare's anal
921ysis applies equally."}),n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:oLe.map(t=>n.jsxs("div",{className:"flex items-start gap-2 bg-muted/40 rounded-xl p-4",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0 mt-0.5"}),n.jsx("span",{className:"text-sm",children:t})]},t))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-12",children:[n.jsx(it,{className:"h-12 w-12 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Confident speakers practice smarter."}),n.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:"The only difference between a nervous presenter and a commanding one is data-driven iteration. SpeakFlare gives you the data. You put in the reps."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-12",children:"Start Free — No Credit Card"}),n.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-x-6 gap-y-2",children:["Free 30-sec demo","$5 for 20 recordings","50+ languages","Works on any device"].map(t=>n.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(ut,{className:"h-4 w-4 text-primary"}),t]},t))})]})})]}),n.jsx(Ut,{})]})}const lLe=[{name:"Sarah K.",role:"Enterprise Sales Manager",company:"Salesforce",avatar:"SK",avatarColor:"bg-blue-500",quote:"I used to say 'um' or 'uh' roughly 40 times per meeting. After the 30-day challenge I tracked it down to under 10. My close rate improved noticeably — clients started taking me more seriously.",improvement:"↓ 76% filler words"},{name:"Marcus T.",role:"VP of Product",company:"Notion",avatar:"MT",avatarColor:"bg-violet-500",quote:"Week 2 was the turning point. Seeing the chart go down week over week was addictive. By week 4, my team started commenting that my all-hands presentations felt 'cleaner'. Highly recommend.",improvement:"↓ 58% vague language"},{name:"Priya M.",role:"TEDx Speaker & Coach",company:"Independent",avatar:"PM",avatarColor:"bg-emerald-500",quote:"I recommend SpeakFlare's 30-day challenge to every speaker I coach now. The automated tracking removes the guesswork. You see your habits clearly and that alone makes you want to fix them.",improvement:"Earned certificate Day 28"}],cLe=[{icon:tn,title:"Filler Words",subtitle:"um, uh, like, you know",description:"Tracked automatically. See your count drop week over week.",color:"text-orange-500",bg:"bg-orange-50 dark:bg-orange-950/20",border:"border-orange-100 dark:border-orange-900/30"},{icon:rr,title:"Clarity",subtitle:"Vague language",description:"Phrases like 'sort of' and 'kind of' flagged and corrected.",color:"text-blue-500",bg:"bg-blue-50 dark:bg-blue-950/20",border:"border-blue-100 dark:border-blue-900/30"},{icon:Pr,title:"Confidence Language",subtitle:"Weak hedging words",description:"Weak openers replaced with assertive, credible language.",color:"text-violet-500",bg:"bg-violet-50 dark:bg-violet-950/20",border:"border-violet-100 dark:border-violet-900/30"},{icon:oc,title:"Grammar",subtitle:"Professional polish",description:"Grammar corrections for professional communication.",color:"text-emerald-500",bg:"bg-emerald-50 dark:bg-emerald-950/20",border:"border-emerald-100 dark:border-emerald-900/30"}],dLe=[{number:"01",icon:Ze,title:"Record a Call or Meeting",description:"Upload audio from any meeting, or use the SpeakFlare Chrome extension to capture Zoom or Google Meet calls automatically.",color:"text-primary",bg:"bg-primary/10"},{number:"02",icon:_t,title:"Get Your Baseline Score",description:"SpeakFlare AI analyzes your filler words, clarity, confidence language, and grammar — giving you a score out of 100 and a clear starting point.",color:"text-blue-500",bg:"bg-blue-500/10"},{number:"03",icon:it,title:"Track Your Improvement",description:"Weekly check-ins show your progress over 4 weeks. Watch your filler count drop and your score climb. Hit the goal and earn your certificate.",color:"text-emerald-500",bg:"bg-emerald-500/10"}];function uLe(){const e=[1,7,14,21,30],t=[45,54,63,74,88],r=["Start","Week 1","Week 2","Week 3","Goal"];return n.jsxs("div",{className:"relative w-full max-w-md mx-auto",children:[n.jsxs("div",{className:"bg-muted/40 border border-border/50 rounded-md p-6",children:[n.jsxs("div",{className:"flex justify-between items-end mb-3",children:[n.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Your Communication Score"}),n.jsx(ve,{className:"bg-emerald-500/10 text-emerald-600 border-emerald-200 text-xs font-semibold",children:"+43 pts in 30 days"})]}),n.jsx("div",{className:"flex items-end gap-3 h-24",children:t.map((a,s)=>n.jsxs("div",{className:"flex-1 flex flex-col items-center gap-1",children:[n.jsx("div",{className:"w-full rounded-t-md transition-all",style:{height:`${a/100*80}px`,background:s===t.length-1?"linear-gradient(to top, #22c55e, #4ade80)":s===0?"hsl(var(--muted-foreground) / 0.3)":"hsl(var(--primary) / "+(.3+s*.15)+")"}}),n.jsx("span",{className:"text-[10px] font-semibold text-muted-foreground",children:a})]},s))}),n.jsx("div",{className:"flex justify-between mt-1",children:r.map((a,s)=>
921n.jsx("span",{className:"text-[9px] text-muted-foreground/70 flex-1 text-center",children:a},s))}),n.jsxs("div",{className:"mt-4 pt-4 border-t border-border/40 flex items-center justify-between",children:[n.jsxs("div",{className:"text-sm",children:[n.jsx("div",{className:"text-muted-foreground text-xs mb-0.5",children:"Filler words / meeting"}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-2xl font-bold text-foreground",children:"48"}),n.jsx(At,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("span",{className:"text-2xl font-bold text-emerald-500",children:"22"}),n.jsx("span",{className:"text-xs text-emerald-500 font-semibold",children:"↓ 54%"})]})]}),n.jsx(Zo,{className:"h-8 w-8 text-yellow-400"})]})]}),n.jsx("div",{className:"flex justify-between mt-3 px-1",children:e.map((a,s)=>n.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${s===e.length-1?"bg-emerald-500":s===0?"bg-muted-foreground/40":"bg-primary"}`}),n.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["Day ",a]})]},s))})]})}function mLe({userId:e}){const{data:t}=De({queryKey:["/api/meetings"],queryFn:async()=>{const h=await fetch("/api/meetings",{credentials:"include"});return h.ok?h.json():[]}}),r=new Date,a=new Date(r.getFullYear(),r.getMonth(),1),s=(t||[]).filter(h=>new Date(h.createdAt||h.date||0)>=a),i=Math.min(Math.ceil(r.getDate()/7),4),o=s.length,l=Math.min(o/4*100,100),c=(t||[]).slice(0,4).map(h=>h.score??h.overallScore??null).filter(h=>h!==null),d=c[0]??null,u=c[c.length-1]??null,m=d&&u&&u!==d?d>u?`↑ ${d-u} pts`:`↓ ${u-d} pts`:d?`${d}/100`:"–";return n.jsxs("div",{className:"bg-gradient-to-br from-primary/5 to-blue-500/5 border border-primary/20 rounded-md p-6",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(Zo,{className:"h-5 w-5 text-yellow-400"}),n.jsx("h3",{className:"font-semibold text-foreground",children:"Your Challenge Progress"})]}),n.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-5",children:[n.jsxs("div",{className:"text-center",children:[n.jsxs("div",{className:"text-2xl font-bold text-foreground",children:[i,n.jsx("span",{className:"text-sm font-normal text-muted-foreground",children:"/4"})]}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Weeks in"})]}),n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-2xl font-bold text-foreground",children:o}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Meetings analyzed"})]}),n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:`text-2xl font-bold ${m.startsWith("↑")?"text-emerald-500":m.startsWith("↓")&&!m.includes("pts")?"text-red-500":"text-foreground"}`,children:m}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Score trend"})]})]}),n.jsxs("div",{className:"mb-2 flex justify-between text-xs text-muted-foreground",children:[n.jsx("span",{children:"Challenge progress"}),n.jsxs("span",{children:[Math.round(l),"%"]})]}),n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden",children:n.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-primary to-blue-500 transition-all",style:{width:`${l}%`}})}),n.jsx("div",{className:"mt-3 text-xs text-muted-foreground",children:o>=4?"You've hit the meeting goal! Keep it up for the score target.":`${4-o} more meeting${4-o===1?"":"s"} to reach your 30-day goal.`})]})}function eO(){var i;const[,e]=ze(),{user:t,isAuthenticated:r}=Gt(),a=y.useRef(null),s=()=>{var o;(o=a.current)==null||o.scrollIntoView({behavior:"smooth"})};return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(lt,{title:"The 30-Day Communication Challenge | SpeakFlare",description:"Cut your filler words in half and sound more confident in 30 days — free. Join 1,200+ professionals on the SpeakFlare 30-Day Communication Challenge.",canonical:"https://speakflare.com/challenge",keywords:"30 day communication challenge, reduce filler words, public speaking challenge, speech improvement, filler word tracker, communication skills, SpeakFlare challenge",pageType:"product",breadcrumbs:[{name:"30-Day Challenge",url:"https://speakflare.com/challenge"}]}),n.jsx(He,{}),n.jsxs("section",{className:"relative overflow-hidden pt-20 pb-24 px-4",children:[n.jsxs("div",{className:"absolute inset-0 -z-10 pointer-events-none",children:[n.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[400px] bg-primary/8 rounded-full blur-3xl"}),n.jsx("div",{className:"absolute bottom-0 right-1/4 w-[400px] h-[300px] bg-blue-500/6 rounded-full blur-3xl"})]}),n.jsxs("div",{className:"max-w-6xl mx-auto grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx(ve,{className:"mb-5 bg-primary/10 text-primary border-primary/20 text-xs font-semibold tracking-wide px-3 py-1",children:"30-DAY CHALLENGE · FREE"}),n.jsxs("h1",{className:"text-4xl sm:text-5xl lg:text-6xl font-black leading-[1.05] tracking-tight text-foreground mb-5",children:["The 30-Day"," ",n.jsx("span",{className:"text-primary",children:"Communication"})," ","Challenge"]}),n.jsx("p",{className:"text-xl text-muted-foreground leading-relaxed mb-8 max-w-lg",children:"Cut your filler words in half. Sound more confident. In 30 days."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[n.jsxs(D,{size:"lg",className:"rounded-full px-8 text-base font-bold shadow-md shadow-primary/20",onClick:()=>e("/register"),children:["Accept the Challenge (Free)",n.jsx(At,{className:"ml-2 h-4 w-4"})]}),n.jsx(D,{size:"lg",variant:"outline",className:"rounded-md px-8 text-base font-semibold",onClick:s,children:"See how it works"})]}),n.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"No credit card required. First analysis is free."})]}),n.jsx("div",{className:"flex justify-center",children:n.jsx(uLe,{})})]})]}),n.jsx("section",{ref:a,className:"py-20 px-4 bg-muted/20 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-foreground mb-3",children:"How the challenge works"}),n.jsx("p",{className:"text-muted-foreground text-lg max-w-xl mx-auto",children:"Three steps. Thirty days. Measurable results."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:dLe.map((o,l)=>n.jsx(X,{className:"relative overflow-hidden border-border/60 hover:shadow-md transition-shadow",children:n.jsxs(ue,{className:"pt-8 pb-6 px-6",children:[n.jsx("div",{className:"absolute top-4 right-4 text-4xl font-black text-muted-foreground
921/10 select-none",children:o.number}),n.jsx("div",{className:`inline-flex p-3 rounded-xl ${o.bg} mb-4`,children:n.jsx(o.icon,{className:`h-6 w-6 ${o.color}`})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:o.title}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.description})]})},l))})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsx("div",{className:"max-w-4xl mx-auto",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-foreground mb-4",children:"The challenge rules"}),n.jsx("p",{className:"text-muted-foreground mb-8",children:"Simple, achievable, and designed for busy professionals. You already have meetings — just let SpeakFlare analyze them."}),n.jsx("ul",{className:"space-y-4",children:[{icon:nr,color:"text-primary",text:"Analyze at least 1 meeting per week"},{icon:_t,color:"text-blue-500",text:"Track your filler word count each week"},{icon:rr,color:"text-violet-500",text:"Goal: reduce filler words by 50% in 30 days"},{icon:Zo,color:"text-yellow-500",text:"Earn your certificate when you hit the goal"}].map((o,l)=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(o.icon,{className:`h-5 w-5 ${o.color} mt-0.5 flex-shrink-0`}),n.jsx("span",{className:"text-foreground font-medium",children:o.text})]},l))})]}),n.jsx("div",{className:"flex justify-center",children:n.jsx("div",{className:"relative w-full max-w-sm",children:n.jsxs("div",{className:"border-4 border-yellow-400/60 rounded-md p-6 text-center bg-gradient-to-br from-yellow-50 to-amber-50 dark:from-yellow-950/20 dark:to-amber-950/20 shadow-xl",children:[n.jsx(Zo,{className:"h-12 w-12 text-yellow-400 mx-auto mb-3"}),n.jsx("div",{className:"text-xs font-semibold uppercase tracking-widest text-amber-600 dark:text-amber-400 mb-1",children:"Certificate of Achievement"}),n.jsx("div",{className:"text-xl font-black text-foreground mb-1",children:"30-Day Challenge"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-3",children:"Completed by"}),n.jsx("div",{className:"text-lg font-bold text-foreground mb-3",children:r&&t?t.firstName||((i=t.email)==null?void 0:i.split("@")[0])||"You":"Your Name Here"}),n.jsx("div",{className:"flex justify-center gap-1 mb-3",children:[...Array(5)].map((o,l)=>n.jsx("span",{className:"text-yellow-400 text-lg",children:"★"},l))}),n.jsx("div",{className:"text-xs text-muted-foreground bg-white/50 dark:bg-black/20 rounded-md px-3 py-1.5",children:"Filler words reduced by 50%+"})]})})})]})})}),n.jsx("section",{className:"py-20 px-4 bg-muted/20 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-foreground mb-3",children:"What you'll improve"}),n.jsx("p",{className:"text-muted-foreground text-lg",children:"SpeakFlare tracks four dimensions of your communication — automatically."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-
9215",children:cLe.map((o,l)=>n.jsx(X,{className:`border ${o.border} ${o.bg} hover:shadow-md transition-shadow`,children:n.jsxs(ue,{className:"pt-6 pb-5 px-5",children:[n.jsx(o.icon,{className:`h-7 w-7 ${o.color} mb-3`}),n.jsx("h3",{className:"font-bold text-foreground mb-0.5",children:o.title}),n.jsx("p",{className:"text-xs text-muted-foreground mb-2 font-medium",children:o.subtitle}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.description})]})},l))})]})}),n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("div",{className:"text-4xl font-black text-foreground mb-2",children:"1,200+"}),n.jsx("p",{className:"text-lg text-muted-foreground font-medium",children:"people have taken the 30-day challenge"})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:lLe.map((o,l)=>n.jsx(X,{className:"border-border/60 hover:shadow-md transition-shadow",children:n.jsxs(ue,{className:"pt-6 pb-5 px-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:`${o.avatarColor} w-10 h-10 rounded-full flex items-center justify-center text-white text-sm font-bold flex-shrink-0`,children:o.avatar}),n.jsxs("div",{children:[n.jsx("div",{className:"font-semibold text-foreground text-sm",children:o.name}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[o.role," · ",o.company]})]})]}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:['"',o.quote,'"']}),n.jsx(ve,{className:"bg-emerald-500/10 text-emerald-600 border-emerald-200 text-xs font-semibold",children:o.improvement})]})},l))}),n.jsx(X,{className:"bg-[#0A66C2]/5 border-[#0A66C2]/20",children:n.jsxs(ue,{className:"py-7 px-8 flex flex-col sm:flex-row items-center gap-5",children:[n.jsx(Qv,{className:"h-8 w-8 text-[#0A66C2] flex-shrink-0"}),n.jsxs("div",{className:"flex-1 text-center sm:text-left",children:[n.jsx("div",{className:"font-bold text-foreground mb-1",children:"Share your challenge progress on LinkedIn"}),n.jsx("div",{className:"text-sm text-muted-foreground",children:"Post your weekly score card to your network. Accountability makes you 3x more likely to complete the challenge."})]}),n.jsx(D,{variant:"outline",className:"rounded-full border-[#0A66C2]/40 text-[#0A66C2] hover:bg-[#0A66C2]/10 flex-shrink-0",onClick:()=>e("/register"),children:"Join & Share"})]})})]})}),r&&t&&n.jsx("section",{className:"py-12 px-4 bg-muted/20 border-y border-border/50",children:n.jsx("div",{className:"max-w-2xl mx-auto",children:n.jsx(mLe,{userId:t.id})})}),n.jsxs("section",{className:"py-24 px-4 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 -z-10 pointer-events-none",children:n.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/5 via-transparent to-blue-500/5"})}),n.jsxs("div",{className:"max-w-2xl mx-auto text-center",children:[n.jsx("h2",{className:"text-4xl sm:text-5xl font-black text-foreground mb-4 leading-tight",children:"Start Your 30-Day Challenge Today"}),n.jsx("p",{className:"text-muted-foreground text-lg mb-2",children:"It's free. No credit card. Cancel anytime."}),n.jsx("p",{className:"text-sm text-muted-foreground mb-8",children:"Start with a free 30-second demo — no sign-up."}),n.jsxs(D,{size:"lg",className:"rounded-full px-10 text-lg font-bold shadow-lg shadow-primary/25 h-14",onClick:()=>e("/register"),children:["Accept the Challenge",n.jsx(At,{className:"ml-2 h-5 w-5"})]})]})]}),n.jsx(Ut,{})]})}let jv=null;try{jv=require("@/components/AchievementBanner").default}catch{jv=null}function hLe(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function fLe(){return n.jsxs("svg",{className:"absolute inset-0 w-full h-full pointer-events-none",xmlns:"http://www.w3.org/2000/svg",style:{zIndex:0},children:[n.jsx("rect",{x:"8",y:"8",width:"calc(100% - 16px)",height:"calc(100% - 16px)",rx:"12",ry:"12",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"2",strokeOpacity:"0.6",style:{width:"calc(100% - 16px)",height:"calc(100% - 16px)"}}),n.jsx("rect",{x:"18",y:"18",width:"calc(100% - 36px)",height:"calc(100% - 36px)",rx:"8",ry:"8",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"1",strokeOpacity:"0.25",style:{width:"calc(100% - 36px)",height:"calc(100% - 36px)"}}),n.jsx("path",{d:"M8,40 L8,8 L40,8",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"3",strokeLinecap:"round"}),n.jsx("path",{d:"M calc(100% - 40px),8 L calc(100% - 8px),8 L calc(100% - 8px),40",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"3",strokeLinecap:"round"}),n.jsx("path",{d:"M8,calc(100% - 40px) L8,calc(100% - 8px) L40,calc(100% - 8px)",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"3",strokeLinecap:"round"}),n.jsx("path",{d:"M calc(100% - 40px),calc(100% - 8px) L calc(100% - 8px),calc(100% - 8px) L calc(100% - 8px),calc(100% - 40px)",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"3",strokeLinecap:"round"})]})}function pLe({data:e}){return n.jsxs("div",{id:"certificate-card",className:"relative bg-white text-gray-800 rounded-2xl shadow-2xl overflow-hidden mx-auto print:shadow-none print:rounded-none",style:{maxWidth:720,minHeight:480},children:[n.jsx("div",{className:"absolute inset-0 opacity-[0.03]",style:{backgroundImage:"repeating-linear-gradient(45deg, #1d4ed8 0, #1d4ed8 1px, transparent 0, transparent 50%)",backgroundSize:"24px 24px"}}),n.jsx(fLe,{}),n.jsxs("div",{className:"relative z-10 flex flex-col items-center text-center px-12 py-14 gap-
9215",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(xB,{size:32}),n.jsxs("span",{className:"text-lg font-bold tracking-tight text-gray-700",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),"Flare"]})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs uppercase tracking-widest font-semibold text-primary/70 mb-2",children:"Certificate of Achievement"}),n.jsx("h1",{className:"text-3xl sm:text-4xl font-black tracking-tight text-gray-900 leading-tight",children:"Communication Excellence"})]}),n.jsxs("div",{className:"flex items-center gap-3 w-full max-w-md",children:[n.jsx("div",{className:"flex-1 h-px bg-primary/20"}),n.jsx("span",{className:"text-primary/40 text-lg",children:"✦"}),n.jsx("div",{className:"flex-1 h-px bg-primary/20"})]}),n.jsxs("div",{className:"space-y-1",children:[n.jsx("p",{className:"text-sm text-gray-500 uppercase tracking-widest",children:"This certifies that"}),n.jsx("p",{className:"text-2xl sm:text-3xl font-bold text-gray-900",children:e.name}),n.jsx("p",{className:"text-sm text-gray-500 mt-2 max-w-sm mx-auto leading-relaxed",children:"has demonstrated exceptional communication skills through consistent AI-powered practice and improvement."})]}),n.jsxs("div",{className:"grid grid-cols-3 gap-4 w-full max-w-sm mt-2",children:[n.jsxs("div",{className:"bg-primary/5 rounded-xl py-3 px-2",children:[n.jsx("p",{className:"text-2xl font-black text-primary",children:e.meetingCount}),n.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["Meetings",n.jsx("br",{}),"Analyzed"]})]}),n.jsxs("div",{className:"bg-primary/5 rounded-xl py-3 px-2",children:[n.jsxs("p",{className:"text-2xl font-black text-primary",children:[e.score,"/100"]}),n.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["Communication",n.jsx("br",{}),"Score"]})]}),n.jsxs("div",{className:"bg-primary/5 rounded-xl py-3 px-2",children:[n.jsxs("p",{className:"text-2xl font-black text-primary",children:["-",e.fillerReduction,"%"]}),n.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["Filler Words",n.jsx("br",{}),"Reduced"]})]})]}),n.jsx("p",{className:"text-xs text-gray-400 mt-2",children:hLe(e.date)}),n.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-400 mt-1",children:[n.jsx("span",{children:"Powered by SpeakFlare AI"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"speakflare.com"})]})]})]})}function gLe({data:e}){const{toast:t}=dt(),r=()=>window.print(),a=async()=>{const i=`I just earned a Communication Excellence certificate from SpeakFlare! My score: ${e.score}/100. Check it out at speakflare.com`,o=`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent("https://speakflare.com")}&summary=${encodeURIComponent(i)}`;window.open(o,"_blank","noopener,noreferrer")},s=()=>{t({title:"Download tip",description:"Use your browser's Print → Save as PDF option, or take a screenshot of the certificate for the best quality."})};return n.jsxs("div",{className:"flex flex-wrap justify-center gap-3 print:hidden",children:[n.jsxs(D,{variant:"outline",className:"rounded-full px-5 gap-2",onClick:r,children:[n.jsx($te,{className:"h-4 w-4"}),"Print"]}),n.jsxs(D,{variant:"outline",className:"rounded-full px-5 gap-2",onClick:a,children:[n.jsx(Ko,{className:"h-4 w-4"}),"Share on LinkedIn"]}),n.jsxs(D,{variant:"outline",className:"rounded-full px-5 gap-2",onClick:s,children:[n.jsx(Kv,{className:"h-4 w-4"}),"Download PNG"]})]})}function tO(){const[,e]=Hu("/certificate/:id"),t=e==null?void 0:e.id,{data:r,isLoading:a,isError:s}=De({queryKey:[`/api/meetings/${t}/public-summary`],enabled:!!t,retry:!1}),i={name:"Your Name",meetingCount:12,fillerReduction:34,score:84,date:new Date().toISOString()},o=!a&&!s&&r?r:i,l=s||!a&&!r;return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col print:bg-white",children:[n.jsx("div",{className:"print:hidden",children:n.jsx(He,{})}),n.jsxs("main",{className:"flex-1 max-w-3xl mx-auto w-full px-4 sm:px-6 py-10 space-y-8 print:py-4 print:px-0 print:max-w-full",children:[!a&&n.jsxs("div",{className:"text-center print:hidden",children:[n.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:l?"Demo Certificate":"Your Certificate"}),l&&n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Certificate data couldn't be loaded — showing a sample. Record meetings to generate your real certificate."})]}),a&&n.jsx("div",{className:"flex items-center justify-center py-20",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}),!a&&n.jsxs(n.Fragment,{children:[n.jsx(pLe,{data:o}),jv&&!l&&n.jsx(jv,{data:o}),n.jsx(gLe,{data:o})]})]}),n.jsx("style",{children:`
922        @media print {
923          body * {
924            -webkit-print-color-adjust: exact;
925            print-color-adjust: exact;
926          }
927        }
928      `})]})}const xLe={sm:{wrapper:"w-48",padding:"px-3 py-2",scoreText:"text-3xl",outOf:"text-sm",label:"text-xs",name:"text-xs",logoSize:14,gap:"gap-1.5"},md:{wrapper:"w-64",padding:"px-4 py-3",scoreText:"text-4xl",outOf:"text-base",label:"text-sm",name:"text-sm",logoSize:18,gap:"gap-2"},lg:{wrapper:"w-80",padding:"px-6 py-5",scoreText:"text-6xl",outOf:"text-xl",label:"text-base",name:"text-base",logoSize:22,gap:"gap-3"}};function yLe(e){return e>=80?{from:"#22c55e",to:"#16a34a"}:e>=60?{from:"#3b82f6",to:"#1d4ed8"}:e>=40?{from:"#f59e0b",to:"#b45309"}:{from:"#ef4444",to:"#b91c1c"}}function vLe({score:e,displayName:t,size:r="md"}){const a=xLe[r],s=Math.max(0,Math.min(100,Math.round(e))),i=yLe(s);return n.jsx("div",{className:`${a.wrapper} rounded-xl overflow-hidden shadow-lg select-none`,style:{background:`linear-gradient(135deg, ${i.from}, ${i.to})`},children:n.jsxs("div",{className:`${a.padding} flex flex-col items-center text-white ${a.gap}`,children:[n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:`${a.scoreText} font-black leading-none`,children:s}),n.jsx("span",{className:`${a.outOf} font-semibold opacity-80`,children:"/100"})]}),n.jsx("div",{className:`${a.label} font-semibold uppercase tracking-wider opacity-90 text-center`,children:"Communication Score"}),t&&n.jsx("div",{className:`${a.name} opacity-75 truncate max-w-full text-center`,children:t}),n.jsx("div",{className:"w-full border-t border-white/20 my-0.5"}),n.jsxs("div",{className:"flex items-center gap-1.5 opacity-80",children:[n.jsx(am,{size:a.logoSize}),n.jsx("span",{className:`${a.label} font-semibold`,children:"Verified by SpeakFlare"})]})]})})}function bLe({userId:e,score:t=84,displayName:r="Your Name"}){const[a,s]=y.useState(!1),{toast:i}=dt(),o=e?`sf_${e.slice(0,12)}`:"sf_your_token",l=`https://speakflare.com/api/badge/${o}.svg`,d=`<a href="${`https://speakflare.com/report/${o}
928`}" target="_blank" rel="noopener noreferrer">
929  <img
930    src="${l}"
931    alt="Communication Score: ${t}/100 — Verified by SpeakFlare"
932    height="80"
933  />
934</a>`,u=async()=>{try{await navigator.clipboard.writeText(d),s(!0),i({title:"Copied to clipboard",description:"Paste the embed code anywhere on your website."}),setTimeout(()=>s(!1),2e3)}catch{i({title:"Copy failed",description:"Please select and copy the code manually.",variant:"destructive"})}};return n.jsxs(X,{className:"border border-border",children:[n.jsx(Ye,{className:"pb-3",children:n.jsxs(at,{className:"flex items-center gap-2 text-base font-semibold",children:[n.jsx(N8,{className:"h-4 w-4 text-primary"}),"Add to Your Website"]})}),n.jsxs(ue,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-3",children:"Preview"}),n.jsx("div",{className:"flex items-center justify-center bg-muted/40 rounded-lg py-6",children:n.jsx(vLe,{score:t,displayName:r,size:"md"})})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-2",children:"Embed Code"}),n.jsxs("div",{className:"relative",children:[n.jsx("pre",{className:"bg-muted text-sm rounded-lg p-3 overflow-x-auto text-muted-foreground leading-relaxed font-mono whitespace-pre-wrap break-all",children:d}),n.jsx(D,{size:"sm",variant:"secondary",className:"absolute top-2 right-2 h-7 px-2 text-xs",onClick:u,children:a?n.jsxs(n.Fragment,{children:[n.jsx(ut,{className:"h-3 w-3 mr-1 text-green-600"}),"Copied"]}):n.jsxs(n.Fragment,{children:[n.jsx(Xu,{className:"h-3 w-3 mr-1"}),"Copy"]})})]})]}),n.jsxs("div",{className:"bg-primary/5 rounded-lg p-3 space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-foreground",children:"Where to use it"}),n.jsxs("ul",{className:"text-sm text-muted-foreground space-y-0.5",children:[n.jsx("li",{children:"· Paste into any webpage HTML"}),n.jsx("li",{children:"· LinkedIn About section (as a link)"}),n.jsx("li",{children:"· Email signature"}),n.jsx("li",{children:"· Personal portfolio or bio page"})]})]}),n.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Badge auto-updates when you record new meetings."})]})]})}const wLe=[{name:"Sarah Johnson",score:78,lastMeeting:"Apr 17, 2026",trend:"up",avatar:"SJ",color:"bg-violet-500"},{name:"Marcus Lee",score:64,lastMeeting:"Apr 16, 2026",trend:"down",avatar:"ML",color:"bg-blue-500"},{name:"Priya Nair",score:91,lastMeeting:"Apr 18, 2026",trend:"up",avatar:"PN",color:"bg-emerald-500"}];function jLe(e){if(!e.length)return{totalMeetings:0,avgScore:0,bestCategory:"—"};const t=e.length,r=e.reduce((l,c)=>({grammar:l.grammar+c.grammarCount,filler:l.filler+c.fillerCount,clarity:l.clarity+c.clarityCount,sales:l.sales+c.salesCount}),{grammar:0,filler:0,clarity:0,sales:0}),s=[{label:"Grammar",avg:r.grammar/t},{label:"Filler words",avg:r.filler/t},{label:"Clarity",avg:r.clarity/t},{label:"Sales language",avg:r.sales/t}].reduce((l,c)=>c.avg<l.avg?c:l).label,i=(r.grammar+r.filler+r.clarity+r.sales)/t,o=Math.max(0,Math.min(100,Math.round(100-i)));return{totalMeetings:t,avgScore:o,bestCategory:s}}function NLe({client:e}){return n.jsxs("div",{className:"flex items-center gap-3 py-3 px-4 rounded-lg bg-card border border-border/50",children:[n.jsx("div",{className:`w-9 h-9 rounded-full flex items-center justify-center text-white text-xs font-bold flex-shrink-0 ${e.color}`,children:e.avatar}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"text-sm font-medium truncate",children:e.name}),n.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[n.jsx(vn,{className:"h-3 w-3"}),e.lastMeeting]})]}),n.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[n.jsxs("span",{className:"text-sm font-semibold",children:[e.score,"/100"]}),e.trend==="up"?n.jsx(it,{className:"h-4 w-4 text-green-500"}):n.jsx(kc,{className:"h-4 w-4 text-red-400"})]})]})}function vj({icon:e,label:t,value:r}){return n.jsxs("div",{className:"bg-card border border-border rounded-xl p-4 flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center text-primary flex-shrink-0",children:e}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs text-muted-foreground",children:t}),n.jsx("p",{className:"text-xl font-bold leading-tight",children:r})]})]})}function kLe(){const{user:e,isLoading:t}=Gt(),[,r]=ze(),{toast:a}=dt(),[s,i]=y.useState(!1),[o,l]=y.useState(!1);y.useEffect(()=>{!t&&!e&&r("/register")},[e,t,r]);const{data:c=[],isLoading:d}=De({queryKey:[`/api/users/${e==null?void 0:e.id}/meetings`],enabled:!!(e!=null&&e.id)}),u=Ve({mutationFn:async f=>(await ct("/api/waitlist","POST",{feature:f,email:e==null?void 0:e.email})).json(),onSuccess:(f,b)=>{b==="coach_dashboard"?(i(!0),a({title:"You're on the waitlist!",description:"We'll notify you as soon as Coach Dashboard launches."})):(l(!0),a({title:"You're on the waitlist!",description:"We'll notify you when Team plans are available."}))},onError:()=>{a({title:"Something went wrong",description:"Please try again in a moment.",variant:"destructive"})}}),m=jLe(c),h=m.avgScore>=90?5:m.avgScore>=75?15:m.avgScore>=60?35:50;return t?n.jsx("div",{className:"min-h-screen flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):e?n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(He,{}),n.jsxs("main",{className:"flex-1 max-w-4xl mx-auto w-full px-4 sm:px-6 lg:px-8 py-10 space-y-10",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Coach Dashboard"}),n.jsx("p",{className:"text-muted-foreground mt-1",children:"Manage your clients' communication progress"})]}),n.jsxs("section",{children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsxs("h2",{className:"text-xl font-semibold flex items-center gap-2",children:[n.jsx(Wt,{className:"h-5 w-5 text-primary"}),"Your Clients"]}),n.jsx(ve,{variant:"secondary",className:"text-xs",children:"Coming Soon"})]}),n.jsxs("div",{className:"relative rounded-xl border border-border overflow-hidden",children:[n.jsx("div",{className:"p-5 space-y-3 select-none pointer-events-none blur-[2px]",children:wLe.map(f=>n.jsx(NLe,{client:f},f.name))}),n.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center bg-background/70 backdrop-blur-sm rounded-xl gap-4 p-6 text-center",children:[n.jsx("div",{className:"w-14 h-14 roun
934ded-full bg-primary/10 flex items-center justify-center",children:n.jsx(op,{className:"h-7 w-7 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-lg",children:"Multi-client management is coming"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Track all your clients, compare their progress, and share reports — in one place."}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2 font-medium",children:"347 coaches already on the waitlist"})]}),s?n.jsxs("div",{className:"flex items-center gap-2 text-green-600 font-medium",children:[n.jsx(nr,{className:"h-5 w-5"}),"You're on the waitlist!"]}):n.jsxs(D,{onClick:()=>u.mutate("coach_dashboard"),disabled:u.isPending,className:"rounded-full px-6",children:[u.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}):null,"Join Coach Waitlist"]})]})]})]}),n.jsxs("section",{children:[n.jsxs("h2",{className:"text-xl font-semibold flex items-center gap-2 mb-4",children:[n.jsx(_t,{className:"h-5 w-5 text-primary"}),"Your Communication Stats"]}),d?n.jsx("div",{className:"flex items-center justify-center py-10",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):c.length===0?n.jsxs("div",{className:"rounded-xl border border-border p-8 text-center",children:[n.jsx("p",{className:"text-muted-foreground mb-4",children:"You haven't analyzed any meetings yet. Record your first meeting to see your stats here."}),n.jsx(Fe,{href:"/meetings",children:n.jsxs(D,{variant:"outline",className:"rounded-full px-6",children:["Record a Meeting",n.jsx(At,{className:"h-4 w-4 ml-1"})]})})]}):n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[n.jsx(vj,{icon:n.jsx(_t,{className:"h-5 w-5"}),label:"Meetings Analyzed",value:m.totalMeetings}),n.jsx(vj,{icon:n.jsx(em,{className:"h-5 w-5"}),label:"Avg. Communication Score",value:`${m.avgScore}/100`}),n.jsx(vj,{icon:n.jsx(it,{className:"h-5 w-5"}),label:"Strongest Category",value:m.bestCategory})]}),n.jsxs("div",{className:"rounded-xl border border-border bg-primary/5 px-5 py-4 flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-primary flex-shrink-0",children:n.jsx(it,{className:"h-5 w-5"})}),n.jsxs("p",{className:"text-sm",children:[n.jsxs("span",{className:"font-semibold",children:["Your communication is in the top ",h,"% of SpeakFlare users."]})," ",n.jsx("span",{className:"text-muted-foreground",children:"Keep recording to push that number higher."})]})]}),n.jsx("div",{className:"flex justify-end",children:n.jsx(Fe,{href:"/progress",children:n.jsxs(D,{variant:"ghost",size:"sm",className:"text-primary hover:text-primary",children:["View detailed progress",n.jsx(At,{className:"h-3.5 w-3.5 ml-1"})]})})})]})]}),n.jsxs("section",{children:[n.jsxs("h2",{className:"text-xl font-semibold flex items-center gap-2 mb-4",children:[n.jsx(Ko,{className:"h-5 w-5 text-primary"}),"Share Your Results"]}),n.jsxs("div",{className:"rounded-xl border border-border p-5 space-y-5",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Share your SpeakFlare results with clients to build credibility and demonstrate your expertise."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[n.jsx(Fe,{href:`/report/${e.id}`,children:n.jsxs(D,{variant:"outline",className:"rounded-full px-5 w-full sm:w-auto",children:["View Public Profile",n.jsx(At,{className:"h-4 w-4 ml-1"})]})}),n.jsx(Fe,{href:`/certificate/${e.id}`,children:n.jsxs(D,{variant:"outline",className:"rounded-full px-5 w-full sm:w-auto",children:["View Certificate",n.jsx(At,{className:"h-4 w-4 ml-1"})]})})]}),n.jsx(bLe,{userId:String(e.id),score:m.avgScore||84,displayName:`${e.firstName??""} ${e.lastName??""}`.trim()||e.email})]})]}),n.jsxs("section",{children:[n.jsxs("h2",{className:"text-xl font-semibold flex items-center gap-2 mb-4",children:[n.jsx(Gh,{className:"h-5 w-5 text-primary"}),"Pricing for Teams"]}),n.jsxs("div",{className:"rounded-xl border-2 border-primary/30 bg-primary/5 p-6 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-5",children:[n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-lg",children:"Team Plan — Coming Soon"}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:"$49/mo for unlimited clients · Shared reports · Progress tracking · Coach dashboard"}),n.jsx("div",{className:"flex gap-2 mt-3 flex-wrap",children:["Unlimited clients","Coach reports","Progress alerts","Priority support"].map(f=>n.jsx("span",{className:"text-xs bg-primary/10 text-primary px-2.5 py-1 rounded-full font-medium",children:f},f))})]}),o?n.jsxs("div",{className:"flex items-center gap-2 text-green-600 font-medium flex-shrink-0",children:[n.jsx(nr,{className:"h-5 w-5"}),"On waitlist!"]}):n.jsxs(D,{onClick:()=>u.mutate("team_plan"),disabled:u.isPending,className:"rounded-full px-6 flex-shrink-0",children:[u.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}):null,"Join Waitlist"]})]})]})]}),n.jsx(Ut,{})]}):null}const NS={weekRange:"April 14–20",meetingsAnalyzed:4,fillerWords:{count:23,delta:-31,better:!0},grammarIssues:{count:8,delta:-15,better:!0},bestMeeting:{title:"Product demo with Acme Corp",score:88},worstHabit:{word:"just",count:14},tip:"Before meetings, take 3 deep breaths. Users who do this average 40% fewer filler words.",overallScore:82,scoreDelta:7},rO=[{week:"Mar 31",score:68,fillers:41},{week:"Apr 7",score:73,fillers:33},{week:"Apr 14",score:79,fillers:28},{week:"Apr 20",score:82,fillers:23}];function SLe({delta:e,better:t,unit:r=""}){const a=e>0,s=e===0,i=s?"bg-muted text-muted-foreground border-border":t?"bg-emerald-50 text-emerald-600 border-emerald-200 dark:bg-emerald-950/30 dark:border-emerald-800":"bg-red-50 text-red-600 border-red-200 dark:bg-red-950/30 dark:border-red-800",o=s?n.jsx(lp,{className:"h-3 w-3"}):t?n.jsx(kc,{className:"h-3 w-3"}):n.jsx(it,{className:"h-3 w-3"}),l=s?"No change":`${a?"+":""}${e}%${r} from last week`;return n.jsxs(ve,{className:`${i} border text-xs font-semibold flex items-center gap-1 w-fit`,children:[o,l,t&&!s&&" ✅"]})}function bj({label:e,value:t,delta:r,better:a,emoji:s}){return n.jsxs("div",{className:"flex items-start justify-between gap-4 py-3.5 border-b border-border/40 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-lg leading-none",children:s}),n.jsxs("div",{children:[n.jsx("div",{className:"text-sm font-medium text-foreground",children:e}),n.jsx("div",{className:"text-2xl font-bold text-foreground leading-tight mt-0.5",children:t})]})]}),n.jsx("div",{className:"flex-shrink-0 mt-1",children:n.jsx(SLe,{delta:r,better:a})})]})}function nO({data:e,isDemo:t=!1}){const r={...NS,...e};return n.jsxs("div",{className:"bg-white dark:bg-card rounded-2xl shadow-xl border border-border/60 overflow-hidden max-w-lg w-full mx-auto",children:[n.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-600 px-6 py-5 text-white",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(_t,{className:"h-5 w-5 opacity-80"}),n.jsx("span",{className:"text-sm font-semibold opacity-90",children:"SpeakFlare"}),t&&n.jsx(ve,{className:"bg-white/20 text-white border-white/30 text-[10px] ml-auto",children:"DEMO PREVIEW"})]}),n.jsx("h3",{className:"text-xl font-bold leading-tight",children:"Your Week in Communication"}),n.jsx("p",{className:"text-sm opacity-80 mt-0.5",children:r.weekRange})]}),n.jsxs("div",{className:"bg-muted/40 border-b border-border/40 px-6 py-3 flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(em,{className:"h-4 w-4 text-yellow-400 fill-yellow-400"}),n.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Overall Score"})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("span",{className:"text-2xl font-black text-foreground",children:[r.overallScore,n.jsx("span",{className:"text-sm font-normal text-muted-foreground",children:"/100"})]}),r.scoreDelta!==0&&n.jsxs("span",{className:`text-xs font-bold ${(r.scoreDelta??0)>0?"text-emerald-500":"text-red-500"}`,children:[(r.scoreDelta??0)>0?"+":"",r.scoreDelta," pts"]})]})]}),n.jsxs("div",{className:"px-6 py-2",children:[n.jsx(bj,{emoji:"📊",label:"Meetings analyzed",value:r.meetingsAnalyzed,delta:0,better:!0}),n.jsx(bj,{emoji:"🗣️",label:"Filler words this week",value:r.fillerWords.
934count,delta:r.fillerWords.delta,better:r.fillerWords.better}),n.jsx(bj,{emoji:"✏️",label:"Grammar issues",value:r.grammarIssues.count,delta:r.grammarIssues.delta,better:r.grammarIssues.better})]}),n.jsxs("div",{className:"mx-6 mb-4 rounded-xl bg-emerald-50 dark:bg-emerald-950/20 border border-emerald-100 dark:border-emerald-900/30 px-4 py-3",children:[n.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[n.jsx("span",{className:"text-sm",children:"🏆"}),n.jsx("span",{className:"text-xs font-semibold text-emerald-700 dark:text-emerald-400 uppercase tracking-wide",children:"Best meeting"})]}),n.jsxs("div",{className:"text-sm font-medium text-foreground leading-snug",children:['"',r.bestMeeting.title,'"']}),n.jsxs("div",{className:"text-xs text-muted-foreground mt-0.5",children:["Score:"," ",n.jsxs("span",{className:"font-bold text-emerald-600",children:[r.bestMeeting.score,"/100"]})]})]}),n.jsxs("div",{className:"mx-6 mb-4 rounded-xl bg-orange-50 dark:bg-orange-950/20 border border-orange-100 dark:border-orange-900/30 px-4 py-3",children:[n.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[n.jsx("span",{className:"text-sm",children:"⚠️"}),n.jsx("span",{className:"text-xs font-semibold text-orange-700 dark:text-orange-400 uppercase tracking-wide",children:"Worst habit this week"})]}),n.jsxs("div",{className:"text-sm font-medium text-foreground",children:['"',r.worstHabit.word,'" — used'," ",n.jsxs("span",{className:"font-bold",children:[r.worstHabit.count," times"]})]})]}),n.jsxs("div",{className:"mx-6 mb-6 rounded-xl bg-blue-50 dark:bg-blue-950/20 border border-blue-100 dark:border-blue-900/30 px-4 py-3 flex gap-3",children:[n.jsx(R2,{className:"h-4 w-4 text-blue-500 flex-shrink-0 mt-0.5"}),n.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-300 leading-relaxed",children:[n.jsx("span",{className:"font-semibold",children:"Top tip:"})," ",r.tip]})]})]})}function aO({data:e}){return n.jsx("div",{className:"w-full h-48",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:e,margin:{top:5,right:5,left:-20,bottom:0},children:[n.jsx(ma,{dataKey:"week",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(ha,{tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(Br,{contentStyle:{background:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"8px",fontSize:"12px"}}),n.jsx(ya,{type:"monotone",dataKey:"score",name:"Score",stroke:"hsl(var(--primary))",strokeWidth:2.5,dot:{fill:"hsl(var(--primary))",r:4},activeDot:{r:6}}),n.jsx(ya,{type:"monotone",dataKey:"fillers",name:"Filler words",stroke:"#f97316",strokeWidth:2,strokeDasharray:"4 3",dot:{fill:"#f97316",r:3}})]})})})}function sO(){const[,e]=ze(),{user:t,isAuthenticated:r,isLoading:a}=Gt(),s=Qs(),{data:i,isLoading:o}=De({queryKey:["/api/digest/preview"],enabled:r,queryFn:async()=>{const b=await fetch("/api/digest/preview",{credentials:"include"});return b.ok?b.json():{}}}),{data:l}=De({queryKey:["/api/settings/digest"],enabled:r,queryFn:async()=>{const b=await fetch("/api/settings/digest",{credentials:"include"});return b.ok?b.json():{digestEnabled:!0}}}),[c,d]=y.useState(null),u=c!==null?c:(l==null?void 0:l.digestEnabled)??!0,m=Ve({mutationFn:async b=>{const g=await fetch("/api/settings/digest",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({digestEnabled:b})});if(!g.ok)throw new Error("Failed to update setting");return g.json()},onMutate:b=>{d(b)},onError:()=>{d(!u)},onSuccess:()=>{s.invalidateQueries({queryKey:["/api/settings/digest"]})}}),h=()=>{m.mutate(!u)},f=()=>{const b=new Date,g=b.getDay(),p=g===0?7:7-g,x=new Date(b);return x.setDate(b.getDate()+p),x.toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"})};if(r){const b={...NS,...i||{}},g=i&&Object.keys(i).length>0;return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(lt,{title:"Your Weekly Digest | SpeakFlare",description:"Your weekly communication report — see your progress, trends, and tips.",canonical:"https://speakflare.com/digest",n
934oIndex:!0}),n.jsx(He,{}),n.jsx("main",{className:"flex-1 py-12 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"mb-8",children:[n.jsx("h1",{className:"text-3xl font-bold text-foreground mb-1",children:"Your Weekly Communication Report"}),n.jsx("p",{className:"text-muted-foreground",children:"Every Sunday, a summary of your week's progress — delivered to your inbox."})]}),n.jsx(X,{className:"mb-6 border-border/60",children:n.jsxs(ue,{className:"py-4 px-5 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ht,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"}),n.jsxs("div",{children:[n.jsx("div",{className:"font-semibold text-foreground text-sm",children:"Email Digest"}),n.jsx("div",{className:"text-xs text-muted-foreground",children:u?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-emerald-600 font-medium",children:"Enabled"})," ","· Next digest:"," ",n.jsxs("span",{className:"font-medium",children:[f()," at 9am"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Disabled"})})]})]}),n.jsx("button",{onClick:h,disabled:m.isPending,className:"flex items-center gap-2 text-sm font-medium rounded-full px-4 py-2 border border-border hover:bg-muted/60 transition-colors disabled:opacity-50",children:u?n.jsxs(n.Fragment,{children:[n.jsx(Hte,{className:"h-5 w-5 text-primary"}),"On"]}):n.jsxs(n.Fragment,{children:[n.jsx(qte,{className:"h-5 w-5 text-muted-foreground"}),"Off"]})})]})}),o?n.jsx("div",{className:"flex justify-center py-16",children:n.jsx("div",{className:"w-8 h-8 border-2 border-primary border-t-transparent rounded-full animate-spin"})}):n.jsxs(n.Fragment,{children:[!g&&n.jsx("div",{className:"mb-4 bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 rounded-xl px-4 py-3 text-sm text-blue-700 dark:text-blue-300",children:"You don't have enough data yet — here's a preview of what your digest will look like once you analyze your first meeting."}),n.jsx(nO,{data:b,isDemo:!g})]}),n.jsxs("div",{className:"mt-8",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(ys,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("h2",{className:"font-semibold text-foreground",children:"Last 4 weeks trend"})]}),n.jsx(X,{className:"border-border/60",children:n.jsxs(ue,{className:"pt-5 pb-4 px-5",children:[n.jsxs("div",{className:"flex gap-5 text-xs text-muted-foreground mb-3",children:[n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("div",{className:"w-3 h-0.5 bg-primary rounded"}),"Score"]}),n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("div",{className:"w-3 h-0.5 rounded",style:{background:"#f97316",backgroundImage:"repeating-linear-gradient(90deg, #f97316 0px, #f97316 4px, transparent 4px, transparent 7px)"}}),"Filler words"]})]}),n.jsx(aO,{data:rO}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2 text-center",children:"Showing demo trend — will update with your real data"})]})})]})]})}),n.jsx(Ut,{})]})}return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(lt,{title:"Weekly Communication Report | SpeakFlare",description:"Every Sunday, SpeakFlare sends you a beautiful summary of your week's communication progress — filler words, grammar, your best meeting, and a personalized tip.",canonical:"https://speakflare.com/digest",keywords:"weekly speech report, communication progress email, filler word tracking, SpeakFlare digest, weekly communication summary",pageType:"product",breadcrumbs:[{name:"Weekly Digest",url:"https://speakflare.com/digest"}]}),n.jsx(He,{}),n.jsxs("section",{className:"relative overflow-hidden pt-20 pb-16 px-4",children:[n.jsx("div",{className:"absolute inset-0 -z-10 pointer-events-none",children:n.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-[700px] h-[350px] bg-primary/8 rounded-full blur-3xl"})}),n.jsxs("div",{className:"max-w-5xl mx-auto grid lg:grid-cols-2 gap-14 items-center",children:[n.jsxs("div",{children:[n.jsx(ve,{className:"mb-5 bg-primary/10 text-primary border-primary/20 text-xs font-semibold tracking-wide px-3 py-1",children:"EVERY SUNDAY · FREE"}),n.jsxs("h1",{className:"text-4xl sm:text-5xl font-black leading-[1.08] tracking-tight text-foreground mb-5",children:["Your Weekly"," ",n.jsx("span",{className:"text-primary",children:"Communication"})," ","Report"]}),n.jsx("p",{className:"text-xl text-muted-foreground leading-relaxed mb-8 max-w-lg",children:"Every Sunday, get a summary of your week's progress delivered to your inbox — filler words, grammar, your best meeting, and a personalized tip."}),n.jsx("div",{className:"flex flex-col sm:flex-row gap-3 mb-6",children:n.jsxs(D,{size:"lg",className:"rounded-full px-8 text-base font-bold shadow-md shadow-primary/20",onClick:()=>e("/register"),children:["Get your free weekly report",n.jsx(At,{className:"ml-2 h-4 w-4"})]})}),n.jsx("div",{className:"flex items-center gap-5 text-sm text-muted-foreground",children:n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx(Ht,{className:"h-4 w-4 text-primary"}),n.jsx("span",{children:"Delivered every Sunday at 9am"})]})})]}),n.jsx("div",{className:"flex justify-center",children:n.jsx(nO,{data:NS,isDemo:!0}
934)})]})]}),n.jsx("section",{className:"py-16 px-4 bg-muted/20 border-y border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("h2",{className:"text-3xl font-bold text-foreground mb-3",children:"What's inside every digest"}),n.jsx("p",{className:"text-muted-foreground",children:"One concise email. All the data you need to improve."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-5",children:[{emoji:"📊",title:"Weekly scorecard",desc:"Your overall communication score vs. last week, with trend direction."},{emoji:"🗣️",title:"Filler word count",desc:"Exact count of um, uh, like, and you know — with week-over-week delta."},{emoji:"🏆",title:"Best meeting",desc:"Which meeting scored highest this week and why."},{emoji:"⚠️",title:"Your worst habit",desc:"The single word or phrase you overused most — so you can target it."},{emoji:"✏️",title:"Grammar summary",desc:"Grammar issues caught across all meetings, trending up or down."},{emoji:"💡",title:"Personalized tip",desc:"One actionable tip based on your specific patterns this week."}].map((b,g)=>n.jsx(X,{className:"border-border/60 hover:shadow-sm transition-shadow",children:n.jsxs(ue,{className:"pt-5 pb-4 px-5",children:[n.jsx("div",{className:"text-2xl mb-2",children:b.emoji}),n.jsx("div",{className:"font-semibold text-foreground text-sm mb-1",children:b.title}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:b.desc})]})},g))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-8",children:[n.jsx("h2",{className:"text-2xl font-bold text-foreground mb-2",children:"Watch your progress over 4 weeks"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Each digest includes a trend chart so you can see the improvement in real time."})]}),n.jsx(X,{className:"border-border/60",children:n.jsxs(ue,{className:"pt-5 pb-4 px-5",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsxs("div",{className:"flex gap-5 text-xs text-muted-foreground",children:[n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("div",{className:"w-3 h-0.5 bg-primary rounded"}),"Score"]}),n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx("div",{className:"w-3 h-0.5 rounded",style:{background:"#f97316"}}),"Filler words"]})]}),n.jsx(ve,{className:"bg-emerald-50 text-emerald-600 border-emerald-200 text-xs",children:"Demo data"})]}),n.jsx(aO,{data:rO})]})})]})}),n.jsxs("section",{className:"py-20 px-4 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 -z-10 pointer-events-none bg-gradient-to-br from-primary/5 via-transparent to-blue-500/5"}),n.jsxs("div",{className:"max-w-xl mx-auto text-center",children:[n.jsx(Ht,{className:"h-12 w-12 text-primary mx-auto mb-5 opacity-80"}),n.jsx("h2",{className:"text-3xl sm:text-4xl font-black text-foreground mb-4",children:"Get your first report this Sunday"}),n.jsx("p",{className:"text-muted-foreground mb-2",children:"Sign up free. Analyze one meeting. Get your digest Sunday morning."}),n.jsx("p",{className:"text-sm text-muted-foreground mb-8",children:"Free 30-second demo, no sign-up. Then $5 for 20 recordings."}),n.jsxs(D,{size:"lg",className:"rounded-full px-10 text-base font-bold shadow-lg shadow-primary/25 h-14",onClick:()=>e("/register"),children:["Get your free weekly report",n.jsx(At,{className:"ml-2 h-5 w-5"})]})]})]}),n.jsx(Ut,{})]})}const iO=[{number:"01",icon:Ua,title:"Understand why you say it",content:[`Filler words are a symptom of cognitive load — the mental effort required to formulate what you're about to say while simultaneously speaking. When your brain hits a momentary gap between thoughts, it defaults to a spoken placeholder: "um," "uh," or whatever verbal tic you've habituated over years.`,"This is not a sign of low intelligence or poor preparation. Research from UC Berkeley shows that even highly educated speakers use disfluencies at a rate of 6–8 per 1,000 words under normal conditions. The problem isn't that you have cognitive gaps — it's that you've learned to fill them with sound instead of silence.","The first step is accepting that filler words are a learned behavior, not a personality trait. That means they can be unlearned with the right approach."],exercise:{label:"Practical exercise",text:"For one day, simply notice your filler words without trying to change them. Keep a small tally in your phone. Awareness precedes change — you cannot fix a habit you have not observed."}}
934,{number:"02",icon:Jv,title:"The pause technique — embrace silence instead of filling it",content:["The most powerful tool against filler words is also the most counterintuitive: silence. A deliberate pause of 1–2 seconds feels awkward to the speaker but reads as confidence to the listener. Silence signals that you are choosing your words carefully — not scrambling for them.","The reason most people avoid pausing is that it feels exposed. We've been socially conditioned to interpret silence in conversation as a failure — someone ran out of things to say. In reality, strategic pauses are a signature of authority. Think of any powerful public speaker: they pause constantly. Those pauses are part of the message.",'The next time you feel an "um" coming, close your mouth and let the silence sit for a beat. It will feel like ten seconds. It will sound like two. Your audience will not notice — but they will notice the confidence that comes with it.'],exercise:{label:"Practical exercise",text:"In your next meeting, pick one moment where you would normally say 'um' and replace it with a 2-second closed-mouth pause. Do this once, deliberately. That single repetition begins the rewiring process."}},{number:"03",icon:vn,title:"Slow down — filler words come from speaking too fast",content:["There is a direct relationship between speaking pace and filler word frequency. When you speak too quickly, your mouth outpaces your thoughts, and fillers rush in to cover the gaps. The faster you talk, the more frequently this happens.","Most people who struggle with fillers speak at 160–200 words per minute. The optimal range for clear, persuasive speech is 120–150 WPM — slow enough for ideas to land, fast enough to hold attention. At this pace, you have enough cognitive bandwidth to compose your next sentence before your current one ends.","Slowing down also has an unexpected secondary benefit: it makes you sound more authoritative. Rushed speech signals anxiety. Measured speech signals control. Paradoxically, the person who talks slower is usually perceived as more confident than the person talking fast."],exercise:{label:"Practical exercise",text:"Record yourself reading a paragraph aloud, then play it back and count your WPM (words read divided by seconds, times 60). If you're over 160 WPM, re-record at a deliberately slower pace until you're comfortable at 130–150 WPM."}},{number:"04",icon:_t,title:"Record and review — you can't fix what you don't measure",content:["Most people have no idea how many filler words they use. They estimate two or three per sentence; the reality is often double or triple that. This gap between perception and reality is why self-assessment alone doesn't work — you need recordings.","Recording your speech (meetings, practice sessions, phone calls) and reviewing the transcripts gives you objective data. You stop defending your estimate and start working with the actual numbers. Speakers who use recorded feedback reduce their filler rates significantly faster than those who rely on in-the-moment awareness alone.","You don't need to listen to every recording in full. A five-minute sample is enough to establish your baseline filler rate. Track: total word count, filler count, percentage. Do this weekly and you'll see the trend line move."],exercise:{label:"Practical exercise",text:"Record your next video call or practice a 2-minute answer to 'Tell me about yourself' into your phone's voice memo. Transcribe it (use any auto-transcription tool) and manually highlight every filler word. Count. Write the number down. This is your benchmark."}},{number:"05",icon:_n,title:"Replace, don't suppress — 'Let me think about that' instead of 'um'",content:[`Suppression is an unreliable strategy. Telling yourself "don't say um" puts you in a state of divided attention — part of your brain monitors your speech while the rest tries to speak. This actually increases cognitive load and can make filler words worse, not better.`,`A more effective approach is replacement: substitute your filler word with a socially acceptable verbal bridge. "Let me think about that for a moment." "That's a good question — here's my take." "Give me a second on that." These phrases do the same cognitive work as "um" — they buy you thinking time — but they convey deliberateness instead of uncertainty.`,"Over time, as your pause tolerance increases and your speaking pace slows, you'll need the verbal bridge less and less. Eventually silence becomes your default. But in the transitional period, replacement is far more reliable than suppression."],exercise:{label:"Practical exercise",text:'Pick one replacement phrase you feel comfortable with: "Let me think about that," "Good question — one moment," or simply a closed-mouth nod. Use it deliberately at least three times in your next meeting. Repetition is how verbal habits get replaced.'}},{number:"06",icon:Ze,title:"The 1-minute drill — daily practice routine",content:["Improvement in speaking comes from deliberate repetition, not passive awareness. The 1-minute drill is a daily practice routine that takes exactly 60 seconds and compounds over time.",`Here's the drill: Pick a topic — any topic (your morning, a recent project, an opinion you hold). Set a timer for 60 seconds. Speak about the topic, out loud, aiming to eliminate every filler word. If you catch yourself saying "um," pause, let it hang, and continue. Don't restart. Just keep going. Record it each time.`,"Done daily, this routine builds two things simultaneously: the habit of pausing instead of filling, and the tolerance for the discomfort that silence brings. After two weeks of daily 1-minute drills, you'll notice a measurable change in your real conversations. The gains transfer — this isn't just a practice exercise, it rewires how you speak."],exercise:{label:"The drill",text:"Set a recurring 60-second timer for the same time each day (morning works well). Speak about whatever is on your mind. Record it. After 14 days, compare day 1 to day 14. Most people are surprised by the difference."}},{number:"07",icon:it,title:"Track your progress — show data over time",content:["The final technique is meta: measure everything. Filler word reduction is a skill that follows a learning curve, and the only way to stay motivated through the plateau periods is to see objective data showing movement.","Create a simple log: date, context (meeting, practice, call), total word count, filler count, filler percentage. Update it weekly. You'll notice spikes on high-stress days and drops as the habits solidify. The log keeps you accountable and shows you that the work is producing results even when it doesn't feel like it.",'Tracking also reveals which specific words are most persistent. Most speakers have one or tw
934o primary fillers they use far more than others — "like" and "you know" are common culprits in English. Once you identify yours, you can apply targeted practice to that specific word rather than treating all fillers equally.'],exercise:{label:"Practical exercise",text:"Open a spreadsheet or note. Add four columns: Date, Context, Total Words, Filler Count. Fill it in after your next three speaking sessions. The simple act of writing the number down creates accountability and gives you data to act on."}}],oO=[{question:"How long does it take to stop saying um?",answer:"Most speakers notice a meaningful reduction in filler words within 2–4 weeks of daily deliberate practice. Full habit replacement — where silence becomes your default instead of 'um' — typically takes 6–8 weeks of consistent effort. The key variable is practice frequency, not time elapsed."},{question:"Is it bad to say um in conversation?",answer:"Some filler words in casual conversation are normal and acceptable — they signal active thinking and can actually make you seem more approachable. The problem is frequency and context. In a job interview, sales call, or presentation, a high filler rate undermines perceived competence. In a casual chat, a few 'ums' are perfectly fine."},{question:"What causes people to say um and uh?",answer:"Filler words are primarily caused by cognitive load — the mental effort of composing speech in real time. When the gap between thought and words widens (due to unfamiliar topics, stress, or speaking pace), the brain defaults to a spoken placeholder. They're also partly habitual: once you develop the 'um' habit, it fires even when cognitive load is low."},{question:"Can you eliminate filler words completely?",answer:"Near-elimination is realistic; complete elimination is rare and arguably unnecessary. Even professional speakers, news anchors, and TED presenters use occasional disfluencies — the goal is to get below 1–2% of total words, not to achieve a robotic zero. At low frequencies, occasional filler words actually make speech sound more natural."}];function lO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"How to Stop Saying Um and Uh: 7 Proven Techniques | SpeakFlare",description:"A complete guide to eliminating filler words from your speech. Learn 7 evidence-based techniques — the pause method, the 1-minute drill, recording review, and more. Practical exercises included.",canonical:"https://speakflare.com/blog/how-to-stop-saying-um",keywords:"how to stop saying um, stop saying uh, eliminate filler words, reduce filler words, stop saying like, speech improvement techniques, public speaking tips, stop filler words, um and uh habit",pageType:"article",articlePublishedTime:"2025-01-15T00:00:00Z",articleModifiedTime:"2026-04-19T00:00:00Z",articleAuthor:"SpeakFlare",breadcrumbs:[{name:"Blog",url:"https://speakflare.com/blog"},{name:"How to Stop Saying Um",url:"https://speakflare.com/blog/how-to-stop-saying-um"}],faqItems:oO}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 text-sm text-muted-foreground mb-6",children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(vn,{className:"h-4 w-4"}),"12 min read"]}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Speech Improvement"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Updated April 2026"})]}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 leading-tight",children:"How to Stop Saying Um and Uh: 7 Proven Techniques"}),n.jsx("p",{className:"text-xl text-muted-foreground leading-relaxed mb-8",children:"Filler words are one of the most common — and most correctable — speech habits. Here's a complete, practical guide to eliminating them, with exercises you can start today."}),n.jsxs("div",{className:"bg-muted/50 rounded-2xl p-6 border border-border mb-10",children:[n.jsx("h2",{className:"font-semibold mb-3",children:"What you'll learn"}),n.jsx("ul",{className:"space-y-2",children:iO.map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t.title]},t.number))})]})]})}),n.jsx("section",{className:"pb-8 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto prose prose-neutral dark:prose-invert max-w-none",children:n.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:`If you've ever listened back to a recording of yourself and cringed at how many times you said "um," "uh," or "like" — you're not alone. Filler words are universal. But at high frequency, they signal uncertainty, undermine authority, and make complex ideas harder to follow. The good news: filler words are a learned habit, and learned habits can be replaced. These seven techniques work progressively — start with technique one and build from there.`})})}),n.jsx("section",{className:"pb-16 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto 
934space-y-16",children:iO.map(t=>n.jsxs("article",{id:`technique-${t.number}`,children:[n.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[n.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 text-primary flex items-center justify-center flex-shrink-0",children:n.jsx(t.icon,{className:"h-6 w-6"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"text-xs font-bold uppercase tracking-widest text-primary mb-1",children:["Technique ",t.number]}),n.jsx("h2",{className:"text-2xl font-bold",children:t.title})]})]}),n.jsx("div",{className:"space-y-4 mb-6",children:t.content.map((r,a)=>n.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:r},a))}),n.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-xl p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-primary"}),n.jsx("span",{className:"text-sm font-semibold text-primary",children:t.exercise.label})]}),n.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:t.exercise.text})]})]},t.number))})}),n.jsx("section",{className:"py-12 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Putting it all together: a 30-day roadmap"}),n.jsx("div",{className:"space-y-4",children:[{week:"Week 1",label:"Awareness",actions:"Listen back to one recording per day. Tally your fillers. Don't try to change yet — just observe."},{week:"Week 2",label:"Pause practice",actions:"Begin the 1-minute daily drill. Replace one 'um' per meeting with a deliberate pause. Slow your speech pace by 10%."},{week:"Week 3",label:"Replacement",actions:"Introduce verbal bridges ('Let me think about that'). Continue the daily drill. Track your weekly filler rate."},{week:"Week 4",label:"Consolidation",actions:"Compare week 4 recordings to week 1. Most people see 30–50% reduction. Adjust your target filler words based on data."}].map(t=>n.jsx(X,{className:"p-5",children:n.jsxs("div",{className:"flex gap-4 items-start",children:[n.jsxs("div",{className:"min-w-[80px]",children:[n.jsx("div",{className:"text-xs font-bold uppercase tracking-widest text-primary",children:t.week}),n.jsx("div",{className:"font-semibold text-sm",children:t.label})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.actions})]})},t.week))})]})}),n.jsx("section",{className:"py-12 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-8",children:"Frequently asked questions"}),n.jsx("div",{className:"space-y-6",children:oO.map(t=>n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2",children:t.question}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.answer})]},t.question))})]})}),n.jsx("section",{className:"py-8 px-4 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Related resources"}),n.jsxs("div",{className:"flex flex-wrap gap-3",children:[n.jsxs("button",{onClick:()=>e("/tools/filler-word-counter"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(Ua,{className:"h-4 w-4"}),"Free Filler Word Counter tool"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/use-cases/sales-call-analysis"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(_t,{className:"h-4 w-4"}),"Sales call analysis with SpeakFlare"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/use-cases/job-interview-prep"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(Ze,{className:"h-4 w-4"}),"Interview communication coaching"]})]})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-10",children:[n.jsx(Ze,{className:"h-12 w-12 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Track your filler words automatically"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"These seven techniques work best when you have real data. SpeakFlare automatically counts and tracks your filler words on every meeting and call — so your 30-day roadmap runs on objective numbers, not guesses."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]}),n.jsx(Ut,{})]})}function Yc(e){return`$${(e/100).toFixed(2)}`}function cO(){var R;const{toast:e}=dt(),[t,r]=y.useState(""),[a,s]=y.useState(!1),[i,o]=y.useState(""),[l,c]=y.useState(""),[d,u]=y.useState(!1),{data:m,isLoading:h}=De({queryKey:["/api/affiliate/dashboard"]}),{data:f,isLoading:b}=De({queryKey:["/api/referral/stats"]}),g=i||(m==null?void 0:m.payoutMethod)||"",p=l||(m==null?void 0:m.payoutAddress)||"",x=Ve({mutationFn:async P=>(await ct("/api/referral/invite","POST",{email:P})).json(),onSuccess:()=>{e({title:"Invite sent!",description:"Your friend will receive an invitation email."}),r(""),Qe.invalidateQueries({queryKey:["/api/referral/stats"]})},onError:P=>{e({title:"Failed to send invite",description:P.message,variant:"destructive"})}}),v=Ve({mutationFn:async()=>{const P=await ct("/api/affiliate/request-payout","POST",{}),M=await P.json();if(!P.ok)throw new Error(M.error||"Failed to request payout");return M},onSuccess:P=>{e({title:"Payout requested!",description:`We'll process ${Yc(P.amountCents)} within 3–5 business days.`}),Qe.invalidateQueries({queryKey:["/api/affiliate/dashboard"]})},onError:P=>{e({title:"Payout failed",description:P.message,variant:"destructive"})}}),w=()=>{m!=null&&m.referralUrl&&navigator.clipboard.writeText(m.referralUrl).then(()=>{s(!0),setTimeout(()=>s(!1),2e3),e({title:"Copied!",description:"Referral link copied to clipboard."})})},N=()=>{m!=null&&m.referralUrl&&window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(m.referralUrl)}`,"_blank")},j=()=>
934{if(!(m!=null&&m.referralUrl))return;const P=`Join me on SpeakFlare — improve your speaking clarity and stop filler words: ${m.referralUrl}`;window.open(`https://wa.me/?text=${encodeURIComponent(P)}`,"_blank")},k=()=>{if(!(m!=null&&m.referralUrl))return;const P="Join me on SpeakFlare",M=`Hey,
935
936I've been using SpeakFlare to improve my speaking and thought you'd find it useful too.
937
938Use my referral link to get started:
939${m.referralUrl}`;window.location.href=`mailto:?subject=${encodeURIComponent(P)}&body=${encodeURIComponent(M)}`},S=P=>{P.preventDefault(),t.trim()&&x.mutate(t.trim())},C=async()=>{if(!g||!p.trim()){e({title:"Fill in both fields",variant:"destructive"});return}u(!0);try{const P=await ct("/api/affiliate/payout-method","POST",{method:g,address:p}),M=await P.json();if(!P.ok)throw new Error(M.error);e({title:"Saved!",description:"Payout details saved."}),Qe.invalidateQueries({queryKey:["/api/affiliate/dashboard"]})}catch(P){e({title:"Error",description:P.message,variant:"destructive"})}finally{u(!1)}},A=P=>P==="rewarded"||P==="registered"?n.jsx(ve,{className:"bg-green-100 text-green-700 border-green-200",children:"Joined"}):n.jsx(ve,{variant:"outline",className:"text-muted-foreground",children:"Pending"}),T=(m==null?void 0:m.balanceCents)??0,E=T>=1e4,I=(R=m==null?void 0:m.payouts)==null?void 0:R.some(P=>P.status==="pending");return n.jsxs("div",{className:"max-w-2xl mx-auto px-4 py-8 space-y-6",children:[n.jsxs("div",{className:"text-center space-y-2",children:[n.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Affiliate Program"}),n.jsxs("p",{className:"text-muted-foreground",children:["Earn ",n.jsx("span",{className:"font-semibold text-primary",children:"30% cash"})," for every paid referral. Withdraw at $100."]})]}),n.jsx(X,{className:"border-primary/20 bg-gradient-to-br from-primary/5 to-background",children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center",children:n.jsx(Kte,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("div",{className:"text-xs text-muted-foreground font-medium uppercase tracking-wide",children:"Your Balance"}),n.jsx("div",{className:"text-3xl font-bold text-foreground",children:h?"—":Yc(T)})]})]}),n.jsxs("div",{className:"flex flex-col gap-2 items-end",children:[!E&&n.jsxs("div",{className:"text-xs text-muted-foreground text-right",children:[Yc(1e4-T)," more to reach $100 minimum"]}),n.jsx(D,{onClick:()=>v.mutate(),disabled:!E||I||v.isPending,className:"bg-primary hover:bg-primary/90",children:I?"Payout Pending":v.isPending?"Requesting...":"Request Payout"})]})]})})}),n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-4 pb-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold text-primary",children:b?"—":(f==null?void 0:f.converted)??0}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Paid Referrals"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-4 pb-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold text-primary",children:h?"—":Yc((m==null?void 0:m.earnings.reduce((P,M)=>P+M.commission_cents,0))??0)}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Total Earned"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-4 pb-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold text-primary",children:"30%"}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Commission Rate"})]})})]}),n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(Ko,{className:"h-4 w-4"}),"Your Referral Link"]})}),n.jsxs(ue,{className:"space-y-3",children:[n.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[n.jsx(Et,{readOnly:!0,value:h?"Loading...":(m==null?void 0:m.referralUrl)??"",className:"text-sm font-mono bg-muted"}),n.jsx(D,{variant:"outline",size:"icon",onClick:w,className:"shrink-0",children:a?n.jsx(ut,{className:"h-4 w-4 text-green-600"}):n.jsx(Xu,{className:"h-4 w-4"})})]}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[n.jsxs(D,{variant:"outline",size:"sm",onClick:N,className:"flex-1 gap-2",children:[n.jsx(Qv,{className:"h-4 w-4"}),"LinkedIn"]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:j,className:"flex-1 gap-2",children:[n.jsx(Ko,{className:"h-4 w-4"}),"WhatsApp"]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:k,className:"flex-1 gap-2",children:[n.jsx(Ht,{className:"h-4 w-4"}),"Email"]})]})]})]}),n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(Gh,{className:"h-4 w-4"}),"Payout Method"]})}),n.jsxs(ue,{className:"space-y-3",children:[n.jsx("p",{className:"text-xs text-muted-foreground",children:"Set where you want to re
939ceive your commissions. Required before requesting payout."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[n.jsxs("select",{value:g,onChange:P=>o(P.target.value),className:"border border-input rounded-md px-3 py-2 text-sm bg-background flex-shrink-0",children:[n.jsx("option",{value:"",children:"Select method"}),n.jsx("option",{value:"paypal",children:"PayPal"}),n.jsx("option",{value:"usdt_trc20",children:"USDT (TRC20)"}),n.jsx("option",{value:"usdt_erc20",children:"USDT (ERC20)"}),n.jsx("option",{value:"btc",children:"Bitcoin (BTC)"})]}),n.jsx(Et,{placeholder:g==="paypal"?"[email protected]":"Wallet address",value:p,onChange:P=>c(P.target.value),className:"flex-1"}),n.jsx(D,{variant:"outline",onClick:C,disabled:d,children:d?"Saving...":"Save"})]}),(m==null?void 0:m.payoutMethod)&&n.jsxs("div",{className:"flex items-center gap-2 text-xs text-green-600",children:[n.jsx(gn,{className:"h-3.5 w-3.5"}),"Saved: ",m.payoutMethod.replace("_"," ").toUpperCase()," — ",m.payoutAddress]})]})]}),n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(Ht,{className:"h-4 w-4"}),"Invite by Email"]})}),n.jsx(ue,{children:n.jsxs("form",{onSubmit:S,className:"flex gap-2",children:[n.jsx(Et,{type:"email",placeholder:"[email protected]",value:t,onChange:P=>r(P.target.value),className:"flex-1"}),n.jsx(D,{type:"submit",disabled:x.isPending||!t.trim(),children:x.isPending?"Sending...":"Send Invite"})]})})]}),m&&m.earnings.length>0&&n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(it,{className:"h-4 w-4"}),"Earnings History"]})}),n.jsx(ue,{className:"space-y-2",children:m.earnings.map((P,M)=>n.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border last:border-0",children:[n.jsxs("div",{children:[n.jsxs("span",{className:"text-sm font-medium capitalize",children:[P.plan," plan"]}),n.jsx("div",{className:"text-xs text-muted-foreground",children:new Date(P.created_at).toLocaleDateString()})]}),n.jsxs("span",{className:"text-sm font-bold text-green-600",children:["+",Yc(P.commission_cents)]})]},M))})]}),m&&m.payouts.length>0&&n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(vn,{className:"h-4 w-4"}),"Payout History"]})}),n.jsx(ue,{className:"space-y-2",children:m.payouts.map((P,M)=>n.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border last:border-0",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-sm font-medium",children:Yc(P.amount_cents)}),n.jsxs("div",{className:"text-xs text-muted-foreground",children:[P.method.replace("_"," ").toUpperCase()," · ",new Date(P.created_at).toLocaleDateString()]})]}),P.status==="paid"?n.jsx(ve,{className:"bg-green-100 text-green-700 border-green-200",children:"Paid"}):n.jsx(ve,{variant:"outline",className:"text-muted-foreground",children:"Pending"})]},M))})]}),f&&f.referrals.length>0&&n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(Wt,{className:"h-4 w-4"}),"Your Referrals"]})}),n.jsx(ue,{className:"space-y-2",children:f.referrals.map((P,M)=>n.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-border last:border-0",children:[n.jsx("span",{className:"text-sm text-foreground",children:P.email}),n.jsxs("div",{className:"flex items-center gap-2",children:[A(P.status),n.jsx("span",{className:"text-xs text-muted-foreground",children:new Date(P.createdAt).toLocaleDateString()})]})]},M))})]}),n.jsxs(X,{children:[n.jsx(Ye,{className:"pb-2",children:n.jsxs(at,{className:"text-base flex items-center gap-2",children:[n.jsx(S8,{className:"h-4 w-4"}),"How It Works"]})}),n.jsx(ue,{children:n.jsx("div",{className:"space-y-4",children:[{step:"1",title:"Share your link",desc:"Copy your unique referral link and share it on social media, email, or anywhere your audience hangs out."}
939,{step:"2",title:"They subscribe to Pro",desc:"When your referral upgrades to any paid plan (monthly $12 or annual $99), you earn 30% cash commission."},{step:"3",title:"Withdraw at $100",desc:"Once your balance hits $100, request a payout via PayPal or crypto. Paid within 3–5 business days."}].map(P=>n.jsxs("div",{className:"flex gap-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 text-primary font-bold text-sm flex items-center justify-center shrink-0",children:P.step}),n.jsxs("div",{children:[n.jsx("div",{className:"font-medium text-sm",children:P.title}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:P.desc})]})]},P.step))})})]})]})}function CLe(e){return e>=80?"text-green-500":e>=60?"text-yellow-500":e>=40?"text-orange-500":"text-red-500"}function PLe(e){return e>=80?"bg-green-500/10":e>=60?"bg-yellow-500/10":e>=40?"bg-orange-500/10":"bg-red-500/10"}function TLe(e){return e.split(" ").map(t=>t[0]).join("").toUpperCase().slice(0,2)}function ALe({rank:e,name:t,email:r,avgScore:a,meetingsThisWeek:s,trend:i,isCurrentUser:o=!1,isOwner:l=!1,onRemove:c}){const d=e===1;return n.jsxs("div",{className:`flex items-center gap-4 px-4 py-3 transition-colors ${o?"bg-primary/5 border-l-2 border-primary":"hover:bg-muted/50"}`,children:[n.jsx("div",{className:"flex-shrink-0 w-8 text-center",children:d?n.jsx(_2,{className:"h-5 w-5 text-yellow-500 mx-auto"}):n.jsxs("span",{className:"text-sm font-semibold text-muted-foreground",children:["#",e]})}),n.jsx("div",{className:`flex-shrink-0 w-9 h-9 rounded-full flex items-center justify-center text-xs font-bold ${d?"bg-yellow-500/20 text-yellow-600 dark:text-yellow-400":"bg-primary/10 text-primary"}`,children:TLe(t)}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:t}),o&&n.jsx(ve,{variant:"secondary",className:"text-xs h-4 px-1.5",children:"You"}),l&&n.jsxs("span",{className:"flex items-center gap-0.5 text-xs text-muted-foreground",children:[n.jsx(Pr,{className:"h-3 w-3"}),"Owner"]}),d&&n.jsx(ve,{className:"text-xs h-4 px-1.5 bg-yellow-500/20 text-yellow-600 dark:text-yellow-400 border-yellow-500/30",children:"Top"})]}),n.jsx("span",{className:"text-xs text-muted-foreground truncate block",children:r})]}),n.jsxs("div",{className:"flex-shrink-0 hidden sm:flex flex-col items-center",children:[n.jsx("span",{className:"text-sm font-semibold text-foreground",children:s}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"meetings"})]}),n.jsxs("div",{className:"flex-shrink-0",children:[i==="up"&&n.jsx(it,{className:"h-4 w-4 text-green-500"}),i==="down"&&n.jsx(kc,{className:"h-4 w-4 text-red-500"}),i==="same"&&n.jsx(lp,{className:"h-4 w-4 text-muted-foreground"})]}),n.jsxs("div",{className:`flex-shrink-0 flex flex-col items-center px-3 py-1.5 ${PLe(a)}`,children:[n.jsx("span",{className:`text-lg font-bold tabular-nums ${CLe(a)}`,children:a}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"score"})]}),c&&n.jsx("button",{onClick:c,className:"flex-shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",title:"Remove member",children:n.jsx(Yo,{className:"h-4 w-4"})})]})}function ELe(){const{toast:e}=dt(),[,t]=ze(),[r,a]=y.useState(""),[s,i]=y.useState(""),o=Ve({mutationFn:()=>ct("/api/teams/create","POST",{name:r}),onSuccess:()=>{e({title:"Team created!",description:"Your team is ready."}),Qe.invalidateQueries({queryKey:["/api/teams/mine"]}),Qe.invalidateQueries({queryKey:["/api/teams/dashboard"]})},onError:d=>{e({title:"Failed to create team",description:d.message,variant:"destructive"})}}),l=Ve({mutationFn:()=>ct(`/api/teams/join/${s.trim()}`,"POST"),onSuccess:()=>{e({title:"Joined team!",description:"You're now part of the team."}),Qe.invalidateQueries({queryKey:["/api/teams/mine"]}),t("/team")},onError:d=>{e({title:"Invalid invite",description:d.message,variant:"destructive"})}}),c=[{icon:_t,title:"Track everyone's progress",desc:"See each member's communication score improve over time."},{icon:ys,title:"Set team communication goals",desc:"Define weekly meeting targets and score benchmarks."},{icon:it,title:"Weekly team report to Slack",desc:"Automated summaries delivered to your team channel."}];return n.jsxs("div",{className:"max-w-2xl mx-auto px-4 py-16",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("h1",{className:"text-4xl font-bold text-foreground mb-4",children:"Bring Your Team to SpeakFlare"}),n.jsx("p",{className:"text-muted-foreground text-lg",children:"Manage communication growth across your entire organization."})]}),n.jsx("div",{className:"grid gap-4 mb-10",children:c.map(({icon:d,title:u,desc:m})=>n.jsxs("div",{className:"flex items-start gap-4 bg-card border border-border/50 p-4",children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx(d,{className:"h-5 w-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground",children:u}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:m})]})]},u))}),n.jsxs("div",{className:"bg-primary/5 border border-primary/20 p-6 mb-8 text-center",children:[n.jsx(_2,{className:"h-8 w-8 text-primary mx-auto mb-3"}),n.jsx("p",{className:"text-xl font-bold text-foreground",children:"Team Plan — $49/mo"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Up to 10 members · Leaderboard · Weekly Slack report"})]}),n.jsxs("div",{className:"bg-card border border-border/50 p-6 mb-4",children:[n.jsx("h2",{className:"text-base font-semibold text-foreground mb-4",children:"Create a New Team"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(Et,{placeholder:"Team name (e.g. Sales Team Q2)",value:r,onChange:d=>
939a(d.target.value),onKeyDown:d=>d.key==="Enter"&&r.trim()&&o.mutate(),className:"flex-1"}),n.jsx(D,{onClick:()=>o.mutate(),disabled:!r.trim()||o.isPending,children:o.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):"Create Team"})]})]}),n.jsxs("div",{className:"bg-card border border-border/50 p-6",children:[n.jsx("h2",{className:"text-base font-semibold text-foreground mb-1",children:"Join a Team"}),n.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Have an invite link or token? Paste it below."}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(Et,{placeholder:"Invite token or link",value:s,onChange:d=>{const u=d.target.value.trim(),m=u.match(/\/([^/]+)\s*$/);i(m?m[1]:u)},className:"flex-1"}),n.jsx(D,{variant:"outline",onClick:()=>l.mutate(),disabled:!s.trim()||l.isPending,children:l.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):"Join"})]})]})]})}function ILe({team:e,dashboard:t,currentUserId:r}){const a=[{label:"Total Members",value:t.totalMembers,icon:Wt},{label:"Avg Score",value:t.avgCommunicationScore,icon:_t},{label:"Meetings This Week",value:t.meetingsThisWeek,icon:ys},{label:"Most Improved",value:t.mostImproved??"—",icon:it,isText:!0}];return n.jsxs("div",{className:"space-y-6",children:[n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:a.map(({label:s,value:i,icon:o,isText:l})=>n.jsxs("div",{className:"bg-card border border-border/50 p-4",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(o,{className:"h-4 w-4 text-muted-foreground"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:s})]}),l?n.jsx("p",{className:"text-sm font-semibold text-foreground truncate",children:i}):n.jsx("p",{className:"text-2xl font-bold text-foreground",children:i})]},s))}),n.jsxs("div",{className:"bg-card border border-border/50",children:[n.jsx("div",{className:"px-4 py-3 border-b border-border/50",children:n.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Team Leaderboard"})}),n.jsxs("div",{className:"flex items-center gap-4 px-4 py-2 text-xs text-muted-foreground border-b border-border/30",children:[n.jsx("span",{className:"w-8 text-center",children:"Rank"}),n.jsx("span",{className:"w-9"}),n.jsx("span",{className:"flex-1",children:"Member"}),n.jsx("span",{className:"hidden sm:block w-16 text-center",children:"Meetings"}),n.jsx("span",{className:"w-6"}),n.jsx("span",{className:"w-16 text-center",children:"Score"})]}),t.leaderboard.length===0?n.jsx("div",{className:"p-8 text-center text-sm text-muted-foreground",children:"No data yet — members need to complete meetings."}):t.leaderboard.map((s,i)=>n.jsx("div",{className:i<t.leaderboard.length-1?"border-b border-border/30":"",children:n.jsx(ALe,{rank:i+1,name:s.name,email:s.email,avgScore:s.avgScore,meetingsThisWeek:s.meetingsThisWeek,trend:s.trend,isCurrentUser:s.userId===r,isOwner:s.isOwner})},s.userId))]})]})}function _Le({team:e,currentUserId:t}){const{toast:r}=dt(),[a,s]=y.useState(""),i=e.ownerId===t,o=Ve({mutationFn:()=>ct("/api/teams/invite","POST",{email:a.trim()}),onSuccess:()=>{r({title:"Invite sent!",description:`An invite was sent to ${a}.`}),s(""),Qe.invalidateQueries({queryKey:["/api/teams/mine"]})},onError:d=>{r({title:"Failed to send invite",description:d.message,variant:"destructive"})}}),l=Ve({mutationFn:d=>ct(`/api/teams/members/${d}`,"DELETE"),onSuccess:()=>{r({title:"Member removed."}),Qe.invalidateQueries({queryKey:["/api/teams/mine"]}),Qe.invalidateQueries({queryKey:["/api/teams/dashboard"]})},onError:d=>{r({title:"Failed to remove member",description:d.message,variant:"destructive"})}});function c(d){return d.split(" ").map(u=>u[0]).join("").toUpperCase().slice(0,2)}return n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"bg-card border border-border/50",children:[n.jsx("div",{className:"px-4 py-3 border-b border-border/50 flex items-center justify-between",children:n.jsxs("h2",{className:"text-base font-semibold text-foreground",children:["Members (",e.members.length,")"]})}),e.members.map((d,u)=>n.jsxs("div",{className:`flex items-center gap-4 px-4 py-3 ${u<e.members.length-1?"border-b border-border/30":""} ${d.id===t?"bg-primary/5":"hover:bg-muted/40"} transition-colors`,children:[n.jsx("div",{className:"w-9 h-9 bg-primary/10 flex items-center justify-center text-xs font-bold text-primary flex-shrink-0",children:c(d.name)}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:d.name}),d.id===t&&n.jsx(ve,{variant:"secondary",className:"text-xs h-4 px-1.5",children:"You"})]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:d.email})]}),n.jsx(ve,{variant:d.role==="owner"?"default":"outline",className:"text-xs flex-shrink-0",children:d.role==="owner"?"Owner":"Member"}),n.jsx(ve,{variant:"outline",className:`text-xs flex-shrink-0 ${d.status==="invited"?"text-yellow-600 border-yellow-500/30 bg-yellow-500/10":"text-green-600 border-green-500/30 bg-green-500/10"}`,children:d.status==="invited"?"Invited":"Active"}),i&&d.id!==t&&d.role!=="owner"&&n.jsx("button",{onClick:()=>l.mutate(d.id),disabled:l.isPending,className:"p-1.5 text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors flex-shrink-0",title:"Remove member",children:l.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(Yo,{className:"h-4 w-4"})})]},d.id))]}),i&&n.jsxs("div",{className:"bg-card border border-border/50 p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(dp,{className:"h-4 w-4 text-primary"}),n.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Invite New Member"})]}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(Et,{type:"email",placeholder:"[email protected]",value:a,onChange:d=>s(d.target.value),onKeyDown:d=>d.key==="Enter"&&a.trim()&&o.mutate(),className:"flex-1"}),n.jsx(D,{onClick:()=>o.mutate(),disabled:!a.trim()||o.isPending,children:o.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Ht,{className:"h-4 w-4 mr-2"}),"Send Invite"]})})]})]}),i&&e.pendingInvites&&e.pendingInvites.length>0&&n.jsxs("div",{className:"bg-card border border-border/50",children:[n.jsx("div",{className:"px-4 py-3 border-b border-border/50",children:n.jsxs("h2",{className:"text-base font-semibold text-foreground",children:["Pending Invites (",e.pendingInvites.length,")"]})}),e.pendingInvites.map((d,u)=>n.jsxs("div",{className:`flex items-center gap-4 px-4 py-3 ${u<e.pendingInvites.length-1?"border-b border-border/30":""}`,children:[n.jsx(Ht,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"flex-1 text-sm text-foreground",children:d.email}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Sent ",new Date(d.createdAt).toLocaleDateString()]}),n.jsx(ve,{variant:"outline",className:"text-xs text-yellow-600 border-yellow-500/30 bg-yellow-500/10",children:"Pending"})]},d.id))]})]})}function MLe(){const{user:e,isLoading:t}=Gt(),[,r]=ze(),[a,s]=y.useState("overview"),{data:i,isLoading:o,error:l}=De({queryKey:["/api/teams/mine"],enabled:!!e,retry:!1,queryFn:async()=>{const m=await fetch("/api/teams/mine",{credentials:"include"});if(m.status===404||m.status===204)return null;if(!m.ok)throw new Error("Failed to load team");return m.json()}}),{data:c,isLoading:d}=De({queryKey:["/api/teams/dashboard"],enabled:!!e&&!!i,retry:!1,queryFn:async()=>{const m=await fetch("/api/teams/dashboard",{credentials:"include"});if(!m.ok)throw new Error("Failed to load dashboard");return m.json()}});if(!t&&!e)return r("/login?redirect=/team"),null;const u=t||o;return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(He,{}),n.jsx("main",{className:"flex-1",children:u?n.jsx("div",{className:"flex items-center justify-center py-32",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):i?n.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-10",children:[n.jsx("div",{className:"flex items-center justify-between mb-8 flex-wrap gap-4",children:n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("h1",{className:"text-2xl font-bold text-foreground",children:i.name}),n.jsx(ve,{variant:"secondary",className:"text-xs",children:i.plan==="team"?"Team Plan":i.plan})]}),n.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:[i.memberCount," member",i.memberCount!==1?"s":""]})]})}),n.jsx("div",{className:"flex border-b border-border/50 mb-6",children:["overview","members"].map(m=>n.jsx("button",{onClick:()=>s(m),className:`px-5 py-2.5 text-sm font-medium transition-colors capitalize border-b-2 -mb-px ${a===m?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:m},m))}),a==="overview"?d?n.jsx("div",{className:"flex items-center justify-center py-20",children:n.jsx(Ce,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):c?n.jsx(ILe,{team:i,dashboard:c,currentUserId:e.id}):n.jsx("div",{className:"text-center py-12 text-sm text-muted-foreground",children:"Could not load dashboard data."}):n.jsx(_Le,{team:i,currentUserId:e.id})]}):n.jsx(ELe,{})}),n.jsx(Ut,{})]})}function dO(){const[,e]=Hu("/team/invite/:token"),[,t]=ze(),{user:r,isLoading:a}=Gt(),{toast:s}=dt(),i=(e==null?void 0:e.token)??"",{data:o,isLoading:l,error:c}=De({queryKey:[`/api/teams/invite/${i}`],enabled:!!i,retry:!1,queryFn:async()=>{const h=await fetch(`/api/teams/invite/${i}`,{credentials:"include"});if(!h.ok)throw new Error("Invalid or expired invite link.");return h.json()}}),d=Ve({mutationFn:()=>ct(`/api/teams/join/${i}`,"POST"),onSuccess:()=>{s({title:"Welcome to the team!",description:`You've joined ${o==null?void 0:o.teamName}.`}),t("/team")},onError:h=>{s({title:"Could not join team",description:h.message,variant:"destructive"})}}),u=a||l,m=encodeURIComponent(`/team/invite/${i}`);return n.jsxs("div",{className:"min-h-screen bg-background flex flex-col",children:[n.jsx(He,{}),n.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-16",children:n.jsx("div",{className:"w-full max-w-md",children:u?n.jsx("div",{className:"flex items-center justify-center py-16",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):c||!o?n.jsxs("div",{className:"bg-card border border-border/50 p-8 text-center",children:[n.jsx("div",{className:"w-14 h-14 bg-destructive/10 flex items-center justify-center mx-auto mb-5",children:n.jsx(Di,{className:"h-7 w-7 text-destructive"})}),n.jsx("h1",{className:"text-xl font-bold text-foreground mb-2",children:"Invalid Invite Link"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"This invite link is invali
939d or has expired. Ask your team owner to send a new one."}),n.jsx(Fe,{href:"/",children:n.jsx(D,{variant:"outline",className:"w-full",children:"Back to Home"})})]}):r?n.jsxs("div",{className:"bg-card border border-border/50 p-8 text-center",children:[n.jsx("div",{className:"w-14 h-14 bg-primary/10 flex items-center justify-center mx-auto mb-5",children:n.jsx(Wt,{className:"h-7 w-7 text-primary"})}),n.jsx("h1",{className:"text-xl font-bold text-foreground mb-2",children:"Accept Team Invitation"}),n.jsxs("p",{className:"text-base text-muted-foreground mb-1",children:["You've been invited to join"," ",n.jsx("span",{className:"font-semibold text-foreground",children:o.teamName})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mb-8",children:["Invited by ",o.invitedBy," · Expires"," ",new Date(o.expiresAt).toLocaleDateString()]}),d.isSuccess?n.jsxs("div",{className:"flex items-center justify-center gap-2 text-green-600 mb-4",children:[n.jsx(nr,{className:"h-5 w-5"}),n.jsx("span",{className:"text-sm font-medium",children:"You've joined the team!"})]}):n.jsx(D,{className:"w-full",size:"lg",onClick:()=>d.mutate(),disabled:d.isPending,children:d.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-4 w-4 mr-2 animate-spin"}),"Joining..."]}):n.jsxs(n.Fragment,{children:[n.jsx(nr,{className:"h-4 w-4 mr-2"}),"Accept & Join ",o.teamName]})}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-4",children:["Signed in as"," ",n.jsx("span",{className:"text-foreground font-medium",children:r.email??"you"}),"."," ",n.jsx(Fe,{href:"/logout",className:"text-primary hover:underline",children:"Not you?"})]})]}):n.jsxs("div",{className:"bg-card border border-border/50 p-8 text-center",children:[n.jsx("div",{className:"w-14 h-14 bg-primary/10 flex items-center justify-center mx-auto mb-5",children:n.jsx(Wt,{className:"h-7 w-7 text-primary"})}),n.jsx("h1",{className:"text-xl font-bold text-foreground mb-2",children:"You've been invited!"}),n.jsxs("p",{className:"text-base text-muted-foreground mb-1",children:["Join ",n.jsx("span",{className:"font-semibold text-foreground",children:o.teamName})," on SpeakFlare"]}),n.jsxs("p",{className:"text-xs text-muted-foreground mb-8",children:["Invited by ",o.invitedBy," · Expires"," ",new Date(o.expiresAt).toLocaleDateString()]}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Fe,{href:`/login?redirect=${m}`,children:n.jsxs(D,{className:"w-full",size:"lg",children:[n.jsx(Ete,{className:"h-4 w-4 mr-2"}),"Sign In to Accept"]})}),n.jsx(Fe,{href:`/register?redirect=${m}`,children:n.jsxs(D,{variant:"outline",className:"w-full",size:"lg",children:[n.jsx(dp,{className:"h-4 w-4 mr-2"}),"Create Account & Join"]})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-6",children:["SpeakFlare is an AI communication analysis platform."," ",n.jsx(Fe,{href:"/features",className:"text-primary hover:underline",children:"Learn more"})]})]})})}),n.jsx(Ut,{})]})}const AT={filler_words:{label:e=>`Reduce filler words to under ${e} per meeting`,icon:n.jsx(Ze,{className:"h-5 w-5"}),unit:"filler words",lowerIsBetter:!0,color:"text-yellow-600 dark:text-yellow-400"},grammar:{label:e=>`Reduce grammar issues to under ${e} per meeting`,icon:n.jsx(Ua,{className:"h-5 w-5"}),unit:"grammar issues",lowerIsBetter:!0,color:"text-red-600 dark:text-red-400"},clarity:{label:e=>`Reduce clarity issues to under ${e} per meeting`,icon:n.jsx(Js,{className:"h-5 w-5"}),unit:"clarity issues",lowerIsBetter:!0,color:"text-blue-600 dark:text-blue-400"},meetings_per_week:{label:e=>`Record ${e} meetings per week`,icon:n.jsx(ys,{className:"h-5 w-5"}),unit:"meetings/week",lowerIsBetter:!1,color:"text-green-600 dark:text-green-400"},overall_score:{label:e=>`Reach a communication score of ${e}`,icon:n.jsx(rr,{className:"h-5 w-5"}),unit:"score",lowerIsBetter:!1,color:"text-primary"}};function OLe(e){const t=new Date,r=new Date(e);return Math.ceil((r.getTime()-t.getTime())/(1e3*60*60*24))}function RLe(e){const t=AT[e.type];if(!t)return 0;if(t.lowerIsBetter){if(e.currentValue<=e.targetValue)return 100;const r=Math.max(e.currentValue,e.targetValue*2),a=r-e.currentValue,s=r-e.targetValue;return Math.min(100,Math.max(0,Math.round(a/s*100)))}else return e.targetValue===0?100:Math.min(100,Math.round(e.currentValue/e.targetValue*100))}function FLe(e){const t=AT[e.type];if(!t)return null;if(t.lowerIsBetter){const r=Math.max(e.currentValue,e.targetValue*2);if(r===e.currentValue)return null;const a=Math.round((r-e.currentValue)/r*100);if(a>0)return`${a}% better since you started`}else{const r=Math.max(0,e.currentValue-5);if(r===0)return null;const a=Math.round((e.currentValue-r)/Math.max(1,r)*100);if(a>0)return`+${a}% better since you started`}return null}function uO({goal:e,onUpdate:t,onDelete:r}){const a=AT[e.type]||{label:f=>`Goal: ${f}`,icon:n.jsx(rr,{className:"h-5 w-5"}),unit:"",lowerIsBetter:!1,color:"text-primary"},s=OLe(e.deadline),i=RLe(e),o=FLe(e),l=e.status==="completed"||i>=100,c=i>=80?"bg-green-500":i>=50?"bg-yellow-500":"bg-primary",{toast:d}=dt(),u=Qs(),m=Ve({mutationFn:async()=>{const f=await fetch(`/api/goals/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({status:"completed"})});if(!f.ok)throw new Error("Failed to update goal");return f.json()},onSuccess:()=>
939{u.invalidateQueries({queryKey:["/api/goals"]}),d({title:"Goal marked as complete!"})}}),h=Ve({mutationFn:async()=>{if(!(await fetch(`/api/goals/${e.id}`,{method:"DELETE",credentials:"include"})).ok)throw new Error("Failed to delete goal")},onSuccess:()=>{u.invalidateQueries({queryKey:["/api/goals"]}),r(e.id),d({title:"Goal deleted."})}});return l?n.jsxs("div",{className:"bg-card border border-green-500/30 p-5 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-green-500/5 via-yellow-500/5 to-green-500/5 pointer-events-none"}),n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-12 h-12 bg-green-100 dark:bg-green-900/30 flex items-center justify-center flex-shrink-0 text-green-600 dark:text-green-400",children:n.jsx(Zo,{className:"h-6 w-6"})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"flex items-center gap-2 mb-1",children:n.jsx("span",{className:"text-green-600 dark:text-green-400 font-bold text-sm",children:"Goal Achieved!"})}),n.jsx("p",{className:"font-semibold text-foreground",children:a.label(e.targetValue)}),n.jsxs("p",{className:"text-sm text-muted-foreground mt-1",children:["Completed ",new Date(e.deadline).toLocaleDateString()]}),n.jsx("div",{className:"mt-3",children:n.jsx("div",{className:"w-full bg-muted h-2 overflow-hidden",children:n.jsx("div",{className:"h-full bg-green-500 transition-all duration-1000",style:{width:"100%"}})})})]}),n.jsxs(rS,{children:[n.jsx(nS,{asChild:!0,children:n.jsx(D,{variant:"ghost",size:"icon",className:"h-8 w-8 flex-shrink-0",children:n.jsx(u4,{className:"h-4 w-4"})})}),n.jsx(xv,{align:"end",children:n.jsxs(Bd,{className:"text-red-600 dark:text-red-400",onClick:()=>h.mutate(),children:[n.jsx(Yo,{className:"h-4 w-4 mr-2"}),"Delete"]})})]})]})]}):n.jsx("div",{className:"bg-card border border-border p-5",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:`w-12 h-12 bg-primary/10 flex items-center justify-center flex-shrink-0 ${a.color}`,children:a.icon}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"font-semibold text-foreground leading-snug",children:a.label(e.targetValue)}),n.jsxs("div",{className:"flex items-center gap-3 mt-1.5 flex-wrap",children:[n.jsxs("span",{className:"text-sm text-muted-foreground",children:["Current: ",n.jsxs("span",{className:`font-semibold ${a.color}`,children:[e.currentValue," ",a.unit]})]}),o&&n.jsx("span",{className:"text-xs text-green-600 dark:text-green-400 font-medium",children:o})]}),n.jsxs("div",{className:"mt-3 space-y-1.5",children:[n.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[n.jsxs("span",{children:[i,"% complete"]}),n.jsxs("span",{children:["Target: ",e.targetValue," ",a.unit]})]}),n.jsx("div",{className:"w-full bg-muted h-2.5 overflow-hidden",children:n.jsx("div",{className:`h-full ${c} transition-all duration-700`,style:{width:`${i}%`}})})]}),n.jsx("div",{className:"mt-2.5 flex items-center gap-2",children:s>0?n.jsxs("span",{className:`inline-flex items-center gap-1 text-xs font-medium px-2 py-0.5 ${s<=7?"bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400":s<=14?"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400":"bg-muted text-muted-foreground"}`,children:[n.jsx(Yv,{className:"h-3 w-3"}),s," ",s===1?"day":"days"," remaining"]}):n.jsx("span",{className:"inline-flex items-center gap-1 text-xs font-medium px-2 py-0.5 bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400",children:"Deadline passed"})})]}),n.jsxs(rS,{children:[n.jsx(nS,{asChild:!0,children:n.jsx(D,{variant:"ghost",size:"icon",className:"h-8 w-8 flex-shrink-0",children:n.jsx(u4,{className:"h-4 w-4"})})}),n.jsxs(xv,{align:"end",children:[n.jsxs(Bd,{onClick:()=>m.mutate(),children:[n.jsx(gn,{className:"h-4 w-4 mr-2 text-green-600"}),"Mark as Complete"]}),n.jsxs(Bd,{className:"text-red-600 dark:text-red-400",onClick:()=>h.mutate(),children:[n.jsx(Yo,{className:"h-4 w-4 mr-2"}),"Delete Goal"]})]})]})]})})}const mO=[{id:"filler_words",label:"Filler Words",description:"Reduce 'um', 'like', 'you know'…",icon:n.jsx(Ze,{className:"h-6 w-6"}),color:"text-yellow-600 dark:text-yellow-400",bg:"bg-yellow-100 dark:bg-yellow-900/30",border:"border-yellow-400"},{id:"grammar",label:"Grammar",description:"Fewer grammar mistakes per meeting",icon:n.jsx(Ua,{className:"h-6 w-6"}),color:"text-red-600 dark:text-red-400",bg:"bg-red-100 dark:bg-red-900/30",border:"border-red-400"},{id:"clarity",label:"Clarity",description:"Speak more clearly and precisely",icon:n.jsx(Js,{className:"h-6 w-6"}
939),color:"text-blue-600 dark:text-blue-400",bg:"bg-blue-100 dark:bg-blue-900/30",border:"border-blue-400"},{id:"meetings_per_week",label:"Meeting Habit",description:"Record a set number of meetings per week",icon:n.jsx(ys,{className:"h-6 w-6"}),color:"text-green-600 dark:text-green-400",bg:"bg-green-100 dark:bg-green-900/30",border:"border-green-400"},{id:"overall_score",label:"Overall Score",description:"Hit a target communication score",icon:n.jsx(rr,{className:"h-6 w-6"}),color:"text-primary",bg:"bg-primary/10",border:"border-primary"}],hO=[{label:"2 weeks",days:14},{label:"1 month",days:30},{label:"2 months",days:60},{label:"3 months",days:90}];function fO(e){switch(e){case"filler_words":return{min:1,max:50,step:1,default:10,label:t=>`Under ${t} filler words per meeting`};case"grammar":return{min:0,max:20,step:1,default:5,label:t=>`Under ${t} grammar issues per meeting`};case"clarity":return{min:0,max:20,step:1,default:5,label:t=>`Under ${t} clarity issues per meeting`};case"meetings_per_week":return{min:1,max:7,step:1,default:3,label:t=>`${t} meeting${t>1?"s":""} per week`};case"overall_score":return{min:50,max:100,step:1,default:75,label:t=>`Communication score of ${t}`};default:return{min:1,max:100,step:1,default:50,label:t=>`${t}`}}}function DLe(e){const t=new Date;return t.setDate(t.getDate()+e),t.toISOString()}function $Le({open:e,onClose:t,onCreated:r}){var w;const[a,s]=y.useState(1),[i,o]=y.useState(null),[l,c]=y.useState(null),[d,u]=y.useState(30),{toast:m}=dt(),h=Qs(),f=i?fO(i):null,b=Ve({mutationFn:async()=>{const N=await fetch("/api/goals",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({type:i,targetValue:l??(f==null?void 0:f.default),deadline:DLe(d)})});if(!N.ok)throw new Error("Failed to create goal");return N.json()},onSuccess:()=>{h.invalidateQueries({queryKey:["/api/goals"]}),m({title:"Goal created! Time to crush it."}),r(),g()},onError:()=>{m({title:"Failed to create goal.",variant:"destructive"})}}),g=()=>{s(1),o(null),c(null),u(30),t()},p=mO.find(N=>N.id===i),x=l??(f==null?void 0:f.default)??0,v=["Choose goal type","Set your target","Pick a deadline","Confirm your goal"];return n.jsx(Tc,{open:e,onOpenChange:N=>{N||g()},children:n.jsxs(fl,{className:"sm:max-w-lg p-0 overflow-hidden",children:[n.jsxs("div",{className:"bg-muted px-6 pt-6 pb-4",children:[n.jsx("div",{className:"flex items-center justify-between mb-3",children:v.map((N,j)=>n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("div",{className:`w-6 h-6 flex items-center justify-center text-xs font-bold transition-all ${a===j+1?"bg-primary text-primary-foreground":a>j+1?"bg-green-500 text-white":"bg-border text-muted-foreground"}`,children:a>j+1?n.jsx(ut,{className:"h-3 w-3"}):j+1}),j<v.length-1&&n.jsx("div",{className:`h-0.5 w-8 sm:w-16 ${a>j+1?"bg-green-500":"bg-border"}`})]},j))}),n.jsx("p",{className:"text-sm font-semibold text-foreground",children:v[a-1]})]}),n.jsxs("div",{className:"px-6 py-5",children:[a===1&&n.jsx("div",{className:"space-y-2",children:mO.map(N=>n.jsxs("button",{onClick:()=>{o(N.id);const j=fO(N.id);c(j.default)},className:`w-full flex items-center gap-4 p-3 border-2 transition-all text-left ${i===N.id?`${N.border} ${N.bg}`:"border-border hover:border-muted-foreground"}`,children:[n.jsx("div",{className:`w-10 h-10 flex items-center justify-center flex-shrink-0 ${N.bg} ${N.color}`,children:N.icon}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-sm text-foreground",children:N.label}),n.jsx("p",{className:"text-xs text-muted-foreground",children:N.description})]}),i===N.id&&n.jsx("div",{className:`ml-auto w-5 h-5 flex items-center justify-center ${N.bg} ${N.color}`,children:n.jsx(ut,{className:"h-3 w-3"})})]},N.id))}),a===2&&f&&n.jsxs("div",{className:"space-y-6",children:[n.jsx("div",{className:`p-4 ${p==null?void 0:p.bg}`,children:n.jsx("p",{className:`text-2xl font-bold ${p==null?void 0:p.color}`,children:f.label(x)})}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[n.jsx("span",{children:f.min}),n.jsx("span",{className:"font-semibold text-foreground text-lg",children:x}),n.jsx("span",{children:f.max})]}),n.jsx(j0,{min:f.min,max:f.max,step:f.step,value:[x],onValueChange:([N])=>c(N),className:"w-full"})]}),n.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Drag the slider to set your target"})]}),a===3&&n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"I want to achieve this in:"}),hO.map(N=>n.jsxs("button",{onClick:()=>u(N.days),className:`w-full flex items-center justify-between p-3 border-2 transition-all ${d===N.days?"border-primary bg-primary/10":"border-border hover:border-muted-foreground"}`,children:[n.jsx("span",{className:"font-semibold text-foreground",children:N.label}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Deadline: ",new Date(Date.now()+N.days*864e5).toLocaleDateString()]}),d===N.days&&n.jsx("div",{className:"w-5 h-5 flex items-center justify-center bg-primary text-primary-foreground ml-2",children:n.jsx(ut,{className:"h-3 w-3"})})]},N.days))]}),a===4&&p&&f&&n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:`p-5 border-2 ${p.border}`,children:[n.jsxs("div",{className:`flex items-center gap-3 mb-3 ${p.color}`,children:[n.jsx("div",{className:`w-10 h-10 flex items-center justify-center ${p.bg}`,children:p.icon}),n.jsx("span",{className:"font-bold text-base",children:p.label})]}),n.jsxs("div",{className:"space-y-2 text-sm",children:[n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{className:"text-muted-foreground",children:"Target:"}),n.jsx("span",{className:"font-semibold",children:f.label(x)})]}),n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{className:"text-muted-foreground",children:"Deadline:"}),n.jsxs("span",{className:"font-semibold",children:[(w=hO.find(N=>
939N.days===d))==null?void 0:w.label," (",new Date(Date.now()+d*864e5).toLocaleDateString(),")"]})]})]})]}),n.jsx("div",{className:"bg-muted p-3 text-xs text-muted-foreground",children:"Your progress will be tracked automatically as you record meetings. Stay consistent and hit your goal!"})]})]}),n.jsxs("div",{className:"px-6 pb-6 flex items-center justify-between gap-3",children:[n.jsx(D,{variant:"ghost",onClick:a===1?g:()=>s(N=>N-1),children:a===1?"Cancel":n.jsxs(n.Fragment,{children:[n.jsx(Gv,{className:"h-4 w-4 mr-1"}),"Back"]})}),a<4?n.jsxs(D,{disabled:a===1&&!i,onClick:()=>s(N=>N+1),children:["Next",n.jsx(Xs,{className:"h-4 w-4 ml-1"})]}):n.jsx(D,{onClick:()=>b.mutate(),disabled:b.isPending,className:"bg-green-600 hover:bg-green-700 text-white",children:b.isPending?"Saving…":"Start Goal"})]})]})})}function LLe(e){const t=new Map;return e.forEach(r=>{const a=new Date(r.date).toISOString().split("T")[0];t.set(a,(t.get(a)??0)+1)}),t}function kS(e=90){const t=[];for(let r=e-1;r>=0;r--){const a=new Date;a.setDate(a.getDate()-r),t.push(a.toISOString().split("T")[0])}return t}function zLe(e){const t=new Date().toISOString().split("T")[0];let r=0,a=0;const s=kS(365);for(let l=s.length-1;l>=0;l--){const c=s[l];(e.get(c)??0)>0?(a++,a>r&&(r=a),l>=s.length-1||s[l+1]===t||a>0):a=0}let i=0;const o=kS(365);for(let l=o.length-1;l>=0&&(e.get(o[l])??0)>0;l--)i++;return{current:i,longest:r}}function BLe(e,t){if(e.length===0)return[];const r=e.reduce((o,l)=>o+l.fillerCount,0)/e.length,a=e.reduce((o,l)=>o+l.grammarCount,0)/e.length,s=e.reduce((o,l)=>o+l.clarityCount,0)/e.length,i=[];return!t.has("filler_words")&&r>5&&i.push({type:"filler_words",message:`Your average filler word count is ${Math.round(r)} per meeting. Goal: reduce to under 10 in 30 days.`,target:10,icon:n.jsx(Ze,{className:"h-4 w-4"}),color:"text-yellow-600 dark:text-yellow-400"}),!t.has("grammar")&&a>3&&i.push({type:"grammar",message:`You average ${Math.round(a)} grammar issues per meeting. Goal: reduce to under 5 in 30 days.`,target:5,icon:n.jsx(Ua,{className:"h-4 w-4"}),color:"text-red-600 dark:text-red-400"}),!t.has("clarity")&&s>3&&i.push({type:"clarity",message:`Clarity issues average ${Math.round(s)} per meeting. Goal: get under 5 in 30 days.`,target:5,icon:n.jsx(Js,{className:"h-4 w-4"}),color:"text-blue-600 dark:text-blue-400"}),t.has("meetings_per_week")||i.push({type:"meetings_per_week",message:"Build a consistent habit. Record 3 meetings every week for the next month.",target:3,icon:n.jsx(ys,{className:"h-4 w-4"}),color:"text-green-600 dark:text-green-400"}),t.has("overall_score")||i.push({type:"overall_score",message:"Challenge yourself to hit an overall communication score of 75 in 60 days.",target:75,icon:n.jsx(rr,{className:"h-4 w-4"}),color:"text-primary"}),i.slice(0,3)}function WLe(){const{user:e}=Gt(),t=Qs(),r=(e==null?void 0:e.id)??"",[a,s]=y.useState(!1),[i,o]=y.useState(!1),{data:l,isLoading:c}=De({queryKey:["/api/goals"]}),{data:d}=De({queryKey:[`/api/users/${r}/meetings/all`],enabled:!!r}),u=y.useMemo(()=>(l??[]).filter(S=>S.status==="active"),[l]),m=y.useMemo(()=>(l??[]).filter(S=>S.status==="completed"),[l]),h=y.useMemo(()=>new Set(u.map(S=>S.type)),[u]),f=d??[],b=y.useMemo(()=>LLe(f),[f]),g=y.useMemo(()=>kS(84),[]),p=y.useMemo(()=>zLe(b),[b]),x=y.useMemo(()=>BLe(f,h),[f,h]),v=Ve({mutationFn:async({id:S,newValue:C})=>{const A=await fetch(`/api/goals/${S}`,{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({currentValue:C})});if(!A.ok)throw new Error("Failed to update goal");return A.json()},onSuccess:()=>t.invalidateQueries({queryKey:["/api/goals"]})}),w=(S,C)=>v.mutate({id:S,newValue:C}),N=S=>t.invalidateQueries({queryKey:["/api/goals"]}),j=()=>{s(!1),t.invalidateQueries({queryKey:["/api/goals"]})};if(c)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});const k=[];for(let S=0;S<g.length;S+=7)k.push(g.slice(S,S+7));return n.jsxs("div",{className:"min-h-screen bg-background pb-24",children:[n.jsxs("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs("div",{className:"flex items-center justify-between mb-8",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Goals"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Track your communication improvement"})]}),n.jsxs(D,{onClick:()=>s(!0),className:"gap-2",children:[n.jsx(p4,{className:"h-4 w-4"}),"New Goal"]})]}),n.jsxs("section",{className:"mb-10",children:[n.jsx("div",{className:"flex items-center justify-between mb-4",children:n.jsxs("h2",{className:"text-lg font-semibold text-foreground flex items-center gap-2",children:[n.jsx(rr,{className:"h-5 w-5 text-primary"}),"Active Goals",u.length>0&&n.jsx("span",{className:"ml-1 text-xs bg-primary text-primary-foreground px-1.5 py-0.5 font-bold",children:u.length})]})}),u.length===0?n.jsxs("div",{className:"bg-card border border-border p-12 text-center",children:[n.jsx("div",{className:"w-16 h-16 bg-primary/10 flex items-center justify-center mx-auto mb-4",children:n.jsx(rr,{className:"h-8 w-8 text-primary"})}),n.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Set your first communication goal"}),n.jsx("p",{className:"text-muted-foreground text-sm mb-6",children:"Goals keep you accountable and make improvement measurable. Pick something to work on."}),n.jsxs(D,{onClick:()=>s(!0),className:"gap-2",children:[n.jsx(p4,{className:"h-4 w-4"}),"Set a goal"]})]}):n.jsx("div",{className:"space-y-3",children:u.map(S=>n.jsx(uO,{goal:S,onUpdate:w,onDelete:N},S.id))})]}),x.length>0&&n.jsxs("section",{className:"mb-10",children:[n.jsxs("h2",{className:"text-lg font-semibold text-foreground flex items-center gap-2 mb-4",children:[n.jsx(R2,{className:"h-5 w-5 text-yellow-500"}
939),"Suggested Goals"]}),n.jsx("div",{className:"space-y-2",children:x.map(S=>n.jsxs("div",{className:"bg-card border border-border p-4 flex items-start gap-4",children:[n.jsx("div",{className:`w-9 h-9 bg-muted flex items-center justify-center flex-shrink-0 ${S.color}`,children:S.icon}),n.jsx("div",{className:"flex-1 min-w-0",children:n.jsx("p",{className:"text-sm text-foreground",children:S.message})}),n.jsx(D,{size:"sm",variant:"outline",className:"flex-shrink-0 text-xs",onClick:()=>s(!0),children:"Start"})]},S.type))})]}),n.jsxs("section",{className:"mb-10",children:[n.jsxs("h2",{className:"text-lg font-semibold text-foreground flex items-center gap-2 mb-4",children:[n.jsx(Yv,{className:"h-5 w-5 text-orange-500"}),"Activity Streak"]}),n.jsxs("div",{className:"bg-card border border-border p-5",children:[n.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-5",children:[n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-orange-500",children:p.current}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Current streak"})]}),n.jsxs("div",{className:"text-center border-l border-r border-border",children:[n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-foreground",children:p.longest}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Longest streak"})]}),n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-2xl sm:text-3xl font-bold text-foreground",children:f.length}),n.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:"Total meetings"})]})]}),n.jsxs("div",{className:"overflow-x-auto",children:[n.jsx("div",{className:"flex gap-1 min-w-fit",children:k.map((S,C)=>n.jsx("div",{className:"flex flex-col gap-1",children:S.map(A=>{const T=b.get(A)??0,E=A===new Date().toISOString().split("T")[0];return n.jsx("div",{title:`${A}${T>0?` — ${T} meeting${T>1?"s":""}`:""}`,className:`w-4 h-4 transition-all ${E?"ring-1 ring-primary ring-offset-1":""} ${T===0?"bg-muted":T===1?"bg-primary/40":T===2?"bg-primary/70":"bg-primary"}`},A)})},C))}),n.jsxs("div",{className:"flex items-center gap-2 mt-3",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:"Less"}),n.jsx("div",{className:"w-3 h-3 bg-muted"}),n.jsx("div",{className:"w-3 h-3 bg-primary/40"}),n.jsx("div",{className:"w-3 h-3 bg-primary/70"}),n.jsx("div",{className:"w-3 h-3 bg-primary"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"More"})]})]}),f.length===0&&n.jsxs("div",{className:"mt-4 text-center",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Record meetings to build your streak."}),n.jsx(Fe,{href:"/",children:n.jsx(D,{size:"sm",className:"mt-2",children:"Record a meeting"})})]})]})]}),m.length>0&&n.jsxs("section",{className:"mb-10",children:[n.jsxs("button",{onClick:()=>o(S=>!S),className:"flex items-center gap-2 text-lg font-semibold text-foreground mb-4 w-full",children:[n.jsx(Zo,{className:"h-5 w-5 text-yellow-500"}),"Completed Goals",n.jsxs("span",{className:"text-sm text-muted-foreground font-normal ml-1",children:["(",m.length,")"]}),n.jsx("span",{className:"ml-auto text-muted-foreground",children:i?n.jsx(Ps,{className:"h-4 w-4"}):n.jsx(Jt,{className:"h-4 w-4"})})]}),i&&n.jsx("div",{className:"space-y-3",children:m.map(S=>n.jsx(uO,{goal:S,onUpdate:w,onDelete:N},S.id))})]})]}),n.jsx($Le,{open:a,onClose:()=>s(!1),onCreated:j})]})}function ULe(e){return e.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^[-•]\s+(.+)$/gm,"<li>$1</li>").replace(/(<li>.*<\/li>\n?)+/g,t=>`<ul class="coach-list">${t}</ul>`).replace(/\n{2,}/g,"<br/><br/>").replace(/\n/g,"<br/>")}const VLe=["What should I focus on from this meeting?","How do I stop saying 'um' so much?","What's my biggest communication weakness?","Give me a 5-minute exercise to improve","How do I sound more confident?"],Hm={role:"assistant",content:"Hi! I'm your SpeakFlare AI Communication Coach. I can analyze your meetings and help you become a more confident, clear speaker. Select a meeting from the left to discu
939ss it, or just ask me anything about communication."};function qLe({meetingId:e,initialContext:t}){const[r,a]=y.useState([Hm]),[s,i]=y.useState(""),[o,l]=y.useState(!1),[c,d]=y.useState(!1),u=y.useRef(null),m=y.useRef(null),{toast:h}=dt();y.useEffect(()=>{var p;(p=u.current)==null||p.scrollIntoView({behavior:"smooth"})},[r,o]),y.useEffect(()=>{if(d(!1),a([Hm]),!e){d(!0);return}(async()=>{try{const x=await fetch(`/api/ai-coach/history/${e}`,{credentials:"include"});if(!x.ok)return;const v=await x.json();if(v&&v.length>0){const w=v.map(N=>({role:N.role,content:N.content}));a([Hm,...w])}}catch{}finally{d(!0)}})()},[e]);const f=async p=>{const x=p.trim();if(!x||o)return;const v={role:"user",content:x},w=r.filter(N=>N!==Hm);a(N=>[...N,v]),i(""),l(!0);try{const N=await fetch("/api/ai-coach/chat",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({meetingId:e,message:x,history:w})});if(!N.ok)throw new Error("Failed to get response");const k={role:"assistant",content:(await N.json()).response};a(S=>[...S,k])}catch{h({title:"Coach unavailable",description:"Could not reach the AI coach. Please try again.",variant:"destructive"}),i(x),a(N=>N.filter(j=>j!==v))}finally{l(!1)}},b=p=>{p.key==="Enter"&&!p.shiftKey&&(p.preventDefault(),f(s))},g=r.length===1&&r[0]===Hm;return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-4 space-y-4",children:[r.map((p,x)=>n.jsxs("div",{className:`flex gap-3 ${p.role==="user"?"flex-row-reverse":"flex-row"}`,children:[p.role==="assistant"&&n.jsx("div",{className:"flex-shrink-0 w-8 h-8 bg-primary/10 flex items-center justify-center rounded-md mt-0.5",children:n.jsx(O1,{className:"h-4 w-4 text-primary"})}),n.jsx("div",{className:`max-w-[85%] sm:max-w-[75%] px-3 sm:px-4 py-2.5 sm:py-3 text-sm leading-relaxed rounded-md ${p.role==="user"?"bg-primary text-primary-foreground ml-auto whitespace-pre-wrap":"bg-card border border-border shadow-sm text-foreground coach-bubble"}`,children:p.role==="assistant"?n.jsx("div",{dangerouslySetInnerHTML:{__html:ULe(p.content)}}):p.content})]},x)),o&&n.jsxs("div",{className:"flex gap-3 flex-row",children:[n.jsx("div",{className:"flex-shrink-0 w-8 h-8 bg-primary/10 flex items-center justify-center mt-0.5",children:n.jsx(O1,{className:"h-4 w-4 text-primary"})}),n.jsxs("div",{className:"bg-muted px-4 py-3 flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-muted-foreground/50 rounded-full animate-bounce [animation-delay:0ms]"}),n.jsx("span",{className:"w-2 h-2 bg-muted-foreground/50 rounded-full animate-bounce [animation-delay:150ms]"}),n.jsx("span",{className:"w-2 h-2 bg-muted-foreground/50 rounded-full animate-bounce [animation-delay:300ms]"})]})]}),n.jsx("div",{ref:u})]}),g&&c&&n.jsxs("div",{className:"px-4 pb-3",children:[n.jsx("p",{className:"text-xs text-muted-foreground mb-2 font-medium uppercase tracking-wide",children:"Suggested"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:VLe.map(p=>n.jsx("button",{onClick:()=>f(p),className:"text-xs px-3 py-1.5 border border-border rounded-md bg-background hover:bg-muted transition-colors text-foreground text-left",children:p},p))})]}),n.jsxs("div",{className:"border-t border-border px-4 py-3 flex gap-3 items-end bg-background relative z-50",children:[n.jsx(Rc,{ref:m,value:s,onChange:p=>i(p.target.value),onKeyDown:b,placeholder:"Ask your coach anything...",className:"resize-none min-h-[44px] max-h-[160px] flex-1 text-sm rounded-md",rows:1,disabled:o}),n.jsx(D,{onClick:()=>f(s),disabled:o||!s.trim(),size:"icon",className:"h-11 w-11 flex-shrink-0 rounded-md",children:o?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(ls,{className:"h-4 w-4"})})]})]})}function HLe(){Gt();const[e,t]=y.useState(void 0),[r,a]=y.useState(()=>window.innerWidth>=640),[s,i]=y.useState(0),{data:o,isLoading:l}=De({queryKey:["/api/meetings"],staleTime:3e4}),c=o==null?void 0:o.find(m=>m.id===e),d=()=>{t(void 0),i(m=>m+1)},u=m=>{t(m),i(h=>h+1),window.innerWidth<768&&a(!1)};return n.jsxs("div",{className:"flex h-[calc(100vh-56px)] sm:h-screen bg-background overflow-hidden relative",children:[r&&n.jsx("div",{className:"fixed inset-0 bg-black/30 z-20 sm:hidden",onClick:()=>a(!1)}),n.jsx("aside",{className:`flex flex-col border-r border-border bg-card transition-all duration-200 flex-shrink-0
940          ${r?"w-72 fixed inset-y-0 left-0 z-30 sm:relative sm:inset-auto sm:z-auto":"w-0 overflow-hidden"}`,children:n.jsxs("div",{className:"flex flex-col h-full min-w-[288px]",children:[n.jsxs("div",{className:"px-5 pt-6 pb-4 border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(lw,{className:"h-5 w-5 text-primary flex-shrink-0"}),n.jsx("h1",{className:"font-semibold text-base leading-tight",children:"AI Communication Coach"})]}),n.jsxs(D,{variant:"outline",size:"sm",className:"w-full justify-start gap-2 rounded-none text-sm",onClick:d,children:[n.jsx(Ote,{className:"h-4 w-4"}),"Start a new conversation"]})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto px-3 py-4",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide px-2 mb-3",children:"Your meetings"}),l?n.jsx("div",{className:"flex items-center justify-center py-8",children:n.jsx(Ce,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):!o||o.length===0?n.jsx("p",{className:"text-sm text-muted-foreground px-2",children:"No meetings 
940yet. Record or upload one to get started."}):n.jsx("div",{className:"space-y-0.5",children:o.slice(0,10).map(m=>{const h=m.grammarCount+m.fillerCount+m.clarityCount+m.salesCount,f=m.id===e,b=new Date(m.date).toLocaleDateString(void 0,{month:"short",day:"numeric"});return n.jsxs("button",{onClick:()=>u(m.id),className:`w-full text-left px-3 py-3 transition-colors ${f?"bg-primary/10 border-l-2 border-primary":"hover:bg-muted border-l-2 border-transparent"}`,children:[n.jsx("div",{className:"truncate font-medium text-sm text-foreground",children:m.title}),n.jsxs("div",{className:"flex items-center justify-between mt-1",children:[n.jsx("span",{className:"text-xs text-muted-foreground",children:b}),n.jsxs("span",{className:"text-xs font-semibold text-primary",children:[h," issues"]})]})]},m.id)})})]})]})}),n.jsx("button",{onClick:()=>a(m=>!m),className:`z-40 w-7 h-10 bg-card border border-border rounded-r-md flex items-center justify-center hover:bg-muted transition-colors flex-shrink-0
941          ${r?"hidden sm:flex":"flex"}`,"aria-label":"Toggle sidebar",children:r?n.jsx(Gv,{className:"h-3 w-3 text-muted-foreground"}):n.jsx(Xs,{className:"h-3 w-3 text-muted-foreground"})}),n.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[c?n.jsxs("div",{className:"flex items-center gap-3 px-4 sm:px-6 py-3 sm:py-4 border-b border-border bg-card/50",children:[n.jsx(lw,{className:"h-4 w-4 text-primary flex-shrink-0"}),n.jsxs("div",{className:"min-w-0",children:[n.jsx("p",{className:"font-medium text-sm truncate",children:c.title}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:[new Date(c.date).toLocaleDateString()," • Context loaded"]})]})]}):n.jsxs("div",{className:"flex items-center gap-3 px-4 sm:px-6 py-3 sm:py-4 border-b border-border bg-card/50",children:[n.jsx(lw,{className:"h-4 w-4 text-primary flex-shrink-0"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"General coaching mode — no meeting selected"})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(qLe,{meetingId:e},s)})]})]})}function $g({label:e,value:t,comparedValue:r,color:a,bgColor:s,maxValue:i}){const o=i>0?Math.min(100,t/i*100):0,l=r!==void 0?r-t:null,c=l!==null&&l>0;return n.jsxs("div",{className:"mb-4",children:[n.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[n.jsx("span",{className:"text-sm font-medium text-foreground",children:e}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-sm font-bold",style:{color:a},children:t}),l!==null&&l!==0&&n.jsx("span",{className:`text-xs flex items-center gap-0.5 font-medium ${c?"text-green-600":"text-red-500"}`,children:c?n.jsxs(n.Fragment,{children:[n.jsx(kc,{className:"h-3 w-3"}),"-",Math.abs(l)]}):n.jsxs(n.Fragment,{children:[n.jsx(it,{className:"h-3 w-3"}),"+",Math.abs(l)]})}),l===0&&n.jsxs("span",{className:"text-xs flex items-center gap-0.5 text-muted-foreground",children:[n.jsx(lp,{className:"h-3 w-3"}),"same"]})]})]}),n.jsx("div",{className:"h-2 bg-muted w-full",children:n.jsx("div",{className:"h-full transition-all duration-500",style:{width:`${o}%`,backgroundColor:a}})})]})}function pO({meeting:e,comparedTo:t,label:r}){var d,u;const a=e.grammarCount+e.fillerCount+e.clarityCount+e.salesCount,s=t!==void 0?t.grammarCount+t.fillerCount+t.clarityCount+t.salesCount:void 0,i=Math.max(e.grammarCount,e.fillerCount,e.clarityCount,e.salesCount,(t==null?void 0:t.grammarCount)??0,(t==null?void 0:t.fillerCount)??0,(t==null?void 0:t.clarityCount)??0,(t==null?void 0:t.salesCount)??0,1),o=s!==void 0&&a<s,l=s!==void 0&&a>s,c=((d=e.summaryData)==null?void 0:d.keyPoints)??((u=e.summaryData)==null?void 0:u.overview)?[e.summaryData.overview]:[];return n.jsxs("div",{className:"bg-card border border-border p-5 flex flex-col gap-4",children:[n.jsxs("div",{className:"flex items-start justify-between gap-3",children:[n.jsxs("div",{className:"min-w-0",children:[r&&n.jsx("span",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground block mb-1",children:r}),n.jsx("h3",{className:"font-semibold text-base leading-tight truncate",children:e.title}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:new Date(e.date).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})]}),n.jsxs("div",{className:"flex flex-col items-end gap-1 flex-shrink-0",children:[n.jsx("div",{className:"text-2xl font-bold text-primary",children:a}),n.jsx("div",{className:"text-xs text-muted-foreground",children:"total issues"}),o&&n.jsx("span",{className:"text-xs font-semibold text-green-600 bg-green-100 dark:bg-green-900/30 px-2 py-0.5",children:"Better"}),l&&n.jsx("span",{className:"text-xs font-semibold text-red-500 bg-red-100 dark:bg-red-900/30 px-2 py-0.5",children:"More issues"})]})]}),n.jsxs("div",{children:[n.jsx($g,{label:"Grammar",value:e.grammarCount,comparedValue:t==null?void 0:t.grammarCount,color:"#ef4444",bgColor:"bg-red-500",maxValue:i}),n.jsx($g,{label:"Filler Words",value:e.fillerCount,comparedValue:t==null?void 0:t.fillerCount,color:"#eab308",bgColor:"bg-yellow-500",maxValue:i}),n.jsx($g,{label:"Clarity",value:e.clarityCount,comparedValue:t==null?void 0:t.clarityCount,color:"#3b82f6",bgColor:"bg-blue-500",maxValue:i}),n.jsx($g,{label:"Sales",value:e.salesCount,comparedValue:t==null?void 0:t.salesCount,color:"#f97316",bgColor:"bg-orange-500",maxValue:i})]}),c.length>0&&n.jsxs("div",{className:"border-t border-border pt-4",children:[n.jsx("p",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground mb-2",children:"Key points"}),n.jsx("ul",{className:"space-y-1",children:c.slice(0,3).map((m,h)=>n.jsxs("li",{className:"text-sm text-foreground flex gap-2",children:[n.jsx("span",{className:"text-primary mt-0.5 flex-shrink-0",children:"•"}),n.jsx("span",{children:m})]},h))})]})]})}function GLe(){Gt();const{toast:e}=dt(),[t,r]=y.useState(""),[a,s]=y.useState(""),{data:i,isLoading:o}=De({queryKey:["/api/meetings"],staleTime:3e4}),l=i==null?void 0:i.find(w=>w.id===t),c=i==null?void 0:i.find(w=>w.id===a),d=!!l&&!!c,u=l?l.grammarCount+l.fillerCount+l.clarityCount+l.salesCount:0,m=c?c.grammarCount+c.fillerCount+c.clarityCount+c.salesCount:0,h=d&&u>0?Math.round((u-m)/u*100):null,f=(w,N)=>w<N?"A":N<w?"B":"tie",b=d?{grammar:f(l.grammarCount,c.grammarCount),filler:f(l.fillerCount,c.fillerCount),clarity:f(l.clarityCount,c.clarityCount),sales:f(l.salesCount,c.salesCount)}:null,g=b?Object.values(b).filter(w=>w==="A").length:0,p=b?Object.values(b).filter(w=>w==="B").length:0,x=i?i.slice(0,10).reverse().map(w=>({name:new Date(w.date).toLocaleDateString(void 0,{month:"short",day:"numeric"}),filler:w.fillerCount,total:w.grammarCount+w.fillerCount+w.clarityCount+w.salesCount})):[],v=()=>{if(!l||!c)return;
941const w=["SpeakFlare Meeting Comparison","",`Meeting A: ${l.title} (${new Date(l.date).toLocaleDateString()})`,`  Grammar: ${l.grammarCount} | Filler: ${l.fillerCount} | Clarity: ${l.clarityCount} | Sales: ${l.salesCount}`,`  Total issues: ${u}`,"",`Meeting B: ${c.title} (${new Date(c.date).toLocaleDateString()})`,`  Grammar: ${c.grammarCount} | Filler: ${c.fillerCount} | Clarity: ${c.clarityCount} | Sales: ${c.salesCount}`,`  Total issues: ${m}`,"",h!==null?h>0?`Improvement from A to B: ${h}% fewer issues`:h<0?`Regression from A to B: ${Math.abs(h)}% more issues`:"No change between meetings":""].join(`
942`).trim();navigator.clipboard.writeText(w).then(()=>{e({title:"Copied to clipboard",description:"Comparison summary copied."})})};return n.jsx("div",{className:"min-h-screen bg-background pb-24",children:n.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[n.jsxs("div",{className:"flex items-center justify-between mb-8",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Meeting Comparison"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Select two meetings to compare side by side"})]}),d&&n.jsxs(D,{variant:"outline",size:"sm",onClick:v,className:"gap-2 rounded-none",children:[n.jsx(Ko,{className:"h-4 w-4"}),"Share comparison"]})]}),o?n.jsx("div",{className:"flex items-center justify-center py-24",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):!i||i.length===0?n.jsxs("div",{className:"bg-card border border-border p-12 text-center",children:[n.jsx(I2,{className:"h-10 w-10 text-muted-foreground mx-auto mb-4"}),n.jsx("h3",{className:"font-semibold text-lg mb-2",children:"No meetings 
942yet"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Record or upload meetings to start comparing your progress."})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-8",children:[n.jsxs("div",{children:[n.jsx("label",{className:"block text-xs font-semibold uppercase tracking-wide text-muted-foreground mb-2",children:"Meeting A"}),n.jsxs(zi,{value:t,onValueChange:r,children:[n.jsx(Hs,{className:"rounded-none",children:n.jsx(Bi,{placeholder:"Select a meeting..."})}),n.jsx(Gs,{children:i.map(w=>n.jsxs(jt,{value:w.id,disabled:w.id===a,children:[w.title," —"," ",new Date(w.date).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})]},w.id))})]})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-xs font-semibold uppercase tracking-wide text-muted-foreground mb-2",children:"Meeting B"}),n.jsxs(zi,{value:a,onValueChange:s,children:[n.jsx(Hs,{className:"rounded-none",children:n.jsx(Bi,{placeholder:"Select a meeting..."})}),n.jsx(Gs,{children:i.map(w=>n.jsxs(jt,{value:w.id,disabled:w.id===t,children:[w.title," —"," ",new Date(w.date).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})]},w.id))})]})]})]}),d&&n.jsxs(n.Fragment,{children:[h!==null&&n.jsxs("div",{className:`mb-6 px-5 py-4 border flex items-center gap-3 ${h>0?"border-green-200 bg-green-50 dark:bg-green-900/20 dark:border-green-800":h<0?"border-red-200 bg-red-50 dark:bg-red-900/20 dark:border-red-800":"border-border bg-muted"}`,children:[h>
9420?n.jsx(kc,{className:"h-5 w-5 text-green-600 flex-shrink-0"}):h<0?n.jsx(it,{className:"h-5 w-5 text-red-500 flex-shrink-0"}):n.jsx(lp,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"}),n.jsx("p",{className:"text-sm font-medium",children:h>0?`You improved ${h}% from Meeting A to Meeting B — ${u-m} fewer issues.`:h<0?`Meeting B had ${Math.abs(h)}% more issues than Meeting A. Keep working on it.`:"Both meetings had the same number of issues."})]}),n.jsxs("div",{className:"bg-muted px-4 py-3 mb-6 flex flex-wrap items-center justify-between gap-2 text-sm rounded-md",children:[n.jsx("span",{className:"text-muted-foreground",children:"Category wins:"}),n.jsxs("div",{className:"flex items-center gap-3 sm:gap-6",children:[n.jsxs("span",{className:"font-semibold text-foreground",children:["Meeting A: ",n.jsx("span",{className:"text-primary",children:g})]}),n.jsxs("span",{className:"font-semibold text-foreground",children:["Meeting B: ",n.jsx("span",{className:"text-primary",children:p})]}),g===p&&n.jsx("span",{className:"text-muted-foreground text-xs",children:"Tied"})]})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-10",children:[n.jsx(pO,{meeting:{id:l.id,title:l.title,date:l.date,grammarCount:l.grammarCount,fillerCount:l.fillerCount,clarityCount:l.clarityCount,salesCount:l.salesCount,summaryData:l.summaryData},comparedTo:{grammarCount:c.grammarCount,fillerCount:c.fillerCount,clarityCount:c.clarityCount,salesCount:c.salesCount},label:"Meeting A"}),n.jsx(pO,{meeting:{id:c.id,title:c.title,date:c.date,grammarCount:c.grammarCount,fillerCount:c.fillerCount,clarityCount:c.clarityCount,salesCount:c.salesCount,summaryData:c.summaryData},comparedTo:{grammarCount:l.grammarCount,fillerCount:l.fillerCount,clarityCount:l.clarityCount,salesCount:l.salesCount},label:"Meeting B"})]})]}),x.length>=2&&n.jsxs("div",{children:[n.jsx("h2",{className:"text-lg font-semibold text-foreground mb-4",children:"Your progress over time"}),n.jsxs("div",{className:"bg-card border border-border p-6",children:[n.jsx("div",{className:"h-56",children:n.jsx(Ei,{width:"100%",height:"100%",children:n.jsxs(yc,{data:x,margin:{top:10,right:10,left:-20,bottom:0},children:[n.jsx(dv,{stroke:"hsl(var(--border))",strokeDasharray:"4 4",vertical:!1}),n.jsx(ma,{dataKey:"name",tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(ha,{tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--muted-foreground)/0.2)"},tickLine:!1}),n.jsx(Br,{contentStyle:{backgroundColor:"hsl(var(--card))",borderRadius:"0px",padding:"12px 16px",border:"1px solid hsl(var(--border))"},labelStyle:{fontWeight:"bold",marginBottom:"4px"}}),n.jsx(ya,{type:"monotone",dataKey:"filler",stroke:"#eab308",strokeWidth:2.5,dot:{r:4,fill:"#eab308"},activeDot:{r:6},name:"Filler words"}),n.jsx(ya,{type:"monotone",dataKey:"total",stroke:"hsl(var(--primary))",strokeWidth:2.5,dot:{r:4,fill:"hsl(var(--primary))"},activeDot:{r:6},name:"Total issues",strokeDasharray:"5 3"})]})})}),n.jsxs("div",{className:"flex items-center justify-center gap-6 mt-4 pt-4 border-t border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-4 h-0.5 bg-yellow-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Filler words"})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-4 h-0.5 bg-primary",style:{backgroundImage:"repeating-linear-gradient(to right, hsl(var(--primary)) 0, hsl(var(--primary)) 5px, transparent 5px, transparent 8px)"}}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Total issues"})]})]})]})]})]})]})})}function KLe(){const[e,t]=y.useState(""),[r,a]=y.useState(!1),{toast:s}=dt(),i=Qs(),{data:o,isLoading:l}=De({queryKey:["/api/settings"],retry:!1}),c=!!(o!=null&&o.slackWebhookUrl),d=(o==null?void 0:o.slackNotifications)??{weekly_digest:!0,analysis_complete:!0},u=Ve({mutationFn:async g=>(await ct("/api/settings/slack-webhook","POST",{webhookUrl:g})).json(),onSuccess:()=>{i.invalidateQueries({queryKey:["/api/settings"]}),t(""),s({title:"Slack connected",description:"Your Slack workspace is now connected."})},onError:g=>{s({title:"Failed to save",description:g.message||"Could not save the webhook URL.",variant:"destructive"})}}),m=Ve({mutationFn:async()=>(await ct("/api/settings/test-slack","POST",{})).json(),onSuccess:()=>{s({title:"Test message sent",description:"Check your Slack channel."})},onError:g=>{s({title:"Test failed",description:g.message||"Could not send test message. Check your webhook URL.",variant:"destructive"})}}),h=Ve({mutationFn:async()=>(await ct("/api/settings/slack-webhook","POST",{webhookUrl:null})).json(),onSuccess:()=>{i.invalidateQueries({queryKey:["/api/settings"]}),s({title:"Slack disconnected"})},onError:g=>{s({title:"Error",description:g.message||"Could not disconnect.",variant:"destructive"})}}),f=Ve({mutationFn:async g=>(await ct("/api/settings/slack-notifications","POST",g)).json(),onSuccess:()=>{i.invalidateQueries({queryKey:["/api/settings"]})},onError:g=>{s({title:"Could not update notification setting",description:g.message,variant:"destructive"})}}),b=g=>{const p={...d,[g]:!d[g]};f.mutate(p)};return l?n.jsxs(X,{className:"p-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[n.jsx(h4,{className:"h-5 w-5 text-[#4A154B]"}),n.jsx("h3",{className:"font-semibold text-base",children:"Slack Integration"})]}),n.jsxs("div",{className:"flex items-center gap-2 mt-4 text-muted-foreground text-sm",children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin"}),"Loading settings..."]})]}):n.jsxs(X,{className:"p-6",children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"h-9 w-9 rounded-lg bg-[#4A154B] flex items-center justify-center",children:n.jsx(h4,{className:"h-5 w-5 text-white"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold text-base",children:"Slack Integration"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Receive meeting analyses in Slack"})]})]}),c&&n.jsxs(ve,{className:"bg-green-100 text-green-700 dark:bg-green-950/50 dark:text-green-400 border-0",children:[n.jsx(nr,{className:"h-3 w-3 mr-1"}),"Connected"]})]}),c?n.jsxs("div",{className:"space-y-5",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Notifications enabled"}),n.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-muted/40",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(nr,{className:"h-4 w-4 text-green-500"}),n.jsx("span",{className:"text-sm",children:"Weekly digest"})]}),n.jsx(Vo,{checked:d.weekly_digest,onCheckedChange:()=>b("weekly_digest"),disabled:f.isPending})]}),n.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-muted/40",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(nr,{className:"h-4 w-4 text-green-500"}),n.jsx("span",{className:"text-sm",children:"Analysis complete"})]}),n.jsx(Vo,{checked:d.analysis_complete,onCheckedChange:()=>b("analysis_complete"),disabled:f.isPending})]})]}),n.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>m.mutate(),disabled:m.isPending,className:"flex items-center gap-2",children:[m.isPending?n.jsx(Ce,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(ls,{className:"h-3.5 w-3.5"}),"Send test message"]}),n.jsxs(D,{variant:"ghost",size:"sm",onClick:()=>h.mutate(),disabled:h.isPending,className:"flex items-center gap-2 text-muted-foreground hover:text-destructive",children:[h.isPending?n.jsx(Ce,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(Gte,{className:"h-3.5 w-3.5"}),"Disconnect"]})]})]}):n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{className:"text-sm text-muted-foreground",children:"Get your meeting analyses delivered to Slack automatically — weekly digests and instant analysis-complete notifications."}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(zt,{htmlFor:"slack-webhook",children:"Slack Webhook URL"}),n.jsx(Et,{id:"slack-webhook",type:"url",placeholder:"https://hooks.slack.com/services/...",value:e,onCh
942ange:g=>t(g.target.value),"data-testid":"input-slack-webhook"})]}),n.jsxs(Ns,{open:r,onOpenChange:a,children:[n.jsx(ks,{asChild:!0,children:n.jsxs("button",{className:"flex items-center gap-1.5 text-xs text-primary hover:underline focus:outline-none",children:["How to get a webhook URL",n.jsx(Jt,{className:`h-3.5 w-3.5 transition-transform ${r?"rotate-180":""}`})]})}),n.jsx(Ss,{className:"mt-3",children:n.jsxs("ol",{className:"space-y-2 text-sm text-muted-foreground list-decimal list-inside",children:[n.jsxs("li",{children:["Go to"," ",n.jsx("a",{href:"https://api.slack.com/apps",target:"_blank",rel:"noreferrer",className:"text-primary hover:underline",children:"api.slack.com/apps"})," ","and click ",n.jsx("strong",{children:"Create New App"})," → ",n.jsx("em",{children:"From scratch"}),"."]}),n.jsxs("li",{children:["Under ",n.jsx("strong",{children:"Features"}),", click ",n.jsx("strong",{children:"Incoming Webhooks"}),", toggle it on, then click ",n.jsx("strong",{children:"Add New Webhook to Workspace"}),"."]}),n.jsxs("li",{children:["Pick the channel where you want messages to appear, click ",n.jsx("strong",{children:"Allow"}),", and copy the Webhook URL that appears."]})]})})]}),n.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[n.jsx(D,{size:"sm",onClick:()=>u.mutate(e),disabled:u.isPending||!e.trim().startsWith("https://hooks.slack.com/"),"data-testid":"button-save-slack",children:u.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}),"Saving..."]}):"Save & Connect"}),e&&!e.startsWith("https://hooks.slack.com/")&&n.jsxs("span",{className:"flex items-center gap-1 text-xs text-amber-600",children:[n.jsx(Vs,{className:"h-3.5 w-3.5"}),"URL must start with https://hooks.slack.com/"]})]})]})]})}function Gm({title:e,children:t}){return n.jsxs("section",{children:[n.jsx("h2",{className:"text-base font-semibold mb-3 text-foreground",children:e}),t]})}function YLe(){const{toast:e}=dt(),t=Qs(),{data:r}=De({queryKey:["/api/settings"],retry:!1}),a=Ve({mutationFn:async c=>(await ct("/api/settings/digest","POST",c)).json(),onSuccess:()=>{t.invalidateQueries({queryKey:["/api/settings"]})},onError:c=>{e({title:"Error",description:c.message,variant:"destructive"})}}),s=(r==null?void 0:r.emailDigestEnabled)??!0,i=(r==null?void 0:r.emailInstantEnabled)??!0,o=(r==null?void 0:r.emailTipsEnabled)??!0,l=(c,d)=>{a.mutate({[c]:!d})};return n.jsxs(X,{className:"p-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[n.jsx("div",{className:"h-9 w-9 rounded-lg bg-purple-100 dark:bg-purple-950/40 flex items-center justify-center",children:n.jsx(Ht,{className:"h-5 w-5 text-purple-600 dark:text-purple-400"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold text-base",children:"Email Digest Settings"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Control what SpeakFlare sends to your inbox"})]})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(zt,{className:"text-sm font-medium",children:"Weekly digest"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Every Sunday — your week in review"})]}),n.jsx(Vo,{checked:s,onCheckedChange:()=>l("emailDigestEnabled",s),disabled:a.isPending,"data-testid":"toggle-weekly-digest"})]}),n.jsx("div",{className:"border-t border-border/50"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(zt,{className:"text-sm font-medium",children:"Analysis complete email"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Instant email when your meeting analysis finishes"})]}),n.jsx(Vo,{checked:i,onCheckedChange:()=>l("emailInstantEnabled",i),disabled:a.isPending,"data-testid":"toggle-instant-email"})]}),n.jsx("div",{className:"border-t border-border/50"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(zt,{className:"text-sm font-medium",children:"Include improvement tips"}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Add personalized coaching tips to digest emails"})]}),n.jsx(Vo,{checked:o,onCheckedChange:()=>l("emailTipsEnabled",o),disabled:a.isPending,"data-testid":"toggle-email-tips"})]})]})]})}function ZLe(){const{toast:e}=dt(),[t,r]=y.useState(!1),a=Ve({mutationFn:async()=>(await ct("/api/waitlist","POST",{feature:"calendar_integration"})).json(),onSuccess:()=>{r(!0),e({title:"You're on the list!",description:"We'll notify you when Calendar integration launches."})},onError:()=>{r(!0),e({title:"You're on the list!"})}});return n.jsxs(X,{className:"p-6 opacity-80",children:[n.jsx("div",{className:"flex items-start justify-between mb-3",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"h-9 w-9 rounded-lg bg-green-100 dark:bg-green-950/40 flex items-center justify-center",children:n.jsx(ys,{className:"h-5 w-5 text-green-600 dark:text-green-400"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("h3",{className:"font-semibold text-base",children:"Google Calendar"}),n.jsxs(ve,{variant:"outline",className:"text-[10px] text-muted-foreground",children:[n.jsx(vn,{className:"h-2.5 w-2.5 mr-1"}),"Coming Soon"]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Auto-detect when you have meetings and start analysis"})]})]})}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Connect Google Calendar to automatically detect upcoming meetings. SpeakFlare will be ready to capture and analyze as soon as your call starts."}),n.jsx(D,{variant:"outline",size:"sm",onClick:()=>a.mutate(),disabled:t||a.isPending,"data-testid":"button-calendar-waitlist",children:t?n.jsxs(n.Fragment,{children:[n.jsx(ut,{className:"h-4 w-4 mr-2 text-green-500"}),"On the waitlist"]}):a.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}),"Joining..."]}):"Join Waitlist"})]})}function QLe(){const{toast:e}=dt(),[t,r]=y.useState(!1),a=Ve({mutationFn:async()=>(await ct("/api/waitlist","POST",{feature:"zapier_integration"})).json(),onSuccess:()=>{r(!0),e({title:"You're on the list!",description:"We'll notify you when Zapier integration launches."})},onError:()=>{r(!0),e({title:"You're on the list!"})}}),s=["When analysis completes → Add row to Google Sheets","When analysis completes → Create Notion page","New filler word count → Log to Airtable","Weekly digest ready → Send to Telegram"];return n.jsxs(X,{className:"p-6 opacity-80",children:[n.jsx("div",{className:"flex items-start justify-between mb-3",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"h-9 w-9 rounded-lg bg-orange-100 dar
942k:bg-orange-950/40 flex items-center justify-center",children:n.jsx(Ur,{className:"h-5 w-5 text-orange-500"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("h3",{className:"font-semibold text-base",children:"Zapier"}),n.jsxs(ve,{variant:"outline",className:"text-[10px] text-muted-foreground",children:[n.jsx(vn,{className:"h-2.5 w-2.5 mr-1"}),"Coming Soon"]})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Connect SpeakFlare to 5,000+ apps"})]})]})}),n.jsx("ul",{className:"space-y-1.5 mb-4",children:s.map((i,o)=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Xs,{className:"h-3.5 w-3.5 text-orange-400 flex-shrink-0"}),i]},o))}),n.jsx(D,{variant:"outline",size:"sm",onClick:()=>a.mutate(),disabled:t||a.isPending,"data-testid":"button-zapier-waitlist",children:t?n.jsxs(n.Fragment,{children:[n.jsx(ut,{className:"h-4 w-4 mr-2 text-green-500"}),"On the waitlist"]}):a.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}),"Joining..."]}):"Join Waitlist"})]})}function XLe(){const{user:e}=Gt(),{toast:t}=dt(),r=Qs(),[a,s]=y.useState(!1),i=(e==null?void 0:e.plan)==="pro"||(e==null?void 0:e.plan)==="Pro",{data:o,isLoading:l}=De({queryKey:["/api/user/api-key"],enabled:i,retry:!1}),c=Ve({mutationFn:async()=>(await ct("/api/user/api-key/regenerate","POST",{})).json(),onSuccess:()=>{r.invalidateQueries({queryKey:["/api/user/api-key"]}),t({title:"API key regenerated",description:"Your old key has been revoked."})},onError:u=>{t({title:"Error",description:u.message,variant:"destructive"})}}),d=()=>{o!=null&&o.apiKey&&navigator.clipboard.writeText(o.apiKey).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})};return n.jsxs(X,{className:"p-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"h-9 w-9 rounded-lg bg-slate-100 dark:bg-slate-800 flex items-center justify-center",children:n.jsx(Tte,{className:"h-5 w-5 text-slate-600 dark:text-slate-400"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("h3",{className:"font-semibold text-base",children:"API Access"}),n.jsx(ve,{className:"text-[10px] bg-purple-100 text-purple-700 dark:bg-purple-950/50 dark:text-purple-400 border-0",children:"Pro"})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Integrate SpeakFlare into your own tools"})]})]}),i?l?n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Ce,{className:"h-4 w-4 animate-spin"}),"Loading API key..."]}):n.jsxs("div",{className:"space-y-3",children:[n.jsx(zt,{className:"text-sm",children:"Your API Key"}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Et,{readOnly:!0,type:"password",value:(o==null?void 0:o.apiKey)||"sk_live_••••••••••••••••••",className:"font-mono text-sm","data-testid":"input-api-key"}),n.jsx(D,{variant:"outline",size:"icon",onClick:d,disabled:!(o!=null&&o.apiKey),"data-testid":"button-copy-api-key",children:a?n.jsx(ut,{className:"h-4 w-4 text-green-500"}):n.jsx(Xu,{className:"h-4 w-4"})})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(D,{variant:"ghost",size:"sm",onClick:()=>c.mutate(),disabled:c.isPending,className:"text-muted-foreground text-xs","data-testid":"button-regenerate-key",children:c.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"h-3.5 w-3.5 animate-spin mr-1.5"}),"Regenerating..."]}):n.jsxs(n.Fragment,{children:[n.jsx(_n,{className:"h-3.5 w-3.5 mr-1.5"}),"Regenerate key"]})}),n.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Regenerating revokes your current key immediately."})]})]}):n.jsxs("div",{className:"text-center py-4",children:[n.jsx(op,{className:"h-8 w-8 text-muted-foreground mx-auto mb-3"}),n.jsx("p",{className:"text-sm font-medium mb-1",children:"API access is a Pro feature"}),n.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"Upgrade to Pro to integrate SpeakFlare into your own workflows and tools."}),n.jsx(Fe,{href:"/pricing",children:n.jsx(D,{size:"sm","data-testid":"button-upgrade-api",children:"Upgrade to Pro"})})]})]})}function gO(){return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"max-w-2xl mx-auto px-4 py-8 space-y-8",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm mb-1",children:[n.jsx(Xv,{className:"h-4 w-4"}),n.jsx("span",{children:"Settings"})]}),n.jsx("h1",{className:"text-2xl font-bold",children:"Integrations & Notifications"}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:"Connect SpeakFlare to the tools you already use."})]}),n.jsx(Gm,{title:"Slack",children:n.jsx(KLe,{})}),n.jsx(Gm,{title:"Email Notifications",children:n.jsx(YLe,{})}),n.jsx(Gm,{title:"Calendar Integration",children:n.jsx(ZLe,{})}),n.jsx(Gm,{title:"Zapier",children:n.jsx(QLe,{})}),n.jsx(Gm,{title:"API Access",children:n.jsx(XLe,{})})]})})}const JLe=[{id:"sales_calls",label:"Sales calls",icon:n.jsx(Hv,{className:"h-5 w-5"})},{id:"job_interviews",label:"Job interviews",icon:n.jsx(rr,{className:"h-5 w-5"})},{id:"public_speaking",label:"Public speaking",icon:n.jsx(Ze,{className:"h-5 w-5"})},{id:"team_meetings",label:"Team meetings",icon:n.jsx(Wt,{className:"h-5 w-5"})},{id:"personal_improvement",label:"Personal improvement",icon:n.jsx(em,{className:"h-5 w-5"})}],eze=[{label:"2 weeks",days:14},{label:"1 month",days:30},{label:"2 months",days:60},{label:"3 months",days:90}];function tze({firstName:e,onNext:t}){return n.jsxs("div",{className:"flex flex-col items-center text-center gap-8 animate-in fade-in slide-in-from-bottom-4 duration-500",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsxs("h1",{className:"text-4xl font-bold text-gray-900 leading-tight",children:["Hi ",e,"!",n.jsx("br",{}),n.jsx("span",{className:"text-primary",children:"Let's set you up for success."})]}),n.jsx("p",{className:"text-lg text-gray-500 max-w-md",children:"SpeakFlare analyzes every word you say so you can communicate with more clarity and confidence."})]}),n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 w-full max-w-2xl",children:[{icon:n.jsx(Ze,{className:"h-8 w-8 text-primary"}),title:"Record",desc:"Capture any meeting or call directly in your browser"},{icon:n.jsx(I2,{className:"h-8 w-8 text-primary"}),title:"Analyze",desc:"AI scores filler words, grammar, clarity, and more"},{icon:n.jsx(it,{className:"h-8 w-8 text-primary"}),title:"Improve",desc:"Track your progress and hit custom communication goals"}].map((r,a)=>n.jsxs("div",{className:"flex flex-col items-center gap-3 p-6 rounded-2xl border border-gray-100 bg-white shadow-sm hover:shadow-md transition-shadow",style:{animationDelay:`${a*80}ms`},children:[n.jsx("div",{className:"w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center",children:r.icon}),n.jsx("p",{className:"font-bold text-gray-900 text-lg",children:r.title}),n.jsx("p",{className:"text-sm text-gray-500 leading-relaxed",children:r.desc})]},a))}),n.jsxs(D,{size:"lg",className:"rounded-full px-10 text-base font-semibold h-12 gap-2",onClick:t,"data-testid":"onboarding-get-started",children:["Get Started",n.jsx(At,{className:"h-4 w-4"})]})]})}function rze({selected:e,onToggle:t,onNext:r}){return n.jsxs("div",{className:"flex flex-col items-center gap-8 animate-in fade-in slide-in-from-bottom-4 duration-500",children:[n.jsxs("div",{className:"text-center space-y-2",children:[n.jsx("h2",{className:"text-3xl font-bold text-gray-900",children:"What brings you here?"}),n.jsx("p",{className:"text-gray-500",children:"Pick everything that applies — you can change this later."})]}),n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 w-full max-w-lg",children:JLe.map(a=>{const s=e.includes(a.id);return n.jsxs("button",{onClick:()=>t(a.id),className:`flex items-center gap-4 px-5 py-4 rounded-xl border-2 text-left transition-all font-medium ${s?"border-primary bg-primary/5 text-primary shadow-sm":"border-gray-200 bg-white text-gray-700 hover:border-gray-300 hover:bg-gray-50"}`,"data-testid":`usecase-${a.id}`,children:[n.jsx("span",{className:`w-10 h-10 rounded-lg flex items-center justify-center flex-shrink-0 transition-colors ${s?"bg-primary text-white":"bg-gray-100 text-gray-500"}`,children:a.icon}),n.jsx("span",{children:a.label}),s&&n.jsx(gn,{className:"h-4 w-4 text-primary ml-auto flex-shrink-0"})]},a.id)})}),n.jsxs(D,{size:"lg",className:"rounded-full px-10 text-base font-semibold h-12 gap-2",disabled:e.length===0,onClick:r,"data-testid":"onboarding-usecase-continue",children:["Continue",n.jsx(Xs,{className:"h-4 w-4"})]})]})}function nze({onSet:e,onSkip:t}){const[r,a]=y.useState(15),[s,i]=y.useState(30);return n.jsxs("div",{className:"flex flex-col items-center gap-8 animate-in fade-in slide-in-from-bottom-4 duration-500 w-full max-w-lg",children:[n.jsxs("div",{className:"text-center space-y-2",children:[n.jsx("h2",{className:"text-3xl font-bold text-gray-900",children:"Set your first goal"}),n.jsx("p",{className:"text-gray-500",children:"We've pre-selected a great starter goal. Adjust or skip — up to you."})]}),n.jsxs("div",{className:"w-full rounded-2xl border-2 border-primary/30 bg-primary/5 p-6 space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-yellow-100 flex items-center justify-center text-yellow-600",children:n.jsx(Ze,{className:"h-5 w-5"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-bold text-gray-900",children:"Filler Words"}),n.jsx("p",{className:"text-xs text-gray-500",children:'Reduce "um", "like", "you know"…'})]})]}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Target per meeting"}),n.jsxs("span",{className:"font-bold text-primary text-lg",children:["Under ",r]})]}),n.jsx(j0,{min:1,max:50,step:1,value:[r],onValueChange:([o])=>a(o),className:"w-full","data-testid":"onboarding-goal-slider"}),n.jsxs("div",{className:"flex justify-between text-xs text-gray-400",children:[n.jsx("span",{children:"1"}),n.jsx("span",{children:"50"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx("p",{className:"text-sm font-medium text-gray-700",children:"Achieve this in:"}),n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2",children:eze.map(o=>n.jsx("button",{onClick:()=>i(o.days),className:`py-2 rounded-lg text-sm font-medium transition-all border-2 ${s===o.days?"border-primary bg-primary text-white":"border-gray-200 bg-white text-gray-600 hover:border-gray-300"}`,children:o.label},o.days))})]})]}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full",children:[n.jsx(D,{variant:"outline",className:"rounded-full flex-1 h-12",onClick:t,"data-testid":"onboarding-goal-skip",children:"Skip for now"}),n.jsxs(D,{size:"lg",className:"rounded-full flex-1 h-12 font-semibold gap-2",onClick:()=>e(r,s),"data-testid":"onboarding-goal-set",children:["Set Goal",n.jsx(rr,{className:"h-4 w-4"})]})]})]})}function aze(){const[,e]=ze(),t=["bg-primary","bg-yellow-400","bg-green-400","bg-pink-400","bg-blue-400","bg-purple-400"],r=Array.from({length:30}).map((a,s)=>({color:t[s%t.length],left:`${Math.random()*100}%`,delay:`${Math.random()*1.2}s`,size:Math.random()>.5?"w-2 h-2":"w-3 h-1"}));return n.jsxs("div",{className:"relative flex flex-col items-center text-center gap-8 animate-in fade-in slide-in-from-bottom-4 duration-500 overflow-hidden",children:[n.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-40 overflow-hidden",children:r.map((a,s)=>n.jsx("div",{className:`absolute top-0 ${a.color} ${a.size} rounded-sm opacity-0 animate-bounce`,style:{left:a.left,animationDelay:a.delay,animationDuration:"1.4s",animationIterationCount:"3",opacity:1}}
942,s))}),n.jsxs("div",{className:"space-y-3",children:[n.jsx("div",{className:"text-6xl mb-2",children:n.jsx(oc,{className:"h-16 w-16 text-primary mx-auto"})}),n.jsx("h2",{className:"text-4xl font-bold text-gray-900",children:"You're all set!"}),n.jsx("p",{className:"text-lg text-gray-500 max-w-sm",children:"Your first 3 meetings are analyzed free — no credit card needed."})]}),n.jsxs("div",{className:"w-full max-w-xs space-y-2",children:[n.jsxs("div",{className:"flex justify-between text-sm",children:[n.jsx("span",{className:"font-medium text-gray-700",children:"Free analyses remaining"}),n.jsx("span",{className:"font-bold text-primary",children:"3 of 3"})]}),n.jsx("div",{className:"flex gap-1.5 h-3",children:[0,1,2].map(a=>n.jsx("div",{className:"flex-1 rounded-full bg-primary/20 overflow-hidden",children:n.jsx("div",{className:"h-full w-full bg-primary rounded-full transition-all"})},a))}),n.jsx("p",{className:"text-xs text-gray-400 text-center",children:"3 free · unlimited with Pro"})]}),n.jsx("div",{className:"flex flex-col sm:flex-row gap-3 w-full max-w-sm",children:n.jsxs(D,{size:"lg",className:"rounded-full flex-1 h-12 font-semibold gap-2",onClick:()=>{localStorage.setItem("sf_onboarded","true"),e("/")},"data-testid":"onboarding-record-first",children:["Record my first meeting",n.jsx(Ze,{className:"h-4 w-4"})]})}),n.jsx("button",{className:"text-sm text-gray-400 hover:text-gray-600 transition-colors underline-offset-2 hover:underline",onClick:()=>{localStorage.setItem("sf_onboarded","true"),e("/dashboard")},"data-testid":"onboarding-explore",children:"Explore the app first"})]})}function xO(){const[,e]=ze(),[t,r]=y.useState(1),[a,s]=y.useState("there"),[i,o]=y.useState([]),{toast:l}=dt(),c=Qs();y.useEffect(()=>{localStorage.getItem("sf_onboarded")==="true"&&e("/")},[e]),y.useEffect(()=>{const p=c.getQueryData(["/api/auth/user"]);p!=null&&p.firstName&&s(p.firstName)},[c]);const d=p=>{o(x=>x.includes(p)?x.filter(v=>v!==p):[...x,p])},u=Ve({mutationFn:async({targetValue:p,deadlineDays:x})=>{const v=new Date;v.setDate(v.getDate()+x);const w=await fetch("/api/goals",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({type:"filler_words",targetValue:p,deadline:v.toISOString()})});if(!w.ok)throw new Error("Failed to create goal");return w.json()},onSuccess:()=>{localStorage.setItem("sf_goal_set","true"),c.invalidateQueries({queryKey:["/api/goals"]}),l({title:"Goal created! Time to crush it."}),r(4)},onError:()=>{l({title:"Could not save goal.",variant:"destructive"}),r(4)}}),m=()=>{localStorage.setItem("sf_use_case",JSON.stringify(i)),r(3)},h=(p,x)=>{u.mutate({targetValue:p,deadlineDays:x})},f=()=>{r(4)},b=4,g=(t-1)/(b-1)*100;return n.jsxs("div",{className:"min-h-screen bg-gray-50 flex flex-col",children:[n.jsxs("header",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-100 bg-white",children:[n.jsxs(Fe,{href:"/",className:"flex items-center gap-2",children:[n.jsx(am,{size:32}),n.jsxs("span",{className:"text-xl font-bold",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),"Flare"]})]}),t<4&&n.jsx("button",{className:"text-sm text-gray-400 hover:text-gray-600 transition-colors",onClick:()=>{localStorage.setItem("sf_onboarded","true"),e("/")},"data-testid":"onboarding-skip-all",children:"Skip setup"})]}),t<4&&n.jsxs("div",{className:"w-full px-6 pt-4",children:[n.jsx($p,{value:g,className:"h-1.5 max-w-2xl mx-auto"}),n.jsxs("p",{className:"text-xs text-center text-gray-400 mt-1",children:["Step ",t," of ",b-1]})]}),n.jsx("main",{className:"flex-1 flex items-center justify-center px-4 py-10",children:n.jsxs("div",{className:"w-full max-w-2xl",children:[t===1&&n.jsx(tze,{firstName:a,onNext:()=>r(2)}),t===2&&n.jsx(rze,{selected:i,onToggle:d,onNext:m}),t===3&&n.jsx(nze,{onSet:h,onSkip:f}),t===4&&n.jsx(aze,{})]})})]})}const yO=[{number:"01",icon:vn,title:"Slow down — most people speak too fast when nervous",content:["When anxiety spikes, speech rate spikes with it. The body interprets the situation as a threat and pushes you into an accelerated, compressed communication style. Words tumble out faster than thoughts can organize them — and the result is a speaker who sounds rushed, unpolished, and hard to follow.","Research from Stanford's Human Communication Lab found that speakers who deliberately reduced their pace by 15–20% under pressure were rated as significantly more competent, credible, and authoritative by listeners — even when the content was identical. Slow speech isn't sluggish speech. It's controlled speech. And control reads as confidence.","The target is 120–140 words per minute for high-stakes communication. Record yourself in a practice run and time one minute. If you're over 160 WPM, you're leaving confidence on the table."],exercise:{label:"Practical exercise",text:"Before your next important call or presentation, read two paragraphs of text out loud at what feels like an uncomfortably slow pace. That pace is probably exactly right. Film yourself once at normal speed and once slow — compare how each version sounds and looks."}}
942,{number:"02",icon:Jv,title:"Lower your voice register — avoid uptalk",content:[`Uptalk is the habit of ending declarative sentences with a rising intonation — the same pitch pattern used in questions. "We launched the product in March?" instead of "We launched the product in March." It's pervasive in modern speech, particularly among younger professionals, and it systematically undermines perceived confidence.`,"A rising tone at the end of a statement signals social uncertainty — you're implicitly asking the listener to validate your claim. In contrast, a falling tone on declarative sentences signals conviction. You're not asking whether the statement is acceptable; you're stating a fact. This is the tonal signature of authority.","Lower your register also means speaking from your chest rather than your throat. Chest voice carries more resonance and projects better in rooms and on calls. Throat voice thins out under stress and often rises in pitch when you're nervous. Deliberately drop your chin slightly, breathe from your diaphragm, and let the sound resonate before it exits."],exercise:{label:"Practical exercise",text:"Record five statements about your work in audio. Listen back and mark every sentence that rises in pitch at the end. Re-record those sentences with a deliberate downward inflection at the final word. The physical act of ending on a lower note requires you to breathe properly and control the pace."}},{number:"03",icon:Ur,title:"Eliminate filler words — they signal cognitive uncertainty",content:["Every 'um,' 'uh,' 'like,' or 'you know' in a high-stakes conversation is a small signal to the listener that you are not fully in control of your material. Individually, they are minor. At high frequency — above 3% of total words — they become the dominant impression your speech leaves behind.","The mechanism is straightforward: filler words are cognitive placeholders. They tell the listener your brain hasn't yet composed the next sentence. This is normal in casual conversation. In professional contexts, it reads as under-preparation. The fix is not to think faster — it's to replace the filler with silence (technique 4) or to slow down (technique 1) enough that your thoughts stay ahead of your mouth.","Use a filler word counter to get your actual baseline — most people dramatically underestimate their filler frequency. SpeakFlare's free filler counter tool lets you paste any transcript and see the exact breakdown. Once you know your number, you can track it down."],exercise:{label:"Practical exercise",text:"Paste the transcript from your last meeting or a 2-minute voice memo into the free Filler Word Counter at speakflare.com/tools/filler-word-counter. Note your percentage. Anything above 3% is a priority target."}},{number:"04",icon:qv,title:"Use strategic pauses — silence is a power tool",content:["The most confident speakers in any room share one conspicuous habit: they pause. After a key point. Before a complex answer. Between sections of an argument. These pauses feel to the speaker like dangerous dead air. To the listener, they register as composure, weight, and significance.","Silence says: I'm not scrambling. I'm choosing. There's a neurological reason this works — the brain interprets pauses as prosodic emphasis. Whatever statement comes just before or just after a deliberate pause is automatically flagged as important. You can use this to sculpt attention without changing a single word.","A 2-second pause is sufficient. It feels like 10 seconds from the inside. Practice extending your pause tolerance by replacing every filler word with a closed-mouth beat of silence — not a breath, but a full stop. After two weeks, the discomfort diminishes and the pause becomes your natural default."],exercise:{label:"Practical exercise",text:"In your next meeting, identify the one most important point you want to land. Deliver it. Then pause for a full two seconds before moving on. Do not fill the silence. Notice how the room responds differently to that point than to everything around it."}},{number:"05",icon:Js,title:"Make eye contact — or camera contact on video calls",content:["Eye contact is one of the most primal signals of confidence in human communication. Direct, steady eye contact activates trust circuits in the observer's brain — it is processed as evidence of conviction, honesty, and authority. Avoidance of eye contact does the opposite, triggering mild threat-detection responses that make listeners subtly less receptive to your message.","In person: maintain eye contact for 3–5 seconds at a time, shifting naturally between listeners in a group. On video calls, the most common mistake is watching the other person's face on screen instead of looking into the camera lens. When you look at the screen, you appear to the remote viewer to be looking slightly downward or away. Looking directly into the camera creates the eye-contact illusion from their side.","Put a small sticker or a sticky note with a drawn eye directly below your camera lens. This gives your gaze a natural focus point and trains you to look into the lens rather than the screen during critical moments — when making a point, giving a recommendation, or responding to a challenge."],exercise:{label:"Practical exercise",text:"In your next video call, place a small physical marker below your camera. During the 3–4 moments where you're making your key argument, shift your gaze from the screen to the marker for 3 seconds. Practice this deliberately until it becomes a natural habit."}},{number:"06",icon:Ua,title:"Prepare, don't memorize — structure beats scripts",content:["Over-preparation is a real phenomenon. When you memorize a speech word for word, you create a single fragile path through the material. The moment you deviate — a question interrupts, you lose your place, someone challenges a claim — the whole structure collapses and takes your confidence with it.","The alternative is structural preparation: know y
942our three to five key points cold. Know the evidence behind each. Know your opening line. Know your closing statement. Leave the exact wording free to emerge naturally in the moment. This creates a resilient framework instead of a brittle script.","Structured preparation also allows you to adapt your language to the room. In a technical audience, you can go deeper. In a general audience, you can simplify. In an adversarial setting, you can be more precise. A memorized script can't do any of this — it's locked. A prepared structure bends without breaking."],exercise:{label:"Practical exercise",text:"For your next high-stakes presentation, create a one-page outline with only: 3 main points, 2 supporting facts per point, 1 opening line, and 1 closing line. Practice delivering it without notes — differently each time. The fifth version will sound better than any memorized version could."}},{number:"07",icon:Ze,title:"Record yourself — feedback loops accelerate improvement",content:["Recording is the single highest-leverage technique on this list, because it closes the gap between how you think you sound and how you actually sound. Most people have never done this seriously. Most people are surprised — often uncomfortably — by what they hear.","That discomfort is productive. Once you can hear your pace, your fillers, your uptalk, and your pauses as an observer rather than a participant, the patterns become modifiable. You stop defending habits you didn't know you had. Self-listening is how professional speakers refine over years — and it's available to anyone with a smartphone.","SpeakFlare automates this process: it records, transcribes, and analyzes your meetings and calls automatically, tracking your filler word rate, speaking pace, and confidence signals session by session. Instead of manually reviewing recordings, you get a dashboard showing exactly where you've improved and what to work on next."],exercise:{label:"Practical exercise",text:"Record a 3-minute answer to 'Walk me through your biggest professional accomplishment' using your phone's voice memo. Listen back and note: your WPM (count the words), filler percentage, and any uptalk. Log the numbers. That's your baseline. Do the same drill weekly for 4 weeks."}},{number:"08",icon:Pr,title:"Power poses before important calls",content:["Amy Cuddy's research on power posing is more nuanced than the pop-science version, but the core finding — that expansive, upright body posture before high-stakes events measurably affects self-reported confidence and performance — has held up in subsequent replications focused on behavioral outcomes.","The mechanism is bidirectional: posture affects mood as reliably as mood affects posture. Two minutes of standing upright, shoulders back, arms open or hands on hips before an important call shifts your internal state before a word is spoken. The limbic system responds to postural cues. Your vocal tone, pace, and word choice all follow.","This is not about looking powerful in the meeting — it's a private preparation ritual. Spend two minutes alone before a high-stakes call: stand up, take up space, breathe deeply, remind yourself of your best professional moment. Then sit down and start. The physiological shift carries into the first five minutes of conversation, which is when first impressions form."],exercise:{label:"Practical exercise",text:"Before your next job interview, pitch, or difficult client call: stand alone for 90 seconds in a wide stance, hands on hips, shoulders back, chin level. Breathe slowly. You can do this in a bathroom, stairwell, or outside. Note whether your first few minutes of speech feel different from usual."}},{number:"09",icon:rr,title:"Build a confident vocabulary — replace weak words",content:["Language shapes perception — both the listener's and your own. Certain words signal uncertainty and invite pushback. Others signal conviction and close down equivocation. Professional communicators learn to audit their vocabulary under pressure, replacing habitual hedges with assertive alternatives.",`Common weak words and their replacements: "I think" → "I believe" or just state the position directly. "Maybe we could" → "I recommend." "Kind of" and "sort of" → eliminate entirely or replace with the actual degree. "Hopefully" → "The plan is to." "I just wanted to" → "I'm calling to." "Does that make sense?" → "What questions do you have?" Each substitution is small. The cumulative effect is significant.`,"The weak vocabulary habit runs deepest under pressure — exactly when it matters most. Build a personal list of your 5 most-used hedge words by reviewing your own recordings. Then write the confident substitute next to each. Read it before high-stakes conversations until the replacements become automatic."],exercise:{label:"Practical exercise",text:"Transcribe 5 minutes of your own speech from a recent meeting. Highlight every hedge: 'I think,' 'kind of,' 'maybe,' 'hopefully,' 'just.' Count them. Write one confident substitute for each. For the next week, catch yourself before each hedge and replace it in real time."}},{number:"10",icon:it,title:"Track your improvement over time — data builds confidence",content:["Confidence is not purely psychological — it's also historical. It builds from a record of observed improvement. When you can look at a chart showing your filler rate dropping from 5.2% to 2.1% over 8 weeks, your confidence in your ability to keep improving becomes data-backed rather than aspirational.","Most people try to improve c
942ommunication skills in a vacuum — no data, no baseline, no feedback loop. Progress is invisible, which makes it easy to believe progress isn't happening. Tracking converts invisible improvement into visible progress, and visible progress is the foundation of durable confidence.","SpeakFlare was built specifically for this: automatic session-by-session tracking of filler rate, pace, clarity, and confidence signals across all your meetings and calls. Every week, you can see exactly where you've moved. Try a free 30-second demo — no sign-up. When you're ready, $5 unlocks 20 full recording analyses, with credits that never expire."],exercise:{label:"Practical exercise",text:"Open a spreadsheet. Add columns: Date, Filler %, WPM, Uptalk instances, Confident vocabulary score (1-5 subjective). Fill it in after your next three speaking sessions using whatever data you can gather. If you use SpeakFlare, these metrics populate automatically."}}],vO=[{question:"How long does it take to speak more confidently?",answer:"Most people notice measurable changes within 2–3 weeks of deliberate practice. Significant improvement — where the new habits feel natural rather than forced — typically takes 6–8 weeks. The key is combining technique practice with objective feedback from recordings or tools like SpeakFlare."},{question:"Can introverts become confident speakers?",answer:"Yes, and they often become excellent ones. Introversion is a preference for internal processing, not a communication deficiency. Many of the traits associated with introversion — thoughtful word choice, listening carefully, deliberate pacing — are assets in professional communication. The techniques in this guide work equally well regardless of personality type."},{question:"What's the single most impactful thing I can do right now?",answer:"Record yourself. Spend 3 minutes answering a question out loud on your phone's voice memo app, then listen back. The gap between how you think you sound and how you actually sound is where all the improvement lives. Everything else on this list flows from that self-awareness."},{question:"How does speaking pace affect perceived confidence?",answer:"Significantly. Research consistently shows that speakers in the 120–145 WPM range are perceived as more competent and authoritative than speakers above 165 WPM. Rushed speech signals anxiety and limited control. Measured speech signals preparation and command of the material."}];function bO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"How to Speak More Confidently: 10 Science-Backed Techniques | SpeakFlare",description:"A complete guide to speaking with confidence — 10 evidence-based techniques covering pace, voice register, filler words, pausing, eye contact, preparation, recording review, posture, vocabulary, and tracking. Practical exercises included.",canonical:"https://speakflare.com/blog/how-to-speak-confidently",keywords:"how to speak confidently, speak with confidence, confident speaking techniques, improve speaking confidence, communication confidence, public speaking confidence, how to sound more confident, confident voice, professional communication skills",pageType:"article",articlePublishedTime:"2025-02-01T00:00:00Z",articleModifiedTime:"2026-04-19T00:00:00Z",articleAuthor:"SpeakFlare",breadcrumbs:[{name:"Blog",url:"https://speakflare.com/blog"},{name:"How to Speak Confidently",url:"https://speakflare.com/blog/how-to-speak-confidently"}],faqItems:vO}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 text-sm text-muted-foreground mb-6",children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(vn,{className:"h-4 w-4"}),"18 min read"]}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Speaking Confidence"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Updated April 2026"})]}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 leading-tight",children:"How to Speak More Confidently: 10 Science-Backed Techniques"}),n.jsx("p",{className:"text-xl text-muted-foreground leading-relaxed mb-8",children:"Confidence in speech is not a personality trait — it's a skill set. The
942se ten techniques, grounded in communication research and used by elite presenters, will change how you sound in every meeting, call, and conversation."}),n.jsxs("div",{className:"bg-muted/50 rounded-2xl p-6 border border-border mb-10",children:[n.jsx("h2",{className:"font-semibold mb-3",children:"What you'll learn"}),n.jsx("ul",{className:"space-y-2",children:yO.map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t.title]},t.number))})]})]})}),n.jsx("section",{className:"pb-8 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto",children:n.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:"Most people believe confident speaking is something you either have or don't. They point to naturally charismatic people and assume the gap is innate. What they're actually observing is a cluster of learnable behaviors — pace, tone, pause tolerance, vocabulary, and feedback habits — that confident speakers have developed over time, usually without knowing they were developing them. This guide makes those behaviors explicit so you can build them deliberately."})})}),n.jsx("section",{className:"pb-16 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto space-y-16",children:yO.map(t=>n.jsxs("article",{id:`technique-${t.number}`,children:[n.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[n.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 text-primary flex items-center justify-center flex-shrink-0",children:n.jsx(t.icon,{className:"h-6 w-6"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"text-xs font-bold uppercase tracking-widest text-primary mb-1",children:["Technique ",t.number]}),n.jsx("h2",{className:"text-2xl font-bold",children:t.title})]})]}),n.jsx("div",{className:"space-y-4 mb-6",children:t.content.map((r,a)=>n.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:r},a))}),n.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-xl p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-primary"}),n.jsx("span",{className:"text-sm font-semibold text-primary",children:t.exercise.label})]}),n.jsx("p",{className:"text-sm text-foreground leading-relaxed",children:t.exercise.text})]})]},t.number))})}),n.jsx("section",{className:"py-10 px-4 bg-primary/5 border-y border-primary/10",children:n.jsxs("div",{className:"max-w-3xl mx-auto flex flex-col sm:flex-row items-center gap-6",children:[n.jsxs("div",{className:"flex-1",children:[n.jsx("p",{className:"font-semibold text-lg mb-1",children:"Track your confidence metrics automatically"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"SpeakFlare measures your filler rate, speaking pace, uptalk frequency, and vocabulary strength on every call — no manual review needed."})]}),n.jsx(D,{onClick:()=>e("/register"),className:"rounded-full px-8 flex-shrink-0",children:"Start Free"})]})}),n.jsx("section",{className:"py-12 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-8",children:"Frequently asked questions"}),n.jsx("div",{className:"space-y-6",children:vO.map(t=>n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2",children:t.question}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.answer})]},t.question))})]})}),n.jsx("section",{className:"py-8 px-4 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Related resources"}),n.jsxs("div",{className:"flex flex-wrap gap-3",children:[n.jsxs("button",{onClick:()=>e("/blog/how-to-stop-saying-um"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(Ua,{className:"h-4 w-4"}),"How to stop saying um and uh"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/tools/filler-word-counter"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(_t,{className:"h-4 w-4"}),"Free Filler Word Counter"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/use-cases/sales-call-analysis"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(em,{className:"h-4 w-4"}),"Sales call analysis with SpeakFlare"]})]})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-10",children:[n.jsx(Ze,{className:"h-12 w-12 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Put these techniques on autopilot"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"The fastest way to build speaking confidence is a feedback loop that never misses a session. SpeakFlare analyzes every meeting automatically — filler words, pace, voice patterns, vocabulary strength — so your improvement compounds whether or not you're thinking about it."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]}),n.jsx(Ut,{})]})}const Ka=[{id:1,text:"When you're nervous in a meeting, you tend to:",options:[{key:"a",label:"Speak faster than usual",score:1},{key:"b",label:"Use more filler words (um, uh, like)",score:1},{key:"c",label:"Go blank and lose my train of thought",score:0},{key:"d",label:"All of the above",score:0}]},{id:2,text:"How often do you say 'um' or 'uh' during presentations?",options:[{key:"a",label:"Rarely — I use pauses instead",score:10},{key:"b",label:"Occasionally, maybe a few times",score:7},{key:"c",label:"Frequently — probably every few sentences",score:3},{key:"d",label:"Constantly — it's a big habit",score:0}]}
942,{id:3,text:"When making a key point, you typically:",options:[{key:"a",label:"State it directly and let it land",score:10},{key:"b",label:"Lead up to it with context first",score:7},{key:"c",label:"Soften it with 'I think maybe...'",score:3},{key:"d",label:"Ask if it makes sense before finishing",score:1}]},{id:4,text:"Your speaking pace is usually:",options:[{key:"a",label:"Measured and deliberate — I slow down on key points",score:10},{key:"b",label:"About right for most contexts",score:7},{key:"c",label:"A bit fast, especially when nervous",score:3},{key:"d",label:"Very fast — people sometimes ask me to slow down",score:0}]},{id:5,text:"How clearly do you explain complex topics to non-experts?",options:[{key:"a",label:"Very clearly — I use analogies and plain language",score:10},{key:"b",label:"Fairly well, with a little effort",score:7},{key:"c",label:"I sometimes get lost in technical detail",score:3},{key:"d",label:"People often look confused when I explain things",score:0}]},{id:6,text:"How often do you use passive voice? (e.g., 'The report was submitted' vs 'I submitted the report')",options:[{key:"a",label:"Rarely — I take ownership in my language",score:10},{key:"b",label:"Sometimes, without really thinking about it",score:5},{key:"c",label:"Often — it feels more professional somehow",score:2},{key:"d",label:"I've never thought about this before",score:1}]},{id:7,text:"When you disagree with someone in a meeting, you say:",options:[{key:"a",label:"'I see it differently — here's my view'",score:10},{key:"b",label:"'That's interesting, but have you considered...'",score:7},{key:"c",label:"'I'm not sure I totally agree, maybe...'",score:3},{key:"d",label:"Nothing — I avoid conflict in group settings",score:0}]},{id:8,text:"How often do people ask you to repeat yourself or clarify what you said?",options:[{key:"a",label:"Almost never",score:10},{key:"b",label:"Occasionally in noisy or large groups",score:6},{key:"c",label:"Fairly often — maybe 2-3 times per meeting",score:2},{key:"d",label:"Regularly — it's a pattern I've noticed",score:0}]},{id:9,text:"Your vocabulary under pressure is:",options:[{key:"a",label:"Precise — I find the right word quickly",score:10},{key:"b",label:"Generally good but vague when I'm stressed",score:5},{key:"c",label:"I repeat the same words and phrases a lot",score:2},{key:"d",label:"I often say 'thing' or 'stuff' as placeholders",score:0}]},{id:10,text:"After important calls or presentations, you feel:",options:[{key:"a",label:"Satisfied — I communicated clearly and confidently",score:10},{key:"b",label:"Pretty good, with a few things I'd change",score:7},{key:"c",label:"Unsure — I can't tell how I came across",score:3},{key:"d",label:"Anxious — I replay what I said and cringe",score:0}]}],wj=[{min:80,max:100,label:"Elite Communicator",color:"text-green-700 dark:text-green-400",bg:"bg-green-50 dark:bg-green-950/30",border:"border-green-200 dark:border-green-800",description:"You speak with clarity, conviction, and control. Your communication style projects confidence and makes complex ideas accessible. You're in the top tier of professional communicators.",tips:["Continue tracking your metrics to maintain your edge — even elite speakers have micro-habits worth refining.","Focus on elevating others: mentor team members on the specific techniques that got you here.","Use SpeakFlare to identify any remaining blind spots — even 1% filler rate improvements compound over hundreds of calls."]},{min:60,max:79,label:"Developing Professional",color:"text-blue-700 dark:text-blue-400",bg:"bg-blue-50 dark:bg-blue-950/30",border:"border-blue-200 dark:border-blue-800",description:"Your communication is solid and functional. You get your points across, but there are specific habits holding you back from the top tier. The good news: you're close, and the gap is closeable with targeted work.",tips:["Start recording your meetings — there's a gap between how you think you sound and how you actually sound. Closing it is 
942where the biggest gains hide.","Focus on eliminating your top 2 filler words. Run your transcripts through the free Filler Word Counter to see your actual rate.","Practice deliberate pausing — replace every 'um' with 2 seconds of silence for one week. The discomfort fades fast."]},{min:40,max:59,label:"Room to Grow",color:"text-yellow-700 dark:text-yellow-400",bg:"bg-yellow-50 dark:bg-yellow-950/30",border:"border-yellow-200 dark:border-yellow-800",description:"You're communicating, but several patterns are limiting how you're perceived. The habits forming your score are correctable — most people in this range see significant improvement within 4–6 weeks of deliberate practice.",tips:["Slow down by 20%. Most people in this range speak too fast under pressure. Slower speech immediately reads as more confident, even before any other change.","Build your confident vocabulary list: write down your 5 most-used hedges ('I think,' 'kind of,' 'maybe') and replace each with a direct alternative.","Read our guide to speaking with confidence — start with techniques 1, 2, and 4 before the others."]},{min:0,max:39,label:"Communication SOS",color:"text-red-700 dark:text-red-400",bg:"bg-red-50 dark:bg-red-950/30",border:"border-red-200 dark:border-red-800",description:"Your current communication patterns are significantly limiting your professional impact. This isn't a permanent state — it's a starting point. Speakers at this level often see the fastest and most dramatic improvements because the gains are large and immediate.",tips:["Start with one thing: recording. Record a 2-minute voice memo answering 'Tell me about yourself' and listen back. This single step creates the self-awareness everything else depends on.","Work through the 7 techniques in our guide to eliminating filler words — start with technique 2 (the pause technique). Do the drill daily for 14 days.","Use SpeakFlare's AI analysis on your real meetings so you get objective data instead of guesses. Try a free 30-second demo — no sign-up. When you're ready, $5 unlocks 20 full recording analyses."]}];function sze(e){return wj.find(t=>e>=t.min&&e<=t.max)??wj[wj.length-1]}function wO(){const[,e]=ze(),[t,r]=y.useState({}),[a,s]=y.useState(!1),[i,o]=y.useState(!1),l=a?Object.entries(t).reduce((x,[v,w])=>{const N=Ka.find(k=>k.id===Number(v)),j=N==null?void 0:N.options.find(k=>k.key===w);return x+((j==null?void 0:j.score)??0)},0):0,c=Ka.reduce((x,v)=>x+Math.max(...v.options.map(w=>w.score)),0),d=a?Math.round(l/c*100):0,u=a?sze(d):null,m=Object.keys(t).length,h=m===Ka.length,f=(x,v)=>{a||r(w=>({...w,[x]:v}))},b=()=>{h&&(s(!0),setTimeout(()=>{var x;(x=document.getElementById("results-section"))==null||x.scrollIntoView({behavior:"smooth"})},100))},g=()=>{r({}),s(!1),o(!1),window.scrollTo({top:0,behavior:"smooth"})},p=()=>{const x=`I scored ${d}/100 on the Communication Skills Test by SpeakFlare. Take it free: speakflare.com/tools/communication-skills-test`;navigator.clipboard.writeText(x).then(()=>{o(!0),setTimeout(()=>o(!1),2500)})};return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"Free Communication Skills Test — Score Your Speaking Style in 2 Minutes | SpeakFlare",description:"10-question communication skills assessment. Score your speaking confidence, filler word habits, vocabulary, pace, and clarity. Get a personalized 0-100 score and improvement tips in under 2 minutes.",canonical:"https://speakflare.com/tools/communication-skills-test",keywords:"communication skills test, speaking assessment, communication skills quiz, speaking confidence test, free communication test, verbal communication assessment, presentation skills quiz, public speaking score",pageType:"page",breadcrumbs:[{name:"Tools",url:"https://speakflare.com/tools"},{name:"Communication Skills Test",url:"https://speakflare.com/tools/communication-skills-test"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-2xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-4 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Communication Skills Test"}),n.jsx("p",{className:"text-lg text-muted-foreground mb-3",children:"10 questions. 2 minutes. Get your communication score out of 100 — with personalized improvement tips."}),n.jsxs("div",{className:"flex items-center justify-center gap-4 text-sm text-muted-foreground",children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(ut,{className:"h-4 w-4 text-primary"}),"Free, no sign-up"]}),n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(ut,{className:"h-4 w-4 text-primary"}),"Instant results"]}),n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(ut,{className:"h-4 w-4 text-primary"}),"Shareable score"]})]})]})}),!a&&n.jsx("div",{className:"px-4 pb-6",children:n.jsxs("div",{className:"max-w-2xl mx-auto",children:[n.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground mb-2",children:[n.jsxs("span",{children:[m," of ",Ka.length," answered"]}),n.jsxs("span",{children:[Math.round(m/Ka.length*100),"% complete"]})]}),n.jsx("div",{className:"h-2 bg-muted rounded-full",children:n.jsx("div",{className:"h-2 bg-primary rounded-full transition-all duration-300",style:{width:`${m/Ka.length*100}%`}})})]})}),!a&&n.jsx("section",{className:"pb-16 px-4",children:n.jsxs("div",{className:"max-w-2xl mx-auto 
942space-y-8",children:[Ka.map((x,v)=>n.jsx(X,{className:"overflow-hidden",children:n.jsxs(ue,{className:"p-6",children:[n.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 text-primary text-sm font-bold flex items-center justify-center flex-shrink-0",children:x.id}),n.jsx("p",{className:"font-semibold text-base leading-snug pt-0.5",children:x.text})]}),n.jsx("div",{className:"space-y-2 ml-12",children:x.options.map(w=>{const N=t[x.id]===w.key;return n.jsxs("button",{onClick:()=>f(x.id,w.key),className:`w-full text-left px-4 py-3 rounded-lg border text-sm transition-all ${N?"border-primary bg-primary/5 text-foreground font-medium":"border-border bg-muted/30 text-muted-foreground hover:border-primary/50 hover:bg-muted/60"}`,children:[n.jsxs("span",{className:"font-bold mr-2 text-primary",children:[w.key.toUpperCase(),")"]}),w.label]},w.key)})})]})},x.id)),n.jsxs("div",{className:"text-center pt-4",children:[n.jsxs(D,{size:"lg",onClick:b,disabled:!h,className:"rounded-full px-12 text-base",children:[h?"See My Score":`Answer all ${Ka.length-m} remaining questions`,n.jsx(Xs,{className:"h-5 w-5 ml-1"})]}),!h&&n.jsxs("p",{className:"text-xs text-muted-foreground mt-3",children:[Ka.length-m," question",Ka.length-m!==1?"s":""," remaining"]})]})]})}),a&&u&&n.jsx("section",{id:"results-section",className:"pb-16 px-4",children:n.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[n.jsx(X,{className:`overflow-hidden border-2 ${u.border}`,children:n.jsxs(ue,{className:`p-8 text-center ${u.bg}`,children:[n.jsx("div",{className:`text-7xl font-bold mb-2 ${u.color}`,children:d}),n.jsx("div",{className:"text-lg text-muted-foreground mb-3",children:"out of 100"}),n.jsx(ve,{className:`text-base px-4 py-1.5 font-semibold border ${u.border} ${u.bg} ${u.color}`,children:u.label}),n.jsx("p",{className:"mt-4 text-sm text-muted-foreground leading-relaxed max-w-md mx-auto",children:u.description})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"p-6",children:[n.jsx("h3",{className:"font-semibold mb-4",children:"Score breakdown"}),n.jsx("div",{className:"space-y-3",children:Ka.map(x=>{const v=t[x.id],w=x.options.find(k=>k.key===v),N=Math.max(...x.options.map(k=>k.score)),j=N>0?Math.round(((w==null?void 0:w.score)??0)/N*100):0;return n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"w-6 text-xs text-muted-foreground text-right flex-shrink-0",children:["Q",x.id]}),n.jsx("div",{className:"flex-1 h-2 bg-muted rounded-full",children:n.jsx("div",{className:`h-2 rounded-full transition-all ${j>=80?"bg-green-500":j>=50?"bg-blue-500":j>=20?"bg-yellow-500":"bg-red-500"}`,style:{width:`${j}%`}})}),n.jsxs("div",{className:"w-8 text-xs text-muted-foreground text-right",children:[j,"%"]})]},x.id)})})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"p-6",children:[n.jsxs("h3",{className:"font-semibold mb-4 flex items-center gap-2",children:[n.jsx(it,{className:"h-5 w-5 text-primary"}),"Your personalized improvement plan"]}),n.jsx("div",{className:"space-y-4",children:u.tips.map((x,v)=>n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("div",{className:"w-6 h-6 rounded-full bg-primary/10 text-primary text-xs font-bold flex items-center justify-center flex-shrink-0 mt-0.5",children:v+1}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:x})]},v))})]})}),n.jsxs("div",{className:"flex gap-3",children:[n.jsxs(D,{variant:"outline",className:"flex-1 rounded-full",onClick:p,children:[n.jsx(Ko,{className:"h-4 w-4 mr-2"}),i?"Copied to clipboard!":"Share my score"]}),n.jsxs(D,{variant:"outline",className:"flex-1 rounded-full",onClick:g,children:[n.jsx(Kh,{className:"h-4 w-4 mr-2"}),"Retake test"]})]}),n.jsx(X,{className:"bg-card border border-primary/20",children:n.jsxs(ue,{className:"py-8 text-center",children:[n.jsx(Ze,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-xl font-bold mb-2",children:"Get AI analysis of your real meetings"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-5 max-w-md mx-auto",children:"This quiz measures self-perception. SpeakFlare measures actual behavior — filler words, pace, vocabulary, and clarity on every call, automatically."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]})})]}),n.jsx(Ut,{})]})}const ize=["maybe","i think","possibly","kind of","sort of","i guess","hopefully","just checking","just wanted","i was wondering","if that makes sense","does that make sense","you know","not sure if","might be"],oze=["guarantee","guaranteed","proven","results","exactly","absolutely","recommend","solution","solve","achieve","specific","committed","confident","clear","directly","deliver","value","outcome","growth"],lze=["um","uh","like","you know","i mean","just","kind of","sort of","basically","literally","actually","right","okay so","well"];function cze(e){const t=e.toLowerCase(),r=e.trim().split(/\s+/).filter(
942Boolean).length,a=b=>b.map(g=>{const p=g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),x=g.includes(" ")?new RegExp(p,"gi"):new RegExp(`\\b${p}\\b`,"gi"),v=t.match(x);return{word:g,count:v?v.length:0}}).filter(g=>g.count>0).sort((g,p)=>p.count-g.count),s=a(ize),i=a(oze),o=a(lze),l=s.reduce((b,g)=>b+g.count,0),c=i.reduce((b,g)=>b+g.count,0),d=o.reduce((b,g)=>b+g.count,0),u=(e.match(/\?/g)||[]).length,m=r>0?(c*3-l*2-d)/r*100:0,h=Math.max(0,Math.min(100,Math.round(m+50))),f=u>0?Math.round(r/u):0;return{totalWords:r,weakWords:s,powerWords:i,fillerWords:o,questionCount:u,totalWeak:l,totalPower:c,totalFillers:d,confidenceScore:h,questionRatio:f}}function dze(e){return e>=75?{color:"text-green-700 dark:text-green-400",bg:"bg-green-50 dark:bg-green-950/30",border:"border-green-200 dark:border-green-800",label:"Strong Script"}:e>=55?{color:"text-blue-700 dark:text-blue-400",bg:"bg-blue-50 dark:bg-blue-950/30",border:"border-blue-200 dark:border-blue-800",label:"Solid Foundation"}:e>=35?{color:"text-yellow-700 dark:text-yellow-400",bg:"bg-yellow-50 dark:bg-yellow-950/30",border:"border-yellow-200 dark:border-yellow-800",label:"Needs Refinement"}:{color:"text-red-700 dark:text-red-400",bg:"bg-red-50 dark:bg-red-950/30",border:"border-red-200 dark:border-red-800",label:"High Risk of Losing Deals"}}const uze=[{weak:'"I think this might work for you"',strong:'"This will solve exactly that problem"',why:"Removes hedge, adds certainty and specificity"},{weak:`"Hopefully the results are what you're looking for"`,strong:`"The results our clients achieve are consistent — here's what to expect"`,why:"Replaces hope with evidence and sets a clear expectation"},{weak:'"I was just wondering if maybe we could set up a call"',strong:`"I'd like to set up a 20-minute call. Are Tuesday or Thursday mornings better for you?"`,why:"Removes 3 hedges, adds a specific ask with a forced choice close"}],mze=[{word:"Maybe",impact:"Signals you're unsure the product fits",fix:"Replace with a direct recommendation"},{word:"I think",impact:"Undermines your own credibility",fix:"State positions as facts or data"},{word:"Hopefully",impact:"Suggests you don't control outcomes",fix:"Use 'The result is' or 'Clients see'"},{word:"Kind of / Sort of",impact:"Makes your offer sound half-baked",fix:"Be specific — what does it actually do?"},{word:"Just checking in",impact:"The lowest-value opener in sales",fix:"'I'm calling because [specific reason]'"},{word:"Does that make sense?",impact:"Puts the prospect in evaluator mode",fix:"'What questions do you have so far?'"},{word:"I guess",impact:"Signals low confidence in your recommendation",fix:"Replace with 'Based on what you told me, I recommend'"}],hze=["Guarantee","Proven","Specifically","Results","Exactly","Committed","Solve","Achieve","Deliver","Value","Outcome","Recommend","Clear","Directly","Confident","Data shows","Clients report"];function jO(){const[,e]=ze(),[t,r]=y.useState(""),[a,s]=y.useState(null),[i,o]=y.useState(!1),l=()=>{!t.trim()||t.trim().split(/\s+/).length<10||(s(cze(t)),o(!0),setTimeout(()=>{var u;(u=document.getElementById("results"))==null||u.scrollIntoView({behavior:"smooth"})},100))},c=()=>{r(""),s(null),o(!1)},d=a?dze(a.confidenceScore):null;return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"Free Sales Talk Track Analyzer — Find What's Killing Your Close Rate | SpeakFlare",description:"Paste your sales script and instantly see your weak words, power words, filler words, question ratio, and confidence score. Free client-side analysis — no API, no sign-up.",canonical:"https://speakflare.com/tools/sales-talk-track-analyzer",keywords:"sales talk track analyzer, sales script analyzer, sales script confidence score, weak words in sales, power words sales, sales script checker, improve close rate, sales communication tool",pageType:"page",breadcrumbs:[{name:"Tools",url:"https://speakflare.com/tools"},{name:"Sales Talk Track Analyzer",url:"https://speakflare.com/tools/sales-talk-track-analyzer"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-4 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Free Sales Talk Track Analyzer"}),n.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:"Paste your sales script or talk track. Instantly see the words killing your close rate — and what to replace them with."})]})}),n.jsx("section",{className:"px-4 pb-12",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs(X,{className:"shadow-lg",children:[n.jsxs(Ye,{className:"pb-2",children:[n.jsx("h2",{className:"text-xl font-semibold",children:"Paste your sales script or talk track"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Cold call script, email sequence, demo script, or pitch — paste any sales copy. Minimum 10 words."})]}),n.jsxs(ue,{className:"space-y-4",children:[n.jsx("textarea",{className:"w-full min-h-[220px] rounded-lg border border-border bg-muted/40 p-4 text-sm resize-y focus:outline-none focus:ring-2 focus:ring-primary",placeholder:`Example:
943"Hi, I was just calling to check in and see if maybe you'd have time this week. I think our solution might kind of be a good fit for what you're doing. Hopefully we can find some time to connect..."`,value:t,onChange:u=>{r(u.target.value),i&&o(!1)}}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(D,{onClick:l,disabled:t.trim().split(/\s+/).filter(
943Boolean).length<10,className:"rounded-full px-8",children:"Analyze Script"}),i&&n.jsx(D,{variant:"outline",onClick:c,className:"rounded-full",children:"Clear"})]}),a&&d&&n.jsxs("div",{id:"results",className:"mt-6 space-y-6",children:[n.jsxs("div",{className:`rounded-2xl border-2 p-6 text-center ${d.bg} ${d.border}`,children:[n.jsx("div",{className:`text-5xl font-bold mb-1 ${d.color}`,children:a.confidenceScore}),n.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Confidence Score (0–100)"}),n.jsx(ve,{className:`text-sm px-3 py-1 font-semibold border ${d.border} ${d.bg} ${d.color}`,children:d.label})]}),n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[n.jsxs("div",{className:"bg-muted/50 rounded-xl p-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold",children:a.totalWords}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Total Words"})]}),n.jsxs("div",{className:`rounded-xl p-4 text-center border ${a.totalWeak===0?"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800":"bg-red-50 dark:bg-red-950/30 border-red-200 dark:border-red-800"}`,children:[n.jsx("div",{className:`text-2xl font-bold ${a.totalWeak===0?"text-green-700 dark:text-green-400":"text-red-700 dark:text-red-400"}`,children:a.totalWeak}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Weak Words"})]}),n.jsxs("div",{className:`rounded-xl p-4 text-center border ${a.totalPower>0?"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800":"bg-muted/50 border-border"}`,children:[n.jsx("div",{className:`text-2xl font-bold ${a.totalPower>0?"text-green-700 dark:text-green-400":""}`,children:a.totalPower}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Power Words"})]}),n.jsxs("div",{className:"bg-muted/50 rounded-xl p-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold",children:a.questionCount}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"Questions Asked"})]})]}),n.jsxs("div",{className:`flex items-start gap-3 rounded-xl p-4 border ${a.questionRatio>=50&&a.questionRatio<=80?"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800":a.questionCount===0?"bg-red-50 dark:bg-red-950/30 border-red-200 dark:border-red-800":"bg-yellow-50 dark:bg-yellow-950/30 border-yellow-200 dark:border-yellow-800"}`,children:[n.jsx(rr,{className:"h-5 w-5 flex-shrink-0 mt-0.5 text-primary"}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium",children:a.questionCount===0?"No questions detected — this script never asks the prospect anything.":`You ask 1 question per ${a.questionRatio} words.`}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Top closers target 1 question per 50–80 words. Questions create engagement and surface objections early.",a.questionRatio>80&&a.questionCount>0&&" Add more discovery questions.",a.questionRatio<50&&a.questionCount>0&&" You're asking too many questions — it can feel interrogative. Slow down."]})]})]}),a.weakWords.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-3 flex items-center gap-2",children:[n.jsx(Di,{className:"h-4 w-4 text-red-500"}),"Weak words found (",a.totalWeak," total)"]}),n.jsx("div",{className:"flex flex-wrap gap-2",children:a.weakWords.map(u=>n.jsxs(ve,{variant:"outline",className:"border-red-300 text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-950/30 text-sm px-3 py-1",children:[u.word," × ",u.count]},u.word))})]}),a.powerWords.length>0?n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-3 flex items-center gap-2",children:[n.jsx(gn,{className:"h-4 w-4 text-green-500"}),"Power words found (",a.totalPower," total)"]}),n.jsx("div",{className:"flex flex-wrap gap-2",children:a.powerWords.map(u=>n.jsxs(ve,{variant:"outline",className:"border-green-300 text-green-700 dark:text-green-400 bg-green-50 dark:bg-green-950/30 text-sm px-3 py-1",children:[u.word," × ",u.count]},u.word))})]}):n.jsxs("div",{className:"flex items-center gap-3 rounded-xl bg-yellow-50 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-800 p-4",children:[n.jsx(pa,{className:"h-5 w-5 text-yellow-600 flex-shrink-0"}),n.jsx("p",{className:"text-sm text-yellow-800 dark:text-yellow-300",children:'No power words detected. Add words like "guarantee," "proven," "results," and "exactly" to strengthen your script.'})]}),n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-3 flex items-center gap-2",children:[n.jsx(it,{className:"h-4 w-4 text-primary"}),"Top 3 improvements to make right now"]}),n.jsx("div",{className:"space-y-3",children:uze.map((u,m)=>n.jsx("div",{className:"rounded-xl border border-border p-4",children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("div",{className:"w-6 h-6 rounded-full bg-primary/10 text-primary text-xs font-bold flex items-center justify-center flex-shrink-0 mt-0.5",children:m+1}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsx("p",{className:"text-sm",children:n.jsx("span",{className:"text-red-600 dark:text-red-400 line-through",children:u.weak})}),n.jsx("p",{className:"text-sm font-medium text-green-700 dark:text-green-400",children:u.strong}),n.jsx("p",{className:"text-xs text-muted-foreground",children:u.why})]})]})},m))})]})]})]})]}),n.jsx(X,{className:"mt-8 bg-card border border-primary/20 shadow-md",children:n.jsxs(ue,{className:"py-8 text-center",children:[n.jsx(Ze,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Analyze your live sales calls"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-xl mx-auto",children:"This tool scores your script. SpeakFlare scores your actual calls — catching weak language, filler words, and missed closes in real time, meeting by meeting."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto 
943space-y-16",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-bold mb-2",children:"The 7 words that kill sales deals"}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"These words don't just weaken your script — they signal to the prospect that you're uncertain, unprepared, or low-conviction. Every one of them has a stronger substitute."}),n.jsx("div",{className:"overflow-x-auto rounded-xl border border-border",children:n.jsxs("table",{className:"w-full text-sm",children:[n.jsx("thead",{className:"bg-muted/60",children:n.jsxs("tr",{children:[n.jsx("th",{className:"text-left p-4 font-semibold",children:"Word"}),n.jsx("th",{className:"text-left p-4 font-semibold hidden sm:table-cell",children:"Why it kills deals"}),n.jsx("th",{className:"text-left p-4 font-semibold",children:"Fix"})]})}),n.jsx("tbody",{children:mze.map((u,m)=>n.jsxs("tr",{className:m%2===0?"bg-background":"bg-muted/20",children:[n.jsx("td",{className:"p-4 font-medium text-red-600 dark:text-red-400",children:u.word}),n.jsx("td",{className:"p-4 text-muted-foreground hidden sm:table-cell",children:u.impact}),n.jsx("td",{className:"p-4 text-muted-foreground italic",children:u.fix})]},u.word))})]})})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-bold mb-2",children:"Words top closers use constantly"}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"These words convey certainty, specificity, and authority. They tell the prospect you know exactly what you're doing and that the outcome is predictable."}),n.jsx("div",{className:"flex flex-wrap gap-2",children:hze.map(u=>n.jsx(ve,{className:"text-sm px-3 py-1.5 bg-primary/10 text-primary border border-primary/20",children:u},u))}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Tip: Aim for at least 1 power word per 30–40 words of script. If your ratio is lower, your language is probably too neutral to create urgency or conviction."})]}),n.jsxs("div",{className:"text-center bg-card rounded-3xl border border-border p-12",children:[n.jsx(_t,{className:"h-10 w-10 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Your script is only part of the problem"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"Even a great script gets undermined by how it's delivered — pace, filler words, tone, and hedging language that creeps in under pressure. SpeakFlare catches all of it on your real calls."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Analyze My Real Calls"})]})]})})]}),n.jsx(Ut,{})]})}const NO=[{icon:Ua,label:"Before the Speech",color:"text-blue-600 dark:text-blue-400",tips:[{number:1,text:"Record yourself in every practice run — not just the final one.",detail:"Most speakers only record dress rehearsals. Recording from the first run creates a before/after data set that shows real improvement. SpeakFlare can do this automatically on your practice calls."},{number:2,text:"Analyze your filler words before the big day — not during it.",detail:"Use the SpeakFlare filler counter or any transcript tool on your practice recording. Know your top 2 filler words by name. Targeted practice beats general awareness every time."},{number:3,text:"Time yourself. Most speakers run 20% over their allotted time.",detail:"The last 20% of an over-running speech is delivered rushed, compressed, and without the closing impact you planned. Time every run. If you're over, cut — don't speed up.",pullQuote:!0},{number:4,text:"Practice your opening line 20 times — not your whole speech.",detail:"The first 30 seconds determines the audience's receptivity to everything that follows. Get your opening automatic. When nerves hit at the start, an automatic opening runs without cognitive cost."},{number:5,text:"Prepare your closing stronger than your opening.",detail:"Most speakers put 80% of their preparation into the middle. The closing is what the audience remembers and acts on. Your last sentence should be memorized cold — rehearsed until it's inevitable."}]},{icon:Ze,label:"During the Speech",color:"text-primary",tips:[{number:6,text:"Pause after key points. The silence is part of the message.",detail:"A 2-second pause after a key claim signals importance and allows the idea to land before the next one arrives. Most speakers bury their best lines by immediately moving on.",pullQuote:!0},{number:7,text:"Vary your pace deliberately — use speed to build and silence to land.",detail:"Speak faster when covering background or context. Slow dramatically when delivering the key point. This pace contrast is one of the most powerful tools for keeping an audie
943nce attentive."},{number:8,text:"Treat the camera or audience like a single person, not a group.",detail:"The instinct to address 'everyone' produces a broadcast tone — flat and impersonal. Imagine you're explaining your most important point to one specific person who needs to understand it. Your language will become warmer, clearer, and more persuasive."},{number:9,text:"Use the rule of three — three points stick, four get forgotten.",detail:"Cognitive research consistently shows that three-item lists are processed more fluently and retained better than lists of any other length. Structure every argument, pitch, and presentation around three and only three core claims.",pullQuote:!0},{number:10,text:"Drink water before you speak. Dehydration increases filler words.",detail:"Dehydration thickens saliva, dries the throat, and degrades articulation — all of which increase cognitive load during speech and push the brain toward filler words as cognitive placeholders. Drink 16oz of water in the hour before any important presentation."}]},{icon:Ur,label:"Filler Word Elimination",color:"text-yellow-600 dark:text-yellow-400",tips:[{number:11,text:"Identify your top filler word first. You probably have one dominant offender.",detail:"Most speakers have one filler that accounts for 60–70% of their total filler usage. Find it, name it, target it specifically. Treating all fillers equally is less effective than eliminating the primary one first."},{number:12,text:"Replace 'um' with a closed-mouth pause — not an open-mouth one.",detail:"An open-mouth pause naturally produces 'uh.' A closed-mouth pause produces silence. The physical act of closing your mouth between thoughts eliminates the most common filler sound at the source."},{number:13,text:"Do the 1-minute drill daily. 60 seconds of deliberate filler-free speech rewires the habit.",detail:"Set a timer for 60 seconds. Speak on any topic. Aim for zero fillers. If one slips, pause and continue — don't restart. After 14 days of daily drills, the habit begins transferring to real conversations."},{number:14,text:"Use verbal bridges during the transition period: 'Let me think about that' instead of 'um'.",detail:"Verbal bridges buy thinking time — the same cognitive function as filler words — without the negative impression. They signal deliberateness rather than scrambling. Use them until pauses become your natural default."},{number:15,text:"Track your filler percentage weekly — the number motivates change.",detail:"Self-perception is unreliable. Most people estimate 2 fillers per minute; recordings reveal 8–12. Knowing your actual number creates the data-driven accountability that makes sustained improvement possible. SpeakFlare automates this tracking across every call."}]},{icon:_t,label:"Structure",color:"text-green-600 dark:text-green-400",tips:[{number:16,text:"Open with a hook — a question, a statistic, or a story. Not your name.",detail:'"Good morning, my name is..." loses the audience in the first five seconds. Start with something that demands their attention: a provocative question, a surprising number, or the opening line of a story. Your name and credentials can come 30 seconds in.'},{number:17,text:"Use the problem-solution-action structure for persuasive speeches.",detail:"This is the most reliable persuasive structure in professional communication. Name the problem in terms the audience feels personally. Introduce the solution. Give a single, specific action to take. It works because it mirrors how decisions are actually made.",pullQuote:!0},{number:18,text:"Tell one story per section — stories make abstract points memorable.",detail:"A 30-second story that illustrates a principle retains 22 times better than the principle stated alone. Each section of your speech should have one concrete narrative that grounds the abstract argument in something real."},{number:19,text:"Use callbacks — reference your opening in your closing.",detail:"Callbacks create the sense of a complete, intentional structure. If you opened with a question, answer it at the end. If you started a story, finish it in your closing minute. Audiences perceive callback speakers as more organized and more credible."},{number:20,text:"End with a single call to action — never three.",detail:"Giving the audience three things to do after your speech results in no one doing any of them. Give one action, make it specific, and make it easy. The specificity of your CTA is directly proportional to compliance."}]}
943,{icon:qv,label:"Mindset",color:"text-purple-600 dark:text-purple-400",tips:[{number:21,text:"Reframe nervousness as activation — it's physiologically the same as excitement.",detail:"The physical symptoms of stage fright (elevated heart rate, heightened alertness, quickened breathing) are identical to excitement. The difference is the story you tell about them. Research from Harvard found that saying 'I'm excited' before a presentation outperformed 'I'm calm' on every measure of performance."},{number:22,text:"Use a 2-minute preparation ritual before every high-stakes presentation.",detail:"Spend 2 minutes alone before a presentation: stand upright, breathe from your diaphragm, remind yourself of your three key points, and recall your most successful recent communication moment. This sequence primes the physiological and cognitive state you need.",pullQuote:!0},{number:23,text:"Adopt the 'gift' mindset — you're giving the audience something valuable, not asking for their approval.",detail:"Approval-seeking creates anxiety because the audience's judgment is outside your control. Contribution-framing shifts focus to what you can control: the quality of what you're sharing. Speakers in gift-mode are consistently rated as more engaging and more confident."},{number:24,text:"Do a structured post-speech review within 30 minutes — while it's fresh.",detail:"Answer three questions: What landed exactly as planned? What would I change in the delivery? What would I change in the structure? Write the answers down. This converts raw experience into structured learning and prevents the same mistakes repeating across presentations."},{number:25,text:"Track progress across speeches — improvement is invisible without data.",detail:"Confidence is historically grounded. When you can see that your filler rate dropped from 5% to 2% over 8 weeks, your belief in your ability to keep improving becomes data-backed rather than aspirational. SpeakFlare tracks this automatically across every meeting and presentation."}]}],kO=[{question:"How do I stop being nervous before public speaking?",answer:"Nervousness doesn't go away — it gets reframed. Research shows that labeling pre-speech arousal as 'excitement' rather than 'fear' produces better performance than trying to calm down. Combine this with physical preparation (diaphragmatic breathing, expansive posture) and structural certainty (know your opening 20 words cold) and the anxiety becomes manageable."},{question:"What is the ideal speaking pace for presentations?",answer:"120–145 words per minute for high-stakes professional contexts. Faster than 165 WPM sounds rushed and anxious. Slower than 110 WPM can feel patronizing. The key is to vary pace deliberately — slow for key points, slightly faster for context and background."},{question:"How long should a presentation be?",answer:"Shorter than you think. The optimal length for information retention is 18 minutes (the TED Talk limit is not arbitrary). For business presentations, 10–15 minutes of dense content outperforms 30 minutes of padded content. Time every run and cut to fit rather than speeding up to fit."}];function SO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"25 Public Speaking Tips That Actually Work (From AI Analysis of 10,000 Speeches) | SpeakFlare",description:"25 evidence-based public speaking tips grouped by phase: before the speech, during, filler words, structure, and mindset. Practical and specific — with exercises for each.",canonical:"https://speakflare.com/blog/public-speaking-tips",keywords:"public speaking tips, how to speak in public, presentation tips, public speaking techniques, eliminate filler words presentation, presentation skills tips, how to present confidently, public speaking advice, improve presentations",pageType:"article",articlePublishedTime:"2025-03-01T00:00:00Z",articleModifiedTime:"2026-04-19T00:00:00Z",articleAuthor:"SpeakFlare",breadcrumbs:[{name:"Blog",url:"https://speakflare.com/blog"},{name:"Public Speaking Tips",url:"https://speakflare.com/blog/public-speaking-tips"}],faqItems:kO}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-14 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 text-sm text-muted-foreground mb-6",children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(vn,{className:"h-4 w-4"}),"14 min read"]}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Public Speaking"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"Updated April 2026"})]}),n.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mb-6 leading-tight",children:"25 Public Speaking Tips That Actually Work"}),n.jsx("p",{className:"text-xl text-muted-foreground leading-relaxed mb-8",children:"Not generic advice — these 25 techniques come from patterns in AI analysis of thousands of professional speeches. Grouped by phase, specific, and actionable today."}),n.jsxs("div",{className:"bg-muted/50 rounded-2xl p-6 border border-border mb-10",children:[n.jsx("h2",{className:"font-semibold mb-3",children:"What's covered"}),n.jsx("ul",{className:"grid sm:grid-cols-2 gap-2",children:NO.map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t.label," (tips ",t.tips[0].number,"–",t.tips[t.tips.length-1].number,")"]},t.label))})]})]})}),n.jsx("section",{className:"pb-16 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto 
943space-y-20",children:NO.map(t=>n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[n.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center flex-shrink-0",children:n.jsx(t.icon,{className:`h-6 w-6 ${t.color}`})}),n.jsx("h2",{className:"text-2xl font-bold",children:t.label})]}),n.jsx("div",{className:"space-y-8",children:t.tips.map(r=>n.jsxs("article",{id:`tip-${r.number}`,children:[r.pullQuote?n.jsxs("div",{className:"border-l-4 border-primary pl-5 py-1 mb-3",children:[n.jsxs("div",{className:"text-xs font-bold uppercase tracking-widest text-primary mb-1",children:["Tip ",r.number]}),n.jsx("p",{className:"text-lg font-semibold leading-snug",children:r.text})]}):n.jsxs("div",{className:"flex items-start gap-4 mb-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-muted text-muted-foreground text-sm font-bold flex items-center justify-center flex-shrink-0",children:r.number}),n.jsx("p",{className:"font-semibold text-base leading-snug pt-0.5",children:r.text})]}),r.detail&&n.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground ml-12",children:r.detail})]},r.number))}),t.label==="Filler Word Elimination"&&n.jsxs("div",{className:"mt-8 bg-primary/5 border border-primary/20 rounded-2xl p-6 flex flex-col sm:flex-row items-center gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsx("p",{className:"font-semibold mb-1",children:"Measure your filler word rate right now"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Paste any speech transcript into the free Filler Word Counter — get your exact percentage in seconds."})]}),n.jsx(D,{onClick:()=>e("/tools/filler-word-counter"),variant:"outline",className:"rounded-full flex-shrink-0",children:"Open Tool"})]}),t.label==="Structure"&&n.jsxs("div",{className:"mt-8 bg-primary/5 border border-primary/20 rounded-2xl p-6 flex flex-col sm:flex-row items-center gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsx("p",{className:"font-semibold mb-1",children:"Check if your sales scripts use the right structure"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"The Sales Talk Track Analyzer scores your script for structure, power words, and confidence signals."})]}),n.jsx(D,{onClick:()=>e("/tools/sales-talk-track-analyzer"),variant:"outline",className:"rounded-full flex-shrink-0",children:"Analyze Script"})]})]},t.label))})}),n.jsx("section",{className:"py-12 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-6",children:"The 5-minute pre-speech checklist"}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-3",children:["Opening line memorized and automatic","Closing line locked — know your last sentence","Three key points in order in your head","Timed — you're within 90% of your limit","Filler words identified and replacement habit ready","Power pose done — 90 seconds, hands on hips","Water consumed in the last 30 minutes","Post-speech review scheduled: what worked, what changes"].map(t=>n.jsxs("div",{className:"flex items-center gap-3 bg-card rounded-xl border border-border p-3",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),n.jsx("span",{className:"text-sm",children:t})]},t))})]})}),n.jsx("section",{className:"py-12 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-8",children:"Frequently asked questions"}),n.jsx("div",{className:"space-y-6",children:kO.map(t=>n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2",children:t.question}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.answer})]},t.question))})]})}),n.jsx("section",{className:"py-8 px-4 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Related resources"}),n.jsxs("div",{className:"flex flex-wrap gap-3",children:[n.jsxs("button",{onClick:()=>e("/blog/how-to-speak-confidently"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(Pr,{className:"h-4 w-4"}),"10 techniques to speak more confidently"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/blog/how-to-stop-saying-um"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(Ua,{className:"h-4 w-4"}),"How to stop saying um and uh"]}),n.jsx("span",{className:"text-muted-foreground",children:"·"}),n.jsxs("button",{onClick:()=>e("/tools/filler-word-counter"),className:"text-sm text-primary hover:underline flex items-center gap-1.5",children:[n.jsx(_t,{className:"h-4 w-4"}),"Free Filler Word Counter"]})]})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-10",children:[n.jsx(Ze,{className:"h-12 w-12 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Apply all 25 tips with automatic data"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"SpeakFlare automatically tracks your filler rate, speaking pace, vocabulary strength, and clarity across every meeting — so you don't have to manually review recordings to know where you're improving."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})})]}),n.jsx(Ut,{})]})}const fze=[{quote:"Our team grew from 8 to 40 people across 6 countries in 18 months. SpeakFlare was the only tool that gave us objective data on how clearly our managers were communicating — not just whether people 'felt' good about meetings.",name:"Rachel S.",title:"VP of People Operations",company:"Fenly (Series B, remote-first)"},{quote:"We used to run communication training once a quarter and call it done. SpeakFlare gave us weekly data per person. The difference in how our team presents to clients is measurable.",name:"Marcus W.",title:"Director of Customer Success",company:"Orbix Software (distributed team, 12 countries)"},{quote:"I went from dreading my weekly all-hands to actually looking forward to it. Seeing my filler rate drop from 6.1% to 1.8% in 6 weeks made me realize this was a skill I could actually build.",name:"Priya M.",title:"Senior Product Manager",company:"Cloudway Technologies (remote)"}],pze=[{stat:"73%",label:"of remote workers say poor communication is their #1 productivity killer",source:"Buffer State of Remote Work"},{stat:"38%",label:"of remote employees report that unclear language in meetings regularly causes rework",source:"Grammarly Business Report"},{stat:"4x",label:"more likely: remote workers misinterpret tone when body language cues are absent",source:"MIT Human Dynamics Lab"}
943],gze=[{icon:Ur,title:"Filler words",desc:"Every 'um,' 'uh,' 'like,' and 'you know' tracked per speaker, per meeting. Weekly trends show whether team members are improving or regressing.",color:"text-yellow-600 dark:text-yellow-400"},{icon:tn,title:"Unclear references",desc:"Phrases like 'that thing we discussed,' 'the new process,' and 'you know what I mean' that work in person — but create ambiguity on async-heavy remote teams.",color:"text-orange-600 dark:text-orange-400"},{icon:pa,title:"Weak language signals",desc:"Hedges ('I think maybe,' 'hopefully,' 'kind of') that undermine authority in writing are ten times more visible in speech. SpeakFlare flags them automatically.",color:"text-red-600 dark:text-red-400"},{icon:Pr,title:"Low confidence patterns",desc:"Uptalk, rushed pace, long pauses in the wrong places, and passive voice — the signals that make remote teammates perceive a speaker as uncertain even when they're not.",color:"text-blue-600 dark:text-blue-400"}],xze=["Weekly team communication report — one view, every member","Per-member filler rate, pace score, and clarity trend","Improvement leaderboard — see who's gaining fastest","Flag specific meetings for manager review","Exportable reports for performance conversations","Team benchmark: compare members to team average"],yze=["Personal dashboard — your metrics across every call","Before/after comparison: this week vs. last month","Session-level breakdown: which meetings went well","Top filler words for the week, with trend","Speaking pace trend — are you in the optimal range?","Private — managers see aggregate data, not transcripts"],CO=[{question:"Does SpeakFlare record my meetings?",answer:"SpeakFlare analyzes meeting audio to generate communication metrics — it does not store full recordings for manager review. Individual members can access their own session data. Team managers see aggregated metrics, not transcripts."},{question:"Does the whole team need to sign up?",answer:"No. Start with one member (you) and add team members as you see value. SpeakFlare works for individual contributors on solo plans, and the Team plan adds shared dashboards and manager reporting."},{question:"How does pricing work for individuals and teams?",answer:"Start with a free 30-second demo in your browser — no sign-up. Then pay as you go: $5 unlocks 20 full recording analyses and credits never expire, or go Pro unlimited for $12/month or $99/year. The Team plan ($49/mo, up to 10 seats) adds unlimited analysis, manager reporting, team benchmarks, and the improvement leaderboard."}];function PO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Communication Analysis for Remote Teams — SpeakFlare for Distributed Teams",description:"SpeakFlare helps remote and distributed teams communicate more clearly, confidently, and professionally in every meeting. Track filler words, clarity, and speaking confidence across your team — automatically.",canonical:"https://speakflare.com/use-cases/remote-teams",keywords:"remote team communication, distributed team communication tool, AI meeting analysis remote work, remote team communication coaching, virtual meeting communication, remote work speaking skills, team communication analytics",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Remote Teams",url:"https://speakflare.com/use-cases/remote-teams"}],faqItems:CO}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx(ve,{variant:"outline",className:"mb-6 text-sm px-4 py-1.5 border-primary/30 text-primary",children:"Remote & Distributed Teams"}),n.jsxs("h1",{className:"text-4xl sm:text-5xl lg:text-6xl font-bold mb-6 leading-tight",children:["When Your Team Can't Read Body Language,",n.jsx("br",{className:"hidden sm:block"}),n.jsx("span",{className:"text-primary",children:" Words Are Everything"})]}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"SpeakFlare helps remote teams communicate more clearly, confidently, and professionally in every meeting — with automatic AI analysis and weekly improvement tracking per member."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Start Free — No Credit Card"}),n.jsx(D,{size:"lg",variant:"outline",onClick:()=>e("/pricing"),className:"rounded-full px-10 text-base",children:"View Team Plans"})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up. Then $5 for 20 recordings. Add your team when you're ready."})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-3",children:"The remote communication problem"}),n.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:"In person, 55% of communication is body language. On video calls, you're left with 38% tone and 7% words. Every filler word, every hedge, every unclear sentence — the impact is amplified."})]}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:pze.map(t=>n.jsxs(X,{className:"p-6 text-center",children:[n.jsx("div",{className:"text-4xl font-bold text-primary mb-2",children:t.stat}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-3",children:t.label}
943),n.jsx("p",{className:"text-xs text-muted-foreground/60 italic",children:t.source})]},t.stat))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("h2",{className:"text-3xl font-bold mb-3",children:"What SpeakFlare catches in remote meetings"}),n.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:"Four categories of communication patterns that matter most when body language is absent."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:gze.map(t=>n.jsxs(X,{className:"p-6",children:[n.jsx(t.icon,{className:`h-8 w-8 mb-4 ${t.color}`}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsx("div",{className:"max-w-4xl mx-auto",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(Wt,{className:"h-6 w-6 text-primary"}),n.jsx("span",{className:"text-sm font-semibold text-primary uppercase tracking-widest",children:"For Team Managers"})]}),n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"See how your whole team communicates — in one weekly report"}),n.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:"Stop relying on gut feel or quarterly 360s to understand how your team communicates. SpeakFlare gives you objective, weekly data on every member — so coaching conversations are grounded in evidence, not impressions."}),n.jsx("ul",{className:"space-y-3",children:xze.map(t=>n.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),t]},t))})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs(X,{className:"p-5 border-primary/20",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsx("span",{className:"font-semibold text-sm",children:"Team Week 17 Summary"}),n.jsx(ve,{className:"text-xs",variant:"secondary",children:"New"})]}),n.jsx("div",{className:"space-y-3",children:[{name:"Priya M.",filler:"1.8%",pace:"132 WPM",trend:"+12%"},{name:"Marcus W.",filler:"3.2%",pace:"158 WPM",trend:"+4%"},{name:"Rachel S.",filler:"0.9%",pace:"141 WPM",trend:"+2%"},{name:"Tom K.",filler:"5.7%",pace:"172 WPM",trend:"-1%"}].map(t=>n.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 text-primary text-xs font-bold flex items-center justify-center flex-shrink-0",children:t.name.split(" ").map(r=>r[0]).join("")}),n.jsx("div",{className:"flex-1",children:t.name}),n.jsxs("div",{className:"text-muted-foreground text-xs",children:[t.filler," fillers"]}),n.jsx("div",{className:"text-muted-foreground text-xs hidden sm:block",children:t.pace}),n.jsx("div",{className:`text-xs font-medium ${t.trend.startsWith("+")?"text-green-600 dark:text-green-400":"text-red-500"}`,children:t.trend})]},t.name))})]}),n.jsx("p",{className:"text-xs text-center text-muted-foreground",children:"Illustrative example — actual dashboard"})]})]})})}),n.jsx("section",{className:"py-16 px-4",children:n.jsx("div",{className:"max-w-4xl mx-auto",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{className:"order-2 lg:order-1 space-y-4",children:[n.jsxs(X,{className:"p-5 border-primary/20",children:[n.jsx("div",{className:"font-semibold text-sm mb-3",children:"Your progress — last 8 weeks"}),n.jsx("div",{className:"space-y-3",children:[{label:"Filler word rate",from:"6.1%",to:"1.8%",good:!0},{label:"Speaking pace",from:"168 WPM",to:"138 WPM",good:!0},{label:"Uptalk frequency",from:"High",to:"Low",good:!0},{label:"Confidence score",from:"54",to:"82",good:!0}].map(t=>n.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[n.jsx("div",{className:"flex-1 text-muted-foreground",children:t.label}
943),n.jsx("div",{className:"line-through text-muted-foreground/50 text-xs",children:t.from}),n.jsx("div",{className:"text-green-600 dark:text-green-400 font-medium text-xs",children:t.to}),n.jsx(it,{className:"h-3 w-3 text-green-500 flex-shrink-0"})]},t.label))})]}),n.jsx("p",{className:"text-xs text-center text-muted-foreground",children:"Illustrative example — actual dashboard"})]}),n.jsxs("div",{className:"order-1 lg:order-2",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(_t,{className:"h-6 w-6 text-primary"}),n.jsx("span",{className:"text-sm font-semibold text-primary uppercase tracking-widest",children:"For Individual Contributors"})]}),n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Your personal AI communication coach — on every call"}),n.jsx("p",{className:"text-muted-foreground mb-6 leading-relaxed",children:"No manager approval needed. SpeakFlare's free plan gives every team member a private communication dashboard — so improvement happens whether or not your company has adopted it team-wide."}),n.jsx("ul",{className:"space-y-3",children:yze.map(t=>n.jsxs("li",{className:"flex items-start gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),t]},t))})]})]})})}),n.jsx("section",{className:"py-12 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx(ti,{className:"h-8 w-8 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-xl font-semibold mb-2",children:"Works with the tools your remote team already uses"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-8",children:"No new meeting tool required. SpeakFlare integrates with your existing video platform."}),n.jsx("div",{className:"flex items-center justify-center gap-8",children:["Zoom","Google Meet","Microsoft Teams"].map(t=>n.jsxs("div",{className:"flex flex-col items-center gap-2",children:[n.jsx("div",{className:"w-14 h-14 rounded-2xl bg-card border border-border flex items-center justify-center",children:n.jsx(ca,{className:"h-6 w-6 text-primary"})}),n.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:t})]},t))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"What remote teams say"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:fze.map(t=>n.jsxs(X,{className:"p-6 flex flex-col",children:[n.jsx("div",{className:"flex gap-0.5 mb-4",children:[...Array(5)].map((r,a)=>n.jsx(em,{className:"h-4 w-4 text-yellow-500 fill-yellow-500"},a))}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed flex-1 mb-4",children:['"',t.quote,'"']}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold",children:t.name}),n.jsx("p",{className:"text-xs text-muted-foreground",children:t.title}),n.jsx("p",{className:"text-xs text-muted-foreground",children:t.company})]})]},t.name))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsx("div",{className:"max-w-3xl mx-auto",children:n.jsxs("div",{className:"grid sm:grid-cols-2 gap-6",children:[n.jsxs(X,{className:"p-8",children:[n.jsx("div",{className:"font-bold text-lg mb-1",children:"Pay as you go"}),n.jsx("div",{className:"text-3xl font-bold mb-1",children:"$5"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"20 recordings · credits never expire"}),n.jsx("ul",{className:"space-y-2 mb-6",children:["Free 30-second demo, no sign-up","$5 unlocks 20 full recording analyses","Personal filler word tracking","Speaking pace metrics","Weekly improvement summary"].map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t]},t))}),n.jsx(D,{variant:"outline",onClick:()=>e("/register"),className:"w-full rounded-full",children:"Start Free"})]}),n.jsxs(X,{className:"p-8 border-primary/30 relative",children:[n.jsx(ve,{className:"absolute top-4 right-4 text-xs",children:"Teams"}),n.jsx("div",{className:"font-bold text-lg mb-1",children:"Team"}),n.jsxs("div",{className:"text-3xl font-bold mb-1",children:["$49",n.jsx("span",{className:"text-base font-normal text-muted-foreground",children:"/mo"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"Up to 10 seats · waitlist"}),n.jsx("ul",{className:"space-y-2 mb-6",children:["Everything in Free, unlimited","Manager team dashboard","Per-member improvement reports","Team benchmark leaderboard","Exportable coaching reports","Priority support"].map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t]},t))}),n.jsx(D,{onClick:()=>e("/register"),className:"w-full rounded-full",children:"Join Team Waitlist"})]})]})})}),n.jsx("section",{className:"py-12 px-4",children:n.jsxs("div",{className:"max-w-3xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-bold mb-8",children:"Common questions"}),n.jsx("div",{className:"space-y-6",children:CO.map(t=>n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2",children:t.question}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.answer})]},t.question))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center bg-card border border-border rounded-3xl p-10",children:[n.jsx(Ze,{className:"h-12 w-12 text-primary mx-auto mb-4"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Start free, add your team later"}),n.jsx("p",{className:"text-muted-foreground mb-6 max-w-lg mx-auto",children:"Start with your own account — no setup, no credit card, no manager approval needed. When you see the improvement, share it with your team."}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10",children:"Start Free — No Credit Card"}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Free 30-second demo, no sign-up. Then $5 for 20 recordings."})]})})]}),n.jsx(Ut,{})]})}const vze=[{icon:pa,color:"text-red-500",title:"Ambiguous references",desc:'"This agreement", "the aforementioned party", "said terms" — vague pronouns and references that leave room for dispute. SpeakFlare flags every unclear reference.'},{icon:Js,color:"text-orange-500",title:"Passive voice overuse",desc:'Passive constructions obscure who is responsible for what. "It was determined that..." vs "The court determined that..." — the difference matters in legal context.'},{icon:k8,color:"text-yellow-500",title:"Legal jargon density",desc:'"Notwithstanding the foregoing", "in witness whereof", "heretofore" — SpeakFlare scores your jargon density and suggests plain-language alternatives for client-facing communication.'},{icon:Ua,color:"text-purple-500",title:"Sentence complexity",desc:"Overly long sentences with multiple clauses increase misunderstanding risk. SpeakFlare measures average sentence complexity and flags the hardest-to-parse moments."}],bze=[{label:"Client explanation",weak:"The indemnification clause, notwithstanding the aforementioned provisions, may be construed as limiting your recourse in certain 
943jurisdictions...",strong:"This clause limits what you can claim if something goes wrong. In plain terms: you may not be able to sue for certain types of losses."},{label:"Deposition language",weak:"It would appear that the aforementioned party was, to the best of our knowledge, present at the time in question.",strong:"The defendant was present. We have three witness statements confirming this."},{label:"Mediation clarity",weak:"The parties hereto agree to endeavor to resolve the matter through mutually agreeable alternative dispute resolution mechanisms.",strong:"Both sides agree to try mediation before going to court."}],wze=[{title:"Client consultations",desc:"Clients who understand their legal situation make better decisions and have more realistic expectations. Analyzing your client calls shows you exactly where you're losing them."},{title:"Deposition preparation",desc:"Review your questioning style. Are your questions clear and unambiguous? Do you inadvertently signal answers through complex phrasing? SpeakFlare catches both."},{title:"Court presentation prep",desc:"Practice your oral arguments and get scored on clarity, pacing, and passive voice density before you stand in front of the judge."},{title:"Mediation & negotiation",desc:"Plain, direct language builds trust faster in mediation settings. SpeakFlare helps you identify where formal language is creating distance."}],jze=[{step:"01",title:"Record your client call or prep session",desc:"Connect Zoom or Google Meet, or upload any audio recording. Works with 50+ languages."},{step:"02",title:"Get your legal communication analysis",desc:"Receive a full breakdown: jargon score, passive voice instances, ambiguous references — all timestamped to the exact moment."},{step:"03",title:"Build clearer communication habits",desc:"Track your metrics across every session. Watch your plain-language score rise and client satisfaction follow."}];function TO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Communication Analysis for Lawyers and Legal Professionals | SpeakFlare",description:"SpeakFlare helps lawyers communicate more clearly — flagging legal jargon, passive voice, ambiguous references, and overly complex language in client calls, depositions, and court prep.",canonical:"https://speakflare.com/use-cases/legal-professionals",keywords:"legal communication analysis, AI for lawyers, plain language legal, lawyer client communication, deposition prep, court presentation coaching, legal jargon checker, passive voice legal",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Legal Professionals",url:"https://speakflare.com/use-cases/legal-professionals"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[n.jsx("div",{className:"inline-flex items-center gap-2 bg-primary/10 text-primary px-4 py-1.5 rounded-full text-sm font-semibold mb-6",children:"⚖️ Built for Legal Professionals"}),n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Speak with the Precision Your Clients Deserve"}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"Legal expertise means nothing if your clients can't understand you. SpeakFlare analyzes your communication for jargon, ambiguity, and passive voice — so your counsel lands clearly every time."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Analyze Your Next Client Call Free"}),n.jsxs(D,{size:"lg",variant:"outline",onClick:()=>e("/features"),className:"rounded-full px-10 text-base",children:["See How It Works ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"The legal communication problem"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:"Research from the Plain 
943Language movement shows that clients understand their legal situation 40% better when lawyers avoid jargon. Yet most legal communication is written and spoken for other lawyers — not the people it affects most."}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:[{stat:"40%",label:"Better comprehension with plain language",color:"text-primary"},{stat:"68%",label:"Of clients feel confused after legal consultations",color:"text-orange-500"},{stat:"3x",label:"More likely to follow advice they fully understand",color:"text-green-500"}].map(t=>n.jsxs(X,{className:"p-6 text-center",children:[n.jsx("div",{className:`text-4xl font-black mb-2 ${t.color}`,children:t.stat}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.label})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"What SpeakFlare catches in legal communication"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Every call is analyzed across the four patterns that most often create confusion, risk, or misaligned expectations in legal settings."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:vze.map(t=>n.jsxs(X,{className:"p-6 hover:shadow-md transition-shadow",children:[n.jsx(t.icon,{className:`h-10 w-10 ${t.color} mb-4`}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"Plain language examples"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Here's the kind of transformation SpeakFlare coaches you toward — the same legal information, communicated in a way clients actually understand."}),n.jsx("div",{className:"space-y-6",children:bze.map(t=>n.jsxs(X,{className:"p-6",children:[n.jsx("div",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-4",children:t.label}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[n.jsxs("div",{className:"rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-red-600 dark:text-red-400 mb-2",children:"Typical legal language"}),n.jsxs("p",{className:"text-sm italic text-red-800 dark:text-red-300",children:['"',t.weak,'"']})]}),n.jsxs("div",{className:"rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-green-600 dark:text-green-400 mb-2",children:"Plain language version"}),n.jsxs("p",{className:"text-sm italic text-green-800 dark:text-green-300",children:['"',t.strong,'"']})]})]})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"Where lawyers use SpeakFlare"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"From client consultations to court prep, every spoken legal interaction benefits from clearer communication."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:wze.map(t=>n.jsx(X,{className:"p-6",children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx(ut,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold text-base mb-1",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]})},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-primary/5 border-y border-primary/10",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("div",{className:"text-5xl font-black text-primary mb-4",children:"40%"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Better client comprehension 
943with plain language"}),n.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:"The Plain Language movement has decades of research behind it. Clients who understand their legal situation have more realistic expectations, fewer disputes, and higher satisfaction with their counsel."})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:"How it works"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-8",children:jze.map(t=>n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 text-primary flex items-center justify-center text-xl font-black mx-auto mb-4",children:t.step}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.step))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Analyze your next client call free"}),n.jsx("p",{className:"text-muted-foreground mb-4 max-w-xl mx-auto",children:"Get a full communication analysis — jargon score, passive voice count, ambiguity flags — on your first call before deciding anything. No credit card required."}),n.jsx("ul",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-8 text-sm",children:["No credit card needed","Works with Zoom & Meet","50+ languages supported","Results in under 5 minutes"].map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t]},t))}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-12",children:"Start Free — No Credit Card"})]})})]}),n.jsx(Ut,{})]})}const Nze=[{icon:Vte,color:"text-red-500",title:"Medical jargon patients don't understand",desc:'"Myocardial infarction", "idiopathic", "contraindicated" — SpeakFlare scores your jargon density and flags terms that have plain equivalents patients understand.'},{icon:pa,color:"text-orange-500",title:"Unclear or rushed explanations",desc:"Pacing analysis detects when you're compressing critical information into too short a window. Patients who feel rushed retain far less of what they're told."},{icon:M2,color:"text-pink-500",title:"Condescension signals",desc:"Overly simplified or patronizing language erodes patient trust as quickly as jargon does. SpeakFlare finds the balance — clear without being condescending."},{icon:Pr,color:"text-blue-500",title:"Passive voice & unclear responsibility",desc:'"It needs to be taken twice daily" vs "Take this twice a day" — passive constructions in medical instructions cause non-compliance. SpeakFlare flags every instance.'}],kze=[{label:"Diagnosis explanation",weak:"You've presented with an acute myocardial infarction, likely precipitated by a thrombus in the LAD. We'll be initiating anticoagulation therapy.",strong:"You've had a heart attack — a blood clot blocked one of the main arteries to your heart. We're starting medication to break up the clot and prevent new ones."},{label:"Medication instructions",weak:"Administer 10mg orally, bid, with food to mitigate GI adverse effects. Contraindicated with NSAIDs.",strong:"Take one pill twice a day with food — it helps prevent stomach upset. Don't take it with ibuprofen or aspirin."},{label:"Test result discussion",weak:"Your HbA1c is elevated at 8.2%, indicating suboptimal glycemic control over the preceding 3-month period.",strong:"This number tells us how your blood sugar has been over the past 3 months. At 8.2%, it's higher than we want — our target is below 7. Here's what that means for your day-to-day."}],Sze=[{title:"Patient consultations",desc:"Analyze how clearly you're explaining diagnoses, treatment options, and next steps. Track your plain-language score over time."},{title:"Clinical handoffs",desc:"Team handoffs with ambiguous phrasing cause medical errors. SpeakFlare helps identify clarity issues before they become patient safety issues."},{title:"Medical education",desc:"Medical educators can use SpeakFlare to analyze lectures and teaching sessions — ensuring complex concepts are explained without unnecessary jargon."},{title:"Telemedicine calls",desc:"Remote consultations lose the visual cues that compensate for unclear verbal communication. Clarity matters even more when you're not in the room."}],Cze=[{step:"01",title:"Record a practice or real consultation",desc:"Use a practice scenario or connect your Zoom / telehealth platform. SpeakFlare supports 50+ languages."},{step:"02",title:"Get your patient communication analysis",desc:"Receive a full breakdown: jargon score, pacing, passive voice instances, and a clarity rating — all timestamped."},{step:"03",title:"Build habits that improve patient outcomes",desc:"Track your clarity score across every session. Research shows that clearer explanations lead directly to better treatment adherence."}];function AO(){const[,e]=ze();return n.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-background via-background to-primary/5 flex flex-col",children:[n.jsx(lt,{title:"AI Communication Analysis for Doctors and Healthcare Professionals | SpeakFlare",description:"SpeakFlare helps doctors and healthcare professionals communicate more clearly with patients — catching medical jargon, rushed explanations, and passive voice that reduces treatment adherence.",canonical:"https://speakflare.com/use-cases/healthcare",keywords:"medical communication analysis, AI for doctors, patient communication, plain language medicine, healthcare communication coaching, doctor patient communication, medical jargon checker, patient comprehension",pageType:"page",breadcrumbs:[{name:"Use Cases",url:"https://speakflare.com/use-cases"},{name:"Healthcare Professionals",url:"https://speakflare.com/use-cases/healthcare"}]}),n.jsx(He,{}),n.jsxs("main",{className:"flex-1",children:[n.jsx("section",{className:"py-20 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto text-center",children:[n.jsx("div",{className:"inline-flex items-center gap-2 bg-primary/10 text-primary px-4 py-1.5 rounded-full text-sm font-semibold mb-6",children:"🏥 Built for Healthcare Professionals"}),n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground to-primary bg-clip-text text-transparent",children:"Clear Communication Saves Lives — and Improves Patient Outcomes"}),n.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto mb-10",children:"Research shows patients understand only 50% of what their doctors tell them. SpeakFlare analyzes your consultations and tells you exactly where clarity breaks down — so your patients can actually follow through."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10 text-base",children:"Try with a Practice Consultation"}),n.jsxs(D,{size:"lg",variant:"outline",onClick:()=>e("/features"),className:"rounded-full px-10 text-base",children:["See How It Works ",n.jsx(At,{className:"ml-2 h-4 w-4"})]})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-4",children:"Free 30-second demo, no sign-up — then $5 for 20 recordings"})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"The medical communication gap"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:"Doctors spend years learning the language of medicine — and that's precisely the problem. The vocabulary that signals expertise to colleagues creates a wall between you and your patients."}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-6",children:[{stat:"50%",label:"Of medical information patients retain after a consultation",color:"text-red-500"},{stat:"40-80%",label:"Of information forgotten immediately after leaving the clinic",color:"text-orange-500"},{stat:"2x",label:"Better treatment adherence when patients fully understand instructions",color:"text-green-500"}].map(t=>n.jsxs(X,{className:"p-6 text-center",children:[n.jsx("div",{className:`text-4xl font-black mb-2 ${t.color}`,children:t.stat}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.label})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"What SpeakFlare catches in patient communication"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Four categories of communication patterns that directly impact whether patients understand and follow through on their care."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:Nze.map(t=>n.jsxs(X,{className:"p-6 hover:shadow-md transition-shadow",children:[n.jsx(t.icon,{className:`h-10 w-10 ${t.color} mb-4`}),n.jsx("h3",{className:"text-lg font-bold mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-y border-border/50",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"Plain language examples"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"The same information — one version the way most doctors say it, one version patients actually understand and remember."}),n.jsx("div",{className:"space-y-6",children:kze.map(t=>n.jsxs(X,{className:"p-6",children:[n.jsx("div",{className:"text-xs font-semibold uppercase tracking-widest text-muted-foreground mb-4",children:t.label}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[n.jsxs("div",{className:"rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-red-600 dark:text-red-400 mb-2",children:"Typical medical language"}),n.jsxs("p",{className:"text-sm italic text-red-800 dark:text-red-300",children:['"',t.weak,'"']})]}),n.jsxs("div",{className:"rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-4",children:[n.jsx("div",{className:"text-xs font-semibold text-green-600 dark:text-green-400 mb-2",children:"Patient-friendly version"}),n.jsxs("p",{className:"text-sm italic text-green-800 dark:text-green-300",children:['"',t.strong,'"']})]})]})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4 bg-primary/5 border-y border-primary/10",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("div",{className:"text-5xl font-black text-primary mb-4",children:"2x"}),n.jsx("h2",{className:"text-2xl font-bold mb-3",children:"Treatment adherence when patients understand their instructions"}),n.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto mb-8",children:"Patient satisfaction scores correlate directly with communication clarity — not wait times, not facility quality, not even outcome. The single biggest driver of how patients rate their care is whether they felt understood and whether they understood you."}),n.jsx("div",{className:"flex flex-wrap justify-center gap-6 text-center",children:[{stat:"93%",label:"Of patients say communication quality drives their trust in a doctor"},{stat:"4.8★",label:"Average SpeakFlare user rating"},{stat:"5 min",label:"To receive your full analysis"}].map(t=>n.jsxs("div",{className:"min-w-[140px]",children:[n.jsx("div",{className:"text-2xl font-bold",children:t.stat}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1 max-w-[140px]",children:t.label})]},t.label))})]})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-4",children:"Where healthcare professionals use SpeakFlare"}),n.jsx("p",{className:"text-center text-muted-foreground mb-12 max-w-xl mx-auto",children:"Every spoken medical interaction — from consultation to handoff to education — is an opportunity to communicate more clearly."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:Sze.map(t=>n.jsx(X,{className:"p-6",children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx(ut,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold text-base mb-1",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]})},t.title))})]})}),n.jsx("section",{className:"py-12 px-4",children:n.jsx("div",{className:"max-w-3xl mx-auto",children:n.jsx(X,{className:"p-6 border-blue-200 dark:border-blue-800 bg-blue-50/50 dark:bg-blue-950/20",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(Pr,{className:"h-8 w-8 text-blue-500 flex-shrink-0 mt-0.5"}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-bold text-base mb-1 text-blue-900 dark:text-blue-100",children:"A note on HIPAA & patient privacy"}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["SpeakFlare analyzes ",n.jsx("strong",{children:"how you speak"})," — your word choice, pacing, jargon density, and sentence structure — not the clinical content of your conversations. No protected health information (PHI) is stored or processed. Use it with practice scripts, de-identified recordings, or audio-only consultations where permitted by your institution."]})]})]})})})}),n.jsx("section",{className:"py-16 px-4",children:n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsx("h2",{className:"text-3xl sm:text-4xl font-bold text-center mb-12",children:"How it works"}),n.jsx("div",{className:"grid sm:grid-cols-3 gap-8",children:Cze.map(t=>n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"w-14 h-14 roun
943ded-full bg-primary/10 text-primary flex items-center justify-center text-xl font-black mx-auto mb-4",children:t.step}),n.jsx("h3",{className:"font-bold text-lg mb-2",children:t.title}),n.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.step))})]})}),n.jsx("section",{className:"py-16 px-4 bg-muted/30 border-t border-border/50",children:n.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:"Try with a practice consultation — free"}),n.jsx("p",{className:"text-muted-foreground mb-4 max-w-xl mx-auto",children:"Run through a sample patient scenario and get your full communication analysis before deciding anything. No credit card, no commitment, and no patient data required."}),n.jsx("ul",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-8 text-sm",children:["No PHI required","Works with recorded audio","50+ languages supported","Results in under 5 minutes"].map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground",children:[n.jsx(ut,{className:"h-4 w-4 text-primary flex-shrink-0"}),t]},t))}),n.jsx(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-12",children:"Start Free — No Credit Card"})]})})]}),n.jsx(Ut,{})]})}const Pze="h-11 w-11",Tze=({className:e})=>n.jsx("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[8,18,28,14,34,22,12,26].map((t,r)=>n.jsx("rect",{x:3+r*5,y:22-t/2,width:"3.4",height:t,rx:"1.7",fill:"currentColor",fillOpacity:.55+r%3*.2},r))}),Aze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("path",{d:"M22 6a16 16 0 0 1 16 16h-6a10 10 0 0 0-10-10z",fill:"currentColor",fillOpacity:"0.3"}),n.jsx("path",{d:"M6 22A16 16 0 0 1 22 6v6a10 10 0 0 0-10 10z",fill:"currentColor"}),n.jsx("circle",{cx:"22",cy:"22",r:"4",fill:"currentColor"})]}),Eze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("rect",{x:"6",y:"26",width:"8",height:"12",rx:"2",fill:"currentColor",fillOpacity:"0.45"}),n.jsx("rect",{x:"18",y:"18",width:"8",height:"20",rx:"2",fill:"currentColor",fillOpacity:"0.7"}),n.jsx("rect",{x:"30",y:"8",width:"8",height:"30",rx:"2",fill:"currentColor"})]}),Ize=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("circle",{cx:"22",cy:"22",r:"16",fill:"currentColor",fillOpacity:"0.22"}),n.jsx("circle",{cx:"22",cy:"22",r:"10",fill:"currentColor",fillOpacity:"0.45"}),n.jsx("circle",{cx:"22",cy:"22",r:"4.5",fill:"currentColor"})]}),_ze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("path",{d:"M8 30a14 14 0 0 1 28 0h-5a9 9 0 0 0-18 0z",fill:"currentColor",fillOpacity:"0.3"}),n.jsx("path",{d:"M22 30l10-6 2 3-9 6z",fill:"currentColor"}),n.jsx("circle",{cx:"22",cy:"30",r:"3.5",fill:"currentColor"})]}),Mze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("circle",{cx:"15",cy:"16",r:"10",fill:"currentColor"}),n.jsx("circle",{cx:"32",cy:"27",r:"6.5",fill:"currentColor",fillOpacity:"0.6"}),n.jsx("circle",{cx:"19",cy:"34",r:"3.5",fill:"currentColor",fillOpacity:"0.4"})]}),Oze=({className:e})=>n.jsx("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[10,22,34].map((t,r)=>n.jsxs("g",{children:[n.jsx("rect",{x:"6",y:t-5,width:"10",height:"10",rx:"2.5",fill:"currentColor",fillOpacity:r===2?.4:1}),r<2&&n.jsx("path",{d:`M8.4 ${t}l2 2 3.4-4`,stroke:"var(--card, #fff)",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),n.jsx("rect",{x:"21",y:t-1.4,width:"17",height:"2.8",rx:"1.4",fill:"currentColor",fillOpacity:.4+(2-r)*.25})]},r))}),Rze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("path",{d:"M6 34l9-8 8 5 15-16v23H6z",fill:"
943currentColor",fillOpacity:"0.28"}),[[6,34],[15,26],[23,31],[38,15]].map(([t,r],a)=>n.jsx("circle",{cx:t,cy:r,r:"3",fill:"currentColor"},a))]}),Fze=({className:e})=>n.jsx("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[[8,30,8],[17,24,14],[26,17,21],[35,9,29]].map(([t,r,a],s)=>n.jsx("rect",{x:t,y:r,width:"6",height:a,rx:"2",fill:"currentColor",fillOpacity:.4+s*.2},s))}),Dze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("rect",{x:"17",y:"6",width:"10",height:"19",rx:"5",fill:"currentColor"}),n.jsx("path",{d:"M12 21a10 10 0 0 0 20 0h-4a6 6 0 0 1-12 0z",fill:"currentColor",fillOpacity:"0.55"}),n.jsx("rect",{x:"20",y:"30",width:"4",height:"6",rx:"1.5",fill:"currentColor"}),n.jsx("rect",{x:"14",y:"35",width:"16",height:"3.4",rx:"1.7",fill:"currentColor"})]}),$ze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("path",{d:"M22 7l9 30H13z",fill:"currentColor",fillOpacity:"0.5"}),n.jsx("rect",{x:"12",y:"35",width:"20",height:"3.4",rx:"1.7",fill:"currentColor"}),n.jsx("path",{d:"M21 32l10-13 2.4 1.7L24 34z",fill:"currentColor"}),n.jsx("circle",{cx:"31",cy:"19",r:"3",fill:"currentColor"})]}),Lze=({className:e})=>n.jsxs("svg",{viewBox:"0 0 44 44",className:e,"aria-hidden":"true",children:[n.jsx("rect",{x:"7",y:"9",width:"30",height:"3.4",rx:"1.7",fill:"currentColor"}),n.jsx("rect",{x:"7",y:"18",width:"22",height:"7",rx:"2",fill:"currentColor",fillOpacity:"0.28"}),n.jsx("rect",{x:"7",y:"20",width:"22",height:"3.4",rx:"1.7",fill:"currentColor"}),n.jsx("rect",{x:"7",y:"31",width:"26",height:"3.4",rx:"1.7",fill:"currentColor",fillOpacity:"0.5"})]}),EO=[Tze,Aze,Eze,Ize,_ze,Mze,Oze,Rze,Fze,Dze,$ze,Lze];function zze(e){let t=0;for(let r=0;r<e.length;r++)t=t*31+e.charCodeAt(r)>>>0;return t}function Bze({seed:e,index:t=0,className:r}){const a=(zze(e)+t*5)%EO.length,s=EO[a];return n.jsx(s,{className:`${Pze} ${r||""}`})}const Wze=({className:e})=>n.jsx("svg",{viewBox:"0 0 16 16",className:e,"aria-hidden":"true",children:n.jsx("path",{d:"M6.4 11.6L3 8.2l1.2-1.2 2.2 2.2L11.8 4 13 5.2z",fill:"currentColor"})}),Uze=({className:e})=>n.jsx("svg",{viewBox:"0 0 16 16",className:e,"aria-hidden":"true",children:n.jsx("path",{d:"M8 11L2.5 4.5h11z",fill:"
943currentColor"})}),Vze="https://speakflare.com";function $r(e){var s;const[,t]=ze(),[r,a]=y.useState(0);return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(lt,{title:e.seoTitle,description:e.seoDescription,canonical:`${Vze}${e.canonicalPath}`,pageType:"page",breadcrumbs:e.breadcrumbs,faqItems:(s=e.faqs)==null?void 0:s.map(i=>({question:i.question,answer:i.answer}))}),n.jsx(He,{}),n.jsxs("main",{children:[n.jsx("section",{className:"relative overflow-hidden",children:n.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 pt-20 pb-16 text-center",children:[n.jsx("span",{className:"text-sm font-semibold uppercase tracking-widest text-primary",children:e.eyebrow}),n.jsx("h1",{className:"mt-4 text-4xl sm:text-5xl font-bold tracking-tight leading-tight",children:e.h1}),n.jsx("p",{className:"mt-6 text-lg text-muted-foreground max-w-2xl mx-auto leading-relaxed",children:e.intro}),n.jsxs("div",{className:"mt-8 flex flex-col sm:flex-row items-center justify-center gap-3",children:[n.jsx(D,{size:"lg",onClick:()=>t("/register"),className:"rounded-[4px] px-10 border-0",children:"Start Free — No Credit Card"}),n.jsx(D,{size:"lg",variant:"secondary",onClick:()=>t("/features"),className:"rounded-[4px] px-8 border-0",children:"See Features"})]}),n.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-x-6 gap-y-2",children:["Free 30-sec demo","No sign-up","50+ languages","Zoom & Google Meet"].map(i=>n.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(Wze,{className:"h-4 w-4 text-primary flex-shrink-0"}),i]},i))})]})}),n.jsx("section",{className:"py-16 bg-muted",children:n.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:e.featuresHeading}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:e.features.map((i,o)=>n.jsxs("div",{className:"bg-card rounded-[4px] p-7 shadow-[0_12px_44px_rgba(0,0,0,0.07)]",children:[n.jsx("div",{className:`mb-5 ${i.colorClass||"text-primary"}`,children:n.jsx(Bze,{seed:i.title,index:o})}),n.jsx("h3",{className:"text-lg font-semibold mb-2",children:i.title}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:i.desc})]},i.title))})]})}),n.jsx("section",{className:"py-16",children:n.jsxs("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-bold mb-6",children:e.bodyHeading}),n.jsx("div",{className:"space-y-5",children:e.bodyParagraphs.map((i,o)=>n.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:i},o))})]})}),e.faqs&&e.faqs.length>0&&n.jsx("section",{className:"py-16 bg-muted",children:n.jsxs("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-bold text-center mb-10",children:"Frequently Asked Questions"}),n.jsx("div",{className:"space-y-3",children:e.faqs.map((i,o)=>n.jsxs("div",{className:"bg-card rounded-[4px] overflow-hidden shadow-[0_6px_22px_rgba(0,0,0,0.05)]",children:[n.jsxs("button",{onClick:()=>a(r===o?null:o),className:"w-full flex items-center justify-between gap-4 px-6 py-5 text-left","data-testid":`faq-toggle-${o}`,children:[n.jsx("span",{className:"font-semibold",children:i.question}),n.jsx(Uze,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground transition-transform ${r===o?"rotate-180":""}`})]}),r===o&&n.jsx("div",{className:"px-6 pb-5 -mt-1 text-muted-foreground leading-relaxed",children:i.answer})]},o))})]})}),e.related&&e.related.length>0&&n.jsx("section",{className:"py-14",children:n.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[n.jsx("h2",{className:"text-xl font-semibold mb-5",children:e.relatedHeading||"Related"}),n.jsx("div",{className:"flex flex-wrap gap-3",children:e.related.map(i=>n.jsx("a",{href:i.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-primary bg-muted rounded-[4px] px-4 py-2 hover:bg-muted/70 transition-colors","data-testid":`related-${i.href}`,children:i.label},i.href))})]})}),n.jsx("section",{className:"py-20",children:n.jsx("div",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8",children:n.jsxs("div",{className:"text-center bg-card rounded-[6px] p-12 shadow-[0_30px_90px_rgba(0,0,0,0.12)]",children:[n.jsx("h2",{className:"text-3xl font-bold mb-4",children:e.ctaHeading}),n.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:e.ctaSub}),n.jsx(D,{size:"lg",onClick:()=>t("/register"),className:"rounded-[4px] px-12 border-0",children:"Start Free — No Credit Card"})]})})})]})]})}const qze="https://speakflare.com";function IO(){return n.jsx($r,{seoTitle:"AI Communication Coach — Free Feedback on Every Meeting | SpeakFlare",seoDescription:"SpeakFlare is a free AI communication coach that analyzes your Zoom and Google Meet conversations and shows you exactly how to communicate more clearly and persuasively. Free 30-second demo, no sign-up.",canonicalPath:"/ai-communication-coach",breadcrumbs:[{name:"AI Communication Coach",url:`${qze}/ai-communication-coach`}],eyebrow:"AI Communication Coach",h1:"An AI Communication Coach for Every Conversation",intro:"SpeakFlare listens to your real meetings and gives you private, specific feedback on how you actually communicate — clarity, confidence, structure, and persuasion. Works on Zoom and Google Meet in 50+ languages.",featuresHeading:"What Your AI Communication Coach Measures",features:[{icon:tn,colorClass:"text-primary",title:"Clarity & Phrasing",desc:"Flags ambiguous language, run-on sentences, and unclear references so your point always lands."},{icon:ei,colorClass:"text-blue-600",title:"Confidence Markers",desc:"Detects hedging, filler words, and pace problems that quietly undermine your authority."},{icon:rr,colorClass:"text-orange-600",title:"Structure & Persuasion",desc:"Scores the strength of your openings, transitions, and closings — the moments that decide outcomes."},{icon:it,colorClass:"text-green-600",title:"Progress Over Time",desc:"Every meeting feeds a dashboard so you can watch your communication improve week over week."}],bodyHeading:"Instant, Consistent, Always in the Room",bodyParagraphs:["A human communication coach is expensive, subjective, and never present when it actually matters. An AI communication coach is instant, consistent, and reviews every single word you say.","After a meeting, SpeakFlare transcribes the recording, identifies each speaker, and produces a communication report with concrete rewrites and drills — not vague advice.","Founders on investor calls, salespeople on demos, executives leading all-hands, and non-native English speakers all use SpeakFlare to turn every meeting into a coaching session."],faqs:[{question:"What is an AI communication coach?",answer:"An AI communication coach is software that analyzes your real conversations and gives feedback on clarity, confidence, filler words, and persuasion. SpeakFlare does this automatically after every Zoom and Google Meet call in 50+ languages."},{question:"Is SpeakFlare's AI communication coach free?",answer:"Yes. Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."},{question:"How is an AI coach better than a human communication coach?",answer:"An AI coach is instant, consistent, private, and reviews every word of every meeting — while a human coach is expensive, subjective, and rarely present when you actually speak."}],relatedHeading:"Explore more",related:[{label:"AI Speech Coach",href:"/ai-speech-coac
943h"},{label:"Filler Word Detector",href:"/tools/filler-word-counter"},{label:"Zoom Speech Coach",href:"/platforms/zoom-speech-coach"},{label:"Sales Call Coach",href:"/use-cases/sales-call-analysis"}],ctaHeading:"Coach every conversation.",ctaSub:"Connect Zoom or Google Meet and get private AI feedback after your very next call. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."})}const Hze="https://speakflare.com";function _O(){return n.jsx($r,{seoTitle:"AI Speech Coach — Free AI Speaking Coach for Every Call | SpeakFlare",seoDescription:"SpeakFlare is a free AI speech coach that analyzes your speaking on Zoom and Google Meet — filler words, pace, clarity, and grammar — and shows you how to speak more confidently. Free 30-second demo, no sign-up.",canonicalPath:"/ai-speech-coach",breadcrumbs:[{name:"AI Speech Coach",url:`${Hze}/ai-speech-coach`}],eyebrow:"AI Speech Coach",h1:"An AI Speech Coach That Never Misses a Word",intro:"SpeakFlare analyzes how you speak in real meetings and gives you the specific feedback a great speaking coach would — instantly, privately, after every single call. Zoom and Google Meet, 50+ languages.",featuresHeading:"What Your AI Speech Coach Analyzes",features:[{icon:Ze,colorClass:"text-primary",title:"Filler Words",desc:"Counts every um, uh, like, you know, and basically, then shows your fillers-per-minute rate."},{icon:ei,colorClass:"text-blue-600",title:"Speaking Pace",desc:"Measures your words per minute and flags where you rushed or dragged — 120–160 WPM is the sweet spot."},{icon:Jv,colorClass:"text-orange-600",title:"Clarity & Grammar",desc:"Catches unclear phrasing and grammar slips so every sentence sounds as sharp as you intend."},{icon:it,colorClass:"text-green-600",title:"Confidence Trend",desc:"Tracks your speaking score across sessions so you can prove your delivery is getting stronger."}],bodyHeading:"Practice Speaking Without a Human Coach",bodyParagraphs:["Traditional speech coaching costs hundreds per hour and disappears the moment the session ends. SpeakFlare is always on: record any call, upload any audio, or connect Zoom, and get a full speaking analysis in minutes.","Whether you are rehearsing a keynote, running a sales demo, or preparing for an interview, SpeakFlare acts as your AI public speaking coach — pinpointing the habits that undermine authority and drilling you until they are gone.","Progress charts track your filler rate, pace, and clarity across every session, so improvement is something you can measure, not just hope for."],faqs:[{question:"What is an AI speech coach?",answer:"An AI speech coach analyzes recordings of your speaking and gives feedback on filler words, pace, clarity, and confidence. SpeakFlare does this automatically after every Zoom and Google Meet call."},{question:"Can an AI speech coach help with public speaking?",answer:"Yes. SpeakFlare flags filler words, pace problems, and weak structure so you can rehearse presentations and keynotes until your delivery is clear and confident."},{question:"Is the AI speech coach free?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"Public Speaking Coach",href:"/use-cases/public-speaking"},{label:"Communication Skills Test",href:"/tools/communication-skills-test"},{label:"How to Stop Saying Um",href:"/blog/how-to-stop-saying-um"}],ctaHeading:"Speak with confidence.",ctaSub:"Get an AI speaking analysis after your next call — filler words, pace, and clarity in one report. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."})}const MO="https://speakflare.com";function OO(){return n.jsx($r,{seoTitle:"Zoom Speech Coach — AI Analysis of Every Zoom Call | SpeakFlare",seoDescription:"Connect Zoom and let SpeakFlare's AI automatically analyze every call — filler words, clarity, grammar, and pace. Private speaking feedback after every meeting. Free 30-second demo, no sign-up.",canonicalPath:"/platforms/zoom-speech-coac
943h",breadcrumbs:[{name:"Platforms",url:`${MO}/integrations`},{name:"Zoom Speech Coach",url:`${MO}/platforms/zoom-speech-coach`}],eyebrow:"Zoom Speech Coach",h1:"Automatic AI Feedback on Every Zoom Call",intro:"Connect your Zoom account once and SpeakFlare analyzes every call automatically. Nothing to remember, nothing to press — just a private report on your filler words, clarity, grammar, and pace after each meeting.",featuresHeading:"How the Zoom Integration Works",features:[{icon:ca,colorClass:"text-primary",title:"Connect Once via OAuth",desc:"Securely link Zoom in seconds. SpeakFlare receives your cloud recording through Zoom's webhook automatically."},{icon:Ur,colorClass:"text-blue-600",title:"Analyzed Automatically",desc:"Every call is transcribed with AssemblyAI, speakers are identified, and the full AI analysis runs on its own."},{icon:Wt,colorClass:"text-orange-600",title:"Per-Speaker Breakdown",desc:"See each participant's filler rate, clarity, and pace — ideal for sales teams reviewing demo calls."},{icon:Ju,colorClass:"text-green-600",title:"Private by Design",desc:"Recordings are never sold and never used to train AI models. You own your data and can delete it anytime."}],bodyHeading:"Turn Back-to-Back Zoom Meetings Into Coaching",bodyParagraphs:["If your day lives on Zoom, SpeakFlare turns every one of those calls into a coaching opportunity without adding a single step to your workflow.","After each meeting you get per-speaker filler counts, clarity and grammar issues, words-per-minute pace, and the strength of your openings and closings.","Managers use the team dashboard to spot coaching opportunities across the whole team without listening to hours of recordings."],faqs:[{question:"How does SpeakFlare connect to Zoom?",answer:"You connect Zoom once with secure OAuth. SpeakFlare then receives your cloud recordings via Zoom's webhook and analyzes each call automatically — no manual uploads."},{question:"Is my Zoom data private?",answer:"Yes. Recordings are encrypted, never sold, and never used to train AI models. You retain full ownership and can delete your data at any time."},{question:"Is it free?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Google Meet Speech Coach",href:"/platforms/google-meet-speech-coach"},{label:"AI Speech Coach",href:"/ai-speech-coach"},{label:"Sales Call Coach",href:"/use-cases/sales-call-analysis"}],ctaHeading:"Coach every Zoom call.",ctaSub:"Connect Zoom and get an AI analysis after your very next meeting. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."})}const RO="https://speakflare.com";function FO(){return n.jsx($r,{seoTitle:"Google Meet Speech Coach — AI Analysis of Every Meet Call | SpeakFlare",seoDescription:"SpeakFlare's Chrome extension turns Google Meet into a speech coach — automatic AI feedback on filler words, clarity, grammar, and pace after every call. Free 30-second demo, no sign-up.",canonicalPath:"/platforms/google-meet-speech-coach",breadcrumbs:[{name:"Platforms",url:`${RO}/integrations`},{name:"Google Meet Speech Coach",url:`${RO}/platforms/google-meet-speech-coach`}],eyebrow:"Google Meet Speech Coach",h1:"AI Feedback on Every Google Meet Call",intro:"Install SpeakFlare's lightweight Chrome extension once and every Google Meet call is captured and analyzed automatically — a private report on your filler words, clarity, grammar, and pace after each meeting.",featuresHeading:"How the Google Meet Integration Works",features:[{icon:ki,colorClass:"text-primary",title:"One Chrome Extension",desc:"Install it once, log in, and join your next Google Meet. The extension captures the call audio in your browser."},{icon:Ur,colorClass:"text-blue-600",title:"Analyzed Automatically",desc:"Audio is transcribed and run through the same AI analysis SpeakFlare uses for Zoom — no manual steps."},{icon:Wt,colorClass:"text-orange-600",title:"Per-Speaker Breakdown",desc:"Filler rate, clarity, and pace for each participant, ideal for distributed teams and remote sales."},{icon:Ju,colorClass:"text-green-600",title:"Private by Design",desc:"Recordings are never sold and never used to train AI models. You keep full ownership of your data."}],bodyHeading:"Improve Without Leaving Google Meet",bodyParagraphs:["SpeakFlare fits into the tool you already use. There is no separate app to open and no recordings to upload — just install the extension and speak.","After each call you get filler-word rate, unclear phrasing, grammar issues, words-per-minute pace, and the strength of your openings and closings.","Remote teams, founders, and salespeople use it to raise the whole team's communication bar, one call at a time."],faqs:[{question:"How does SpeakFlare work with Google Meet?",answer:"Install the SpeakFlare Chrome extension, log in, and join your Google Meet. The extension captures the call audio in your browser and analyzes it automatically."},{question:"Is my Google Meet data private?",answer:"Yes. Recordings are encrypted, never sold, and never used to train AI models. You can delete your data at any time."},{question:"Is it free?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Zoom Speech Coach",href:"/platforms/zoom-speech-coac
943h"},{label:"Chrome Extension",href:"/extension-preview"},{label:"Remote Teams",href:"/use-cases/remote-teams"}],ctaHeading:"Coach every Google Meet call.",ctaSub:"Install the Chrome extension and get an AI analysis after your very next call. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."})}const DO="https://speakflare.com";function $O(){return n.jsx($r,{seoTitle:"AI Presentation Coach — Rehearse & Score Your Talk | SpeakFlare",seoDescription:"SpeakFlare is an AI presentation coach that scores your rehearsals and live talks on filler words, pace, structure, and clarity — then shows exactly what to fix. Free 30-second demo, no sign-up.",canonicalPath:"/use-cases/presentation-coach",breadcrumbs:[{name:"Use Cases",url:`${DO}/features`},{name:"Presentation Coach",url:`${DO}/use-cases/presentation-coach`}],eyebrow:"AI Presentation Coach",h1:"Score Every Rehearsal, Command Every Room",intro:"SpeakFlare turns every rehearsal into measurable feedback. Record a run-through or upload your talk and get scored on the four things that separate a forgettable presentation from a commanding one: fillers, pace, structure, and clarity.",featuresHeading:"What a Presentation Coach Should Measure",features:[{icon:Ate,colorClass:"text-primary",title:"Structure Scoring",desc:"Separate scores for your intro, body, and conclusion, so you see exactly where the talk loses shape."},{icon:Yv,colorClass:"text-red-500",title:"Filler Heat Map",desc:"See where fillers cluster — usually at transitions, where nerves spike — and smooth them out."},{icon:ei,colorClass:"text-blue-600",title:"Pace Control",desc:"Confirms your 120–160 words-per-minute pace holds throughout, flagging the sections where you rush."},{icon:F2,colorClass:"text-orange-600",title:"Rehearse & Repeat",desc:"Run your talk as many times as you like. Each session is scored and stored to show your progress."}],bodyHeading:"For Keynotes, Pitches, and Demos",bodyParagraphs:["Whether it is a conference keynote, an investor pitch, or a product demo, SpeakFlare is the presentation coach in your pocket — objective, always available, and focused on the habits that actually move an audience.","Practice without feedback just cements bad habits. SpeakFlare scores each rehearsal so every run genuinely gets better than the last.","By the time you step in front of the real audience, your filler rate is down, your structure is tight, and your pace is under control."],faqs:[{question:"How does an AI presentation coach work?",answer:"You record a rehearsal or upload your talk, and SpeakFlare scores it on filler words, pace, structure, and clarity — with a filler heat map showing exactly where to improve."},{question:"Can I rehearse the same presentation multiple times?",answer:"Yes. Every run-through is scored and stored, so you can watch your filler rate drop and your structure tighten across sessions before the real thing."},{question:"Is it free?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Public Speaking Coach",href:"/use-cases/public-speaking"},{label:"AI Speech Coach",href:"/ai-speech-coach"},{label:"Public Speaking Tips",href:"/blog/public-speaking-tips"}],ctaHeading:"Rehearse smarter.",ctaSub:"Score your next rehearsal on fillers, pace, structure, and clarity. Free 30-second demo, no sign-up."})}const Gze="https://speakflare.com";function LO(){return n.jsx($r,{seoTitle:"Best App for Communication Skills — Free AI Coach | SpeakFlare",seoDescription:"Looking for the best app to improve communication skills? SpeakFlare analyzes your real conversations for filler words, clarity, and confidence, then tracks your progress. Free to start, no credit card.",canonicalPath:"/best-communication-skills-app",breadcrumbs:[{name:"Best Communication Skills App",url:`${Gze}/best-communication-skills-app`}],eyebrow:"Best Communication Skills App",h1:"The Best App to Improve Your Communication Skills",intro:"Most communication apps make you do drills that never touch your real conversations. SpeakFlare is different: it analyzes the meetings 
943you already have on Zoom and Google Meet, then shows you exactly what to improve. Free to start, no credit card.",featuresHeading:"Why SpeakFlare Is the Best Choice",features:[{icon:Ur,colorClass:"text-primary",title:"Works on Real Conversations",desc:"Not synthetic exercises — SpeakFlare scores your actual meetings and calls, so the feedback is relevant to how you really speak."},{icon:it,colorClass:"text-green-600",title:"Measurable Progress",desc:"Track your communication score, filler rate, and clarity over weeks and months. Improvement you can prove."},{icon:ti,colorClass:"text-blue-600",title:"50+ Languages",desc:"Automatic language detection with native filler-word lists and grammar rules for each language."},{icon:Ju,colorClass:"text-orange-600",title:"Private & Free to Start",desc:"Free 30-second demo in your browser, no sign-up — then $5 unlocks 20 full recording analyses. Recordings are never sold or used to train AI."}],bodyHeading:"What to Look for in a Communication Skills App",bodyParagraphs:["The best communication skills app should measure the four things that actually shape how you come across: clarity of phrasing, filler-word rate, speaking pace, and confidence. SpeakFlare scores all four automatically.","It should fit into your day instead of adding homework. SpeakFlare connects to the meetings you already have — no extra practice sessions required.","And it should show progress you can trust. Every analysis feeds a dashboard so you can watch your habits improve session after session."],faqs:[{question:"What is the best app to improve communication skills?",answer:"SpeakFlare is a strong choice because it analyzes your real Zoom and Google Meet conversations for filler words, clarity, pace, and confidence, then tracks your progress over time — free to start with no credit card."},{question:"Is there a free communication skills app?",answer:"Yes. Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."},{question:"Do I need to do practice exercises?",answer:"No. SpeakFlare works on the meetings you already have, so you improve from real conversations instead of artificial drills."}],relatedHeading:"Explore more",related:[{label:"Free Speech Analysis (No Sign-Up)",href:"/tools/free-speech-analysis"},{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"Communication Skills Test",href:"/tools/communication-skills-test"}],ctaHeading:"Try the best communication app free.",ctaSub:"Analyze your speaking in seconds — no credit card, no commitment. Improve from your very next conversation."})}const jj="https://speakflare.com",zO=["um","uh","erm","hmm","like","you know","i mean","sort of","kind of","basically","actually","literally","so","well","right","okay","just","really"];function Kze(e,t){const r=e.toLowerCase().replace(/[.,!?;:]/g," "),s=r.split(/\s+/).filter(Boolean).length,i={};let o=` ${r} `;zO.filter(p=>p.includes(" ")).forEach(p=>{const x=new RegExp(`\\s${p.replace(/ /g,"\\s")}\\s`,"g"),v=o.match(x);v&&(i[p]=v.length,o=o.replace(x," "))});const l=o.split(/\s+/).filter(Boolean);zO.filter(p=>!p.includes(" ")).forEach(p=>{const x=l.filter(v=>v===p).length;x&&(i[p]=x)});const c=Object.values(i).reduce((p,x)=>p+x,0),d=Object.entries(i).map(([p,x])=>({word:p,count:x})).sort((p,x)=>x.count-p.count).slice(0,4),u=Math.max(t/60,.05),m=Math.round(s/u),h=Math.round(c/u*10)/10;let f=100;f-=Math.min(45,h*6),m>0&&(m<110&&(f-=Math.min(20,(110-m)/3)),m>170&&(f-=Math.min(20,(m-170)/4))),f=Math.max(20,Math.round(f));let b="Strong, clear delivery";f<55?b="A lot of room to grow":f<75&&(b="Solid, with clear fixes");let g="Your pace and filler rate are in a good range. Keep recording your real calls to hold the habit.";return h>=6?g=`You averaged ${h} fillers per minute. Replace each "um" with a short silent pause — it reads as confidence.`:m>170?g=`You spoke at ${m} words per minute — a touch fast. Aim for 120–160 so key points land.`:m>0&&m<110&&(g=`You spoke at ${m} words per minute — a little slow. A touch more energy keeps listeners engaged.`),{words:s,seconds:t,wpm:m,fillerCount:c,fillersPerMin:h,topFillers:d,score:f,headline:b,tip:g}}function BO(){const[,e]=ze(),[t,r]=y.useState(!0),[a,s]=y.useState("idle"),[i,o]=y.useState(0),[l,c]=y.useState(""),[d,u]=y.useState(""),[m,h]=y.useState(null),[f,b]=y.useState(""),[g,p]=y.useState(!1),[x,v]=y.useState(""),w=y.useRef(null),N=y.useRef(""),j=y.useRef(0),k=y.useRef(null);y.useEffect(()=>(window.SpeechRecognition||window.webkitSpeechRecognition||r(!1),()=>{var R;try{(R=w.current)==null||R.stop()}catch{}k.current&&clearInterval(k.current)}),[]);const S=()=>{const I=window.SpeechRecognition||window.webkitSpeechRecognition;if(!I){r(!1);return}const R=new I;R.continuous=!0,R.interimResults=!0,R.lang=navigator.language||"en-US",N.current="",c(""),u(""),h(null),o(0),R.onresult=P=>{let M="";for(let O=P.resultIndex;O<P.results.length;O++){const $=P.results[O][0].transcript;P.results[O].isFinal?N.current+=$+" ":M+=$}c(N.current),u(M)},R.onerror=P=>{(P.error==="not-allowed"||P.error==="service-not-allowed")&&r(!1)},R.onend=()=>{},w.current=R,j.current=Date.now(),R.start(),s("recording"),k.current=setInterval(()=>{const P=Math.floor((Date.now()-j.current)/1e3);o(P),P>=60&&C()},250)},C=()=>{var P;k.current&&clearInterval(k.current);try{(P=w.current)==null||P.stop()}catch{}const I=Math.max(1,Math.floor((Date.now()-j.current)/1e3)),R=(N.current+" "+d).trim();
943s("done"),R.split(/\s+/).filter(Boolean).length>=3?h(Kze(R,I)):h(null)},A=()=>{s("idle"),o(0),c(""),u(""),h(null),p(!1),b(""),v("")},T=async()=>{if(v(""),!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(f)){v("Enter a valid email");return}try{await fetch("/api/leads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:f,source:"free-speech-analysis",score:(m==null?void 0:m.score)??null,fillersPerMin:(m==null?void 0:m.fillersPerMin)??null})}),p(!0)}catch{p(!0)}},E=`${Math.floor(i/60)}:${String(i%60).padStart(2,"0")}`;return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(lt,{title:"Free Speech Analysis — No Sign-Up, Instant AI Feedback | SpeakFlare",description:"Analyze your speaking for free with no sign-up. Speak for up to 60 seconds and get instant AI feedback on filler words, pace, and clarity — right in your browser. No credit card, no account.",canonical:`${jj}/tools/free-speech-analysis`,pageType:"page",breadcrumbs:[{name:"Tools",url:`${jj}/features`},{name:"Free Speech Analysis",url:`${jj}/tools/free-speech-analysis`}],faqItems:[{question:"Can I analyze my speaking for free without signing up?",answer:"Yes. This tool runs entirely in your browser — speak for up to 60 seconds and get instant feedback on filler words, pace, and clarity. No account, no credit card."},{question:"How accurate is the free analysis?",answer:"The instant tool uses your browser's speech recognition for a quick read. For accurate, automatic analysis of every Zoom and Google Meet call in 50+ languages, connect SpeakFlare — no sign-up for the demo, and $5 unlocks 20 full recording analyses."}]}),n.jsx(He,{}),n.jsxs("main",{children:[n.jsxs("section",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 pt-16 pb-10 text-center",children:[n.jsx("span",{className:"text-sm font-semibold uppercase tracking-widest text-primary",children:"Free Speech Analysis"}),n.jsx("h1",{className:"mt-4 text-4xl sm:text-5xl font-bold tracking-tight",children:"Analyze Your Speaking Free — No Sign-Up"}),n.jsx("p",{className:"mt-5 text-lg text-muted-foreground max-w-2xl mx-auto",children:"Tap record, speak for up to 60 seconds, and get instant feedback on your filler words, pace, and clarity. It runs right in your browser — no account, no credit card."})]}),n.jsx("section",{className:"max-w-2xl mx-auto px-4 sm:px-6 lg:px-8 pb-10",children:n.jsx("div",{className:"bg-card border border-border rounded-3xl p-8 sm:p-10",children:t?a==="idle"?n.jsxs("div",{className:"text-center",children:[n.jsx("button",{onClick:S,"data-testid":"button-start-recording",className:"mx-auto flex h-24 w-24 items-center justify-center rounded-full bg-primary text-primary-foreground hover:opacity-90 transition-opacity shadow-lg","aria-label":"Start recording",children:n.jsx(Ze,{className:"h-10 w-10"})}),n.jsx("p",{className:"mt-5 text-sm text-muted-foreground",children:"Tap to start · up to 60 seconds"})]}):a==="recording"?n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"mx-auto flex h-24 w-24 items-center justify-center rounded-full bg-red-500/10 border-2 border-red-500 animate-pulse",children:n.jsx("span",{className:"text-2xl font-bold tabular-nums text-red-500",children:E})}),n.jsx("p",{className:"mt-5 text-sm text-muted-foreground",children:"Recording — speak naturally about anything"}),n.jsxs("div",{className:"mt-6 min-h-[80px] rounded-xl bg-muted/50 p-4 text-left text-sm text-foreground/80",children:[l,n.jsx("span",{className:"text-muted-foreground",children:d}),!l&&!d&&n.jsx("span",{className:"text-muted-foreground",children:"Your words will appear here…"})]}),n.jsxs(D,{onClick:C,variant:"outline",className:"mt-6 rounded-full px-8","data-testid":"button-stop-recording",children:[n.jsx(cp,{className:"mr-2 h-4 w-4 fill-current"})," Stop & Analyze"]})]}):n.jsx("div",{children:m?n.jsxs("div",{children:[n.jsxs("div",{className:"text-center mb-8",children:[n.jsxs("div",{className:"inline-flex items-baseline gap-1",children:[n.jsx("span",{className:"text-6xl font-bold text-primary",children:m.score}),n.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:"mt-2 text-lg font-semibold",children:m.headline})]}),n.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[n.jsxs("div",{className:"rounded-xl border border-border p-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold",children:m.fillerCount}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"filler words"})]}),n.jsxs("div",{className:"rounded-xl border border-border p-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold",children:m.fillersPerMin}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"per minute"})]}),n.jsxs("div",{className:"rounded-xl border border-border p-4 text-center",children:[n.jsx("div",{className:"text-2xl font-bold",children:m.wpm}),n.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:"words / min"})]})]}),m.topFillers.length>0&&n.jsxs("div",{className:"mb-6",children:[n.jsx("p",{className:"text-sm font-medium mb-2",children:"Your top fillers"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:m.topFillers.map(I=>n.jsxs("span",{className:"text-sm border border-border rounded-full px-3 py-1",children:['"',I.word,'" × ',I.count]},I.word))})]}),n.jsxs("div",{className:"rounded-xl bg-primary/5 border border-primary/20 p-4 mb-8 flex gap-3",children:[n.jsx(oc,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5"}
943),n.jsx("p",{className:"text-sm text-foreground/90",children:m.tip})]}),g?n.jsxs("div",{className:"rounded-2xl bg-green-500/10 border border-green-500/30 p-5 mb-4 flex items-center gap-3",children:[n.jsx(ut,{className:"h-5 w-5 text-green-600"}),n.jsx("p",{className:"text-sm",children:"On its way. Check your inbox for your report and 7-day plan."})]}):n.jsxs("div",{className:"rounded-2xl bg-muted/40 border border-border p-5 mb-4",children:[n.jsx("p",{className:"font-semibold mb-1",children:"Get your full report + a 7-day improvement plan"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"We'll email your detailed breakdown and a simple plan to cut fillers this week."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[n.jsx(Et,{type:"email",placeholder:"[email protected]",value:f,onChange:I=>b(I.target.value),"data-testid":"input-report-email",className:"rounded-full"}),n.jsx(D,{onClick:T,className:"rounded-full px-6 whitespace-nowrap","data-testid":"button-send-report",children:"Email My Report"})]}),x&&n.jsx("p",{className:"text-xs text-red-500 mt-2",children:x})]}),n.jsxs("div",{className:"text-center",children:[n.jsxs(D,{size:"lg",onClick:()=>e("/register"),className:"rounded-full px-10","data-testid":"button-register-cta",children:["Track Every Call Automatically — Free",n.jsx(At,{className:"ml-2 h-4 w-4"})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Connect Zoom or Google Meet and SpeakFlare analyzes every call in 50+ languages. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."}),n.jsxs("button",{onClick:A,className:"mt-4 inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground","data-testid":"button-record-again",children:[n.jsx(Kh,{className:"h-4 w-4"})," Record again & beat your score"]})]})]}):n.jsxs("div",{className:"text-center",children:[n.jsx(Vs,{className:"h-10 w-10 text-orange-500 mx-auto mb-4"}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"We didn't catch enough words to analyze. Make sure your microphone is on and try speaking for a few more seconds."}),n.jsxs(D,{onClick:A,className:"rounded-full px-8","data-testid":"button-try-again",children:[n.jsx(Kh,{className:"mr-2 h-4 w-4"})," Try Again"]})]})}):n.jsxs("div",{className:"text-center",children:[n.jsx(Vs,{className:"h-10 w-10 text-orange-500 mx-auto mb-4"}),n.jsx("h2",{className:"text-xl font-semibold mb-2",children:"Your browser needs microphone access"}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"This instant tool uses your browser's speech recognition (works best in Chrome, Edge, and Safari). Allow the microphone, or get accurate automatic analysis of every call with a free SpeakFlare account."}),n.jsx(D,{onClick:()=>e("/register"),className:"rounded-full px-8",children:"Start Free — No Credit Card"})]})})}),n.jsxs("section",{className:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 py-12 border-t border-border/50",children:[n.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Analyze My Speaking — Free, No Sign-Up Required"}),n.jsxs("div",{className:"space-y-4 text-muted-foreground leading-relaxed",children:[n.jsx("p",{children:"This free speech analysis tool runs entirely in your browser. Speak for up to 60 seconds and instantly see your filler-word count, fillers-per-minute rate, speaking pace in words per minute, and a 0–100 delivery score — with no account, no credit card, and no wait."}),n.jsx("p",{children:`It's the fastest way to hear how you actually sound. Most people are surprised by how many times "um," "like," and "you know" slip in, and by whether they rush when nervous.`}),n.jsx("p",{children:"For accurate, automatic analysis of every meeting — across Zoom, Google Meet, and 50+ languages, with per-speaker breakdowns and progress tracking — connect SpeakFlare. Try a free 30-second demo — no sign-up — then $5 unlocks 20 full recording analyses, with credits that never expire."})]}),n.jsx("div",{className:"mt-6 flex flex-wrap gap-3",children:[{label:"Filler Word Detector",href:"/tools/filler-word-counter"}
943,{label:"AI Speech Coach",href:"/ai-speech-coach"},{label:"Communication Skills Test",href:"/tools/communication-skills-test"},{label:"How to Stop Saying Um",href:"/blog/how-to-stop-saying-um"}].map(I=>n.jsxs("a",{href:I.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-primary border border-border rounded-full px-4 py-2 hover:bg-muted transition-colors",children:[I.label,n.jsx(At,{className:"h-3.5 w-3.5"})]},I.href))})]})]}),n.jsx(Ut,{})]})}const WO="https://speakflare.com";function UO(){return n.jsx($r,{seoTitle:"Investor Presentation & Investment Banking Speech Training | SpeakFlare",seoDescription:"AI presentation and speech training for investment banking and investor pitches. SpeakFlare scores your delivery on clarity, filler words, pace, and structure so your pitch commands the room. Free to start.",canonicalPath:"/use-cases/investment-banking",breadcrumbs:[{name:"Use Cases",url:`${WO}/features`},{name:"Investment Banking",url:`${WO}/use-cases/investment-banking`}],eyebrow:"Investor Presentation Training",h1:"Investor Presentation & Investment Banking Speech Training",intro:"In banking, delivery is capital. SpeakFlare is AI presentation training for pitches, IC meetings, and investor calls — scoring your clarity, filler words, pace, and structure so every word carries the authority the numbers deserve.",featuresHeading:"Built for High-Stakes Financial Communication",features:[{icon:F2,colorClass:"text-primary",title:"Pitch & Deck Delivery",desc:"Score how you present the deck: structure, transitions, and the strength of your open and close — the moments that move a room."},{icon:ei,colorClass:"text-blue-600",title:"Fluency & Pace",desc:"Verbal fluency training that flags hedging, filler words, and rushed pace under pressure, where credibility is won or lost."},{icon:it,colorClass:"text-green-600",title:"Rehearse to a Score",desc:"Run your pitch as many times as you like. Each rehearsal is scored and stored so you walk in sharp."},{icon:Ju,colorClass:"text-orange-600",title:"Private & Secure",desc:"Recordings are encrypted, never sold, and never used to train AI models. You retain full ownership."}],bodyHeading:"Why Fluency Training Matters in Banking",bodyParagraphs:["Analysts and associates are judged on precision and poise. A pitch full of 'um,' hedging, and rushed delivery undercuts even the strongest analysis. SpeakFlare makes those habits visible and measurable.","SpeakFlare works on real rehearsals and live calls on Zoom and Google Meet, giving per-speaker feedback that managing directors can use to coach entire deal teams.","From investor presentation training to executive speech fluency, SpeakFlare turns high-stakes speaking into a skill you can measure and improve."],faqs:[{question:"How does SpeakFlare help with investor presentations?",answer:"SpeakFlare scores your pitch delivery on clarity, filler words, pace, and structure, with separate scores for your intro, body, and conclusion, so you can rehearse to a strong, confident delivery."},{question:"Is this useful for investment banking teams?",answer:"Yes. It provides per-speaker analysis of rehearsals and live calls so senior bankers can coach analysts and associates on fluency and poise under pressure."},{question:"Is it free to try?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Presentation Coach",href:"/use-cases/presentation-coach"},{label:"Finance & Executive Fluency",href:"/use-cases/finance-professionals"},{label:"AI Speech Coach",href:"/ai-speech-coach"}],ctaHeading:"Pitch with authority.",ctaSub:"Rehearse your next investor presentation and get scored on clarity, fluency, pace, and structure. Free to start, no credit card."})}const VO="https://speakflare.com";function qO(){return n.jsx($r,{seoTitle:"Verbal Fluency & Executive Speech Training for Professionals | SpeakFlare",seoDescription:"Verbal fluency training for finance professionals and executives. SpeakFlare analyzes your speaking for filler words, pace, and clarity, building the fluent, confident delivery leadership demands. Free to start.",canonicalPath:"/use-cases/finance-professionals",breadcrumbs:[{name:"Use Cases",url:`${VO}/features`},{name:"Finance & Executive",url:`${VO}/use-cases/finance-professionals`}],eyebrow:"Executive Fluency Training",h1:"Verbal Fluency & Executive Speech Training",intro:"Fluency is a leadership signal. SpeakFlare is verbal fluency training for finance professionals and executives — measuring filler words, pace, and clarity on your real calls so you speak with the command your role requires.",featuresHeading:"Train the Fluency Leaders Are Judged On",features:[{icon:Ze,colorClass:"text-primary",title:"Filler & Hedge Detection",desc:"Cat
943ches the 'um,' 'sort of,' and 'I think maybe' that quietly erode executive authority."},{icon:ei,colorClass:"text-blue-600",title:"Pace & Poise",desc:"Measures your words-per-minute and flags rushing under pressure, so you stay measured and deliberate."},{icon:Wt,colorClass:"text-orange-600",title:"Board & Team Calls",desc:"Per-speaker analysis of board updates, all-hands, and 1:1s on Zoom and Google Meet."},{icon:it,colorClass:"text-green-600",title:"Fluency Over Time",desc:"Track your fluency and clarity scores across weeks to prove measurable improvement."}],bodyHeading:"Fluency Training Without a Coach on Retainer",bodyParagraphs:["Executive communication coaching costs hundreds per hour and is never in the room for the meeting that matters. SpeakFlare gives you the same feedback instantly, privately, after every call.","It analyzes real conversations rather than artificial drills, so the fluency gains transfer directly to the boardroom, the earnings call, and the all-hands.","For finance professionals specifically, SpeakFlare pairs fluency training with clarity scoring so complex ideas land simply and with confidence."],faqs:[{question:"What is verbal fluency training?",answer:"Verbal fluency training builds smooth, confident speech by reducing filler words, controlling pace, and improving clarity. SpeakFlare does this by analyzing your real conversations and tracking your fluency score over time."},{question:"Is this good for executives and finance professionals?",answer:"Yes. SpeakFlare targets the hedging, fillers, and pace problems that undermine authority in board updates, earnings calls, and leadership meetings."},{question:"Is it free to start?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Investment Banking",href:"/use-cases/investment-banking"},{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"Presentation Coach",href:"/use-cases/presentation-coach"}],ctaHeading:"Lead with fluency.",ctaSub:"Analyze your next executive call for fillers, pace, and clarity. Free to start, no credit card."})}const HO="https://speakflare.com";function GO(){return n.jsx($r,{seoTitle:"Microsoft Teams Speech & Communication Analysis | SpeakFlare",seoDescription:"Analyze your Microsoft Teams calls with SpeakFlare's AI — filler words, clarity, pace, and confidence. Record any Teams meeting and get speaking feedback. Free 30-second demo, no sign-up.",canonicalPath:"/platforms/microsoft-teams-speech-coach",breadcrumbs:[{name:"Platforms",url:`${HO}/integrations`},{name:"Microsoft Teams",url:`${HO}/platforms/microsoft-teams-speech-coach`}],eyebrow:"Microsoft Teams Speech Analysis",h1:"AI Speech & Communication Analysis for Microsoft Teams",intro:"SpeakFlare brings AI speech analysis to your Microsoft Teams calls — filler words, clarity, pace, and confidence. Record any Teams meeting or upload the recording and get a private speaking report in minutes.",featuresHeading:"How SpeakFlare Analyzes Teams Calls",features:[{icon:ca,colorClass:"text-primary",title:"Record or Upload",desc:"Capture your Teams call with the SpeakFlare recorder or upload a Teams recording (MP4/M4A/WAV) for full analysis."},{icon:Ur,colorClass:"text-blue-600",title:"Automatic AI Analysis",desc:"Every recording is transcribed and scored on filler words, clarity, grammar, and pace — no manual review."},{icon:Wt,colorClass:"text-orange-600",title:"Per-Speaker Breakdown",desc:"Speaker diarization separates each participant, ideal for teams reviewing collaboration and communication."},{icon:Ju,colorClass:"text-green-600",title:"Private by Design",desc:"Recordings are encrypted, never sold, and never used to train AI models. You own your data."}],bodyHeading:"Teams Voice & Communication Analytics",bodyParagraphs:["Microsoft Teams is where much of modern work happens. SpeakFlare turns those calls into communication analytics: how often you fill pauses, whether your pace holds, and how clearly your points land.","Upload a Teams recording or use SpeakFlare's recorder to capture the call, then get the same four-dimension analysis SpeakFlare runs for Zoom and Google Meet.","Native Teams auto-capture is on our roadmap — today y
943ou can already analyze any Teams call by recording or uploading it."],faqs:[{question:"Can SpeakFlare analyze Microsoft Teams calls?",answer:"Yes. You can record your Teams call with SpeakFlare's recorder or upload a Teams recording, and SpeakFlare will analyze filler words, clarity, pace, and confidence per speaker."},{question:"Does SpeakFlare integrate directly with Teams?",answer:"You can analyze any Teams call today by recording or uploading it. Native Teams auto-capture, like the Zoom and Google Meet integrations, is on the roadmap."},{question:"Is it free?",answer:"Try a free 30-second demo in your browser — no sign-up. When you're ready, $5 unlocks 20 full recording analyses (credits never expire), or go Pro unlimited for $12/month or $99/year."}],relatedHeading:"Explore more",related:[{label:"Zoom Speech Coach",href:"/platforms/zoom-speech-coach"},{label:"Google Meet Speech Coach",href:"/platforms/google-meet-speech-coach"},{label:"Remote Teams",href:"/use-cases/remote-teams"}],ctaHeading:"Analyze your Teams calls.",ctaSub:"Record or upload a Microsoft Teams meeting and get an AI speaking report. Free 30-second demo, no sign-up — then $5 unlocks 20 full recording analyses."})}const Yze="https://speakflare.com";function KO(){return n.jsx($r,{seoTitle:"What Is SpeakFlare? The Automatic Communication Coach, Explained | SpeakFlare",seoDescription:"SpeakFlare is an automatic communication coach that analyzes your real Zoom and Google Meet calls for filler words, pace, clarity, and grammar — then shows you exactly how to speak better. Free 30-second demo, no sign-up.",canonicalPath:"/what-is-speakflare",breadcrumbs:[{name:"What Is SpeakFlare",url:`${Yze}/what-is-speakflare`}],eyebrow:"Product Explained",h1:"What Is SpeakFlare?",intro:"SpeakFlare is an automatic communication coach. It listens to your real meetings, transcribes them, and gives you private, specific feedback on how you actually speak — filler words, pace, clarity, grammar, and persuasion — without lessons or a human teacher. It works on Zoom and Google Meet in 50+ languages.",featuresHeading:"What SpeakFlare Actually Does",features:[{icon:Ze,colorClass:"text-primary",title:"Captures Your Real Speech",desc:"Connect Zoom, install the Google Meet extension, record your microphone, or upload a file. SpeakFlare transcribes it automatically with per-speaker diarization."},{icon:ei,colorClass:"text-blue-600",title:"Analyzes Four Dimensions",desc:"Every recording is scored for filler words (um, like, you know), speaking pace, clarity, and grammar or persuasion weaknesses."},{icon:_t,colorClass:"text-orange-600",title:"Tracks Progress Over Time",desc:"Each report feeds a dashboard so you can watch your clarity score rise and your filler rate fall week over week."},{icon:Ju,colorClass:"text-green-600",title:"Keeps It Private",desc:"The free 30-second demo runs entirely in your browser and stores no audio. Full analyses are encrypted, never sold, and deletable at any time."}],bodyHeading:"A Communication Coach That Is Always in the Room",bodyParagraphs:["Most people never get feedback on how they speak. A human communication coach is expensive, subjective, and never present during the meetings that actually matter. SpeakFlare replaces that gap with software: it reviews every word you say and returns concrete, measurable feedback minutes after a call ends.","The workflow is simple. You record or connect a meeting, SpeakFlare transcribes the audio and identifies each speaker, and then it produces a communication report — your filler-word rate, unclear or ambiguous phrasing, grammar slips, speaking pace in words per minute, and the strength of your openings and closings. You get specific rewrites and drills, not vague advice.","SpeakFlare is used by founders rehearsing investor pitches, salespeople reviewing discovery and demo calls, executives leading all-hands meetings, job seekers preparing for interviews, and non-native English speakers who want to sound as sharp as they think.","You can try it in seconds with no account: the free 30-second demo analyzes your speech right in the browser. When you want full recordings analyzed, $5 unlocks 20 analyses (credits never expire), or Pro gives you unlimited analysis for $12 per month or $99 per year."],faqs:[{question:"What is SpeakFlare?",answer:"SpeakFlare is an automatic communication coach. It analyzes your real Zoom and Google Meet calls for filler words, pace, clarity, and grammar, then gives you specific feedback and tracks your improvement over time — no lessons or human teacher required."},{question:"How does SpeakFlare work?",answer:"You record a meeting, connect Zoom, install the Google Meet Chrome extension, or upload a file. SpeakFlare transcribes it, identifies each speaker, and produces a communication report with filler-word rate, pace, clarity, and grammar feedback plus concrete rewrites."},{question:"Is SpeakFlare free?",answer:"Yes, you can start free with a 30-second demo that runs in your browser with no sign-up. When you're ready for full recordings, $5 unlocks 20 analyses (credits never expire), or go unlimited with Pro at $12/month or $99/year."},{question:"Is SpeakFlare private?",answer:"Yes. The free demo stores n
943o audio and runs entirely on your device. Full analyses are encrypted, never sold, and you can delete your data at any time."},{question:"What languages does SpeakFlare support?",answer:"SpeakFlare works in 50+ languages with automatic language detection, so non-native English speakers and multilingual teams can all get feedback."}],relatedHeading:"Learn more",related:[{label:"What Is Speech Analysis?",href:"/what-is-speech-analysis"},{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"Free Speech Analysis (no sign-up)",href:"/tools/free-speech-analysis"},{label:"Features",href:"/features"}],ctaHeading:"See what SpeakFlare hears in your speech.",ctaSub:"Run the free 30-second demo right now — no sign-up. Then $5 unlocks 20 full recording analyses, or go unlimited with Pro."})}const Zze="https://speakflare.com";function YO(){return n.jsx($r,{seoTitle:"What Is Speech Analysis? How Speech Analytics Software Works | SpeakFlare",seoDescription:"Speech analysis is the process of turning spoken audio into measurable data — filler words, pace, clarity, and tone. Learn how speech analytics software works and how to analyze your own speaking free.",canonicalPath:"/what-is-speech-analysis",breadcrumbs:[{name:"What Is Speech Analysis",url:`${Zze}/what-is-speech-analysis`}],eyebrow:"Definition & Guide",h1:"What Is Speech Analysis?",intro:"Speech analysis is the process of turning spoken audio into measurable data — how fast you speak, how often you use filler words, how clear your phrasing is, and how confident you sound. Speech analytics software does this automatically, so you can improve how you communicate with objective feedback instead of guesswork.",featuresHeading:"What Speech Analysis Software Measures",features:[{icon:$2,colorClass:"text-primary",title:"Transcription & Diarization",desc:"The audio is converted to text and split by speaker, so each person's words can be analyzed separately."},{icon:qv,colorClass:"text-blue-600",title:"Language & Delivery Metrics",desc:"Filler-word rate, words per minute, clarity, grammar, and hedging language are extracted from the transcript."},{icon:P8,colorClass:"text-orange-600",title:"Scoring & Feedback",desc:"Metrics are combined into scores and specific, actionable suggestions — what to change and where it happened in the call."},{icon:yte,colorClass:"text-green-600",title:"Trends Over Time",desc:"Repeated analyses reveal whether your speaking is improving, so progress is provable rather than assumed."}],bodyHeading:"How Speech Analysis Works, Step by Step",bodyParagraphs:["Speech analysis starts with audio — a meeting recording, a rehearsal, or a live microphone stream. Speech-to-text transcription converts that audio into words, and speaker diarization labels who said what. This gives the software a clean transcript to work from.","Next, the software measures delivery. Filler-word rate is calculated as fillers divided by total words, times 100 (for example, 34 fillers in 1,420 words is a 2.39% rate). Speaking pace is measured in words per minute, with roughly 120 to 160 WPM considered a comfortable conversational range. Clarity, grammar, and hedging language are evaluated against the context of the sentence.","Finally, those metrics become feedback. Good speech analytics software does not just report numbers — it points to the exact moments you rushed, hedged, or lost the thread, and suggests concrete rewrites. Enterprises use speech analytics on sales and support calls; individuals use it to become clearer, more confident speakers.","SpeakFlare is speech analysis built for the way people actually work. It analyzes your real Zoom and Google Meet calls in 50+ languages, with no lessons and no human coach. You can run a free 30-second demo in your browser with no sign-up, then unlock 20 full recording analyses for $5."],faqs:[{question:"What is speech analysis?",answer:"Speech analysis is the process of turning spoken audio into measurable data such as filler-word rate, speaking pace, clarity, and grammar. Speech analytics software does this automatically to give objective feedback on how someone communicates."},{question:"How does speech analysis software work?",answer:"It transcribes audio to text, separates speakers, measures delivery metrics like filler rate and words per minute, then combines them into scores and specific feedback pointing to the exact moments to improve."},{question:"What is the difference between speech analysis and speech recognition?",answer:"Speech recognition converts audio into text. Speech analysis goes further — it evaluates how you spoke (fillers, pace, clarity, confidence) and gives feedback, not just a transcript."},{question:"Can I analyze my own speech for free?",answer:"Yes. SpeakFlare offers a free 30-second speech analysis that runs entirely in your browser with no sign-up, measuring your filler words, pace, and clarity instantly."}],relatedHeading:"Learn more",related:[{label:"What Is SpeakFlare?",href:"/what-is-speakflare"},{label:"Free Speech Analysis (no sign-up)",href:"/tools/free-speech-analysis"}
943,{label:"AI Speech Coach",href:"/ai-speech-coach"},{label:"What Are Filler Words?",href:"/what-are-filler-words"}],ctaHeading:"Analyze your speech in 30 seconds.",ctaSub:"Try the free, no-sign-up speech analysis in your browser. Then $5 unlocks 20 full recording analyses of your real calls."})}const Qze="https://speakflare.com";function ZO(){return n.jsx($r,{seoTitle:"What Are Filler Words? Examples, Why We Use Them, and How to Stop | SpeakFlare",seoDescription:"Filler words are sounds and phrases like um, uh, like, and you know that fill pauses in speech. See a full list of filler words, why we use them, and how to reduce them — plus a free filler-word counter.",canonicalPath:"/what-are-filler-words",breadcrumbs:[{name:"What Are Filler Words",url:`${Qze}/what-are-filler-words`}],eyebrow:"Definition & Examples",h1:"What Are Filler Words?",intro:"Filler words are the sounds and phrases we use to fill pauses while our brain catches up — um, uh, like, you know, so, actually, basically, and I mean. They are normal, but in meetings, pitches, and interviews they can make you sound less confident and less prepared. The good news: filler words are one of the easiest speaking habits to measure and fix.",featuresHeading:"Common Filler Words and Phrases",features:[{icon:T8,colorClass:"text-primary",title:"Hesitation Sounds",desc:"Um, uh, er, ah, and hmm — the vocalized pauses we make while thinking of the next word."},{icon:P8,colorClass:"text-blue-600",title:"Filler Phrases",desc:"Like, you know, I mean, sort of, kind of, basically, actually, literally, and right — words that add no meaning."},{icon:qv,colorClass:"text-orange-600",title:"Crutch Words",desc:"So, well, anyway, and okay used to start sentences, plus repeated qualifiers such as just and really."},{icon:D2,colorClass:"text-green-600",title:"Trailing Fillers",desc:"Endings like and stuff, or whatever, and you know what I mean that weaken an otherwise strong point."}],bodyHeading:"Why We Use Filler Words — and How to Reduce Them",bodyParagraphs:["We use filler words because speaking happens faster than thinking. When the next idea is not quite ready, a filler buys a fraction of a second and signals we are not finished talking. Nervousness, an unfamiliar topic, and a fast speaking pace all push the filler rate up. This is why fillers spike in interviews, investor pitches, and high-stakes presentations.","A useful way to measure fillers is the filler rate: fillers divided by total words, times 100. For example, 34 fillers in a 1,420-word talk is a rate of 2.39%. Under 2% sounds polished; above 5% starts to distract listeners. Tracking fillers per minute is another quick benchmark — strong speakers usually land under 4 per minute.","The fastest way to reduce filler words is to replace them with a silent pause. Silence feels long to the speaker but confident to the listener. Slowing your pace, preparing your opening sentences, and — most importantly — getting objective feedback on where your fillers actually happen will cut your rate quickly.","SpeakFlare counts your filler words automatically. Run the free filler-word counter or the 30-second speech analysis in your browser with no sign-up, and see your exact fillers-per-minute rate and where each one occurred."],faqs:[{question:"What is a filler word?",answer:"A filler word is a sound or phrase that fills a pause in speech without adding meaning — such as um, uh, like, you know, so, actually, and basically. They are used while the brain prepares the next thought."},{question:"What are examples of filler words?",answer:"Common examples include um, uh, er, like, you know, I mean, so, well, actually, basically, literally, right, sort of, and kind of."},{question:"Why do we use filler words?",answer:"We use filler words because speech is faster than thought. Fillers buy a fraction of a second and signal that we are not done talking. Nervousness, unfamiliar topics, and a fast pace increase how often we use them."},{question:"How do I stop using filler words?",answer:"Replace fillers with a short silent pause, slow your pace, prepare your opening sentences, and measure where your fillers happen. SpeakFlare's free filler-word counter shows your exact rate so you can track improvement."},{question:"How many filler words is too many?",answer:"A filler rate under 2% of total words (or under about 4 per minute) sounds polished. Above 5% starts to distract listeners and can undermine your authority."}],relatedHeading:"Learn more",related:[{label:"Free Filler Word Counter",href:"/tools/filler-word-counter"},{label:"How to Stop Saying Um",href:"/blog/how-to-stop-saying-um"},{label:"What Is SpeakFlare?",href:"/what-is-speakflare"}
943,{label:"AI Speech Coach",href:"/ai-speech-coach"}],ctaHeading:"Count your filler words free.",ctaSub:"Run the free 30-second analysis in your browser — no sign-up — and see your exact fillers-per-minute rate. Then $5 unlocks 20 full recording analyses."})}const Xze="https://speakflare.com";function QO(){return n.jsx($r,{seoTitle:"How to Improve Communication Skills: A Practical, Measurable Guide | SpeakFlare",seoDescription:"Learn how to improve your communication skills with practical steps you can measure — cut filler words, fix your pace, sharpen clarity, and track progress. Try a free 30-second speaking analysis, no sign-up.",canonicalPath:"/how-to-improve-communication-skills",breadcrumbs:[{name:"How to Improve Communication Skills",url:`${Xze}/how-to-improve-communication-skills`}],eyebrow:"Practical Guide",h1:"How to Improve Your Communication Skills",intro:"Better communication is not a personality trait — it is a set of habits you can measure and improve. The fastest progress comes from working on the four things listeners actually notice: filler words, speaking pace, clarity, and structure. Here is how to improve each, and how to track that you are getting better.",featuresHeading:"The Four Habits That Matter Most",features:[{icon:tn,colorClass:"text-primary",title:"Cut Filler Words",desc:"Replace um, like, and you know with a short silent pause. Under 2% of your words should be fillers."},{icon:D2,colorClass:"text-blue-600",title:"Fix Your Pace",desc:"Aim for roughly 120 to 160 words per minute. Rushing signals nerves; too slow loses attention."},{icon:jte,colorClass:"text-orange-600",title:"Sharpen Clarity",desc:"Use shorter sentences, concrete words, and one idea at a time. Cut hedging like maybe, I think, and just."},{icon:b8,colorClass:"text-green-600",title:"Structure Your Point",desc:"Open with the takeaway, support it, then close. Strong openings and closings decide how you are remembered."}],bodyHeading:"A Step-by-Step Plan You Can Actually Follow",bodyParagraphs:["Start by getting a baseline. You cannot improve what you do not measure, so record yourself speaking for a minute — a mock pitch, a summary of your day, or a real meeting — and get objective numbers on your filler rate, pace, and clarity. Guessing at these habits almost never works, because we cannot hear our own fillers in the moment.","Then work on one habit at a time. For a week, focus only on replacing filler words with silence. The next week, focus on pace: if you tend to rush, add a deliberate breath at each sentence boundary. After that, tackle clarity by shortening sentences and removing hedging words that quietly weaken your message.","Practice in low-stakes settings before high-stakes ones. Rehearse a presentation out loud, review a recorded sales call, or run through interview answers. Each rehearsal is a chance to catch and correct a habit before it costs you in a real conversation.","Finally, track your progress. Improvement you can see keeps you going. SpeakFlare analyzes your real Zoom and Google Meet calls in 50+ languages and charts your filler rate, pace, and clarity over time. Try the free 30-second analysis in your browser with no sign-up, then $5 unlocks 20 full recording analyses so you can prove your communication is getting stronger."],faqs:[{question:"How can I improve my communication skills?",answer:"Focus on four measurable habits: reduce filler words, fix your speaking pace to around 120 to 160 words per minute, sharpen clarity with shorter sentences, and structure your points with a strong opening and closing. Measure a baseline first, then work on one habit at a time."},{question:"How long does it take to improve communication skills?",answer:"Most people see measurable improvement in filler rate and pace within two to four weeks of focused practice, especially when they track objective feedback after each session rather than guessing."},{question:"What is the fastest way to become a better speaker?",answer:"Replace filler words with silent pauses and slow your pace. These two changes have the biggest immediate impact on how confident and clear you sound."},{question:"How do I measure my communication skills?",answer:"Record yourself and analyze your filler-word rate, words per minute, and clarity. SpeakFlare's free 30-second analysis gives you an instant 0 to 100 speaking score with no sign-up."}],relatedHeading:"Learn more",related:[{label:"Communication Skills Test",href:"/tools/communication-skills-test"},{label:"What Is Verbal Fluency?",href:"/what-is-verbal-fluency"},{label:"AI Communication Coach",href:"/ai-communication-coach"},{label:"How to Speak Confidently",href:"/blog/how-to-speak-confidently"}],ctaHeading:"Measure your communication today.",ctaSub:"Get a free 0 to 100 speaking score in 30 seconds — no sign-up. Then $5 unlocks 20 full recording analyses of your real calls."})}const Jze="https://speakflare.com";function XO(){return n.jsx($r,{seoTitle:"What Is Verbal Fluency? Meaning, Examples, and How to Improve It | SpeakFlare",seoDescription:"Verbal fluency is the ability to speak smoothly, clearly, and without unnecessary pauses or filler words. Learn what verbal fluency means, how it's measured, and how to improve it — free 30-second analysis, no sign-up.",canonicalPath:"/what-is-verbal-fluency",breadcrumbs:[{name:"What Is Verbal Fluency",url:`${Jze}/what-is-verbal-fluency`}],eyebrow:"Definition & Guide",h1:"What Is Verbal Fluency?",intro:"Verbal fluency is the ability to speak smoothly and clearly — retrieving words quickly, connecting ideas without unnecessary pauses, and keeping a steady pace with few filler words. Fluent speakers sound confident and prepared, which is why verbal fluency matters so much in interviews, presentations, and executive communication.",featuresHeading:"What Makes Speech Sound Fluent",features:[{icon:$2,colorClass:"text-primary",title:"Smooth Word Retrieval",desc:"Fluent speakers reach the next word quickly, so the flow is not broken by long hesitations or restarts."},{icon:ei,colorClass:"text-blue-600",title:"Steady Pace",desc:"A consistent rhythm of roughly 120 to 160 
943words per minute reads as calm and in control."},{icon:tn,colorClass:"text-orange-600",title:"Few Fillers",desc:"Low use of um, uh, like, and you know keeps attention on the message, not the hesitation."},{icon:it,colorClass:"text-green-600",title:"Connected Ideas",desc:"Clear transitions link one point to the next so listeners never lose the thread."}],bodyHeading:"How Verbal Fluency Is Measured and Improved",bodyParagraphs:["Verbal fluency is not about talking fast or using big words. It is about smoothness: how easily you move from one idea to the next without stalling, backtracking, or leaning on filler words. In everyday terms, a fluent speaker sounds like they know exactly what they want to say — even when they are thinking on their feet.","It can be measured objectively. Speaking pace in words per minute, filler-word rate, the length and frequency of pauses, and the number of false starts or self-corrections all indicate fluency. Lower filler rates and a steady pace are the clearest signals that someone is speaking fluently.","Verbal fluency improves with targeted practice. Reading aloud, describing a topic for 60 seconds without stopping, and replacing fillers with brief silent pauses all train smoother delivery. Non-native English speakers, in particular, gain fluency fastest when they get feedback on the specific words and moments where their flow breaks.","SpeakFlare measures your verbal fluency automatically. It analyzes your real calls in 50+ languages, scoring your pace, filler rate, and clarity, and shows you exactly where your flow breaks. Try the free 30-second analysis in your browser with no sign-up, then $5 unlocks 20 full recording analyses."],faqs:[{question:"What is verbal fluency?",answer:"Verbal fluency is the ability to speak smoothly and clearly — retrieving words quickly, keeping a steady pace, and connecting ideas without unnecessary pauses or filler words. It makes a speaker sound confident and prepared."},{question:"How is verbal fluency measured?",answer:"It is measured with objective signals: speaking pace in words per minute, filler-word rate, the length and frequency of pauses, and the number of false starts or self-corrections. Lower fillers and a steady pace indicate higher fluency."},{question:"How can I improve my verbal fluency?",answer:"Read aloud daily, practice speaking on a topic for 60 seconds without stopping, slow your pace, and replace fillers with short silent pauses. Getting feedback on where your flow breaks speeds up progress."},{question:"Is verbal fluency the same as being talkative?",answer:"No. Fluency is about smoothness and clarity, not quantity. A concise speaker with few fillers and a steady pace is more fluent than someone who talks a lot but hesitates and backtracks."}],relatedHeading:"Learn more",related:[{label:"How to Improve Communication Skills",href:"/how-to-improve-communication-skills"},{label:"What Are Filler Words?",href:"/what-are-filler-words"},{label:"Finance & Executive Fluency",href:"/use-cases/finance-professionals"},{label:"AI Speech Coach",href:"/ai-speech-coach"}],ctaHeading:"Measure your verbal fluency.",ctaSub:"Get a free 30-second fluency read in your browser — no sign-up — covering pace, fillers, and clarity. Then $5 unlocks 20 full recording analyses."})}const e8e="https://speakflare.com";function JO(){return n.jsx($r,{seoTitle:"Investor Presentation Training — Practice Your Pitch With AI Feedback | SpeakFlare",seoDescription:"Investor presentation training with AI. Rehearse your pitch and get instant feedback on filler words, pace, clarity, and closing strength — the delivery that decides funding. Free 30-second demo, no sign-up.",canonicalPath:"/investor-presentation-training",breadcrumbs:[{name:"Investor Presentation Training",url:`${e8e}/investor-presentation-training`}],eyebrow:"Pitch Delivery Training",h1:"Investor Presentation Training",intro:"Investors decide in the first two minutes of your pitch. SpeakFlare is investor presentation training that scores your actual delivery — filler words, pace, clarity, and the strength of your opening and close — so you walk into the room sounding funded before you are. Built for founders and investment banking teams, in 50+ languages.",featuresHeading:"What SpeakFlare Trains in Your Pitch",features:[{icon:F2,colorClass:"text-primary",title:"Opening & Closing Strength",desc:"Scores the first and last 30 seconds — the moments investors actually remember and decide on."},{icon:ei,colorClass:"text-blue-600",title:"Pace Under Pressure",desc:"Flags rushing (the #1 tell of nerves in a pitch) and pinpoints where you sped up or lost the room."},{icon:rr,colorClass:"text-orange-600",title:"Filler & Hedging",desc:"Counts um, like, and hedges such as I think and kind of that quietly cost you credibility with investors."},{icon:it,colorClass:"text-green-600",title:"Rehearsal Progress",desc:"Every practice run is scored, so you can see your delivery tighten across rehearsals before the real meeting."}],bodyHeading:"Rehearse the Way You Will Actually Pitch",bodyParagraphs:["Most founders rehearse a pitch by reading the deck, not by delivering it out loud under time pressure. SpeakFlare fixes that: record a full run-through, and get a report on exactly how you sounded — filler rate, words per minute, clarity, and where your energy dropped.","Presentation skills training in investment banking follows the same logic. Analysts and associates preparing a client pitch or roadshow get objective, private feedback on delivery instead of waiting for a managing director to critique them live.","Because SpeakFlare works on Zoom and Google Meet, you can also analyze real investor calls after they happen and learn from the delivery that actually got the meeting to the next stage.","Try a free 30-second demo in your browser with no sign-up. When you are ready to rehearse full pitches, $5 unlocks 20 recording analyses (credits never expire), or go unlimited with Pro at $12/month or $99/year."],faqs:[{question:"What is investor presentation training?",answer:"Investor presentation training is structured practice for delivering a pitch to investors — improving your opening, pace, clarity, filler words, and close. SpeakFlare does this with AI by scoring recordings of your rehearsals and real investor calls."},{question:"How can I practice my investor pitch?",answer:"Record a full run-through out loud and analyze the delivery. SpeakFlare scores your filler rate, words per minute, clarity, and the strength of your opening and closing, then shows exactly where to tighten."},{question:"Is this useful for presentation skills training in investment banking?",answer:"Yes. Analysts and associates use SpeakFlare to get objective, private feedback on client pitches and roadshow delivery before presenting live."},{question:"Is there a free way to try it?",answer:"Yes. Run a free 30-second demo in your browser with no sign-up. Then $5 unlocks 20 full recording analyses, or go unlimited with Pro."}],relatedHeading:"Related",related:[{label:"Investment Banking Speech Training",href:"/use-cases/investment-banking"},{label:"Executive Speech & Fluency Training",href:"/executive-speech-fluency-training"},{label:"Presentation Coach",href:"/use-cases/presentation-coach"},{label:"AI Communication Coach",href:"/ai-communication-coach"}],ctaHeading:"Pitch like you are already funded.",ctaSub:"Run a free 30-second demo, then rehearse your full pitch — $5 unlocks 20 recording analyses so you can tighten your delivery before the real meeting."})}const t8e="https://speakflare.com";function eR(){return n.jsx($r,{seoTitle:"Executive Speech & Fluency Training — AI Feedback for Leaders | SpeakFlare",seoDescription:"Executive speech fluency training with AI. Leaders get private feedback on fluency, filler words, pace, and clarity from real meetings — no coach, no scheduling. Free 30-second demo, no sign-up.",canonicalPath:"/executive-speech-fluency-training",breadcrumbs:[{name:"Executive Speech & Fluency Training",url:`${t8e}/executive-speech-fluency-training`}],eyebrow:"Executive Communication",h1:"Executive Speech & Fluency Training",intro:"At the executive level, how you say it is the message. SpeakFlare is executive speech fluency training that measures the delivery signals of leadership — smooth fluency, low filler use, controlled pace, and unmistakable clarity — from your real board meetings, all-hands, and investor calls. Private, always available, in 50+ languages.",featuresHeading:"The Signals of Executive Fluency",features:[{icon:_2,colorClass:"text-primary",title:"Executive Presence",desc:"Measures the hedging, filler words, and trailing sentences that undercut authority in the boardroom."},{icon:ei,colorClass:"text-blue-600",title:"Controlled Pace",desc:"Confident leaders speak at a steady 120 to 160 
943words per minute. SpeakFlare shows where you rushed or dragged."},{icon:tn,colorClass:"text-orange-600",title:"Fluency & Flow",desc:"Scores how smoothly you move between ideas — the difference between commanding a room and losing it."},{icon:b8,colorClass:"text-green-600",title:"Progress You Can Report",desc:"Track fluency and clarity across months so improvement is provable, not anecdotal."}],bodyHeading:"Coaching That Keeps Up With an Executive Calendar",bodyParagraphs:["A traditional executive speaking coach costs hundreds per hour, needs scheduling weeks ahead, and is never in the meetings that matter. SpeakFlare is always on: it analyzes the calls you already have and returns feedback in minutes, so busy leaders improve without adding a single meeting to the calendar.","After each call, you get a report on your fluency, filler-word rate, pace, and clarity, with the exact moments you hedged or lost the thread. You practice on real work, not artificial exercises.","Non-native English-speaking executives use SpeakFlare to close the gap between how sharp they think and how they sound in English, in any of 50+ supported languages.","Start with a free 30-second demo in your browser, no sign-up. Then $5 unlocks 20 recording analyses (credits never expire), or Pro gives unlimited analysis for $12/month or $99/year."],faqs:[{question:"What is executive speech fluency training?",answer:"Executive speech fluency training helps leaders speak more smoothly, clearly, and confidently in high-stakes settings. SpeakFlare delivers it with AI by scoring fluency, filler words, pace, and clarity from real executive meetings."},{question:"How is this different from a human executive coach?",answer:"SpeakFlare is instant, private, always available, and analyzes every real meeting — while a human coach is expensive, needs scheduling, and is rarely present when you actually speak."},{question:"Does it work for non-native English speakers?",answer:"Yes. SpeakFlare supports 50+ languages and helps executives sound as fluent and sharp in English as they are in their field."},{question:"Can I try it free?",answer:"Yes. Run a free 30-second demo in your browser with no sign-up, then $5 unlocks 20 full recording analyses."}],relatedHeading:"Related",related:[{label:"Verbal Fluency Training for Professionals",href:"/verbal-fluency-training"},{label:"Finance & Executive Fluency",href:"/use-cases/finance-professionals"},{label:"Investor Presentation Training",href:"/investor-presentation-training"},{label:"AI Communication Coach",href:"/ai-communication-coach"}],ctaHeading:"Sound like the leader you already are.",ctaSub:"Get a free 30-second fluency read — no sign-up. Then $5 unlocks 20 recording analyses of your real meetings, or go unlimited with Pro."})}const r8e="https://speakflare.com";function tR(){return n.jsx($r,{seoTitle:"Verbal Fluency Training for Professionals — Speak Smoothly | SpeakFlare",seoDescription:"Verbal fluency training for professionals. Practice speaking smoothly and get AI feedback on fillers, pace, pauses, and flow from your real calls. Free 30-second demo, no sign-up.",canonicalPath:"/verbal-fluency-training",breadcrumbs:[{name:"Verbal Fluency Training",url:`${r8e}/verbal-fluency-training`}],eyebrow:"Fluency Training",h1:"Verbal Fluency Training for Professionals",intro:"Verbal fluency is trainable. SpeakFlare turns everyday calls into fluency practice — measuring your filler rate, pace, pauses, and false starts, then showing you exactly where your flow breaks so you can smooth it out. Built for professionals and non-native English speakers, in 50+ languages.",featuresHeading:"What Fluency Training Measures",features:[{icon:$2,colorClass:"text-primary",title:"Flow & Smoothness",desc:"Detects hesitations, restarts, and self-corrections that break your flow mid-sentence."},{icon:D2,colorClass:"text-blue-600",title:"Pace & Pauses",desc:"Tracks your words per minute and the length of pauses, so silence works for you instead of against you."},{icon:zte,colorClass:"text-orange-600",title:"Filler Reduction",desc:"Counts um, uh, like, and you know per minute and tracks the rate down over repeated sessions."},{icon:it,colorClass:"text-green-600",title:"Measurable Progress",desc:"Fluency scores across sessions prove your speaking is getting smoother week over week."}],bodyHeading:"How to Train Verbal Fluency",bodyParagraphs:["Fluency improves through repetition with feedback. The classic drills — reading aloud, speaking on a topic for 60 seconds without stopping, and replacing fillers with a short silent pause — all work, but only if you can measure whether they are working.","That is 
943what SpeakFlare adds. Record a drill or a real call, and get objective numbers: fillers per minute, words per minute, pause patterns, and a fluency score. You immediately see which habit to work on next instead of guessing.","Professionals use it before interviews, presentations, and client calls; non-native English speakers use it to build smooth, confident delivery in a second language. Because SpeakFlare works on Zoom and Google Meet, your practice is your real work.","Try a free 30-second fluency read in your browser with no sign-up. When you are ready to train regularly, $5 unlocks 20 recording analyses (credits never expire), or go unlimited with Pro."],faqs:[{question:"What is verbal fluency training?",answer:"Verbal fluency training is structured practice to speak more smoothly and clearly — reducing fillers, steadying pace, and eliminating hesitations. SpeakFlare measures each of these from your recordings so you can train with objective feedback."},{question:"How do professionals improve verbal fluency?",answer:"Read aloud, speak on a topic for 60 seconds without stopping, slow your pace, and replace fillers with silent pauses. Measuring your filler rate and pace after each session, as SpeakFlare does, makes progress much faster."},{question:"Does verbal fluency training help non-native English speakers?",answer:"Yes. SpeakFlare supports 50+ languages and pinpoints the exact words and moments where flow breaks, which is especially useful when building fluency in a second language."},{question:"Is there a free way to start?",answer:"Yes. A free 30-second analysis runs in your browser with no sign-up. Then $5 unlocks 20 full recording analyses."}],relatedHeading:"Related",related:[{label:"What Is Verbal Fluency?",href:"/what-is-verbal-fluency"},{label:"Executive Speech & Fluency Training",href:"/executive-speech-fluency-training"},{label:"How to Improve Communication Skills",href:"/how-to-improve-communication-skills"},{label:"AI Speech Coach",href:"/ai-speech-coach"}],ctaHeading:"Train your fluency on real calls.",ctaSub:"Get a free 30-second fluency read — no sign-up. Then $5 unlocks 20 recording analyses so you can watch your flow get smoother."})}const n8e="https://speakflare.com";function rR(){return n.jsx($r,{seoTitle:"Free AI Media Training — Practice Interviews & On-Camera Speaking | SpeakFlare",seoDescription:"Free AI media training. Practice press interviews, podcasts, and on-camera speaking, then get instant feedback on message clarity, filler words, and pace. Free 30-second demo, no sign-up.",canonicalPath:"/media-training",breadcrumbs:[{name:"AI Media Training",url:`${n8e}/media-training`}],eyebrow:"Media & Interview Training",h1:"AI Media Training",intro:"Whether it is a press interview, a podcast, or an on-camera segment, media moments reward speakers who stay clear, concise, and on message. SpeakFlare is free AI media and speech training that scores your delivery — filler words, pace, clarity, and message discipline — so you sound sharp when the mic is on. In 50+ languages, with no coach to schedule.",featuresHeading:"What Media Training With SpeakFlare Covers",features:[{icon:Ze,colorClass:"text-primary",title:"Message Discipline",desc:"Flags rambling and unclear phrasing so your key message survives the soundbite — not the cutting-room floor."},{icon:ei,colorClass:"text-blue-600",title:"Pace & Composure",desc:"Detects rushing under pressure and shows where to slow down for a calm, credible on-camera presence."},{icon:tn,colorClass:"text-orange-600",title:"Filler Control",desc:"Counts um, like, and you know — the fillers that make an interview sound unprepared — and tracks them down."},{icon:ca,colorClass:"text-green-600",title:"Practice on Anything",desc:"Record a mock interview, upload a podcast, or analyze a Zoom segment. Every take is scored in minutes."}],bodyHeading:"Rehearse Before the Cameras Roll",bodyParagraphs:["Traditional media training is a full-day session with a coach and a camera crew — valuable, but expensive and rare. SpeakFlare gives you unlimited reps in between: record yourself answering likely questions, and get objective feedback on clarity, pace, and fillers before the real interview.","Spokespeople, founders doing press, podcast guests, and creators use SpeakFlare to tighten their answers and stop the habits that make on-camera speaking sound nervous. You practice the exact answers you will give, then measure whether each take got better.","Because SpeakFlare works on Zoom and Google Meet and accepts audio and video uploads, remote media hits and recorded segments are just as easy to analyze as a live rehearsal.","Start free with a 30-second demo in your browser, no sign-up. When you want to rehearse full interviews, $5 unlocks 20 recording analyses (credits never expire), or go unlimited with Pro at $12/month or $99/year."],faqs:[{question:"What is AI media training?",answer:"AI media training uses software to give feedback on how you speak in interviews, podcasts, and on-camera segments — message clarity, filler words, pace, and composure — instead of a full-day human coaching session. SpeakFlare scores recordings of your practice takes."},{question:"Can I practice press interviews for free?",answer:"Yes. Run a free 30-second demo in your browser with no sign-up, then $5 unlocks 20 full recording analyses of your mock interviews and segments."},{question:"Does it work for podcasts and on-camera speaking?",answer:"Yes. Upload a podcast or video, record a mock interview, or analyze a Zoom segment. SpeakFlare scores clarity, fillers, and pace on any of them."},{question:"How is this different from traditional media training?",answer:"Traditional media training is an occasional, expensive day with a coach. SpeakFlare gives you unlimited, instant reps in between so you improve every time you practice."}],relatedHeading:"Related",related:[{label:"AI Speech Coach",href:"/ai-speech-coac
943h"},{label:"Public Speaking Coach",href:"/use-cases/public-speaking"},{label:"Presentation Coach",href:"/use-cases/presentation-coach"},{label:"Investor Presentation Training",href:"/investor-presentation-training"}],ctaHeading:"Be ready before the mic is on.",ctaSub:"Run a free 30-second demo — no sign-up. Then $5 unlocks 20 recording analyses so every interview take sounds sharper than the last."})}const nR="https://speakflare.com";function aR(){return n.jsx($r,{seoTitle:"Sentence Explainer — Is Your Sentence Clear? Check & Rewrite It | SpeakFlare",seoDescription:"A sentence explainer shows you what a sentence really says and whether it is clear. SpeakFlare analyzes your spoken and written sentences for clarity and suggests simpler rewrites. Free 30-second demo, no sign-up.",canonicalPath:"/tools/sentence-explainer",breadcrumbs:[{name:"Tools",url:`${nR}/features`},{name:"Sentence Explainer",url:`${nR}/tools/sentence-explainer`}],eyebrow:"Clarity Tool",h1:"Sentence Explainer",intro:"A sentence explainer helps you understand what a sentence actually communicates — and whether a listener will get it the first time. SpeakFlare goes a step further than static grammar tools: it analyzes the sentences you speak in real meetings, explains why an unclear one is hard to follow, and suggests a simpler, clearer rewrite. In 50+ languages.",featuresHeading:"What the Sentence Explainer Does",features:[{icon:Bte,colorClass:"text-primary",title:"Explains the Meaning",desc:"Breaks down what a sentence is really saying, so you can tell whether it lands the way you intended."},{icon:R2,colorClass:"text-blue-600",title:"Flags What Is Unclear",desc:"Points to run-on structure, ambiguous references, and hedging that make a sentence hard to follow."},{icon:Dte,colorClass:"text-orange-600",title:"Suggests a Rewrite",desc:"Offers a shorter, clearer version — one idea per sentence, concrete words, no filler."},{icon:gn,colorClass:"text-green-600",title:"Works on Real Speech",desc:"Analyzes the sentences you actually say on calls, not just text you paste in, so your spoken clarity improves."}],bodyHeading:"From Confusing to Clear",bodyParagraphs:["People search for a sentence explainer when a sentence feels dense, tangled, or easy to misread. Understanding it is half the job; the other half is saying it more simply so no one has to decode it. SpeakFlare handles both.","When SpeakFlare analyzes a meeting, it looks at clarity sentence by sentence: it flags the ones that ran too long, buried the point, or leaned on hedging like maybe, sort of, and I think. For each, it explains the problem and shows a cleaner rewrite you can use next time.","Non-native English speakers use it to check that their sentences read the way they mean, and professionals use it to trade jargon-heavy phrasing for sentences a listener grasps instantly.","Try a free 30-second analysis in your browser with no sign-up — speak a few sentences and see your clarity score. When you want full-call clarity feedback, $5 unlocks 20 recording analyses (credits never expire)."],faqs:[{question:"What is a sentence explainer?",answer:"A sentence explainer is a tool that shows what a sentence really says and whether it is clear. SpeakFlare explains unclear sentences you speak in meetings and suggests simpler rewrites, in 50+ languages."},{question:"Can it make my sentences clearer?",answer:"Yes. SpeakFlare flags run-on structure, ambiguous references, and hedging, then suggests a shorter, one-idea-per-sentence rewrite that a listener understands the first time."},{question:"Does it work for spoken sentences, not just written text?",answer:"Yes. SpeakFlare analyzes the sentences you actually say on Zoom and Google Meet calls, so your spoken clarity improves, not just your writing."},{question:"Is it free?",answer:"You can run a free 30-second analysis in your browser with no sign-up. For full-call clarity feedback, $5 unlocks 20 recording analyses."}],relatedHeading:"Related",related:[{label:"Communication Skills Test",href:"/tools/communication-skills-test"},{label:"Free Speech Analysis (no sign-up)",href:"/tools/free-speech-analysis"},{label:"How to Improve Communication Skills",href:"/how-to-improve-communication-skills"},{label:"What Is SpeakFlare?",href:"/what-is-speakflare"}],ctaHeading:"Say it so it lands the first time.",ctaSub:"Run a free 30-second clarity check in your browser — no sign-up. Then $5 unlocks 20 full recording analyses of your real calls."})}const sR={default:"bg-muted text-muted-foreground",green:"bg-emerald-100 text-emerald-700",blue:"bg-blue-100 text-blue-700",purple:"bg-purple-100 text-purple-700",orange:"bg-orange-100 text-orange-700"};function Lg({title:e,value:t,change:r,icon:a,color:s="default",subtitle:i}){const o=sR[s]||sR.default,l=r!==void 0&&r>=0;return n.jsx(X,{children:n.jsx(ue,{className:"pt-6",children:n.jsxs("div",{className:"flex items-start justify-between gap-3",children:[n.jsxs("div",{className:"flex-1 min-w-0 space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground truncate",children:e}),n.jsx("p",{className:"text-3xl font-bold tracking-tight",children:t}),i&&n.jsx("p",{className:"text-xs text-muted-foreground truncate",children:i}),r!==void 0&&n.jsxs("div",{className:"flex items-center gap-1 pt-1",children:[n.jsxs(ve,{variant:"outline",className:`text-xs flex items-center gap-0.5 ${l?"border-emerald-300 bg-emerald-50 text-emerald-700":"border-red-300 bg-red-50 text-red-700"}`,children:[l?n.jsx(it,{className:"h-3 w-3"}):n.jsx(kc,{className:"h-3 w-3"}),l?"+":"",r.toFixed(1),"%"]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"vs last period"})]})]}),n.jsx("div",{className:`flex-shrink-0 rounded-xl p-3 ${o}`,children:n.jsx(a,{className:"h-5 w-5"})})]})})})}const iR={totalUsers:2847,newUsersToday:23,newUsersThisWeek:156,newUsersThisMonth:623,activeUsers7d:891,activeUsers30d:1456,totalMeetings:18429,meetingsToday:147,meetingsThisWeek:892,proUsers:234,starterUsers:489,freeUsers:2124,mrr:4521,churnRate:3.2,conversionRate:25.6,avgMeetingsPerUser:6.4,avgDaysToFirstMeeting:1.8,topLanguages:[{language:"en",count:1823},{language:"es",count:312},{language:"pt",count:198},{language:"fr",count:145},{language:"de",count:89}],dailySignups:[{date:"Apr 6",count:14},{date:"Apr 7",count:19},{date:"Apr 8",count:22},{date:"Apr 9",count:11},{date:"Apr 10",count:28},{date:"Apr 11",count:31},{date:"Apr 12",count:17},{date:"Apr 13",count:18},{date:"Apr 14",count:25},{date:"Apr 15",count:33},{date:"Apr 16",count:20},{date:"Apr 17",count:29},{date:"Apr 18",count:21},{date:"Apr 19",count:23}],dailyMeetings:[{date:"Apr 6",count:98},{date:"Apr 7",count:115},{date:"Apr 8",count:132},{date:"Apr 9",count:87},{date:"Apr 10",count:151},{date:"Apr 11",count:167},{date:"Apr 12",count:104},{date:"Apr 13",count:124},{date:"Apr 14",count:138},{date:"Apr 15",count:178},{date:"Apr 16",count:112},{date:"Apr 17",count:145},{date:"Apr 18",count:122},{date:"Apr 19",count:147}],featureAdoption:{shareReport:234,referralUsed:89,goalSet:156,teamCreated:23,aiCoac
943hUsed:67}},a8e={shareReport:"Share Report",referralUsed:"Referral Used",goalSet:"Goal Set",teamCreated:"Team Created",aiCoachUsed:"AI Coach Used"},s8e={en:"English",es:"Spanish",pt:"Portuguese",fr:"French",de:"German"};function i8e(){const{isAdmin:e}=Gt(),{data:t,isLoading:r,error:a,dataUpdatedAt:s,refetch:i,isFetching:o}=De({queryKey:["/api/admin/analytics"],enabled:e,staleTime:6e4,retry:!1});if(!e)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsxs(X,{className:"max-w-md",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-destructive",children:[n.jsx(Pr,{className:"h-5 w-5"}),"Access Denied"]})}),n.jsx(ue,{children:n.jsx("p",{className:"text-muted-foreground",children:"You don't have permission to access this page. Admin privileges are required."})})]})});if(r)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});const l=a?iR:t??iR,c=!!a||!t,d=l.starterUsers*9+l.proUsers*19,u=Math.round(l.freeUsers/l.totalUsers*100),m=l.starterUsers*9,h=l.proUsers*19,f=Math.round(l.activeUsers7d/l.totalUsers*100),b=Object.entries(l.featureAdoption).map(([x,v])=>({key:x,label:a8e[x]||x,count:v,pct:(v/l.totalUsers*100).toFixed(1)})),g=Math.max(...b.map(x=>x.count)),p=s?new Date(s).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}):new Date().toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"});return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"container max-w-7xl mx-auto p-4 md:p-6 lg:p-8 space-y-8",children:[n.jsxs("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[n.jsxs("div",{className:"space-y-1",children:[n.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Analytics"}),n.jsx("p",{className:"text-muted-foreground",children:"Platform growth, revenue and engagement metrics"})]}),n.jsxs("div",{className:"flex items-center gap-3",children:[c&&n.jsx(ve,{variant:"outline",className:"text-xs text-amber-600 border-amber-300 bg-amber-50",children:"Mock data — /api/admin/analytics not found"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["Last updated: ",p]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>i(),disabled:o,className:"flex items-center gap-2",children:[n.jsx(_n,{className:`h-4 w-4 ${o?"animate-spin":""}`}),"Refresh"]})]})]}),n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[n.jsx(Lg,{title:"Total Users",value:l.totalUsers.toLocaleString(),icon:Wt,color:"blue",subtitle:`+${l.newUsersThisWeek} this week · +${l.newUsersToday} today`,change:12.4}),n.jsx(Lg,{title:"Active Users (7d)",value:l.activeUsers7d.toLocaleString(),icon:cu,color:"green",subtitle:`${f}% of total · ${l.activeUsers30d.toLocaleString()} last 30d`,change:8.1}),n.jsx(Lg,{title:"MRR",value:`$${d.toLocaleString()}`,icon:Gh,color:"purple",subtitle:`${l.proUsers} Pro + ${l.starterUsers} Starter subscribers`,change:5.7}),n.jsx(Lg,{title:"Total Meetings",value:l.totalMeetings.toLocaleString(),icon:tn,color:"orange",subtitle:`+${l.meetingsToday} today · +${l.meetingsThisWeek} this week`,change:18.3})]}),n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-6",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Free Plan"}),n.jsx("p",{className:"text-3xl font-bold",children:l.freeUsers.toLocaleString()})]}),n.jsx("div",{className:"rounded-xl bg-muted p-3",children:n.jsx(Wt,{className:"h-5 w-5 text-muted-foreground"})})]}),n.jsxs(ve,{variant:"outline",className:"text-xs",children:[u,"% of total users"]})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-6",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Starter · $9/mo"}),n.jsx("p",{className:"text-3xl font-bold",children:l.starterUsers.toLocaleStr
943ing()})]}),n.jsx("div",{className:"rounded-xl bg-blue-100 p-3",children:n.jsx(it,{className:"h-5 w-5 text-blue-700"})})]}),n.jsxs(ve,{variant:"outline",className:"text-xs border-blue-200 bg-blue-50 text-blue-700",children:["$",m.toLocaleString()," MRR"]})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-6",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Pro · $19/mo"}),n.jsx("p",{className:"text-3xl font-bold",children:l.proUsers.toLocaleString()})]}),n.jsx("div",{className:"rounded-xl bg-purple-100 p-3",children:n.jsx(Ur,{className:"h-5 w-5 text-purple-700"})})]}),n.jsxs(ve,{variant:"outline",className:"text-xs border-purple-200 bg-purple-50 text-purple-700",children:["$",h.toLocaleString()," MRR"]})]})})]}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"text-base font-semibold flex items-center gap-2",children:[n.jsx(Wt,{className:"h-4 w-4"}),"Daily Signups — Last 14 Days"]})}),n.jsx(ue,{children:n.jsx(Ei,{width:"100%",height:220,children:n.jsxs(yc,{data:l.dailySignups,margin:{top:5,right:10,left:-20,bottom:5},children:[n.jsx(dv,{strokeDasharray:"3 3",stroke:"hsl(var(--border))"}),n.jsx(ma,{dataKey:"date",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(ha,{tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(Br,{contentStyle:{background:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"8px",fontSize:12}}),n.jsx(ya,{type:"monotone",dataKey:"count",stroke:"hsl(var(--primary))",strokeWidth:2,dot:{r:3,fill:"hsl(var(--primary))"},activeDot:{r:5},name:"New Users"})]})})})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"text-base font-semibold flex items-center gap-2",children:[n.jsx(tn,{className:"h-4 w-4"}),"Daily Meetings — Last 14 Days"]})}),n.jsx(ue,{children:n.jsx(Ei,{width:"100%",height:220,children:n.jsxs(lK,{data:l.dailyMeetings,margin:{top:5,right:10,left:-20,bottom:5},children:[n.jsx(dv,{strokeDasharray:"3 3",stroke:"hsl(var(--border))"}),n.jsx(ma,{dataKey:"date",tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(ha,{tick:{fontSize:11,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1}),n.jsx(Br,{contentStyle:{background:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"8px",fontSize:12}}),n.jsx(wl,{dataKey:"count",fill:"hsl(var(--primary))",radius:[4,4,0,0],name:"Meetings"})]})})})]})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"text-base font-semibold flex items-center gap-2",children:[n.jsx(Ur,{className:"h-4 w-4"}),"Feature Adoption"]})}),n.jsx(ue,{children:n.jsx("div",{className:"space-y-4",children:b.map(x=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center justify-between text-sm",children:[n.jsx("span",{className:"font-medium",children:x.label}),n.jsxs("span",{className:"text-muted-foreground",children:[x.count.toLocaleString()," users (",x.pct,"%)"]})]}),n.jsx("div",{className:"h-2 rounded-full bg-muted overflow-hidden",children:n.jsx("div",{className:"h-full rounded-full bg-primary transition-all",style:{width:`${x.count/g*100}%`}})})]},x.key))})})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"text-base font-semibold flex items-center gap-2",children:[n.jsx(ti,{className:"h-4 w-4"}),"Top Languages"]})}),n.jsx(ue,{children:n.jsx("div",{className:"space-y-3",children:l.topLanguages.map((x,v)=>{const w=(x.count/l.totalUsers*100).toFixed(1);return n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("span",{className:"text-xs text-muted-foreground w-4 text-right",children:v+1}),n.jsx("span",{className:"text-sm font-medium w-24 truncate",children:s8e[x.language]||x.language.toUpperCase()}),n.jsx("div",{className:"flex-1 h-2 rounded-full bg-muted overflow-hidden",children:n.jsx("div",{className:"h-full rounded-full bg-blue-500 transition-all",style:{width:`${x.count/l.topLanguages[0].count*100}%`}})}),n.jsxs("span",{className:"text-xs text-muted-foreground w-24 text-right",children:[x.count.toLocaleStr
943ing()," (",w,"%)"]})]},x.language)})})})]}),n.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-6 text-center space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Conversion Rate"}),n.jsxs("p",{className:"text-3xl font-bold text-emerald-600",children:[l.conversionRate,"%"]}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"free → paid"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-6 text-center space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Avg Meetings / User"}),n.jsx("p",{className:"text-3xl font-bold",children:l.avgMeetingsPerUser}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"lifetime average"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-6 text-center space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Churn Rate"}),n.jsxs("p",{className:"text-3xl font-bold text-red-500",children:[l.churnRate,"%"]}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"monthly"})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-6 text-center space-y-1",children:[n.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Days to First Meeting"}),n.jsx("p",{className:"text-3xl font-bold",children:l.avgDaysToFirstMeeting}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"avg from signup"})]})})]})]})})}const o8e=[{value:"all",label:"All Features"},{value:"coach_dashboard",label:"Coach Dashboard"},{value:"calendar_integration",label:"Calendar Integration"},{value:"zapier",label:"Zapier"},{value:"team_plan",label:"Team Plan"}],oR={coach_dashboard:"Coach Dashboard",calendar_integration:"Calendar Integration",zapier:"Zapier",team_plan:"Team Plan"},l8e=e=>{const t=new Date(e);return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(t)};function c8e(){const{isAdmin:e}=Gt(),{toast:t}=dt(),[r,a]=y.useState("all"),[s,i]=y.useState(""),[o,l]=y.useState(!1),{data:c,isLoading:d,error:u,refetch:m}=De({queryKey:["/api/admin/waitlist"],enabled:e,staleTime:0,refetchOnMount:"always",retry:!1}),h=Ve({mutationFn:async N=>ct(`/api/admin/waitlist/${N}/contact`,"POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/admin/waitlist"]}),t({title:"Marked as contacted"})},onError:()=>t({variant:"destructive",title:"Failed to update entry"})}),f=Ve({mutationFn:async N=>ct(`/api/admin/waitlist/${N}`,"DELETE"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/admin/waitlist"]}),t({title:"Entry removed"})},onError:()=>t({variant:"destructive",title:"Failed to remove entry"})});if(!e)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsxs(X,{className:"max-w-md",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-destructive",children:[n.jsx(Pr,{className:"h-5 w-5"}),"Access Denied"]})}),n.jsx(ue,{children:n.jsx("p",{className:"text-muted-foreground",children:"You don't have permission to access this page. Admin privileges are required."})})]})});if(d)return n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(u){const N=u instanceof Error&&(u.message.includes("404")||u.message.toLowerCase().includes("not found"));return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"container max-w-7xl mx-auto p-4 md:p-6 lg:p-8 space-y-6",children:[n.jsxs("div",{className:"space-y-1",children:[n.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Waitlist"}),n.jsx("p",{className:"text-muted-foreground",children:"Manage feature waitlist signups"})]}),n.jsxs(X,{className:"border-amber-200 bg-amber-50",children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-amber-700",children:[n.jsx(pa,{className:"h-5 w-5"}),N?"Waitlist table not yet created":"Error loading waitlist"]})}),n.jsxs(ue,{className:"space-y-4",children:[n.jsx("p",{className:"text-sm text-amber-700",children:N?"The waitlist endpoint returned 404. Run this migration in routes.ts to create the table:":`Unexpected error: ${u instanceof Error?u.message:"Unknown error"}`}),N&&n.jsx("pre",{className:"bg-amber-100 rounded-lg p-4 text-xs text-amber-900 overflow-x-auto whitespace-pre-wrap font-mono",children:`CREATE TABLE IF NOT EXISTS waitlist (
944  id TEXT PRIMARY KEY DEFAULT gen_random_uuid()::text,
945  email TEXT NOT NULL,
946  feature TEXT NOT NULL,
947  user_id TEXT REFERENCES users(id),
948  contacted BOOLEAN NOT NULL DEFAULT false,
949  created_at TIMESTAMP NOT NULL DEFAULT NOW()
950);`}),n.jsx(D,{variant:"outline",size:"sm",onClick:()=>m(),children:"Retry"})]})]})]})})}const b=c??[],g=r==="all"?b:b.filter(N=>N.feature===r),p={};for(const N of b)p[N.feature]=(p[N.feature]||0)+1;const x=b.filter(N=>N.contacted).length,v=()=>{const N=["id","email","feature","user_id","contacted","created_at"],j=g.map(T=>[T.id,T.email,T.feature,T.userId||"",T.contacted?"yes":"no",T.createdAt]),k=[N,...j].map(T=>T.map(E=>
950`"${E}"`).join(",")).join(`
951`),S=new Blob([k],{type:"text/csv"}),C=URL.createObjectURL(S),A=document.createElement("a");A.href=C,A.download=`waitlist-${r}-${new Date().toISOString().slice(0,10)}.csv`,A.click(),URL.revokeObjectURL(C)},w=async()=>{if(!s.trim()){t({variant:"destructive",title:"Email body is empty"});return}l(!0);try{await ct("/api/admin/waitlist/email-all","POST",{message:s}),t({title:"Update sent to all waitlist entries"}),i("")}catch(N){t({variant:"destructive",title:"Failed to send",description:N.message})}finally{l(!1)}};return n.jsx("div",{className:"min-h-screen bg-background",children:n.jsxs("div",{className:"container max-w-7xl mx-auto p-4 md:p-6 lg:p-8 space-y-6",children:[n.jsxs("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[n.jsxs("div",{className:"space-y-1",children:[n.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Waitlist"}),n.jsx("p",{className:"text-muted-foreground",children:"Manage feature waitlist signups"})]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:v,disabled:g.length===0,className:"flex items-center gap-2",children:[n.jsx(Kv,{className:"h-4 w-4"}),"Export CSV"]})]}),n.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-3",children:[n.jsx(X,{children:n.jsxs(ue,{className:"pt-5",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Total"}),n.jsx("p",{className:"text-2xl font-bold",children:b.length})]})}),n.jsx(X,{children:n.jsxs(ue,{className:"pt-5",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Contacted"}),n.jsx("p",{className:"text-2xl font-bold text-emerald-600",children:x})]})}),Object.entries(p).sort(([,N],[,j])=>j-N).slice(0,3).map(([N,j])=>n.jsx(X,{children:n.jsxs(ue,{className:"pt-5",children:[n.jsx("p",{className:"text-xs font-medium text-muted-foreground truncate",children:oR[N]||N}),n.jsx("p",{className:"text-2xl font-bold",children:j})]})},N))]}),n.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[n.jsxs(zi,{value:r,onValueChange:a,children:[n.jsx(Hs,{className:"w-52",children:n.jsx(Bi,{placeholder:"Filter by feature"})}),n.jsx(Gs,{children:o8e.map(N=>n.jsx(jt,{value:N.value,children:N.label},N.value))})]}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["Showing ",g.length," of ",b.length," entries"]})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-base font-semibold",children:[n.jsx(c4,{className:"h-4 w-4"}),"Waitlist Entries"]})}),n.jsx(ue,{children:g.length===0?n.jsxs("div",{className:"text-center py-12 text-muted-foreground",children:[n.jsx(c4,{className:"h-12 w-12 mx-auto mb-3 opacity-40"}),n.jsx("p",{children:"No waitlist entries found"})]}):n.jsx("div",{className:"space-y-3",children:g.map(N=>n.jsxs("div",{className:"flex items-start justify-between p-3 sm:p-4 rounded-lg border gap-3 hover:bg-muted/30 transition-colors",children:[n.jsxs("div",{className:"flex-1 min-w-0 space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"font-medium text-sm truncate",children:N.email}),N.contacted&&n.jsxs(ve,{variant:"outline",className:"text-xs border-emerald-300 bg-emerald-50 text-emerald-700 flex items-center gap-1",children:[n.jsx(nr,{className:"h-3 w-3"}),"Contacted"]})]}),n.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground",children:[n.jsx(ve,{variant:"secondary",className:"text-xs",children:oR[N.feature]||N.feature}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(ys,{className:"h-3 w-3"}),l8e(N.createdAt)]}),N.score!=null&&n.jsxs(ve,{variant:"outline",className:"text-xs border-primary/40 text-primary",children:["Score ",N.score,"/100"]}),N.note&&n.jsx("span",{className:"text-xs text-muted-foreground",children:N.note}),N.userId&&n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(To,{className:"h-3 w-3"}),n.jsxs("span",{className:"font-mono",children:[N.userId.slice(0,8),"…"]})]})]})]}),n.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!N.contacted&&n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>h.mutate(N.id),disabled:h.isPending,className:"flex items-center gap-1.5 text-xs",children:[h.isPending?n.jsx(Ce,{className:"h-3 w-3 animate-spin"}):n.jsx(Ht,{className:"h-3 w-3"}),n.jsx("span",{className:"hidden sm:inline",children:"Mark Contacted"})]}),n.jsx(D,{variant:"ghost",size:"sm",onClick:()=>f.mutate(N.id),disabled:f.isPending,className:"text-destructive hover:text-destructive hover:bg-destructive/10",children:f.isPending?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(Yo,{className:"h-4 w-4"})})]})]},N.id))})})]}),n.jsxs(X,{children:[n.jsx(Ye,{children:n.jsxs(at,{className:"flex items-center gap-2 text-base font-semibold",children:[n.jsx(ls,{className:"h-4 w-4"}),"Send Update to All Waitlist"]})}),n.jsxs(ue,{className:"space-y-4",children:[n.jsxs("p",{className:"text-sm text-muted-foreground",children:["Compose a quick update email to send to all ",b.length," waitlist entr
951ies. This calls ",n.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"POST /api/admin/waitlist/email-all"}),"."]}),n.jsx(Rc,{placeholder:"Hey! We wanted to update you on the feature you signed up for...",value:s,onChange:N=>i(N.target.value),rows:5,className:"resize-none"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs(D,{onClick:w,disabled:o||!s.trim(),className:"flex items-center gap-2",children:[o?n.jsx(Ce,{className:"h-4 w-4 animate-spin"}):n.jsx(ls,{className:"h-4 w-4"}),"Send to ",b.length," recipients"]}),s.trim()&&n.jsx(D,{variant:"ghost",size:"sm",onClick:()=>i(""),className:"text-muted-foreground",children:"Clear"})]})]})]})]})})}const Km=[{id:"first_meeting",label:"Record your first meeting",href:"/",linkLabel:"Go record"},{id:"first_analysis",label:"Get your first analysis",href:"/meetings",linkLabel:"View meetings"},{id:"goal_set",label:"Set a communication goal",href:"/goals",linkLabel:"Set goal"},{id:"invite_teammate",label:"Invite a teammate or friend",href:"/referral",linkLabel:"Invite now"},{id:"share_report",label:"Share your first report",href:"/meetings",linkLabel:"Share a report"}],Zc="sf_checklist_closed",d8e="sf_report_shared",u8e="sf_invite_sent";function m8e(){const{user:e}=Gt(),[t,r]=y.useState(!1),[a,s]=y.useState(!1);y.useEffect(()=>{const x=localStorage.getItem(Zc);r(x===null)},[]);const{data:i}=De({queryKey:["/api/meetings"],enabled:!!(e!=null&&e.id),queryFn:async()=>{const x=await fetch("/api/meetings",{credentials:"include"});return x.ok?x.json():[]},staleTime:3e4}),o=((i==null?void 0:i.length)??0)>0,l=(i??[]).some(x=>x.analysisStatus==="completed"||!x.analysisStatus&&!!x)&&o,c=localStorage.getItem("sf_goal_set")==="true",d=localStorage.getItem(u8e)==="true",u=localStorage.getItem(d8e)==="true",m={first_meeting:o,first_analysis:l,goal_set:c,invite_teammate:d,share_report:u},h=Km.filter(x=>m[x.id]).length,f=h===Km.length;if(y.useEffect(()=>{if(f){const x=setTimeout(()=>{s(!0),localStorage.setItem(Zc,"done")},4e3);return()=>clearTimeout(x)}},[f]),!(localStorage.getItem("sf_onboarded")==="true")||!e||a||localStorage.getItem(Zc)==="done")return null;const g=()=>{const x=!t;r(x),x?localStorage.removeItem(Zc):localStorage.setItem(Zc,"collapsed")},p=()=>{s(!0),localStorage.setItem(Zc,"done")};return n.jsxs("div",{className:"fixed bottom-6 left-4 z-40 w-72 rounded-2xl border border-gray-200 bg-white shadow-xl shadow-gray-200/60 overflow-hidden transition-all duration-300","data-testid":"onboarding-checklist",children:[n.jsxs("button",{onClick:g,className:"w-full flex items-center justify-between px-4 py-3 bg-white hover:bg-gray-50 transition-colors","data-testid":"checklist-toggle",children:[n.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[f?n.jsx("span",{className:"text-base font-semibold text-gray-900 truncate",children:"You're a SpeakFlare pro!"}):n.jsx("span",{className:"text-sm font-semibold text-gray-900 truncate",children:"Getting started"}),!f&&n.jsxs("span",{className:"text-xs text-gray-400 flex-shrink-0",children:[h,"/",Km.length]})]}),n.jsx("div",{className:"flex items-center gap-1 flex-shrink-0",children:t?n.jsx(Jt,{className:"h-4 w-4 text-gray-400"}):n.jsx(Ps,{className:"h-4 w-4 text-gray-400"})})]}),n.jsx("div",{className:"px-4 pb-1",children:n.jsx($p,{value:h/Km.length*100,className:"h-1.5"})}),t&&n.jsxs("div",{className:"px-4 pb-4 pt-2 space-y-2",children:[f?n.jsxs("div",{className:"text-center py-3",children:[n.jsx("p",{className:"text-2xl mb-1",children:"🎉"}),n.jsx("p",{className:"text-sm text-gray-500",children:"You've completed everything!"})]}):Km.map(x=>{const v=m[x.id];return n.jsxs("div",{className:`flex items-center gap-3 py-1.5 ${v?"opacity-60":""}`,"data-testid":`checklist-item-${x.id}`,children:[v?n.jsx(gn,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):n.jsx(j8,{className:"h-4 w-4 text-gray-300 flex-shrink-0"}),n.jsx("span",{className:`text-sm flex-1 ${v?"line-through text-gray-400":"text-gray-700"}`,children:x.label}),!v&&n.jsx(Fe,{href:x.href,children:n.jsx("span",{className:"text-xs text-primary font-medium hover:underline cursor-pointer flex-shrink-0",children:x.linkLabel})})]},x.id)}),n.jsx("button",{onClick:p,className:"w-full text-center text-xs text-gray-300 hover:text-gray-500 mt-2 transition-colors","data-testid":"checklist-dismiss",children:"Dismiss"})]})]})}function SS(){const[e,t]=y.useState(!1),[r,a]=y.useState(!1),[s,i]=y.useState(0),[o,l]=y.useState(0),[c,d]=y.useState(0),[u,m]=y.useState('Click "Start Recording" to begin capturing your meeting'),[h,f]=y.useState("info");y.useEffect(()=>{let v;return r&&(v=setInterval(()=>{i(w=>
951w+1),l(w=>w+Math.random()*5e3+1e4),d(w=>w+1)},1e3)),()=>clearInterval(v)},[r]);const b=()=>{a(!0),i(0),l(0),d(0),m("🎙️ Recording started! Speak naturally..."),f("success"),setTimeout(()=>{r&&g()},3e4)},g=()=>{a(!1),m("📤 Uploading to server..."),f("info"),setTimeout(()=>{m("✅ Upload successful! Check your email for analysis"),f("success")},2e3)},p=v=>{const w=Math.floor(v/60),N=v%60;return`${w}:${N.toString().padStart(2,"0")}`},x=v=>(v/1024).toFixed(1)+" KB";return n.jsx("div",{className:"min-h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center p-8",children:n.jsxs("div",{className:"max-w-6xl w-full",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("h1",{className:"text-5xl font-bold text-white mb-4",children:"SpeakFlare Chrome Extension Preview"}),n.jsx("p",{className:"text-xl text-slate-300 mb-2",children:"Test the extension UI without installing it in Chrome"}),n.jsx("p",{className:"text-sm text-slate-400",children:"This is how the extension will look and behave on Google Meet"})]}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[n.jsxs(X,{className:"bg-slate-800 border-slate-700 p-8",children:[n.jsx("div",{className:"aspect-video bg-slate-900 rounded-lg mb-4 flex items-center justify-center border-2 border-slate-700",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-6xl mb-4",children:"🎥"}),n.jsx("div",{className:"text-slate-400 text-lg",children:"Simulated Google Meet"}),n.jsx("div",{className:"text-slate-500 text-sm mt-2",children:"Extension appears here →"})]})}),n.jsxs("div",{className:"text-slate-400 text-sm space-y-2",children:[n.jsx("p",{children:"✅ Auto-starts recording 3 seconds after joining"}),n.jsx("p",{children:"✅ Auto-stops when you leave the meeting"}),n.jsx("p",{children:"✅ Can manually start/stop anytime"}),n.jsx("p",{children:"✅ Uploads automatically to SpeakFlare"})]}),!e&&n.jsx("div",{className:"fixed bottom-6 right-6 lg:bottom-12 lg:right-[50%] lg:transform lg:-translate-x-[-200px]",children:n.jsxs("button",{onClick:()=>t(!0),className:"w-16 h-16 bg-gradient-to-br from-blue-500 to-blue-600 rounded-full shadow-2xl flex items-center justify-center border-4 border-white hover:scale-110 transition-all duration-300 relative",children:[n.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[n.jsx("path",{d:"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"}),n.jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),n.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"23"}),n.jsx("line",{x1:"8",y1:"23",x2:"16",y2:"23"})]}),r&&n.jsx("div",{className:"absolute inset-0 rounded-full border-4 border-red-500 animate-ping"})]})})]}),n.jsx("div",{className:"relative",children:e?n.jsxs("div",{className:"bg-gradient-to-br from-slate-800 to-slate-900 rounded-2xl shadow-2xl overflow-hidden border border-slate-700 animate-in slide-in-from-bottom-4 duration-300",children:[n.jsxs("div",{className:"bg-gradient-to-r from-blue-500 to-blue-600 p-5 flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[n.jsx("path",{d:"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"}),n.jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),n.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"23"}),n.jsx("line",{x1:"8",y1:"23",x2:"16",y2:"23"})]}),n.jsx("span",{className:"text-white font-semibold text-lg",children:"SpeakFlare"})]}),n.jsx("button",{onClick:()=>t(!1),className:"w-8 h-8 bg-white/20 hover:bg-white/30 rounded-lg flex items-center justify-center transition-colors",children:n.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[n.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),n.jsxs("div",{className:"p-5",children:[n.jsxs("div",{className:"bg-white/5 rounded-xl p-4 mb-4 border border-white/10",children:[n.jsx("div",{className:"text-slate-400 text-xs font-semibold uppercase tracking-wider mb-2",children:"Status"}),n.jsxs("div",{className:`font-bold text-xl flex items-center gap-2 ${r?"text-green-400":"text-red-400"}`,children:[n.jsx("span",{className:`w-2 h-2 rounded-full ${r?"bg-green-400":"bg-red-400"}`}),r?"Recording...":"Not Recording"]})]}),n.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-4",children:[n.jsxs("div",{className:"bg-white/5 rounded-xl p-3 border border-white/10",children:[n.jsx("div",{className:"text-slate-400 text-xs font-semibold uppercase tracking-wider mb-1",children:"Duration"}),n.jsx("div",{className:"text-green-400 font-bold text-2xl font-mono",children:p(s)})]}),n.jsxs("div",{className:"bg-white/5 rounded-xl p-3 border border-white/10",children:[n.jsx("div",{className:"text-slate-400 text-xs font-semibold uppercase tracking-wider mb-1",children:"Audio Size"}),n.jsx("div",{className:"text-purple-400 font-bold text-2xl",children:x(o)})]})]}),n.jsx("div",{className:`rounded-lg p-3 mb-4 text-sm leading-relaxed ${h==="success"?"bg-green-500/10 border border-green-500/30 text-green-300":h==="error"?"bg-red-500/10 border border-red-500/30 text-red-300":"bg-blue-500/10 border border-blue-500/30 text-blue-300"}`,children:u}),n.jsx("div",{className:"flex gap-2",children:r?n.jsx(D,{onClick:g,className:"flex-1 bg-gradient-to-r from-red-500 to-red-600 hover:from-red-600 hover:to-red-700 text-white font-semibold py-3 shadow-lg hover:shadow-xl transition-all",children:"⏹️ Stop Recording"}):n.jsx(D,{onClick:b,className:"flex-1 bg-gradient-to-r from-green-500 to-green-600 hover:from-green-600 hover:to-green-700 text-white font-semibold py-3 shadow-lg hover:shadow-xl transition-all",children:"▶️ Start Recording"})}),r&&c>0&&n.jsxs("div",{className:"mt-4 text-center text-slate-400 text-xs",children:["📦 ",c," chunks captured"]})]})]}):n.jsxs("div",{className:"bg-slate-800 border-2 border-solid border-slate-700 rounded-2xl p-12 text-center",children:[n.jsx("div",{className:"text-slate-500 text-lg mb-4",children:"Panel Minimized"}),n.jsx("div",{className:"text-slate-600 text-sm",children:"Click the blue floating button to expand →"})]})})]}),n.jsxs(X,{className:"mt-8 bg-slate-800 border-slate-700 p-6",children:[n.jsx("h3",{className:"text-xl font-bold text-white mb-4",children:"How to Use on Google Meet:"}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 text-slate-300",children:[n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-blue-400 mb-2",children:"Automatic Mode:"}),n.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-sm",children:[n.jsx("li",{children:"Join Google Meet"}),n.jsx("li",{children:"Extension auto-starts after 3 seconds"}),n.jsx("li",{children:"Speak naturally during meeting"}),n.jsx("li",{children:"Leave meeting → Auto-stops & uploads"})]})]}),n.jsxs("div",{children:[n.jsx("p",{className:"font-semibold text-green-400 mb-2",children:"Manual Control:"}),n.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-sm",children:[n.jsx("li",{children:"Click blue floating button"}),n.jsx("li",{children:'Click "Start Recording"'}),n.jsx("li",{children:"Speak during meeting"}),n.jsx("li",{children:'Click "Stop Recording" when done'})]})]})]})]})]})})}
951function h8e({impersonatedUser:e}){const{toast:t}=dt(),[,r]=ze(),a=Ve({mutationFn:async()=>await ct("/api/admin/stop-impersonation","POST"),onSuccess:()=>{Qe.invalidateQueries({queryKey:["/api/auth/user"]}),r("/admin/users"),t({title:"Stopped viewing as user",description:"You're now back to your admin account"})},onError:s=>{t({variant:"destructive",title:"Failed to stop impersonation",description:s.message})}});return n.jsx(hy,{className:"rounded-none border-x-0 border-t-0 bg-amber-50 dark:bg-amber-950/20 border-amber-200 dark:border-amber-800",children:n.jsxs("div",{className:"container max-w-7xl mx-auto flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Pr,{className:"h-4 w-4 text-amber-600 dark:text-amber-500"}),n.jsxs(fy,{className:"text-sm font-medium text-amber-900 dark:text-amber-100",children:["Viewing as: ",n.jsxs("span",{className:"font-bold",children:[e.firstName," ",e.lastName]}),n.jsxs("span",{className:"text-amber-700 dark:text-amber-400 ml-2",children:["(",e.email,")"]})]})]}),n.jsxs(D,{variant:"outline",size:"sm",onClick:()=>a.mutate(),disabled:a.isPending,className:"border-amber-300 dark:border-amber-700","data-testid":"button-stop-impersonation",children:[n.jsx(Ra,{className:"h-4 w-4 mr-2"}),"Exit View"]})]})})}const Ph=[{code:"en",label:"English",flag:"🇺🇸"},{code:"he",label:"עברית",flag:"🇮🇱"},{code:"ar",label:"العربية",flag:"🇸🇦"},{code:"es",label:"Español",flag:"🇪🇸"},{code:"ru",label:"Русский",flag:"🇷🇺"},{code:"fr",label:"Français",flag:"🇫🇷"},{code:"de",label:"Deutsch",flag:"🇩🇪"},{code:"pt",label:"Português",flag:"🇧🇷"},{code:"it",label:"Italiano",flag:"🇮🇹"},{code:"tr",label:"Türkçe",flag:"🇹🇷"},{code:"pl",label:"Polski",flag:"🇵🇱"},{code:"nl",label:"Nederlands",flag:"🇳🇱"},{code:"zh",label:"中文",flag:"🇨🇳"},{code:"ja",label:"日本語",flag:"🇯🇵"},{code:"ko",label:"한국어",flag:"🇰🇷"},{code:"hi",label:"हिन्दी",flag:"🇮🇳"},{code:"uk",label:"Українська",flag:"🇺🇦"}];function _Z(){const{user:e}=Gt(),[t,r]=y.useState(null);y.useEffect(()=>{e!=null&&e.preferredLanguage&&r(e.preferredLanguage)},[e==null?void 0:e.preferredLanguage]);const a=t||(e==null?void 0:e.preferredLanguage)||"en",s=Ph.find(o=>o.code===a)||Ph[0],i=async o=>{r(o);try{await fetch(`/api/users/${e==null?void 0:e.id}/language`,{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({language:o})}),Qe.invalidateQueries({queryKey:["/api/auth/user"]})}catch{}};return e?n.jsxs("div",{className:"flex items-center gap-1.5",children:[n.jsx(ti,{className:"h-4 w-4 text-muted-foreground hidden sm:block"}),n.jsxs(zi,{value:a,onValueChange:i,children:[n.jsx(Hs,{className:"h-8 w-auto min-w-[110px] text-sm border-0 bg-transparent shadow-none focus:ring-0 px-2 gap-1",children:n.jsxs(Bi,{children:[s.flag," ",s.label]})}),n.jsx(Gs,{align:"end",children:Ph.map(o=>n.jsxs(jt,{value:o.code,children:[o.flag," ",o.label]},o.code))})]})]}):null}const lR={en:{dashboard:"Home",meetings:"Meetings",progress:"Progress",coach:"Coach",goals:"Goals",team:"Team",compare:"Compare",admin:"Admin",profile:"Settings"},he:{dashboard:"ראשי",meetings:"פגישות",progress:"התקדמות",coach:"מאמן",goals:"יעדים",team:"צוות",compare:"השוואה",admin:"ניהול",profile:"הגדרות"},ar:{dashboard:"الرئيسية",meetings:"اجتماعات",progress:"التقدم",coach:"مدرب",goals:"أهداف",team:"فريق",compare:"مقارنة",admin:"إدارة",profile:"إعدادات"},es:{dashboard:"Inicio",meetings:"Reuniones",progress:"Progreso",coach:"Coach",goals:"Metas",team:"Equipo",compare:"Comparar",admin:"Admin",profile:"Config"},ru:{dashboard:"Главная",meetings:"Встречи",progress:"Прогресс",coach:"Тренер",goals:"Цели",team:"Команда",compare:"Сравнить",admin:"Админ",profile:"Настройки"},fr:{dashboard:"Accueil",meetings:"Réunions",progress:"Progrès",coach:"Coach",goals:"Objectifs",team:"Équipe",compare:"Comparer",admin:"Admin",profile:"Réglages"},de:{dashboard:"Start",meetings:"Meetings",progress:"Fortschritt",coach:"Coach",goals:"Ziele",team:"Team",compare:"Vergleich",admin:"Admin",profile:"Einst."},pt:{dashboard:"Inicio",meetings:"Reunioes",progress:"Progresso",coach:"Coach",goals:"Metas",team:"Equipe",compare:"Comparar",admin:"Admin",profile:"Config"},it:{dashboard:"Home",meetings:"Riunioni",progress:"Progressi",coach:"Coach",goals:"Obiettivi",team:"Team",compare:"Confronta",admin:"Admin",profile:"Impost."},tr:{dashboard:"Ana",meetings:"Toplantilar",progress:"Ilerleme",coach:"Koc",goals:"Hedefler",team:"Takim",compare:"Karsilastir",admin:"Yonetim",profile:"Ayarlar"}};function f8e(e){return lR[e||"en"]||lR.en}function p8e(){var f,b,g;const[e]=ze(),{user:t,isAdmin:r}=Gt(),a=f8e(t==null?void 0:t.preferredLanguage),[s,i]=y.useState(!1),[o,l]=y.useState((t==null?void 0:t.preferredLanguage)||"en");y.useEffect(()=>{t!=null&&t.preferredLanguage&&l(t.preferredLanguage)},[t==null?void 0:t.preferredLanguage]);const c=async p=>{l(p),i(!1);try{await fetch(`/api/users/${t==null?void 0:t.id}/language`,{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({language:p})}),Qe.invalidateQueries({queryKey:["/api/auth/user"]})}catch{}},d=((f=Ph.find(p=>
951p.code===o))==null?void 0:f.flag)||"🌐",u=t&&t.firstName?(((b=t.firstName)==null?void 0:b[0])||"")+(((g=t.lastName)==null?void 0:g[0])||""):"U",m=[{path:"/",icon:C8,label:a.dashboard,exact:!0},{path:"/meetings",icon:Ze,label:a.meetings},{path:"/progress",icon:it,label:a.progress},{path:"/ai-coach",icon:tn,label:a.coach},{path:"/goals",icon:rr,label:a.goals},{path:"/team",icon:Wt,label:a.team},{path:"/comparison",icon:Zv,label:a.compare}],h=(p,x)=>x?e===p:e.startsWith(p);return n.jsxs("aside",{className:"app-sidebar",children:[n.jsx(Fe,{href:"/",className:"sidebar-logo","aria-label":"Home",children:"S"}),m.map(p=>{const x=p.icon,v=h(p.path,p.exact);return n.jsxs(Fe,{href:p.path,className:`nav-icon-btn ${v?"active":""}`,children:[n.jsx(x,{}),n.jsx("span",{className:"nav-label",children:p.label})]},p.path)}),r&&n.jsxs(Fe,{href:"/admin",className:`nav-icon-btn ${h("/admin")?"active":""}`,children:[n.jsx(Pr,{}),n.jsx("span",{className:"nav-label",children:a.admin})]}),n.jsx("div",{className:"sidebar-spacer"}),n.jsxs("div",{className:"relative",children:[n.jsxs("button",{onClick:()=>i(!s),className:"nav-icon-btn","aria-label":"Change language",children:[n.jsx("span",{style:{fontSize:20,lineHeight:1},children:d}),n.jsx("span",{className:"nav-label",children:"Lang"})]}),s&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>i(!1)}),n.jsx("div",{className:"absolute left-[60px] bottom-0 z-50 w-48 max-h-72 overflow-y-auto bg-card border border-border rounded-md shadow-lg py-1",children:Ph.map(p=>n.jsxs("button",{onClick:()=>c(p.code),className:`w-full text-left px-3 py-2 text-sm flex items-center gap-2 hover:bg-accent transition-colors ${p.code===o?"bg-accent text-primary font-semibold":"text-foreground"}`,children:[n.jsx("span",{children:p.flag}),n.jsx("span",{children:p.label})]},p.code))})]})]}),n.jsxs(Fe,{href:"/profile",className:`nav-icon-btn ${h("/profile")?"active":""}`,children:[n.jsx(Xv,{}),n.jsx("span",{className:"nav-label",children:a.profile})]}),n.jsx(Fe,{href:"/profile",className:"sidebar-avatar","aria-label":"Profile",children:u.toUpperCase()})]})}const cR="sf_chat_session",dR="sf_visitor",zg="sf_proactive_shown";function g8e(){let e=localStorage.getItem(dR);return e||(e=crypto.randomUUID(),localStorage.setItem(dR,e)),e}function uR({mode:e,user:t}){var P;const[r,a]=y.useState(!1),[s,i]=y.useState([]),[o,l]=y.useState(""),[c,d]=y.useState(!1),[u,m]=y.useState(null),[h,f]=y.useState(!1),[b,g]=y.useState(!1),p=y.useRef(null),x=y.useRef(null),{user:v}=Gt(),w=(v==null?void 0:v.preferredLanguage)||(typeof localStorage<"u"?localStorage.getItem("sf_lang"):null)||((P=navigator.language)==null?void 0:P.slice(0,2))||"en",N=w==="he"||w==="ar",j=w==="he"?"שלום! במה אוכל לעזור לך היום?":w==="es"?"Hola, ¿en qué puedo ayudarte hoy?":w==="fr"?"Bonjour, comment puis-je vous aider aujourd'hui ?":w==="de"?"Hallo, wie kann ich Ihnen heute helfen?":w==="pt"?"Olá, como posso ajudar você hoje?":w==="ru"?"Привет, чем могу помочь?":w==="ar"?"مرحباً، كيف يمكنني مساعدتك اليوم؟":w==="zh"?"你好,今天我能帮您什么?":w==="ja"?"こんにちは、今日はどのようにお手伝いできますか?":"Hi, how can I help you today?",k=w==="fr"?"SpeakFlare analyse vos enregistrements de réunions et détecte chaque mot de remplissage, faute de grammaire et phrase faible. Démo gratuite de 30 secondes, sans inscription, puis 5 $ pour 20 enregistrements. Posez-moi n'importe quelle question sur le fonctionnement.":w==="es"?"SpeakFlare analiza tus grabaciones y detecta cada muletilla, error gramatical y frase débil. Demo gratis de 30 segundos, sin registro, y luego 5 $ por 20 grabaciones. Pregunta lo que quieras sobre cómo funciona.":w==="de"?"SpeakFlare analysiert Ihre Aufnahmen und erkennt jedes Füllwort, jeden Grammatikfehler und jede schwache Formulierung. Kostenlose 30-Sekunden-Demo, ohne Anmeldung, dann 5 $ für 20 Aufnahmen. Fragen Sie mich alles dazu.":w==="pt"?"O SpeakFlare analisa suas gravações e detecta cada palavra de preenchimento, erro gramatical e frase fraca. Demo gratuita de 30 segundos, sem cadastro, e depois US$ 5 por 20 gravações. Pergunte o que quiser sobre como funciona.":w==="ru"?"SpeakFlare анализирует ваши записи и выявляет каждое слово-паразит, грамматическую ошибку и слабую фразу. Бесплатная 30-секундная демоверсия без регистрации, затем 5 $ за 20 Ð
951·Ð°Ð¿Ð¸ÑÐµÐ¹. Спрашивайте что угодно.":w==="he"?"SpeakFlare מנתח את הקלטות הפגישות שלך ומזהה כל מילת מילוי, שגיאת דקדוק וניסוח חלש. הדגמה חינם של 30 שניות, ללא הרשמה, ואז 5$ ל-20 הקלטות. שאלו אותי כל שאלה.":w==="ar"?"SpeakFlare يحلل تسجيلاتك ويكتشف كل كلمة حشو وخطأ نحوي وعبارة ضعيفة. عرض تجريبي مجاني لمدة 30 ثانية بدون تسجيل، ثم 5 دولارات مقابل 20 تسجيلاً. اسألني أي شيء.":w==="zh"?"SpeakFlare 分析您的会议录音,检测每一个填充词、语法错误和措辞弱点。免费30秒演示,无需注册,之后5美元可分析20段录音。随时问我任何问题。":w==="ja"?"SpeakFlareは会議録音を分析し、すべてのフィラーワード、文法エラー、弱い表現を検出します。登録不要の無料30秒デモ、その後は5ドルで20件の録音を分析できます。何でもお気軽にご質問ください。":w==="it"?"SpeakFlare analizza le tue registrazioni e rileva ogni parola di riempimento, errore grammaticale e frase debole. Demo gratuita di 30 secondi, senza registrazione, poi 5 $ per 20 registrazioni. Chiedimi pure qualsiasi cosa.":w==="nl"?"SpeakFlare analyseert je opnames en detecteert elk stopwoord, grammaticafout en zwakke zin. Gratis demo van 30 seconden, zonder registratie, daarna $5 voor 20 opnames. Stel me gerust een vraag.":w==="pl"?"SpeakFlare analizuje Twoje nagrania i wykrywa każde słowo wypełniające, błąd gramatyczny i słabą frazę. Darmowe 30-sekundowe demo, bez rejestracji, potem 5 $ za 20 nagrań. Pytaj o cokolwiek.":w==="tr"?"SpeakFlare kayıtlarınızı analiz ederek her dolgu kelimesini, dilbilgisi hatasını ve zayıf ifadeyi tespit eder. Kayıt gerektirmeyen ücretsiz 30 saniyelik demo, ardından 20 kayıt için 5 $. Bana istediğinizi sorun.":w==="ko"?"SpeakFlare는 회의 녹음을 분석하여 모든 필러 단어, 문법 오류 및 약한 표현을 감지합니다. 가입 없이 무료 30초 데모를 이용하고, 이후에는 5달러로 녹음 20건을 분석할 수 있습니다. 무엇이든 물어보세요.":w==="sv"?"SpeakFlare analyserar dina inspelningar och upptäcker varje utfyllnadsord, grammatikfel och svag formulering. Gratis 30-sekundersdemo utan registrering, sedan 5 $ för 20 inspelningar. FrÃ¥ga mig vad som helst.":w==="uk"?"SpeakFlare аналізує ваші записи та виявл
951яє кожне слово-паразит, граматичну помилку та слабку фразу. Безкоштовне 30-секундне демо без реєстрації, потім 5 $ за 20 записів. Запитуйте будь-що.":"SpeakFlare analyzes your meeting recordings and flags every filler word, grammar mistake, and weak phrase. Free 30-second demo, no sign-up, then $5 for 20 recordings. Ask me anything about how it works.",S=w==="fr"?"SpeakFlare analyse vos réunions — démo gratuite de 30 s":w==="es"?"SpeakFlare analiza tus reuniones — demo gratis de 30 s":w==="de"?"SpeakFlare analysiert Ihre Meetings — kostenlose 30-Sek.-Demo":w==="pt"?"SpeakFlare analisa suas reuniões — demo grátis de 30 s":w==="ru"?"SpeakFlare анализирует ваши встречи — бесплатное 30-сек демо":w==="he"?"SpeakFlare מנתח את הפגישות שלך — הדגמה חינם של 30 שנ'":w==="ar"?"SpeakFlare يحلل اجتماعاتك — عرض تجريبي مجاني لـ 30 ثانية":w==="zh"?"SpeakFlare 分析您的会议 — 免费30秒演示":w==="ja"?"SpeakFlareが会議を分析 — 無料30秒デモ":w==="it"?"SpeakFlare analizza le tue riunioni — demo gratuita di 30 s":w==="nl"?"SpeakFlare analyseert je meetings — gratis demo van 30 s":w==="pl"?"SpeakFlare analizuje Twoje spotkania — darmowe demo 30 s":w==="tr"?"SpeakFlare toplantılarınızı analiz eder — ücretsiz 30 sn demo":w==="ko"?"SpeakFlare가 회의를 분석합니다 — 무료 30초 데모":w==="sv"?"SpeakFlare analyserar dina möten — gratis 30-sekundersdemo":w==="uk"?"SpeakFlare аналізує ваші зустрічі — безкоштовне 30-сек демо":"SpeakFlare analyzes your meetings — free 30-sec demo",C=w==="he"?"כתוב הודעה...":w==="ar"?"اكتب رسالة...":w==="es"?"Escribe un mensaje...":w==="fr"?"Écrivez un message...":w==="de"?"Nachricht schreiben...":w==="ru"?"Напишите сообщение...":"Type a message...";y.useEffect(()=>{var M;(M=p.current)==null||M.scrollIntoView({behavior:"smooth"})},[s,c]),y.useEffect(()=>{r&&setTimeout(()=>{var M;return(M=x.current)==null?void 0:M.focus()},100)},[r]),y.useEffect(()=>{if(e!=="sales"||localStorage.getItem(zg))return;const O=setTimeout(()=>{g(!0)},5e3),$=setTimeout(()=>{g(!1),a(!0),f(!0),i([{role:"assistant",content:k,ts:Date.now()}]),localStorage.setItem(zg,"1")},12e3);return()=>{clearTimeout(O),clearTimeout($)}},[e,k]);const A=y.useCallback(()=>{if(a(!0),g(!1),!h){f(!0),localStorage.setItem(zg,"1");const M=localStorage.getItem(cR);M?(m(M),fetch(`/api/chat/history/${M}`).then(O=>O.json()).then(O=>{O.messages&&O.messages.length>0?i(O.messages):i([{role:"assistant",content:e==="sales"?k:j,ts:Date.now()}])}).catch(()=>{i([{role:"assistant",content:e==="sales"?k:j,ts:Date.now()}])})):i([{role:"assistant",content:e==="sales"?k:j,ts:Date.now()}])}},[h,j,k,e]),T=y.useCallback(async()=>{const M=o.trim();if(!M||c)return;l("");const O={role:"user",content:M,ts:Date.now()};i($=>[...$,O]),d(!0);try{const $=g8e(),F=await(await fetch("/api/chat/message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:u,message:M,pageUrl:window.location.href,referrer:document.referrer,language:w,mode:e,visitorCookie:$})})).json();if(F.sessionId&&(m(F.sessionId),localStorage.setItem(cR,F.sessionId)),F.reply){const U={role:"assistant",content:F.reply,ts:Date.now()};i(Z=>[...Z,U])}}catch{const $=w==="he"?"סליחה, יש לי בעיית חיבור. נסה שוב.":w==="ar"?"عذراً، هناك مشكلة في الاتصال. حاول مرة أخرى.":w==="ru"?"Извините, проблема с подключением. Попробуйте снова.":w==="es"?"Lo siento, tengo problemas de conexión. Inténtalo de nuevo.":"Sorry, I'm having trouble connecting. Please try again.";i(_=>[..._,{role:"assistant",content:$,ts:Date.now()}])}finally{d(!1),setTimeout(()=>{var $;return($=x.current)==null?void 0:$.focus()},50)}},[o,c,u,w,e]),E=M=>{M.key==="Enter"&&!M.shiftKey&&(M.preventDefault(),T())},I=t!=null&&t.firstName?t.firstName.charAt(0).toUpperCase()+t.firstName.slice(1):"",R=e==="support"&&t?w==="he"?`שלום ${I} — תמיכה`:w==="ar"?`مرحباً ${I} — الدعم`:w==="ru"?`Привет ${I} — Поддержка`:w==="es"?`Hola ${I} — Soporte`:w==="fr"?`Bonjour ${I} — Support`:w==="de"?`Hallo ${I} — Support`:w==="pt"?`Olá ${I} — Suporte`:w==="it"?`Ciao ${I} — Supporto`:w==="tr"?`Merhaba ${I} — Destek`:w==="pl"?`Cześć ${I} — Wsparcie`:w==="zh"?`你好 ${I} — 支持`:w==="ja"?`こんにちは ${I} — サポート`:w==="ko"?`안녕하세요 ${I} — 지원`:w==="uk"?`Привіт ${I} — Підтримка`:`Hi ${I} — Support`:w==="he"?"SpeakFlare — עוזר":w==="ar"?"SpeakFlare — مساعد":w==="ru"?"SpeakFlare — Помощник":w==="es"?"SpeakFlare — Asistente":w==="fr"?"SpeakFlare — Assistant":w==="de"?"SpeakFlare — Assistent":"SpeakFlare Assistant";return n.jsxs("div",{className:"fixed bottom-5 right-5 z-50 flex flex-col items-end gap-3",children:[r&&n.jsxs("div",{className:"flex flex-col rounded-2xl shadow-2xl overflow-hidden",dir:N?"rtl":"ltr",style:{width:360,height:480,background:"white",border:"1px solid #e2e8f0"},children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 shrink-0",style:{background:"#0f172a"},children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:"#22c55e"}}),n.jsx("span",{className:"text-white font-semibold text-sm",children:R})]}),n.jsx("button",{onClick:()=>a(!1),className:"text-slate-400 hover:text-white transition-colors",children:n.jsx(Ra,{className:"w-4 h-4"})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-3",style:{background:"#f8fafc"},children:[s.map((M,O)=>n.jsx("div",{className:`flex ${M.role==="user"?"justify-end":"justify-start"}`,children:n.jsx("div",{className:"max-w-[80%] rounded-2xl px-3 py-2 text-sm leading-relaxed",style:M.role==="user"?{background:"#6366f1",color:"white",borderBottomRightRadius:4}:{background:"white",color:"#1e293b",border:"1px solid #e2e8f0",borderBottomLeftRadius:4},children:M.content})},O)),c&&n.jsx("div",{className:"flex justify-start",children:n.jsxs("div",{className:"flex items-center gap-1 rounded-2xl px-3 py-2",style:{background:"white",border:"1px solid #e2e8f0",borderBottomLeftRadius:4},children:[n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-bounce",style:{animationDelay:"300ms"}})]})}),n.jsx("div",{ref:p})]}),n.jsxs("div",{className:"flex items-center gap-2 px-3 py-3 shrink-0",style:{borderTop:"1px solid #e2e8f0",background:"white"},children:[n.jsx("input",{ref:x,type:"text",value:o,onChange:M=>
951l(M.target.value),onKeyDown:E,placeholder:C,disabled:c,className:"flex-1 rounded-xl border border-slate-200 px-3 py-2 text-sm outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-200 disabled:opacity-50 transition-colors",style:{background:"#f8fafc"}}),n.jsx("button",{onClick:T,disabled:c||!o.trim(),className:"flex items-center justify-center w-9 h-9 rounded-xl transition-all disabled:opacity-40",style:{background:"#6366f1"},children:c?n.jsx(Ce,{className:"w-4 h-4 text-white animate-spin"}):n.jsx(ls,{className:"w-4 h-4 text-white"})})]})]}),b&&!r&&n.jsxs("div",{className:"flex items-start gap-2 max-w-[260px] cursor-pointer",onClick:A,style:{background:"white",border:"1px solid #e2e8f0",borderRadius:12,padding:"10px 14px",boxShadow:"0 8px 32px rgba(0,0,0,0.12)",animation:"slideUp 0.3s ease"},children:[n.jsx("div",{style:{flex:1},children:n.jsx("p",{style:{fontSize:13,color:"#1e293b",lineHeight:1.4,margin:0},children:S})}),n.jsx("button",{onClick:M=>{M.stopPropagation(),g(!1),localStorage.setItem(zg,"1")},style:{color:"#94a3b8",background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,fontSize:16},children:"×"})]}),n.jsx("button",{onClick:r?()=>a(!1):A,className:"flex items-center justify-center w-14 h-14 rounded-full shadow-xl transition-all hover:scale-105 active:scale-95",style:{background:"#6366f1"},"aria-label":"Open chat",children:r?n.jsx(Ra,{className:"w-6 h-6 text-white"}):n.jsx(T8,{className:"w-6 h-6 text-white"})})]})}function x8e({open:e,onClose:t}){const{toast:r}=dt(),[a,s]=y.useState(""),[i,o]=y.useState(""),[l,c]=y.useState("normal"),[d,u]=y.useState(!1),[m,h]=y.useState(!1),f=async()=>{if(!a.trim()||!i.trim()){r({title:"Please fill in all fields",variant:"destructive"});return}u(!0);try{if(!(await fetch("/api/tickets",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({subject:a,message:i,priority:l})})).ok)throw new Error("Failed to submit");h(!0)}catch{r({title:"Failed to submit ticket",description:"Please try again.",variant:"destructive"})}finally{u(!1)}},b=()=>{s(""),o(""),c("normal"),h(!1),t()};return n.jsx(Tc,{open:e,onOpenChange:g=>{g||b()},children:n.jsxs(fl,{className:"max-w-md",children:[n.jsx(Ac,{children:n.jsxs(Ec,{className:"flex items-center gap-2",children:[n.jsx(O2,{className:"h-5 w-5 text-primary"}),"Report an Issue"]})}),m?n.jsxs("div",{className:"flex flex-col items-center gap-4 py-6 text-center",children:[n.jsx(nr,{className:"h-12 w-12 text-green-500"}),n.jsx("p",{className:"font-semibold",children:"Ticket submitted!"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"We'll look into it and get back to you."}),n.jsx(D,{onClick:b,className:"mt-2",children:"Close"})]}):n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("label",{className:"text-sm font-medium mb-1 block",children:"Subject"}),n.jsx(Et,{placeholder:"What's the issue?",value:a,onChange:g=>s(g.target.value)})]}),n.jsxs("div",{children:[n.jsx("label",{className:"text-sm font-medium mb-1 block",children:"Description"}),n.jsx(Rc,{placeholder:"Describe what happened, what you expected, and any steps to reproduce...",value:i,onChange:g=>o(g.target.value),rows:5})]}),n.jsxs("div",{children:[n.jsx("label",{className:"text-sm font-medium mb-1 block",children:"Priority"}),n.jsxs(zi,{value:l,onValueChange:c,children:[n.jsx(Hs,{children:n.jsx(Bi,{})}),n.jsxs(Gs,{children:[n.jsx(jt,{value:"low",children:"Low — minor inconvenience"}),n.jsx(jt,{value:"normal",children:"Normal — something isn't working"}),n.jsx(jt,{value:"high",children:"High — blocking my work"})]})]})]}),n.jsxs("div",{className:"flex gap-2 pt-2",children:[n.jsx(D,{variant:"outline",onClick:b,className:"flex-1",children:"Cancel"}),n.jsxs(D,{onClick:f,disabled:d,className:"flex-1",children:[d?n.jsx(Ce,{className:"h-4 w-4 animate-spin mr-2"}):null,"Submit Ticket"]})]})]})]})})}const y8e=gq,v8e=xq,b8e=yq,MZ=y.forwardRef(({className:e,...t},r)=>n.jsx(Pb,{className:_e("fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));MZ.displayName=Pb.displayName;const w8e=Qu("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4  border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),OZ=y.forwardRef(({side:e="right",className:t,children:r,...a},s)=>n.jsxs(b8e,{children:[n.jsx(MZ,{}),n.jsxs(Tb,{ref:s,className:_e(w8e({side:e}),t),...a,children:[r,n.jsxs(vq,{className:"absolute right-4 top-4 roun
951ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[n.jsx(Ra,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));OZ.displayName=Tb.displayName;const RZ=y.forwardRef(({className:e,...t},r)=>n.jsx(Ab,{ref:r,className:_e("text-lg font-semibold text-foreground",e),...t}));RZ.displayName=Ab.displayName;const j8e=y.forwardRef(({className:e,...t},r)=>n.jsx(Eb,{ref:r,className:_e("text-sm text-muted-foreground",e),...t}));j8e.displayName=Eb.displayName;const mR={en:{admin:"Admin",profile:"Settings",progress:"Progress",meetings:"Meetings",record:"Dashboard",coach:"AI Coach",goals:"Goals",team:"Team",compare:"Compare"},he:{admin:"ניהול",profile:"הגדרות",progress:"התקדמות",meetings:"פגישות",record:"ראשי",coach:"מאמן AI",goals:"יעדים",team:"צוות",compare:"השוואה"},ar:{admin:"الإدارة",profile:"إعدادات",progress:"التقدم",meetings:"الاجتماعات",record:"الرئيسية",coach:"مدرب AI",goals:"أهداف",team:"فريق",compare:"مقارنة"},es:{admin:"Admin",profile:"Config",progress:"Progreso",meetings:"Reuniones",record:"Inicio",coach:"AI Coach",goals:"Metas",team:"Equipo",compare:"Comparar"},ru:{admin:"Админ",profile:"Настройки",progress:"Прогресс",meetings:"Встречи",record:"Главная",coach:"AI Тренер",goals:"Цели",team:"Команда",compare:"Сравнить"},fr:{admin:"Admin",profile:"Réglages",progress:"Progrès",meetings:"Réunions",re
951cord:"Accueil",coach:"Coach IA",goals:"Objectifs",team:"Équipe",compare:"Comparer"},de:{admin:"Admin",profile:"Einst.",progress:"Fortschritt",meetings:"Meetings",record:"Start",coach:"KI Coach",goals:"Ziele",team:"Team",compare:"Vergleich"},pt:{admin:"Admin",profile:"Config",progress:"Progresso",meetings:"Reuniões",record:"Inicio",coach:"Coach IA",goals:"Metas",team:"Equipe",compare:"Comparar"},it:{admin:"Admin",profile:"Impost.",progress:"Progressi",meetings:"Riunioni",record:"Home",coach:"Coach IA",goals:"Obiettivi",team:"Team",compare:"Confronta"},tr:{admin:"Yönetim",profile:"Ayarlar",progress:"İlerleme",meetings:"Toplantılar",record:"Ana",coach:"AI Koç",goals:"Hedefler",team:"Takım",compare:"Karşılaştır"},pl:{admin:"Admin",profile:"Ustawienia",progress:"Postęp",meetings:"Spotkania",record:"Główna",coach:"AI Trener",goals:"Cele",team:"Zespół",compare:"Porównaj"},nl:{admin:"Admin",profile:"Instell.",progress:"Voortgang",meetings:"Vergaderingen",record:"Home",coach:"AI Coach",goals:"Doelen",team:"Team",compare:"Vergelijk"},zh:{admin:"管理",profile:"设置",progress:"进度",meetings:"会议",record:"主页",coach:"AI教练",goals:"目标",team:"团队",compare:"对比"},ja:{admin:"管理",profile:"設定",progress:"進捗",meetings:"ミーティング",record:"ホーム",coach:"AIコーチ",goals:"目標",team:"チーム",compare:"比較"},ko:{admin:"관리",profile:"설정",progress:"진행",meetings:"회의",record:"홈",coach:"AI코치",goals:"목표",team:"팀",compare:"비교"},hi:{admin:"एडमिन",profile:"सेटिंग्स",progress:"प्रगति",meetings:"बैठकें",record:"होम",coach:"AI कोच",goals:"लक्ष्य",team:"टीम",compare:"तुलना"},uk:{admin:"Адмін",profile:"Налашт.",progress:"Прогрес",meetings:"Зустрічі",record:"Головна",coach:"AI Тренер",goals:"Цілі",team:"Команда",compare:"Порівняти"}};function N8e(e){return mR[e||"en"]||mR.en}function k8e({user:e,isAdmin:t,onClose:r}){const[a]=ze(),s=N8e(e==null?void 0:e.preferredLanguage),i=["he","ar"].includes((e==null?void 0:e.preferredLanguage)||""),o=[{path:"/",label:s.record,testId:"nav-dashboard",icon:C8,exact:!0},{path:"/meetings",label:s.meetings,testId:"nav-meetings",icon:Ze},{path:"/progress",label:s.progress,testId:"nav-progress",icon:it},{path:"/ai-coach",label:s.coach,testId:"nav-coach",icon:tn},{path:"/goals",label:s.goals,testId:"nav-goals",icon:rr},{path:"/team",label:s.team,testId:"nav-team",icon:Wt},{path:"/comparison",label:s.compare,testId:"nav-compare",icon:Zv},{path:"/profile",label:s.profile,testId:"nav-profile",icon:Xv},...t?[{path:"/admin",label:s.admin,testId:"nav-admin",icon:Pr}]:[]];return n.jsxs("div",{className:"flex flex-col py-2",dir:i?"rtl":"ltr",children:[o.map(l=>{const c=l.icon,d=l.exact?a===l.path:a.startsWith(l.path);return n.jsxs(Fe,{href:l.path,"data-testid":l.testId,onClick:r,className:`
952              flex items-center gap-3 px-5 py-3 transition-all
953              ${d?"text-primary bg-primary/10 border-l-3 border-primary font-semibold":"text-foreground hover:bg-muted"}
954            `,children:[n.jsx(c,{className:"h-5 w-5 flex-shrink-0",strokeWidth:d?2:1.5}),n.jsx("span",{className:"text-sm font-medium",children:l.label})]},l.path)}),n.jsx("div",{className:"border-t border-border mt-2 pt-2 px-5",children:n.jsx(_Z,{})})]})}const S8e=new Set(["en","he","ar","es","ru","fr","de","pt","it","tr","pl","nl","zh","ja","ko","hi","uk"]);function Bg({params:e}){const{lang:t,page:r}=e;if(!S8e.has(t))return n.jsx(Qx,{});switch(uW(t),r){case"features":return n.jsx(cS,{});case"pricing":return n.jsx(hS,{});case"faq":return n.jsx(fS,{});case"integrations":return n.jsx(dS,{});case"mobile-app":return n.jsx(uS,{});case"insider":return n.jsx(mS,{});case"about":return n.jsx(pS,{});case"contact":return n.jsx(gS,{});case"blog":return n.jsx(xS,{});case"careers":return n.jsx(yS,{});case"help-center":return n.jsx(vS,{});case"documentation":return n.jsx(bS,{});case"tutorials":return n.jsx(wS,{});case"api":return n.jsx(jS,{});case"privacy":return n.jsx(sS,{});case"terms":return n.jsx(iS,{});case"security":return n.jsx(oS,{});case"cookies":return n.jsx(lS,{});case"login":return n.jsx(Xc,{});case"register":return n.jsx(X9,{});case"forgot-password":return n.jsx(J9,{});case"extension-preview":return n.jsx(SS,{});default:return n.jsx(Qx,{})}}function C8e(){const{user:e,isAuthenticated:t,isLoading:r,isAdmin:a}=Gt(),[s]=ze(),i=["/login","/register"],[o,l]=y.useState(!1),[c,d]=y.useState(!1);return r?n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:n.jsx(Ce,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):t?n.jsxs("div",{className:"min-h-screen bg-background",children:[e&&e.impersonating&&e.impersonatedUser&&n.jsx(h8e,{impersonatedUser:e.impersonatedUser}),n.jsxs("div",{className:"app-layout",children:[n.jsx(p8e,{}),n.jsxs("div",{className:"app-main",children:[n.jsx("header",{className:"sticky top-0 z-40 bg-background/80 backdrop-blur-xl border-b border-border sm:hidden",children:n.jsxs("div",{className:"flex h-14 items-center justify-between px-4",children:[n.jsxs(Fe,{href:"/",className:"flex items-center cursor-pointer","data-testid":"link-logo-home",children:[n.jsx("span",{className:"font-bold text-primary",children:"Speak"}),n.jsx("span",{className:"font-bold text-foreground",children:"Flare"})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(_Z,{}),n.jsxs(y8e,{open:o,onOpenChange:l,children:[n.jsx(v8e,{asChild:!0,children:n.jsx(D,{variant:"ghost",size:"icon","data-testid":"button-hamburger",children:n.jsx(Mte,{className:"h-5 w-5"})})}),n.jsxs(OZ,{side:"right",className:"w-64 p-0",children:[n.jsx(Zu,{children:n.jsx(RZ,{children:"Navigation Menu"})}),n.jsx("div",{className:"flex items-center px-4 py-4 border-b border-border",children:n.jsxs("span",{className:"text-lg font-bold",children:[n.jsx("span",{className:"text-primary",children:"Speak"}),n.jsx("span",{className:"text-foreground",children:"Flare"})]})}),n.jsx(k8e,{user:e,isAdmin:a,onClose:()=>l(!1)})]})]})]})]})}),n.jsx("main",{children:n.jsxs(HA,{children:[n.jsx(re,{path:"/",component:Mg}),n.jsx(re,{path:"/login",component:Mg}),n.jsx(re,{path:"/register",component:Mg}),n.jsx(re,{path:"/meetings",component:yFe}),n.jsx(re,{path:"/meeting/:id",component:O$e}),n.jsx(re,{path:"/progress",component:F$e}),n.jsx(re,{path:"/profile",component:Z$e}),n.jsx(re,{path:"/features",component:cS}),n.jsx(re,{path:"/integrations",component:dS}),n.jsx(re,{path:"/mobile-app",component:uS}),n.jsx(re,{path:"/insider",component:mS}),n.jsx(re,{path:"/pricing",component:hS}),n.jsx(re,{path:"/faq",component:fS}),n.jsx(re,{path:"/about",component:pS}
954),n.jsx(re,{path:"/contact",component:gS}),n.jsx(re,{path:"/blog",component:xS}),n.jsx(re,{path:"/careers",component:yS}),n.jsx(re,{path:"/help-center",component:vS}),n.jsx(re,{path:"/documentation",component:bS}),n.jsx(re,{path:"/tutorials",component:wS}),n.jsx(re,{path:"/api",component:jS}),n.jsx(re,{path:"/privacy",component:sS}),n.jsx(re,{path:"/terms",component:iS}),n.jsx(re,{path:"/security",component:oS}),n.jsx(re,{path:"/cookies",component:lS}),n.jsx(re,{path:"/extension-preview",component:SS}),n.jsx(re,{path:"/checkout/success",component:KM}),n.jsx(re,{path:"/report/:token",component:YM}),n.jsx(re,{path:"/tools/filler-word-counter",component:ZM}),n.jsx(re,{path:"/use-cases/sales-call-analysis",component:QM}),n.jsx(re,{path:"/use-cases/job-interview-prep",component:XM}),n.jsx(re,{path:"/use-cases/public-speaking",component:JM}),n.jsx(re,{path:"/challenge",component:eO}),n.jsx(re,{path:"/certificate/:id",component:tO}),n.jsx(re,{path:"/digest",component:sO}),n.jsx(re,{path:"/blog/how-to-stop-saying-um",component:lO}),n.jsx(re,{path:"/coach",component:kLe}),n.jsx(re,{path:"/referral",component:cO}),n.jsx(re,{path:"/team",component:MLe}),n.jsx(re,{path:"/team/invite/:token",component:dO}),n.jsx(re,{path:"/goals",component:WLe}),n.jsx(re,{path:"/ai-coach",component:HLe}),n.jsx(re,{path:"/comparison",component:GLe}),n.jsx(re,{path:"/integrations-hub",component:gO}),n.jsx(re,{path:"/onboarding",component:xO}),n.jsx(re,{path:"/blog/how-to-speak-confidently",component:bO}),n.jsx(re,{path:"/tools/communication-skills-test",component:wO}),n.jsx(re,{path:"/tools/sales-talk-track-analyzer",component:jO}),n.jsx(re,{path:"/blog/public-speaking-tips",component:SO}),n.jsx(re,{path:"/use-cases/remote-teams",component:PO}),n.jsx(re,{path:"/use-cases/legal-professionals",component:TO}),n.jsx(re,{path:"/use-cases/healthcare",component:AO}),n.jsx(re,{path:"/use-cases/presentation-coach",component:$O}),n.jsx(re,{path:"/ai-communication-coach",component:IO}),n.jsx(re,{path:"/ai-speech-coach",component:_O}),n.jsx(re,{path:"/platforms/zoom-speech-coach",component:OO}),n.jsx(re,{path:"/platforms/google-meet-speech-coach",component:FO}),n.jsx(re,{path:"/best-communication-skills-app",component:LO}),n.jsx(re,{path:"/tools/free-speech-analysis",component:BO}),n.jsx(re,{path:"/use-cases/investment-banking",component:UO}),n.jsx(re,{path:"/use-cases/finance-professionals",component:qO}),n.jsx(re,{path:"/platforms/microsoft-teams-speech-coach",component:GO}),n.jsx(re,{path:"/what-is-speakflare",component:KO}),n.jsx(re,{path:"/what-is-speech-analysis",component:YO}),n.jsx(re,{path:"/what-are-filler-words",component:ZO}),n.jsx(re,{path:"/how-to-improve-communication-skills",component:QO}),n.jsx(re,{path:"/what-is-verbal-fluency",component:XO}),n.jsx(re,{path:"/investor-presentation-training",component:JO}),n.jsx(re,{path:"/executive-speech-fluency-training",component:eR}),n.jsx(re,{path:"/verbal-fluency-training",component:tR}),n.jsx(re,{path:"/media-training",component:rR}),n.jsx(re,{path:"/tools/sentence-explainer",component:aR}),n.jsx(re,{path:"/reset-password",component:jE}),a&&n.jsxs(n.Fragment,{children:[n.jsx(re,{path:"/admin",component:P6e}),n.jsx(re,{path:"/admin/users",component:B6e}),n.jsx(re,{path:"/admin/user/:id",component:V6e}),n.jsx(re,{path:"/admin/qa",component:z6e}),n.jsx(re,{path:"/admin/analytics",component:i8e}),n.jsx(re,{path:"/admin/waitlist",component:c8e}),n.jsx(re,{path:"/qa-simulate",component:q6e})]}),n.jsx(re,{path:"/:lang/:page",component:Bg}),n.jsx(re,{path:"/:lang",component:Bg}),n.jsx(re,{component:Mg})]})})]})]}),n.jsx(m8e,{}),s!=="/ai-coach"&&n.jsx(uR,{mode:"support",user:e?{firstName:e.firstName,email:e.email}:null}),s!=="/ai-coach"&&n.jsx("button",{onClick:()=>d(!0),className:"fixed bottom-20 right-4 z-50 w-10 h-10 rounded-full bg-primary text-primary-foreground shadow-lg flex items-center justify-center hover:opacity-90 transition-opacity",title:"Report an issue","data-testid":"button-support-ticket",children:n.jsx(O2,{className:"h-5 w-5"})}),n.jsx(x8e,{open:c,onClose:()=>d(!1)})]}):n.jsxs(n.Fragment,{children:[n.jsxs(HA,{children:[n.jsx(re,{path:"/",component:Qx}),n.jsx(re,{path:"/login",component:Xc}),n.jsx(re,{path:"/register",component:X9}),n.jsx(re,{path:"/forgot-password",component:J9}),n.jsx(re,{path:"/features",component:cS}),n.jsx(re,{path:"/integrations",component:dS}),n.jsx(re,{path:"/mobile-app",component:uS}),n.jsx(re,{path:"/insider",component:mS}),n.jsx(re,{path:"/pricing",component:hS}),n.jsx(re,{path:"/faq",component:fS}),n.jsx(re,{path:"/about",component:pS}
954),n.jsx(re,{path:"/contact",component:gS}),n.jsx(re,{path:"/blog",component:xS}),n.jsx(re,{path:"/careers",component:yS}),n.jsx(re,{path:"/help-center",component:vS}),n.jsx(re,{path:"/documentation",component:bS}),n.jsx(re,{path:"/tutorials",component:wS}),n.jsx(re,{path:"/api",component:jS}),n.jsx(re,{path:"/privacy",component:sS}),n.jsx(re,{path:"/terms",component:iS}),n.jsx(re,{path:"/security",component:oS}),n.jsx(re,{path:"/cookies",component:lS}),n.jsx(re,{path:"/extension-preview",component:SS}),n.jsx(re,{path:"/checkout/success",component:KM}),n.jsx(re,{path:"/report/:token",component:YM}),n.jsx(re,{path:"/tools/filler-word-counter",component:ZM}),n.jsx(re,{path:"/use-cases/sales-call-analysis",component:QM}),n.jsx(re,{path:"/use-cases/job-interview-prep",component:XM}),n.jsx(re,{path:"/use-cases/public-speaking",component:JM}),n.jsx(re,{path:"/challenge",component:eO}),n.jsx(re,{path:"/certificate/:id",component:tO}),n.jsx(re,{path:"/digest",component:sO}),n.jsx(re,{path:"/blog/how-to-stop-saying-um",component:lO}),n.jsx(re,{path:"/team/invite/:token",component:dO}),n.jsx(re,{path:"/referral",component:cO}),n.jsx(re,{path:"/integrations-hub",component:gO}),n.jsx(re,{path:"/onboarding",component:xO}),n.jsx(re,{path:"/blog/how-to-speak-confidently",component:bO}),n.jsx(re,{path:"/tools/communication-skills-test",component:wO}),n.jsx(re,{path:"/tools/sales-talk-track-analyzer",component:jO}),n.jsx(re,{path:"/blog/public-speaking-tips",component:SO}),n.jsx(re,{path:"/use-cases/remote-teams",component:PO}),n.jsx(re,{path:"/use-cases/legal-professionals",component:TO}),n.jsx(re,{path:"/use-cases/healthcare",component:AO}),n.jsx(re,{path:"/use-cases/presentation-coach",component:$O}),n.jsx(re,{path:"/ai-communication-coach",component:IO}),n.jsx(re,{path:"/ai-speech-coach",component:_O}),n.jsx(re,{path:"/platforms/zoom-speech-coach",component:OO}),n.jsx(re,{path:"/platforms/google-meet-speech-coach",component:FO}),n.jsx(re,{path:"/best-communication-skills-app",component:LO}),n.jsx(re,{path:"/tools/free-speech-analysis",component:BO}),n.jsx(re,{path:"/use-cases/investment-banking",component:UO}),n.jsx(re,{path:"/use-cases/finance-professionals",component:qO}),n.jsx(re,{path:"/platforms/microsoft-teams-speech-coach",component:GO}),n.jsx(re,{path:"/what-is-speakflare",component:KO}),n.jsx(re,{path:"/what-is-speech-analysis",component:YO}),n.jsx(re,{path:"/what-are-filler-words",component:ZO}),n.jsx(re,{path:"/how-to-improve-communication-skills",component:QO}),n.jsx(re,{path:"/what-is-verbal-fluency",component:XO}),n.jsx(re,{path:"/investor-presentation-training",component:JO}),n.jsx(re,{path:"/executive-speech-fluency-training",component:eR}),n.jsx(re,{path:"/verbal-fluency-training",component:tR}),n.jsx(re,{path:"/media-training",component:rR}),n.jsx(re,{path:"/tools/sentence-explainer",component:aR}),n.jsx(re,{path:"/reset-password",component:jE}),n.jsx(re,{path:"/meetings",component:Xc}),n.jsx(re,{path:"/progress",component:Xc}),n.jsx(re,{path:"/profile",component:Xc}),n.jsx(re,{path:"/admin",component:Xc}),n.jsx(re,{path:"/:lang/:page",component:Bg}),n.jsx(re,{path:"/:lang",component:Bg}),n.jsx(re,{component:Qx})]}),!i.includes(s)&&n.jsx(Ut,{}),n.jsx(uR,{mode:"sales"})]})}function P8e(){return y.useEffect(()=>{try{const e=new URLSearchParams(window.location.search),t=e.get("utm_source"),r=e.get("utm_medium"),a=e.get("utm_campaign");t&&localStorage.setItem("sf_utm_source",t),r&&localStorage.setItem("sf_utm_medium",r),a&&localStorage.setItem("sf_utm_campaign",a),document.referrer&&!localStorage.getItem("sf_referrer")&&localStorage.setItem("sf_referrer",document.referrer),localStorage.getItem("sf_landing_page")||localStorage.setItem("sf_landing_page",window.location.pathname)}catch{}},[]),null}function T8e(){return n.jsx(oee,{client:Qe,children:n.jsxs(sae,{children:[n.jsx(_re,{}),n.jsx(P8e,{}),n.jsx(C8e,{})]})})}window.addEventListener("unhandledrejection",e=>{var t,r;(((t=e.reason)==null?void 0:t.message)==="signal is aborted without reason"||((r=e.reason)==null?void 0:r.name)==="AbortError")&&e.preventDefault()});jz(document.getElementById("root")).render(n.jsx(T8e,{}));
954"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").then(e=>{console.log("[PWA] Service Worker registered successfully"),setInterval(()=>{e.update().then(()=>{console.log("[PWA] Checked for updates")})},6e4),e.addEventListener("updatefound",()=>{const t=e.installing;console.log("[PWA] Update found! Installing new service worker..."),t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&(console.log("[PWA] New version installed and ready!"),confirm("🎉 New version available! Reload now to update?")&&(t.postMessage({type:"SKIP_WAITING"}),window.location.reload()))})}),navigator.serviceWorker.addEventListener("message",t=>{t.data&&t.data.type==="SW_UPDATED"&&console.log("[PWA] Service Worker updated to version:",t.data.version)}),navigator.serviceWorker.addEventListener("controllerchange",()=>{console.log("[PWA] Controller changed - new service worker active"),window.location.reload()})}).catch(e=>{console.error("[PWA] Service Worker registration failed:",e)})});

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.