1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BAOj7ToG.js","assets/matched-people-section-C9E5oxZO.js","assets/minus-g9cEzSRl.js","assets/linkedin-industries-BclpufDB.js","assets/RentalMarketplaceDialog-B6Qa8Mir.js","assets/scroll-area-DKuK0ydQ.js","assets/tier3-countries-BFJ6cgdK.js","assets/download-D6dxXqej.js","assets/linkedin-native-connect-dialog-vS7sAuO2.js","assets/trial-start-CavYcZQk.js","assets/link-2-BURE6uT8.js","assets/ellipsis-B3u5U9-q.js","assets/chat-Cn4EOeGR.js","assets/skeleton-B2DC6N1A.js","assets/SettingsGuideDialog-DbAQ58m7.js","assets/star-Dv4GFA7R.js","assets/ellipsis-vertical-B_QjyRBj.js","assets/save-B0dQULvA.js","assets/pin-CmlMgkdT.js","assets/volume-x-BbTH1vPE.js","assets/file-text-CO6HaYL_.js","assets/search-dNSpjCdB.js","assets/influence-flow-id-BcldXFPP.js","assets/proxy-CJ0JNj3R.js","assets/analytics-BAEWlfNQ.js","assets/zap-BvrKultQ.js","assets/power-BiIiKQMD.js","assets/auth-DbyBSf7A.js","assets/LoginSidePanel-DhcxkvY_.js","assets/lock-CnjIvIFt.js","assets/verify-dPW8TKLb.js","assets/circle-check-big--D-q0TuE.js","assets/circle-x-BxiPdkWG.js","assets/privacy-DVdtpu40.js","assets/terms-DrrTx6HO.js","assets/admin-Dmvc5nio.js","assets/browser-viewer-Buzjxl_N.js","assets/shield-check-D81uBdHG.js","assets/warmlike-customers-admin-Cd1R-qB_.js","assets/dollar-sign-DRjoWBZQ.js","assets/user-check-B-flgl3s.js","assets/managed-page-BOV1-hHS.js","assets/linkedin-AlAI262U.js","assets/repeat-2-03PAJxzN.js","assets/forgot-password-DBpMZi3P.js","assets/reset-password-LWR62CQP.js","assets/affiliate-C9-C_3Ph.js","assets/visibility-B4bGoi_M.js","assets/top-voice-logo-transparent_1777216362460-D3l8jBLI.js","assets/ai-autopilot-C4CnIuDf.js","assets/video-preview-DPbUVcAU.js","assets/share-BS_qzYbh.js","assets/smartphone-PMSgFwdx.js","assets/nonprofit-CYS8V7G1.js","assets/google_calendar_icon_no_bg-DRnfHRtK.js","assets/startup-BlAsEivG.js","assets/my-templates-xXdDpJGo.js","assets/hub-CUtNE3rb.js","assets/brand-CctLrdm2.js","assets/DailyPostReview-DFS7SXhs.js","assets/warmlike-pricing-DHaMYmug.js"])))=>i.map(i=>d[i]); 2var ww=t=>{throw TypeError(t)};var bw=(t,e,n)=>e.has(t)||ww("Cannot "+n);var ro=(t,e,n)=>(bw(t,e,"read from private field"),n?n.call(t):e.get(t)),_w=(t,e,n)=>e.has(t)?ww("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Im=(t,e,n,r)=>(bw(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);function GP(t,e){for(var n=0;n<e.length;n++){const r=e[n];if(typeof r!="string"&&!Array.isArray(r)){for(const i in r)if(i!=="default"&&!(i in t)){const l=Object.getOwnPropertyDescriptor(r,i);l&&Object.defineProperty(t,i,l.get?l:{enumerable:!0,get:()=>r[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const d of l.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();var y8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function k0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Em={exports:{}},ic={},Rm={exports:{}},vt={};var kw;function KP(){if(kw)return vt;kw=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),d=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.iterator;function x(T){return T===null||typeof T!="object"?null:(T=y&&T[y]||T["@@iterator"],typeof T=="function"?T:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,k={};function C(T,B,G){this.props=T,this.context=B,this.refs=k,this.updater=G||_}C.prototype.isReactComponent={},C.prototype.setState=function(T,B){if(typeof T!="object"&&typeof T!="function"&&T!=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,T,B,"setState")},C.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function A(){}A.prototype=C.prototype;function P(T,B,G){this.props=T,this.context=B,this.refs=k,this.updater=G||_}var j=P.prototype=new A;j.constructor=P,S(j,C.prototype),j.isPureReactComponent=!0;var E=Array.isArray,F=Object.prototype.hasOwnProperty,z={current:null},q={key:!0,ref:!0,__self:!0,__source:!0};function re(T,B,G){var ue,xe={},ye=null,M=null;if(B!=null)for(ue in B.ref!==void 0&&(M=B.ref),B.key!==void 0&&(ye=""+B.key),B)F.call(B,ue)&&!q.hasOwnProperty(ue)&&(xe[ue]=B[ue]);var X=arguments.length-2;if(X===1)xe.children=G;else if(1<X){for(var pe=Array(X),We=0;We<X;We++)pe[We]=arguments[We+2];xe.children=pe}if(T&&T.defaultProps)for(ue in X=T.defaultProps,X)xe[ue]===void 0&&(xe[ue]=X[ue]);return{$$typeof:t,type:T,key:ye,ref:M,props:xe,_owner:z.current}}function ee(T,B){return{$$typeof:t,type:T.type,key:B,ref:T.ref,props:T.props,_owner:T._owner}}function se(T){return typeof T=="object"&&T!==null&&T.$$typeof===t}function ae(T){var B={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(G){return B[G]})}var J=/\/+/g;function Y(T,B){return typeof T=="object"&&T!==null&&T.key!=null?ae(""+T.key):B.toString(36)}function ie(T,B,G,ue,xe){var ye=typeof T;(ye==="undefined"||ye==="boolean")&&(T=null);var M=!1;if(T===null)M=!0;else switch(ye){case"string":case"number":M=!0;break;case"object":switch(T.$$typeof){case t:case e:M=!0}}if(M)return M=T,xe=xe(M),T=ue===""?"."+Y(M,0):ue,E(xe)?(G="",T!=null&&(G=T.replace(J,"$&/")+"/"),ie(xe,B,G,"",function(We){return We})):xe!=null&&(se(xe)&&(xe=ee(xe,G+(!xe.key||M&&M.key===xe.key?"":(""+xe.key).replace(J,"$&/")+"/")+T)),B.push(xe)),1;if(M=0,ue=ue===""?".":ue+":",E(T))for(var X=0;X<T.length;X++){ye=T[X];var pe=ue+Y(ye,X);M+=ie(ye,B,G,pe,xe)}
vendor: 4,745 bytes, line 2
2else if(pe=x(T),typeof pe=="function")for(T=pe.call(T),X=0;!(ye=T.next()).done;)ye=ye.value,pe=ue+Y(ye,X++),M+=ie(ye,B,G,pe,xe);else if(ye==="object")throw B=String(T),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(T).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.");return M}function Ne(T,B,G){if(T==null)return T;var ue=[],xe=0;return ie(T,ue,"","",function(ye){return B.call(G,ye,xe++)}),ue}function R(T){if(T._status===-1){var B=T._result;B=B(),B.then(function(G){(T._status===0||T._status===-1)&&(T._status=1,T._result=G)},function(G){(T._status===0||T._status===-1)&&(T._status=2,T._result=G)}),T._status===-1&&(T._status=0,T._result=B)}if(T._status===1)return T._result.default;throw T._result}var ce={current:null},$={transition:null},H={ReactCurrentDispatcher:ce,ReactCurrentBatchConfig:$,ReactCurrentOwner:z};function O(){throw Error("act(...) is not supported in production builds of React.")}return vt.Children={map:Ne,forEach:function(T,B,G){Ne(T,function(){B.apply(this,arguments)},G)},count:function(T){var B=0;return Ne(T,function(){B++}),B},toArray:function(T){return Ne(T,function(B){return B})||[]},only:function(T){if(!se(T))throw Error("React.Children.only expected to receive a single React element child.");return T}},vt.Component=C,vt.Fragment=n,vt.Profiler=i,vt.PureComponent=P,vt.StrictMode=r,vt.Suspense=m,vt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=H,vt.act=O,vt.cloneElement=function(T,B,G){if(T==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+T+".");var ue=S({},T.props),xe=T.key,ye=T.ref,M=T._owner;if(B!=null){if(B.ref!==void 0&&(ye=B.ref,M=z.current),B.key!==void 0&&(xe=""+B.key),T.type&&T.type.defaultProps)var X=T.type.defaultProps;for(pe in B)F.call(B,pe)&&!q.hasOwnProperty(pe)&&(ue[pe]=B[pe]===void 0&&X!==void 0?X[pe]:B[pe])}var pe=arguments.length-2;if(pe===1)ue.children=G;else if(1<pe){X=Array(pe);for(var We=0;We<pe;We++)X[We]=arguments[We+2];ue.children=X}return{$$typeof:t,type:T.type,key:xe,ref:ye,props:ue,_owner:M}},vt.createContext=function(T){return T={$$typeof:d,_currentValue:T,_currentValue2:T,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},T.Provider={$$typeof:l,_context:T},T.Consumer=T},vt.createElement=re,vt.createFactory=function(T){var B=re.bind(null,T);return B.type=T,B},vt.createRef=function(){return{current:null}},vt.forwardRef=function(T){return{$$typeof:p,render:T}},vt.isValidElement=se,vt.lazy=function(T){return{$$typeof:v,_payload:{_status:-1,_result:T},_init:R}},vt.memo=function(T,B){return{$$typeof:h,type:T,compare:B===void 0?null:B}},vt.startTransition=function(T){var B=$.transition;$.transition={};try{T()}finally{$.transition=B}},vt.unstable_act=O,vt.useCallback=function(T,B){return ce.current.useCallback(T,B)},vt.useContext=function(T){return ce.current.useContext(T)},vt.useDebugValue=function(){},vt.useDeferredValue=function(T){return ce.current.useDeferredValue(T)},vt.useEffect=function(T,B){return ce.current.useEffect(T,B)},vt.useId=function(){return ce.current.useId()},vt.useImperativeHandle=function(T,B,G){return ce.current.useImperativeHandle(T,B,G)},vt.useInsertionEffect=function(T,B){return ce.current.useInsertionEffect(T,B)},vt.useLayoutEffect=function(T,B){return ce.current.useLayoutEffect(T,B)},vt.useMemo=function(T,B){return ce.current.useMemo(T,B)},vt.useReducer=function(T,B,G){return ce.current.useReducer(T,B,G)},vt.useRef=function(T){return ce.current.useRef(T)},vt.useState=function(T){return ce.current.useState(T)},vt.useSyncExternalStore=function(T,B,G){return ce.current.useSyncExternalStore(T,B,G)},vt.useTransition=function(){return ce.current.useTransition()},vt.version="18.3.1",vt}var Cw;function hp(){return Cw||(Cw=1,Rm.exports=KP()),Rm.exports}var Sw;function YP(){if(Sw)return ic;Sw=1;var t=hp(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function d(p,m,h){var v,y={},x=null,_=null;h!==void 0&&(x=""+h),m.key!==void 0&&(x=""+m.key),m.ref!==void 0&&(_=m.ref);for(v in m)r.call(m,v)&&!l.hasOwnProperty(v)&&(y[v]=m[v]);if(p&&p.defaultProps)for(v in m=p.defaultProps,m)y[v]===void 0&&(y[v]=m[v]);return{$$typeof:e,type:p,key:x,ref:_,props:y,_owner:i.current}}return ic.Fragment=n,ic.jsx=d,ic.jsxs=d,ic}var Nw;function QP(){return Nw||(Nw=1,Em.exports=YP()),Em.exports}var a=QP(),lu={},Om={exports:{}},Po={},Mm={exports:{}},Lm={};var Pw;function ZP(){return Pw||(Pw=1,(function(t){function e($,H){var O=$.length;$.push(H);e:for(;0<O;){var T=O-1>>>1,B=$[T];
vendor: 18,792 bytes, lines 2-6
2if(0<i(B,H))$[T]=H,$[O]=B,O=T;else break e}}function n($){return $.length===0?null:$[0]}function r($){if($.length===0)return null;var H=$[0],O=$.pop();if(O!==H){$[0]=O;e:for(var T=0,B=$.length,G=B>>>1;T<G;){var ue=2*(T+1)-1,xe=$[ue],ye=ue+1,M=$[ye];if(0>i(xe,O))ye<B&&0>i(M,xe)?($[T]=M,$[ye]=O,T=ye):($[T]=xe,$[ue]=O,T=ue);else if(ye<B&&0>i(M,O))$[T]=M,$[ye]=O,T=ye;else break e}}return H}function i($,H){var O=$.sortIndex-H.sortIndex;return O!==0?O:$.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;t.unstable_now=function(){return l.now()}}else{var d=Date,p=d.now();t.unstable_now=function(){return d.now()-p}}var m=[],h=[],v=1,y=null,x=3,_=!1,S=!1,k=!1,C=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,P=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function j($){for(var H=n(h);H!==null;){if(H.callback===null)r(h);else if(H.startTime<=$)r(h),H.sortIndex=H.expirationTime,e(m,H);else break;H=n(h)}}function E($){if(k=!1,j($),!S)if(n(m)!==null)S=!0,R(F);else{var H=n(h);H!==null&&ce(E,H.startTime-$)}}function F($,H){S=!1,k&&(k=!1,A(re),re=-1),_=!0;var O=x;try{for(j(H),y=n(m);y!==null&&(!(y.expirationTime>H)||$&&!ae());){var T=y.callback;if(typeof T=="function"){y.callback=null,x=y.priorityLevel;var B=T(y.expirationTime<=H);H=t.unstable_now(),typeof B=="function"?y.callback=B:y===n(m)&&r(m),j(H)}else r(m);y=n(m)}if(y!==null)var G=!0;else{var ue=n(h);ue!==null&&ce(E,ue.startTime-H),G=!1}return G}finally{y=null,x=O,_=!1}}var z=!1,q=null,re=-1,ee=5,se=-1;function ae(){return!(t.unstable_now()-se<ee)}function J(){if(q!==null){var $=t.unstable_now();se=$;var H=!0;try{H=q(!0,$)}finally{H?Y():(z=!1,q=null)}}else z=!1}var Y;if(typeof P=="function")Y=function(){P(J)};else if(typeof MessageChannel<"u"){var ie=new MessageChannel,Ne=ie.port2;ie.port1.onmessage=J,Y=function(){Ne.postMessage(null)}}else Y=function(){C(J,0)};function R($){q=$,z||(z=!0,Y())}function ce($,H){re=C(function(){$(t.unstable_now())},H)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function($){$.callback=null},t.unstable_continueExecution=function(){S||_||(S=!0,R(F))},t.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"):ee=0<$?Math.floor(1e3/$):5},t.unstable_getCurrentPriorityLevel=function(){return x},t.unstable_getFirstCallbackNode=function(){return n(m)},t.unstable_next=function($){switch(x){case 1:case 2:case 3:var H=3;break;default:H=x}var O=x;x=H;try{return $()}finally{x=O}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function($,H){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var O=x;x=$;try{return H()}finally{x=O}},t.unstable_scheduleCallback=function($,H,O){var T=t.unstable_now();switch(typeof O=="object"&&O!==null?(O=O.delay,O=typeof O=="number"&&0<O?T+O:T):O=T,$){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=O+B,$={id:v++,callback:H,priorityLevel:$,startTime:O,expirationTime:B,sortIndex:-1},O>T?($.sortIndex=O,e(h,$),n(m)===null&&$===n(h)&&(k?(A(re),re=-1):k=!0,ce(E,O-T))):($.sortIndex=B,e(m,$),S||_||(S=!0,R(F))),$},t.unstable_shouldYield=ae,t.unstable_wrapCallback=function($){var H=x;return function(){var O=x;x=H;try{return $.apply(this,arguments)}finally{x=O}}}})(Lm)),Lm}var Aw;function XP(){return Aw||(Aw=1,Mm.exports=ZP()),Mm.exports}var Tw;function JP(){if(Tw)return Po;Tw=1;var t=hp(),e=XP();function n(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,c=1;c<arguments.length;c++)s+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+o+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,i={};function l(o,s){d(o,s),d(o+"Capture",s)}function d(o,s){for(i[o]=s,o=0;o<s.length;o++)r.add(s[o])}var p=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,h=/^[: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]*$/,v={},y={};function x(o){return m.call(y,o)?!0:m.call(v,o)?!1:h.test(o)?y[o]=!0:(v[o]=!0,!1)}function _(o,s,c,u){if(c!==null&&c.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return u?!1:c!==null?!c.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function S(o,s,c,u){if(s===null||typeof s>"u"||_(o,s,c,u))return!0;if(u)return!1;if(c!==null)switch(c.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function k(o,s,c,u,g,w,N){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=u,this.attributeNamespace=g,this.mustUseProperty=c,this.propertyName=o,this.type=s,this.sanitizeURL=w,this.removeEmptyString=N}var C={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){C[o]=new k(o,0,!1,o,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];C[s]=new k(s,1,!1,o[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(o){C[o]=new k(o,2,!1,o.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){C[o]=new k(o,2,!1,o,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(o){C[o]=new k(o,3,!1,o.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(o){C[o]=new k(o,3,!0,o,null,!1,!1)}),["capture","download"].forEach(function(o){C[o]=new k(o,4,!1,o,null,!1,!1)}),["cols","rows","size","span"].forEach(function(o){C[o]=new k(o,6,!1,o,null,!1,!1)}),["rowSpan","start"].forEach(function(o){C[o]=new k(o,5,!1,o.toLowerCase(),null,!1,!1)});var A=/[\-:]([a-z])/g;function P(o){return o[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(o){var s=o.replace(A,P);C[s]=new k(s,1,!1,o,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(A,P);C[s]=new k(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(A,P);C[s]=new k(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(o){C[o]=new k(o,1,!1,o.toLowerCase(),null,!1,!1)}),C.xlinkHref=new k("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(o){C[o]=new k(o,1,!1,o.toLowerCase(),null,!0,!0)});function j(o,s,c,u){var g=C.hasOwnProperty(s)?C[s]:null;(g!==null?g.type!==0:u||!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(S(s,c,g,u)&&(c=null),u||g===null?x(s)&&(c===null?o.removeAttribute(s):o.setAttribute(s,""+c)):g.mustUseProperty?o[g.propertyName]=c===null?g.type===3?!1:"":c:(s=g.attributeName,u=g.attributeNamespace,c===null?o.removeAttribute(s):(g=g.type,c=g===3||g===4&&c===!0?"":""+c,u?o.setAttributeNS(u,s,c):o.setAttribute(s,c))))}var E=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,F=Symbol.for("react.element"),z=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),re=Symbol.for("react.strict_mode"),ee=Symbol.for("react.profiler"),se=Symbol.for("react.provider"),ae=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),ie=Symbol.for("react.suspense_list"),Ne=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),ce=Symbol.for("react.offscreen"),$=Symbol.iterator;function H(o){return o===null||typeof o!="object"?null:(o=$&&o[$]||o["@@iterator"],typeof o=="function"?o:null)}var O=Object.assign,T;function B(o){if(T===void 0)try{throw Error()}catch(c){var s=c.stack.trim().match(/\n( *(at )?)/);T=s&&s[1]||""}return` 3`+T+o}var G=!1;function ue(o,s){if(!o||G)return"";G=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(s)if(s=function(){throw Error()},Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(s,[])}catch(ne){var u=ne}Reflect.construct(o,[],s)}else{try{s.call()}catch(ne){u=ne}o.call(s.prototype)}else{try{throw Error()}catch(ne){u=ne}o()}}catch(ne){if(ne&&u&&typeof ne.stack=="string"){for(var g=ne.stack.split(` 4`),w=u.stack.split(` 5`),N=g.length-1,L=w.length-1;1<=N&&0<=L&&g[N]!==w[L];)L--;for(;1<=N&&0<=L;N--,L--)if(g[N]!==w[L]){if(N!==1||L!==1)do if(N--,L--,0>L||g[N]!==w[L]){var U=` 6`+g[N].replace(" at new "," at ");return o.displayName&&U.includes("<anonymous>")&&(U=U.replace("<anonymous>",o.displayName)),U}while(1<=N&&0<=L);break}}}finally{G=!1,Error.prepareStackTrace=c}return(o=o?o.displayName||o.name:"")?B(o):""}function xe(o){switch(o.tag){case 5:return B(o.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return o=ue(o.type,!1),o;case 11:return o=ue(o.type.render,!1),o;case 1:return o=ue(o.type,!0),o;default:return""}}function ye(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case q:return"Fragment";case z:return"Portal";case ee:return"Profiler";case re:return"StrictMode";case Y:return"Suspense";case ie:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case ae:return(o.displayName||"Context")+".Consumer";case se:return(o._context.displayName||"Context")+".Provider";case J:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ne:return s=o.displayName||null,s!==null?s:ye(o.type)||"Memo";case R:s=o._payload,o=o._init;try{return ye(o(s))}catch{}}return null}function M(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ye(s);case 8:return s===re?"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 s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function X(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function pe(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function We(o){var s=pe(o)?"checked":"value",c=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),u=""+o[s];if(!o.hasOwnProperty(s)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var g=c.get,w=c.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return g.call(this)},set:function(N){u=""+N,w.call(this,N)}}),Object.defineProperty(o,s,{enumerable:c.enumerable}),{getValue:function(){return u},setValue:function(N){u=""+N},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Ge(o){o._valueTracker||(o._valueTracker=We(o))}function ut(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var c=s.getValue(),u="";return o&&(u=pe(o)?o.checked?"true":"false":o.value),o=u,o!==c?(s.setValue(o),!0):!1}function Fe(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function wt(o,s){var c=s.checked;return O({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??o._wrapperState.initialChecked})}function tt(o,s){var c=s.defaultValue==null?"":s.defaultValue,u=s.checked!=null?s.checked:s.defaultChecked;c=X(s.value!=null?s.value:c),o._wrapperState={initialChecked:u,initialValue:c,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function Vt(o,s){s=s.checked,s!=null&&j(o,"checked",s,!1)}function dn(o,s){Vt(o,s);var c=X(s.value),u=s.type;if(c!=null)u==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+c):o.value!==""+c&&(o.value=""+c);else if(u==="submit"||u==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?Ve(o,s.type,c):s.hasOwnProperty("defaultValue")&&Ve(o,s.type,X(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function fn(o,s,c){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var u=s.type;if(!(u!=="submit"&&u!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,c||s===o.value||(o.value=s),o.defaultValue=s}c=o.name,c!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,c!==""&&(o.name=c)}function Ve(o,s,c){(s!=="number"||Fe(o.ownerDocument)!==o)&&(c==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+c&&(o.defaultValue=""+c))}var st=Array.isArray;function It(o,s,c,u){if(o=o.options,s){s={};for(var g=0;g<c.length;g++)s["$"+c[g]]=!0;for(c=0;c<o.length;c++)g=s.hasOwnProperty("$"+o[c].value),o[c].selected!==g&&(o[c].selected=g),g&&u&&(o[c].defaultSelected=!0)}else{for(c=""+X(c),s=null,g=0;g<o.length;g++){if(o[g].value===c){o[g].selected=!0,u&&(o[g].defaultSelected=!0);return}s!==null||o[g].disabled||(s=o[g])}s!==null&&(s.selected=!0)}}function Et(o,s){if(s.dangerouslySetInnerHTML!=null)throw Error(n(91));return O({},s,{value:void 0,defaultValue:void 0,children:""+o._wrapperState.initialValue})}function en(o,s){var c=s.value;if(c==null){if(c=s.children,s=s.defaultValue,c!=null){if(s!=null)throw Error(n(92));if(st(c)){if(1<c.length)throw Error(n(93));c=c[0]}s=c}s==null&&(s=""),c=s}o._wrapperState={initialValue:X(c)}}function Vo(o,s){var c=X(s.value),u=X(s.defaultValue);c!=null&&(c=""+c,c!==o.value&&(o.value=c),s.defaultValue==null&&o.defaultValue!==c&&(o.defaultValue=c)),u!=null&&(o.defaultValue=""+u)}function Ze(o){var s=o.textContent;s===o._wrapperState.initialValue&&s!==""&&s!==null&&(o.value=s)}function Ln(o){switch(o){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 Dn(o,s){return o==null||o==="http://www.w3.org/1999/xhtml"?Ln(s):o==="http://www.w3.org/2000/svg"&&s==="foreignObject"?"http://www.w3.org/1999/xhtml":o}var yo,vo=(function(o){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(s,c,u,g){MSApp.execUnsafeLocalFunction(function(){return o(s,c,u,g)})}:o})(function(o,s){if(o.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in o)o.innerHTML=s;else{for(yo=yo||document.createElement("div"),yo.innerHTML="<svg>"+s.valueOf().toString()+"</svg>",s=yo.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function we(o,s){if(s){var c=o.firstChild;if(c&&c===o.lastChild&&c.nodeType===3){c.nodeValue=s;return}}o.textContent=s}var nt={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},Ut=["Webkit","ms","Moz","O"];Object.keys(nt).forEach(function(o){Ut.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),nt[s]=nt[o]})});function Mt(o,s,c){return s==null||typeof s=="boolean"||s===""?"":c||typeof s!="number"||s===0||nt.hasOwnProperty(o)&&nt[o]?(""+s).trim():s+"px"}function mn(o,s){o=o.style;for(var c in s)if(s.hasOwnProperty(c)){var u=c.indexOf("--")===0,g=Mt(c,s[c],u);c==="float"&&(c="cssFloat"),u?o.setProperty(c,g):o[c]=g}}var co=O({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 bt(o,s){if(s){if(co[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(n(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(n(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(n(61))}if(s.style!=null&&typeof s.style!="object")throw Error(n(62))}}function $t(o,s){if(o.indexOf("-")===-1)return typeof s.is=="str
6ing";switch(o){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 nn=null;function Nt(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var oe=null,Oe=null,Ke=null;function pt(o){if(o=Wl(o)){if(typeof oe!="function")throw Error(n(280));var s=o.stateNode;s&&(s=kd(s),oe(o.stateNode,o.type,s))}}function xt(o){Oe?Ke?Ke.push(o):Ke=[o]:Oe=o}function un(){if(Oe){var o=Oe,s=Ke;if(Ke=Oe=null,pt(o),s)for(o=0;o<s.length;o++)pt(s[o])}}function Lt(o,s){return o(s)}function dt(){}var Ct=!1;function Tn(o,s,c){if(Ct)return o(s,c);Ct=!0;try{return Lt(o,s,c)}finally{Ct=!1,(Oe!==null||Ke!==null)&&(dt(),un())}}function Io(o,s){var c=o.stateNode;if(c===null)return null;var u=kd(c);if(u===null)return null;c=u[s];e:switch(s){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(u=!u.disabled)||(o=o.type,u=!(o==="button"||o==="input"||o==="select"||o==="textarea")),o=!u;break e;default:o=!1}if(o)return null;if(c&&typeof c!="function")throw Error(n(231,s,typeof c));return c}var _n=!1;if(p)try{var La={};Object.defineProperty(La,"passive",{get:function(){_n=!0}}),window.addEventListener("test",La,La),window.removeEventListener("test",La,La)}catch{_n=!1}function Ho(o,s,c,u,g,w,N,L,U){var ne=Array.prototype.slice.call(arguments,3);try{s.apply(c,ne)}catch(ve){this.onError(ve)}}var uo=!1,ua=null,pa=!1,Da=null,mi={onError:function(o){uo=!0,ua=o}};function fa(o,s,c,u,g,w,N,L,U){uo=!1,ua=null,Ho.apply(mi,arguments)}function Fn(o,s,c,u,g,w,N,L,U){if(fa.apply(this,arguments),uo){if(uo){var ne=ua;uo=!1,ua=null}else throw Error(n(198));pa||(pa=!0,Da=ne)}}function hn(o){var s=o,c=o;if(o.alternate)for(;s.return;)s=s.return;else{o=s;do s=o,(s.flags&4098)!==0&&(c=s.return),o=s.return;while(o)}return s.tag===3?c:null}function eo(o){if(o.tag===13){var s=o.memoizedState;if(s===null&&(o=o.alternate,o!==null&&(s=o.memoizedState)),s!==null)return s.dehydrated}return null}function dr(o){if(hn(o)!==o)throw Error(n(188))}function gn(o){var s=o.alternate;if(!s){if(s=hn(o),s===null)throw Error(n(188));return s!==o?null:o}for(var c=o,u=s;;){var g=c.return;if(g===null)break;var w=g.alternate;if(w===null){if(u=g.return,u!==null){c=u;continue}break}if(g.child===w.child){for(w=g.child;w;){if(w===c)return dr(g),o;if(w===u)return dr(g),s;w=w.sibling}throw Error(n(188))}if(c.return!==u.return)c=g,u=w;else{for(var N=!1,L=g.child;L;){if(L===c){N=!0,c=g,u=w;break}if(L===u){N=!0,u=g,c=w;break}L=L.sibling}if(!N){for(L=w.child;L;){if(L===c){N=!0,c=w,u=g;break}if(L===u){N=!0,u=w,c=g;break}L=L.sibling}if(!N)throw Error(n(189))}}if(c.alternate!==u)throw Error(n(190))}if(c.tag!==3)throw Error(n(188));return c.stateNode.current===c?o:s}function ma(o){return o=gn(o),o!==null?Rt(o):null}function Rt(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var s=Rt(o);if(s!==null)return s;o=o.sibling}return null}var Vr=e.unstable_scheduleCallback,As=e.unstable_cancelCallback,hi=e.unstable_shouldYield,ef=e.unstable_requestPaint,it=e.unstable_now,qo=e.unstable_getCurrentPriorityLevel,ur=e.unstable_ImmediatePriority,Ts=e.unstable_UserBlockingPriority,Eo=e.unstable_NormalPriority,Hr=e.unstable_LowPriority,Wo=e.unstable_IdlePriority,Fa=null,xo=null;function Ua(o){if(xo&&typeof xo.onCommitFiberRoot=="function")try{xo.onCommitFiberRoot(Fa,o,void 0,(o.current.flags&128)===128)}catch{}}var Gn=Math.clz32?Math.clz32:gi,$a=Math.log,js=Math.LN2;function gi(o){return o>>>=0,o===0?32:31-($a(o)/js|0)|0}var Ht=64,D=4194304;function be(o){switch(o&-o){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 o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function Se(o,s){var c=o.pendingLanes;if(c===0)return 0;var u=0,g=o.suspendedLanes,w=o.pingedLanes,N=c&268435455;if(N!==0){var L=N&~g;L!==0?u=be(L):(w&=N,w!==0&&(u=be(w)))}else N=c&~g,N!==0?u=be(N):w!==0&&(u=be(w));if(u===0)return 0;if(s!==0&&s!==u&&(s&g)===0&&(g=u&-u,w=s&-s,g>=w||g===16&&(w&4194240)!==0))return s;if((u&4)!==0&&(u|=c&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=u;0<s;)c=31-Gn(s),g=1<<c,u|=o[c],s&=~g;return u}function he(o,s){switch(o){case 1:case 2:case 4:return s+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 s+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 Ue(o,s){for(var c=o.suspendedLanes,u=o.pingedLanes,g=o.expirationTimes,w=o.pendingLanes;0<w;){var N=31-Gn(w),L=1<<N,U=g[N];U===-1?((L&c)===0||(L&u)!==0)&&(g[N]=he(L,s)):U<=s&&(o.expiredLanes|=L),w&=~L}}
vendor: 2,384 bytes, line 6
6function gt(o){return o=o.pendingLanes&-1073741825,o!==0?o:o&1073741824?1073741824:0}function Xe(){var o=Ht;return Ht<<=1,(Ht&4194240)===0&&(Ht=64),o}function Dt(o){for(var s=[],c=0;31>c;c++)s.push(o);return s}function kn(o,s,c){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-Gn(s),o[s]=c}function on(o,s){var c=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var u=o.eventTimes;for(o=o.expirationTimes;0<c;){var g=31-Gn(c),w=1<<g;s[g]=0,u[g]=-1,o[g]=-1,c&=~w}}function yn(o,s){var c=o.entangledLanes|=s;for(o=o.entanglements;c;){var u=31-Gn(c),g=1<<u;g&s|o[u]&s&&(o[u]|=s),c&=~g}}var Ot=0;function Ie(o){return o&=-o,1<o?4<o?(o&268435455)!==0?16:536870912:4:1}var wo,Ro,bo,za,yi,vi=!1,Go=[],ha=null,Ba=null,Va=null,Ha=new Map,Ko=new Map,qa=[],tf="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 El(o,s){switch(o){case"focusin":case"focusout":ha=null;break;case"dragenter":case"dragleave":Ba=null;break;case"mouseover":case"mouseout":Va=null;break;case"pointerover":case"pointerout":Ha.delete(s.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ko.delete(s.pointerId)}}function Is(o,s,c,u,g,w){return o===null||o.nativeEvent!==w?(o={blockedOn:s,domEventName:c,eventSystemFlags:u,nativeEvent:w,targetContainers:[g]},s!==null&&(s=Wl(s),s!==null&&Ro(s)),o):(o.eventSystemFlags|=u,s=o.targetContainers,g!==null&&s.indexOf(g)===-1&&s.push(g),o)}function Ye(o,s,c,u,g){switch(s){case"focusin":return ha=Is(ha,o,s,c,u,g),!0;case"dragenter":return Ba=Is(Ba,o,s,c,u,g),!0;case"mouseover":return Va=Is(Va,o,s,c,u,g),!0;case"pointerover":var w=g.pointerId;return Ha.set(w,Is(Ha.get(w)||null,o,s,c,u,g)),!0;case"gotpointercapture":return w=g.pointerId,Ko.set(w,Is(Ko.get(w)||null,o,s,c,u,g)),!0}return!1}function jn(o){var s=Es(o.target);if(s!==null){var c=hn(s);if(c!==null){if(s=c.tag,s===13){if(s=eo(c),s!==null){o.blockedOn=s,yi(o.priority,function(){bo(c)});return}}else if(s===3&&c.stateNode.current.memoizedState.isDehydrated){o.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}o.blockedOn=null}
vendor: 5,004 bytes, line 6
6function Yo(o){if(o.blockedOn!==null)return!1;for(var s=o.targetContainers;0<s.length;){var c=of(o.domEventName,o.eventSystemFlags,s[0],o.nativeEvent);if(c===null){c=o.nativeEvent;var u=new c.constructor(c.type,c);nn=u,c.target.dispatchEvent(u),nn=null}else return s=Wl(c),s!==null&&Ro(s),o.blockedOn=c,!1;s.shift()}return!0}function rv(o,s,c){Yo(o)&&c.delete(s)}function yN(){vi=!1,ha!==null&&Yo(ha)&&(ha=null),Ba!==null&&Yo(Ba)&&(Ba=null),Va!==null&&Yo(Va)&&(Va=null),Ha.forEach(rv),Ko.forEach(rv)}function Rl(o,s){o.blockedOn===s&&(o.blockedOn=null,vi||(vi=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,yN)))}function Ol(o){function s(g){return Rl(g,o)}if(0<Go.length){Rl(Go[0],o);for(var c=1;c<Go.length;c++){var u=Go[c];u.blockedOn===o&&(u.blockedOn=null)}}for(ha!==null&&Rl(ha,o),Ba!==null&&Rl(Ba,o),Va!==null&&Rl(Va,o),Ha.forEach(s),Ko.forEach(s),c=0;c<qa.length;c++)u=qa[c],u.blockedOn===o&&(u.blockedOn=null);for(;0<qa.length&&(c=qa[0],c.blockedOn===null);)jn(c),c.blockedOn===null&&qa.shift()}var xi=E.ReactCurrentBatchConfig,dd=!0;function vN(o,s,c,u){var g=Ot,w=xi.transition;xi.transition=null;try{Ot=1,nf(o,s,c,u)}finally{Ot=g,xi.transition=w}}function xN(o,s,c,u){var g=Ot,w=xi.transition;xi.transition=null;try{Ot=4,nf(o,s,c,u)}finally{Ot=g,xi.transition=w}}function nf(o,s,c,u){if(dd){var g=of(o,s,c,u);if(g===null)bf(o,s,u,ud,c),El(o,u);else if(Ye(g,o,s,c,u))u.stopPropagation();else if(El(o,u),s&4&&-1<tf.indexOf(o)){for(;g!==null;){var w=Wl(g);if(w!==null&&wo(w),w=of(o,s,c,u),w===null&&bf(o,s,u,ud,c),w===g)break;g=w}g!==null&&u.stopPropagation()}else bf(o,s,u,null,c)}}var ud=null;function of(o,s,c,u){if(ud=null,o=Nt(u),o=Es(o),o!==null)if(s=hn(o),s===null)o=null;else if(c=s.tag,c===13){if(o=eo(s),o!==null)return o;o=null}else if(c===3){if(s.stateNode.current.memoizedState.isDehydrated)return s.tag===3?s.stateNode.containerInfo:null;o=null}else s!==o&&(o=null);return ud=o,null}function sv(o){switch(o){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(qo()){case ur:return 1;case Ts:return 4;case Eo:case Hr:return 16;case Wo:return 536870912;default:return 16}default:return 16}}var qr=null,af=null,pd=null;function iv(){if(pd)return pd;var o,s=af,c=s.length,u,g="value"in qr?qr.value:qr.textContent,w=g.length;for(o=0;o<c&&s[o]===g[o];o++);var N=c-o;for(u=1;u<=N&&s[c-u]===g[w-u];u++);return pd=g.slice(o,1<u?1-u:void 0)}function fd(o){var s=o.keyCode;return"charCode"in o?(o=o.charCode,o===0&&s===13&&(o=13)):o=s,o===10&&(o=13),32<=o||o===13?o:0}function md(){return!0}function lv(){return!1}function Oo(o){function s(c,u,g,w,N){this._reactName=c,this._targetInst=g,this.type=u,this.nativeEvent=w,this.target=N,this.currentTarget=null;for(var L in o)o.hasOwnProperty(L)&&(c=o[L],this[L]=c?c(w):w[L]);return this.isDefaultPrevented=(w.defaultPrevented!=null?w.defaultPrevented:w.returnValue===!1)?md:lv,this.isPropagationStopped=lv,this}return O(s.prototype,{preventDefault:function(){this.defaultPrevented=!0;var c=this.nativeEvent;c&&(c.preventDefault?c.preventDefault():typeof c.returnValue!="unknown"&&(c.returnValue=!1),this.isDefaultPrevented=md)},stopPropagation:function(){var c=this.nativeEvent;c&&(c.stopPropagation?c.stopPropagation():typeof c.cancelBubble!="unknown"&&(c.cancelBubble=!0),this.isPropagationStopped=md)},persist:function(){},isPersistent:md}),s}var wi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(o){return o.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},rf=Oo(wi),Ml=O({},wi,{view:0,detail:0}),wN=Oo(Ml),sf,lf,Ll,hd=O({},Ml,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:df,button:0,buttons:0,relatedTarget:function(o){return o.relatedTarget===void 0?o.fromElement===o.srcElement?o.toElement:o.fromElement:o.relatedTarget},movementX:function(o){return"movementX"in o?o.movementX:(o!==Ll&&(Ll&&o.type==="mousemove"?(sf=o.screenX-Ll.screenX,lf=o.screenY-Ll.screenY):lf=sf=0,Ll=o),sf)}
vendor: 20,237 bytes, lines 6-7
6,movementY:function(o){return"movementY"in o?o.movementY:lf}}),cv=Oo(hd),bN=O({},hd,{dataTransfer:0}),_N=Oo(bN),kN=O({},Ml,{relatedTarget:0}),cf=Oo(kN),CN=O({},wi,{animationName:0,elapsedTime:0,pseudoElement:0}),SN=Oo(CN),NN=O({},wi,{clipboardData:function(o){return"clipboardData"in o?o.clipboardData:window.clipboardData}}),PN=Oo(NN),AN=O({},wi,{data:0}),dv=Oo(AN),TN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},jN={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"},IN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function EN(o){var s=this.nativeEvent;return s.getModifierState?s.getModifierState(o):(o=IN[o])?!!s[o]:!1}function df(){return EN}var RN=O({},Ml,{key:function(o){if(o.key){var s=TN[o.key]||o.key;if(s!=="Unidentified")return s}return o.type==="keypress"?(o=fd(o),o===13?"Enter":String.fromCharCode(o)):o.type==="keydown"||o.type==="keyup"?jN[o.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:df,charCode:function(o){return o.type==="keypress"?fd(o):0},keyCode:function(o){return o.type==="keydown"||o.type==="keyup"?o.keyCode:0},which:function(o){return o.type==="keypress"?fd(o):o.type==="keydown"||o.type==="keyup"?o.keyCode:0}}),ON=Oo(RN),MN=O({},hd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),uv=Oo(MN),LN=O({},Ml,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:df}),DN=Oo(LN),FN=O({},wi,{propertyName:0,elapsedTime:0,pseudoElement:0}),UN=Oo(FN),$N=O({},hd,{deltaX:function(o){return"deltaX"in o?o.deltaX:"wheelDeltaX"in o?-o.wheelDeltaX:0},deltaY:function(o){return"deltaY"in o?o.deltaY:"wheelDeltaY"in o?-o.wheelDeltaY:"wheelDelta"in o?-o.wheelDelta:0},deltaZ:0,deltaMode:0}),zN=Oo($N),BN=[9,13,27,32],uf=p&&"CompositionEvent"in window,Dl=null;p&&"documentMode"in document&&(Dl=document.documentMode);var VN=p&&"TextEvent"in window&&!Dl,pv=p&&(!uf||Dl&&8<Dl&&11>=Dl),fv=" ",mv=!1;function hv(o,s){switch(o){case"keyup":return BN.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gv(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var bi=!1;function HN(o,s){switch(o){case"compositionend":return gv(s);case"keypress":return s.which!==32?null:(mv=!0,fv);case"textInput":return o=s.data,o===fv&&mv?null:o;default:return null}}function qN(o,s){if(bi)return o==="compositionend"||!uf&&hv(o,s)?(o=iv(),pd=af=qr=null,bi=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1<s.char.length)return s.char;if(s.which)return String.fromCharCode(s.which)}return null;case"compositionend":return pv&&s.locale!=="ko"?null:s.data;default:return null}}var WN={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 yv(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s==="input"?!!WN[o.type]:s==="textarea"}function vv(o,s,c,u){xt(u),s=wd(s,"onChange"),0<s.length&&(c=new rf("onChange","change",null,c,u),o.push({event:c,listeners:s}))}var Fl=null,Ul=null;function GN(o){Lv(o,0)}function gd(o){var s=Ni(o);if(ut(s))return o}function KN(o,s){if(o==="change")return s}var xv=!1;if(p){var pf;if(p){var ff="oninput"in document;if(!ff){var wv=document.createElement("div");wv.setAttribute("oninput","return;"),ff=typeof wv.oninput=="function"}pf=ff}else pf=!1;xv=pf&&(!document.documentMode||9<document.documentMode)}function bv(){Fl&&(Fl.detachEvent("onpropertychange",_v),Ul=Fl=null)}function _v(o){if(o.propertyName==="value"&&gd(Ul)){var s=[];vv(s,Ul,o,Nt(o)),Tn(GN,s)}}function YN(o,s,c){o==="focusin"?(bv(),Fl=s,Ul=c,Fl.attachEvent("onpropertychange",_v)):o==="focusout"&&bv()}function QN(o){if(o==="selectionchange"||o==="keyup"||o==="keydown")return gd(Ul)}function ZN(o,s){if(o==="click")return gd(s)}function XN(o,s){if(o==="input"||o==="change")return gd(s)}function JN(o,s){return o===s&&(o!==0||1/o===1/s)||o!==o&&s!==s}var ga=typeof Object.is=="function"?Object.is:JN;function $l(o,s){if(ga(o,s))return!0;if(typeof o!="object"||o===null||typeof s!="object"||s===null)return!1;var c=Object.keys(o),u=Object.keys(s);if(c.length!==u.length)return!1;for(u=0;u<c.length;u++){var g=c[u];if(!m.call(s,g)||!ga(o[g],s[g]))return!1}return!0}function kv(o){for(;o&&o.firstChild;)o=o.firstChild;return o}function Cv(o,s){var c=kv(o);o=0;for(var u;c;){if(c.nodeType===3){if(u=o+c.textContent.length,o<=s&&u>=s)return{node:c,offset:s-o};o=u}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=kv(c)}}function Sv(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?Sv(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function Nv(){for(var o=window,s=Fe();s instanceof o.HTMLIFrameElement;){try{var c=typeof s.contentWindow.location.href=="string"}catch{c=!1}if(c)o=s.contentWindow;else break;s=Fe(o.document)}return s}function mf(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function eP(o){var s=Nv(),c=o.focusedElem,u=o.selectionRange;if(s!==c&&c&&c.ownerDocument&&Sv(c.ownerDocument.documentElement,c)){if(u!==null&&mf(c)){if(s=u.start,o=u.end,o===void 0&&(o=s),"selectionStart"in c)c.selectionStart=s,c.selectionEnd=Math.min(o,c.value.length);else if(o=(s=c.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var g=c.textContent.length,w=Math.min(u.start,g);u=u.end===void 0?w:Math.min(u.end,g),!o.extend&&w>u&&(g=u,u=w,w=g),g=Cv(c,w);var N=Cv(c,u);g&&N&&(o.rangeCount!==1||o.anchorNode!==g.node||o.anchorOffset!==g.offset||o.focusNode!==N.node||o.focusOffset!==N.offset)&&(s=s.createRange(),s.setStart(g.node,g.offset),o.removeAllRanges(),w>u?(o.addRange(s),o.extend(N.node,N.offset)):(s.setEnd(N.node,N.offset),o.addRange(s)))}}for(s=[],o=c;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c<s.length;c++)o=s[c],o.element.scrollLeft=o.left,o.element.scrollTop=o.top}}var tP=p&&"documentMode"in document&&11>=document.documentMode,_i=null,hf=null,zl=null,gf=!1;function Pv(o,s,c){var u=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;gf||_i==null||_i!==Fe(u)||(u=_i,"selectionStart"in u&&mf(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),zl&&$l(zl,u)||(zl=u,u=wd(hf,"onSelect"),0<u.length&&(s=new rf("onSelect","select",null,s,c),o.push({event:s,listeners:u}),s.target=_i)))}function yd(o,s){var c={};return c[o.toLowerCase()]=s.toLowerCase(),c["Webkit"+o]="webkit"+s,c["Moz"+o]="moz"+s,c}var ki={animationend:yd("Animation","AnimationEnd"),animationiteration:yd("Animation","AnimationIteration"),animationstart:yd("Animation","AnimationStart"),transitionend:yd("Transition","TransitionEnd")},yf={},Av={};p&&(Av=document.createElement("div").style,"AnimationEvent"in window||(delete ki.animationend.animation,delete ki.animationiteration.animation,delete ki.animationstart.animation),"TransitionEvent"in window||delete ki.transitionend.transition);function vd(o){if(yf[o])return yf[o];if(!ki[o])return o;var s=ki[o],c;for(c in s)if(s.hasOwnProperty(c)&&c in Av)return yf[o]=s[c];return o}var Tv=vd("animationend"),jv=vd("animationiteration"),Iv=vd("animationstart"),Ev=vd("transitionend"),Rv=new Map,Ov="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 Wr(o,s){Rv.set(o,s),l(s,[o])}for(var vf=0;vf<Ov.length;vf++){var xf=Ov[vf],nP=xf.toLowerCase(),oP=xf[0].toUpperCase()+xf.slice(1);Wr(nP,"on"+oP)}Wr(Tv,"onAnimationEnd"),Wr(jv,"onAnimationIteration"),Wr(Iv,"onAnimationStart"),Wr("dblclick","onDoubleClick"),Wr("focusin","onFocus"),Wr("focusout","onBlur"),Wr(Ev,"onTransitionEnd"),d("onMouseEnter",["mouseout","mouseover"]),d("onMouseLeave",["mouseout","mouseover"]),d("onPointerEnter",["pointerout","pointerover"]),d("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Bl="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(" "),aP=new Set("cancel close invalid load scroll toggle".split(" ").concat(Bl));function Mv(o,s,c){var u=o.type||"unknown-event";o.currentTarget=c,Fn(u,s,void 0,o),o.currentTarget=null}function Lv(o,s){s=(s&4)!==0;for(var c=0;c<o.length;c++){var u=o[c],g=u.event;u=u.listeners;e:{var w=void 0;if(s)for(var N=u.length-1;0<=N;N--){var L=u[N],U=L.instance,ne=L.currentTarget;if(L=L.listener,U!==w&&g.isPropagationStopped())break e;Mv(g,L,ne),w=U}else for(N=0;N<u.length;N++){if(L=u[N],U=L.instance,ne=L.currentTarget,L=L.listener,U!==w&&g.isPropagationStopped())break e;Mv(g,L,ne),w=U}}}if(pa)throw o=Da,pa=!1,Da=null,o}function Gt(o,s){var c=s[Pf];c===void 0&&(c=s[Pf]=new Set);var u=o+"__bubble";c.has(u)||(Dv(s,o,2,!1),c.add(u))}function wf(o,s,c){var u=0;s&&(u|=4),Dv(c,o,u,s)}var xd="_reactListening"+Math.random().toString(36).slice(2);function Vl(o){if(!o[xd]){o[xd]=!0,r.forEach(function(c){c!=="selectionchange"&&(aP.has(c)||wf(c,!1,o),wf(c,!0,o))});var s=o.nodeType===9?o:o.ownerDocument;s===null||s[xd]||(s[xd]=!0,wf("selectionchange",!1,s))}}function Dv(o,s,c,u){switch(sv(s)){case 1:var g=vN;break;case 4:g=xN;break;default:g=nf}c=g.bind(null,s,c,o),g=void 0,!_n||s!=="touchstart"&&s!=="touchmove"&&s!=="wheel"||(g=!0),u?g!==void 0?o.addEventListener(s,c,{capture:!0,passive:g}):o.addEventListener(s,c,!0):g!==void 0?o.addEventListener(s,c,{passive:g}):o.addEventListener(s,c,!1)}function bf(o,s,c,u,g){var w=u;if((s&1)===0&&(s&2)===0&&u!==null)e:for(;;){if(u===null)return;var N=u.tag;if(N===3||N===4){var L=u.stateNode.containerInfo;if(L===g||L.nodeType===8&&L.parentNode===g)break;if(N===4)for(N=u.return;N!==null;){var U=N.tag;if((U===3||U===4)&&(U=N.stateNode.containerInfo,U===g||U.nodeType===8&&U.parentNode===g))return;N=N.return}for(;L!==null;){if(N=Es(L),N===null)return;if(U=N.tag,U===5||U===6){u=w=N;continue e}L=L.parentNode}}u=u.return}Tn(function(){var ne=w,ve=Nt(c),_e=[];e:{var fe=Rv.get(o);if(fe!==void 0){var Me=rf,$e=o;switch(o){case"keypress":if(fd(c)===0)break e;case"keydown":case"keyup":Me=ON;break;case"focusin":$e="focus",Me=cf;break;case"focusout":$e="blur",Me=cf;break;case"beforeblur":case"afterblur":Me=cf;break;case"click":if(c.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Me=cv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Me=_N;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Me=DN;break;case Tv:case jv:case Iv:Me=SN;break;case Ev:Me=UN;break;case"scroll":Me=wN;break;case"wheel":Me=zN;break;case"copy":case"cut":case"paste":Me=PN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Me=uv}var Be=(s&4)!==0,vn=!Be&&o==="scroll",K=Be?fe!==null?fe+"Capture":null:fe;Be=[];for(var V=ne,Q;V!==null;){Q=V;var Pe=Q.stateNode;if(Q.tag===5&&Pe!==null&&(Q=Pe,K!==null&&(Pe=Io(V,K),Pe!=null&&Be.push(Hl(V,Pe,Q)))),vn)break;V=V.return}0<Be.length&&(fe=new Me(fe,$e,null,c,ve),_e.push({event:fe,listeners:Be}))}}if((s&7)===0){e:{if(fe=o==="mouseover"||o==="pointerover",Me=o==="mouseout"||o==="pointerout",fe&&c!==nn&&($e=c.relatedTarget||c.fromElement)&&(Es($e)||$e[pr]))break e;if((Me||fe)&&(fe=ve.window===ve?ve:(fe=ve.ownerDocument)?fe.defaultView||fe.parentWindow:window,Me?($e=c.relatedTarget||c.toElement,Me=ne,$e=$e?Es($e):null,$e!==null&&(vn=hn($e),$e!==vn||$e.tag!==5&&$e.tag!==6)&&($e=null)):(Me=null,$e=ne),Me!==$e)){if(Be=cv,Pe="onMouseLeave",K="onMouseEnter",V="mouse",(o==="pointerout"||o==="pointerover")&&(Be=uv,Pe="onPointerLeave",K="onPointerEnter",V="pointer"),vn=Me==null?fe:Ni(Me),Q=$e==null?fe:Ni($e),fe=new Be(Pe,V+"leave",Me,c,ve),fe.target=vn,fe.relatedTarget=Q,Pe=null,Es(ve)===ne&&(Be=new Be(K,V+"enter",$e,c,ve),Be.target=Q,Be.relatedTarget=vn,Pe=Be),vn=Pe,Me&&$e)t:{for(Be=Me,K=$e,V=0,Q=Be;Q;Q=Ci(Q))V++;for(Q=0,Pe=K;Pe;Pe=Ci(Pe))Q++;for(;0<V-Q;)Be=Ci(Be),V--;for(;0<Q-V;)K=Ci(K),Q--;for(;V--;){if(Be===K||K!==null&&Be===K.alternate)break t;Be=Ci(Be),K=Ci(K)}Be=null}else Be=null;Me!==null&&Fv(_e,fe,Me,Be,!1),$e!==null&&vn!==null&&Fv(_e,vn,$e,Be,!0)}}e:{if(fe=ne?Ni(ne):window,Me=fe.nodeName&&fe.nodeName.toLowerCase(),Me==="select"||Me==="input"&&fe.type==="file")var He=KN;else if(yv(fe))if(xv)He=XN;else{He=QN;var Je=YN}else(Me=fe.nodeName)&&Me.toLowerCase()==="input"&&(fe.type==="checkbox"||fe.type==="radio")&&(He=ZN);if(He&&(He=He(o,ne))){vv(_e,He,c,ve);break e}Je&&Je(o,fe,ne),o==="focusout"&&(Je=fe._wrapperState)&&Je.controlled&&fe.type==="number"&&Ve(fe,"number",fe.value)}switch(Je=ne?Ni(ne):window,o){case"focusin":(yv(Je)||Je.contentEditable==="true")&&(_i=Je,hf=ne,zl=null);break;case"focusout":zl=hf=_i=null;break;case"mousedown":gf=!0;break;case"contextmenu":case"mouseup":case"dragend":gf=!1,Pv(_e,c,ve);break;case"selectionchange":if(tP)break;case"keydown":case"keyup":Pv(_e,c,ve)}var et;if(uf)e:{switch(o){case"compositionstart":var rt="onCompositionStart";break e;case"compositionend":rt="onCompositionEnd";break e;case"compositionupdate":rt="onCompositionUpdate";break e}rt=void 0}else bi?hv(o,c)&&(rt="onCompositionEnd"):o==="keydown"&&c.keyCode===229&&(rt="onCompositionStart");rt&&(pv&&c.locale!=="ko"&&(bi||rt!=="onCompositionStart"?rt==="onCompositionEnd"&&bi&&(et=iv()):(qr=ve,af="value"in qr?qr.value:qr.textContent,bi=!0)),Je=wd(ne,rt),0<Je.length&&(rt=new dv(rt,o,null,c,ve),_e.push({event:rt,listeners:Je}),et?rt.data=et:(et=gv(c),et!==null&&(rt.data=et)))),(et=VN?HN(o,c):qN(o,c))&&(ne=wd(ne,"onBeforeInput"),0<ne.length&&(ve=new dv("onBeforeInput","beforeinput",null,c,ve),_e.push({event:ve,listeners:ne}),ve.data=et))}Lv(_e,s)})}function Hl(o,s,c){return{instance:o,listener:s,currentTarget:c}}function wd(o,s){for(var c=s+"Capture",u=[];o!==null;){var g=o,w=g.stateNode;g.tag===5&&w!==null&&(g=w,w=Io(o,c),w!=null&&u.unshift(Hl(o,w,g)),w=Io(o,s),w!=null&&u.push(Hl(o,w,g))),o=o.return}return u}function Ci(o){if(o===null)return null;do o=o.return;while(o&&o.tag!==5);return o||null}function Fv(o,s,c,u,g){for(var w=s._reactName,N=[];c!==null&&c!==u;){var L=c,U=L.alternate,ne=L.stateNode;if(U!==null&&U===u)break;L.tag===5&&ne!==null&&(L=ne,g?(U=Io(c,w),U!=null&&N.unshift(Hl(c,U,L))):g||(U=Io(c,w),U!=null&&N.push(Hl(c,U,L)))),c=c.return}N.length!==0&&o.push({event:s,listeners:N})}var rP=/\r\n?/g,sP=/\u0000|\uFFFD/g;function Uv(o){return(typeof o=="string"?o:""+o).replace(rP,` 7`).replace(sP,"")}function bd(o,s,c){if(s=Uv(s),Uv(o)!==s&&c)throw Error(n(425))}function _d(){}var _f=null,kf=null;function Cf(o,s){return o==="textarea"||o==="noscript"||typeof s.children=="string"||typeof s.children=="number"||typeof s.dangerouslySetInnerHTML=="object"&&s.dangerouslySetInnerHTML!==null&&s.dangerouslySetInnerHTML.__html!=null}var Sf=typeof setTimeout=="function"?setTimeout:void 0,iP=typeof clearTimeout=="function"?clearTimeout:void 0,$v=typeof Promise=="function"?Promise:void 0,lP=typeof queueMicrotask=="function"?queueMicrotask:typeof $v<"u"?function(o){return $v.resolve(null).then(o).catch(cP)}:Sf;function cP(o){setTimeout(function(){throw o})}function Nf(o,s){var c=s,u=0;do{var g=c.nextSibling;if(o.removeChild(c),g&&g.nodeType===8)if(c=g.data,c==="/$"){if(u===0){o.removeChild(g),Ol(s);return}u--}else c!=="$"&&c!=="$?"&&c!=="$!"||u++;c=g}while(c);Ol(s)}function Gr(o){for(;o!=null;o=o.nextSibling){var s=o.nodeType;if(s===1||s===3)break;if(s===8){if(s=o.data,s==="$"||s==="$!"||s==="$?")break;if(s==="/$")return null}}return o}function zv(o){o=o.previousSibling;for(var s=0;o;){if(o.nodeType===8){var c=o.data;if(c==="$"||c==="$!"||c==="$?"){if(s===0)return o;s--}else c==="/$"&&s++}o=o.previousSibling}return null}var Si=Math.random().toString(36).slice(2),Wa="__reactFiber$"+Si,ql="__reactProps$"+Si,pr="__reactContainer$"+Si,Pf="__reactEvents$"+Si,dP="__reactListeners$"+Si,uP="__reactHandles$"+Si;function Es(o){var s=o[Wa];if(s)return s;for(var c=o.parentNode;c;){if(s=c[pr]||c[Wa]){if(c=s.alternate,s.child!==null||c!==null&&c.child!==null)for(o=zv(o);o!==null;){if(c=o[Wa])return c;o=zv(o)}return s}o=c,c=o.parentNode}return null}function Wl(o){return o=o[Wa]||o[pr],!o||o.tag!==5&&o.tag!==6&&o.tag!==13&&o.tag!==3?null:o}function Ni(o){if(o.tag===5||o.tag===6)return o.stateNode;throw Error(n(33))}function kd(o){return o[ql]||null}var Af=[],Pi=-1;function Kr(o){return{current:o}}function Kt(o){0>Pi||(o.current=Af[Pi],Af[Pi]=null,Pi--)}function qt(o,s){Pi++,Af[Pi]=o.current,o.current=s}var Yr={},to=Kr(Yr),_o=Kr(!1),Rs=Yr;function Ai(o,s){var c=o.type.contextTypes;if(!c)return Yr;var u=o.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===s)return u.__reactInternalMemoizedMaskedChildContext;var g={},w;for(w in c)g[w]=s[w];return u&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=g),g}function ko(o){return o=o.childContextTypes,o!=null}function Cd(){Kt(_o),Kt(to)}function Bv(o,s,c){if(to.current!==Yr)throw Error(n(168));qt(to,s),qt(_o,c)}function Vv(o,s,c){var u=o.stateNode;if(s=s.childContextTypes,typeof u.getChildContext!="function")return c;u=u.getChildContext();for(var g in u)if(!(g in s))throw Error(n(108,M(o)||"Unknown",g));return O({},c,u)}function Sd(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Yr,Rs=to.current,qt(to,o),qt(_o,_o.current),!0}function Hv(o,s,c){var u=o.stateNode;if(!u)throw Error(n(169));c?(o=Vv(o,s,Rs),u.__reactInternalMemoizedMergedChildContext=o,Kt(_o),Kt(to),qt(to,o)):Kt(_o),qt(_o,c)}var fr=null,Nd=!1,Tf=!1;function qv(o){fr===null?fr=[o]:fr.push(o)}function pP(o){Nd=!0,qv(o)}function Qr(){if(!Tf&&fr!==null){Tf=!0;var o=0,s=Ot;try{var c=fr;for(Ot=1;o<c.length;o++){var u=c[o];do u=u(!0);while(u!==null)}fr=null,Nd=!1}catch(g){throw fr!==null&&(fr=fr.slice(o+1)),Vr(ur,Qr),g}finally{Ot=s,Tf=!1}}return null}var Ti=[],ji=0,Pd=null,Ad=0,Qo=[],Zo=0,Os=null,mr=1,hr="";function Ms(o,s){Ti[ji++]=Ad,Ti[ji++]=Pd,Pd=o,Ad=s}
vendor: 28,669 bytes, lines 7-9
7function Wv(o,s,c){Qo[Zo++]=mr,Qo[Zo++]=hr,Qo[Zo++]=Os,Os=o;var u=mr;o=hr;var g=32-Gn(u)-1;u&=~(1<<g),c+=1;var w=32-Gn(s)+g;if(30<w){var N=g-g%5;w=(u&(1<<N)-1).toString(32),u>>=N,g-=N,mr=1<<32-Gn(s)+g|c<<g|u,hr=w+o}else mr=1<<w|c<<g|u,hr=o}function jf(o){o.return!==null&&(Ms(o,1),Wv(o,1,0))}function If(o){for(;o===Pd;)Pd=Ti[--ji],Ti[ji]=null,Ad=Ti[--ji],Ti[ji]=null;for(;o===Os;)Os=Qo[--Zo],Qo[Zo]=null,hr=Qo[--Zo],Qo[Zo]=null,mr=Qo[--Zo],Qo[Zo]=null}var Mo=null,Lo=null,tn=!1,ya=null;function Gv(o,s){var c=ta(5,null,null,0);c.elementType="DELETED",c.stateNode=s,c.return=o,s=o.deletions,s===null?(o.deletions=[c],o.flags|=16):s.push(c)}function Kv(o,s){switch(o.tag){case 5:var c=o.type;return s=s.nodeType!==1||c.toLowerCase()!==s.nodeName.toLowerCase()?null:s,s!==null?(o.stateNode=s,Mo=o,Lo=Gr(s.firstChild),!0):!1;case 6:return s=o.pendingProps===""||s.nodeType!==3?null:s,s!==null?(o.stateNode=s,Mo=o,Lo=null,!0):!1;case 13:return s=s.nodeType!==8?null:s,s!==null?(c=Os!==null?{id:mr,overflow:hr}:null,o.memoizedState={dehydrated:s,treeContext:c,retryLane:1073741824},c=ta(18,null,null,0),c.stateNode=s,c.return=o,o.child=c,Mo=o,Lo=null,!0):!1;default:return!1}}function Ef(o){return(o.mode&1)!==0&&(o.flags&128)===0}function Rf(o){if(tn){var s=Lo;if(s){var c=s;if(!Kv(o,s)){if(Ef(o))throw Error(n(418));s=Gr(c.nextSibling);var u=Mo;s&&Kv(o,s)?Gv(u,c):(o.flags=o.flags&-4097|2,tn=!1,Mo=o)}}else{if(Ef(o))throw Error(n(418));o.flags=o.flags&-4097|2,tn=!1,Mo=o}}}function Yv(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;Mo=o}function Td(o){if(o!==Mo)return!1;if(!tn)return Yv(o),tn=!0,!1;var s;if((s=o.tag!==3)&&!(s=o.tag!==5)&&(s=o.type,s=s!=="head"&&s!=="body"&&!Cf(o.type,o.memoizedProps)),s&&(s=Lo)){if(Ef(o))throw Qv(),Error(n(418));for(;s;)Gv(o,s),s=Gr(s.nextSibling)}if(Yv(o),o.tag===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(n(317));e:{for(o=o.nextSibling,s=0;o;){if(o.nodeType===8){var c=o.data;if(c==="/$"){if(s===0){Lo=Gr(o.nextSibling);break e}s--}else c!=="$"&&c!=="$!"&&c!=="$?"||s++}o=o.nextSibling}Lo=null}}else Lo=Mo?Gr(o.stateNode.nextSibling):null;return!0}function Qv(){for(var o=Lo;o;)o=Gr(o.nextSibling)}function Ii(){Lo=Mo=null,tn=!1}function Of(o){ya===null?ya=[o]:ya.push(o)}var fP=E.ReactCurrentBatchConfig;function Gl(o,s,c){if(o=c.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(c._owner){if(c=c._owner,c){if(c.tag!==1)throw Error(n(309));var u=c.stateNode}if(!u)throw Error(n(147,o));var g=u,w=""+o;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===w?s.ref:(s=function(N){var L=g.refs;N===null?delete L[w]:L[w]=N},s._stringRef=w,s)}if(typeof o!="string")throw Error(n(284));if(!c._owner)throw Error(n(290,o))}return o}function jd(o,s){throw o=Object.prototype.toString.call(s),Error(n(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o))}function Zv(o){var s=o._init;return s(o._payload)}function Xv(o){function s(K,V){if(o){var Q=K.deletions;Q===null?(K.deletions=[V],K.flags|=16):Q.push(V)}}function c(K,V){if(!o)return null;for(;V!==null;)s(K,V),V=V.sibling;return null}function u(K,V){for(K=new Map;V!==null;)V.key!==null?K.set(V.key,V):K.set(V.index,V),V=V.sibling;return K}function g(K,V){return K=as(K,V),K.index=0,K.sibling=null,K}function w(K,V,Q){return K.index=Q,o?(Q=K.alternate,Q!==null?(Q=Q.index,Q<V?(K.flags|=2,V):Q):(K.flags|=2,V)):(K.flags|=1048576,V)}function N(K){return o&&K.alternate===null&&(K.flags|=2),K}function L(K,V,Q,Pe){return V===null||V.tag!==6?(V=Sm(Q,K.mode,Pe),V.return=K,V):(V=g(V,Q),V.return=K,V)}function U(K,V,Q,Pe){var He=Q.type;return He===q?ve(K,V,Q.props.children,Pe,Q.key):V!==null&&(V.elementType===He||typeof He=="object"&&He!==null&&He.$$typeof===R&&Zv(He)===V.type)?(Pe=g(V,Q.props),Pe.ref=Gl(K,V,Q),Pe.return=K,Pe):(Pe=eu(Q.type,Q.key,Q.props,null,K.mode,Pe),Pe.ref=Gl(K,V,Q),Pe.return=K,Pe)}function ne(K,V,Q,Pe){return V===null||V.tag!==4||V.stateNode.containerInfo!==Q.containerInfo||V.stateNode.implementation!==Q.implementation?(V=Nm(Q,K.mode,Pe),V.return=K,V):(V=g(V,Q.children||[]),V.return=K,V)}function ve(K,V,Q,Pe,He){return V===null||V.tag!==7?(V=Vs(Q,K.mode,Pe,He),V.return=K,V):(V=g(V,Q),V.return=K,V)}function _e(K,V,Q){if(typeof V=="string"&&V!==""||typeof V=="number")return V=Sm(""+V,K.mode,Q),V.return=K,V;if(typeof V=="object"&&V!==null){switch(V.$$typeof){case F:return Q=eu(V.type,V.key,V.props,null,K.mode,Q),Q.ref=Gl(K,null,V),Q.return=K,Q;case z:return V=Nm(V,K.mode,Q),V.return=K,V;case R:var Pe=V._init;return _e(K,Pe(V._payload),Q)}if(st(V)||H(V))return V=Vs(V,K.mode,Q,null),V.return=K,V;jd(K,V)}return null}function fe(K,V,Q,Pe){var He=V!==null?V.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number")return He!==null?null:L(K,V,""+Q,Pe);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case F:return Q.key===He?U(K,V,Q,Pe):null;case z:return Q.key===He?ne(K,V,Q,Pe):null;case R:return He=Q._init,fe(K,V,He(Q._payload),Pe)}if(st(Q)||H(Q))return He!==null?null:ve(K,V,Q,Pe,null);jd(K,Q)}return null}function Me(K,V,Q,Pe,He){if(typeof Pe=="string"&&Pe!==""||typeof Pe=="number")return K=K.get(Q)||null,L(V,K,""+Pe,He);if(typeof Pe=="object"&&Pe!==null){switch(Pe.$$typeof){case F:return K=K.get(Pe.key===null?Q:Pe.key)||null,U(V,K,Pe,He);case z:return K=K.get(Pe.key===null?Q:Pe.key)||null,ne(V,K,Pe,He);case R:var Je=Pe._init;return Me(K,V,Q,Je(Pe._payload),He)}if(st(Pe)||H(Pe))return K=K.get(Q)||null,ve(V,K,Pe,He,null);jd(V,Pe)}return null}function $e(K,V,Q,Pe){for(var He=null,Je=null,et=V,rt=V=0,zn=null;et!==null&&rt<Q.length;rt++){et.index>rt?(zn=et,et=null):zn=et.sibling;var Tt=fe(K,et,Q[rt],Pe);if(Tt===null){et===null&&(et=zn);break}o&&et&&Tt.alternate===null&&s(K,et),V=w(Tt,V,rt),Je===null?He=Tt:Je.sibling=Tt,Je=Tt,et=zn}if(rt===Q.length)return c(K,et),tn&&Ms(K,rt),He;if(et===null){for(;rt<Q.length;rt++)et=_e(K,Q[rt],Pe),et!==null&&(V=w(et,V,rt),Je===null?He=et:Je.sibling=et,Je=et);return tn&&Ms(K,rt),He}for(et=u(K,et);rt<Q.length;rt++)zn=Me(et,K,rt,Q[rt],Pe),zn!==null&&(o&&zn.alternate!==null&&et.delete(zn.key===null?rt:zn.key),V=w(zn,V,rt),Je===null?He=zn:Je.sibling=zn,Je=zn);return o&&et.forEach(function(rs){return s(K,rs)}),tn&&Ms(K,rt),He}function Be(K,V,Q,Pe){var He=H(Q);if(typeof He!="function")throw Error(n(150));if(Q=He.call(Q),Q==null)throw Error(n(151));for(var Je=He=null,et=V,rt=V=0,zn=null,Tt=Q.next();et!==null&&!Tt.done;rt++,Tt=Q.next()){et.index>rt?(zn=et,et=null):zn=et.sibling;var rs=fe(K,et,Tt.value,Pe);if(rs===null){et===null&&(et=zn);break}o&&et&&rs.alternate===null&&s(K,et),V=w(rs,V,rt),Je===null?He=rs:Je.sibling=rs,Je=rs,et=zn}if(Tt.done)return c(K,et),tn&&Ms(K,rt),He;if(et===null){for(;!Tt.done;rt++,Tt=Q.next())Tt=_e(K,Tt.value,Pe),Tt!==null&&(V=w(Tt,V,rt),Je===null?He=Tt:Je.sibling=Tt,Je=Tt);return tn&&Ms(K,rt),He}for(et=u(K,et);!Tt.done;rt++,Tt=Q.next())Tt=Me(et,K,rt,Tt.value,Pe),Tt!==null&&(o&&Tt.alternate!==null&&et.delete(Tt.key===null?rt:Tt.key),V=w(Tt,V,rt),Je===null?He=Tt:Je.sibling=Tt,Je=Tt);return o&&et.forEach(function(WP){return s(K,WP)}),tn&&Ms(K,rt),He}function vn(K,V,Q,Pe){if(typeof Q=="object"&&Q!==null&&Q.type===q&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case F:e:{for(var He=Q.key,Je=V;Je!==null;){if(Je.key===He){if(He=Q.type,He===q){if(Je.tag===7){c(K,Je.sibling),V=g(Je,Q.props.children),V.return=K,K=V;break e}}else if(Je.elementType===He||typeof He=="object"&&He!==null&&He.$$typeof===R&&Zv(He)===Je.type){c(K,Je.sibling),V=g(Je,Q.props),V.ref=Gl(K,Je,Q),V.return=K,K=V;break e}c(K,Je);break}else s(K,Je);Je=Je.sibling}Q.type===q?(V=Vs(Q.props.children,K.mode,Pe,Q.key),V.return=K,K=V):(Pe=eu(Q.type,Q.key,Q.props,null,K.mode,Pe),Pe.ref=Gl(K,V,Q),Pe.return=K,K=Pe)}return N(K);case z:e:{for(Je=Q.key;V!==null;){if(V.key===Je)if(V.tag===4&&V.stateNode.containerInfo===Q.containerInfo&&V.stateNode.implementation===Q.implementation){c(K,V.sibling),V=g(V,Q.children||[]),V.return=K,K=V;break e}else{c(K,V);break}else s(K,V);V=V.sibling}V=Nm(Q,K.mode,Pe),V.return=K,K=V}return N(K);case R:return Je=Q._init,vn(K,V,Je(Q._payload),Pe)}if(st(Q))return $e(K,V,Q,Pe);if(H(Q))return Be(K,V,Q,Pe);jd(K,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"?(Q=""+Q,V!==null&&V.tag===6?(c(K,V.sibling),V=g(V,Q),V.return=K,K=V):(c(K,V),V=Sm(Q,K.mode,Pe),V.return=K,K=V),N(K)):c(K,V)}return vn}var Ei=Xv(!0),Jv=Xv(!1),Id=Kr(null),Ed=null,Ri=null,Mf=null;function Lf(){Mf=Ri=Ed=null}function Df(o){var s=Id.current;Kt(Id),o._currentValue=s}function Ff(o,s,c){for(;o!==null;){var u=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,u!==null&&(u.childLanes|=s)):u!==null&&(u.childLanes&s)!==s&&(u.childLanes|=s),o===c)break;o=o.return}}function Oi(o,s){Ed=o,Mf=Ri=null,o=o.dependencies,o!==null&&o.firstContext!==null&&((o.lanes&s)!==0&&(Co=!0),o.firstContext=null)}function Xo(o){var s=o._currentValue;if(Mf!==o)if(o={context:o,memoizedValue:s,next:null},Ri===null){if(Ed===null)throw Error(n(308));Ri=o,Ed.dependencies={lanes:0,firstContext:o}}else Ri=Ri.next=o;return s}var Ls=null;function Uf(o){Ls===null?Ls=[o]:Ls.push(o)}function ex(o,s,c,u){var g=s.interleaved;return g===null?(c.next=c,Uf(s)):(c.next=g.next,g.next=c),s.interleaved=c,gr(o,u)}function gr(o,s){o.lanes|=s;var c=o.alternate;for(c!==null&&(c.lanes|=s),c=o,o=o.return;o!==null;)o.childLanes|=s,c=o.alternate,c!==null&&(c.childLanes|=s),c=o,o=o.return;return c.tag===3?c.stateNode:null}var Zr=!1;function $f(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function tx(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function yr(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function Xr(o,s,c){var u=o.updateQueue;if(u===null)return null;if(u=u.shared,(Pt&2)!==0){var g=u.pending;return g===null?s.next=s:(s.next=g.next,g.next=s),u.pending=s,gr(o,c)}return g=u.interleaved,g===null?(s.next=s,Uf(u)):(s.next=g.next,g.next=s),u.interleaved=s,gr(o,c)}function Rd(o,s,c){if(s=s.updateQueue,s!==null&&(s=s.shared,(c&4194240)!==0)){var u=s.lanes;u&=o.pendingLanes,c|=u,s.lanes=c,yn(o,c)}}function nx(o,s){var c=o.updateQueue,u=o.alternate;if(u!==null&&(u=u.updateQueue,c===u)){var g=null,w=null;if(c=c.firstBaseUpdate,c!==null){do{var N={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};w===null?g=w=N:w=w.next=N,c=c.next}while(c!==null);w===null?g=w=s:w=w.next=s}else g=w=s;c={baseState:u.baseState,firstBaseUpdate:g,lastBaseUpdate:w,shared:u.shared,effects:u.effects},o.updateQueue=c;return}o=c.lastBaseUpdate,o===null?c.firstBaseUpdate=s:o.next=s,c.lastBaseUpdate=s}function Od(o,s,c,u){var g=o.updateQueue;Zr=!1;var w=g.firstBaseUpdate,N=g.lastBaseUpdate,L=g.shared.pending;if(L!==null){g.shared.pending=null;var U=L,ne=U.next;U.next=null,N===null?w=ne:N.next=ne,N=U;var ve=o.alternate;ve!==null&&(ve=ve.updateQueue,L=ve.lastBaseUpdate,L!==N&&(L===null?ve.firstBaseUpdate=ne:L.next=ne,ve.lastBaseUpdate=U))}if(w!==null){var _e=g.baseState;N=0,ve=ne=U=null,L=w;do{var fe=L.lane,Me=L.eventTime;if((u&fe)===fe){ve!==null&&(ve=ve.next={eventTime:Me,lane:0,tag:L.tag,payload:L.payload,callback:L.callback,next:null});e:{var $e=o,Be=L;switch(fe=s,Me=c,Be.tag){case 1:if($e=Be.payload,typeof $e=="function"){_e=$e.call(Me,_e,fe);break e}_e=$e;break e;case 3:$e.flags=$e.flags&-65537|128;case 0:if($e=Be.payload,fe=typeof $e=="function"?$e.call(Me,_e,fe):$e,fe==null)break e;_e=O({},_e,fe);break e;case 2:Zr=!0}}L.callback!==null&&L.lane!==0&&(o.flags|=64,fe=g.effects,fe===null?g.effects=[L]:fe.push(L))}else Me={eventTime:Me,lane:fe,tag:L.tag,payload:L.payload,callback:L.callback,next:null},ve===null?(ne=ve=Me,U=_e):ve=ve.next=Me,N|=fe;if(L=L.next,L===null){if(L=g.shared.pending,L===null)break;fe=L,L=fe.next,fe.next=null,g.lastBaseUpdate=fe,g.shared.pending=null}}while(!0);if(ve===null&&(U=_e),g.baseState=U,g.firstBaseUpdate=ne,g.lastBaseUpdate=ve,s=g.shared.interleaved,s!==null){g=s;do N|=g.lane,g=g.next;while(g!==s)}else w===null&&(g.shared.lanes=0);Us|=N,o.lanes=N,o.memoizedState=_e}}function ox(o,s,c){if(o=s.effects,s.effects=null,o!==null)for(s=0;s<o.length;s++){var u=o[s],g=u.callback;if(g!==null){if(u.callback=null,u=c,typeof g!="function")throw Error(n(191,g));g.call(u)}}}var Kl={},Ga=Kr(Kl),Yl=Kr(Kl),Ql=Kr(Kl);function Ds(o){if(o===Kl)throw Error(n(174));return o}function zf(o,s){switch(qt(Ql,s),qt(Yl,o),qt(Ga,Kl),o=s.nodeType,o){case 9:case 11:s=(s=s.documentElement)?s.namespaceURI:Dn(null,"");break;default:o=o===8?s.parentNode:s,s=o.namespaceURI||null,o=o.tagName,s=Dn(s,o)}Kt(Ga),qt(Ga,s)}function Mi(){Kt(Ga),Kt(Yl),Kt(Ql)}function ax(o){Ds(Ql.current);var s=Ds(Ga.current),c=Dn(s,o.type);s!==c&&(qt(Yl,o),qt(Ga,c))}function Bf(o){Yl.current===o&&(Kt(Ga),Kt(Yl))}var an=Kr(0);function Md(o){for(var s=o;s!==null;){if(s.tag===13){var c=s.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||c.data==="$?"||c.data==="$!"))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var Vf=[];function Hf(){for(var o=0;o<Vf.length;o++)Vf[o]._workInProgressVersionPrimary=null;Vf.length=0}var Ld=E.ReactCurrentDispatcher,qf=E.ReactCurrentBatchConfig,Fs=0,rn=null,In=null,Un=null,Dd=!1,Zl=!1,Xl=0,mP=0;function no(){throw Error(n(321))}function Wf(o,s){if(s===null)return!1;for(var c=0;c<s.length&&c<o.length;c++)if(!ga(o[c],s[c]))return!1;return!0}function Gf(o,s,c,u,g,w){if(Fs=w,rn=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,Ld.current=o===null||o.memoizedState===null?vP:xP,o=c(u,g),Zl){w=0;do{if(Zl=!1,Xl=0,25<=w)throw Error(n(301));w+=1,Un=In=null,s.updateQueue=null,Ld.current=wP,o=c(u,g)}while(Zl)}if(Ld.current=$d,s=In!==null&&In.next!==null,Fs=0,Un=In=rn=null,Dd=!1,s)throw Error(n(300));return o}function Kf(){var o=Xl!==0;return Xl=0,o}function Ka(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Un===null?rn.memoizedState=Un=o:Un=Un.next=o,Un}function Jo(){if(In===null){var o=rn.alternate;o=o!==null?o.memoizedState:null}else o=In.next;var s=Un===null?rn.memoizedState:Un.next;if(s!==null)Un=s,In=o;else{if(o===null)throw Error(n(310));In=o,o={memoizedState:In.memoizedState,baseState:In.baseState,baseQueue:In.baseQueue,queue:In.queue,next:null},Un===null?rn.memoizedState=Un=o:Un=Un.next=o}return Un}function Jl(o,s){return typeof s=="function"?s(o):s}function Yf(o){var s=Jo(),c=s.queue;if(c===null)throw Error(n(311));c.lastRenderedReducer=o;var u=In,g=u.baseQueue,w=c.pending;if(w!==null){if(g!==null){var N=g.next;g.next=w.next,w.next=N}u.baseQueue=g=w,c.pending=null}if(g!==null){w=g.next,u=u.baseState;var L=N=null,U=null,ne=w;do{var ve=ne.lane;if((Fs&ve)===ve)U!==null&&(U=U.next={lane:0,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),u=ne.hasEagerState?ne.eagerState:o(u,ne.action);else{var _e={lane:ve,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null};U===null?(L=U=_e,N=u):U=U.next=_e,rn.lanes|=ve,Us|=ve}ne=ne.next}while(ne!==null&&ne!==w);U===null?N=u:U.next=L,ga(u,s.memoizedState)||(Co=!0),s.memoizedState=u,s.baseState=N,s.baseQueue=U,c.lastRenderedState=u}if(o=c.interleaved,o!==null){g=o;do w=g.lane,rn.lanes|=w,Us|=w,g=g.next;while(g!==o)}else g===null&&(c.lanes=0);return[s.memoizedState,c.dispatch]}function Qf(o){var s=Jo(),c=s.queue;if(c===null)throw Error(n(311));c.lastRenderedReducer=o;var u=c.dispatch,g=c.pending,w=s.memoizedState;if(g!==null){c.pending=null;var N=g=g.next;do w=o(w,N.action),N=N.next;while(N!==g);ga(w,s.memoizedState)||(Co=!0),s.memoizedState=w,s.baseQueue===null&&(s.baseState=w),c.lastRenderedState=w}return[w,u]}function rx(){}function sx(o,s){var c=rn,u=Jo(),g=s(),w=!ga(u.memoizedState,g);if(w&&(u.memoizedState=g,Co=!0),u=u.queue,Zf(cx.bind(null,c,u,o),[o]),u.getSnapshot!==s||w||Un!==null&&Un.memoizedState.tag&1){if(c.flags|=2048,ec(9,lx.bind(null,c,u,g,s),void 0,null),$n===null)throw Error(n(349));(Fs&30)!==0||ix(c,s,g)}return g}function ix(o,s,c){o.flags|=16384,o={getSnapshot:s,value:c},s=rn.updateQueue,s===null?(s={lastEffect:null,stores:null},rn.updateQueue=s,s.stores=[o]):(c=s.stores,c===null?s.stores=[o]:c.push(o))}function lx(o,s,c,u){s.value=c,s.getSnapshot=u,dx(s)&&ux(o)}function cx(o,s,c){return c(function(){dx(s)&&ux(o)})}function dx(o){var s=o.getSnapshot;o=o.value;try{var c=s();return!ga(o,c)}catch{return!0}}function ux(o){var s=gr(o,1);s!==null&&ba(s,o,1,-1)}function px(o){var s=Ka();return typeof o=="function"&&(o=o()),s.memoizedState=s.baseState=o,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Jl,lastRenderedState:o},s.queue=o,o=o.dispatch=yP.bind(null,rn,o),[s.memoizedState,o]}function ec(o,s,c,u){return o={tag:o,create:s,destroy:c,deps:u,next:null},s=rn.updateQueue,s===null?(s={lastEffect:null,stores:null},rn.updateQueue=s,s.lastEffect=o.next=o):(c=s.lastEffect,c===null?s.lastEffect=o.next=o:(u=c.next,c.next=o,o.next=u,s.lastEffect=o)),o}function fx(){return Jo().memoizedState}function Fd(o,s,c,u){var g=Ka();rn.flags|=o,g.memoizedState=ec(1|s,c,void 0,u===void 0?null:u)}function Ud(o,s,c,u){var g=Jo();u=u===void 0?null:u;var w=void 0;if(In!==null){var N=In.memoizedState;if(w=N.destroy,u!==null&&Wf(u,N.deps)){g.memoizedState=ec(s,c,w,u);return}}rn.flags|=o,g.memoizedState=ec(1|s,c,w,u)}function mx(o,s){return Fd(8390656,8,o,s)}function Zf(o,s){return Ud(2048,8,o,s)}function hx(o,s){return Ud(4,2,o,s)}function gx(o,s){return Ud(4,4,o,s)}function yx(o,s){if(typeof s=="function")return o=o(),s(o),function(){s(null)};if(s!=null)return o=o(),s.current=o,function(){s.current=null}}function vx(o,s,c){return c=c!=null?c.concat([o]):null,Ud(4,4,yx.bind(null,s,o),c)}function Xf(){}function xx(o,s){var c=Jo();s=s===void 0?null:s;var u=c.memoizedState;return u!==null&&s!==null&&Wf(s,u[1])?u[0]:(c.memoizedState=[o,s],o)}function wx(o,s){var c=Jo();s=s===void 0?null:s;var u=c.memoizedState;return u!==null&&s!==null&&Wf(s,u[1])?u[0]:(o=o(),c.memoizedState=[o,s],o)}function bx(o,s,c){return(Fs&21)===0?(o.baseState&&(o.baseState=!1,Co=!0),o.memoizedState=c):(ga(c,s)||(c=Xe(),rn.lanes|=c,Us|=c,o.baseState=!0),s)}function hP(o,s){var c=Ot;Ot=c!==0&&4>c?c:4,o(!0);var u=qf.transition;qf.transition={};try{o(!1),s()}finally{Ot=c,qf.transition=u}}function _x(){return Jo().memoizedState}function gP(o,s,c){var u=ns(o);if(c={lane:u,action:c,hasEagerState:!1,eagerState:null,next:null},kx(o))Cx(s,c);else if(c=ex(o,s,c,u),c!==null){var g=fo();ba(c,o,u,g),Sx(c,s,u)}}function yP(o,s,c){var u=ns(o),g={lane:u,action:c,hasEagerState:!1,eagerState:null,next:null};if(kx(o))Cx(s,g);else{var w=o.alternate;if(o.lanes===0&&(w===null||w.lanes===0)&&(w=s.lastRenderedReducer,w!==null))try{var N=s.lastRenderedState,L=w(N,c);if(g.hasEagerState=!0,g.eagerState=L,ga(L,N)){var U=s.interleaved;U===null?(g.next=g,Uf(s)):(g.next=U.next,U.next=g),s.interleaved=g;return}}catch{}c=ex(o,s,g,u),c!==null&&(g=fo(),ba(c,o,u,g),Sx(c,s,u))}}function kx(o){var s=o.alternate;return o===rn||s!==null&&s===rn}function Cx(o,s){Zl=Dd=!0;var c=o.pending;c===null?s.next=s:(s.next=c.next,c.next=s),o.pending=s}function Sx(o,s,c){if((c&4194240)!==0){var u=s.lanes;u&=o.pendingLanes,c|=u,s.lanes=c,yn(o,c)}}var $d={readContext:Xo,useCallback:no,useContext:no,useEffect:no,useImperativeHandle:no,useInsertionEffect:no,useLayoutEffect:no,useMemo:no,useReducer:no,useRef:no,useState:no,useDebugValue:no,useDeferredValue:no,useTransition:no,useMutableSource:no,useSyncExternalStore:no,useId:no,unstable_isNewReconciler:!1},vP={readContext:Xo,useCallback:function(o,s){return Ka().memoizedState=[o,s===void 0?null:s],o},useContext:Xo,useEffect:mx,useImperativeHandle:function(o,s,c){return c=c!=null?c.concat([o]):null,Fd(4194308,4,yx.bind(null,s,o),c)},useLayoutEffect:function(o,s){return Fd(4194308,4,o,s)},useInsertionEffect:function(o,s){return Fd(4,2,o,s)},useMemo:function(o,s){var c=Ka();return s=s===void 0?null:s,o=o(),c.memoizedState=[o,s],o},useReducer:function(o,s,c){var u=Ka();return s=c!==void 0?c(s):s,u.memoizedState=u.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},u.queue=o,o=o.dispatch=gP.bind(null,rn,o),[u.memoizedState,o]},useRef:function(o){var s=Ka();return o={current:o},s.memoizedState=o},useState:px,useDebugValue:Xf,useDeferredValue:function(o){return Ka().memoizedState=o},useTransition:function(){var o=px(!1),s=o[0];return o=hP.bind(null,o[1]),Ka().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,c){var u=rn,g=Ka();if(tn){if(c===void 0)throw Error(n(407));c=c()}else{if(c=s(),$n===null)throw Error(n(349));(Fs&30)!==0||ix(u,s,c)}g.memoizedState=c;var w={value:c,getSnapshot:s};return g.queue=w,mx(cx.bind(null,u,w,o),[o]),u.flags|=2048,ec(9,lx.bind(null,u,w,c,s),void 0,null),c},useId:function(){var o=Ka(),s=$n.identifierPrefix;if(tn){var c=hr,u=mr;c=(u&~(1<<32-Gn(u)-1)).toString(32)+c,s=":"+s+"R"+c,c=Xl++,0<c&&(s+="H"+c.toString(32)),s+=":"}else c=mP++,s=":"+s+"r"+c.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},xP={readContext:Xo,useCallback:xx,useContext:Xo,useEffect:Zf,useImperativeHandle:vx,useInsertionEffect:hx,useLayoutEffect:gx,useMemo:wx,useReducer:Yf,useRef:fx,useState:function(){return Yf(Jl)},useDebugValue:Xf,useDeferredValue:function(o){var s=Jo();return bx(s,In.memoizedState,o)},useTransition:function(){var o=Yf(Jl)[0],s=Jo().memoizedState;return[o,s]},useMutableSource:rx,useSyncExternalStore:sx,useId:_x,unstable_isNewReconciler:!1},wP={readContext:Xo,useCallback:xx,useContext:Xo,useEffect:Zf,useImperativeHandle:vx,useInsertionEffect:hx,useLayoutEffect:gx,useMemo:wx,useReducer:Qf,useRef:fx,useState:function(){return Qf(Jl)},useDebugValue:Xf,useDeferredValue:function(o){var s=Jo();return In===null?s.memoizedState=o:bx(s,In.memoizedState,o)},useTransition:function(){var o=Qf(Jl)[0],s=Jo().memoizedState;return[o,s]},useMutableSource:rx,useSyncExternalStore:sx,useId:_x,unstable_isNewReconciler:!1};function va(o,s){if(o&&o.defaultProps){s=O({},s),o=o.defaultProps;for(var c in o)s[c]===void 0&&(s[c]=o[c]);return s}return s}function Jf(o,s,c,u){s=o.memoizedState,c=c(u,s),c=c==null?s:O({},s,c),o.memoizedState=c,o.lanes===0&&(o.updateQueue.baseState=c)}var zd={isMounted:function(o){return(o=o._reactInternals)?hn(o)===o:!1},enqueueSetState:function(o,s,c){o=o._reactInternals;var u=fo(),g=ns(o),w=yr(u,g);w.payload=s,c!=null&&(w.callback=c),s=Xr(o,w,g),s!==null&&(ba(s,o,g,u),Rd(s,o,g))},enqueueReplaceState:function(o,s,c){o=o._reactInternals;var u=fo(),g=ns(o),w=yr(u,g);w.tag=1,w.payload=s,c!=null&&(w.callback=c),s=Xr(o,w,g),s!==null&&(ba(s,o,g,u),Rd(s,o,g))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var c=fo(),u=ns(o),g=yr(c,u);g.tag=2,s!=null&&(g.callback=s),s=Xr(o,g,u),s!==null&&(ba(s,o,u,c),Rd(s,o,u))}};function Nx(o,s,c,u,g,w,N){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(u,w,N):s.prototype&&s.prototype.isPureReactComponent?!$l(c,u)||!$l(g,w):!0}function Px(o,s,c){var u=!1,g=Yr,w=s.contextType;return typeof w=="object"&&w!==null?w=Xo(w):(g=ko(s)?Rs:to.current,u=s.contextTypes,w=(u=u!=null)?Ai(o,g):Yr),s=new s(c,w),o.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=zd,o.stateNode=s,s._reactInternals=o,u&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=g,o.__reactInternalMemoizedMaskedChildContext=w),s}function Ax(o,s,c,u){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(c,u),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(c,u),s.state!==o&&zd.enqueueReplaceState(s,s.state,null)}function em(o,s,c,u){var g=o.stateNode;g.props=c,g.state=o.memoizedState,g.refs={},$f(o);var w=s.contextType;typeof w=="object"&&w!==null?g.context=Xo(w):(w=ko(s)?Rs:to.current,g.context=Ai(o,w)),g.state=o.memoizedState,w=s.getDerivedStateFromProps,typeof w=="function"&&(Jf(o,s,w,c),g.state=o.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(s=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),s!==g.state&&zd.enqueueReplaceState(g,g.state,null),Od(o,c,g,u),g.state=o.memoizedState),typeof g.componentDidMount=="function"&&(o.flags|=4194308)}function Li(o,s){try{var c="",u=s;do c+=xe(u),u=u.return;while(u);var g=c}catch(w){g=` 8Error generating stack: `+w.message+` 9`+w.stack}return{value:o,source:s,stack:g,digest:null}}function tm(o,s,c){return{value:o,source:null,stack:c??null,digest:s??null}}function nm(o,s){try{console.error(s.value)}catch(c){setTimeout(function(){throw c})}}var bP=typeof WeakMap=="function"?WeakMap:Map;function Tx(o,s,c){c=yr(-1,c),c.tag=3,c.payload={element:null};var u=s.value;return c.callback=function(){Kd||(Kd=!0,ym=u),nm(o,s)},c}function jx(o,s,c){c=yr(-1,c),c.tag=3;var u=o.type.getDerivedStateFromError;if(typeof u=="function"){var g=s.value;c.payload=function(){return u(g)},c.callback=function(){nm(o,s)}}var w=o.stateNode;return w!==null&&typeof w.componentDidCatch=="function"&&(c.callback=function(){nm(o,s),typeof u!="function"&&(es===null?es=new Set([this]):es.add(this));var N=s.stack;this.componentDidCatch(s.value,{componentStack:N!==null?N:""})}),c}function Ix(o,s,c){var u=o.pingCache;if(u===null){u=o.pingCache=new bP;var g=new Set;u.set(s,g)}else g=u.get(s),g===void 0&&(g=new Set,u.set(s,g));g.has(c)||(g.add(c),o=MP.bind(null,o,s,c),s.then(o,o))}function Ex(o){do{var s;if((s=o.tag===13)&&(s=o.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return o;o=o.return}while(o!==null);return null}function Rx(o,s,c,u,g){return(o.mode&1)===0?(o===s?o.flags|=65536:(o.flags|=128,c.flags|=131072,c.flags&=-52805,c.tag===1&&(c.alternate===null?c.tag=17:(s=yr(-1,1),s.tag=2,Xr(c,s,1))),c.lanes|=1),o):(o.flags|=65536,o.lanes=g,o)}var _P=E.ReactCurrentOwner,Co=!1;function po(o,s,c,u){s.child=o===null?Jv(s,null,c,u):Ei(s,o.child,c,u)}function Ox(o,s,c,u,g){c=c.render;var w=s.ref;return Oi(s,g),u=Gf(o,s,c,u,w,g),c=Kf(),o!==null&&!Co?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~g,vr(o,s,g)):(tn&&c&&jf(s),s.flags|=1,po(o,s,u,g),s.child)}function Mx(o,s,c,u,g){if(o===null){var w=c.type;return typeof w=="function"&&!Cm(w)&&w.defaultProps===void 0&&c.compare===null&&c.defaultProps===void 0?(s.tag=15,s.type=w,Lx(o,s,w,u,g)):(o=eu(c.type,null,u,s,s.mode,g),o.ref=s.ref,o.return=s,s.child=o)}if(w=o.child,(o.lanes&g)===0){var N=w.memoizedProps;if(c=c.compare,c=c!==null?c:$l,c(N,u)&&o.ref===s.ref)return vr(o,s,g)}return s.flags|=1,o=as(w,u),o.ref=s.ref,o.return=s,s.child=o}function Lx(o,s,c,u,g){if(o!==null){var w=o.memoizedProps;if($l(w,u)&&o.ref===s.ref)if(Co=!1,s.pendingProps=u=w,(o.lanes&g)!==0)(o.flags&131072)!==0&&(Co=!0);else return s.lanes=o.lanes,vr(o,s,g)}return om(o,s,c,u,g)}function Dx(o,s,c){var u=s.pendingProps,g=u.children,w=o!==null?o.memoizedState:null;if(u.mode==="hidden")if((s.mode&1)===0)s.memoizedState={baseLanes:0,cachePool:null,transitions:null},qt(Fi,Do),Do|=c;else{if((c&1073741824)===0)return o=w!==null?w.baseLanes|c:c,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,qt(Fi,Do),Do|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},u=w!==null?w.baseLanes:c,qt(Fi,Do),Do|=u}else w!==null?(u=w.baseLanes|c,s.memoizedState=null):u=c,qt(Fi,Do),Do|=u;return po(o,s,g,c),s.child}function Fx(o,s){var c=s.ref;(o===null&&c!==null||o!==null&&o.ref!==c)&&(s.flags|=512,s.flags|=2097152)}function om(o,s,c,u,g){var w=ko(c)?Rs:to.current;return w=Ai(s,w),Oi(s,g),c=Gf(o,s,c,u,w,g),u=Kf(),o!==null&&!Co?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~g,vr(o,s,g)):(tn&&u&&jf(s),s.flags|=1,po(o,s,c,g),s.child)}function Ux(o,s,c,u,g){if(ko(c)){var w=!0;Sd(s)}else w=!1;if(Oi(s,g),s.stateNode===null)Vd(o,s),Px(s,c,u),em(s,c,u,g),u=!0;else if(o===null){var N=s.stateNode,L=s.memoizedProps;N.props=L;var U=N.context,ne=c.contextType;typeof ne=="object"&&ne!==null?ne=Xo(ne):(ne=ko(c)?Rs:to.current,ne=Ai(s,ne));var ve=c.getDerivedStateFromProps,_e=typeof ve=="function"||typeof N.getSnapshotBeforeUpdate=="function";_e||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.c
vendor: 8,095 bytes, line 9
9omponentWillReceiveProps!="function"||(L!==u||U!==ne)&&Ax(s,N,u,ne),Zr=!1;var fe=s.memoizedState;N.state=fe,Od(s,u,N,g),U=s.memoizedState,L!==u||fe!==U||_o.current||Zr?(typeof ve=="function"&&(Jf(s,c,ve,u),U=s.memoizedState),(L=Zr||Nx(s,c,L,u,fe,U,ne))?(_e||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||(typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount()),typeof N.componentDidMount=="function"&&(s.flags|=4194308)):(typeof N.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=u,s.memoizedState=U),N.props=u,N.state=U,N.context=ne,u=L):(typeof N.componentDidMount=="function"&&(s.flags|=4194308),u=!1)}else{N=s.stateNode,tx(o,s),L=s.memoizedProps,ne=s.type===s.elementType?L:va(s.type,L),N.props=ne,_e=s.pendingProps,fe=N.context,U=c.contextType,typeof U=="object"&&U!==null?U=Xo(U):(U=ko(c)?Rs:to.current,U=Ai(s,U));var Me=c.getDerivedStateFromProps;(ve=typeof Me=="function"||typeof N.getSnapshotBeforeUpdate=="function")||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||(L!==_e||fe!==U)&&Ax(s,N,u,U),Zr=!1,fe=s.memoizedState,N.state=fe,Od(s,u,N,g);var $e=s.memoizedState;L!==_e||fe!==$e||_o.current||Zr?(typeof Me=="function"&&(Jf(s,c,Me,u),$e=s.memoizedState),(ne=Zr||Nx(s,c,ne,u,fe,$e,U)||!1)?(ve||typeof N.UNSAFE_componentWillUpdate!="function"&&typeof N.componentWillUpdate!="function"||(typeof N.componentWillUpdate=="function"&&N.componentWillUpdate(u,$e,U),typeof N.UNSAFE_componentWillUpdate=="function"&&N.UNSAFE_componentWillUpdate(u,$e,U)),typeof N.componentDidUpdate=="function"&&(s.flags|=4),typeof N.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof N.componentDidUpdate!="function"||L===o.memoizedProps&&fe===o.memoizedState||(s.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||L===o.memoizedProps&&fe===o.memoizedState||(s.flags|=1024),s.memoizedProps=u,s.memoizedState=$e),N.props=u,N.state=$e,N.context=U,u=ne):(typeof N.componentDidUpdate!="function"||L===o.memoizedProps&&fe===o.memoizedState||(s.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||L===o.memoizedProps&&fe===o.memoizedState||(s.flags|=1024),u=!1)}return am(o,s,c,u,w,g)}function am(o,s,c,u,g,w){Fx(o,s);var N=(s.flags&128)!==0;if(!u&&!N)return g&&Hv(s,c,!1),vr(o,s,w);u=s.stateNode,_P.current=s;var L=N&&typeof c.getDerivedStateFromError!="function"?null:u.render();return s.flags|=1,o!==null&&N?(s.child=Ei(s,o.child,null,w),s.child=Ei(s,null,L,w)):po(o,s,L,w),s.memoizedState=u.state,g&&Hv(s,c,!0),s.child}function $x(o){var s=o.stateNode;s.pendingContext?Bv(o,s.pendingContext,s.pendingContext!==s.context):s.context&&Bv(o,s.context,!1),zf(o,s.containerInfo)}function zx(o,s,c,u,g){return Ii(),Of(g),s.flags|=256,po(o,s,c,u),s.child}var rm={dehydrated:null,treeContext:null,retryLane:0};function sm(o){return{baseLanes:o,cachePool:null,transitions:null}}function Bx(o,s,c){var u=s.pendingProps,g=an.current,w=!1,N=(s.flags&128)!==0,L;if((L=N)||(L=o!==null&&o.memoizedState===null?!1:(g&2)!==0),L?(w=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&(g|=1),qt(an,g&1),o===null)return Rf(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?((s.mode&1)===0?s.lanes=1:o.data==="$!"?s.lanes=8:s.lanes=1073741824,null):(N=u.children,o=u.fallback,w?(u=s.mode,w=s.child,N={mode:"hidden",children:N},(u&1)===0&&w!==null?(w.childLanes=0,w.pendingProps=N):w=tu(N,u,0,null),o=Vs(o,u,c,null),w.return=s,o.return=s,w.sibling=o,s.child=w,s.child.memoizedState=sm(c),s.memoizedState=rm,o):im(s,N));if(g=o.memoizedState,g!==null&&(L=g.dehydrated,L!==null))return kP(o,s,N,u,L,g,c);if(w){w=u.fallback,N=s.mode,g=o.child,L=g.sibling;var U={mode:"hidden",children:u.children};return(N&1)===0&&s.child!==g?(u=s.child,u.childLanes=0,u.pendingProps=U,s.deletions=null):(u=as(g,U),u.subtreeFlags=g.subtreeFlags&14680064),L!==null?w=as(L,w):(w=Vs(w,N,c,null),w.flags|=2),w.return=s,u.return=s,u.sibling=w,s.child=u,u=w,w=s.child,N=o.child.memoizedState,N=N===null?sm(c):{baseLanes:N.baseLanes|c,cachePool:null,transitions:N.transitions},w.memoizedState=N,w.childLanes=o.childLanes&~c,s.memoizedState=rm,u}return w=o.child,o=w.sibling,u=as(w,{mode:"visible",children:u.children}),(s.mode&1)===0&&(u.lanes=c),u.return=s,u.sibling=null,o!==null&&(c=s.deletions,c===null?(s.deletions=[o],s.flags|=16):c.push(o)),s.child=u,s.memoizedState=null,u}function im(o,s){return s=tu({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function Bd(o,s,c,u){return u!==null&&Of(u),Ei(s,o.child,null,c),o=im(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function kP(o,s,c,u,g,w,N){if(c)return s.flags&256?(s.flags&=-257,u=tm(Error(n(422))),Bd(o,s,N,u)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(w=u.fallback,g=s.mode,u=tu({mode:"visible",children:u.children},g,0,null),w=Vs(w,g,N,null),w.flags|=2,u.return=s,w.return=s,u.sibling=w,s.child=u,(s.mode&1)!==0&&Ei(s,o.child,null,N),s.child.memoizedState=sm(N),s.memoizedState=rm,w);if((s.mode&1)===0)return Bd(o,s,N,null);if(g.data==="$!"){if(u=g.nextSibling&&g.nextSibling.dataset,u)var L=u.dgst;return u=L,w=Error(n(419)),u=tm(w,u,void 0),Bd(o,s,N,u)}if(L=(N&o.childLanes)!==0,Co||L){if(u=$n,u!==null){switch(N&-N){case 4:g=2;break;case 16:g=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:g=32;break;case 536870912:g=268435456;break;default:g=0}g=(g&(u.suspendedLanes|N))!==0?0:g,g!==0&&g!==w.retryLane&&(w.retryLane=g,gr(o,g),ba(u,o,g,-1))}return km(),u=tm(Error(n(421))),Bd(o,s,N,u)}return g.data==="$?"?(s.flags|=128,s.child=o.child,s=LP.bind(null,o),g._reactRetry=s,null):(o=w.treeContext,Lo=Gr(g.nextSibling),Mo=s,tn=!0,ya=null,o!==null&&(Qo[Zo++]=mr,Qo[Zo++]=hr,Qo[Zo++]=Os,mr=o.id,hr=o.overflow,Os=s),s=im(s,u.children),s.flags|=4096,s)}function Vx(o,s,c){o.lanes|=s;var u=o.alternate;u!==null&&(u.lanes|=s),Ff(o.return,s,c)}function lm(o,s,c,u,g){var w=o.memoizedState;w===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:u,tail:c,tailMode:g}:(w.isBackwards=s,w.rendering=null,w.renderingStartTime=0,w.last=u,w.tail=c,w.tailMode=g)}function Hx(o,s,c){var u=s.pendingProps,g=u.revealOrder,w=u.tail;if(po(o,s,u.children,c),u=an.current,(u&2)!==0)u=u&1|2,s.flags|=128;else{if(o!==null&&(o.flags&128)!==0)e:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&Vx(o,c,s);else if(o.tag===19)Vx(o,c,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}u&=1}if(qt(an,u),(s.mode&1)===0)s.memoizedState=null;else switch(g){case"forwards":for(c=s.child,g=null;c!==null;)o=c.alternate,o!==null&&Md(o)===null&&(g=c),c=c.sibling;c=g,c===null?(g=s.child,s.child=null):(g=c.sibling,c.sibling=null),lm(s,!1,g,c,w);break;case"backwards":for(c=null,g=s.child,s.child=null;g!==null;){if(o=g.alternate,o!==null&&Md(o)===null){s.child=g;break}o=g.sibling,g.sibling=c,c=g,g=o}lm(s,!0,c,null,w);break;case"together":lm(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Vd(o,s){(s.mode&1)===0&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function vr(o,s,c){if(o!==null&&(s.dependencies=o.dependencies),Us|=s.lanes,(c&s.childLanes)===0)return null;if(o!==null&&s.child!==o.child)throw Error(n(153));if(s.child!==null){for(o=s.child,c=as(o,o.pendingProps),s.child=c,c.return=s;o.sibling!==null;)o=o.sibling,c=c.sibling=as(o,o.pendingProps),c.return=s;c.sibling=null}return s.child}function CP(o,s,c){switch(s.tag){case 3:$x(s),Ii();break;case 5:ax(s);break;case 1:ko(s.type)&&Sd(s);break;case 4:zf(s,s.stateNode.containerInfo);break;case 10:var u=s.type._context,g=s.memoizedProps.value;qt(Id,u._currentValue),u._currentValue=g;break;case 13:if(u=s.memoizedState,u!==null)return u.dehydrated!==null?(qt(an,an.
vendor: 4,969 bytes, line 9
9current&1),s.flags|=128,null):(c&s.child.childLanes)!==0?Bx(o,s,c):(qt(an,an.current&1),o=vr(o,s,c),o!==null?o.sibling:null);qt(an,an.current&1);break;case 19:if(u=(c&s.childLanes)!==0,(o.flags&128)!==0){if(u)return Hx(o,s,c);s.flags|=128}if(g=s.memoizedState,g!==null&&(g.rendering=null,g.tail=null,g.lastEffect=null),qt(an,an.current),u)break;return null;case 22:case 23:return s.lanes=0,Dx(o,s,c)}return vr(o,s,c)}var qx,cm,Wx,Gx;qx=function(o,s){for(var c=s.child;c!==null;){if(c.tag===5||c.tag===6)o.appendChild(c.stateNode);else if(c.tag!==4&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===s)break;for(;c.sibling===null;){if(c.return===null||c.return===s)return;c=c.return}c.sibling.return=c.return,c=c.sibling}},cm=function(){},Wx=function(o,s,c,u){var g=o.memoizedProps;if(g!==u){o=s.stateNode,Ds(Ga.current);var w=null;switch(c){case"input":g=wt(o,g),u=wt(o,u),w=[];break;case"select":g=O({},g,{value:void 0}),u=O({},u,{value:void 0}),w=[];break;case"textarea":g=Et(o,g),u=Et(o,u),w=[];break;default:typeof g.onClick!="function"&&typeof u.onClick=="function"&&(o.onclick=_d)}bt(c,u);var N;c=null;for(ne in g)if(!u.hasOwnProperty(ne)&&g.hasOwnProperty(ne)&&g[ne]!=null)if(ne==="style"){var L=g[ne];for(N in L)L.hasOwnProperty(N)&&(c||(c={}),c[N]="")}else ne!=="dangerouslySetInnerHTML"&&ne!=="children"&&ne!=="suppressContentEditableWarning"&&ne!=="suppressHydrationWarning"&&ne!=="autoFocus"&&(i.hasOwnProperty(ne)?w||(w=[]):(w=w||[]).push(ne,null));for(ne in u){var U=u[ne];if(L=g?.[ne],u.hasOwnProperty(ne)&&U!==L&&(U!=null||L!=null))if(ne==="style")if(L){for(N in L)!L.hasOwnProperty(N)||U&&U.hasOwnProperty(N)||(c||(c={}),c[N]="");for(N in U)U.hasOwnProperty(N)&&L[N]!==U[N]&&(c||(c={}),c[N]=U[N])}else c||(w||(w=[]),w.push(ne,c)),c=U;else ne==="dangerouslySetInnerHTML"?(U=U?U.__html:void 0,L=L?L.__html:void 0,U!=null&&L!==U&&(w=w||[]).push(ne,U)):ne==="children"?typeof U!="string"&&typeof U!="number"||(w=w||[]).push(ne,""+U):ne!=="suppressContentEditableWarning"&&ne!=="suppressHydrationWarning"&&(i.hasOwnProperty(ne)?(U!=null&&ne==="onScroll"&&Gt("scroll",o),w||L===U||(w=[])):(w=w||[]).push(ne,U))}c&&(w=w||[]).push("style",c);var ne=w;(s.updateQueue=ne)&&(s.flags|=4)}},Gx=function(o,s,c,u){c!==u&&(s.flags|=4)};function tc(o,s){if(!tn)switch(o.tailMode){case"hidden":s=o.tail;for(var c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?o.tail=null:c.sibling=null;break;case"collapsed":c=o.tail;for(var u=null;c!==null;)c.alternate!==null&&(u=c),c=c.sibling;u===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:u.sibling=null}}function oo(o){var s=o.alternate!==null&&o.alternate.child===o.child,c=0,u=0;if(s)for(var g=o.child;g!==null;)c|=g.lanes|g.childLanes,u|=g.subtreeFlags&14680064,u|=g.flags&14680064,g.return=o,g=g.sibling;else for(g=o.child;g!==null;)c|=g.lanes|g.childLanes,u|=g.subtreeFlags,u|=g.flags,g.return=o,g=g.sibling;return o.subtreeFlags|=u,o.childLanes=c,s}function SP(o,s,c){var u=s.pendingProps;switch(If(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return oo(s),null;case 1:return ko(s.type)&&Cd(),oo(s),null;case 3:return u=s.stateNode,Mi(),Kt(_o),Kt(to),Hf(),u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),(o===null||o.child===null)&&(Td(s)?s.flags|=4:o===null||o.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,ya!==null&&(wm(ya),ya=null))),cm(o,s),oo(s),null;case 5:Bf(s);var g=Ds(Ql.current);if(c=s.type,o!==null&&s.stateNode!=null)Wx(o,s,c,u,g),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!u){if(s.stateNode===null)throw Error(n(166));return oo(s),null}if(o=Ds(Ga.current),Td(s)){u=s.stateNode,c=s.type;var w=s.memoizedProps;switch(u[Wa]=s,u[ql]=w,o=(s.mode&1)!==0,c){case"dialog":Gt("cancel",u),Gt("close",u);break;case"iframe":case"object":case"embed":Gt("load",u);break;case"video":case"audio":for(g=0;g<Bl.length;g++)Gt(Bl[g],u);break;case"source":Gt("error",u);break;case"img":case"image":case"link":Gt("error",u),Gt("load",u);break;case"details":Gt("toggle",u);break;case"input":tt(u,w),Gt("invalid",u);break;case"select":u._wrapperState={wasMultiple:!!w.multiple},Gt("invalid",u);break;case"textarea":en(u,w),Gt("invalid",u)}bt(c,w),g=null;for(var N in w)if(w.hasOwnProperty(N)){var L=w[N];N==="children"?typeof L=="string"?u.textContent!==L&&(w.suppressHydrationWarning!==!0&&bd(u.textContent,L,o),g=["children",L]):typeof L=="number"&&u.textContent!==""+L&&(w.suppressHydrationWarning!==!0&&bd(u.textContent,L,o),g=["children",""+L]):i.hasOwnProperty(N)&&L!=null&&N==="onScroll"&&Gt("scroll",u)}switch(c){case"input":Ge(u),fn(u,w,!0);break;case"textarea":Ge(u),Ze(u);break;case"select":case"option":break;default:typeof w.onClick=="function"&&(u.onclick=_d)}u=g,s.updateQueue=u,u!==null&&(s.flags|=4)}else{N=g.nodeType===9?g:g.ownerDocument,o==="http://www.w3.org/1999/xhtml"&&(o=Ln(c)),o==="http://www.w3.org/1999/xhtml"?c==="script"?(o=N.createElement("div"),o.innerHTML="<script><\/script>
9",o=o.removeChild(o.firstChild)):typeof u.is=="string"?o=N.createElement(c,{is:u.is}):(o=N.createElement(c),c==="select"&&(N=o,u.multiple?N.multiple=!0:u.size&&(N.size=u.size))):o=N.createElementNS(o,c),o[Wa]=s,o[ql]=u,qx(o,s,!1,!1),s.stateNode=o;e:{switch(N=$t(c,u),c){case"dialog":Gt("cancel",o),Gt("close",o),g=u;break;case"iframe":case"object":case"embed":Gt("load",o),g=u;break;case"video":case"audio":for(g=0;g<Bl.length;g++)Gt(Bl[g],o);g=u;break;case"source":Gt("error",o),g=u;break;case"img":case"image":case"link":Gt("error",o),Gt("load",o),g=u;break;case"details":Gt("toggle",o),g=u;break;case"input":tt(o,u),g=wt(o,u),Gt("invalid",o);break;case"option":g=u;break;case"select":o._wrapperState={wasMultiple:!!u.multiple},g=O({},u,{value:void 0}),Gt("invalid",o);break;case"textarea":en(o,u),g=Et(o,u),Gt("invalid",o);break;default:g=u}bt(c,g),L=g;for(w in L)if(L.hasOwnProperty(w)){var U=L[w];w==="style"?mn(o,U):w==="dangerouslySetInnerHTML"?(U=U?U.__html:void 0,U!=null&&vo(o,U)):w==="children"?typeof U=="string"?(c!=="textarea"||U!=="")&&we(o,U):typeof U=="number"&&we(o,""+U):w!=="suppressContentEditableWarning"&&w!=="suppressHydrationWarning"&&w!=="autoFocus"&&(i.hasOwnProperty(w)?U!=null&&w==="onScroll"&&Gt("scroll",o):U!=null&&j(o,w,U,N))}switch(c){case"input":Ge(o),fn(o,u,!1);break;case"textarea":Ge(o),Ze(o);break;case"option":u.value!=null&&o.setAttribute("value",""+X(u.value));break;case"select":o.multiple=!!u.multiple,w=u.value,w!=null?It(o,!!u.multiple,w,!1):u.defaultValue!=null&&It(o,!!u.multiple,u.defaultValue,!0);break;default:typeof g.onClick=="function"&&(o.onclick=_d)}switch(c){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}}u&&(s.flags|=4)}s.ref!==null&&(s.flags|=512,s.flags|=2097152)}return oo(s),null;case 6:if(o&&s.stateNode!=null)Gx(o,s,o.memoizedProps,u);else{if(typeof u!="string"&&s.stateNode===null)throw Error(n(166));if(c=Ds(Ql.current),Ds(Ga.current),Td(s)){if(u=s.stateNode,c=s.memoizedProps,u[Wa]=s,(w=u.nodeValue!==c)&&(o=Mo,o!==null))switch(o.tag){case 3:bd(u.nodeValue,c,(o.mode&1)!==0);break;case 5:o.memoizedProps.suppressHydrationWarning!==!0&&bd(u.nodeValue,c,(o.mode&1)!==0)}w&&(s.flags|=4)}else u=(c.nodeType===9?c:c.ownerDocument).createTextNode(u),u[Wa]=s,s.stateNode=u}return oo(s),null;case 13:if(Kt(an),u=s.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(tn&&Lo!==null&&(s.mode&1)!==0&&(s.flags&128)===0)Qv(),Ii(),s.flags|=98560,w=!1;else if(w=Td(s),u!==null&&u.dehydrated!==null){if(o===null){if(!w)throw Error(n(318));if(w=s.memoizedState,w=w!==null?w.dehydrated:null,!w)throw Error(n(317));w[Wa]=s}else Ii(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;oo(s),w=!1}else ya!==null&&(wm(ya),ya=null),w=!0;if(!w)return s.flags&65536?s:null}return(s.flags&128)!==0?(s.lanes=c,s):(u=u!==null,u!==(o!==null&&o.memoizedState!==null)&&u&&(s.child.flags|=8192,(s.mode&1)!==0&&(o===null||(an.current&1)!==0?En===0&&(En=3):km())),s.updateQueue!==null&&(s.flags|=4),oo(s),null);case 4:return Mi(),cm(o,s),o===null&&Vl(s.stateNode.containerInfo),oo(s),null;case 10:return Df(s.type._context),oo(s),null;case 17:return ko(s.type)&&Cd(),oo(s),null;case 19:if(Kt(an),w=s.memoizedState,w===null)return oo(s),null;if(u=(s.flags&128)!==0,N=w.rendering,N===null)if(u)tc(w,!1);else{if(En!==0||o!==null&&(o.flags&128)!==0)for(o=s.child;o!==null;){if(N=Md(o),N!==null){for(s.flags|=128,tc(w,!1),u=N.updateQueue,u!==null&&(s.updateQueue=u,s.flags|=4),s.subtreeFlags=0,u=c,c=s.child;c!==null;)w=c,o=u,w.flags&=14680066,N=w.alternate,N===null?(w.childLanes=0,w.lanes=o,w.child=null,w.subtreeFlags=0,w.memoizedProps=null,w.memoizedState=null,w.updateQueue=null,w.dependencies=null,w.stateNode=null):(w.childLanes=N.childLanes,w.lanes=N.lanes,w.child=N.child,w.subtreeFlags=0,w.deletions=null,w.memoizedProps=N.memoizedProps,w.memoizedState=N.memoizedState,w.updateQueue=N.updateQueue,w.type=N.type,o=N.dependencies,w.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext}),c=c.sibling;return qt(an,an.current&1|2),s.child}o=o.sibling}w.tail!==null&&it()>Ui&&(s.flags|=128,u=!0,tc(w,!1),s.lanes=4194304)}else{if(!u)if(o=Md(N),o!==null){if(s.flags|=128,u=!0,c=o.updateQueue,c!==null&&(s.updateQueue=c,s.flags|=4),tc(w,!0),w.tail===null&&w.tailMode==="hidden"&&!N.alternate&&!tn)return oo(s),null}else 2*it()-w.renderingStartTime>Ui&&c!==1073741824&&(s.flags|=128,u=!0,tc(w,!1),s.lanes=4194304);w.isBackwards?(N.sibling=s.child,s.child=N):(c=w.last,c!==null?c.sibling=N:s.child=N,w.last=N)}return w.tail!==null?(s=w.tail,w.rendering=s,w.tail=s.sibling,w.renderingStartTime=it(),s.sibling=null,c=an.current,qt(an,u?c&1|2:c&1),s):(oo(s),null);case 22:case 23:return _m(),u=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==u&&(s.flags|=8192),u&&(s.mode&1)!==0?(Do&1073741824)!==0&&(oo(s),s.subtreeFlags&6&&(s.flags|=8192)):oo(s),null;case 24:return null;case 25:return null}throw Error(n(156,s.tag))}function NP(o,s){switch(If(s),s.tag){case 1:return ko(s.type)&&Cd(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return Mi(),Kt(_o),Kt(to),Hf(),o=s.flags,(o&65536)!==0&&(o&128)===0?(s.flags=o&-65537|128,s):null;case 5:return Bf(s),null;case 13:if(Kt(an),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(n(340));Ii()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return Kt(an),null;case 4:return Mi(),null;case 10:return Df(s.type._context),null;case 22:case 23:return _m(),null;case 24:return null;default:return null}}var Hd=!1,ao=!1,PP=typeof WeakSet=="function"?WeakSet:Set,De=null;function Di(o,s){var c=o.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(u){pn(o,s,u)}else c.current=null}function dm(o,s,c){try{c()}catch(u){pn(o,s,u)}}var Kx=!1;
vendor: 4,107 bytes, line 9
9function AP(o,s){if(_f=dd,o=Nv(),mf(o)){if("selectionStart"in o)var c={start:o.selectionStart,end:o.selectionEnd};else e:{c=(c=o.ownerDocument)&&c.defaultView||window;var u=c.getSelection&&c.getSelection();if(u&&u.rangeCount!==0){c=u.anchorNode;var g=u.anchorOffset,w=u.focusNode;u=u.focusOffset;try{c.nodeType,w.nodeType}catch{c=null;break e}var N=0,L=-1,U=-1,ne=0,ve=0,_e=o,fe=null;t:for(;;){for(var Me;_e!==c||g!==0&&_e.nodeType!==3||(L=N+g),_e!==w||u!==0&&_e.nodeType!==3||(U=N+u),_e.nodeType===3&&(N+=_e.nodeValue.length),(Me=_e.firstChild)!==null;)fe=_e,_e=Me;for(;;){if(_e===o)break t;if(fe===c&&++ne===g&&(L=N),fe===w&&++ve===u&&(U=N),(Me=_e.nextSibling)!==null)break;_e=fe,fe=_e.parentNode}_e=Me}c=L===-1||U===-1?null:{start:L,end:U}}else c=null}c=c||{start:0,end:0}}else c=null;for(kf={focusedElem:o,selectionRange:c},dd=!1,De=s;De!==null;)if(s=De,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,De=o;else for(;De!==null;){s=De;try{var $e=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if($e!==null){var Be=$e.memoizedProps,vn=$e.memoizedState,K=s.stateNode,V=K.getSnapshotBeforeUpdate(s.elementType===s.type?Be:va(s.type,Be),vn);K.__reactInternalSnapshotBeforeUpdate=V}break;case 3:var Q=s.stateNode.containerInfo;Q.nodeType===1?Q.textContent="":Q.nodeType===9&&Q.documentElement&&Q.removeChild(Q.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Pe){pn(s,s.return,Pe)}if(o=s.sibling,o!==null){o.return=s.return,De=o;break}De=s.return}return $e=Kx,Kx=!1,$e}function nc(o,s,c){var u=s.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&o)===o){var w=g.destroy;g.destroy=void 0,w!==void 0&&dm(s,c,w)}g=g.next}while(g!==u)}}function qd(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var c=s=s.next;do{if((c.tag&o)===o){var u=c.create;c.destroy=u()}c=c.next}while(c!==s)}}function um(o){var s=o.ref;if(s!==null){var c=o.stateNode;o.tag,o=c,typeof s=="function"?s(o):s.current=o}}function Yx(o){var s=o.alternate;s!==null&&(o.alternate=null,Yx(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Wa],delete s[ql],delete s[Pf],delete s[dP],delete s[uP])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Qx(o){return o.tag===5||o.tag===3||o.tag===4}function Zx(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Qx(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function pm(o,s,c){var u=o.tag;if(u===5||u===6)o=o.stateNode,s?c.nodeType===8?c.parentNode.insertBefore(o,s):c.insertBefore(o,s):(c.nodeType===8?(s=c.parentNode,s.insertBefore(o,c)):(s=c,s.appendChild(o)),c=c._reactRootContainer,c!=null||s.onclick!==null||(s.onclick=_d));else if(u!==4&&(o=o.child,o!==null))for(pm(o,s,c),o=o.sibling;o!==null;)pm(o,s,c),o=o.sibling}function fm(o,s,c){var u=o.tag;if(u===5||u===6)o=o.stateNode,s?c.insertBefore(o,s):c.appendChild(o);else if(u!==4&&(o=o.child,o!==null))for(fm(o,s,c),o=o.sibling;o!==null;)fm(o,s,c),o=o.sibling}var Kn=null,xa=!1;function Jr(o,s,c){for(c=c.child;c!==null;)Xx(o,s,c),c=c.sibling}function Xx(o,s,c){if(xo&&typeof xo.onCommitFiberUnmount=="function")try{xo.onCommitFiberUnmount(Fa,c)}catch{}switch(c.tag){case 5:ao||Di(c,s);case 6:var u=Kn,g=xa;Kn=null,Jr(o,s,c),Kn=u,xa=g,Kn!==null&&(xa?(o=Kn,c=c.stateNode,o.nodeType===8?o.parentNode.removeChild(c):o.removeChild(c)):Kn.removeChild(c.stateNode));break;case 18:Kn!==null&&(xa?(o=Kn,c=c.stateNode,o.nodeType===8?Nf(o.parentNode,c):o.nodeType===1&&Nf(o,c),Ol(o)):Nf(Kn,c.stateNode));break;case 4:u=Kn,g=xa,Kn=c.stateNode.containerInfo,xa=!0,Jr(o,s,c),Kn=u,xa=g;break;case 0:case 11:case 14:case 15:if(!ao&&(u=c.updateQueue,u!==null&&(u=u.lastEffect,u!==null))){g=u=u.next;do{var w=g,N=w.destroy;w=w.tag,N!==void 0&&((w&2)!==0||(w&4)!==0)&&dm(c,s,N),g=g.next}
vendor: 11,868 bytes, line 9
9while(g!==u)}Jr(o,s,c);break;case 1:if(!ao&&(Di(c,s),u=c.stateNode,typeof u.componentWillUnmount=="function"))try{u.props=c.memoizedProps,u.state=c.memoizedState,u.componentWillUnmount()}catch(L){pn(c,s,L)}Jr(o,s,c);break;case 21:Jr(o,s,c);break;case 22:c.mode&1?(ao=(u=ao)||c.memoizedState!==null,Jr(o,s,c),ao=u):Jr(o,s,c);break;default:Jr(o,s,c)}}function Jx(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var c=o.stateNode;c===null&&(c=o.stateNode=new PP),s.forEach(function(u){var g=DP.bind(null,o,u);c.has(u)||(c.add(u),u.then(g,g))})}}function wa(o,s){var c=s.deletions;if(c!==null)for(var u=0;u<c.length;u++){var g=c[u];try{var w=o,N=s,L=N;e:for(;L!==null;){switch(L.tag){case 5:Kn=L.stateNode,xa=!1;break e;case 3:Kn=L.stateNode.containerInfo,xa=!0;break e;case 4:Kn=L.stateNode.containerInfo,xa=!0;break e}L=L.return}if(Kn===null)throw Error(n(160));Xx(w,N,g),Kn=null,xa=!1;var U=g.alternate;U!==null&&(U.return=null),g.return=null}catch(ne){pn(g,s,ne)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)ew(s,o),s=s.sibling}function ew(o,s){var c=o.alternate,u=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(wa(s,o),Ya(o),u&4){try{nc(3,o,o.return),qd(3,o)}catch(Be){pn(o,o.return,Be)}try{nc(5,o,o.return)}catch(Be){pn(o,o.return,Be)}}break;case 1:wa(s,o),Ya(o),u&512&&c!==null&&Di(c,c.return);break;case 5:if(wa(s,o),Ya(o),u&512&&c!==null&&Di(c,c.return),o.flags&32){var g=o.stateNode;try{we(g,"")}catch(Be){pn(o,o.return,Be)}}if(u&4&&(g=o.stateNode,g!=null)){var w=o.memoizedProps,N=c!==null?c.memoizedProps:w,L=o.type,U=o.updateQueue;if(o.updateQueue=null,U!==null)try{L==="input"&&w.type==="radio"&&w.name!=null&&Vt(g,w),$t(L,N);var ne=$t(L,w);for(N=0;N<U.length;N+=2){var ve=U[N],_e=U[N+1];ve==="style"?mn(g,_e):ve==="dangerouslySetInnerHTML"?vo(g,_e):ve==="children"?we(g,_e):j(g,ve,_e,ne)}switch(L){case"input":dn(g,w);break;case"textarea":Vo(g,w);break;case"select":var fe=g._wrapperState.wasMultiple;g._wrapperState.wasMultiple=!!w.multiple;var Me=w.value;Me!=null?It(g,!!w.multiple,Me,!1):fe!==!!w.multiple&&(w.defaultValue!=null?It(g,!!w.multiple,w.defaultValue,!0):It(g,!!w.multiple,w.multiple?[]:"",!1))}g[ql]=w}catch(Be){pn(o,o.return,Be)}}break;case 6:if(wa(s,o),Ya(o),u&4){if(o.stateNode===null)throw Error(n(162));g=o.stateNode,w=o.memoizedProps;try{g.nodeValue=w}catch(Be){pn(o,o.return,Be)}}break;case 3:if(wa(s,o),Ya(o),u&4&&c!==null&&c.memoizedState.isDehydrated)try{Ol(s.containerInfo)}catch(Be){pn(o,o.return,Be)}break;case 4:wa(s,o),Ya(o);break;case 13:wa(s,o),Ya(o),g=o.child,g.flags&8192&&(w=g.memoizedState!==null,g.stateNode.isHidden=w,!w||g.alternate!==null&&g.alternate.memoizedState!==null||(gm=it())),u&4&&Jx(o);break;case 22:if(ve=c!==null&&c.memoizedState!==null,o.mode&1?(ao=(ne=ao)||ve,wa(s,o),ao=ne):wa(s,o),Ya(o),u&8192){if(ne=o.memoizedState!==null,(o.stateNode.isHidden=ne)&&!ve&&(o.mode&1)!==0)for(De=o,ve=o.child;ve!==null;){for(_e=De=ve;De!==null;){switch(fe=De,Me=fe.child,fe.tag){case 0:case 11:case 14:case 15:nc(4,fe,fe.return);break;case 1:Di(fe,fe.return);var $e=fe.stateNode;if(typeof $e.componentWillUnmount=="function"){u=fe,c=fe.return;try{s=u,$e.props=s.memoizedProps,$e.state=s.memoizedState,$e.componentWillUnmount()}catch(Be){pn(u,c,Be)}}break;case 5:Di(fe,fe.return);break;case 22:if(fe.memoizedState!==null){ow(_e);continue}}Me!==null?(Me.return=fe,De=Me):ow(_e)}ve=ve.sibling}e:for(ve=null,_e=o;;){if(_e.tag===5){if(ve===null){ve=_e;try{g=_e.stateNode,ne?(w=g.style,typeof w.setProperty=="function"?w.setProperty("display","none","important"):w.display="none"):(L=_e.stateNode,U=_e.memoizedProps.style,N=U!=null&&U.hasOwnProperty("display")?U.display:null,L.style.display=Mt("display",N))}catch(Be){pn(o,o.return,Be)}}}else if(_e.tag===6){if(ve===null)try{_e.stateNode.nodeValue=ne?"":_e.memoizedProps}catch(Be){pn(o,o.return,Be)}}else if((_e.tag!==22&&_e.tag!==23||_e.memoizedState===null||_e===o)&&_e.child!==null){_e.child.return=_e,_e=_e.child;continue}if(_e===o)break e;for(;_e.sibling===null;){if(_e.return===null||_e.return===o)break e;ve===_e&&(ve=null),_e=_e.return}ve===_e&&(ve=null),_e.sibling.return=_e.return,_e=_e.sibling}}break;case 19:wa(s,o),Ya(o),u&4&&Jx(o);break;case 21:break;default:wa(s,o),Ya(o)}}function Ya(o){var s=o.flags;if(s&2){try{e:{for(var c=o.return;c!==null;){if(Qx(c)){var u=c;break e}c=c.return}throw Error(n(160))}switch(u.tag){case 5:var g=u.stateNode;u.flags&32&&(we(g,""),u.flags&=-33);var w=Zx(o);fm(o,w,g);break;case 3:case 4:var N=u.stateNode.containerInfo,L=Zx(o);pm(o,L,N);break;default:throw Error(n(161))}}catch(U){pn(o,o.return,U)}o.flags&=-3}s&4096&&(o.flags&=-4097)}function TP(o,s,c){De=o,tw(o)}function tw(o,s,c){for(var u=(o.mode&1)!==0;De!==null;){var g=De,w=g.child;if(g.tag===22&&u){var N=g.memoizedState!==null||Hd;if(!N){var L=g.alternate,U=L!==null&&L.memoizedState!==null||ao;L=Hd;var ne=ao;if(Hd=N,(ao=U)&&!ne)for(De=g;De!==null;)N=De,U=N.child,N.tag===22&&N.memoizedState!==null?aw(g):U!==null?(U.return=N,De=U):aw(g);for(;w!==null;)De=w,tw(w),w=w.sibling;De=g,Hd=L,ao=ne}nw(o)}else(g.subtreeFlags&8772)!==0&&w!==null?(w.return=g,De=w):nw(o)}}function nw(o){for(;De!==null;){var s=De;if((s.flags&8772)!==0){var c=s.alternate;try{if((s.flags&8772)!==0)switch(s.tag){case 0:case 11:case 15:ao||qd(5,s);break;case 1:var u=s.stateNode;if(s.flags&4&&!ao)if(c===null)u.componentDidMount();else{var g=s.elementType===s.type?c.memoizedProps:va(s.type,c.memoizedProps);u.componentDidUpdate(g,c.memoizedState,u.__reactInternalSnapshotBeforeUpdate)}var w=s.updateQueue;w!==null&&ox(s,w,u);break;case 3:var N=s.updateQueue;if(N!==null){if(c=null,s.child!==null)switch(s.child.tag){case 5:c=s.child.stateNode;break;case 1:c=s.child.stateNode}ox(s,N,c)}break;case 5:var L=s.stateNode;if(c===null&&s.flags&4){c=L;var U=s.memoizedProps;switch(s.type){case"button":case"input":case"select":case"textarea":U.autoFocus&&c.focus();break;case"img":U.src&&(c.src=U.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(s.memoizedState===null){var ne=s.alternate;if(ne!==null){var ve=ne.memoizedState;if(ve!==null){var _e=ve.dehydrated;_e!==null&&Ol(_e)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}ao||s.flags&512&&um(s)}catch(fe){pn(s,s.return,fe)}}if(s===o){De=null;break}if(c=s.sibling,c!==null){c.return=s.return,De=c;break}De=s.return}}function ow(o){for(;De!==null;){var s=De;if(s===o){De=null;break}var c=s.sibling;if(c!==null){c.return=s.return,De=c;break}De=s.return}}function aw(o){for(;De!==null;){var s=De;try{switch(s.tag){case 0:case 11:case 15:var c=s.return;try{qd(4,s)}catch(U){pn(s,c,U)}break;case 1:var u=s.stateNode;if(typeof u.componentDidMount=="function"){var g=s.return;try{u.componentDidMount()}catch(U){pn(s,g,U)}}var w=s.return;try{um(s)}catch(U){pn(s,w,U)}break;case 5:var N=s.return;try{um(s)}catch(U){pn(s,N,U)}}}catch(U){pn(s,s.return,U)}if(s===o){De=null;break}var L=s.sibling;if(L!==null){L.return=s.return,De=L;break}De=s.return}}var jP=Math.ceil,Wd=E.ReactCurrentDispatcher,mm=E.ReactCurrentOwner,ea=E.ReactCurrentBatchConfig,Pt=0,$n=null,Cn=null,Yn=0,Do=0,Fi=Kr(0),En=0,oc=null,Us=0,Gd=0,hm=0,ac=null,So=null,gm=0,Ui=1/0,xr=null,Kd=!1,ym=null,es=null,Yd=!1,ts=null,Qd=0,rc=0,vm=null,Zd=-1,Xd=0;function fo(){return(Pt&6)!==0?it():Zd!==-1?Zd:Zd=it()}function ns(o){return(o.mode&1)===0?1:(Pt&2)!==0&&Yn!==0?Yn&-Yn:fP.transition!==null?(Xd===0&&(Xd=Xe()),Xd):(o=Ot,o!==0||(o=window.event,o=o===void 0?16:sv(o.type)),o)}function ba(o,s,c,u){if(50<rc)throw rc=0,vm=null,Error(n(185));kn(o,c,u),((Pt&2)===0||o!==$n)&&(o===$n&&((Pt&2)===0&&(Gd|=c),En===4&&os(o,Yn)),No(o,u),c===1&&Pt===0&&(s.mode&1)===0&&(Ui=it()+500,Nd&&Qr()))}function No(o,s){var c=o.callbackNode;Ue(o,s);var u=Se(o,o===$n?Yn:0);if(u===0)c!==null&&As(c),o.callbackNode=null,o.callbackPriority=0;else if(s=u&-u,o.callbackPriority!==s){if(c!=null&&As(c),s===1)o.tag===0?pP(sw.bind(null,o)):qv(sw.bind(null,o)),lP(function(){(Pt&6)===0&&Qr()}),c=null;else{switch(Ie(u)){case 1:c=ur;break;case 4:c=Ts;break;case 16:c=Eo;break;case 536870912:c=Wo;break;default:c=Eo}c=mw(c,rw.bind(null,o))}o.callbackPriority=s,o.callbackNode=c}}function rw(o,s){if(Zd=-1,Xd=0,(Pt&6)!==0)throw Error(n(327));var c=o.callbackNode;if($i()&&o.callbackNode!==c)return null;var u=Se(o,o===$n?Yn:0);if(u===0)return null;if((u&30)!==0||(u&o.expiredLanes)!==0||s)s=Jd(o,u);else{s=u;var g=Pt;Pt|=2;var w=lw();($n!==o||Yn!==s)&&(xr=null,Ui=it()+500,zs(o,s));do try{RP();break}catch(L){iw(o,L)}while(!0);Lf(),Wd.current=w,Pt=g,Cn!==null?s=0:($n=null,Yn=0,s=En)}if(s!==0){if(s===2&&(g=gt(o),g!==0&&(u=g,s=xm(o,g))),s===1)throw c=oc,zs(o,0),os(o,u),No(o,it()),c;if(s===6)os(o,u);else{if(g=o.current.alternate,(u&30)===0&&!IP(g)&&(s=Jd(o,u),s===2&&(w=gt(o),w!==0&&(u=w,s=xm(o,w))),s===1))throw c=oc,zs(o,0),os(o,u),No(o,it()),c;switch(o.finishedWork=g,o.finishedLanes=u,s){case 0:case 1:throw Error(n(345));case 2:Bs(o,So,xr);break;case 3:if(os(o,u),(u&130023424)===u&&(s=gm+500-it(),10<s)){if(Se(o,0)!==0)break;if(g=o.suspendedLanes,(g&u)!==u){fo(),o.pingedLanes|=o.suspendedLanes&g;break}o.timeoutHandle=Sf(Bs.bind(null,o,So,xr),s);break}Bs(o,So,xr);break;case 4:if(os(o,u),(u&4194240)===u)break;for(s=o.eventTimes,g=-1;0<u;){var N=31-Gn(u);w=1<<N,N=s[N],N>g&&(g=N),u&=~w}if(u=g,u=it()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*jP(u/1960))-u,10<u){o.timeoutHandle=Sf(Bs.bind(null,o,So,xr),u);break}Bs(o,So,xr);break;case 5:Bs(o,So,xr);break;default:throw Error(n(329))}}}return No(o,it()),o.callbackNode===c?rw.bind(null,o):null}function xm(o,s){var c=ac;return o.current.memoizedState.isDehydrated&&(zs(o,s).flags|=256),o=Jd(o,s),o!==2&&(s=So,So=c,s!==null&&wm(s)),o}function wm(o){So===null?So=o:So.push.apply(So,o)}function IP(o){for(var s=o;;){if(s.flags&16384){var c=s.updateQueue;if(c!==null&&(c=c.stores,c!==null))for(var u=0;u<c.length;u++){var g=c[u],w=g.getSnapshot;g=g.value;try{if(!ga(w(),g))return!1}catch{return!1}}}if(c=s.child,s.subtreeFlags&16384&&c!==null)c.return=s,s=c;else{if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function os(o,s){for(s&=~hm,s&=~Gd,o.suspendedLanes|=s,o.pingedLanes&=~s,o=o.expirationTimes;0<s;){var c=31-Gn(s),u=1<<c;o[c]=-1,s&=~u}}function sw(o){if((Pt&6)!==0)throw Error(n(327));$i();var s=Se(o,0);if((s&1)===0)return No(o,it()),null;var c=Jd(o,s);if(o.tag!==0&&c===2){var u=gt(o);u!==0&&(s=u,c=xm(o,u))}if(c===1)throw c=oc,zs(o,0),os(o,s),No(o,it()),c;if(c===6)throw Error(n(345));return o.finishedWork=o.current.alternate,o.finishedLanes=s,Bs(o,So,xr),No(o,it()),null}function bm(o,s){var c=Pt;Pt|=1;try{return o(s)}finally{Pt=c,Pt===0&&(Ui=it()+500,Nd&&Qr())}}function $s(o){ts!==null&&ts.tag===0&&(Pt&6)===0&&$i();var s=Pt;Pt|=1;var c=ea.transition,u=Ot;try{if(ea.transition=null,Ot=1,o)return o()}finally{Ot=u,ea.transition=c,Pt=s,(Pt&6)===0&&Qr()}}function _m(){Do=Fi.current,Kt(Fi)}function zs(o,s){o.finishedWork=null,o.finishedLanes=0;var c=o.timeoutHandle;if(c!==-1&&(o.timeoutHandle=-1,iP(c)),Cn!==null)for(c=Cn.return;c!==null;){var u=c;switch(If(u),u.tag){case 1:u=u.type.childContextTypes,u!=null&&Cd();break;case 3:Mi(),Kt(_o),Kt(to),Hf();break;case 5:Bf(u);break;case 4:Mi();break;case 13:Kt(an);break;case 19:Kt(an);break;case 10:Df(u.type._context);break;case 22:case 23:_m()}c=c.return}if($n=o,Cn=o=as(o.current,null),Yn=Do=s,En=0,oc=null,hm=Gd=Us=0,So=ac=null,Ls!==null){for(s=0;s<Ls.length;s++)if(c=Ls[s],u=c.interleaved,u!==null){c.interleaved=null;var g=u.next,w=c.pending;if(w!==null){var N=w.next;w.next=g,u.next=N}c.pending=u}Ls=null}return o}function iw(o,s){do{var c=Cn;try{if(Lf(),Ld.current=$d,Dd){for(var u=rn.memoizedState;u!==null;){var g=u.queue;g!==null&&(g.pending=null),u=u.next}Dd=!1}if(Fs=0,Un=In=rn=null,Zl=!1,Xl=0,mm.current=null,c===null||c.return===null){En=1,oc=s,Cn=null;break}e:{var w=o,N=c.return,L=c,U=s;
vendor: 6,645 bytes, line 9
9if(s=Yn,L.flags|=32768,U!==null&&typeof U=="object"&&typeof U.then=="function"){var ne=U,ve=L,_e=ve.tag;if((ve.mode&1)===0&&(_e===0||_e===11||_e===15)){var fe=ve.alternate;fe?(ve.updateQueue=fe.updateQueue,ve.memoizedState=fe.memoizedState,ve.lanes=fe.lanes):(ve.updateQueue=null,ve.memoizedState=null)}var Me=Ex(N);if(Me!==null){Me.flags&=-257,Rx(Me,N,L,w,s),Me.mode&1&&Ix(w,ne,s),s=Me,U=ne;var $e=s.updateQueue;if($e===null){var Be=new Set;Be.add(U),s.updateQueue=Be}else $e.add(U);break e}else{if((s&1)===0){Ix(w,ne,s),km();break e}U=Error(n(426))}}else if(tn&&L.mode&1){var vn=Ex(N);if(vn!==null){(vn.flags&65536)===0&&(vn.flags|=256),Rx(vn,N,L,w,s),Of(Li(U,L));break e}}w=U=Li(U,L),En!==4&&(En=2),ac===null?ac=[w]:ac.push(w),w=N;do{switch(w.tag){case 3:w.flags|=65536,s&=-s,w.lanes|=s;var K=Tx(w,U,s);nx(w,K);break e;case 1:L=U;var V=w.type,Q=w.stateNode;if((w.flags&128)===0&&(typeof V.getDerivedStateFromError=="function"||Q!==null&&typeof Q.componentDidCatch=="function"&&(es===null||!es.has(Q)))){w.flags|=65536,s&=-s,w.lanes|=s;var Pe=jx(w,L,s);nx(w,Pe);break e}}w=w.return}while(w!==null)}dw(c)}catch(He){s=He,Cn===c&&c!==null&&(Cn=c=c.return);continue}break}while(!0)}function lw(){var o=Wd.current;return Wd.current=$d,o===null?$d:o}function km(){(En===0||En===3||En===2)&&(En=4),$n===null||(Us&268435455)===0&&(Gd&268435455)===0||os($n,Yn)}function Jd(o,s){var c=Pt;Pt|=2;var u=lw();($n!==o||Yn!==s)&&(xr=null,zs(o,s));do try{EP();break}catch(g){iw(o,g)}while(!0);if(Lf(),Pt=c,Wd.current=u,Cn!==null)throw Error(n(261));return $n=null,Yn=0,En}function EP(){for(;Cn!==null;)cw(Cn)}function RP(){for(;Cn!==null&&!hi();)cw(Cn)}function cw(o){var s=fw(o.alternate,o,Do);o.memoizedProps=o.pendingProps,s===null?dw(o):Cn=s,mm.current=null}function dw(o){var s=o;do{var c=s.alternate;if(o=s.return,(s.flags&32768)===0){if(c=SP(c,s,Do),c!==null){Cn=c;return}}else{if(c=NP(c,s),c!==null){c.flags&=32767,Cn=c;return}if(o!==null)o.flags|=32768,o.subtreeFlags=0,o.deletions=null;else{En=6,Cn=null;return}}if(s=s.sibling,s!==null){Cn=s;return}Cn=s=o}while(s!==null);En===0&&(En=5)}function Bs(o,s,c){var u=Ot,g=ea.transition;try{ea.transition=null,Ot=1,OP(o,s,c,u)}finally{ea.transition=g,Ot=u}return null}function OP(o,s,c,u){do $i();while(ts!==null);if((Pt&6)!==0)throw Error(n(327));c=o.finishedWork;var g=o.finishedLanes;if(c===null)return null;if(o.finishedWork=null,o.finishedLanes=0,c===o.current)throw Error(n(177));o.callbackNode=null,o.callbackPriority=0;var w=c.lanes|c.childLanes;if(on(o,w),o===$n&&(Cn=$n=null,Yn=0),(c.subtreeFlags&2064)===0&&(c.flags&2064)===0||Yd||(Yd=!0,mw(Eo,function(){return $i(),null})),w=(c.flags&15990)!==0,(c.subtreeFlags&15990)!==0||w){w=ea.transition,ea.transition=null;var N=Ot;Ot=1;var L=Pt;Pt|=4,mm.current=null,AP(o,c),ew(c,o),eP(kf),dd=!!_f,kf=_f=null,o.current=c,TP(c),ef(),Pt=L,Ot=N,ea.transition=w}else o.current=c;if(Yd&&(Yd=!1,ts=o,Qd=g),w=o.pendingLanes,w===0&&(es=null),Ua(c.stateNode),No(o,it()),s!==null)for(u=o.onRecoverableError,c=0;c<s.length;c++)g=s[c],u(g.value,{componentStack:g.stack,digest:g.digest});if(Kd)throw Kd=!1,o=ym,ym=null,o;return(Qd&1)!==0&&o.tag!==0&&$i(),w=o.pendingLanes,(w&1)!==0?o===vm?rc++:(rc=0,vm=o):rc=0,Qr(),null}function $i(){if(ts!==null){var o=Ie(Qd),s=ea.transition,c=Ot;try{if(ea.transition=null,Ot=16>o?16:o,ts===null)var u=!1;else{if(o=ts,ts=null,Qd=0,(Pt&6)!==0)throw Error(n(331));var g=Pt;for(Pt|=4,De=o.current;De!==null;){var w=De,N=w.child;if((De.flags&16)!==0){var L=w.deletions;if(L!==null){for(var U=0;U<L.length;U++){var ne=L[U];for(De=ne;De!==null;){var ve=De;switch(ve.tag){case 0:case 11:case 15:nc(8,ve,w)}var _e=ve.child;if(_e!==null)_e.return=ve,De=_e;else for(;De!==null;){ve=De;var fe=ve.sibling,Me=ve.return;if(Yx(ve),ve===ne){De=null;break}if(fe!==null){fe.return=Me,De=fe;break}De=Me}}}var $e=w.alternate;if($e!==null){var Be=$e.child;if(Be!==null){$e.child=null;do{var vn=Be.sibling;Be.sibling=null,Be=vn}while(Be!==null)}}De=w}}if((w.subtreeFlags&2064)!==0&&N!==null)N.return=w,De=N;else e:for(;De!==null;){if(w=De,(w.flags&2048)!==0)switch(w.tag){case 0:case 11:case 15:nc(9,w,w.return)}var K=w.sibling;if(K!==null){K.return=w.return,De=K;break e}De=w.return}}var V=o.current;for(De=V;De!==null;){N=De;var Q=N.child;if((N.subtreeFlags&2064)!==0&&Q!==null)Q.return=N,De=Q;else e:for(N=V;De!==null;){if(L=De,(L.flags&2048)!==0)try{switch(L.tag){case 0:case 11:case 15:qd(9,L)}}catch(He){pn(L,L.return,He)}if(L===N){De=null;break e}var Pe=L.sibling;if(Pe!==null){Pe.return=L.return,De=Pe;break e}De=L.return}}if(Pt=g,Qr(),xo&&typeof xo.onPostCommitFiberRoot=="function")try{xo.onPostCommitFiberRoot(Fa,o)}catch{}u=!0}return u}finally{Ot=c,ea.transition=s}}return!1}function uw(o,s,c){s=Li(c,s),s=Tx(o,s,1),o=Xr(o,s,1),s=fo(),o!==null&&(kn(o,1,s),No(o,s))}function pn(o,s,c){if(o.tag===3)uw(o,o,c);else for(;s!==null;){if(s.tag===3){uw(s,o,c);break}else if(s.tag===1){var u=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(es===null||!es.has(u))){o=Li(c,o),o=jx(s,o,1),s=Xr(s,o,1),o=fo(),s!==null&&(kn(s,1,o),No(s,o));break}}s=s.return}}function MP(o,s,c){var u=o.pingCache;u!==null&&u.delete(s),s=fo(),o.pingedLanes|=o.suspendedLanes&c,$n===o&&(Yn&c)===c&&(En===4||En===3&&(Yn&130023424)===Yn&&500>it()-gm?zs(o,0):hm|=c),No(o,s)}function pw(o,s){s===0&&((o.mode&1)===0?s=1:(s=D,D<<=1,(D&130023424)===0&&(D=4194304)));var c=fo();o=gr(o,s),o!==null&&(kn(o,s,c),No(o,c))}function LP(o){var s=o.memoizedState,c=0;s!==null&&(c=s.retryLane),pw(o,c)}function DP(o,s){var c=0;switch(o.tag){case 13:var u=o.stateNode,g=o.memoizedState;g!==null&&(c=g.retryLane);break;case 19:u=o.stateNode;break;default:throw Error(n(314))}u!==null&&u.delete(s),pw(o,c)}var fw;fw=function(o,s,c){if(o!==null)if(o.memoizedProps!==s.pendingProps||_o.current)Co=!0;else{if((o.lanes&c)===0&&(s.flags&128)===0)return Co=!1,CP(o,s,c);Co=(o.flags&131072)!==0}else Co=!1,tn&&(s.flags&1048576)!==0&&Wv(s,Ad,s.index);switch(s.lanes=0,s.tag){case 2:var u=s.type;Vd(o,s),o=s.pendingProps;var g=Ai(s,to.current);Oi(s,c),g=Gf(null,s,u,o,g,c);var w=Kf();return s.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,ko(u)?(w=!0,Sd(s)):w=!1,s.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,$f(s),g.updater=zd,s.stateNode=g,g._reactInternals=s,em(s,u,o,c),s=am(null,s,u,!0,w,c)):(s.tag=0,tn&&w&&jf(s),po(null,s,g,c),s=s.child),s;case 16:u=s.elementType;e:{switch(Vd(o,s),o=s.pendingProps,g=u._init,u=g(u._payload),s.type=u,g=s.tag=UP(u),o=va(u,o),g){case 0:s=om(null,s,u,o,c);break e;case 1:s=Ux(null,s,u,o,c);break e;
vendor: 3,880 bytes, line 9
9case 11:s=Ox(null,s,u,o,c);break e;case 14:s=Mx(null,s,u,va(u.type,o),c);break e}throw Error(n(306,u,""))}return s;case 0:return u=s.type,g=s.pendingProps,g=s.elementType===u?g:va(u,g),om(o,s,u,g,c);case 1:return u=s.type,g=s.pendingProps,g=s.elementType===u?g:va(u,g),Ux(o,s,u,g,c);case 3:e:{if($x(s),o===null)throw Error(n(387));u=s.pendingProps,w=s.memoizedState,g=w.element,tx(o,s),Od(s,u,null,c);var N=s.memoizedState;if(u=N.element,w.isDehydrated)if(w={element:u,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},s.updateQueue.baseState=w,s.memoizedState=w,s.flags&256){g=Li(Error(n(423)),s),s=zx(o,s,u,c,g);break e}else if(u!==g){g=Li(Error(n(424)),s),s=zx(o,s,u,c,g);break e}else for(Lo=Gr(s.stateNode.containerInfo.firstChild),Mo=s,tn=!0,ya=null,c=Jv(s,null,u,c),s.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(Ii(),u===g){s=vr(o,s,c);break e}po(o,s,u,c)}s=s.child}return s;case 5:return ax(s),o===null&&Rf(s),u=s.type,g=s.pendingProps,w=o!==null?o.memoizedProps:null,N=g.children,Cf(u,g)?N=null:w!==null&&Cf(u,w)&&(s.flags|=32),Fx(o,s),po(o,s,N,c),s.child;case 6:return o===null&&Rf(s),null;case 13:return Bx(o,s,c);case 4:return zf(s,s.stateNode.containerInfo),u=s.pendingProps,o===null?s.child=Ei(s,null,u,c):po(o,s,u,c),s.child;case 11:return u=s.type,g=s.pendingProps,g=s.elementType===u?g:va(u,g),Ox(o,s,u,g,c);case 7:return po(o,s,s.pendingProps,c),s.child;case 8:return po(o,s,s.pendingProps.children,c),s.child;case 12:return po(o,s,s.pendingProps.children,c),s.child;case 10:e:{if(u=s.type._context,g=s.pendingProps,w=s.memoizedProps,N=g.value,qt(Id,u._currentValue),u._currentValue=N,w!==null)if(ga(w.value,N)){if(w.children===g.children&&!_o.current){s=vr(o,s,c);break e}}else for(w=s.child,w!==null&&(w.return=s);w!==null;){var L=w.dependencies;if(L!==null){N=w.child;for(var U=L.firstContext;U!==null;){if(U.context===u){if(w.tag===1){U=yr(-1,c&-c),U.tag=2;var ne=w.updateQueue;if(ne!==null){ne=ne.shared;var ve=ne.pending;ve===null?U.next=U:(U.next=ve.next,ve.next=U),ne.pending=U}}w.lanes|=c,U=w.alternate,U!==null&&(U.lanes|=c),Ff(w.return,c,s),L.lanes|=c;break}U=U.next}}else if(w.tag===10)N=w.type===s.type?null:w.child;else if(w.tag===18){if(N=w.return,N===null)throw Error(n(341));N.lanes|=c,L=N.alternate,L!==null&&(L.lanes|=c),Ff(N,c,s),N=w.sibling}else N=w.child;if(N!==null)N.return=w;else for(N=w;N!==null;){if(N===s){N=null;break}if(w=N.sibling,w!==null){w.return=N.return,N=w;break}N=N.return}w=N}po(o,s,g.children,c),s=s.child}return s;case 9:return g=s.type,u=s.pendingProps.children,Oi(s,c),g=Xo(g),u=u(g),s.flags|=1,po(o,s,u,c),s.child;case 14:return u=s.type,g=va(u,s.pendingProps),g=va(u.type,g),Mx(o,s,u,g,c);case 15:return Lx(o,s,s.type,s.pendingProps,c);case 17:return u=s.type,g=s.pendingProps,g=s.elementType===u?g:va(u,g),Vd(o,s),s.tag=1,ko(u)?(o=!0,Sd(s)):o=!1,Oi(s,c),Px(s,u,g),em(s,u,g,c),am(null,s,u,!0,o,c);case 19:return Hx(o,s,c);case 22:return Dx(o,s,c)}throw Error(n(156,s.tag))};function mw(o,s){return Vr(o,s)}function FP(o,s,c,u){this.tag=o,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=u,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ta(o,s,c,u){return new FP(o,s,c,u)}function Cm(o){return o=o.prototype,!(!o||!o.isReactComponent)}function UP(o){if(typeof o=="function")return Cm(o)?1:0;if(o!=null){if(o=o.$$typeof,o===J)return 11;if(o===Ne)return 14}return 2}function as(o,s){var c=o.alternate;return c===null?(c=ta(o.tag,s,o.key,o.mode),c.elementType=o.elementType,c.type=o.type,c.stateNode=o.stateNode,c.alternate=o,o.alternate=c):(c.pendingProps=s,c.type=o.type,c.flags=0,c.subtreeFlags=0,c.deleti
vendor: 5,194 bytes, line 9
9ons=null),c.flags=o.flags&14680064,c.childLanes=o.childLanes,c.lanes=o.lanes,c.child=o.child,c.memoizedProps=o.memoizedProps,c.memoizedState=o.memoizedState,c.updateQueue=o.updateQueue,s=o.dependencies,c.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},c.sibling=o.sibling,c.index=o.index,c.ref=o.ref,c}function eu(o,s,c,u,g,w){var N=2;if(u=o,typeof o=="function")Cm(o)&&(N=1);else if(typeof o=="string")N=5;else e:switch(o){case q:return Vs(c.children,g,w,s);case re:N=8,g|=8;break;case ee:return o=ta(12,c,s,g|2),o.elementType=ee,o.lanes=w,o;case Y:return o=ta(13,c,s,g),o.elementType=Y,o.lanes=w,o;case ie:return o=ta(19,c,s,g),o.elementType=ie,o.lanes=w,o;case ce:return tu(c,g,w,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case se:N=10;break e;case ae:N=9;break e;case J:N=11;break e;case Ne:N=14;break e;case R:N=16,u=null;break e}throw Error(n(130,o==null?o:typeof o,""))}return s=ta(N,c,s,g),s.elementType=o,s.type=u,s.lanes=w,s}function Vs(o,s,c,u){return o=ta(7,o,u,s),o.lanes=c,o}function tu(o,s,c,u){return o=ta(22,o,u,s),o.elementType=ce,o.lanes=c,o.stateNode={isHidden:!1},o}function Sm(o,s,c){return o=ta(6,o,null,s),o.lanes=c,o}function Nm(o,s,c){return s=ta(4,o.children!==null?o.children:[],o.key,s),s.lanes=c,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function $P(o,s,c,u,g){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Dt(0),this.expirationTimes=Dt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dt(0),this.identifierPrefix=u,this.onRecoverableError=g,this.mutableSourceEagerHydrationData=null}function Pm(o,s,c,u,g,w,N,L,U){return o=new $P(o,s,c,L,U),s===1?(s=1,w===!0&&(s|=8)):s=0,w=ta(3,null,null,s),o.current=w,w.stateNode=o,w.memoizedState={element:u,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},$f(w),o}function zP(o,s,c){var u=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:z,key:u==null?null:""+u,children:o,containerInfo:s,implementation:c}}function hw(o){if(!o)return Yr;o=o._reactInternals;e:{if(hn(o)!==o||o.tag!==1)throw Error(n(170));var s=o;do{switch(s.tag){case 3:s=s.stateNode.context;break e;case 1:if(ko(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}}s=s.return}while(s!==null);throw Error(n(171))}if(o.tag===1){var c=o.type;if(ko(c))return Vv(o,c,s)}return s}function gw(o,s,c,u,g,w,N,L,U){return o=Pm(c,u,!0,o,g,w,N,L,U),o.context=hw(null),c=o.current,u=fo(),g=ns(c),w=yr(u,g),w.callback=s??null,Xr(c,w,g),o.current.lanes=g,kn(o,g,u),No(o,u),o}function nu(o,s,c,u){var g=s.current,w=fo(),N=ns(g);return c=hw(c),s.context===null?s.context=c:s.pendingContext=c,s=yr(w,N),s.payload={element:o},u=u===void 0?null:u,u!==null&&(s.callback=u),o=Xr(g,s,N),o!==null&&(ba(o,g,N,w),Rd(o,g,N)),N}function ou(o){return o=o.current,o.child?(o.child.tag===5,o.child.stateNode):null}function yw(o,s){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var c=o.retryLane;o.retryLane=c!==0&&c<s?c:s}}function Am(o,s){yw(o,s),(o=o.alternate)&&yw(o,s)}function BP(){return null}var vw=typeof reportError=="function"?reportError:function(o){console.error(o)};function Tm(o){this._internalRoot=o}au.prototype.render=Tm.prototype.render=function(o){var s=this._internalRoot;if(s===null)throw Error(n(409));nu(o,s,null,null)},au.prototype.unmount=Tm.prototype.unmount=function(){var o=this._internalRoot;if(o!==null){this._internalRoot=null;var s=o.containerInfo;$s(function(){nu(null,o,null,null)}),s[pr]=null}};function au(o){this._internalRoot=o}au.prototype.unstable_scheduleHydration=function(o){if(o){var s=za();o={blockedOn:null,target:o,priority:s};for(var c=0;c<qa.length&&s!==0&&s<qa[c].priority;c++);qa.splice(c,0,o),c===0&&jn(o)}};function jm(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)}function ru(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11&&(o.nodeType!==8||o.nodeValue!==" react-mount-point-unstable "))}function xw(){}function VP(o,s,c,u,g){if(g){if(typeof u=="function"){var w=u;u=function(){var ne=ou(N);w.call(ne)}}var N=gw(s,u,o,0,null,!1,!1,"",xw);return o._reactRootContainer=N,o[pr]=N.current,Vl(o.nodeType===8?o.parentNode:o),$s(),N}for(;g=o.lastChild;)o.removeChild(g);if(typeof u=="function"){var L=u;u=function(){var ne=ou(U);L.call(ne)}}var U=Pm(o,0,!1,null,null,!1,!1,"",xw);return o._reactRootContainer=U,o[pr]=U.current,Vl(o.nodeType===8?o.parentNode:o),$s(function(){nu(s,U,c,u)}),U}function su(o,s,c,u,g){var w=c._reactRootContainer;if(w){var N=w;if(typeof g=="function"){var L=g;g=function(){var U=ou(N);L.call(U)}}nu(s,N,o,g)}else N=VP(c,s,o,g,u);return ou(N)}wo=function(o){switch(o.tag){case 3:var s=o.stateNode;if(s.current.memoizedState.isDehydrated){var c=be(s.pendingLanes);c!==0&&(yn(s,c|1),No(s,it()),(Pt&6)===0&&(Ui=it()+500,Qr()))}break;case 13:$s(function(){var u=gr(o,1);if(u!==null){var g=fo();ba(u,o,1,g)}}),Am(o,1)}}
vendor: 1,027 bytes, line 9
9,Ro=function(o){if(o.tag===13){var s=gr(o,134217728);if(s!==null){var c=fo();ba(s,o,134217728,c)}Am(o,134217728)}},bo=function(o){if(o.tag===13){var s=ns(o),c=gr(o,s);if(c!==null){var u=fo();ba(c,o,s,u)}Am(o,s)}},za=function(){return Ot},yi=function(o,s){var c=Ot;try{return Ot=o,s()}finally{Ot=c}},oe=function(o,s,c){switch(s){case"input":if(dn(o,c),s=c.name,c.type==="radio"&&s!=null){for(c=o;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll("input[name="+JSON.stringify(""+s)+'][type="radio"]'),s=0;s<c.length;s++){var u=c[s];if(u!==o&&u.form===o.form){var g=kd(u);if(!g)throw Error(n(90));ut(u),dn(u,g)}}}break;case"textarea":Vo(o,c);break;case"select":s=c.value,s!=null&&It(o,!!c.multiple,s,!1)}},Lt=bm,dt=$s;var HP={usingClientEntryPoint:!1,Events:[Wl,Ni,kd,xt,un,bm]},sc={findFiberByHostInstance:Es,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},qP={bundleType:sc.bundleType,version:sc.version,rendererPackageName:sc.rendererPackageName,rendererConfig:sc.rendererConfig,overrideHookState:null,overri
9deHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:E.ReactCurrentDispatcher,findHostInstanceByFiber:function(o){return o=ma(o),o===null?null:o.stateNode},findFiberByHostInstance:sc.findFiberByHostInstance||BP,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 iu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!iu.isDisabled&&iu.supportsFiber)try{Fa=iu.inject(qP),xo=iu}catch{}}return Po.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=HP,Po.createPortal=function(o,s){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!jm(s))throw Error(n(200));return zP(o,s,null,c)},Po.createRoot=function(o,s){if(!jm(o))throw Error(n(299));var c=!1,u="",g=vw;return s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(u=s.identifierPrefix),s.onRecoverableError!==void 0&&(g=s.onRecoverableError)),s=Pm(o,1,!1,null,null,c,!1,u,g),o[pr]=s.current,Vl(o.nodeType===8?o.parentNode:o),new Tm(s)},Po.findDOMNode=function(o){if(o==null)return null;if(o.nodeType===1)return o;var s=o._reactInternals;if(s===void 0)throw typeof o.render=="function"?Error(n(188)):(o=Object.keys(o).join(","),Error(n(268,o)));return o=ma(s),o=o===null?null:o.stateNode,o},Po.flushSync=function(o){return $s(o)},Po.hydrate=function(o,s,c){if(!ru(s))throw Error(n(200));return su(null,o,s,!0,c)},Po.hydrateRoot=function(o,s,c){if(!jm(o))throw Error(n(405));var u=c!=null&&c.hydratedSources||null,g=!1,w="",N=vw;if(c!=null&&(c.unstable_strictMode===!0&&(g=!0),c.identifierPrefix!==void 0&&(w=c.identifierPrefix),c.onRecoverableError!==void 0&&(N=c.onRecoverableError)),s=gw(s,null,o,1,c??null,g,!1,w,N),o[pr]=s.current,Vl(o),u)for(o=0;o<u.length;o++)c=u[o],g=c._getVersion,g=g(c._source),s.mutableSourceEagerHydrationData==null?s.mutableSourceEagerHydrationData=[c,g]:s.mutableSourceEagerHydrationData.push(c,g);return new au(s)},Po.render=function(o,s,c){if(!ru(s))throw Error(n(200));return su(null,o,s,!1,c)},Po.unmountComponentAtNode=function(o){if(!ru(o))throw Error(n(40));return o._reactRootContainer?($s(function(){su(null,null,o,!1,function(){o._reactRootContainer=null,o[pr]=null})}),!0):!1},Po.unstable_batchedUpdates=bm,Po.unstable_renderSubtreeIntoContainer=function(o,s,c,u){if(!ru(c))throw Error(n(200));if(o==null||o._reactInternals===void 0)throw Error(n(38));return su(o,s,c,!1,u)},Po.version="18.3.1-next-f1338f8080-20240426",Po}var jw;function C0(){if(jw)return Om.exports;jw=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),Om.exports=JP(),Om.exports}var Iw;function eA(){if(Iw)return lu;Iw=1;var t=C0();return lu.createRoot=t.createRoot,lu.hydrateRoot=t.hydrateRoot,lu}var tA=eA();const nA=typeof import.meta<"u"&&!1;function cu(t){nA&&typeof console<"u"&&console.warn&&console.warn(t)}function oA(){if(typeof Node!="function"||!Node.prototype)return;const t=Node.prototype;if(t.__tvTranslateGuard)return;t.__tvTranslateGuard=!0;const e=t.removeChild;t.removeChild=function(r){if(r.parentNode!==this)return cu("[translate-guard] skipped removeChild of a node relocated by auto-translate"),r;try{return e.call(this,r)}catch(i){if(i instanceof DOMException&&i.name==="NotFoundError")return cu("[translate-guard] recovered from removeChild race during auto-translate"),r;throw i}};const n=t.insertBefore;t.insertBefore=function(r,i){const l=i&&i.parentNode===this?i:null;i&&l===null&&cu("[translate-guard] insertBefore reference node relocated by auto-translate; appending instead");try{return n.call(this,r,l)}catch(d){if(d instanceof DOMException&&d.name==="NotFoundError"){cu("[translate-guard] recovered from insertBefore race during auto-translate");try{return n.call(this,r,null)}catch{return r}}throw d}}}const aA=/"assetType"(\s*:)/g;function rA(){if(typeof window>"u"||typeof window.fetch!="function")return;const t=window;if(t.__wafAssetFieldGuardInstalled)return;t.__wafAssetFieldGuardInstalled=!0;const e=window.fetch.bind(window);window.fetch=(n,r)=>{try{const i=r?.body;if(typeof i=="string"&&i.includes('"assetType"')){const l=i.replace(aA,'"assetKind"$1');l!==i&&(r={...r,body:l})}}catch{}return e(n,r)}}const sA="modulepreload",iA=function(t){return"/"+t},Ew={},Ee=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){let m=function(h){return Promise.all(h.map(v=>Promise.resolve(v).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),p=d?.nonce||d?.getAttribute("nonce");i=m(n.map(h=>{if(h=iA(h),h in Ew)return;Ew[h]=!0;const v=h.endsWith(".css"),y=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${y}`))return;const x=document.createElement("link");if(x.rel=v?"stylesheet":sA,v||(x.as="script"),x.crossOrigin="",x.href=h,p&&x.setAttribute("nonce",p),document.head.appendChild(x),v)return new Promise((_,S)=>{x.addEventListener("load",_),x.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${h}`)))})}))}function l(d){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=d,window.dispatchEvent(p),!p.defaultPrevented)throw d}return i.then(d=>{for(const p of d||[])p.status==="rejected"&&l(p.reason);return e().catch(l)})};var f=hp();const ps=k0(f),ri=GP({__proto__:null,default:ps},[f]),S0="tv-referral-code",lA=24;function N0(t){const e=String(t??"").trim().toLowerCase();return/^[a-z0-9]{3,24}$/.test(e)?e.slice(0,lA):""}function cA(t=window.location.search){try{const e=new URLSearchParams(t),n=N0(e.get("ref")??e.get("referral"));if(!n)return Rw();const r=Rw();return r||(localStorage.setItem(S0,n),n)}catch{return""}}function Rw(){try{return N0(localStorage.getItem(S0))}catch{return""}}const dA=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),P0=(...t)=>t.filter((e,n,r)=>!!e&&r.indexOf(e)===n).join(" ");var uA={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"};const pA=f.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i="",children:l,iconNode:d,...p},m)=>f.createElement("svg",{ref:m,...uA,width:e,height:e,stroke:t,strokeWidth:r?Number(n)*24/Number(e):n,className:P0("lucide",i),...p},[...d.map(([h,v])=>f.createElement(h,v)),...Array.isArray(l)?l:[l]]));const Te=(t,e)=>{const n=f.forwardRef(({className:r,...i},l)=>f.createElement(pA,{ref:l,iconNode:e,className:P0(`lucide-${dA(t)}`,r),...i}));return n.displayName=`${t}`,n};const fA=Te("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
9-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);const mA=Te("ArrowLeftRight",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]);const hA=Te("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const Ys=Te("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const gA=Te("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"}]]);const yA=Te("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"}]]);const A0=Te("Calculator",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]);const vA=Te("CalendarCheck",[["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"}],["path",{d:"m9 16 2 2 4-4",key:"19s6y9"}]]);const Ow=Te("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"}]]);const Qc=Te("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Cg=Te("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Sg=Te("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const gp=Te("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const xA=Te("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const wA=Te("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"}]]);const T0=Te("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const Ng=Te("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"}]]);const j0=Te("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const Th=Te("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);const bA=Te("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const _A=Te("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"}]]);const Dm=Te("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);const _c=Te("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"}]]);const $u=Te("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"}]]);const kA=Te("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);const CA=Te("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"}]]);const SA=Te("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"}]]);const NA=Te("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);const PA=Te("HandHeart",[["path",{d:"M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16",key:"1ifwr1"}],["path",{d:"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9",key:"17abbs"}],["path",{d:"m2 15 6 6",key:"10dquu"}],["path",{d:"M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z",key:"1h3036"}]]);const Pg=Te("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"}]]);const I0=Te("History",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);const AA=Te("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);const TA=Te("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);const jA=Te("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"}]]);const IA=Te("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);const E0=Te("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"}]]);const EA=Te("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]);
9const zt=Te("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const zu=Te("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"}]]);const Bu=Te("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"}]]);const RA=Te("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"}]]);const OA=Te("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"}]]);const MA=Te("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);const kc=Te("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"}]]);const gc=Te("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"}]]);const yc=Te("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);const LA=Te("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);const DA=Te("PartyPopper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]);const R0=Te("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"}]]);const jh=Te("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"}]]);const FA=Te("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);const Ih=Te("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);const na=Te("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const O0=Te("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"}]]);const UA=Te("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);const Ag=Te("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"}]]);const $A=Te("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);const Vu=Te("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"}]]);const zA=Te("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"}]]);const Hu=Te("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);const BA=Te("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"}]]);const VA=Te("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"}]]);const yp=Te("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",ke
9y:"oel41y"}]]);const HA=Te("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);const Mn=Te("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"}]]);const vc=Te("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);const qA=Te("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);const Tg=Te("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"}]]);const fs=Te("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);const du=Te("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["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"}]]);const Cc=Te("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"}]]);const jg=Te("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"}]]);const Mw=Te("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"}]]);const Eh=Te("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"}]]);const WA=Te("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);const GA=Te("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"}]]);const qu=Te("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"}]]);const Wu=Te("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"}]]);const ra=Te("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);const tr=Te("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
9],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function KA(t,e){if(t instanceof RegExp)return{keys:!1,pattern:t};var n,r,i,l,d=[],p="",m=t.split("/");for(m[0]||m.shift();i=m.shift();)n=i[0],n==="*"?(d.push(n),p+=i[1]==="?"?"(?:/(.*))?":"/(.*)"):n===":"?(r=i.indexOf("?",1),l=i.indexOf(".",1),d.push(i.substring(1,~r?r:~l?l:i.length)),p+=~r&&!~l?"(?:/([^/]+?))?":"/([^/]+?)",~l&&(p+=(~r?"?":"")+"\\"+i.substring(l))):p+="/"+i;return{keys:d,pattern:new RegExp("^"+p+(e?"(?=$|/)":"/?$"),"i")}}var Fm={exports:{}},Um={};var Lw;function YA(){if(Lw)return Um;Lw=1;var t=hp();function e(y,x){return y===x&&(y!==0||1/y===1/x)||y!==y&&x!==x}var n=typeof Object.is=="function"?Object.is:e,r=t.useState,i=t.useEffect,l=t.useLayoutEffect,d=t.useDebugValue;function p(y,x){var _=x(),S=r({inst:{value:_,getSnapshot:x}}),k=S[0].inst,C=S[1];return l(function(){k.value=_,k.getSnapshot=x,m(k)&&C({inst:k})},[y,_,x]),i(function(){return m(k)&&C({inst:k}),y(function(){m(k)&&C({inst:k})})},[y]),d(_),_}function m(y){var x=y.getSnapshot;y=y.value;try{var _=x();return!n(y,_)}catch{return!0}}function h(y,x){return x()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:p;return Um.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:v,Um}var Dw;function QA(){return Dw||(Dw=1,Fm.exports=YA()),Fm.exports}var ZA=QA();const XA=ri.useInsertionEffect,JA=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",eT=JA?f.useLayoutEffect:f.useEffect,tT=XA||eT,M0=t=>{const e=f.useRef([t,(...n)=>e[0](...n)]).current;return tT(()=>{e[0]=t}),e[1]},nT="popstate",Ig="pushState",Eg="replaceState",oT="hashchange",Fw=[nT,Ig,Eg,oT],aT=t=>{for(const e of Fw)addEventListener(e,t);return()=>{for(const e of Fw)removeEventListener(e,t)}},L0=(t,e)=>ZA.useSyncExternalStore(aT,t,e),Uw=()=>location.search,rT=({ssrSearch:t}={})=>L0(Uw,t!=null?()=>t:Uw),$w=()=>location.pathname,sT=({ssrPath:t}={})=>L0($w,t!=null?()=>t:$w),iT=(t,{replace:e=!1,state:n=null}={})=>history[e?Eg:Ig](n,"",t),lT=(t={})=>[sT(t),iT],zw=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[zw]>"u"){for(const t of[Ig,Eg]){const e=history[t];history[t]=function(){const n=e.apply(this,arguments),r=new Event(t);return r.arguments=arguments,dispatchEvent(r),n}}Object.defineProperty(window,zw,{value:!0})}const cT=(t,e)=>e.toLowerCase().indexOf(t.toLowerCase())?"~"+e:e.slice(t.length)||"/",D0=(t="")=>t==="/"?"":t,dT=(t,e)=>t[0]==="~"?t.slice(1):D0(e)+t,uT=(t="",e)=>cT(Rh(D0(t)),Rh(e)),pT=t=>t[0]==="?"?t.slice(1):t,Rh=t=>{try{return decodeURI(t)}catch{return t}},fT=t=>Rh(pT(t)),F0={hook:lT,searchHook:rT,parser:KA,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:t=>t,aroundNav:(t,e,n)=>t(e,n)},U0=f.createContext(F0),hl=()=>f.useContext(U0),$0={},z0=f.createContext($0),mT=()=>f.useContext(z0),vp=t=>{const[e,n]=t.hook(t);return[uT(t.base,e),M0((r,i)=>t.aroundNav(n,dT(r,t.base),i))]},jo=()=>vp(hl()),v8=()=>{const t=hl();return fT(t.searchHook(t))},B0=(t,e,n,r)=>{const{pattern:i,keys:l}=e instanceof RegExp?{keys:!1,pattern:e}:t(e||"*",r),d=i.exec(n)||[],[p,...m]=d;return p!==void 0?[!0,(()=>{const h=l!==!1?Object.fromEntries(l.map((y,x)=>[y,m[x]])):d.groups;let v={...m};return h&&Object.assign(v,h),v})(),...r?[p]:[]]:[!1,null]},hT=({children:t,...e})=>{const n=hl(),r=e.hook?F0:n;let i=r;const[l,d=e.ssrSearch??""]=e.ssrPath?.split("?")??[];l&&(e.ssrSearch=d,e.ssrPath=l),e.hrefs=e.hrefs??e.hook?.hrefs,e.searchHook=e.searchHook??e.hook?.searchHook;let p=f.useRef({}),m=p.current,h=m;for(let v in r){const y=v==="base"?r[v]+(e[v]??""):e[v]??r[v];m===h&&y!==h[v]&&(p.current=h={...h}),h[v]=y,(y!==r[v]||y!==i[v])&&(i=h)}return f.createElement(U0.Provider,{value:i,children:t})},Bw=({children:t,component:e},n)=>e?f.createElement(e,{params:n}):typeof t=="function"?t(n):t,gT=t=>{let e=f.useRef($0);const n=e.current;return e.current=Object.keys(t).length!==Object.keys(n).length||Object.entries(t).some(([r,i])=>i!==n[r])?t:n},At=({path:t,nest:e,match:n,...r})=>{const i=hl(),[l]=vp(i),[d,p,m]=n??B0(i.parser,t,l,e),h=gT({...mT(),...p});if(!d)return null;const v=m?f.createElement(hT,{base:m},Bw(r,h)):Bw(r,h);return f.createElement(z0.Provider,{value:h,children:v})},Pn=f.forwardRef((t,e)=>{const n=hl(),[r,i]=vp(n),{to:l="",href:d=l,onClick:p,asChild:m,children:h,className:v,replace:y,state:x,transition:_,...S}=t,k=M0(A=>{A.ctrlKey||A.metaKey||A.altKey||A.shiftKey||A.button!==0||(p?.(A),A.defaultPrevented||(A.preventDefault(),i(d,t)))}),C=n.hrefs(d[0]==="~"?d.slice(1):n.base+d,n);return m&&f.isValidElement(h)?f.cloneElement(h,{onClick:k,href:C}):f.createElement("a",{...S,onClick:k,href:C,className:v?.call?v(r===d):v,children:h,ref:e})}),V0=t=>Array.isArray(t)?t.flatMap(e=>V0(e&&e.type===f.Fragment?e.props.children:e)):[t],yT=({children:t,location:e})=>{const n=hl(),[r]=vp(n);for(const i of V0(t)){let l=0;if(f.isValidElement(i)&&(l=B0(n.parser,i.props.path,e||r,i.props.nest))[0])return f.cloneElement(i,{match:l})}return null};var vT=Object.defineProperty,Rg=(t,e)=>vT(t,"name",{value:e,configurable:!0});function Oh(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}Rg(Oh,"setRef");function H0(...t){return e=>{let n=!1;const r=t.map(i=>{const l=Oh(i,e);return!n&&typeof l=="function"&&(n=!0),l});if(n)return()=>{for(let i=0;i<r.length;i++){const l=r[i];typeof l=="function"?l():Oh(t[i],null)}}}}Rg(H0,"composeRefs");function ct(...t){return f.useCallback(H0(...t),t)}Rg(ct,"useComposedRefs");var xT=Object.defineProperty,Ra=(t,e)=>xT(t,"name",{value:e,configurable:!0});function Ta(t){const e=f.forwardRef((n,r)=>{let{children:i,...l}=n,d=null,p=!1;const m=[];Mh(i)&&typeof uu=="function"&&(i=uu(i._payload)),f.Children.forEac
9h(i,x=>{if(Q0(x)){p=!0;const _=x;let S="child"in _.props?_.props.child:_.props.children;Mh(S)&&typeof uu=="function"&&(S=uu(S._payload)),d=wT(_,S),m.push(d?.props?.children)}else m.push(x)}),d?d=f.cloneElement(d,void 0,m):!p&&f.Children.count(i)===1&&f.isValidElement(i)&&(d=i);const h=d?Y0(d):void 0,v=ct(r,h);if(!d){if(i||i===0)throw new Error(p?kT(t):_T(t));return i}const y=K0(l,d.props??{});return d.type!==f.Fragment&&(y.ref=r?v:h),f.cloneElement(d,y)});return e.displayName=`${t}.Slot`,e}Ra(Ta,"createSlot");var q0=Ta("Slot"),W0=Symbol.for("radix.slottable");function G0(t){const e=Ra(n=>"child"in n?n.children(n.child):n.children,"Slottable");return e.displayName=`${t}.Slottable`,e.__radixId=W0,e}Ra(G0,"createSlottable");var wT=Ra((t,e)=>{if("child"in t.props){const n=t.props.child;return f.isValidElement(n)?f.cloneElement(n,void 0,t.props.children(n.props.children)):null}return f.isValidElement(e)?e:null},"getSlottableElementFromSlottable");function K0(t,e){const n={...e};for(const r in e){const i=t[r],l=e[r];/^on[A-Z]/.test(r)?i&&l?n[r]=(...p)=>{const m=l(...p);return i(...p),m}:i&&(n[r]=i):r==="style"?n[r]={...i,...l}:r==="className"&&(n[r]=[i,l].filter(Boolean).join(" "))}return{...t,...n}}Ra(K0,"mergeProps");function Y0(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}Ra(Y0,"getElementRef");function Q0(t){return f.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===W0}Ra(Q0,"isSlottable");var bT=Symbol.for("react.lazy");function Mh(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===bT&&"_payload"in t&&Z0(t._payload)}Ra(Mh,"isLazyComponent");function Z0(t){return typeof t=="object"&&t!==null&&"then"in t}Ra(Z0,"isPromiseLike");var _T=Ra(t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),kT=Ra(t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),uu=ri[" use ".trim().toString()];function X0(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e<i;e++)t[e]&&(n=X0(t[e]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function J0(){for(var t,e,n=0,r="",i=arguments.length;n<i;n++)(t=arguments[n])&&(e=X0(t))&&(r&&(r+=" "),r+=e);return r}const Vw=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,Hw=J0,gl=(t,e)=>n=>{var r;if(e?.variants==null)return Hw(t,n?.class,n?.className);const{variants:i,defaultVariants:l}=e,d=Object.keys(i).map(h=>{const v=n?.[h],y=l?.[h];if(v===null)return null;const x=Vw(v)||Vw(y);return i[h][x]}),p=n&&Object.entries(n).reduce((h,v)=>{let[y,x]=v;return x===void 0||(h[y]=x),h},{}),m=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((h,v)=>{let{class:y,className:x,..._}=v;return Object.entries(_).every(S=>{let[k,C]=S;return Array.isArray(C)?C.includes({...l,...p}[k]):{...l,...p}[k]===C})?[...h,y,x]:h},[]);return Hw(t,d,m,n?.class,n?.className)},Og="-",CT=t=>{const e=NT(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:d=>{const p=d.split(Og);return p[0]===""&&p.length!==1&&p.shift(),e_(p,e)||ST(d)},getConflictingClassGroupIds:(d,p)=>{const m=n[d]||[];return p&&r[d]?[...m,...r[d]]:m}}},e_=(t,e)=>{if(t.length===0)return e.classGroupId;const n=t[0],r=e.nextPart.get(n),i=r?e_(t.slice(1),r):void 0;if(i)return i;if(e.validators.length===0)return;const l=t.join(Og);return e.validators.find(({validator:d})=>d(l))?.classGroupId},qw=/^\[(.+)\]$/,ST=t=>{if(qw.test(t)){const e=qw.exec(t)[1],n=e?.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},NT=t=>{const{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return AT(Object.entries(t.classGroups),n).forEach(([l,d])=>{Lh(d,r,l,e)}),r},Lh=(t,e,n,r)=>{t.forEach(i=>{if(typeof i=="string"){const l=i===""?e:Ww(e,i);l.classGroupId=n;return}if(typeof i=="function"){if(PT(i)){Lh(i(r),e,n,r);return}e.validators.push({validator:i,classGroupId:n});return}
vendor: 4,846 bytes, line 9
9Object.entries(i).forEach(([l,d])=>{Lh(d,Ww(e,l),n,r)})})},Ww=(t,e)=>{let n=t;return e.split(Og).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},PT=t=>t.isThemeGetter,AT=(t,e)=>e?t.map(([n,r])=>{const i=r.map(l=>typeof l=="string"?e+l:typeof l=="object"?Object.fromEntries(Object.entries(l).map(([d,p])=>[e+d,p])):l);return[n,i]}):t,TT=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map;const i=(l,d)=>{n.set(l,d),e++,e>t&&(e=0,r=n,n=new Map)};return{get(l){let d=n.get(l);if(d!==void 0)return d;if((d=r.get(l))!==void 0)return i(l,d),d},set(l,d){n.has(l)?n.set(l,d):i(l,d)}}},t_="!",jT=t=>{const{separator:e,experimentalParseClassName:n}=t,r=e.length===1,i=e[0],l=e.length,d=p=>{const m=[];let h=0,v=0,y;for(let C=0;C<p.length;C++){let A=p[C];if(h===0){if(A===i&&(r||p.slice(C,C+l)===e)){m.push(p.slice(v,C)),v=C+l;continue}if(A==="/"){y=C;continue}}A==="["?h++:A==="]"&&h--}const x=m.length===0?p:p.substring(v),_=x.startsWith(t_),S=_?x.substring(1):x,k=y&&y>v?y-v:void 0;return{modifiers:m,hasImportantModifier:_,baseClassName:S,maybePostfixModifierPosition:k}};return n?p=>n({className:p,parseClassName:d}):d},IT=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},ET=t=>({cache:TT(t.cacheSize),parseClassName:jT(t),...CT(t)}),RT=/\s+/,OT=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=e,l=[],d=t.trim().split(RT);let p="";for(let m=d.length-1;m>=0;m-=1){const h=d[m],{modifiers:v,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:_}=n(h);let S=!!_,k=r(S?x.substring(0,_):x);if(!k){if(!S){p=h+(p.length>0?" "+p:p);continue}if(k=r(x),!k){p=h+(p.length>0?" "+p:p);continue}S=!1}const C=IT(v).join(":"),A=y?C+t_:C,P=A+k;if(l.includes(P))continue;l.push(P);const j=i(k,S);for(let E=0;E<j.length;++E){const F=j[E];l.push(A+F)}p=h+(p.length>0?" "+p:p)}return p};function MT(){let t=0,e,n,r="";for(;t<arguments.length;)(e=arguments[t++])&&(n=n_(e))&&(r&&(r+=" "),r+=n);return r}const n_=t=>{if(typeof t=="string")return t;let e,n="";for(let r=0;r<t.length;r++)t[r]&&(e=n_(t[r]))&&(n&&(n+=" "),n+=e);return n};function LT(t,...e){let n,r,i,l=d;function d(m){const h=e.reduce((v,y)=>y(v),t());return n=ET(h),r=n.cache.get,i=n.cache.set,l=p,p(m)}function p(m){const h=r(m);if(h)return h;const v=OT(m,n);return i(m,v),v}return function(){return l(MT.apply(null,arguments))}}const Yt=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},o_=/^\[(?:([a-z-]+):)?(.+)\]$/i,DT=/^\d+\/\d+$/,FT=new Set(["px","full","screen"]),UT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$T=/\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$/,zT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,BT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,VT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wr=t=>Ji(t)||FT.has(t)||DT.test(t),ss=t=>yl(t,"length",ZT),Ji=t=>!!t&&!Number.isNaN(Number(t)),$m=t=>yl(t,"number",Ji),lc=t=>!!t&&Number.isInteger(Number(t)),HT=t=>t.endsWith("%")&&Ji(t.slice(0,-1)),ht=t=>o_.test(t),is=t=>UT.test(t),qT=new Set(["length","size","percentage"]),WT=t=>yl(t,qT,a_),GT=t=>yl(t,"position",a_),KT=new Set(["image","url"]),YT=t=>yl(t,KT,JT),QT=t=>yl(t,"",XT),cc=()=>!0,yl=(t,e,n)=>{const r=o_.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},ZT=t=>$T.test(t)&&!zT.test(t),a_=()=>!1,XT=t=>BT.test(t),JT=t=>VT.test(t),e2=()=>{const t=Yt("colors"),e=Yt("spacing"),n=Yt("blur"),r=Yt("brightness"),i=Yt("borderColor"),l=Yt("borderRadius"),d=Yt("borderSpacing"),p=Yt("borderWidth"),m=Yt("contrast"),h=Yt("grayscale"),v=Yt("hueRotate"),y=Yt("invert"),x=Yt("gap"),_=Yt("gradientColorStops"),S=Yt("gradientColorStopPositions"),k=Yt("inset"),C=Yt("margin"),A=Yt("opacity"),P=Yt("padding"),j=Yt("saturate"),E=Yt("scale"),F=Yt("sepia"),z=Yt("skew"),q=Yt("space"),re=Yt("translate"),ee=()=>["auto","contain","none"],se=()=>["auto","hidden","clip","visible","scroll"],ae=()=>["auto",ht,e],J=()=>[ht,e],Y=()=>["",wr,ss],ie=()=>["auto",Ji,ht],Ne=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],R=()=>["solid","dashed","dotted","double","none"],ce=()=>["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"],H=()=>["","0",ht],O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>[Ji,ht];return{cacheSize:500,separator:":",theme:{colors:[cc],spacing:[wr,ss],blur:["none","",is,ht],brightness:T(),borderColor:[t],borderRadius:["n
9one","","full",is,ht],borderSpacing:J(),borderWidth:Y(),contrast:T(),grayscale:H(),hueRotate:T(),invert:H(),gap:J(),gradientColorStops:[t],gradientColorStopPositions:[HT,ss],inset:ae(),margin:ae(),opacity:T(),padding:J(),saturate:T(),scale:T(),sepia:H(),skew:T(),space:J(),translate:J()},classGroups:{aspect:[{aspect:["auto","square","video",ht]}],container:["container"],columns:[{columns:[is]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"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:[...Ne(),ht]}],overflow:[{overflow:se()}],"overflow-x":[{"overflow-x":se()}],"overflow-y":[{"overflow-y":se()}],overscroll:[{overscroll:ee()}],"overscroll-x":[{"overscroll-x":ee()}],"overscroll-y":[{"overscroll-y":ee()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",lc,ht]}],basis:[{basis:ae()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ht]}],grow:[{grow:H()}],shrink:[{shrink:H()}],order:[{order:["first","last","none",lc,ht]}],"grid-cols":[{"grid-cols":[cc]}],"col-start-end":[{col:["auto",{span:["full",lc,ht]},ht]}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":[cc]}],"row-start-end":[{row:["auto",{span:[lc,ht]},ht]}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ht]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ht]}],gap:[{gap:[x]}],"gap-x":[{"gap-x":[x]}],"gap-y":[{"gap-y":[x]}],"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:[P]}],px:[{px:[P]}],py:[{py:[P]}],ps:[{ps:[P]}],pe:[{pe:[P]}],pt:[{pt:[P]}],pr:[{pr:[P]}],pb:[{pb:[P]}],pl:[{pl:[P]}],m:[{m:[C]}],mx:[{mx:[C]}],my:[{my:[C]}],ms:[{ms:[C]}],me:[{me:[C]}],mt:[{mt:[C]}],mr:[{mr:[C]}],mb:[{mb:[C]}],ml:[{ml:[C]}],"space-x":[{"space-x":[q]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[q]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ht,e]}],"min-w":[{"min-w":[ht,e,"min","max","fit"]}],"max-w":[{"max-w":[ht,e,"none","full","min","max","fit","prose",{screen:[is]},is]}],h:[{h:[ht,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ht,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ht,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ht,e,"auto","min","max","fit"]}],"font-size":[{text:["base",is,ss]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",$m]}],"font-family":[{font:[cc]}],"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",ht]}],"line-clamp":[{"line-clamp":["none",Ji,$m]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",wr,ht]}],"list-image":[{"list-image":["none",ht]}],"list-style-type":[{list:["none","disc","decimal",ht]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...R(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",wr,ss]}],"underline-offset":[{"underline-offset":["auto",wr,ht]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:J()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ht]}],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",ht]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Ne(),GT]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",WT]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},YT]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[S]}
vendor: 5,184 bytes, line 9
9],"gradient-via-pos":[{via:[S]}],"gradient-to-pos":[{to:[S]}],"gradient-from":[{from:[_]}],"gradient-via":[{via:[_]}],"gradient-to":[{to:[_]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[p]}],"border-w-x":[{"border-x":[p]}],"border-w-y":[{"border-y":[p]}],"border-w-s":[{"border-s":[p]}],"border-w-e":[{"border-e":[p]}],"border-w-t":[{"border-t":[p]}],"border-w-r":[{"border-r":[p]}],"border-w-b":[{"border-b":[p]}],"border-w-l":[{"border-l":[p]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...R(),"hidden"]}],"divide-x":[{"divide-x":[p]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[p]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:R()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...R()]}],"outline-offset":[{"outline-offset":[wr,ht]}],"outline-w":[{outline:[wr,ss]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[wr,ss]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",is,QT]}],"shadow-color":[{shadow:[cc]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...ce(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ce()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[m]}],"drop-shadow":[{"drop-shadow":["","none",is,ht]}],grayscale:[{grayscale:[h]}],"hue-rotate":[{"hue-rotate":[v]}],invert:[{invert:[y]}],saturate:[{saturate:[j]}],sepia:[{sepia:[F]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[m]}],"backdrop-grayscale":[{"backdrop-grayscale":[h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[v]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[j]}],"backdrop-sepia":[{"backdrop-sepia":[F]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[d]}],"border-spacing-x":[{"border-spacing-x":[d]}],"border-spacing-y":[{"border-spacing-y":[d]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ht]}],duration:[{duration:T()}],ease:[{ease:["linear","in","out","in-out",ht]}],delay:[{delay:T()}],animate:[{animate:["none","spin","ping","pulse","bounce",ht]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[lc,ht]}],"translate-x":[{"translate-x":[re]}],"translate-y":[{"translate-y":[re]}],"skew-x":[{"skew-x":[z]}],"skew-y":[{"skew-y":[z]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ht]}],accent:[{accent:["auto",t]}],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",ht]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":J()}],"scroll-mx":[{"scroll-mx":J()}],"scroll-my":[{"scroll-my":J()}],"scroll-ms":[{"scroll-ms":J()}],"scroll-me":[{"scroll-me":J()}],"scroll-mt":[{"scroll-mt":J()}],"scroll-mr":[{"scroll-mr":J()}],"scroll-mb":[{"scroll-mb":J()}],"scroll-ml":[{"scroll-ml":J()}],"scroll-p":[{"scroll-p":J()}],"scroll-px":[{"scroll-px":J()}],"scroll-py":[{"scroll-py":J()}],"scroll-ps":[{"scroll-ps":J()}],"scroll-pe":[{"scroll-pe":J()}],"scroll-pt":[{"scroll-pt":J()}],"scroll-pr":[{"scroll-pr":J()}],"scroll-pb":[{"scroll-pb":J()}],"scroll-pl":[{"scroll-pl":J()}],"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"]}
9],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",ht]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[wr,ss,$m]}],stroke:[{stroke:[t,"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"]}}},t2=LT(e2);function ge(...t){return t2(J0(t))}const Mg=gl("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"}}),je=f.forwardRef(({className:t,variant:e,size:n,asChild:r=!1,...i},l)=>{const d=r?q0:"button";return a.jsx(d,{className:ge(Mg({variant:e,size:n,className:t})),ref:l,...i})});je.displayName="Button";const n2=(t,e,n)=>{const r=t[e];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((i,l)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(l.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})},ja="en",Lg=[{code:"en",name:"English",native:"English"}
9,{code:"sq",name:"Albanian",native:"Shqip"},{code:"ar",name:"Arabic",native:"Ø§ÙØ¹Ø±Ø¨ÙØ©",rtl:!0},{code:"az",name:"Azerbaijani",native:"AzÉrbaycanca"},{code:"eu",name:"Basque",native:"Euskara"},{code:"bn",name:"Bengali",native:"বাà¦à¦²à¦¾"},{code:"bg",name:"Bulgarian",native:"ÐÑлгаÑÑки"},{code:"ca",name:"Catalan",native:"Català "},{code:"zh-Hans",name:"Chinese (Simplified)",native:"ç®ä½ä¸æ",alsoMatches:["zh","zh-CN","zh-SG","zh-MY","zh-Hans"]},{code:"zh-Hant",name:"Chinese (Traditional)",native:"ç¹é«ä¸æ",alsoMatches:["zh-TW","zh-HK","zh-MO","zh-Hant"]},{code:"cs",name:"Czech",native:"ÄeÅ¡tina"},{code:"da",name:"Danish",native:"Dansk"},{code:"nl",name:"Dutch",native:"Nederlands"},{code:"eo",name:"Esperanto",native:"Esperanto"},{code:"et",name:"Estonian",native:"Eesti"},{code:"fi",name:"Finnish",native:"Suomi"},{code:"fr",name:"French",native:"Français"},{code:"gl",name:"Galician",native:"Galego"},{code:"de",name:"German",native:"Deutsch"},{code:"el",name:"Greek",native:"Îλληνικά"},{code:"he",name:"Hebrew",native:"×¢×ר×ת",rtl:!0,alsoMatches:["iw"]},{code:"hi",name:"Hindi",native:"हिनà¥à¤¦à¥"},{code:"hu",name:"Hungarian",native:"Magyar"},{code:"id",name:"Indonesian",native:"Bahasa Indonesia",alsoMatches:["in"]},{code:"ga",name:"Irish",native:"Gaeilge"},{code:"it",name:"Italian",native:"Italiano"},{code:"ja",name:"Japanese",native:"æ¥æ¬èª"},{code:"ko",name:"Korean",native:"íêµì´"},{code:"ky",name:"Kyrgyz",native:"ÐÑÑгÑзÑа"},{code:"lv",name:"Latvian",native:"LatvieÅ¡u"},{code:"lt",name:"Lithuanian",native:"Lietuvių"},{code:"ms",name:"Malay",native:"Bahasa Melayu"},{code:"nb",name:"Norwegian",native:"Norsk bokmÃ¥l",alsoMatches:["no","nn"]},{code:"fa",name:"Persian",native:"ÙØ§Ø±Ø³Û",rtl:!0},{code:"pl",name:"Polish",native:"Polski"},{code:"pt",name:"Portuguese",native:"Português"},{code:"pt-BR",name:"Portuguese (Brazil)",native:"Português (Brasil)"},{code:"ro",name:"Romanian",native:"RomânÄ"},{code:"ru",name:"Russian",native:"Ð ÑÑÑкий"},{code:"sk",name:"Slovak",native:"SlovenÄina"},{code:"sl",name:"Slovenian",native:"SlovenÅ¡Äina"},{code:"es",name:"Spanish",native:"Español"},{code:"sw",name:"Swahili",native:"Kiswahili"},{code:"sv",name:"Swedish",native:"Svenska"},{code:"tl",name:"Tagalog",native:"Tagalog",alsoMatches:["fil"]},{code:"th",name:"Thai",native:"à¹à¸à¸¢"},{code:"tr",name:"Turkish",native:"Türkçe"},{code:"uk",name:"Ukrainian",native:"УкÑаÑнÑÑка"},{code:"ur",name:"Urdu",native:"اردÙ",rtl:!0},{code:"vi",name:"Vietnamese",native:"Tiếng Viá»t"}],xp=new Map(Lg.map(t=>[t.code.toLowerCase(),t])),Dh=new Map;for(const t of Lg)for(const e of t.alsoMatches??[]){const n=e.toLowerCase();!xp.has(n)&&!Dh.has(n)&&Dh.set(n,t)}function r_(t){return!!t&&xp.has(t.toLowerCase())}function s_(t){return xp.get(t.toLowerCase())}function o2(t){return s_(t)?.rtl===!0}function i_(t,e={}){const n=l=>!e.reviewedOnly||l.code===ja||l.reviewed===!0,r=t.map(l=>String(l||"").trim().toLowerCase()).filter(Boolean).map(l=>l.split("-")),i=Math.max(0,...r.map(l=>l.length));for(let l=i;l>=1;l--)for(const d of r){if(d.length<l)continue;const p=d.slice(0,l).join("-"),m=xp.get(p)??Dh.get(p);if(m&&n(m))return m.code}return ja}const vl={"account.accounts":"LinkedIn accounts","account.accounts.count":"{own} own · {rented} rented","account.accounts.help":"Each account carries one campaign.","account.admin":"Admin","account.affiliate":"Affiliate program","account.aiConsent":"Let Copilot use my campaign data","account.aiConsent.help":"Off means no suggestions, no settings history, no personalisation.","account.aiKeys":"AI keys","account.aiKeys.help":"Optional. Add a key of your own and image generation runs on your account instead of ours â your quota, and nothing sent to a provider's review process.","account.aiKeys.images":"used for images","account.aiKeys.none":"not set","account.aiKeys.paste":"Paste a key","account.aiKeys.rejected":"The provider rejected that key","account.aiKeys.remove":"Remove key","account.aiKeys.replace":"Paste a new key to replace it","account.aiKeys.saved":"Key saved","account.aiKeys.working":"working","account.balance":"Top-up balance","account.balance.help":"Bought separately. Spent only once the pool above runs out.","account.connectLinkedIn":"Connect an account","account.contact":"Contact us","account.delete":"Delete account","account.delete.confirm":"Delete permanently","account.delete.failed":"Nothing was deleted","account.delete.help":"Everything goes: campaigns, connected LinkedIn accounts, settings and history. Any subscription is cancelled first â if that fails nothing is deleted. This cannot be undone.","account.delete.placeholder":"Type your email to confirm","account.delete.sure":"Delete this account?","account.email":"Email","account.grace":"{count} connected account(s) are not covered by your plan yet","account.grace.help":"They stay connected until {when}. Subscribe before then and nothing changes; after it, they are unlinked and their campaigns stop.","account.identity":"You","account.linked":"Linked","account.linkedin":"LinkedIn accounts","account.linkedin.help":"Connect, reconnect or remove the accounts your campaigns run from.","account.manage":"Email, password, avatar, linked accounts","account.manage.help":"Opens the existing settings. These have not been rebuilt here on purpose.","account.more":"More","account.mustChangeEmail":"Add your real email address","account.mustChangeEmail.help":"This account was created from a LinkedIn profile and still has a placeholder address. Billing and password reset need a real one.","account.noPlan":"No plan","account.notLinked":"Not linked","account.openIdentity":"Add it now","account.plan":"Plan and usage","account.plan.createElsewhere":"Add the campaign from your campaign list","account.plan.createElsewhere.help":"The slot is yours and stays empty until you point a campaign at it. Nothing is lost.","account.planCard":"Performance Plan","account.planCard.help":"Your engager tier, the accounts it covers, and what it costs.","account.planStatus":"Plan","account.preferences":"Preferences","account.privacy":"Privacy Policy","account.rentals":"Rented accounts","account.signIn.google":"Google sign-in","account.signIn.help":"How you log in to Top Voice. Campaigns do not run from this â they run from the accounts in the LinkedIn accounts card above.","account.signIn.linkedin":"LinkedIn sign-in","account.signOut":"Sign out","account.terms":"Terms of Service","account.theme":"Theme","account.topUp":"Top up","account.usage":"Used this period","account.usage.help":"Against your free allowance, or your subscription pool once you have one.","account.usageCard":"Tokens","activity.empty":"Nothing recorded yet for this period. Appearances show up here within minutes of a run; the LinkedIn figures follow once your account has been collected at least once.","activity.range.30d":"Last 30 days","activity.range.90d":"Last 90 days","activity.range.all":"All time","activity.range.week":"Last week","activity.title":"Boosting","activity.warmingUp":"Some lines are hidden while LinkedIn's own counting window fills up. It restarts whenever a campaign launches, pauses, or loses its account, and takes a week to become a meaningful daily figure. The totals above are unaffected.","apWarn.firstCommentSkipped":"First c
9omment skipped: {error}","apWarn.reshareAbandoned":"Reshare to {target} couldn't be delivered within 48 hours and was abandoned.","apWarn.reshareRetrying":"Reshare to {target} is retryingâ¦","apWarn.reshareSkipped":"Reshare to {target} was skipped: {error}","apWarn.target.named":"â{name}â","apWarn.target.page":"a page","apWarn.target.profile":"a profile","apply.banner.insert":"This creates something new. Nothing you already have is touched.","apply.banner.insertPaused":"This creates something new. Nothing you already have is touched, and it starts switched off until you turn it on.","apply.banner.link.body":"Continuing opens the page in the app where you make this change yourself.","apply.banner.link.lead":"Nothing is saved here.","apply.banner.patch":"This {overwrites}. If that is not the one you meant, cancel and say which.","apply.banner.patch.overwrites":"overwrites settings you already have","apply.banner.patchId":"This {overwrites} (id {id}). If that is not the one you meant, cancel and say which.","apply.banner.patchName":"This {overwrites} on {name}. If that is not the one you meant, cancel and say which.","apply.banner.patchNameId":"This {overwrites} on {name} (id {id}). If that is not the one you meant, cancel and say which.","apply.cancel":"Cancel","apply.consent.body":"AI personalization is switched off for this account. Enable it from your account settings to apply copilot proposals.","apply.consent.heading":"AI Personalization Required","apply.consent.title":"Consent Required","apply.done.applied":"Change Applied","apply.done.appliedTitle":"Applied","apply.done.changedFields":"Changed fields: {fields}","apply.done.created":"Created","apply.done.dryRun":"Note: Dry run mode is enabled, so changes were saved but not published.","apply.done.fieldsSet":"Fields set: {fields}","apply.done.notPublished":"Not published: {items}","apply.done.open":"Open {name}","apply.error.alreadyUsed":"That change has already been dealt with.","apply.error.expired":"That change expired. Ask me again and I'll re-check your current settings.","apply.error.failed":"The change could not be applied.","apply.error.generic":"An error occurred.","apply.error.heading":"Could Not Apply","apply.error.notFound":"That change is no longer available.","apply.error.stale":"{reason}. Ask me again and I'll look at the current settings.","apply.error.staleFallback":"The settings changed after this was proposed.","apply.error.title":"Error","apply.expired.body":"This change expired. Start a new conversation and ask again, and the copilot will check your current settings.","apply.expired.heading":"Proposal Expired","apply.expired.title":"Expired","apply.heading.named":"{kind} «{name}»","apply.kind.action":"Open in the app","apply.kind.boosting":"Edit boosting campaign","apply.kind.boosting_create":"New boosting campaign","apply.kind.content":"Edit content campaign","apply.kind.content_create":"New content campaign","apply.kind.flow":"New Influence Flow","apply.kind.flow_settings":"Edit Influence Flow","apply.kind.prelander":"Edit pre-lander","apply.kind.sheet":"Edit sheet","apply.meta.channel":"Channel: {channel} | Expires: {expires}","apply.meta.never":"never","apply.meta.target":"Domain: {domain} | Target ID: {target}","apply.meta.targetNew":"none (new)","apply.notAuthenticated":"Not authenticated","apply.notFound.body":"That change is no longer available. It may have expired, been applied already, or belonged to a different account.","apply.notFound.heading":"Proposal Not Found","apply.notFound.title":"Not Found","apply.returnHome":"Return to Top Voice","apply.submit.insert":"Create It","apply.submit.link":"Open the page","apply.submit.patch":"Apply This Change","apply.table.changes":"Changes","apply.table.field":"Field","apply.table.from":"From","apply.table.link":"What the link carries","apply.table.new":"Settings for the new one","apply.table.to":"To","apply.table.value":"Value","apply.used.body.applied":"This change has already been applied.","apply.used.body.other":"This change has already been {status}.","apply.used.body.rejected":"This change has already been rejected.","apply.used.heading.applied":"Already Applied","apply.used.heading.rejected":"Already Declined","apply.used.title":"Already Used","assist.history":"Changes","assist.history.cta":"Open history","assist.history.help":"What changed, when, and who or what changed it. Anything can be reverted.","assist.optimize":"Optimize","assist.optimize.cta":"See suggestions","assist.optimize.help":"Suggestions for this campaign, each one you apply or ignore.","assist.setup":"AI setup","assist.setup.cta":"Instant Setup","assist.setup.help":"Describe what you sell and get keywords, filters and messages written for you.","autopilot.setup.chatgpt.caveat1":`A SCHEDULED task cannot finish this, on any plan including Business. Write actions need your confirmation, and "remember my approval" lasts only for that one conversation â every scheduled run is a new conversation. This is OpenAI's own documented behaviour.`,"auto
9pilot.setup.chatgpt.caveat2":"OpenAI's two documents also disagree about whether Plus and Pro get write-capable connectors at all: the developer guide lists Pro, Plus, Business, Enterprise and Education for full read and write; the more recently updated help centre says full MCP is Business/Enterprise/Edu only. It does not change the answer â the confirmation stops an unattended run either way.","autopilot.setup.chatgpt.caveat3":"It must be a plain chat. A scheduled task started from a custom GPT runs without the GPT and without its instructions.","autopilot.setup.chatgpt.caveat4":"Nothing is lost by not running this. Top Voice generates anything you leave before the post is due.","autopilot.setup.chatgpt.caveat5":'The approval cannot be made to stick: "remember my approval" covers one conversation, and a scheduled run is a new conversation each time. So treat the push as the review step rather than something to get rid of.',"autopilot.setup.chatgpt.step1":"Settings â Connectors â Advanced â turn on Developer mode.","autopilot.setup.chatgpt.step2":"Add the Top Voice connector by URL and sign in when it asks.","autopilot.setup.chatgpt.step3":"Open a NEW ordinary chat â not a custom GPT â and paste the prompt below.","autopilot.setup.chatgpt.step4":"Schedule that chat, and keep notifications on in the ChatGPT mobile app. Each run asks you to approve the write; approving is one tap.","autopilot.setup.chatgpt.step5":"ChatGPT can also generate the image or the video for a post. It cannot hand a file to a connector, so download it and attach it in Top Voice â the LinkedIn account is already connected, so we post it for you.","autopilot.setup.chatgpt.title":"ChatGPT â schedule it, approve it from your phone","autopilot.setup.claude.caveat1":'THE APPROVAL IS THE POINT, not an obstacle. Claude prompts on every custom-connector tool call and the controls that should make it stick do not work â "Allow all for this task" is disabled for custom remote connectors, and "Allow for all scheduled runs" errors instead of persisting. So instead of pretending it runs alone, the schedule wakes you: the prompt arrives as a push and you approve it wherever you are.',"autopilot.setup.claude.caveat2":"Which also means you SEE what is about to go out before it does. If you would rather not, do nothing â Top Voice generates anything you leave before the post is due, on our side, exactly as it did before you set this up.","autopilot.setup.claude.caveat3":"Claude has a standing problem with custom connectors in background runs: the tools are documented to be there and are often not loaded at all. That is what the subagent line is for.","autopilot.setup.claude.caveat4":"Claude Design and Claude's own image generation make creatives, but neither can hand a file to a connector â only you can. Download it from the chat and attach it to the post in Top Voice, or post it yourself.","autopilot.setup.claude.step1":"Customize â Connectors â Add custom connector, paste the Top Voice URL, sign in.","autopilot.setup.claude.step2":"Turn on push notifications in the Claude mobile app, and Remote Control if you have it.","autopilot.setup.claude.step3":"Create a scheduled task with the prompt below, at a cadence your plan allows: Pro gets 5 runs a day, Max 15, Team and Enterprise 25.","autopilot.setup.claude.step4":"When it fires you get a push asking to allow the connector's calls. Tap allow and it finishes the work. That tap is the whole of your involvement.","autopilot.setup.claude.step5":"Leave the first line of the prompt exactly as it is â it is what makes the connector's tools load at all in a background run.","autopilot.setup.claude.title":"Claude â schedule it, approve it from your phone","autopilot.setup.copied":"Copied","autopilot.setup.copy":"Copy","autopilot.setup.interactive":"You need to be there for this one. Both ChatGPT and Claude ask you to approve each write, and neither remembers it for a scheduled run â so this works when you open a chat, not on a timer. Nothing is lost by skipping it: Top Voice generates anything left before the post is due.","autopilot.setup.prompt":"Task prompt","autopilot.setup.unattended":"Runs on its own once set up â nothing to approve per post.","capacity.found":"Your flows found","capacity.help":"Every 15 minutes your flows react under matching posts. Three things decide how many.","capacity.now":"Allowed right now","capacity.plan":"Your plan allows","capacity.product":"Product maximum","capacity.product.help":"{max} per campaign per run, split across your {flows} flows. Nothing raises this.","capacity.title":"Auto-reactions per run","capacity.warming":"Warming up","capacity.warming.help":"New accounts ramp gradually so LinkedIn sees human-paced activity, and quiet hours thin it further. This climbs to your plan's number on its own.","claudePage.copied":"Copied","claudePage.copy":"Copy","claudePage.intro":"The Copilot runs as a connector: Claude reads your campaigns, your funnel and your keywords, and can change them when you ask.","claudePage.note":"Custom connectors are available on Claude's paid plans. You do not need to wait for the directory listing â this URL works today, and signing in is what ties the connector to your own campaigns.","claudePage.o
9penDialog":"Open the Add-connector dialog in Claude","claudePage.step.connect":"Press {connect} and sign in with your Top Voice account.","claudePage.step.name":"Name it {name}. That is the name you will see in your connector list.","claudePage.step.open":"Press the button below â it opens Claude's {dialog} dialog. (By hand: {path}.)","claudePage.step.paste":"Paste the URL above into {field}, then {next}.","claudePage.title":"Add Top Voice to Claude","common.any":"Any","common.cancel":"Cancel","common.close":"Close","common.connect":"Connect","common.edit":"Edit","common.notConnected":"Not connected","common.open":"Open","common.paused":"Paused","common.running":"Running","common.save":"Save","common.saved":"Saved","common.saving":"Savingâ¦","common.seeAll":"See all","common.test":"Test","connectChooser.connectNothing":"{strong} WarmLike builds the page on an account from its own pool. Your LinkedIn stays completely untouched â no login, no credentials, no access shared. Best for privacy & safety.","connectChooser.connectNothing.strong":"Connect nothing.","connectChooser.description":"Use your own LinkedIn account or rent a dedicated one from our pool to start your Performance Plan.","connectChooser.honestNote":"Honest note: a pre-lander is {strong} than connecting your own account â boosting your profile directly is the most direct way to grow. Choose this only if you'd rather not connect any account.","connectChooser.honestNote.strong":"less efficient","connectChooser.own.body":"{strong} to enable exponential boosting â considerate appearances under prospect posts, never automatic or AI comments involved. This also enables automated Authentic Posts publishing.","connectChooser.own.body.strong":"Connect your LinkedIn","connectChooser.own.cta":"Connect with Credentials","connectChooser.own.mostEfficient":"Most direct & efficient way to boost your profile.","connectChooser.own.trial":"14-day free trial â then from $49/mo.","connectChooser.prelanderCta":"Set up a Profile Pre-lander on warmlike.com","connectChooser.prelanderOpens":"Opens warmlike.com. Boosting for a pre-lander you already have stays here, in Grow.","connectChooser.prelanderReason":"A rented account can boost a company Page you own, but not your personal profile â activity on a profile has to come from that profile's own account. The route that does work for a profile is a Profile Pre-lander: a LinkedIn page on a rented account that drives traffic toward you. Pre-landers are made on warmlike.com.","connectChooser.rent.body":"{strong} Rent a dedicated account from our in-house pool and start boosting right away â your $49/mo rental activates your Performance Plan (no separate base fee).","connectChooser.rent.body.strong":"No LinkedIn account?","connectChooser.rentOnProfileNote":"This campaign points at a personal profile, and a rented account boosts a company Page you own rather than a profile â activity on a profile has to come from that profile's own account. Rent one if you have a Page to boost; otherwise the pre-lander above is the route to a profile.","connectChooser.tab.own":"Own LinkedIn account","connectChooser.tab.rent":"Rent LinkedIn account","connector.consent.canHeading":"It will be able to:","connector.consent.cancel":"Cancel","connector.consent.connect":"Connect","connector.consent.intro":"An application that identifies itself as {name} is asking to connect to your Top Voice account. It will send you back to {host}.","connector.consent.neverAlone":"It can never change a setting on its own. Every change it suggests is shown to you first, and you approve it here.","connector.consent.title":"Connect an application","connector.consent.warning":"Only continue if you started this yourself. We cannot verify the name above â the application chose it.","connector.error.badRedirect.title":"Invalid redirect","connector.error.blocked.body":"That request did not come from this site.","connector.error.blocked.title":"Request blocked","connector.error.expired.body":"This approval form is no longer valid. Start the connection again.","connector.error.expired.title":"Request expired","connector.error.footer":"Nothing has been shared, and no access was granted.","connector.error.missingClient.body":"This link is missing a {param}.","connector.error.missingClient.title":"Missing application","connector.error.redirect.fragment":"{param} must not contain a fragment","connector.error.redirect.noneRegistered":"client has no registered {param}","connector.error.redirect.required":"{param} is required for this client","connector.error.redirect.unregistered":"{param} is not registered for this client","connector.error.signedOut.body":"Sign in and start the connection again.","connector.error.signedOut.title":"Not signed in","connector.error.unknownClient.body":"We do not recognise the application that sent you here.","connector.error.unknownClient.title":"Unknown application","connector.scope.accountRead":"See your plan, credit balance and how many campaigns you have","connector.scope.boostingRead":"Read your LinkedIn boosting campaigns and their targeting","connector.scope.boostingWrite":"Propose changes to your boosting targeting (you still confirm each one)","connector.scope.contentRead":"Read your posting schedule and content brief","connector.scope.contentWrite":"Propose changes to your content brief and cadence (you still confirm each one)","connector.scope.prelanderRead":"Read your warmlike.com pre-lander page settings","connector.scope.prelanderWrite":"Propose changes to your pre-lander page copy (you still confirm each one)","consent.future":"{label} â power upcoming features like recommended templates and tailored comparison pages.","consent.future.label":"Future personalization","consent.history":"{label} â keep a private log of changes you make so you can revert anytime.","consent.history.label":"Settings history","consent.info":"What this means","consent.label":"Help improve Top Voice by letting AI use my campaign data to suggest smarter settings and remember my changes.","consent.optimize":"{label} â surface one-click suggestions based on your campaign's signal flows, filters, and engagement.","consent.optimize.label":"AI optimization","consent.popover.title":"How your data helps","consent.private":"Always private to your account. You can turn this off later under {path}.","consent.private.path":"Account Settings â AI personalization","contact.description":"Send a message to the Top Voice team. We'll reply to your email.","contact.error.failed":"Failed to send. Please try again.","contact.error.network":"Failed to send. Please check your connection and try again.","contact.message":"Message","contact.messagePlaceholder":"How can we help?","contact.send":"Send message","contact.sending":"Sendingâ¦","contact.sent.body":"We'll get back to you at the email you provided.","contact.sent.title":"Message sent!","contact.yourEmail":"Your email","content.core.attached":"Attached â the next post uses it.","content.core.giphy":"Rather post a GIF? Switch it on in Creatives and the campaign picks one to fit the post.","content.core.help":"The one image a post is built from. Attach one you made in ChatGPT, Claude or anywhere else, and Top Voice builds the post's visuals from it, at no cost to you:","content.core.title":"Core creative","content.core.use.brand":"your logo and name on them, when Branding is set","content.core.use.carousel":"the colour theme of carousel slides","content.core.use.image":"the post's image itself","content.core.use.video":"the background of an animated video","content.creative":"Attach a creative","content.creative.attached":"Attached â the next post will use it","content.creative.cta":"Choose an image","content.creative.failed":"Could not attach that image","content.creative.help":"Made an image in your own ChatGPT or Claude? Drop it here and the next post uses it instead of generating one. PNG, JPEG or WebP, up to 8MB.","content.creative.tooLarge":"That image is over 8MB","content.howto.free":"Free with a boosting plan: what your assistant writes, what Top Voice makes from your core creative, and the posting are not charged.","content.howto.schedule":"Or let it run on a schedule:","content.howto.step1":"Connect Top Voice to ChatGPT or Claude with the two buttons at the bottom of the left rail.","content.howto.step2":"Ask it to write this campaign's next post. It uses the campaign's own topics, voices and rules, and shows you the post first.","content.howto.step3"
9:"Approve it, and it hands the post to the campaign, which publishes it at the next scheduled time. It appears above, under Next post.","content.howto.step4":"Make the image there too, download it and attach it as the core creative.","content.howto.step5":"Ask it to change topics, tone, schedule or formats: it prepares the change for you to confirm, and sends you links to these settings.","content.howto.title":"Write and post with your own ChatGPT or Claude","content.more":"Open in full","content.next.desktop":"Desktop","content.next.fromAssistant":"Written by your ChatGPT or Claude, handed over {time}.","content.next.goesOut":"Goes out {time}.","content.next.help":"What goes out at the next scheduled time, as it will look on LinkedIn.","content.next.mobile":"Mobile","content.next.noAccount":"No LinkedIn account is chosen for this campaign â choose one in Autopilot & schedule.","content.next.none":"Nothing handed over yet. Ask your ChatGPT or Claude to write this campaign's next post and it appears here before it goes out. If nothing is handed over, Top Voice writes the post itself.","content.next.now":"Now","content.next.paused":"The campaign is paused â turn it on in Autopilot & schedule and this is what goes out.","content.next.seeMore":"â¦see more","content.next.title":"Next post","content.next.tooEarly":"Handed over more than {hours} hours before it is due, so Top Voice writes that post itself unless your assistant hands it over again closer to the day.","content.none":"No content campaigns yet.","content.openAll":"All content campaigns","content.openBoosting":"Back to boosting","content.openOne":"All settings for this campaign","content.settings":"Settings","content.settings.help":"Opens the real setting from the content page, without the rest of it.","content.status.next":"next post {time}","content.status.noAccount":"no LinkedIn account","content.subtitle":"What gets posted on your behalf, and the creative that goes with it. The full settings live on the content page â this is the short way in.","content.subtitle.pick":"Posts written and published for you on a schedule. Everything below is about the campaign picked here.","content.title":"Content campaigns","contentPage.aiTheme.active":"Active theme: {name}","contentPage.aiTheme.generate":"Generate Theme","contentPage.aiTheme.help":"Describe the style you want and AI will generate a matching presentation theme with custom colors, gradients, and typography.","contentPage.aiTheme.placeholder":'e.g. "luxury brand with gold accents", "neon cyberpunk", "nature organic"',"contentPage.aiTheme.title":"AI Custom Theme","contentPage.aiTheme.units":"{count} units","contentPage.analytics.appearances":"Boosted Appearances","contentPage.analytics.authenticAppearances":"Authentic Appearances","contentPage.analytics.boostIt":"Boost it!","contentPage.analytics.caseStudy":"Proven Case Study of 14 day Free Trial:","contentPage.analytics.engagements":"Post Engagements","contentPage.analytics.impressions":"Post Impressions","contentPage.analytics.impressions7d":"Post Impressions (past 7 days)","contentPage.analytics.organicVisitors":"Organic Visitors","contentPage.analytics.pageVisitors7d":"Page Visitors (past 7 days)","contentPage.analytics.profileViewers":"Profile Viewers","contentPage.analytics.profileViewers7d":"Profile Viewers (past 7 days)","contentPage.analytics.title":"Authentic Influence Performance","contentPage.autopilot.addAccount":"Add another LinkedIn account","contentPage.autopilot.companyPageParen":"(Company Page)","contentPage.autopilot.connectHint":"Connect a LinkedIn account to enable automated posting","contentPage.autopilot.createCampaign":"Create Campaign","contentPage.autopilot.createFirst":"Create a campaign to get started with Autopilot","contentPage.autopilot.disconnected":"Disconnected â reconnect to post","contentPage.autopilot.generateReview":"Generate for Review (~{mins} min)","contentPage.autopilot.inactive":"Inactive","contentPage.autopilot.last":"Last: {date}","contentPage.autopilot.loadingAccounts":"Loading accounts...","contentPage.autopilot.noPages":"{name} â no approved pages yet","contentPage.autopilot.pageOnly":"Page-Only · {name}","contentPage.autopilot.paused":"Autopilot is paused","contentPage.autopilot.postAs":"Post As","contentPage.autopilot.postNow":"Generate & Post Now (~{mins} min)","contentPage.autopilot.postingAs":"Posting as {name}","contentPage.autopilot.published":"{count} posts published","contentPage.autopilot.refreshTitle":"Fetch latest names and logos from LinkedIn","contentPage.autopilot.reviewInAssistant":"To see the next post before it goes out, ask your ChatGPT or Claude to write it â it uses this campaign's own instructions and can hand it back for the scheduled time.","contentPage.autopilot.running":"Autopilot is running","contentPage.autopilot.signIn":"Sign in to set up Autopilot campaigns","contentPage.autopilot.subtitle":"Automated posting for {name}","contentPage.autopilot.thisCampaign":"this campaign","contentPage.autopilot.title":"Autopilot","contentPage.blog.help":"Generates a long-read article (Markdown + HTML) plus your usual creatives, then pushes everything to the {webhook}. This setting doesn't affect your LinkedIn posting. If LinkedIn autopilot is also active, the webhook additionally receives the {embed} of each autoposted LinkedIn post so your blog can embed it directly.","contentPage.blog.help.embed":"embed code","contentPage.blog.help.webhook":"Cross-Post Webhook below","contentPage.blog.title":"Autogenerate blog posts","contentPage.branding.accent":"Accent Color","contentPage.branding.brandName":"Brand name","contentPage.branding.dynamic":"dynamic","contentPage.branding.font":"Font Family","contentPage.branding.fontDefault":"Default (System)","contentPage.branding.help":"Persistent logo and brand name on every carousel and video. Core theme colors are still generated fresh each time.","contentPage.branding.locked":"Locked","contentPage.branding.lockedBanner":"Free-tier downloads carry the Top Voice logo and brand on every carousel, video, and image. Top up paid tokens or start a plan to customize your own branding â your saved settings will be restored automatically.","contentPage.branding.logoAlt":"logo","contentPage.branding.logoSize":"Logo Size","contentPage.branding.logoUrl":"Or paste logo URL (PNG/SVG)","contentPage.branding.position":"Position","contentPage.branding.replaceLogo":"Click to replace logo","contentPage.branding.title":"Branding","contentPage.branding.uploadLogo":"Click to upload logo","contentPage.carousel.customize":"Customize Theme","contentPage.carousel.generate":"Generate Presentation","contentPage.carousel.generating":"Generating Slides...","contentPage.carousel.pdfAuto":"Auto-suggested when post is ready, or type your own","contentPage.carousel.pdfGenerating":"Generating headlineâ¦","contentPage.carousel.pdfManual":"Type a name, or generate a post first for an auto-suggestion","contentPage.carousel.pdfName":"PDF Document Name","contentPage.carousel.pdfNameHint":"(shown on LinkedIn under the carousel)","contentPage.carousel.pdfRegenDisabledTitle":"Generate a post first to enable AI title","contentPage.carousel.pdfRegenTitle":"Regenerate title from post copy","contentPage.carousel.slides":"Slides","contentPage.carousel.topic":"Presentation Topic","contentPage.carousel.topicPlaceholder":"Topic for presentation slides...","contentPage.clear":"Clear","contentPage.clearAll":"Clear All","contentPage.companyPage":"Company Page","contentPage.connectLinkedIn":"Connect LinkedIn","contentPage.convert.cta":"Convert Slides to Video","contentPage.convert.help":"Transform your presentation slides into an animated video preview instantly â no extra cost.","contentPage.convert.title":"Convert to Video","contentPage.copy.regenerate":"Regenerate","contentPage.copy.title":"Post Copy","contentPage.copyFailed.body":"Could not copy to clipboard","contentPage.creatives.asCarouselTheme":"Push auto generated Core Creative (image) as Carousel theme","contentPage.creatives.asVideoTheme":"Push auto generated Core Creative (image) as Animation theme","contentPage.creatives.carousel":"Carousel (PDF slides)","contentPage.creatives.creativity":"Creativity: {value}%","contentPage.creatives.format":"Format:","contentPage.creatives.image":"Core creative (Image)","contentPage.creatives.logic":"Creative Type Logic","contentPage.creatives.logicHelp":"Describe when to use or skip each creative type. You can also specify brand colors to use (e.g. '#FF6B35, #1B4965') â otherwise colors are extracted from the generated image.","contentPage.creatives.logicPlaceholder":"e.g. 'Use carousel for list-style posts, video for tutorials. Skip video on weekends. Always use brand colors: #FF6B35, #1B4965 (rotate between them).'","contentPage.creatives.mix":"Rotation mix","contentPage.creatives.mixHelp":"How often each enabled type is posted. Equal by default; set a weight to 0 to pause a type from rotation.","contentPage.creatives.mixReset":"Reset to equal","contentPage.creatives.themeOnly":"Use Core Creative (image) for theme only â don't attach to post","contentPage.creatives.types":"Creative Types to Generate","contentPage.creatives.video":"Animation (video)","contentPage.creativity.artistic":"Artistic","contentPage.creativity.balanced":"Balanced","contentPage.creativity.clean":"Clean","contentPage.creativity.creative":"Creative","contentPage.creativity.slideBackgroun
9d":"Slide Background","contentPage.data.attach":"Attach","contentPage.data.context":"Context / Source Material (optional)","contentPage.data.contextPlaceholder":"Paste article excerpts, notes, or data points to incorporate...","contentPage.data.files":"Attach Files","contentPage.data.links":"Reference Links","contentPage.data.prompt":"AI Prompt / Style Instructions (optional)","contentPage.data.promptPlaceholder":'E.g., "Write in a conversational tone, include a hook question"',"contentPage.data.title":"Post Data","contentPage.data.topic":"Topic / Idea *","contentPage.data.topicPlaceholder":"What do you want to write about? E.g., 'The future of AI in marketing' or paste a key insight...","contentPage.day.fri":"Fri","contentPage.day.mon":"Mon","contentPage.day.sat":"Sat","contentPage.day.sun":"Sun","contentPage.day.thu":"Thu","contentPage.day.tue":"Tue","contentPage.day.wed":"Wed","contentPage.delete":"Delete","contentPage.err.carousel":"Failed to generate carousel","contentPage.err.gifDownload":"Failed to download GIF ({status})","contentPage.err.gifNotImage":"Downloaded file was not an image","contentPage.err.gifRead":"Could not read GIF data","contentPage.err.image":"Failed to generate image","contentPage.err.needImagePrompt":"Please provide an image description or generate a post first","contentPage.err.needTemplatePrompt":"Please describe your desired template style or attach a style reference image","contentPage.err.needThemePrompt":"Please describe your desired presentation style","contentPage.err.needTopic":"Please provide a topic or generate a post first","contentPage.err.needVideoConcept":"Please provide a video concept or generate a post first","contentPage.err.noSourceImage":"No source image selected","contentPage.err.remix":"Failed to remix image","contentPage.err.sourceImageMissing":"Source image not found","contentPage.err.template":"Failed to generate custom template","contentPage.err.theme":"Failed to generate custom theme","contentPage.err.video":"Failed to generate video script","contentPage.flow.connect":"Connect Influence Flow","contentPage.flow.connectedName":"{name} (connected)","contentPage.flow.create":"Create new Influence Flow","contentPage.flow.disconnect":"Disconnect flow","contentPage.flow.editTitle":'Edit "{name}" in Influence Flow',"contentPage.flow.none":"No Influence Flows yet. Click {plus} to create one, or {link}.","contentPage.flow.none.link":"open Influential Opinion","contentPage.flow.pasteLink":"Or paste an Influence Flow link","contentPage.flow.untitled":"Untitled Flow","contentPage.flow.yours":"Your Influence Flows","contentPage.followups.advFilter":"Reuse a saved Advanced Filter (from your Boost campaigns)","contentPage.followups.aiCraft":"AI-craft using engager's name, headline, their comment & the matching offer","contentPage.followups.asPage":"As page: {name}","contentPage.followups.asProfile":"As profile: {name}","contentPage.followups.autoTranslate":"Auto-translate comments to the engager's LinkedIn profile language","contentPage.followups.blogLink":"Add a link to the matching blog post (pulled from your blog feed)","contentPage.followups.blogLinkDetectHint":"Use âDetect feedâ to auto-find it from your blog.","contentPage.followups.blogLinkHelp":"After this campaign posts and your article goes live, we find the newest matching post in this feed and include its link in the first comment. If it's not published yet, we wait up to an hour, then comment without the link.","contentPage.followups.boostCta":"Set up Boost â","contentPage.followups.boostHelp":"Comment follow-ups work great on their own, but pairing them with a Boost campaign multiplies the engagers we can reply to.","contentPage.followups.boostPage":"Boost this page for more reach.","contentPage.followups.boostProfile":"Boost this profile for more reach.","contentPage.followups.clearTier":"Clear tier","contentPage.followups.countries":"({count} countries)","contentPage.followups.delay":"Delay","contentPage.followups.detect":"Detect feed","contentPage.followups.detectDisabledTitle":"Seed this campaign from a blog first to enable auto-detection","contentPage.followups.detectTitle":"Auto-detect the feed from your blog URL","contentPage.followups.exclude":"exclude","contentPage.followups.feedUrl":"Blog feed URL (RSS, Atom, or sitemap)","contentPage.followups.filterN":"Filter #{id}","contentPage.followups.filters":"Optional filters (skip engagers that don't match)","contentPage.followups.filtersCost":"Filters that need profile data (location, advanced filter) trigger a profile lookup per engager â leave blank for the cheapest path.","contentPage.followups.firstComment":"Auto first-comment on this campaign's new posts","contentPage.followups.firstCommentHelp":"After this campaign auto-posts, we add the author's own first comment â perfect for a CTA or link. It fires once per post at a random time within the range below.","contentPage.followups.freq.always":"Always","contentPage.followups.freq.monthly":"Once / month","contentPage.followups.freq.once":"Once ever","contentPage.followups.freq.weekly":"Once / week","contentPage.followups.frequency":"Frequency per engager","contentPage.followups.help":"AI-generated comments tied to this content campaign â replies to engagers on your own posts and (page only) on
9LinkedIn-suggested trending posts. Independent of any Boost campaign.","contentPage.followups.hiringPlaceholder":"e.g., 'happy to share our talent pipeline of pre-vetted PMs â free trial of our hiring tool'","contentPage.followups.instruction":"First-comment instruction (your CTA, link, or note)","contentPage.followups.instructionAi":"AI-craft the first comment from your instruction (any link is preserved)","contentPage.followups.instructionPlaceholder":"e.g., 'Add a friendly nudge to grab our free template at https://example.com/template'","contentPage.followups.instructionVerbatim":"Post the instruction text above exactly as written","contentPage.followups.language":"Language (matched against headline)","contentPage.followups.languagePlaceholder":"e.g., en, fr","contentPage.followups.latest":"Latest post in this feed:","contentPage.followups.latestEmpty":"No posts found in this feed yet. Double-check the feed URL points at a real RSS, Atom, or sitemap with recent content.","contentPage.followups.location":"Location","contentPage.followups.locationPlaceholder":"e.g., United States, EMEA","contentPage.followups.minutesJittered":"minutes (jittered)","contentPage.followups.offer":"Default offer (used for everyone unless a badge below matches)","contentPage.followups.offerPlaceholder":"Briefly describe your offer or value-prop the AI can weave in (e.g., 'we help SaaS teams ship docs 10x faster â free starter plan available')","contentPage.followups.otwPlaceholder":"e.g., 'we just opened 3 senior IC roles â DM me if you'd like a referral'","contentPage.followups.override":"Override for engagers with {badge} badge (optional)","contentPage.followups.overrideHiring.badge":'"Hiring"',"contentPage.followups.overrideOtw.badge":'"Open to Work"',"contentPage.followups.postBetween":"Post between {min} and {max} minutes after posting","contentPage.followups.preview":"Preview latest post","contentPage.followups.previewDisabledTitle":"Enter or detect a feed URL first","contentPage.followups.previewTitle":"Fetch the newest post this feed currently resolves to","contentPage.followups.quickSet":"Quick-set:","contentPage.followups.rentedPagesOnly":"(rented · pages only)","contentPage.followups.reply":"Reply to engagers on this campaign's posts","contentPage.followups.replyHelp":"When someone reacts or comments on a post this campaign published, we drop a short AI-crafted reply tagging them and weaving in your offer below. Random delay around the chosen value (±30%).","contentPage.followups.repost":"Repost this campaign's posts on other accounts","contentPage.followups.repostBetween":"Repost between {min} and {max} min after posting","contentPage.followups.repostDisconnected":"Disconnected â reconnect to repost from this account.","contentPage.followups.repostHelp":"Amplify each new post by resharing it from accounts you control. Own accounts can repost as a profile or a page; rented accounts can repost as pages only. Each target reshares once per post, at a random time within its own range.","contentPage.followups.repostNone":"No eligible accounts. Connect a LinkedIn account or rent one to enable reposts.","contentPage.followups.title":"Comment Follow-ups to Own LinkedIn Posts","contentPage.followups.trending":"Comment on LinkedIn-suggested trending posts","contentPage.followups.trendingAi":"AI-craft a short, contextual remark on the trending post","contentPage.followups.trendingHelp":`Every 30 min we scan LinkedIn notifications for "Comment on X's trending post to grow page reach" prompts, follow the post, and add a short, in-context AI comment from your page (no selling).`,"contentPage.followups.trendingPlaceholder":"Optional: short context about what your page is about (used as tonal background only â never mentioned in the comment)","contentPage.generatePost":"Generate Post","contentPage.generating":"Generating...","contentPage.gif.adding":"Addingâ¦","contentPage.gif.empty":"Search for a GIF above or click a suggestion.","contentPage.gif.generic":"(generic â write your post for tailored ideas)","contentPage.gif.loading":"Loading GIFsâ¦","contentPage.gif.loadingShort":"loadingâ¦","contentPage.gif.placeholder":"celebration, mind blown, thumbs upâ¦","contentPage.gif.posting":"Postingâ¦","contentPage.gif.powered":"Powered by GIPHY · {status}","contentPage.gif.refresh":"Refresh ideas","contentPage.gif.refreshHint":'Click "Refresh ideas" to get post-specific GIF queries.',"contentPage.gif.result":"{count} result","contentPage.gif.results":"{count} results","contentPage.gif.search":"Search Giphy","contentPage.gif.searchCta":"Search","contentPage.gif.selected":"Selected GIF","contentPage.gif.suggested":"Suggested from your post","contentPage.gif.untitled":"Untitled","contentPage.gif.use":"Use as Core Creative (add overlay)","contentPage.gif.useTitle":"Add this GIF to your Core Creative slot â you can then drag overlay text on top. Posting with overlay applied bakes the text into a static PNG (animation will be lost).","contentPage.header.logoAlt":"{name} logo","contentPage.header.page":"Page","contentPage.header.profileOrPage":"Profile/Page","contentPage.header.subtitle":"Connect {flow} for creating Co-Authored LinkedIn posts on behalf of your {asset}. Combine your tone or voice with extra hooks and generate high quality dynamic visuals.","contentPage.header.subtitleBar":"Authentic Content Generator","contentPage.header.title":"Authentic Content","contentPage.header.titleFor":"Authentic Content for {name}","contentPage.hint.body":"Enter a topic below and click {button} to see AI-written content tailored to your style. No LinkedIn connection needed for this step.","contentPage.hint.title":"Try generating your first post","contentPage.image.description":"Image Description","contentPage.image.deselectAll":"Deselect All","contentPage.image.format":"Format","contentPage.image.freshNext":"Next click: fresh AI image (your upload kept for later)","contentPage.image.freshNextHelp":'Click "Generate Image" to make a fresh AI image. After that, the next click goes back to stylizing your upload.',"contentPage.image.freshOnce":"Fresh AI once","contentPage.image.generate":"Generate Image","contentPage.image.generateAnother":"Generate Another","contentPage.image.generateFresh":"Generate Fresh AI","contentPage.image.generatedAlt":"Generated {n}","contentPage.image.isSourceTitle":"Currently the stylize source","contentPage.image.mayContainText":"Image may contain texts","contentPage.image.noText":"(No text)","contentPage.image.orAuto":"(or auto-generate from post)","contentPage.image.placeholder":"Describe the image you want to generate...","contentPage.image.placeholderAuto":"Describe the image, or leave blank to auto-generate from your post...","contentPage.image.plusText":"+ Text","contentPage.image.pushAll":"Push All to Carousel","contentPage.image.pushN":"Push {count} to Carousel","contentPage.image.pushToVideo":"Push to Video Scene","contentPage.image.remixTitle":"Remix this image","contentPage.image.saveAll":"Save All","contentPage.image.selectHint":"{count} image(s) â click to select, or push all","contentPage.image.selectedN":"{count} image(s) selected","contentPage.image.sliderSlide":"Slide","contentPage.image.source":"Source","contentPage.image.style":"Style","contentPage.image.stylizeHelp":`Click "Use as source" on any image below to make the next "Generate" preserve that image's subject (your face, etc) instead of creating a fresh AI render.`,"contentPage.image.stylizeInstead":"Stylize instead","contentPage.image.stylizeQ":"Stylize an image you already have?","contentPage.image.stylizeSourceAlt":"Stylize source","contentPage.image.stylizeUploaded":"Stylize Uploaded","contentPage.image.stylizing":"Stylizing...","contentPage.image.upload":"Upload Image","contentPage.image.useAsCarouselTheme":"Use as Carousel Theme","contentPage.image.useAsSource":"Use as source","contentPage.image.useAsSourceTitle":"Use this image as stylize source â preserves subject identity on next Generate","contentPage.image.useAsVideoRef":"Use as Video Style Ref","contentPage.image.willStylize":"Will stylize this uploaded image","contentPage.image.willStylizeHelp":"Generate uses your upload as the basis instead of creating a new image. Adjust the prompt to guide the style.","contentPage.image.withText":"Text overlay â generate text-free background with editable title & content","contentPage.instagram.help":"After each autopost fires a JSON webhook to Make.com for Instagram publishing. Images, carousel slides, and videos are all sent â always {clean} and in {square} format.","contentPage.instagram.help.clean":"clean, unbranded","contentPage.instagram.help.square":"1:1 square","contentPage.instagram.title":"Instagram Autopublish","contentPage.instagram.viewPayload":"View Make.com payload","contentPage.linkedinAccount":"LinkedIn account","contentPage.linkedinPage":"LinkedIn Page","contentPage.linkedinProfile":"LinkedIn Profile","contentPage.loadN":"Load ({count})","contentPage.media.carousel":"Carousel","contentPage.media.gif":"GIF","contentPage.media.image":"Image","contentPage.media.tab.image":"Core Creative","contentPage.media.text":"Text","contentPage.media.title":"Post Media","contentPage.media.video":"Video","contentPage.nav.copy":"Copy","contentPage.nav.creative":"Creative","contentPage.nav.data":"Data","contentPage.nav.post":"Post","contentPage.news.commentary":"Commentary","contentPage.news.description":"Search for news articles to use as context for your post.","contentPage.news.history":"Recent searches history","contentPage.news.more":"More","contentPage.news.placeholder":"Search news...","contentPage.news.quotaBody":"Top up â $0.15/token, no sign-up needed.","contentPage.news.quotaTitle":"Free tokens used","contentPage.news.recent":"Recent Searches","contentPage.news.stopRecording":"Stop recording","contentPage.news.title":"Search News for Context","contentPage.news.useInContext":"Use in Context ({count})","contentPage.news.voiceSearch":"Voice search","contentPage.none":"None","contentPage.overlay.add":"Add","contentPage.overlay.badge":"Text overlay","contentPage.overlay.colorBg":"Bg","contentPage.overlay.colorText":"Text","contentPage.overlay.colorTitle":"Title","contentPage.overlay.contentPlaceholder":"Content text (optional)","contentPage.overlay.edit":"Edit overlay","contentPage.overlay.editor":"Overlay Editor","contentPage.overlay.extraBlocks":"Extra Text Blocks","contentPage.overlay.imageN":"Image {n}","contentPage.overlay.logo":"Overlay Logo / Image","contentPage.overlay.orDrag":"or drag on image","contentPage.overlay.pos.bottom":"bottom","contentPage.overlay.pos.center"
9:"center","contentPage.overlay.pos.top":"top","contentPage.overlay.removeAll":"Remove All Overlay","contentPage.overlay.size":"Size","contentPage.overlay.titleContent":"Title & Content","contentPage.overlay.titlePlaceholder":"Title text","contentPage.overlay.upload":"Upload overlay logo/image","contentPage.plan.activeMany":"{count} active campaigns","contentPage.plan.activeOne":"{count} active campaign","contentPage.plan.extraTokens":"Extra content tokens","contentPage.plan.manageBoosting":"Manage Boosting Campaigns","contentPage.plan.perCharge":"${amount}/charge","contentPage.postToLinkedIn":"Post to LinkedIn","contentPage.posting":"Posting...","contentPage.presets.auto":"Auto-generated each time","contentPage.presets.carousel":"Carousel Theme","contentPage.presets.help":"Save your current editor theme to reuse on every autopilot run. Delete a preset to generate fresh styles each time.","contentPage.presets.image":"Image Theme","contentPage.presets.saveCurrent":"Save Current","contentPage.presets.title":"Style Presets for Autopilot","contentPage.presets.update":"Update","contentPage.presets.video":"Animation Theme","contentPage.profile":"Profile","contentPage.progress.finishing":"{elapsed}s finishing...","contentPage.progress.left":"{elapsed}s / ~{mins} min left","contentPage.progress.start":"0s / ~{mins} min","contentPage.recent.blog":"Blog","contentPage.recent.post":"Post","contentPage.recent.title":"Recent Posts","contentPage.reconnect":"Reconnect","contentPage.refresh":"Refresh","contentPage.refreshing":"Refreshingâ¦","contentPage.remix.contextIncluded":"Post context included","contentPage.remix.description":"AI will transform this image based on your directions, the post context, and creativity settings. The remixed image will be added to your gallery.","contentPage.remix.directions":"Remix directions (optional)","contentPage.remix.format":"Format: {format}","contentPage.remix.high":"High creativity: reimagined visual style with new colors and composition","contentPage.remix.low":"Low creativity: subtle polish and refinements","contentPage.remix.max":"Maximum creativity: radical reimagination of the image","contentPage.remix.medium":"Medium creativity: refreshed style while keeping the original recognizable","contentPage.remix.placeholder":"Describe how to transform this image...","contentPage.remix.placeholderPost":"e.g. Make it more vibrant, change to dark theme...","contentPage.remix.remixing":"Remixing...","contentPage.remix.title":"Remix Image","contentPage.remix.veryHigh":"Very high creativity: significant artistic transformation","contentPage.reset":"Reset","contentPage.saveTemplate":"Save Template","contentPage.schedule.autoOption":"{label} (auto)","contentPage.schedule.daily":"Daily","contentPage.schedule.exact":"Exact","contentPage.schedule.frequency":"Posting Frequency","contentPage.schedule.next":"Next scheduled post:","contentPage.schedule.perWeek":"Posts per week (MonâFri)","contentPage.schedule.postTime":"Post Time","contentPage.schedule.randomWeekly":"Random Day (Weekly)","contentPage.schedule.range":"Range","contentPage.schedule.selectDays":"Select days","contentPage.schedule.selectedDays":"Selected Days of Week","contentPage.schedule.skip":"Skip","contentPage.schedule.skipTitle":"Skip this post and schedule the next one","contentPage.schedule.timePlaceholder":"HH:MM","contentPage.schedule.timesPerDay":"Times per day","contentPage.schedule.timesPerDayHelp":"Posts per day, spread evenly. Set >1 when a connected flow has an actively-updating news or deals feed.","contentPage.schedule.timezone":"Timezone","contentPage.schedule.to":"to","contentPage.schedule.workdays":"Workdays (set amount)","contentPage.seed.cta":"Seed Flow","contentPage.seed.help":"Paste a blog post URL. We'll read it and auto-build a connected {flow} â topics and research queries drawn from the source(s).","contentPage.seed.title":"Seed an Influence Flow from a blog (optional)","contentPage.share.aiImage":"AI Image","contentPage.share.aiImageN":"AI Image ({count})","contentPage.share.attachVisual":"Attach visual:","contentPage.share.carouselManual":"Carousel PDF will be downloaded for you to attach manually.","contentPage.share.carouselPdf":"Carousel will be posted as a PDF document attachment ({count}
9 slides).","contentPage.share.companyPageOf":"Company Page · {name}","contentPage.share.connectBody":"Sign in to publish posts directly with images, carousels and videos.","contentPage.share.connectTitle":"Connect your LinkedIn account","contentPage.share.description":"Choose where to publish and which visual to attach.","contentPage.share.fbCopied.body":"Create a new post and paste your text.","contentPage.share.fbCopied.title":"Post text copied!","contentPage.share.fbOpened.body":"Copy the post text manually and paste it on Facebook.","contentPage.share.fbOpened.title":"Facebook opened","contentPage.share.gifNote":"Posted as an animated image (image/gif) â Powered by GIPHY.","contentPage.share.nativeTitle":"Check out my post","contentPage.share.noVisual":"No visual","contentPage.share.openInLinkedIn":"Open in LinkedIn","contentPage.share.openInLinkedInHelp":"Post via LinkedIn website (text only)","contentPage.share.openLinkedIn":"Open LinkedIn","contentPage.share.openVideoPreview":"Open Video Preview","contentPage.share.optionN":"Option {n}","contentPage.share.postAs":"Post as:","contentPage.share.postText":"Post text:","contentPage.share.prefilled":"Your post text is pre-filled.","contentPage.share.publishNow":"Publish Now","contentPage.share.publishing":"Publishing...","contentPage.share.selectImage":"Select which image to attach:","contentPage.share.videoExportFirst":"Export your video first from the Video Preview page, then return here to post it.","contentPage.share.videoManual":"Open Video Preview to export your video, then attach it manually when posting.","contentPage.share.videoReady":"Video ready to post","contentPage.share.videoSize":"{mb} MB video","contentPage.share.visualsDownloaded":"Your visuals have been downloaded â attach them manually to your post.","contentPage.share.willAttach":"Will be attached","contentPage.sheets.connect":"Connect Google Sheet","contentPage.sheets.connected":"Connected â every post is logged automatically.","contentPage.sheets.disconnectGoogle":"Disconnect Google","contentPage.sheets.disconnectGoogleConfirm":`Disconnect your Google account? 10 11This revokes our access at Google, so every sheet we write to stops being updated. It also clears the same permission you use to sign in with Google â you can grant it again next time you sign in or reconnect a sheet.`,"contentPage.sheets.disconnectGoogleTitle":"Revokes our access at Google for every sheet, and clears the same permission used to sign in with Google","contentPage.sheets.expired":"The sheet is linked, but our access to Google has expired â nothing is being logged. Reconnect to resume.","contentPage.sheets.help":"Auto-log every post to a Google Sheet â no coding, no add-ons.","contentPage.sheets.open":"Open Sheet","contentPage.sheets.title":"Google Sheets","contentPage.sheets.unlink":"Unlink sheet","contentPage.tabs.deleteConfirm":'Delete "{name}"? This cannot be undone.',"contentPage.tabs.duplicate":"Duplicate","contentPage.tabs.rename":"Rename","contentPage.theme.altBg":"Alt bg","contentPage.theme.bgEnd":"Bg End","contentPage.theme.bgStart":"Bg Start","contentPage.theme.content":"Content","contentPage.theme.display":"Display","contentPage.theme.dots":"Dots","contentPage.theme.dotsTitle":"Scroll dots","contentPage.theme.font":"Font","contentPage.theme.imgOn":"Img on","contentPage.theme.lines":"Lines","contentPage.theme.linesTitle":"Lines & badges","contentPage.theme.logoOn":"Logo on","contentPage.theme.placeAll":"All","contentPage.theme.placeContent":"Cnt","contentPage.theme.placeCover":"Cvr","contentPage.tier.1":"Tier 1","contentPage.tier.2":"Tier 2","contentPage.tier.3":"Tier 3","contentPage.topUp":"Top Up","contentPage.tpl.carouselTemplates":"Carousel Templates","contentPage.tpl.imageTemplates":"Image Templates","contentPage.tpl.imagesN":"{count} image(s)","contentPage.tpl.loadHelp":"Select a saved template to load.","contentPage.tpl.max":"Max 2 saved templates â oldest will be removed.","contentPage.tpl.namePlaceholder":"Template name...","contentPage.tpl.none":"No saved templates yet.","contentPage.tpl.overwrite":"A template with this name exists and will be overwritten.","contentPage.tpl.saveCarousel":"Save Carousel Template","contentPage.tpl.saveCarouselHelp":"Save your current slides, theme, and branding as a reusable template.","contentPage.tpl.saveImage":"Save Image Template","contentPage.tpl.saveImageHelp":"Save your current image and caption as a reusable template.","contentPage.tpl.saveVideo":"Save Video Template","contentPage.tpl.saveVideoHelp":"Save your current video script, style, and scene images as a reusable template.","contentPage.tpl.slidesN":"{count} slides","contentPage.tpl.videoTemplates":"Video Templates","contentPage.tplGenerated":"Custom template with {mood} mood, {transitions} transitions, {animations} text animations","contentPage.tplGenerated.icon":"Custom template with {mood} mood, {transitions} transitions, {animations} text animations, and {count} extracted icon","contentPage.tplGenerated.icons":"Custom template with {mood} mood, {transitions} transitions, {animations} text animations, and {count} extracted icons","contentPage.tz.anchorage":"UTC-9 Alaska","contentPage.tz.auckland":"UTC+12 Auckland","contentPage.tz.bangkok":"UTC+7 Bangkok","contentPage.tz.berlin":"UTC+1 Berlin","contentPage.tz.chicago":"UTC-6 Central","contentPage.tz.denver":"UTC-7 Mountain","contentPage.tz.dubai":"UTC+4 Dubai","contentPage.tz.helsinki":"UTC+2 Helsinki","contentPage.tz.honolulu":"UTC-10 Hawaii","contentPage.tz.istanbul":"UTC+3 Istanbul","contentPage.tz.kolkata":"UTC+5:30 India","contentPage.tz.london":"UTC+0 London","contentPage.tz.losAngeles":"UTC-8 Pacific","contentPage.tz.moscow":"UTC+3 Moscow","contentPage.tz.newYork":"UTC-5 Eastern","contentPage.tz.paris":"UTC+1 Paris","contentPage.tz.prague":"UTC+1 Prague","contentPage.tz.saoPaulo":"UTC-3 São Paulo","contentPage.tz.shanghai":"UTC+8 Shanghai","contentPage.tz.sydney":"UTC+10 Sydney","contentPage.tz.tokyo":"UTC+9 Tokyo","contentPage.usesPostTopic":"(or uses post topic)","contentPage.video.aiCustom":"AI Custom","contentPage.video.aiGenerated":"AI Generated","contentPage.video.aiTemplate":"AI Custom Template","contentPage.video.aiTemplateGenerate":"Generate AI Template","contentPage.video.aiTemplateGenerating":"Generating Custom Style...","contentPage.video.aiTemplateHelp":"Describe your desired style and AI will generate a unique template with custom colors, typography, and timing","contentPage.video.aiTemplateHelpRef":"Describe your desired style or just use the reference image and AI will generate a unique template with custom colors, typography, and timing","contentPage.video.aiTemplatePlaceholder":"e.g. Neon cyberpunk with glitch effects and purple tones...","contentPage.video.aiTemplatePlaceholderRef":"Optional: describe additional style preferences...","contentPage.video.animated":"Generate Animated Video","contentPage.video.animatedHelp":"Cho
11ose a style and preview your script as an animated video","contentPage.video.concept":"Video Concept","contentPage.video.conceptPlaceholder":"Describe the video you want to create...","contentPage.video.copyScript":"Copy Script","contentPage.video.cta":"CTA","contentPage.video.customizeStyle":"Customize Style","contentPage.video.fast":"Fast","contentPage.video.generate":"Generate Video Script","contentPage.video.hook":"Hook","contentPage.video.narration":"Narration","contentPage.video.preview":"Preview Animated Video","contentPage.video.previewWith":"Preview Animated Video ({name})","contentPage.video.primary":"Primary","contentPage.video.refAlt":"Style reference","contentPage.video.refHelp":"AI will extract colors and mood from this image","contentPage.video.refTitle":"Style reference image","contentPage.video.refUpload":"Upload a style reference image (optional)","contentPage.video.saveStyle":"Save Style","contentPage.video.savedN":"{count} Saved","contentPage.video.savedStyles":"Saved Styles","contentPage.video.sceneCount":"{count} scenes","contentPage.video.sceneN":"Scene {n}","contentPage.video.scenes":"Scenes","contentPage.video.script":"Video Script","contentPage.video.slow":"Slow","contentPage.video.speed":"Speed","contentPage.video.textOverlay":"Text Overlay","contentPage.video.totalSeconds":"{n}s total","contentPage.video.visual":"Visual","contentPage.videoPush.allDefault":"All scenes (default)","contentPage.videoPush.available":"{count} image(s) available","contentPage.videoPush.description":"Choose which scene(s) to add the image to. {images} â images cycle across selected scenes.","contentPage.videoPush.hasImage":"Has image","contentPage.videoPush.pushAll":"Push to All Scenes","contentPage.videoPush.pushN":"Push to {count} Scene(s)","contentPage.videoPush.scenesSelected":"{count} scene(s) selected","contentPage.videoPush.title":"Push Image to Video Scenes","contentPage.webhook.help":"Pushes post to external services for autoposting to other social media.","contentPage.webhook.hidePayload":"Hide Payload","contentPage.webhook.test":"Test Push","contentPage.webhook.title":"Cross-Post Webhook","contentPage.webhook.viewPayload":"View Payload","contentSettings.fragment.autopilot":"Autopilot & schedule","contentSettings.fragment.autopilot.summary":"What gets generated, how often it posts, and on which days.","contentSettings.fragment.branding":"Branding","contentSettings.fragment.branding.summary":"The logo, colour and font baked into images and carousels.","contentSettings.fragment.creative.summary":"The one image a post is built from â made in your own ChatGPT, Claude or anywhere. The next post uses it instead of generating one.","contentSettings.fragment.creatives":"Creatives","contentSettings.fragment.creatives.summary":"What is made from the core creative: image, carousel, video or GIF, and how boldly.","contentSettings.fragment.engagement":"Engagement","contentSettings.fragment.engagement.summary":"Replies to people who engage with the campaign's posts, the first comment, and reposts from your other accounts.","copilot.applied.dryRun":"Saved. This workspace is in test mode, so nothing was sent to LinkedIn.","copilot.applied.notPublished":"Saved, but these can't be published yet: {items}.","copilot.applied.saved":"Saved.","copilot.applied.undoable":"Saved â you can undo it from Changes History.","copilot.ask":"Ask about this stage","copilot.consentRequired":"Keep AI personalization checked to apply changes","copilot.error.connection":"The connection dropped. Try again in a moment.","copilot.error.generic":"Something went wrong. Try again in a moment.","copilot.error.noAnswer":"I didn't get anywhere with that â try rephrasing?","copilot.opening":`Ask me anything about your setup. I can read your Influence Flows, your content campaigns â the posts we write and publish for you on a schedule â and your LinkedIn boosting, and suggest changes for you to approve. 12 13*Try: "what should I do next?"*`,"copilot.placeholder":"Ask about your setupâ¦","copilot.proposal.applied":"Applied","copilot.proposal.apply":"Apply","copilot.proposal.dismissed":"Dismissed","copilot.proposal.heading":"Proposed change","copilot.proposal.headingWith":"Proposed change â {heading}","copilot.proposal.notNow":"Not now","copilot.seed.engage":"Rewrite my follow-ups so they sound like a person and not a sequence.","copilot.seed.headroom":"My flows already fill the product maximum of {cap} reactions per run. What else can I do to get more prospects?","copilot.seed.keywords":"My signal flows find about {found} posts per run but are allowed {cap}. Suggest keyword groups that would widen them without losing relevance.","copilot.seed.neverRan":"My campaign has not run yet. What should I check before the first run?","copilot.seed.noFlows":"My campaign has no signal flows. Suggest keyword groups for what I sell.","copilot.seed.nonFlowOnly":"My appearances are not coming from my signal flows. What would stop a signal flow from reacting?","copilot.seed.nothingNew":"My signal flows keep finding only posts I have already reacted to. Suggest keyword groups that would widen them without losing relevance.","copilot.seed.pacing":"My account is still warming up. How long until my flows run at their full ceiling?","copilot.seed.plan":"My signal flows find about {found} posts per run but are only allowed {cap}. What would a higher engager tier change for me?","copilot.seed.pull":"Which of my filters is rejecting the most people, and is any of them too strict?","copilot.seed.react":"Are my keywords finding the right posts, and what would I change to reach more of the people I want?","copilot.seed.stale":"My campaign has not run in over a month. What would stop it running?","copilot.seed.unknown":"My campaign has not completed a signal-flow run yet. What should I check?","copilot.seededNotice":"Carried over from your chat â press Send to ask it, or edit it first. Nothing has been changed.","copilot.startOver"
13:"Start over","copilot.thinking":"Thinkingâ¦","copilot.title":"Copilot","copilot.toast.couldntApply":"Couldn't apply that","copilot.toast.couldntDismiss":"Couldn't dismiss that","creativeError.aiLimit.body":"Your OpenAI billing limit has been hit. Raise the limit or add credits to continue.","creativeError.aiLimit.title":"AI limit reached","creativeError.quota":"Limit reached â top up to continue.","delivery.connect":"Connect a destination","delivery.failing":"Delivery failing","delivery.healthy":"Delivering","delivery.manage":"Change destination","delivery.none":"Nothing is connected, so leads live only here. Connect a webhook or a Google Sheet to get them into your own tools.","delivery.sheet.connect":"Connect a Google Sheet","delivery.sheet.disconnect":"Disconnect","delivery.sheet.failed":"Could not connect Google Sheets","delivery.sheet.open":"Open the sheet","delivery.title":"Where your leads go","delivery.to":"Sending to {destinations}","delivery.webhook":"Webhook","delivery.webhook.saveFailed":"Could not save that URL","delivery.webhook.saved":"Webhook saved","delivery.webhook.test":"Send a test","delivery.webhook.testFailed":"Your endpoint did not answer","delivery.webhook.testOk":"Your endpoint answered","delivery.what.engagers":"Engagers only","delivery.what.everything":"Everything","delivery.what.nothing":"Nothing","delivery.what.prospects":"Prospects","engage.addStep":"Add another follow-up","engage.applyAuthors":"Also check the post author against them","engage.applyAuthors.help":"Only react under posts whose author passes your Pull filters. This also stands the keyword text check down â vetting the author is the stricter test, and it keeps posts that are images or video.","engage.applyAuthors.warn":"This cuts your appearances, often by most of them â every post whose author fails a filter is skipped. The funnelâs React band shows exactly how much once a run has measured it.","engage.applyFilters":"Where your filters apply","engage.applyFilters.help":"Your Pull filters always decide who is approached. These decide whether they also decide whose posts you appear under.","engage.applyFilters.help.page":"Your Pull filters can also decide whose posts the page appears under.","engage.applyToFlows":"Use Pull filters for signal flows","engage.applyToFlows.help":"Off, the flows react under every post your keywords match.","engage.days":"days","engage.excludeWeekends":"Never send at weekends","engage.greeting":"Greeting with the invite","engage.greeting.help":"Sent with the connection request. Keep it short â LinkedIn truncates it.","engage.minutes":"minutes","engage.noSource":"Nothing is running. Turn on at least one source above, or the greeting and follow-ups below will never be sent.","engage.off":"Follow-ups are off â invites are sent with no message.","engage.page.followups.help":"Follow-ups go to people the page replied to, counted from the reply above. They stop as soon as the person writes back, or you answer them yourself.","engage.page.followups.needReply":"Follow-ups continue the reply above. Switch it on to set them up.","engage.pageReply":"Reply to the first message in your page inbox","engage.pageReply.help":"When someone writes to the page for the first time, the page answers them. A page cannot send or accept invites, so this reply and the follow-ups after it are the only messages it sends.","engage.pageReply.instant":"0 = reply at once","engage.pageReply.needText":"Write the reply: with no text, nothing is sent.","engage.pageReply.ph":"Hi {firstName}, thanks for writing to us. Tell me a little about what you are working on and I will point you to the right place.","engage.pageReply.useAi.help":"Uses their message, this text and their profile.","engage.replies":"Reply to engagers","engage.replies.help":"When someone reacts or comments on a post this campaign appeared under, leave a short public reply that tags them and works in your offer.","engage.replies.help.page":"When someone reacts to or comments on one of the page's own posts, the page replies publicly, tags them and works in your offer.","engage.replies.jitter":"minutes, varied by ±30%","engage.replies.link":"Link shown as a preview card","engage.replies.link.help":"Shown under the reply as a card with its title and image. Leave it empty to use the first link in the text above.","engage.replies.link.invalid":"Use a full link that starts with https:// â this one would be left out.","engage.replies.needOffer":"Add the offer text: a public reply with nothing to say is not sent, so this
13stays off until there is something here.","engage.replies.offer.ph":"Briefly describe the offer the reply can work in â e.g. we help SaaS teams ship docs 10x faster, free starter plan","engage.skipIfReplied":"Skip if they already replied","engage.source.external":"People who connected with you elsewhere","engage.source.external.help":"Follow up with contacts you did not meet through this campaign.","engage.source.invites":"People who sent you an invite","engage.source.invites.help":"Pending invitations you received. Ones that pass your Pull filters get accepted and messaged; the rest are left alone.","engage.source.viewers":"People who viewed your profile","engage.source.viewers.help":"Needs LinkedIn Premium on the connected account, and is not available for company pages.","engage.source.viewers.page":"People who visited your page","engage.stats.connected":"Became contacts","engage.stats.replied":"Replied","engage.stats.sent":"Messages sent","engage.step":"Follow-up {n}","engage.step.after":"Send after","engage.subtitle":"What you say, and when","engage.title":"Engage","engage.useAi":"Let Copilot write it","engage.useAi.help":"Uses their profile and the post they engaged with.","engage.who":"Who gets approached","engage.who.help":"Nothing below runs until at least one of these is on â these are the people the greeting and follow-ups are sent to.","error.loadFailed":"Could not load this. Try again.","explainer.campaign.founder":"Founder brand","explainer.campaign.page":"Northwind Page","explainer.caption.1":"Every campaign lives in the rail. Pick one and it opens beside it.","explainer.caption.2":"Describe what you sell â AI writes the signal flows, keywords and messages for you.","explainer.caption.3":"React: your keywords decide whose posts you appear under, and which words disqualify one.","explainer.caption.4":"And the words you never want your name next to, whichever flow found the post.","explainer.caption.5":"Pull: filters decide which of the people who noticed you are worth approaching.","explainer.caption.6":"Engage: a greeting with the invite, then follow-ups on a delay you set.","explainer.caption.7":"One click starts it. The rail says what is running, and when it runs next.","explainer.caption.8":"The funnel: every stage, where it widens and where it leaks.","explainer.caption.9":"Boosting: appearances, profile viewers, impressions and followers, day by day.","explainer.controls.autoplay":"Autoplay","explainer.controls.back":"Back","explainer.controls.next":"Next","explainer.controls.pause":"Pause","explainer.engage.after":"send after {n} days","explainer.engage.followup1":"Thanks for connecting. What are you using for attribution at the moment?","explainer.engage.followup2":"Put together a short teardown of how teams your size fix this â want it?","explainer.engage.greeting.sample":"Hi Maria â your post on pipeline quality is exactly the problem we solve for SaaS teams. Happy to connect.","explainer.flow.demandGen":"Demand generation","explainer.flow.founders":"Founders scaling up","explainer.flow.paidAcquisition":"Paid acquisition","explainer.flow.saasGrowth":"B2B SaaS growth","explainer.funnel.foot":"Reach 4,820 posts found · 41 connects · 18 inbound invites","explainer.kpi.appearancesToday":"Appearances today","explainer.kpi.invitesToday":"Invites sent today","explainer.kpi.nextMove":"Next best move","explainer.kpi.repliesToday":"Replies today","explainer.kw.add":"+ add","explainer.kw.attribution":"attribution","explainer.kw.churn":"churn","explainer.kw.course":"course","explainer.kw.crypto":"crypto","explainer.kw.demandGen":"demand gen","explainer.kw.goToMarket":"go to market","explainer.kw.hiring":"hiring","explainer.kw.layoffs":"layoffs","explainer.kw.paidAds":"paid ads","explainer.kw.performanceMarketing":"performance marketing","explainer.kw.pipeline":"pipeline","explainer.kw.plg":"product-led growth","explainer.kw.politics":"politics","explainer.kw.scaling":"scaling","explainer.kw.seedRound":"seed round","explainer.kw.webinar":"webinar","explainer.overview.nextRun":"Next run in 14 minutes","explainer.pull.acceptMatching":"Accept invites from people who match","explainer.pull.badges.sample":"hiring, premium","explainer.pull.chip.followers":"Followers","explainer.pull.chip.industry":"Industry","explainer.pull.exclude.sample":"recruiter, student","explainer.pull.followers.sample":"500 â 50,000","explainer.pull.industry.sample":"Software, Marketing","explainer.pull.language.sample":"English","explainer.pull.restPending":"Everyone else is left pending.","explainer.pull.titles.sample":"Head of Growth, VP Marketing, Founder","explainer.rail.tagline":"Inbound Traffic of Prospects for Your LinkedIn® Profile & Pages","explainer.react.anyMatch":"A post matches if it fits any of these","explainer.react.anyMatch.help":"Four flows run at once. Each one is a different thing you want to be seen talking about.","explainer.react.flowOf":"Signal flow 2 of 4","explainer.react.globalExclude.help":"Ap
13plies to every signal flow in this campaign.","explainer.run.summary":"Last run 3 minutes ago · 4 signal flows active · running as Maria Kovalenko","explainer.setup.notStored":"Nothing is stored until you press Save.","explainer.setup.prompt":"We run paid acquisition for B2B SaaS companies between $1M and $10M ARR. Buyers are heads of growth and founders.","explainer.setup.written":"4 signal flows written · read them before saving","explainer.setupWithAi":"Set up with AI","explainer.title":"Top Voice â A Tour of the Product","funnel.appearances":"Appearances","funnel.appearances.help":"You appear under their posts","funnel.axis.breadth":"How many people see you","funnel.axis.breadth.help":"Set by your keywords · React","funnel.axis.cadence":"How often they see you","funnel.axis.cadence.help":"Set by how often you post","funnel.connects":"Connects","funnel.connects.help":"People who became contacts","funnel.engage":"Engage","funnel.engage.help":"Conversations started","funnel.explain":"We react under other people's posts, so those people notice you. They open your profile. What they find there decides whether they stay. The ones who fit your filters become contacts.","funnel.explain.page":"We react under other people's posts, so those people notice your page. They open it. What they find there decides whether they follow. The ones who fit your filters become contacts.","funnel.exposure":"Times you were seen","funnel.exposure.help":"More keywords widens this. More posts deepens it.","funnel.inbound":"Inbound invites","funnel.inbound.help":"People who found you on their own","funnel.openStage":"Open {stage}","funnel.postingNudge":"Post more often","funnel.postingNudge.help":"Everyone who saw you react keeps meeting you in their feed. Posting rarely wastes the reach you already paid for.","funnel.pull":"Pull","funnel.pull.help":"People who passed your filters","funnel.pull.noRules":"No filters set yet, so everyone gets through","funnel.pull.preFiltered":"Filters already ran at React â most pass here","funnel.reach":"Reach","funnel.reach.help":"Posts we can react under","funnel.react":"React","funnel.react.help":"Posts we show up under","funnel.react.narrowed":"Filters cut {pct}% here · {before} â {after} posts per run","funnel.subtitle":"How strangers on LinkedIn become people who talk to you.","funnel.title":"Inbound traffic of prospects","funnel.widen.cadence":"Post more often","funnel.widen.reach":"Widen your keywords","guide.contentCampaign.aiPrompt.label":"AI Prompt / Style Instructions","guide.contentCampaign.aiPrompt.tip":'Bans work better than requests. "Never open with a rhetorical question, never use the word journey" changes more than three sentences of aspiration. I can rewrite this for you.',"guide.contentCampaign.aiPrompt.what":"The standing instruction for how to write, as opposed to what to write about: length, tone, whether to open with a question, what to never say.","guide.contentCampaign.autopilotSwitch.label":"Turning Autopilot on","guide.contentCampaign.autopilotSwitch.tip":"Set the schedule, the creative types and the Post As identity BEFORE switching it on â the first post can fire as soon as the next scheduled slot arrives.","guide.contentCampaign.autopilotSwitch.what":"The master switch for automatic publishing. With it off, everything below is still saved but nothing posts; the campaign becomes a manual editor.","guide.contentCampaign.blogSeed.label":"Seed an Influence Flow from a blog","guide.contentCampaign.blogSeed.tip":"The fastest way to start a campaign that already sounds like you: seed it from your best-performing post rather than describing your voice from scratch.","guide.contentCampaign.blogSeed.what":"Paste a blog post URL and the page reads the article, then creates and connects a new Influence Flow whose topics and research queries come from what it found. It can also detect the blog feed used by the first-comment link setting.","guide.contentCampaign.branding.label":"Branding on generated images","guide.contentCampaign.branding.tip":"On the free tier these are locked to Top Voice branding, but your own saved values are never overwritten â they come back the moment the account is on a paid plan.","guide.contentCampaign.branding.what":"Your logo, brand name, font, logo size, corner position and accent colour, stamped onto generated creatives.","guide.contentCampaign.campaignTabs.label":"Choosing which campaign you are editing","guide.contentCampaign.campaignTabs.tip":"Renaming here also stops the automatic renaming: until you rename a campaign by hand, its name follows the first 60 characters of the Topic field. Ask me to rename it and I can do that for you.","guide.contentCampaign.campaignTabs.what":"The tab strip at the top of the app is the campaign selector â each pill shows the campaign name and, underneath, the LinkedIn identity it posts as. Everything below the strip belongs to the selected campaign only. The â® menu on a tab holds Rename, Duplicate and Delete.","guide.contentCampaign.commentFollowups.label":"Comment follow-ups â the master switch","guide.contentCampaign.commentFollowups.tip":"Check this first when replies have stopped â it is easy to leave off after testing.","guide.contentCampaign.commentFollowups.what":"One switch above the whole Engage section. With it off, none of the reply behaviour below runs, whatever each individual switch says.","guide.contentCampaign.container":"the content campaign editor","guide.contentCampaign.context.label":"Context / Source Material","guide.contentCampaign.context.tip":"This one lives in your browser, per campaign, not on the server. It follows the campaign on this device and will not be there on another. Put anything that must survive into the AI Prompt or the flow instead.","guide.contentCampaign.context.what":"Free text handed to the writer alongside the topic â excerpts, notes, figures. Use it for the specifics a model cannot know.","guide.contentCampaign.creativeLogic.label":"Creative Type Logic","guide.contentCampaign.creativeLogic.tip":'Say what each format is FOR ("carousel for anything with steps, GIF only for a punchline") rather than giving percentages; the rotation mix already handles proportions.',"guide.contentCampaign.creativeLogic.what":"A prose rule, used when at least two rotating types are enabled, describing when to use or skip each kind. You can also name brand colours here â otherwise colours are taken from the generated image.","guide.contentCampaign.creativeType.label":"Which kind of visual to make","guide.contentCampaign.creativeType.tip":"Carousels are the format most often under-used: a PDF carousel keeps someone on the post far longer than a single image, and the slide count is yours to set.","guide.contentCampaign.creativeType.what":"The Creative section has four tabs â Core Creative (image), Carousel (PDF slides), Animation (video) and GIF. Each has
13its own prompt, its own format and its own theme editor, and each is a separate piece of work: switching tabs does not convert one into another.","guide.contentCampaign.creativeTypes.label":"Creative Types to Generate","guide.contentCampaign.creativeTypes.tip":'"Theme only" is the one worth knowing: it generates the image to set the look of the carousel or video without attaching the image itself to the post.',"guide.contentCampaign.creativeTypes.what":"Four toggles decide which kinds of visual Autopilot is allowed to make. With the image toggle on, a creativity slider and a format picker (1:1, 16:9, 4:5, 9:16) appear, plus options to use the image as theme only, or push it as the carousel or animation theme.","guide.contentCampaign.delivery.label":"Cross-posting, Google Sheets and Instagram","guide.contentCampaign.delivery.tip":"I can connect or disconnect the Google Sheet for you â that one creates a fresh spreadsheet in your own Drive, so there is no address for anyone to get wrong. The webhook URLs I deliberately will not touch: they say where your content goes.","guide.contentCampaign.delivery.what":"Three outbound destinations under Autopilot: a Cross-Post Webhook that receives each published post, a Google Sheets connection that appends a row per post, and Instagram Autopublish through a Make webhook.","guide.contentCampaign.engagerFilters.label":"Skipping engagers who do not match","guide.contentCampaign.engagerFilters.tip":"Reusing a boosting Advanced Filter is the quickest way to hold one definition of your audience across both sides of the product.","guide.contentCampaign.engagerFilters.what":"Optional filters that skip people who do not match: language, location with an exclude checkbox and quick-set shortcuts, and a saved Advanced Filter borrowed from your boosting campaigns.","guide.contentCampaign.firstComment.label":"Automatic first comment","guide.contentCampaign.firstComment.tip":"This is where a link belongs. A link in the post itself is shown to fewer people; the same link in your own first comment is not.","guide.contentCampaign.firstComment.what":"Posts your own first comment on each new post, between a minimum and maximum number of minutes afterwards. The instruction field holds your CTA, link or note; AI-craft turns it into a sentence; and a separate switch pulls the matching post from your blog feed and links it.","guide.contentCampaign.imageOverlay.label":"Text overlay on the image","guide.contentCampaign.imageOverlay.tip":"Ask for a text-free background whenever the words matter. Text baked into a generated image cannot be corrected â a typo means regenerating the whole thing.","guide.contentCampaign.imageOverlay.what":"With the text-overlay toggle on, the generator makes a text-free background and gives you an editor over it: Title and Content fields, position (top/center/bottom), effect (shadow/glow/outline/none), font (sans/serif/mono), colour pickers for title, text and background, a background-opacity slider, an uploadable logo with X/Y/Size sliders, and extra text blocks.","guide.contentCampaign.influenceFlow.label":"Connecting an Influence Flow","guide.contentCampaign.influenceFlow.tip":"Edit the flow rather than the campaign when the same guidance should apply everywhere it is attached. I can change a flow's name, voices, prompt, quick questions and news queries after you confirm.","guide.contentCampaign.influenceFlow.what":"A flow is a reusable bundle of context â chosen influencer voices, a standing prompt and news queries. Connecting one merges its voices into this campaign's context, appends its text to your Context field and its prompt to the AI Prompt field. You can connect more than one, and each shows as a badge with an X to detach it.","guide.contentCampaign.nextPost.label":"The next scheduled post","guide.contentCampaign.nextPost.tip":"This is scheduling state rather than a setting, so I will not change it in a chat: moving somebody's next post has an immediate outward effect. The controls are right here on the page.","guide.contentCampaign.nextPost.what":"Shows when the next post will go out, and lets you move it, skip it, or force which creative type it uses.","guide.contentCampaign.plan.label":"Campaign slots and auto top-up","guide.contentCampaign.plan.tip":"Turn auto top-up on before a long run of scheduled posts. A campaign that runs out of balance stops posting silently rather than failing loudly.","guide.contentCampaign.plan.what":"How many campaign slots the account holds, and whether the balance tops itself up automatically when it runs low.","guide.contentCampaign.postAs.label":"Post As â which LinkedIn identity publishes","guide.contentCampaign.postAs.tip":"This is one of the few settings I cannot change for you â publishing as someone has to be authorised by the person, not by a chat. Ask me for a link and I will take you straight to it.","guide.contentCampaign.postAs.what":'Chooses the connected LinkedIn account, or a company page under one, that this campaign publishes through. "Add another LinkedIn account" starts the authorisation for a new one.',"guide.contentCampaign.postCopy.label":"Post Copy","guide.contentCampaign.postCopy.tip":"Editing here changes this one post. To change every future post, change the AI Prompt instead.","guide.contentCampaign.postCopy.what":"The generated text, editable in place. It appears only after a post has been generated, which is why the Copy section looks empty on a new campaign.","guide.contentCampaign.replyToEngagers.label":"Replying to people who engage","guide.contentCampaign.replyToEngagers.tip":"Once a week per engager is the setting that keeps this from looking automated. Always replying to your most loyal commenter is what gets noticed, in the wrong way.","guide.contentCampaign.replyToEngagers.what":`Replies to people who comment on this campaign's posts. The delay is in minutes and jittered; frequency per engager is Always, once a week or once a month; the default offer is the message used for everyone, with separate overrides for people carrying an "Open to Work" or "Hiring" badge. AI-craft rewrites each reply using the person's name, headline and their actual comment, and auto-translate matches their profile language.`,"guide.contentCampaign.reposts.label":"Reposting on other accounts","guide.contentCampaign.reposts.tip":"Choosing WHICH accounts is not something I can do for you â each target needs its own ownership check. Ask me for a link to the setting instead.","guide.contentCampaign.reposts.what":"Reposts this campaign's output on your other connected profiles and pages, each with its own random delay window in minutes after the original.","guide.contentCampaign.rotationMix.label":"Rotation mix","guide.contentCampaign.rotationMix.tip":"Image is deliberately not in this list â it is the base or theme and never rotates. If you want fewer plain images, turn the image toggle off or set it to theme only.","guide.contentCampaign.rotationMix.what":"When two or more of Carousel, Animation and GIF are enabled, this sets how often each is chosen. The server picks whichever type is furthest below its target share across recent posts, so the weights are proportions rather than a strict cycle. A weight of 0 pauses that type.","guide.contentCampaign.schedule.label":"Posting frequency and time","guide.contentCampaign.schedule.tip":"Check the timezone before anything else. It is the setting most often left at a default, and a perfect schedule in the wrong zone posts at three in the morning. I can change frequency, times, the range and the timezone for you.","guide.contentCampaign.schedule.what":"Posting Frequency offers Daily, Random Day (Weekly), workdays and specific selected days. Choosing workdays reveals a posts-per-week picker (1â5); choosing selected days reveals MonâSun buttons. Times per day goes 1à to 5Ã. Post Time is either Exact or a Range â a range picks a moment between the two, which reads less like a machine. The timezone list holds 22 zones and is what every time here is interpreted in.","guide.contentCampaign.styleVoices.label":"Style influencers","guide.contentCampaign.styleVoices.tip":"Two or three related voices give a recognisable style; twenty average out into nobody in particular.","guide.contentCampaign.styleVoices.what":"Up to 20 influencer voices whose writing shapes the style of the post. Leaving it empty means all of them rather than none.","guide.contentCampaign.topic.label":"Topic / Idea","guide.contentCampaign.topic.tip":'A theme beats a headline: "the hidden cost of rushed hiring" gives the writer somewhere to go for weeks, where a finished sentence gives it one post. I can change this for you.',"guide.contentCampaign.topic.what":"The subject every generated post is built from â one line, a theme, or a pasted insight. It is the main input to the writer, and unless you have renamed the campaign it also becomes the campaign's name.","guide.contentCampaign.trendingComments.label":"Commenting on trending posts","guide.contentCampaign.trendingComments.tip":"Keep the context box about what you do, not about what you sell â this is a comment on someone else's post.","guide.contentCampaign.trendingComments.what":"Comments on the posts LinkedIn suggests to you, using a context box you write and, optionally, an AI-crafted remark tailored to the post.","guide.ui.close":"Close guide","guide.ui.heading":"Guide â {container}","guide.ui.stepOf":"Step {n} of {total}","handoff.body":"Tap below â it opens the {app} app if you have it, where you are already signed in.","handoff.browser":"Continue in the browser","handoff.heading":"Open Top Voice in {app}","handoff.hint":"Opened in the browser? iOS remembers a previous choice for this site. Press and hold the button above, then choose {action}.","handoff.hintAction":"Open in {app}","handoff.open":"Open {app}","history.campaignLabel":"Campaign:","history.confirm.body":"This restores the settings to how they were before this change. It will create a new history entry so you can undo the revert if needed.","history.confirm.title":"Revert this change?","history.empty.noCampaigns":"No campaigns yet â settings changes will appear here once you create one.","history.empty.noEntries":"No saved settings changes yet for this campaign.","history.exclusions":"History tracks {settingsOnly}. It does {not} record account switches, asset changes, pause/resume, or subscription changes â those happen immediately and cannot be reverted here.","history.exclusions.not":"not","history.exclusions.settingsOnly":"settings only","history.field.businessDescription":"Business description","history.field.connectedFlowId":"Connected content flow","history.field.filterIndustry":"Industry filter","history.field.filterIndustryExclude":"Industry exclude mode","history.field.filterLanguage":"Languages filter","history.field.filterLanguageExclude":"Language exclude mode","history.field.filterLocation":"Locations filter","history.field.filterLocationExclude":"Location exclude mode","history.field.googleSheetUrl":"Google Sheet","history.field.name":"Campaign name","history.field.postFilterIndustry":"Post industry filter","history.field.postFilterIndustryExclude":"Post industry exclude mode","history.field.reactToFlowPosts":"React to flow posts","history.field.reactionType":"Reaction type","history.field.signalFlows":"Signal flows","history.field.trackedInfluencers":"Tracked influencers","history.field.webhookUrl":"Webhook URL","history.loading":"Loadingâ¦","history.revert":"Revert","history.revertFailed":"Revert failed","history.reverted":"reverted","history.source.ai":"AI","history.summary.advancedFilters":"Advanced Filters ({flow}): {fields}","history.summary.allFlows":"All flows","history.summary.campaign":"Campaign settings: {fields}","history.summary.created":"created","history.summary.flowN":"Flow #{n}","history.summary.outreach":"Outreach ({flow}): {fields}","hiw.keyword.ai":"AI","hiw.keyword.b2b":"B2B","hiw.keyword.climate":"Climate","hiw.keyword.education":"Education","hiw.keyword.equity":"Equity","hiw.keyword.growth":"Growth","hiw.keyword.impact":"Impact","hiw.keyword.marketing":"Marketing","hiw.keyword.philanthropy":"Philanthropy","hiw.keyword.saas":"SaaS","hiw.keyword.startup":"Startup","hiw.keyword.volunteering":"Volunteering","hiw.location.europe":"Europe","hiw.location.uk":"UK","hiw.location.us":"United States","hiw.notif.celebrated":"{name} celebrated your post","hiw.notif.liked":"{name} liked your post","hiw.notif.page":"{name} (page)","hiw.notif.profile":"{name} (profile)","hiw.notif.reacted":"{name} reacted to your post","hiw.person.directorAt":"Director at {company}","hiw.person.founderAt":"Founder at {company}","hiw.person.marketingManagerAt":"Marketing Manager at {company}","hiw.person.volunteerCoordinatorAt":"Volunteer Coordinator at {company}","hiw.post.comments":"{count} comments","hiw.reaction.celebrate":"Celebrate","hiw.reaction.curious":"Curious","hiw.reaction.funny":"Funny","hiw.reaction.insightful":"Insightful","hiw.reaction.like":"Like","hiw.reaction.love":"Love","hiw.reaction.support":"Support","hiw.role.boardMember":"Board Member","hiw.role.ceo":"CEO","hiw.role.cmo":"CMO","hiw.role.director":"Director","hiw.role.donor":"Donor","hiw.role.foundation":"Foundation","hiw.role.foundationLead":"Foundation Lead","hiw.role.founder":"Founder","hiw.role.investor":"Investor","hiw.role.journalist":"Journalist","hiw.role.partnerOrg":"Partner Org","hiw.role.volunteer":"Volunteer","hiw.role.vpSales":"VP Sales","hiw.step1.body":"Forget lists of LinkedIn profiles. Build a Posts Feed. While it should represent a wide enough audience, its frequent posts should contain signs of relevant (and not irrelevant) considerations.","hiw.step1.body.np":"Forget cold donor lists. Build a Posts Feed of supporters, volunteers, and funders already talking about issues close to your mission â so your reactions land where they actually matter.","hiw.step1.jobTitles":"Job Titles","hiw.step1.keywords":"Keywords","hiw.step1.locations":"Locations","hiw.step1.match":"Match!","hiw.step1.post":"Trying out a new approach to lead gen this quarter. Focusing on content that actually helps our audience instead of pure promo. Early results look promising...","hiw.step1.post.np":"Looking for ways to give back this quarter â anyone know nonprofits doing meaningful work in education or youth mentorship? Open to volunteering or making a recurring donation...","hiw.step1.title":"Your Prospects â Their Moment","hiw.step1.title.np":"Your Cause â Their Moment","hiw.step2.body":"Top Voice helps reacting to targeted posts on behalf of your LinkedIn pages or profiles. Natural, human-like timing.","hiw.step2.body.np":"Top Voice reacts to mission-aligned posts on behalf of your nonprofit page or director's profile â natural, human-like timing that earns goodwill instead of burning it.","hiw.step2.human.body":"Random 5â60 sec delays. Natural reaction patterns. No spam detection triggers.","hiw.step2.human.title":"Human-like Behavior","hiw.step2.post":"Here's what 10 years of building startups taught me about product-market fit. Thread incoming...","hiw.step2.post.np":"Here's what 10 years of running grassroots programs taught me about turning awareness into actual donor commitment. Thread incoming...","hiw.step2.reactedWithLike":"reacted with Like","hiw.step2.reactions":"Available Reactions","hiw.step2.title":"Relevant Warm Reactions","hiw.step2.yourPage":"Your Page","hiw.step3.body":"Post authors and their connections see your profile or page as reacted ones in posts feed and notifications. They visit your page and profile out of curiosity and gratitude.","hiw.step3.body.np":"Post authors and their networks â donors, volunteers, journalists, peer orgs â see your nonprofit's reactions in their feed and notifications. They click through to your page out of curiosity and gratitude, and learn about your mission.","hiw.step3.btn.donate":"Donate","hiw.step3.btn.follow":"Follow","hiw.step3.btn.freeTrial":"Free Trial","hiw.step3.btn.message":"Message","hiw.step3.click":"They click to see who you are...","hiw.step3.click.np":"They click to learn about your mission...","hiw.step3.feedTitle":"Your Prospect's Notification Feed","hiw.step3.feedTitle.np":"Your Supporter's Notification Feed","hiw.step3.followers":"{count} followers","hiw.step3
13.notif.expertProduct":"Some Expert Product","hiw.step3.notif.greatOffer":"Some Great Offer","hiw.step3.notif.programDirector":"A Program Director","hiw.step3.notif.relevantExpert":"Some Relevant Expert","hiw.step3.pageName":"Something Irresistible","hiw.step3.pageType":"B2C / B2B","hiw.step3.pageType.np":"Nonprofit · 501(c)(3)","hiw.step3.plusOne":"+1 visitor","hiw.step3.plusOne.np":"+1 supporter","hiw.step3.tagline":"120 tagline symbols for your pitch and call to action. Enough to mention unique sales points and invite to connect.","hiw.step3.tagline.np":"120 tagline symbols for your mission and call to action. Enough to share what you do, who you serve, and invite supporters to get involved.","hiw.step3.title":"You Get Noticed","hiw.step3.title.np":"Supporters Notice You","hiw.step4.body":"It doesn't stop at the author. LinkedIn resurfaces every post you react to in the home feeds of that author's own relevant connections â each tagged âreacted to this.â Their entire network discovers you, not just one person.","hiw.step4.body.np":"It doesn't stop at the author. LinkedIn resurfaces every mission-aligned post you react to in the home feeds of that author's connections â donors, volunteers, and peers â each tagged âreacted to this.â Their whole network discovers your cause, not just one person.","hiw.step4.feedTitle":"A Relevant Prospect's Home Feed","hiw.step4.feedTitle.np":"A Supporter's Home Feed","hiw.step4.fit.body":"Here's the unfair advantage: it doesn't really matter whose post you reacted to. Irrelevant geo? Forget it! LinkedIn's signal based AI surfaces your reaction in the relevant-posts feed of your ideal audience â even if you engaged with a competitor's post or a not-quite-perfect lead. You get shown to prospects you could never reach or target directly.","hiw.step4.fit.body.np":"Here's the unfair advantage: it doesn't matter whose post you reacted to. LinkedIn's contextual targeting surfaces your reaction in the relevant-posts feed of mission-aligned people â even if you engaged with another nonprofit's post or someone outside your network. Your cause gets shown to supporters you could never find or target directly.","hiw.step4.fit.title":"It works even when the post isn't a perfect fit","hiw.step4.impressions":"feed impressions","hiw.step4.networkTitle":"Their Whole Network Discovers You","hiw.step4.networkTitle.np":"Their Whole Network Discovers Your Cause","hiw.step4.perReaction":"per reaction â prospects you'd never have reached","hiw.step4.perReaction.np":"per reaction â supporters you'd never have reached","hiw.step4.post":"Trying a new approach to lead gen this quarter â content that actually helps our audience instead of pure promo. Early results look promising...","hiw.step4.post.np":"Looking for ways to give back this quarter â anyone know nonprofits doing meaningful work in education or youth mentorship?","hiw.step4.reactedToThis":"{who} reacted to this","hiw.step4.surfaced":"Surfaced to 1,200+ of {name}'s connections â not just {name}.","hiw.step4.title":"LinkedIn shows you in Relevant Post Feeds","hiw.step4.title.np":"LinkedIn shows your cause in Relevant Post Feeds","hiw.step4.yourProfilePage":"Your Profile/Page","hiw.step5.action.donateClicks":"Donate Clicks","hiw.step5.action.follow":"Follow","hiw.step5.action.likePosts":"Like Posts","hiw.step5.action.messages":"Messages","hiw.step5.action.newFollowers":"New Followers","hiw.step5.action.storyReactions":"Story Reactions","hiw.step5.action.visitWebsite":"Visit Website","hiw.step5.action.volunteerDms":"Volunteer DMs","hiw.step5.body":"Visitors become followers. They genuinely react to your posts, comment, send messages, and click your website link.","hiw.step5.body.np":"Visitors become followers, then supporters. They react to your story posts, message about volunteering, and click through to donate â all inbound, all organic.","hiw.step5.flow.inbound":"Inbound messages from prospects","hiw.step5.flow.inbound.np":"Inbound messages from supporters","hiw.step5.flow.result":"Sales without cold outreach","hiw.step5.flow.result.np":"Donations without ad spend","hiw.step5.flow.warm":"Warm leads ready to talk","hiw.step5.flow.warm.np":"Volunteers & donors ready to act","hiw.step5.perDay":"per day","hiw.step5.title":"Engagement Multiplies","hiw.step6.body":"Their followers see their activity. Your visibility compounds exponentially. The growth never stops.","hiw.step6.body.np":"Every supporter who reacts pulls their network into your orbit. Your mission's visibility compounds week after week â donor by donor, volunteer by volunteer.","hiw.step6.caseStudy":"Results from a 14-day case study with Top Voice","hiw.step6.stat.impressions":"Impressions Generated","hiw.step6.stat.impressions.np":"Mission Impressions","hiw.step6.stat.inboundLeads":"Inbound Leads","hiw.step6.stat.inboundSupporters.np":"Inbound Supporters","hiw.step6.stat.pageVisitors.np":"Page Visitors","hiw.step6.stat.profileVisitors":"Profile Visitors","hiw.step6.title":"The Snowball Effect","hiw.stepLabel":"Step {n}","hiw.time.hoursAgo":"{n}h ago","hiw.time.justNow":"Just now","hiw.time.minutesAgo":"{n}m ago","hiw.yourNonprofit":"Your Nonprofit","identity.ai.description":"Let AI use your campaign data to suggest smarter settings, remember your changes, and power upcoming personalized features. Always private to your account.","identity.ai.off":"AI personalization off","identity.ai.offBody":"We won't use your campaign data for AI suggestions or history.","identity.ai.on":"AI personalization on","identity.ai.onBody":"AI suggestions, settings history, and personalization are enabled.","identity.ai.required":"Required for AI Setup and AI Optimize â turning this off disables both.","identity.ai.title":"AI personalization","identity.avatarPreview":"Preview","identity.avatarUrl":"Avatar URL","identity.changePassword":"Change Password","identity.confirmNewPassword":"Confirm new password","identity.confirmPassword":"Confirm password","identity.confirmPasswordLabel":"Confirm Password","identity.currentPassword":"Current password","identity.email.confirmHint":"A confirmation link
13will be sent to your current email","identity.forcedEmail.description":"Your account was created with a temporary sign-in address. Enter your real email so you can recover your account and receive updates â we'll send a verification link there.","identity.forcedEmail.done":"I'll check my inbox","identity.forcedEmail.send":"Send Verification Link","identity.forcedEmail.sent":"Verification link sent to {email}. Click the link in that email to finish â your login email switches once confirmed.","identity.forcedEmail.title":"Add your real email","identity.google.disable":"Disable Google Sign-In","identity.google.enable":"Enable Google Sign-In","identity.google.enabled":"Google sign-in is enabled.","identity.google.hint":"Enable Google sign-in for one-click access.","identity.google.title":"Native Google Sign-In","identity.linkedin.disable":"Disable LinkedIn Sign-In","identity.linkedin.enable":"Enable LinkedIn Sign-In","identity.linkedin.enabled":"LinkedIn sign-in is enabled.","identity.linkedin.hint":"Enable LinkedIn sign-in for one-click access.","identity.linkedin.title":"Native LinkedIn Sign-In","identity.minChars":"Min. 6 characters","identity.newPassword":"New password (min. 6 characters)","identity.password":"Password","identity.password.confirmHint":"A confirmation link will be sent to your email","identity.repeatPassword":"Repeat password","identity.setPassword":"Set Password","identity.setPassword.description":"You're signed in via your email link. Set a password now to secure your account â you'll need it to sign in next time.","identity.setPassword.title":"Set your password to finish signup","identity.setPasswordContinue":"Set Password & Continue","identity.settings.description":"Manage your email, password, avatar, and sign-in options","i
13dentity.settings.title":"Account Settings","identity.socialLoginHint":"Your account was created via social login. Set a password to also sign in with email.","identity.toast.avatarRemoved":"Profile picture removed","identity.toast.avatarUpdated":"Your profile picture has been updated","identity.toast.checkToConfirm":"Check {email} to confirm the change.","identity.toast.verificationSent":"Verification link sent to {email}","identity.yourEmail":"Your email","kpi.appearances":"Boosted appearances","kpi.delta.week":"{count} this week","kpi.followers":"New followers","kpi.impressions":"Post impressions","kpi.note.linkedin7d":"LinkedIn's own 7-day figure","kpi.viewers":"Profile viewers","kpi.viewers.page":"Page visitors","kw.addExclusion":"Word or phrase to avoid","kw.addFlow":"Add a topic","kw.addGroup":"Add a set of words","kw.addKeyword":"Type a word or phrase, then Enter","kw.all":"all of these","kw.any":"any of these","kw.clone":"Duplicate this signal flow","kw.emptyQuery":"Nothing yet â add a word above.","kw.enabled":"Run this signal flow","kw.flowName":"Name this signal flow","kw.flows":"Signal flows","kw.flows.help":"Each one searches LinkedIn for posts and reacts under what it finds. Up to four per campaign.","kw.generate":"Write them with AI","kw.generate.describe":"What do you sell, and who buys it?","kw.generate.failed":"Could not generate signal flows","kw.generate.go":"Generate","kw.generate.help":"Describe what you sell and AI writes a set of signal flows for it. This replaces the ones below until you press Save.","kw.generate.needDescription":"At least ten characters.","kw.generate.none":"AI returned nothing usable","kw.generate.ok":"{n} signal flows written","kw.generate.ok.help":"Read them before saving â nothing is stored until you press Save.","kw.globalExclude":"Never appear under these words","kw.globalExclude.help":"Applies to every signal flow in this campaign. Put competitor names, recruiters, or anything you never want your name attached to here once, instead of into each flow.","kw.group.but":"â¦but not if they also mention","kw.group.lead":"Find posts mentioning","kw.group.remove":"Remove","kw.groupsLead":"A post matches if it fits","kw.import":"Import a LinkedIn search","kw.import.bad":"That is not a LinkedIn search address","kw.import.bad.help":"Open LinkedIn, search for posts, and copy the address from your browser. It should contain linkedin.com/search and a keywords part.","kw.import.go":"Import","kw.import.help":"Built a search on LinkedIn that finds the right posts? Paste its address and it becomes a signal flow, exclusions included.","kw.import.ok":"Imported as a new signal flow","kw.import.ok.help":"{keywords} keywords and {exclude} exclusions. Press Save to keep it.","kw.industry":"Only in these industries","kw.industry.add":"Add an industry","kw.industry.help":"Decided before the search, so it changes which posts come back rather than how many. Leave empty to use the campaignâs setting.","kw.maxFlows":"{max} Signal Flows can run at once. You can keep writing more â turn one off to start another.","kw.never":"But never if the post also mentions","kw.noKeywords":"No keywords yet","kw.removeFlow":"Remove this topic","kw.save":"Save keywords","kw.showQuery":"Show the search this builds","kw.tooMany":"Past {max} keywords LinkedIn search stops widening â split this into another signal flow instead.","layer.engage.what":"Engage decides what you say to the ones who got through.","layer.engage.why":"A greeting, then follow-ups on a delay. The same filters apply here, so nobody is messaged who was not worth approaching.","layer.pull.what":"Pull decides which of those people are worth your time.","layer.pull.why":"Everyone who noticed you goes through these filters. Only the ones who match are approached â this is the one place that should narrow things down.","layer.react.what":"React decides whose posts you show up under.","layer.react.why":"Your keywords pick the posts. We react under them, so the author and everyone in their feed sees your name â including people who never searched for you. That is
13why a post from a competitor, or one that is only half relevant, still works: their audience is full of the people you want.","liConnect.afterClose":"After closing this dialog, please wait a few seconds for the Page Asset selection (profile or page) to become available.","liConnect.alreadyConnected.body":"{name} is already linked to your account. We'll keep using the existing connection.","liConnect.approved":"I've Approved It","liConnect.backToLogin":"Back to Login","liConnect.captcha":"CAPTCHA verification is not currently supported. Please try again later or contact support if this persists.","liConnect.code.label":"Verification Code","liConnect.code.phoneLabel":"Phone Number","liConnect.code.placeholder":"Enter 6-digit code","liConnect.connect":"Connect Account","liConnect.connecting":"Connecting to LinkedIn...","liConnect.cooldown.minSec":"{m}m {s}s","liConnect.cooldown.sec":"{s}s","liConnect.country.help":"Set this to the country where you usually access LinkedIn. This helps prevent security flags on your account.","liConnect.country.label":"Proxy Country","liConnect.country.placeholder":"Select your country","liConnect.desc.checkpoint":"LinkedIn requires additional verification to continue.","liConnect.desc.connected":"Your LinkedIn account has been successfully linked.","liConnect.desc.credentials":"Sign in with your LinkedIn credentials to connect your account directly.","liConnect.done":"Done","liConnect.error.duplicate":"This LinkedIn account ({email}) is already linked to another Top Voice user.","liConnect.error.duplicateLong":"This LinkedIn account ({email}) is already linked to another Top Voice user. Please sign in to that account, or contact support to release the link.","liConnect.error.failedRetry":"Connection failed. Please try again.","liConnect.error.failedStartOver":"Connection failed. Please start over.","liConnect.error.missingCode":"Please enter the verification code.","liConnect.error.missingCredentials":"Please enter your LinkedIn email/phone and password.","liConnect.error.network":"Connection failed. Please check your network and try again.","liConnect.error.quota":"Your Performance Plan doesn't include another LinkedIn account slot. Upgrade your plan to connect another account.","liConnect.error.resendFailed":"Could not resend the code.","liConnect.error.resendFailedRetry":"Failed to resend code. Please try again.","liConnect.error.sessionExpired":"This verification session has expired. Please start over.","liConnect.error.switchFailed":"Could not switch verification method.","liConnect.error.switchFailedRetry":"Failed to switch method. Please try again.","liConnect.error.verifyFailed":"Verification failed.","liConnect.error.verifyFailedRetry":"Verification failed. Please try again.","liConnect.password.label":"Password","liConnect.password.placeholder":"Your LinkedIn password","liConnect.resend":"Resend Code","liConnect.security":"Your credentials are sent securely and directly to LinkedIn and are never stored on our servers. The connection uses the same proxy country as your regular LinkedIn usage to prevent account flags.","liConnect.startOver":"Start Over","liConnect.thisAccount":"This LinkedIn account","liConnect.timedOut":"Verification timed out (codes expire after ~5 minutes). Please start the connection process again.","liConnect.title.checkpoint":"Verification Required","liConnect.title.connected":"Account Connected","liConnect.title.credentials":"Connect LinkedIn Account","liConnect.tryAgain":"Try Again","liConnect.tryAgainIn":"Try again in {time}","liConnect.tryAnother":"Try Another Method","liConnect.username.label":"Email or Phone Number","liConnect.username.placeholder":"[email protected] or +1234567890","liConnect.verify":"Verify","liConnect.verifying":"Verifying...","liConnect.waiting.body":"Open your LinkedIn mobile app and approve the login request. This page will update automatically once you approve it.","liConnect.waiting.title":"Waiting for your approval...","liConnect.yourAccount":"your account","loginPanel.avatarAlt":"User {n}","loginPanel.feature.likes.body":"Genuine reactions while you focus on content","loginPanel.feature.likes.title":"Warm Likes in Return","loginPanel.feature.reach.body":"Boost your LinkedIn posts visibility naturally","loginPanel.feature.reach.title":"3x Organic Reach","loginPanel.feature.targeting.body":"Right audience and right moment","loginPanel.feature.targeting.title":"AI-Powered Targeting","loginPanel.feature.visitors.body":"Drive qualified traffic to your profile and pages","loginPanel.feature.visitors.title":"500+ Monthly Visitors","loginPanel.heading":"Why choose Top Voice?","loginPanel.socialProof":"Join {count} founders growing on LinkedIn","loginPanel.tagline":"Intelligent and 100% organic LinkedIn boosting","loginPanel.trust":"Trusted by teams at startups and enterprises worldwide","lp.badge.outreach.body":"Cold Direct Messages or Bulk Outreach get your profile flagged and your prospects annoyed. We never touch their inbox. Your prospects engage with you and your content instead.","lp.badge.outreach.title":"Bulk Cold Outreach","lp.badge.pods.body":"Engagement pods are brittle, fake, and against LinkedIn's terms. We never use any AI comments, but reactions to relevant posts. While traffic and reactions you receive - are 100% organic.","lp.badge.pods.title":"Pods, Violations or SPAM","lp.badge.rental.body":"Prefer not to connect your account? We hear you! Rent a dedicated LinkedIn account from our in-house pool. No LinkedIn account of yours needed. Blocking-free with a replacement guarantee.","lp.badge.rental.title":"Account Connection","lp.band.sub":"Pick how hands-on y
13ou want to be. Both paths take just minutes.","lp.band.title":"Start your engine now","lp.copilot.sub":"What it does, what it costs, whether it fits you. No account needed.","lp.copilot.title":"Ask about Top Voice","lp.cta.demo":"Demo","lp.cta.instantAi":"Instant AI Setup","lp.cta.manual":"Manual Setup","lp.different.sub":"Three things we'll never do â because they hurt your profile and your prospects.","lp.different.title":"Intelligent and 100% organic LinkedIn boosting","lp.explainer.close":"Close","lp.explainer.iframeTitle":"How Top Voice Works","lp.explainer.next":"Next scene","lp.explainer.pause":"Pause","lp.explainer.play":"Play","lp.explainer.prev":"Previous scene","lp.explainer.watch":"Watch the full walkthrough","lp.explainer.watchSub":"See how organic visibility compounds â w/o any spam","lp.feeling.momentum.body":"Every follow, every reaction builds on the last. Watch your network grow while you sleep.","lp.feeling.momentum.title":"Compounding momentum","lp.feeling.reach.body":"Add more pages, reach more people. Feel the momentum as your visibility grows exponentially.","lp.feeling.reach.title":"Exponential reach","lp.feeling.reputation.body":"Sleep soundly knowing your reputation is safe. No spam, no cold outreach, just genuine connections.","lp.feeling.reputation.title":"Reputation stays pristine","lp.feeling.ripples.body":"Every reaction creates ripples through LinkedIn's algorithm, exposing your brand to thousands.","lp.feeling.ripples.title":"Visibility ripples","lp.feeling.speed.body":"Long-term strategies are great, but you need leads today. See real engagement 1-2 weeks.","lp.feeling.speed.title":"Results in days, not months","lp.feeling.warmLeads.body":"No more empty metrics. Wake up to genuine interest from people who want what you offer.","lp.feeling.warmLeads.title":"Warm leads, not vanity metrics","lp.feelings.sub":"More than features â these are the feelings our users experience every day.","lp.feelings.title":"Organic growth that compounds over time","lp.header.aiSetup":"AI setup","lp.header.openMenu":"Open menu","lp.header.signIn":"Sign In","lp.header.signOut":"Sign Out","lp.header.toggleTheme":"Toggle theme","lp.hero.algo.body":"Here's the unfair advantage: it doesn't really matter whose post you reacted to. Irrelevant geo? Forget it! LinkedIn's signal based AI surfaces your reaction in the relevant-posts feed of your ideal audience â even if you engaged with a competitor's post or a not-quite-perfect lead. You get shown to prospects you could never reach or target directly.","lp.hero.algo.title":"It works even when the post isn't a perfect fit","lp.hero.cancelAnytime":"Cancel anytime","lp.hero.cta":"AI Setup & Free Trial Launch","lp.hero.howItWorks":"See How It Works","lp.hero.sub.algoLink":"make LinkedIn Algo","lp.hero.sub.lead":"Try FREE 14 days considerate reactions (never AI comments), that","lp.hero.sub.tail":"safely boost your SSI, posts reach, profile/page views, followers, inbound leads & sales","lp.hero.title1":"Inbound Traffic of Target Prospects","lp.hero.title2":"for Your LinkedIn® Profile and Pages","lp.menu.addChatgpt":"Add to ChatGPT","lp.menu.addClaude":"Add to Claude","lp.nav.book":"Book a Call","lp.nav.calculator":"LinkedIn Boosting","lp.nav.howItWorks":"How It Works","lp.nav.pricing":"Pricing","lp.theme.dark":"Dark","lp.theme.label":"Theme","lp.theme.light":"Light","lp.theme.system":"System","lp.toast.checkout.failed":"Could not start checkout","lp.toast.checkout.retry":"Try again in a moment.","lp.toast.network":"Network error","lp.toast.network.retry":"Try again.","lp.toast.signUpFirst":"Sign up first","lp.toast.signUpFirst.plan":"Create your account, then start your Performance Plan.","lp.toast.signUpFirst.rental":"Create your account, then rent a LinkedIn account.","moreFree.bonus.label":"Your current referral bonus","moreFree.bonus.value":"+{count} tokens/month","moreFree.commissions":"You also earn commissions when your referrals make purchases (15% / 10% / 5% across 3 levels).","moreFree.description":"Invite friends and both of you get extra free tokens every month.","moreFree.how.body":"Share your referral link with friends. When someone signs up using your link, {both} permanently.","moreFree.how.both":"both you and your friend get +1 free token per month","moreFree.how.title":"How it works","moreFree.joined.one":"{count} friend joined via your link","moreFree.joined.other":"{count} friends joined via your link","moreFree.linkLabel":"Your referral link:","moreFree.linkLoading":"Loading your referral link...","moreFree.noLimits.body":"There is no cap on referrals. Invite 10 friends and you get 10 extra free tokens every month. The bonus never expires.","moreFree.noLimits.title":"No limits","moreFree.signInButton":"Sign In to Get Your Link","moreFree.signInPrompt":"Sign in to get your personal referral link and start earning bonus tokens.","moreFree.title":"Get More Free Tokens","moreFree.viewDashboard":"View Full Aff
13iliate Dashboard","nav.account":"Account","nav.assist":"Assistant","nav.campaignMenu":"Campaign actions","nav.campaigns":"Your campaigns","nav.collapseRail":"Collapse the sidebar","nav.content":"Content","nav.deleteCampaign":"Delete this campaign","nav.deleteCampaign.confirm":"Delete â{name}â? Its keywords, filters, messages and history go with it, and this cannot be undone.","nav.duplicateCampaign":"Duplicate this campaign","nav.engage":"Engage","nav.expandRail":"Expand the sidebar","nav.funnel":"Funnel","nav.help":"Help","nav.launch":"Start this campaign","nav.launchFailed":"Could not start the campaign","nav.newCampaign":"New campaign","nav.newCampaign.blank":"Manual Setup","nav.pause":"Pause this campaign","nav.plan":"Plans and accounts","nav.pull":"Pull","nav.react":"React","nav.renameCampaign":"Rename this campaign","nav.renameFailed":"Could not rename the campaign","nav.settings":"Account settings","np.accountConnection.body":"Prefer not to connect your account? We hear you! Rent a dedicated LinkedIn account from our in-house pool. No LinkedIn account of yours needed. Blocking-free with a replacement guarantee. Rented accounts are a separate paid add-on and aren't included in the free plan, which covers your own connected accounts only.","np.badge.accountConnection":"Account Connection","np.badge.adBudgets":"Big Ad Budgets","np.badge.coldDms":"Cold DMs to Donors","np.band.body":"Set up in minutes. Refer one affiliate during your trial and your nonprofit account stays free forever. The free plan covers your own connected accounts, not rented ones.","np.band.title":"Skip the call â claim your free lifetime plan","np.cta.claimFree":"Claim Free Lifetime Plan","np.cta.howItWorks":"See How It Works","np.cta.instantAiSetup":"Instant AI Setup","np.cta.manualSetup":"Manual Setup","np.explainer.close":"Close","np.explainer.iframeTitle":"How Top Voice Works","np.explainer.mute":"Mute","np.explainer.next":"Next scene","np.explainer.pause":"Pause","np.explainer.play":"Play","np.explainer.prev":"Previous scene","np.explainer.unmute":"Unmute","np.explainer.watch.body":"See how organic visibility compounds â w/o any spam","np.explainer.watch.title":"Watch the full walkthrough","np.feelings.donors.body":"Replace cold solicitations with inbound conversations from supporters who already understand your work and want in.","np.feelings.donors.title":"Warm donor pipeline","np.feelings.hours.body":"Stop wrestling with LinkedIn. Spend that time on programs, beneficiaries, and the people you actually serve.","np.feelings.hours.title":"Hours back every week","np.feelings.reach.body":"Every reaction lands your mission in front of donors, journalists, and partners who'd otherwise never see it â without ad spend.","np.feelings.reach.title":"Your cause reaches further","np.feelings.reputation.body":"Zero spam, zero pods, zero risky automation. Everything you do here protects the trust your supporters have in you.","np.feelings.reputation.title":"Mission-safe reputation","np.feelings.storytelling.body":"AI-drafted posts, carousels, and videos in your nonprofit's voice â so a one-person comms team can post like a full agency.","np.feelings.storytelling.title":"Storytelling on autopilot","np.feelings.subtitle":"Six tangible wins your team will feel in the first weeks.","np.feelings.title":"Built for the way nonprofits actually grow","np.feelings.volunteers.body":"Authentic posts and signal-driven reactions surface your org to people already searching for ways to help in your space.","np.feelings.volunteers.title":"Volunteers find you first","np.field.description":"business description","np.field.email":"email","np.field.influencers":"target influencers","np.field.linkedin":"LinkedIn URL","np.form.bookCall":"Book a Call","np.form.bullet.affiliate.mid":"using your unique referral link, and your account converts to a","np.form.bullet.affiliate.plan":"permanent $0/mo lifetime nonprofit plan","np.form.bullet.affiliate.rest":"Continue at the regular price from $49/mo or cancel anytime.","np.form.bullet.affiliate.strong":"Refer 1 paying affiliate during the trial","np.form.bullet.prelander":"Want to boost your profile but still w/o connecting your LinkedIn account? It's also possible! Generate pre-lander page on our rented account and run boosting through it. Pre-lander will retarget traffic to your LinkedIn profile. You can even use several rented accounts subscription to force such boosting.","np.form.bullet.skip.call":"Book Your Free Strategy Call","np.form.bullet.skip.marketer":"25-Year Digital Marketer","np.form.bullet.skip.prefix":"Skip fields and","np.form.bullet.skip.with":"with","
13np.form.bullet.trial.rest":"â connect your own LinkedIn to start (the free plan covers your own accounts, not rented ones). You can cancel anytime.","np.form.bullet.trial.strong":"14-day free trial","np.form.consentRequired":"Keep AI personalization checked to launch AI Setup","np.form.description":"Short description of your nonprofit, mission & target supporters","np.form.description.placeholder":"What your nonprofit does, the cause you serve, the supporters/donors/volunteers you want to reach, the keywords/topics that matter most, and your target geography (e.g. US, UK, Canada). AI will auto-configure outbound connection requests for people who connect with you or view your profile from your target region.","np.form.email":"Email","np.form.email.placeholder":"[email protected]","np.form.footnote.line1":"Join nonprofits worldwide who are growing their cause on LinkedIn â for free.","np.form.footnote.line2":"No spam, no ad spend, no donor dollars wasted. Just organic visibility for your mission.","np.form.generating":"Generating your nonprofit AI setup...","np.form.influencers":"Sector voices & advocates
13your supporters follow","np.form.influencers.placeholder":"Names or LinkedIn URLs of nonprofit leaders, advocates, or thinkers your donors and volunteers already follow (one per line).","np.form.intro":"Tell us about your nonprofit â the AI drafts your Influence Flow + LinkedIn Boost in seconds. Then go live for free:","np.form.linkedin":"Your LinkedIn Profile or Page","np.form.linkedin.placeholder":"linkedin.com/in/... or linkedin.com/company/...","np.form.title":"Claim Your Free Lifetime Nonprofit Plan","np.header.aiSetup":"AI setup","np.header.badge":"for Nonprofits","np.header.menu":"Open menu","np.header.signIn":"Sign In","np.header.signOut":"Sign Out","np.header.theme":"Toggle theme","np.hero.banner.affiliate":"affiliate","np.hero.banner.label":"Nonprofit Lifetime Plan:","np.hero.banner.text1":"$0/month forever â start your 14-day free trial, then refer at least one paying","np.hero.banner.text2":"during the trial to convert into a free lifetime subscription. The free plan applies to your own connected LinkedIn account(s), not rented accounts.","np.hero.cancelAnytime":"Cancel anytime","np.hero.hover.adBudgets":"Most nonprofits can't (and shouldn't) spend donor dollars on paid LinkedIn ads. Top Voice grows your reach 100% organically â every impression earned, every supporter reached for free.","np.hero.hover.coldDms":"Cold inbox pitches to donors or volunteers feel transactional and burn goodwill â exactly what a mission-driven org can't afford. We never touch their inbox. Supporters discover your cause through your authentic posts and reactions instead.","np.hero.subtitle":"Reach donors, recruit volunteers, and amplify your cause through organic traffic from authentic reactions and posts for FREE.","np.hero.title.line1":"Spread Your Mission.","np.hero.title.line2":"Recruit Volunteers.","np.hero.title.line3":"Grow Donations.","np.menu.addChatgpt":"Add to ChatGPT","np.menu.addClaude":"Add to Claude","np.nav.appear":"Appear","np.nav.grow":"Grow","np.nav.research":"Research","np.notThis.adBudgets.body":"Donor dollars belong in your programs, not LinkedIn ads. Top Voice grows your reach 100% organically â every impression earned, every supporter reached for free.","np.notThis.coldDms.body":"Spamming inboxes is the fastest way to lose a major-donor relationship. We never touch their messages â supporters come to you through your authentic posts and reactions.","np.notThis.subtitle":"Three things we'll never do â because they'd cost you donor trust, board confidence, and your reputation.","np.notThis.title":"Mission-safe growth â the way nonprofits deserve","np.testimonial.one.author":"â One nonprofit director's first weeks on Top Voice.","np.testimonial.one.quote":`"Two weeks in, three new monthly donors and a corporate sponsor reached out â all of them said they'd seen our posts on LinkedIn. We've never had inbound like this."`,"np.testimonial.two.author":"â How small nonprofits are punching above their weight on LinkedIn.","np.testimonial.two.quote":`"We're a two-person comms team. Top Voice writes and schedules our story posts, surfaces volunteer applicants, and stays out of donors' inboxes. It's the multiplier we couldn't afford to hire."`,"np.theme.dark":"Dark","np.theme.label":"Theme","np.theme.light":"Light","np.theme.system":"System","np.toast.failed.desc":"Please try again, or use Skip & Book a Call below.","np.toast.failed.title":"Couldn't generate your setup","np.toast.invalidEmail.desc":"Please enter a valid email address.","np.toast.invalidEmail.title":"Invalid email","np.toast.missing.desc":'Please fill in: {fields}. Or use "Skip & Book a Call" below â those fields are optional only when booking a call.',"np.toast.missing.title":"A few details are missing","np.toast.wizard.desc":"We'll use your details to tailor the plan.","np.toast.wizard.title":"Let's finish your setup in the wizard","optimize.analyzing":"Analyzingâ¦","optimize.applyFailed":"Apply failed","optimize.autoApply":"Auto-apply","optimize.campaignLabel":"Campaign:","optimize.consentRequired":"Keep AI personalization checked to use AI Optimize","optimize.empty.noCampaign":"Create a campaign first â then AI Optimize will analyze it and suggest improvements.","optimize.noBoostingData":"No boosting data yet â once your campaign starts surfacing posts and engagers, AI will analyze them and suggest tweaks.","optimize.noSuggestions":"Looking good â no high-impact suggestions right now. Check back after a few more posts boost.","optimize.suggested":"Suggested:","optimize.tooYoung.one":"Wait 1â2 weeks after launch so AI has enough organic flow to analyze. Your campaign is {count} day old.","optimize.tooYoung.other":"Wait 1â2 weeks after launch so AI has enough organic flow to analyze. Your campaign is {count} days old.","overview.empty.help":"Set up a campaign and this page fills in.","overview.empty.title":"Nothing is running yet","overview.lastRun":"Last run {time}","overview.next.allGood":"Everything is running","overview.next.allGood.help":"No action needed. Check back after the next run.","overview.next.publish":"Nothing published recently","overview.next.publish.help":"People who see you appear will open your profile. A fresh post is what they find.","overview.next.widenReach":"Your Reach is running below its ceiling","overview.next.widenReach.help":"Your flows used {used} of {cap} available appearances last run. Widening your keywords is the cheapest way to more of them.","overview.nextRun":"Next run {time}","overview.prospects.recent":"Recent prospects","overview.status.neverRun":"Not started yet","overview.status.paused":"Paused","overview.status.running":"Running","overview.timeframe.days30":"Last 30 days","paused.account_disconnected":"LinkedIn no longer recognises the connected account, so this campaign was stopped. Reconnect it and the campaign can run again.","paused.account_unlinked":"The LinkedIn account this campaign ran from was unlinked, because no plan covered it within 24 hours of connecting. Subscribe and connect it again to start where you left off.","paused.action.pageAdmin":"Add the rented account as page admin","paused.action.plan":"Open your plan","paused.action.reconnect":"Reconnect the account","paused.awaiting_page_admin":"The rented account this campaign runs from is not an admin of your page yet, so it cannot act as the page. Add it as an admin, and the campaign starts by itself as soon as LinkedIn shows the role.","paused.no_entitlement":"Nothing is currently paying for this campaign, so it was stopped. It runs again as soon as your Performance Plan is active.","paused.plan_change":"Your Performance Plan covers fewer accounts than you had campaigns running, so the oldest were paused. Starting this one pauses another.","paused.profile_upgrade_released":"The rented page behind this campaign was upgraded and released, so the campaign was stopped.","paused.rental_released":"The rented account behind this campaign was released, so the campaign was stopped.","paused.rented_account_replaced":"The rented account behind this campaign stopped working, so we gave you a new one. The campaign is paused until the new account is an admin of your page. Add it, and the campaign restarts by itself as soon as LinkedIn shows the role.","paused.startsByItself":"No need to press Start afterwards.","paused.thenStart":"Then press Start.","paused.title":"This campaign is not running","paused.trial_ended":"Your free trial ended, so this campaign was stopped. Subscribing lets it run again.","paused.uncovered":"This campaign was taken off your Performance Plan, so nothing is paying for it.","people.alsoIn.label":"also in: {flows}","people.alsoIn.labelMore":"also in: {flows} +{count}","people.alsoIn.title":"The author of this post is also a prospect of: {flows}. That is about the author, not about this reaction.","people.appearances.filtered":"{count} appearances total â 0 shown by current filters.","people.appearances.none":"No appearances yet. Once your signal flows run, the posts your asset has appeared under will be listed here.","people.appearancesInbound.label":"Only reactions under engager posts","people.appearancesInbound.title.page":"Keep only appearance posts whose author is also a known engager of this page (someone who followed it, messaged
13it, or reacted/commented/shared its posts). When there's no overlap between authors-you-reacted-to and people-who-engaged-with-you, 0 is expected.","people.appearancesInbound.title.profile":"Keep only appearance posts whose author is also a known engager of this profile (someone who followed it, viewed it, exchanged a connection request, messaged it, or reacted/commented/shared its posts). When there's no overlap between authors-you-reacted-to and people-who-engaged-with-you, 0 is expected.","people.clearFilters":"Clear filters","people.clearRestrictive":"Clear restrictive filters","people.contact":"Contact","people.csvTitle.appearances":"Download every appearance for this campaign as a CSV â no row limit","people.csvTitle.prospects":"Download every prospect for this campaign as a CSV â no row limit","people.dialog.allAppearances":"All Appearances ({count})","people.dialog.allMatched":"All Matched People ({count})","people.dialog.allMatchedOf":"All Matched People ({count} of {total})","people.dialog.noMatches":'No matches for "{query}"',"people.dialog.searchAppearances":"Search by author, snippet, feedâ¦","people.dialog.searchProspects":"Search by name, headline, location, interactionâ¦","people.dialog.showAllAppearances":"â Show all appearances","people.dialog.showAllAppearancesTitle":"Turn off all filters above and show every appearance in the selected timeframe","people.dialog.showAllProspects":"â Show all prospects","people.dialog.showAllProspectsTitle":"Turn off all filters above and show every matched prospect in the selected timeframe","people.dialog.showMore":"Show {count} more","people.dialog.showingOf":"Showing {visible} of {total}","people.dialog.shown":"{count} shown","people.downloadCsv":"Download all {count} as CSV","people.empty.filtered":"{count} people total â 0 shown because {reasons}.","people.empty.none":"No matched people yet. As your asset receives invites, messages, reactions and boosting activity, individuals will appear here tagged with which of your filters they pass.","people.error.requestFailed":"Matched-people request failed: {status}","people.error.retry":"Try again","people.error.retrying":"Retrying...","people.error.title":"Couldn't load prospects right now","people.error.unknown":"Unknown error","people.export.downloadFailed":"Download failed","people.export.downloadFailedStatus":"Download failed ({status})","people.export.failed":"Export failed","people.export.failedStatus":"Export failed ({status})","people.exportSheet":"Export to new Google Sheet","people.exporting":"Exportingâ¦","people.feedRecipients.title":"Include people who appeared because the asset reacted/commented/shared on their posts â i.e. the asset's activity surfaced in their network feed. Uncheck to hide them.","people.filterBy":"Filter by {flow}","people.flowLink.geo.one":"{base} (filtered to {count} location)","people.flowLink.geo.other":"{base} (filtered to {count} locations)","people.flowLink.keywords.one":"{flow} â {count} keyword","people.flowLink.keywords.other":"{flow} â {count} keywords","people.inbound.label.page":"Only engagers (followed the page after campaign launch, sent messages, reacted, commented, or shared page posts)","people.inbound.label.profile":"Only engagers (followed the profile, viewed the profile, sent/received connection requests, sent messages, reacted, commented, or shared post)","people.inbound.title.page":"Only show people who actively engaged with the page â followed it, messaged it, or reacted/commented/shared one of its posts. Source attribution (which signal flow they came from, or whether they're in the passive Prospects Network bucket) is controlled by the pills below, independently of this checkbox.","people.inbound.title.profile":"Only show people who actively engaged with the profile â followed it, viewed it, exchanged a connection request, messaged it, or reacted/commented/shared one of its posts. Source attribution (which signal flow they came from, or whether they're in the passive Prospects Network bucket) is controlled by the pills below, independently of this checkbox.","people.lastInteraction":"Last interaction: {date}","people.noLink":"(no link)","people.onlyAdvanced":"Only Advanced Filters matching","people.onlyEngagers":"Only engagers","people.openPopupAppearances":"Open popup ({count} appearances)","people.openPopupFiltered":"Open popup ({count}
13 shown â filters can be cleared inside)","people.openPopupMatched":"Open popup ({count} matched people)","people.openPopupTitle":"Open the full popup â filters above can be cleared from there","people.openPost":"open","people.peopleSearchHint.page":"One LinkedIn People Search per signal flow â included locations and follower level follow your Advanced Filter settings.","people.peopleSearchHint.profile":"One LinkedIn People Search per signal flow â included locations and connection level follow your Advanced Filter settings.","people.postsLink.industry":"{base} (AND campaign industry)","people.postsLink.one":"Search LinkedIn posts for {flow} â {count} keyword","people.postsLink.other":"Search LinkedIn posts for {flow} â {count} keywords","people.postsSearchHint":"One LinkedIn Posts Search per signal flow â opens LinkedIn pre-filtered with that flow's keywords, so you can scan the public conversation your asset is appearing in.","people.prospectsNetwork":"Prospects Network","people.readFullPost":"read full post","people.reason.inboundOn":'"{label}" is on',"people.reason.noAdvancedPass":'"{label}" is on â none of the current people pass an advanced filter',"people.reason.noInbound":'"{label}" is on, but nobody has an inbound interaction yet (Prospects Network rows are passive viewers, not engagers)',"people.reason.noPillMatch":"No people match the currently selected source pills","people.reason.noRules":'"{label}" is on, but this campaign has no advanced title/keyword rules defined, so nobody can pass them',"people.reason.pair":"{a} and {b}","people.refreshAppearances":"Refresh appearances","people.refreshProspects":"Refresh matched prospects","people.refreshing":"Refresh in progressâ¦","people.setAdvanced":"(set advanced filters and follow-ups)","people.sheetTitle.appearances":"Create a brand-new Google Sheet with every appearance â opens in a new tab","people.sheetTitle.prospects":"Create a brand-new Google Sheet with every prospect â opens in a new tab","people.source.flowTitle":'Reacted by signal flow "{flow}".',"people.source.flowTitleQuery":'Reacted by signal flow "{flow}". Keywords when this ran: {query}',"people.source.followsPage":"Follows your page","people.source.noneTitle":"No source tag on this reaction â attributed to Prospects Network","people.source.ownFeed":"Own feed","people.source.pageComment":"Page comment","people.source.staleTitle":'Reacted by signal flow "{flow}", which this campaign no longer has (renamed or removed).',"people.source.staleTitleQuery":'Reacted by signal flow "{flow}", which this campaign no longer has (renamed or removed). Keywords when this ran: {query}',"people.source.systemTitle":'Source: {label} (source tag "{tag}") â not a signal flow',"people.source.trackedInfluencer":"Tracked influencer","people.source.visitedPage":"Visited your page","people.tab.reactions":"Reactions","people.total.30d":"{count} in last 30 days","people.total.90d":"{count} in last 90 days","people.total.afterFilters":"({count} after filters)","people.total.all":"{count} all time","people.total.custom":"{count} in selected range","people.total.prospectsTitle":"Total prospects for the selected timeframe. The number in parentheses (if shown) is what's currently visible after the filters above.","people.total.reactionsTitle":"Total auto-reactions for the selected timeframe. The card preview shows up to 10,000 most-recent â use the export buttons below for the full dataset.","people.total.week":"{count} in last 7 days","people.total.year":"{count} in last year","people.unknownAuthor":"Unknown Author","people.view":"View","people.viewAllMatched":"View all {count} matched people","people.viewMode":"View mode","people.viewUpTo10k":"View up to 10K last appearances","plan.help":"Billing, rented accounts and LinkedIn connections are not funnel settings. They live here so the funnel stays about the funnel.","plan.offFunnel":"Off the funnel","plan.title":"Plan and accounts","planAccounts.addCampaign":"Add campaign","planAccounts.addCampaign.aria":"Add campaign to {name}","planAccounts.addCampaign.title":"Create a new campaign on {name}","planAccounts.assign":"Assign","planAccounts.assignAll":"Assign all {
13count} to {name}","planAccounts.assignAll.aria":"Assign all {count} waiting campaigns to {name}","planAccounts.assignAll.title.one":"Assign {count} waiting campaign to {name} in one step","planAccounts.assignAll.title.other":"Assign {count} waiting campaigns to {name} in one step","planAccounts.assignOne":"Assign to {name}","planAccounts.assignOne.aria":"Assign campaign to {name}","planAccounts.assignOne.title":"Assign this campaign to {name}","planAccounts.assignOrphan.aria":"Assign {name} campaign to a new account","planAccounts.assignOrphan.title":"Assign this campaign to a new own or rented account","planAccounts.assignSelect":"Assign â¾","planAccounts.assignSelect.aria":"Assign campaign to an account","planAccounts.assignSelect.title":"Assign to an account","planAccounts.assigning":"Assigningâ¦","planAccounts.badge.disconnected":"Account disconnected","planAccounts.badge.idle":"Idle","planAccounts.badge.live":"Live","planAccounts.badge.noPlan":"Paused (no active plan)","planAccounts.badge.trialEnded":"Paused (trial ended)","planAccounts.bulk.dismiss":"Dismiss bulk-assign summary","planAccounts.bulk.help":"Retry the same account, pick another above, free up a slot, or use the per-row Assign / Configure â controls below.","planAccounts.bulk.none.one":"{count} campaign couldn't be assigned to {name}:","planAccounts.bulk.none.other":"{count} campaigns couldn't be assigned to {name}:","planAccounts.bulk.partial":"Assigned {assigned}, {skipped} couldn't be assigned to {name}:","planAccounts.campaign.dragTitle":"Drag onto another account to move it, or click to edit","planAccounts.campaign.editTitle":"Edit connected account & asset","planAccounts.configure":"Configure â","planAccounts.configure.aria":"Configure campaign","planAccounts.configure.title":"Open campaign settings to configure asset and account","planAccounts.connectOne":"connect one","planAccounts.controls.body":"Your plan runs on one or more of your own accounts, rented accounts, or a mix of both.","planAccounts.controls.title":"Add/Remove Own AND Rented Accounts","planAccounts.copy":"Copy â¾","planAccounts.copy.title":"Copy this campaign onto another account, or into a new unassigned tab","planAccounts.copyTo":"Copy to {name}","planAccounts.copyToVerify":"Copy to {name} (verify admin)","planAccounts.copying":"Copyingâ¦","planAccounts.couldntAssign":"Couldn't be assigned.","planAccounts.creating":"Creatingâ¦","planAccounts.disconnected":"· Disconnected","planAccounts.emptyCampaignSlot":"Empty campaign slot â connect a LinkedIn account to use","planAccounts.emptySlots.one":"+ {count} empty slot","planAccounts.emptySlots.other":"+ {count} empty slots","planAccounts.ends":"Ends {date}","planAccounts.footnote":"1 account â {count} engagers/mo for 2 campaigns total per acc.","planAccounts.freeSlot.aria":"Free slot for {name}","planAccounts.freeSlot.title":'Free this slot (pauses "{name}" â campaign is kept, not deleted)',"planAccounts.move":"Move â¾","planAccounts.move.title":"Move to another account or to unassigned","planAccounts.moving":"Movingâ¦","planAccounts.newUnassignedTab":"New unassigned tab","planAccounts.noAccountAssigned":"No account assigned","planAccounts.noAccounts":"No LinkedIn accounts connected yet.","planAccounts.noAccounts.covers.one":"Your plan covers {count} account â {connect} to start filling slots.","planAccounts.noAccounts.covers.other":"Your plan covers {count} accounts â {connect} to start filling slots.","planAccounts.noAsset":"No asset","planAccounts.noEligible":"No eligible account","planAccounts.noEligible.connectFirst":"No eligible account â connect one first","planAccounts.noEligible.connectFirst.title":"No LinkedIn accounts are connected yet. Connect an account above to assign this campaign.","planAccounts.noEligible.connectTitle":"Click to connect a LinkedIn account","planAccounts.noEligible.title":"None of your connected accounts are eligible for this campaign â they may be full or missing the required access (e.g. page admin).","planAccounts.notInAccounts":"· Not in your accounts","planAccounts.orphanLabel":"Account not in your list","planAccounts.own.count":"Number of own accounts","planAccounts.own.dec":"Decrease own account count","planAccounts.own.inc":"Increase own account count","planAccounts.ownAcc":"Own Acc","planAccounts.pickAnother":"Pick another account â¾","planAccounts.pickAnother.aria":"Assign {name} to a different account","planAccounts.pickAnother.title":"Retry with a different account","planAccounts.priceRange":"{min}â{max}/mo","planAccounts.proceed":"Proceed to checkout","planAccounts.proceed.both":"Proceed to checkout · +{own} own + {rented} rented","planAccounts.proceed.own.one":"Proceed to checkout · +{count} own account","planAccounts.proceed.own.other":"Proceed to checkout · +{count} own accounts","planAccounts.proceed.removeOwn.one":"Confirm removal · {count} own account","planAccounts.proceed.removeOwn.other":"Confirm removal · {count} own accounts","planAccounts.proceed.removeRented":"Confirm removal · 1 rented account","planAccounts.proceed.rented.one":"Proceed to checkout · {count} rented account","planAccounts.proceed.rented.other":"Proceed to checkout · {count} rented accounts","planAccounts.recover":"Re-cover","planAccounts.recover.aria":"Re-cover slot for {name}","planAccounts.recover.title":'Put "{name}" back on the Performance Plan',"planAccounts.recovering":"Re-coveringâ¦","planAccounts.refreshAdmins":"Refresh page admin permissions","planAccounts.refreshAdmins.
13checking":"Checkingâ¦","planAccounts.refreshAdmins.title":"Re-check which connected accounts are admin or content admin of your page(s), so a freshly-granted permission shows up as a Move target.","planAccounts.removalNoCharge":"Removal takes effect at period end â no charge today.","planAccounts.removeOwn.aria":"Remove {name} from plan","planAccounts.removeOwn.onlyAria":"Remove {name} and cancel the Performance Plan","planAccounts.removeOwn.onlyTitle":"Remove this account â it's the only one on your plan, so this cancels the Performance Plan at period end","planAccounts.removeOwn.title":"Remove this account from your plan (no active campaigns) â drops 1 account on next renewal","planAccounts.removed":"Removed","planAccounts.renews":"Renews {date}","planAccounts.rented.dec.aria":"Remove a rented account","planAccounts.rented.dec.title":"Remove a rented account from your plan","planAccounts.rented.decStaged.aria":"Remove staged rented account","planAccounts.rented.decStaged.title":"Remove one staged rented account slot","planAccounts.rented.inc.aria":"Rent account","planAccounts.rented.inc.completeAria":"Complete checkout to add another rented account","planAccounts.rented.inc.title":"Add a rented LinkedIn account â $49/mo flat. No LinkedIn account of yours needed.","planAccounts.rented.oneAtATime":"Complete this checkout to add another rented account â you can add as many as you need.","planAccounts.rentedAcc":"Rented acc","planAccounts.rentedStaged.remove.aria":"Remove staged rented account slot","planAccounts.rentedStaged.remove.title":"Remove this staged rented account slot","planAccounts.rentedStaged.slot":"Campaign slot â provisioned after checkout","planAccounts.rentedStaged.sub.one":"Pending checkout · 0 / {count} slot · $0.5/engager","planAccounts.rentedStaged.sub.other":"Pending checkout · 0 / {count} slots · $0.5/engager","planAccounts.rentedStaged.title":"Rented account slot","planAccounts.retry":"Retry {name}","planAccounts.retry.aria":"Retry assigning {campaign} to {name}","planAccounts.retry.title":"Retry assigning to {name}","planAccounts.retryAll":"Retry all {count}","planAccounts.retryAll.aria":"Retry all {count} eligible skipped campaigns","planAccounts.retryAll.title":"Retry every skipped campaign that still has an eligible account","planAccounts.retrying":"Retryingâ¦","planAccounts.scrollTo":"Scroll to boosting campaigns","planAccounts.scrollTo.title":"Jump to your boosting campaigns (account tiles) below the plan","planAccounts.setupRented":"Rented","planAccounts.setupRented.aria":"Set up page admin for {name}","planAccounts.setupRented.title":"Set up the page admin / appearance for this rented account","planAccounts.slotsUsed.one":"{used} / {count} slot used","planAccounts.slotsUsed.other":"{used} / {count} slots used","planAccounts.staged.connect":"Connect LinkedIn account","planAccounts.staged.connect.title":"Connect a LinkedIn account to this staged slot","planAccounts.staged.note":"Connect your LinkedIn account now â this slot is removed automatically if checkout isn't completed within 24 hours.","planAccounts.staged.remove.aria":"Remove staged account slot","planAccounts.staged.remove.title":"Remove this staged account slot","planAccounts.staged.sub.one":"0 / {count} slot used · staged, not yet paid","planAccounts.staged.sub.other":"0 / {count} slots used · staged, not yet paid","planAccounts.staged.title":"New account slot","planAccounts.throttle.aria":"Set {name} to {count} engagers","planAccounts.throttle.label":"Engagers","planAccounts.throttle.title":"React to ~{pct}% of matched posts on this account (free â no billing change)","planAccounts.title":"Boosting Campaigns","planAccounts.unassigned.body.one":"This campaign was cloned but has no account yet.","planAccounts.unassigned.body.other":"{count} campaigns were cloned but have no account yet.","planAccounts.unassigned.help":"Click Assign to attach the only eligible account in one step, use the Assign dropdown when more than one account fits, or use Configure â to set up the asset and account in the campaign settings.","planAccounts.unassigned.title":"Unassigned campaigns â needs an account","planAccounts.unassignedBadge":"Unassigned","planAccounts.unassignedIndicator":"+ {c
13ount} unassigned","planAccounts.unassignedIndicator.title":"Jump to campaigns waiting for an account","planAccounts.uncovered.body":"These campaigns aren't using a slot right now. Re-cover one to put it back on the plan.","planAccounts.uncovered.remove.aria":"Remove {name} from plan","planAccounts.uncovered.remove.title":'Remove "{name}" permanently from the plan',"planAccounts.uncovered.title":"Paused â removed from plan","planAccounts.unfilled.connect":"Connect account â","planAccounts.unfilled.connect.title":"Connect a LinkedIn account to fill this slot","planAccounts.unfilled.remove.aria":"Remove unfilled account slot","planAccounts.unfilled.remove.title":"Remove this empty account slot â schedules a subscription downgrade on next renewal","planAccounts.unfilled.sub.one":"0 / {count} slot used · paid capacity on your plan","planAccounts.unfilled.sub.other":"0 / {count} slots used · paid capacity on your plan","planAccounts.unfilled.title":"No account connected","planAccounts.usage":"{used} of {slots} used across {accounts}","planAccounts.verifyAdminOption":"{name} (verify admin)","planCard.accounts.one":"{count} account","planCard.accounts.other":"{count} accounts","planCard.accountsSlots":"Accounts & slots","planCard.active":"â Active","planCard.activeEnds":"â Active · ends {date}","planCard.activeRenews":"â Active · renews {date}","planCard.afterDowngrade":"â â {count} after downgrade","planCard.approxEngagers":"â {count} {engagers}","planCard.atMax":"You're at the {max}-account max.","planCard.billing.calculating":"Calculatingâ¦","planCard.billing.chargedToday":"Charged today","planCard.billing.downgradeNoCharge":"Downgrade takes effect at period end â no charge today.","planCard.billing.estimated":"Estimated","planCard.billing.exact":"Exact (from Stripe)","planCard.billing.exactAtCheckout":"Exact charge shown at checkout.","planCard.billing.proratedPeriod":"Prorated period","planCard.billing.thenMonthly":"Then / mo","planCard.billing.title":"Billing summary","planCard.boostingPower.one":"Boosting power ({count} campaign)","planCard.boostingPower.other":"Boosting power ({count} campaigns)","planCard.cancelDowngrade":"Cancel downgrade","planCard.cancelSubscription":"Cancel subscription","planCard.cancelsOn":"Subscription cancels on {date}.","planCard.capValue":"~{count} / mo","planCard.cheaper":"10 à cheaper!","planCard.conditions.aria":"How this works â conditions","planCard.conditions.one":"Signal flow use is set to pull around 100 new posts every 15 min (during workdays). You can check it via {link} of latest posts.","planCard.conditions.one.link":"LinkedIn Posts Search","planCard.conditions.title":"This works if two conditions are met:","planCard.conditions.two":"Advanced filters aren't applied to a signal flow and do not shrink the posts feed. You can still use it for follow-ups.","planCard.cta.downgrade":"Downgrade to {price}/mo (next renewal)","planCard.cta.subscribe":"Subscribe · {price}/mo","planCard.cta.trial":"Start {weeks}-week free trial · then {price}/mo","planCard.cta.trialCombined":"Start {weeks}-week free trial · then {price}/mo (own + rented combined)","planCard.cta.upgrade":"Upgrade to {price}/mo","planCard.cta.upgradeCombined":"Upgrade to {price}/mo (own + rented combined)","planCard.currently":"Currently {price}","planCard.currentlyUntil":"Currently {price} until {date}","planCard.days.one":"{count} day","planCard.days.other":"{count} days","planCard.downgrade.body":"On {date} your plan changes from {from} (~{fromEngagers} engagers/mo) to {to} (~{toEngagers} engagers/mo).","planCard.downgrade.rented.one":"Your {count} rented account (${cost}/mo) stays on the plan â only the own-account tier changes.","planCard.downgrade.rented.other":"Your {count} rented accounts (${cost}/mo) stay on the plan â only the own-account tier changes.","planCard.downgrade.slots":"Campaigns over the new {count}-slot limit will be auto-paused (oldest first).","planCard.downgrade.title":"Scheduled downgrade","planCard.engagersCap":"Engagers cap","planCard.engagersWord":"engagers","planCard.extraCapacity":"+{count} extra capacity","planCard.footer":"Cancel anytime · Pausing your subscription or disconnecting your account stops capturing new engagers · Some direct & network engagers arrive with a natural organic delay (3â14 days)","planCard.forAds":"for {price}?!","planCard.freeTrial.firstOnly":"Free trial covers your first account only â additional accounts bill from day one","planCard.freeTrial.line1":"â Free 2-week trial","planCard.freeTrial.line2":"first 50 engagers are on us","planCard.fromTo":"From {from} â {to}","planCard.fromToOn":"From {from} â {to} on {date}","planCard.includes.content":"Content Autopilot: post copy, carousels, video, images","planCard.includes.extra":"Extra engagers above your plan are free (no limit cap)","planCard.includes.followUps":"Profile viewers' AI follow-ups and own post comments","planCard.includes.tracking":"Profile and pages tracking of prospects and engagers","planCard.includes.traffic":"Organic inbound traffic - reach, followers, leads, sales","planCard.keepSubscription":"Keep subscription","planCard.legacy.body.one":"You have {count} legacy per-campaign subscription. Switching keeps your access until period end â no double-charge.","planCard.legacy.body.other":"You have {count} legacy per-campaign subscriptions. Switching keeps your access until period end â no double-charge.","planCard.legacy.switch":"Switch to Performance Plan","planCard.legacy.title":"You're on the legacy plan","planCard.manageStripe":"Manage billing on Stripe â","planCard.needMore":"Need more? {contact}.","planCard.nextRenewal":"next renewal","planCard.noAccount.p1":"Prefer not to connect your own
13LinkedIn? {strong}","planCard.noAccount.p1.strong":"We hear you!","planCard.noAccount.p2":"Rent a dedicated LinkedIn account from our in-house pool â {strong} it handles ($49/mo per account) â and run your LinkedIn company page campaigns. No LinkedIn account of yours needed. Blocking-free with a replacement guarantee. You can choose accounts after signup.","planCard.noAccount.p2.strong":"$0.5 per engager","planCard.noAccount.title":"No account to connect?","planCard.organic":"{strong} LinkedIn's algo also shows your reactions to network of prospects' connections in {link}.","planCard.organic.link":"relevant posts view","planCard.organic.strong":"200% Organic!","planCard.own":"Own","planCard.own.dec":"Decrease own accounts","planCard.own.inc":"Increase own accounts","planCard.own.note":"your LinkedIn · $0.5/engager","planCard.ownLine.one":"{count} own account · {engagers} engagers · $0.5/engager","planCard.ownLine.other":"{count} own accounts · {engagers} engagers · $0.5/engager","planCard.ownN":"Own #{n}","planCard.ownVsRented":"Own vs rented","planCard.perMonth":"/ month","planCard.periodEnd":"period end","planCard.pileCap":"{count} eng · 2 slots","planCard.priceMo":"{price}/mo","planCard.proration":"First charge â {prorated} (prorated for ~{days} left this cycle), then {price}/mo","planCard.prorationCombined":"First charge â {prorated} (prorated for ~{days} left this cycle), then {price}/mo (own + rented combined)","planCard.rented":"Rented","planCard.rented.dec":"Decrease rented accounts","planCard.rented.inc":"Increase rented accounts","planCard.rented.note":"in-house pool · $0.5/engager","planCard.rentedLine":"{count} rented à {price}/acct · max {max} engagers · $0.5/engager","planCard.rentedN":"Rented #{n}","planCard.runsOn":"Runs on one or more of your own LinkedIn accounts, one or more rented accounts from our pool, or mix of both.","planCard.scheduledInline":"â Scheduled downgrade to {price} (~{engagers} engagers)","planCard.scheduledInlineOn":"â Scheduled downgrade to {price} (~{engagers} engagers) on {date}","planCard.slider.aria":"Boosting power slider","planCard.slots.one":"{count} campaign slot","planCard.slots.other":"{count} campaign slots","planCard.status.active":"active","planCard.status.single":"single plan","planCard.tagline":"Pay only for people who actually come back to you.","planCard.thanAds":"Than LinkedIn Ads","planCard.throughput.body":"To deliver ~{engagers} engagers/mo, each of your {flows} would need to find ~{need}. Consider adding {more} or broadening targeting to reach this volume.","planCard.throughput.bodyOverCap":"To deliver ~{engagers} engagers/mo, each of your {flows} would need to find ~{need} (above the per-flow cap of 100). Consider adding {more} or broadening targeting to reach this volume.","planCard.throughput.flows.one":"{count} signal flow","planCard.throughput.flows.other":"{count} signal flows","planCard.throughput.more.one":"{count} more flow","planCard.throughput.more.other":"{count} more flows","planCard.throughput.need":"{count} new posts every 15 min","planCard.throughput.title":"Signal-flow throughput","planCard.total":"Total","planCard.trialActive":"â Free trial active","planCard.trialActiveBilling":"â Free trial active · billing starts {date}","planCard.working":"Workingâ¦","planSection.confirmRemoveLast":'"{name}" is the only account on your Performance Plan. Removing it cancels the whole plan at period end â you keep access until then. The LinkedIn account stays connected (unlink it manually if you want). Cancel the plan?',"planSection.confirmRemoveOwn":'Remove "{name}" from your plan? It has no active campaigns. Your plan drops by 1 account on next renewal â no change today. The LinkedIn account stays connected until then (or unlink it manually).',"planSection.confirmRemoveRented":'Remove rented account "{name}" from your plan? Its campaigns will be paused and the slot dropped on next renewal.',"planSection.confirmRemoveSlots.one":"Remove 1 own account from your plan? Your plan drops by 1 account on next renewal â no change today for paid plans, immediate for trials. The LinkedIn account(s) stay connected until then.","planSection.confirmRemoveSlots.other":"Remove {count}
13 own accounts from your plan? Your plan drops by {count} accounts on next renewal â no change today for paid plans, immediate for trials. The LinkedIn account(s) stay connected until then.","planSection.dismiss":"Dismiss","planSection.manageContent":"Manage content campaigns","planSection.migrate.consolidate":"Switching consolidates your subscriptions into one plan with up to {count} engagers/mo.","planSection.migrate.current":"Current spend","planSection.migrate.desc.one":"You're on a legacy per-campaign subscription. Here's how it compares to the Performance Plan at your typical usage.","planSection.migrate.desc.other":"You're on {count} legacy per-campaign subscriptions. Here's how it compares to the Performance Plan at your typical usage.","planSection.migrate.engagers":"~{count} engagers/mo","planSection.migrate.later":"Maybe later","planSection.migrate.save":"Save ${amount}/mo by switching.","planSection.migrate.switch":"Switch now","planSection.migrate.switching":"Switchingâ¦","planSection.migrate.title":"Move to the Performance Plan","planSection.paused.title":"Paused after plan change ({count})","planSection.perMo":"/mo","planSection.rentBox.body":"Rent a dedicated LinkedIn account from our in-house pool â and run your company page campaigns. No LinkedIn account of yours needed. Blocking-free with a replacement guarantee.","planSection.rentalSetup.body":"Binding your page and preparing your campaign. This only takes a moment.","planSection.rentalSetup.bodyOnDemand":"Preparing your rented LinkedIn account and your campaign. This can take up to a minute.","planSection.rentalSetup.title":"Setting up your rented accountâ¦","planSection.slots.one":"{count} slot","planSection.slots.other":"{count} slots","planSection.slotsFree":"{free}/2 slots","planSection.verify.addHint":"Add this account as your page's Admin or Content Admin on LinkedIn","planSection.verify.admin":"Admin","planSection.verify.contentAdmin":"Content Admin","planSection.verify.cta":"Verify & complete","planSection.verify.followed":"LinkedIn reports {acct} as following {page}. Now add that account as an {admin} or {contentAdmin} on your LinkedIn Page, then come back and click {verify}.","planSection.verify.followedNote":"If LinkedIn's Add-admin box says this member isn't following your page, tell us â that means our check disagrees with LinkedIn.","planSection.verify.notFollowed":"We couldn't confirm that {acct} follows {page}, and {rule} â so the Add-admin box will refuse until that is fixed.","planSection.verify.notFollowed.rule":"LinkedIn only lets you add admins who already follow the page","planSection.verify.selectedAccount":"the selected account","planSection.verify.stepsCopy":"Open the page on LinkedIn while signed in as {acct} and press Follow, or send us the page link and we'll do it. Then grant that account an {admin} or {contentAdmin} role and come back to {verify} to copy the campaign.","planSection.verify.stepsMove":"Open the page on LinkedIn while signed in as {acct} and press Follow, or send us the page link and we'll do it. Then grant that account an {admin} or {contentAdmin} role and come back to {verify} to move the campaign.","planSection.verify.stillNotAdmin":"That account still isn't an admin or content admin of the page. Grant it access on LinkedIn (changes can take a moment to apply), then try again.","planSection.verify.thisPage":"This page","planSection.verify.titleCopy":"Verify page admin to copy this campaign","planSection.verify.titleMove":"Verify page admin to move this campaign","planSection.verify.verifying":"Verifyingâ¦","popup.askAi":"Ask AI","popup.skipClose":"Skip and close","popup.welcome.caption":"Learn how Top Voice grows your LinkedIn â organically.","popup.welcome.title":"Welcome to Top Voice","postFeed.booleanPreview":"Boolean Query Preview","postFeed.editDescription":"Update your LinkedIn content search feed configuration.","postFeed.editTitle":"Edit Post Feed","postFeed.howTo.step1":"Go to LinkedIn and search for content","postFeed.howTo.step2":'Click "Posts" to filter content results',"postFeed.howTo.step3"
13:"Refine using keywords, date range, or author filters","postFeed.howTo.step4":"Copy the full URL from your browser's address bar","postFeed.howTo.step5":"Paste it above - keywords will be auto-extracted","postFeed.howTo.title":"How to get your LinkedIn search URL:","postFeed.name":"Feed Name","postFeed.namePlaceholder":"e.g. AI Leadership Posts","postFeed.nameRequired":"Feed name is required","postFeed.newDescription":"Create a LinkedIn content search feed to discover relevant posts.","postFeed.newTitle":"New Post Feed","postFeed.save":"Save Feed","postFeed.searchUrl":"LinkedIn Search URL","postFeed.tab.structured":"Structured","postFeed.tab.url":"URL","postFeed.update":"Update Feed","preview.help":"Everything here works and nothing is saved until you have an account. Type into it â your keywords and filters are kept in this browser and travel with you when you sign in.","preview.kept.body":"Nothing is sent anywhere yet. Sign in and this campaign comes with you.","preview.kept.title":"Kept in this browser","preview.needsAccount.body":"Launching, renaming and deleting act on a campaign that does not exist yet. Everything else here you can change now.","preview.needsAccount.title":"This one needs an account","preview.title":"You are looking at a preview","proposals.appliedLive":"The change is live.","proposals.appliedUndo":"You can undo it from Changes History.","proposals.apply":"Apply","proposals.applyFailed":"Couldn't apply that","proposals.consentNeeded":"Keep AI personalization checked to apply changes","proposals.dismiss":"Dismiss","proposals.dismissFailed":"Couldn't dismiss that","proposals.empty":"No changes waiting for you.","proposals.emptyHint":"Anything the copilot suggests â here, in ChatGPT or in Claude â waits here until you approve it.","proposals.expired":"expired","proposals.expiresDays":"expires in {count}d","proposals.expiresHours":"expires in {count}h","proposals.expiresMin":"expires in {count} min","proposals.fallbackHeading":"Proposed change","proposals.loadFailed":"Couldn't load pending changes.","proposals.retry":"Try again","proposals.suggested.app":"suggested in the app","proposals.suggested.gpt":"suggested from ChatGPT","proposals.suggested.hubspot":"suggested from web chat","proposals.suggested.mcp":"suggested from Claude","proposals.suggested.warmlikeDm":"suggested from LinkedIn DM","proposals.tryAgain":"Please try again.","pull.acceptFrom":"Accept invites from","pull.acceptFrom.help":"People matching the filters above. Everyone else is left pending.","pull.add":"Add a keyword","pull.addExclude":"Add a keyword to exclude","pull.audience":"Audience","pull.audience.both":"Both","pull.audience.pages":"Company pages","pull.audience.people":"People","pull.badges":"Badges","pull.badges.help":"Open to work, hiring, premium, creator.","pull.empty":"No filters set â everyone who notices you is approached.","pull.exclude":"Exclude","pull.followers":"Follower count","pull.followers.max":"At most","pull.followers.min":"At least","pull.industries":"Their industry","pull.industriesNot":"Never these industries","pull.invert":"Exclude instead","pull.inviteViewers":"Invite people who viewed your profile","pull.inviteViewers.help":"They already looked. This asks them to connect.","pull.language":"Post language","pull.language.add":"Add a language code (en, de, uk)","pull.language.help":"Two-letter codes, comma separated. Leave empty for any language.","pull.location":"Their location","pull.location.add":"Add a place","pull.location.help":"City or country names, comma separated. Leave empty for anywhere.","pull.narrowInclude":"This is a hard filter: profiles without one of these exact words are skipped entirely. Leaving it empty and excluding what you do not want keeps the audience wide.","pull.people":"Who came through","pull.positions":"Words in their current role","pull.positionsNot":"Never these words","pull.scope.all":"All flows","pull.scope.dropAll":"Remove all per-flow filters","pull.scope.inherits":"This flow has no filters of its own â it runs the shared ones. Saving here gives it its own set.","pull.scopeFilters":"Language and location","pull.scopeFilters.help":"These apply to the whole campaign, not to one signal flow. They were only settable in the old layout until now.","pull.stats.passed":"Passed your filters","pull.stats.pending":"Left pending","pull.stats.rejected":"Filtered out","pull.subtitle":"Who is worth approaching","pull.suggest":"Common exclusions:","pull.title":"Pull","pull.titles":"Job titles","pull.titles.help":"Match any of these. Leave empty to match every title.","pull.titlesNot":"Never these titles","pull.who":"Who counts as a fit","rail.assistant.schedule":"Generate on your own AI quota","rail.assistants.lead":"Add Top Voice to your favorite AI:","rail.claude":"Claude","rail.claude.help":"See your campaigns and numbers in Claude, and make changes there.","rail.gpt":"GPT","rail.gpt.help":"Ask questions about Top Voice and write posts in ChatGPT.","reach.authorCap":"Times per author, per month","reach.authorCap.help":"React under the same person or page at most this many times a calendar month. Empty means no limit, which is how every campaign runs today.","reach.authorCap.none":"No limit","reach.cap.used":"{found} of {cap} posts found last run","reach.excludedAuthors":"Never react under these","reach.excludedAuthors.add":"Paste a profile or page URL","reach.excludedAuthors.help":"Paste a LinkedIn profile or page URL. Their posts are skipped entirely, whatever your keywords match. Stored as the profile's short name, because one profile has many spellings of its URL.","reach.flows.addGroup":"Add a keyword group","reach.howYouAppear":"How you appear","reach.limited.headroom":"You are at the product maximum","reach.limited.headroom.help":"Your flows fill every reaction the product allows â {cap} per run. There is nothing left to widen or upgrade.","reach.limited.keywords":"Your keywords are the limit","reach.limited.keywords.help":"Your flows found {found} posts per run but were allowed {cap}. Adding keyword groups is the cheapest way to more appearances.","reach.limited.neverRan":"Waiting for the first run","reach.limited.neverRan.help":"The engine has not started a run for this campaign yet. Give it fifteen minutes.","reach.limited.noFlows":"No signal flows yet","reach.limited.noFlows.help":"Add one on the React tab and the engine has something to search for.","reach.limited.nonFlowOnly":"Appearances, but none from your signal flows","reach.limited.nonFlowOnly.help":"The reactions in this period came from your own feed or from tracked profiles, not from a signal flow. Check that your flows are switched on and that their keywords still match something.","reach.limited.nothingNew":"Running, but finding nothing new","reach.limited.nothingNew.help":"Your signal flows are running and every post they match has already been used. Widening your keywords, or adding a flow, is
13what gives them something new to react under.","reach.limited.pacing":"Still warming up","reach.limited.pacing.help":"New accounts ramp gradually so LinkedIn sees human-paced activity. The ceiling lifts on its own â nothing to do.","reach.limited.plan":"You are at your plan's ceiling","reach.limited.plan.help":"Your flows found {found} posts per run and were allowed {cap}. Widening keywords will not help â more appearances need a higher engager tier.","reach.limited.stale":"Nothing in the last 30 days","reach.limited.stale.help":"The last run was longer ago than this card looks back. Recent numbers will appear once it runs again.","reach.limited.unknown":"Not measured yet","reach.limited.unknown.help":"This campaign has not completed a signal-flow run yet.","reach.moreFlows":"{count} more flows","reach.noNarrowing":"Nothing here narrows but your keywords","reach.ownFeed":"Also react in your own LinkedIn feed","reach.ownFeed.help":"Besides searching by keyword, react to posts from people you already follow. Reaches your existing network rather than strangers.","reach.reaction":"Reaction","reach.reaction.celebrate":"Celebrate","reach.reaction.help":"We react under their posts. We never comment.","reach.reaction.insightful":"Insightful","reach.reaction.like":"Like","reach.reaction.support":"Support","reach.stats.allowed":"Allowed per run","reach.stats.found":"Posts found per run","reach.stats.perEngager":"Appearances per engager","reach.stats.unused":"Reach left unused","reach.stats.used":"Ceiling used","reach.strict":"Only posts that really contain your keywords","reach.strict.help":"LinkedIn matches hashtags, comments and author profiles too, so a search for your words returns posts that never say them. Off by default: a Signal Flow is meant to be as wide as its keywords allow, and narrowing the audience belongs to the author filters below.","reach.strict.stoodDown":"Not in force right now: your Pull filters are applied to the signal flows, and checking the author is the stricter test. Turn that off on Engage to bring this back.","reach.subtitle":"Signal flows","reach.title":"Reach","react.asset":"What gets boosted","react.asset.change":"Change","react.asset.changeFailed":"Could not change the appearance","react.asset.changed":"Appearance changed","react.asset.connect":"Connect a LinkedIn account","react.asset.manage":"Accounts and appearances","react.asset.noPages":"This rented account administers no pages yet.","react.asset.none":"Nothing to appear as yet. Connect a LinkedIn account first.","react.asset.page":"Your LinkedIn page","react.asset.pick":"Appear as","react.asset.pick.help":"Reactions go out under whichever of these you pick â your profile, or a page you administer. Everything else about the campaign stays as it is.","react.asset.pick.rented":"A rented account appears as a page. The account belongs to somebody else, so reactions are never left under their own name.","react.asset.profile":"Your LinkedIn profile","react.asset.unavailable":"LinkedIn would not list this account's pages just now. Try again in a few minutes.","react.contentType":"Kind of post","react.contentType.any":"Any","react.contentType.help":"Limit the search to one kind of post. Leave it on Any unless you have a reason.","react.flows":"Keywords","react.howYouAppear":"How you appear","react.industries":"Industries","react.industries.help":"Narrows the search before it runs. The only prescreen on this stage.","react.rented":"Runs from a rented account","react.rented.help":"Rentals are managed in Account.","react.subtitle":"Whose posts you show up under","react.title":"React","ready.action.account":"Connect an account","ready.action.appearance":"Choose appearance","ready.startsByItself":"It starts by itself once these are done.","ready.step.account":"Connect or rent the LinkedIn account it runs from","ready.step.appearance":"Choose what it appears as: your profile or a page","ready.title":"Before this campaign can start","rentedAdmin.addProfileHint":"Add this profile as your page's admin on LinkedIn","rentedAdmin.description":"Pick or add the LinkedIn company page you want this rented account to boost. You'll add the rented account as an Admin on the page, then we attach it to this campaign.","rentedAdmin.enterPage":"Enter the LinkedIn company page you want this rented account to boost:","rentedAdmin.pageFallback":"LinkedIn page {id}","rentedAdmin.rentedAccount":"Rented account","rentedAdmin.thisPage":"this page","rentedAdmin.title":"Set Up This Rented Account's Page","rentedAdmin.toast.attachFailed":"Failed to attach the page to your campaign.","rentedAdmin.toast.followFailed.body":"LinkedIn didn't confirm the rented account now follows this page. It has to follow the page before LinkedIn will let you add it as an admin.","rentedAdmin.toast.followFailed.title":"Couldn't follow the page","rentedAdmin.toast.noRented.body":"Open the rented account's campaign first, then choose its page.","rentedAdmin.toast.noRented.title":"No rented account","rentedAdmin.toast.notAdmin.body":"The rented account doesn't appear to have Admin or Content Admin access yet. Make sure you've added it on LinkedIn, then try again.","rentedAdmin.toast.notAdmin.title":"Not Yet Admin","rentedAdmin.toast.notRented.body":"This step follows a page from a rented account. Choose the page from the campaign's own settings instead.","rentedAdmin.toast.notRented.title":"Not a rented account","rentedAdmin.toast.nowAppearance":"{page} is now your campaign's appearance.","rentedAdmin.toast.pageSetUp":"Page Set Up","rentedAdmin.toast.setupFailed.body":"Could not resolve the page after setup.","rentedAdmin.toast.setupFailed.title":"Page Setup Failed","rentedAdmin.toast.setupPageFailed":"Failed to set up page.","rentedAdmin.toast.verified":"Page Verified & Set Up","rentedAdmin.toast.verifyFailed":"Failed to verify admin access.","rentedAdmin.verify.admin":"Admin","rentedAdmin.verify.body":"LinkedIn reports the account below as following {page}. Now add it as {admin} or {contentAdmin} on your LinkedIn Page, then come back and click {verify}.","rentedAdmin.verify.contentAdmin":"Content Admin","rentedAdmin.verify.mismatch":"If LinkedIn's Add-admin box says this member isn't following your page, tell us â that means our check disagrees with LinkedIn.","rentedAdmin.verify.verify":"Verify","rentedAdmin.verifyAccess":"Verify Admin Access","roi.ai.desc":"Describe your business and who you sell to. AI will estimate how many engagers turn into sales.","roi.ai.estimate":"Estimate","roi.ai.estimating":"Estimating...","roi.ai.placeholder":"e.g. We sell a $5k/yr B2B HR software to mid-size companies. Buyers are HR directors with a 2-month sales cycle. We're based in Germany and target the DACH + UK markets.","roi.ai.title":"Estimate your conversion rate","roi.aiEstimate":"AI estimate","roi.budget":"Your monthly budget","roi.budget.affiliates":"Your monthly budget = affiliates à $49 / mo","roi.budget.aria":"Monthly budget","roi.conv":"Your '{engagers} â Sales' Conversion Rate:","roi.conv.engagers":"Engagers*","roi.perMonth":"{amount}/mo","roi.row.costPerSale":"Cost per sale","roi.row.engagers":"Engagers / mo","roi.row.from":"from","roi.row.growsExp":"â grows exponentially","roi.row.sales":"Sales / mo","roi.summary":"For the same {budget}, Top Voice gets you {more} than LinkedIn Ads.","roi.summary.more":"{mult} à more engagers","roi.title":"Inbound Traffic, Sales & Cost","sectionError.reload":"Reload page","sectionError.retry":"Try again","sectionError.title":"This section couldn't load right now","
13sectionError.unknown":"Unknown error","settings.language":"Language","setup.consentHint":"Keep AI personalization checked above â AI Setup needs it to run.","setup.desc.label":"Short description of your business & target prospects {optional}","setup.desc.placeholder":"What you do, who your target prospects are, the keywords/topics that matter most, and your target geography (e.g. US, UK, Germany). AI will auto-configure outbound connection requests for people who connect with you or view your profile from your target region.","setup.error.generateFailed":"Failed to generate plan","setup.error.saveFailed":"We couldn't save your plan to your account. Please try again â your details are kept.","setup.generating":"Generating your AI setup...","setup.launch":"AI Setup & Launch","setup.launchChoice.boostBody":"Best results â connect your LinkedIn to run Authentic Posts on your profile + LinkedIn Boosts (genuine reactions, never AI comments) on prospect content.","setup.launchChoice.boostPlan":"Boost Plan","setup.launchChoice.contactSupport":"contact support","setup.launchChoice.description":"We've drafted your Influence Flow and LinkedIn Boost campaign. Choose the path that fits â your setup is already saved and will apply automatically.","setup.launchChoice.magicSent":"We've also sent a one-click sign-in link to {email} in case you want to continue later.","setup.launchChoice.passwordNote":"You'll set a password right after signing in to secure your account.","setup.launchChoice.price":"from $49/mo","setup.launchChoice.priceTrial":"from $49/mo · 14-d
13ay free trial","setup.launchChoice.sendFailed":"We couldn't email your sign-in link to {email} â you can still continue below, or {support} if you need help.","setup.launchChoice.title":"Your AI setup is ready â pick how to launch","setup.optional":"(optional)","setup.password.help":"Leave it blank and we will email you a sign-in link instead.","setup.password.label":"Choose a password {optional}","setup.password.placeholder":"At least 6 characters","setup.tab.history":"History","setup.tab.historyFull":"Changes History","setup.tab.setup":"Setup","setup.target.auto":"New campaign (auto)","setup.target.campaignFallback":"Campaign {id}","setup.target.help":`Choose a rented account's campaign to run this setup under it, or leave on "New campaign".`,"setup.target.label":"Apply this setup to","setup.target.rented":"{name} (rented)","setup.title":"Instant AI Setup & Free Trial Launch","sfw.cap":"(above the per-flow cap of 100)","sfw.more.one":"Consider adding {count} more flow or broadening targeting so this post can reach the engagers you're paying for.","sfw.more.other":"Consider adding {count} more flows or broadening targeting so this post can reach the engagers you're paying for.","sfw.need.one":"To deliver ~{engagers} engagers/mo from your Performance Plan, each of your {flows} signal flow would need to find ~{posts}{cap}.","sfw.need.other":"To deliver ~{engagers} engagers/mo from your Performance Plan, each of your {flows} signal flows would need to find ~{posts}{cap}.","sfw.posts":"{need} new posts every 15 min","sfw.tune":"Tune flow","shell.back":"Back to your campaigns","signedOut.cta":"Sign in or create an account","signedOut.help":"Top Voice reacts under the posts your prospects write, so they notice you and open your profile. Your campaigns live here once you have an account.","signedOut.learn":"What is this?","signedOut.title":"Sign in to see your campaigns","slides.addText":"Add Text","slides.background":"Background","slides.bg":"BG","slides.brandAlt":"Brand","slides.contentPlaceholder":"Type slide content...","slides.effect.glow":"Glow","slides.effect.none":"None","slides.effect.outline":"Outline","slides.effect.shadow":"Shadow","slides.exit":"Exit","slides.font.mono":"Mono","slides.font.sans":"Sans","slides.font.serif":"Serif","slides.format.landscape":"Landscape","slides.format.portrait":"Portrait","slides.format.square":"Square","slides.format.story":"Story","slides.hideDots":"Hide Dots","slides.hideLines":"Hide Lines","slides.logo":"Logo","slides.overlay":"Overlay","slides.overlay.color":"Color","slides.overlay.effect":"Effect","slides.overlay.opacity":"Opacity","slides.overlay.title":"Background Overlay","slides.present":"Present","slides.replaceBg":"Replace BG","slides.replaceLogo":"Replace Logo","slides.resetPosition":"Reset Position","slides.showDots":"Show Dots","slides.showLines":"Show Lines","slides.slide":"Slide","slides.theme.accent":"Accent","slides.theme.custom":"AI Image Theme","slides.theme.dark":"Dark Modern","slides.theme.minimal":"Clean Minimal","slides.theme.professional":"Professional Blue","slides.theme.titleColor":"Title","slides.theme.warm":"Gradient Warm","slides.titlePlaceholder":"Type slide title...","slides.weight.bold":"Bold","slides.weight.normal":"Normal","stage.backToOverview":"Back to overview","stage.settingsElsewhere":"Open the full settings","stage.settingsElsewhere.help":"These controls have not moved to the new layout yet.","startup.badges.adBurn.body":"Early-stage capital belongs in product and hires, not LinkedIn ads. Top Voice grows your reach 100% organically â every impression earned, every buyer and investor reached without spending your runway.","startup.badges.adBurn.label":"Burning Runway on Ads","startup.badges.coldDms.body":"Blasting cold pitches into investors' and customers' inboxes is the fastest way to a hard no. We never touch their inbox. They discover your startup through your authentic posts and traction updates instead.","startup.badges.coldDms.label":"Cold DMs to Investors","startup.badges.rentedAccounts.body":"Prefer not to connect your account? We hear you! Rent a dedicated LinkedIn account from our in-house pool. No LinkedIn account of yours needed. Blocking-free with a replacement guarantee. Rented accounts are a separate paid add-on and aren't included in the free plan, which covers your own connected accounts only.","startup.badges.rentedAccounts.label":"Account Connection","startup.band.body":"Set up in minutes. Every paying affiliate you refer during your trial adds another account to your free lifetime subscription. The free plan covers your own connected accounts, not rented ones.","startup.band.title":"Skip the call â claim your free lifetime plan","startup.banner.affiliates":"affiliates","startup.banner.body1":"$0/month forever â start your 14-day free trial, then refer paying","startup.banner.body2":"during the trial. Each one you bring unlocks +1 own account capacity for your free lifetime subscription. The free plan applies to your own connected LinkedIn account(s), not rented accounts.","startup.banner.label":"Startup Lifetime Plan:","startup.cta.instantAiSetup":"Instant AI Setup","startup.cta.manualSetup":"Manual Setup","startup.different.adBurn.body":"Your capital belongs in product and hires, not LinkedIn ads. Top Voice grows your reach 100% organically â every impression earned, every buyer reached without spending runway.","startup.different.coldDms.body":"Spamming inboxes is the fastest way to kill a deal or a sale. We never touch their messages â investors and customers come to you through your authentic posts and reactions.","startup.different.subtitle":"Three things we'll never do â because they'd cost you investor trust, customer goodwill, and your reputation.","startup.different.title":"Brand-safe growth â the way founders deserve","startup.explainer.close":"Close","startup.explainer.next":"Next scene","startup.explainer.pause":"Pause","startup.explainer.play":"Play","startup.explainer.prev":"Previous scene","startup.explainer.tagline":"See how organic visibility compounds â w/o any spam","startup.explainer.title":"How Top Voice Works","startup.explainer.watch":"Watch the full walkthrough","startup.feelings.brandSafe.body":"Zero spam, zero pods, zero risky automation. Everything you do here protects the trust investors and early customers place in you.","startup.feelings.brandSafe.title":"Brand-safe growth","startup.feelings.buildInPublic.body":"AI-drafted posts, carousels, and demo videos in your founder voice â so a solo foun
13der posts like a full GTM team.","startup.feelings.buildInPublic.title":"Build in public, on autopilot","startup.feelings.customers.body":"Founder-led posts and signal-driven reactions surface your product to buyers already searching for what you build â no cold outreach required.","startup.feelings.customers.title":"Customers come inbound","startup.feelings.hiring.body":"Top talent discovers your mission and reaches out first â so you fill key roles without paying recruiter fees you can't afford yet.","startup.feelings.hiring.title":"Hire ahead of your stage","startup.feelings.hours.body":"Stop wrestling with LinkedIn. Spend that time shipping product and talking to customers â where founders actually win.","startup.feelings.hours.title":"Hours back every week","startup.feelings.investors.body":"Every reaction lands your raise, milestones, and vision in front of VCs, angels, and operators who'd otherwise never see your deck â without ad spend.","startup.feelings.investors.title":"Investors notice you","startup.feelings.subtitle":"Six tangible wins your team will feel in the first weeks.","startup.feelings.title":"Built for the way startups actually grow","startup.field.description":"business description","startup.field.email":"email","startup.field.influencers":"target influencers","startup.field.linkedin":"LinkedIn URL","startup.form.bookCall":"Book a Call","startup.form.bullet1.lead":"14-day free trial","startup.form.bullet1.rest":"â connect your own LinkedIn to start (the free plan covers your own accounts, not rented ones). You can cancel anytime.","startup.form.bullet2.lead":"Refer paying affiliates during the trial","startup.form.bullet2.mid":"using your unique referral link â each one unlocks +1 own account capacity for your","startup.form.bullet2.plan":"permanent $0/mo lifetime startup plan","startup.form.bullet2.rest":". Otherwise continue at the regular price from $49/mo or cancel anytime.","startup.form.bullet3":"Want to boost your profile but still w/o connecting your LinkedIn account? It's also possible! Generate pre-lander page on our rented account and run boosting through it. Pre-lander will retarget traffic to your LinkedIn profile. You can even use several rented accounts subscription to force such boosting.","startup.form.bullet4.bookCall":"Book Your Free Strategy Call","startup.form.bullet4.marketer":"25-Year Digital Marketer","startup.form.bullet4.prefix":"Skip fields and","startup.form.bullet4.with":"with","startup.form.consentRequired":"Keep AI personalization checked to launch AI Setup","startup.form.description":"Short description of your startup, who you sell to & who you raise from","startup.form.description.placeholder":"What your startup does, the product and stage you're at, the customers/investors/talent you want to reach, the keywords/topics that matter most, and your target geography (e.g. US, UK, Canada). AI will auto-configure outbound connection requests for people who connect with you or view your profile from your target region.","startup.form.email":"Email","startup.form.email.placeholder":"[email protected]","startup.form.footnote1":"Join founders worldwide who are growing their startup on LinkedIn â for free.","startup.form.footnote2":"No spam, no ad burn, no runway wasted. Just organic visibility for your product, raise, and team.","startup.form.generating":"Generating your startup AI setup...","startup.form.influencers":"Founders, investors & operators your audience follows","startup.form.influencers.placeholder":"Names or LinkedIn URLs of founders, VCs, or operators your customers and investors already follow (one per line).","startup.form.linkedin":"Your LinkedIn Profile or Company Page","startup.form.linkedin.placeholder":"linkedin.com/in/... or linkedin.com/company/...","startup.form.subtitle":"Tell us about your startup â the AI drafts your Influence Flow + LinkedIn Boost in seconds. Then go live for free:","startup.form.title":"Claim Your Free Lifetime Startup Plan","startup.header.badge":"for Startups","startup.hero.cancelAnytime":"Cancel anytime","startup.hero.cta":"Claim Free Lifetime Plan","startup.hero.howItWorks":"See How It Works","startup.hero.subtitle":"Pull in investors, inbound customers, and top talent through organic traffic from authentic reactions and founder-led posts â without cold DMs or ad burn.","startup.hero.title1":"Win Investors.","startup.hero.title2":"Land Customers.","startup.hero.title3":"Hire Top Talent.","startup.menu.addToChatgpt":"Add to ChatGPT","startup.menu.addToClaude":"Add to Claude","startup.nav.aiSetup":"AI setup","startup.nav.appear":"Appear","startup.nav.grow":"Grow","startup.nav.openMenu":"Open menu","startup.nav.research":"Research","startup.nav.signIn":"Sign In","startup.nav.signOut":"Sign Out","startup.nav.toggleTheme":"Toggle theme","startup.testimonial.quote1":`"Three weeks in, two investors and a design partner reached out â all of them said they'd seen our build-in-public posts on LinkedIn. We've never had inbound like this."`,"startup.testimonial.quote2":`"We're a two-pers
13on founding team. Top Voice writes and schedules our launch posts, surfaces inbound customers, and stays out of investors' inboxes. It's the GTM hire we couldn't afford yet."`,"startup.testimonial.source1":"â A founder's first weeks on Top Voice.","startup.testimonial.source2":"â How early-stage startups punch above their weight on LinkedIn.","startup.theme.dark":"Dark","startup.theme.label":"Theme","startup.theme.light":"Light","startup.theme.system":"System","startup.toast.checkoutFailed.body":"Try again in a moment.","startup.toast.checkoutFailed.title":"Could not start checkout","startup.toast.invalidEmail.body":"Please enter a valid email address.","startup.toast.invalidEmail.title":"Invalid email","startup.toast.missing.body":'Please fill in: {fields}. Or use "Skip & Book a Call" below â those fields are optional only when booking a call.',"startup.toast.missing.title":"A few details are missing","startup.toast.networkError.body":"Try again.","startup.toast.networkError.title":"Network error","startup.toast.setupFailed.body":"Please try again, or use Skip & Book a Call below.","startup.toast.setupFailed.title":"Couldn't generate your setup","startup.toast.signUpFirst.plan":"Create your account, then start your Performance Plan.","startup.toast.signUpFirst.rental":"Create your account, then rent a LinkedIn account.","startup.toast.signUpFirst.title":"Sign up first","startup.toast.wizard.body":"We'll use your details to tailor the plan.","startup.toast.wizard.title":"Let's finish your setup in the wizard","stats.title":"Stats","switch.toNew":"Try the new layout","switch.toNew.help":"Same settings and the same data, laid out as a funnel. You can switch back any time.","switch.toOld":"Back to the old layout","toast.advFilters.failedDeleteFilter.bodyFallback":"Failed to delete filter","toast.advFilters.filterCreated.body":"Your advanced filter rule has been saved.","toast.advFilters.filterCreated.title":"Filter Created","toast.advFilters.filterDeleted.body":"The advanced filter rule has been removed.","toast.advFilters.filterDeleted.title":"Filter Deleted","toast.advFilters.filterUpdated.body":"Your advanced filter rule has been updated.","toast.advFilters.filterUpdated.title":"Filter Updated","toast.aiOptimize.applied.body":"Saved â added to Changes History so you can revert.","toast.aiOptimize.couldntApply.title":"Couldn't apply","toast.aiWizard.setupNotReadyYet.body":"We couldn't find your AI plan. Please regenerate it and try again.","toast.aiWizard.setupNotReadyYet.title":"Setup not ready yet","toast.autoStarted.body":"Everything it needed is in place, so it is running now.","toast.autoStarted.title":"Campaign started","toast.chat.addedTitle.title":"Added: {title}","toast.chat.allHiddenVoicesHave.title":"All hidden voices have been restored","toast.chat.alreadySaved.body":"This
13news query is already in your Influence Flow.","toast.chat.alreadySaved.title":"Already saved","toast.chat.apierrormessageListScreenStill.body":"{apiErrorMessage} The list on screen is still yours â press Save to retry.","toast.chat.copiedClipboard.title":"Copied to clipboard","toast.chat.couldNotAddPlatformlabel.title":"Could not add this {platformLabel} profile","toast.chat.couldNotAddSelected.title":"Could not add selected voices","toast.chat.couldNotFindFullname.title":'Could not find "{fullName}" on LinkedIn',"toast.chat.couldNotVerifyUsage.title":"Could not verify your usage quota. Please try again.","toast.chat.failedContinueSharedConversation.title":"Failed to continue shared conversation","toast.chat.failedCreateShareLink.title":"Failed to create share link","toast.chat.failedDelete.title":"Failed to delete","toast.chat.failedReadName.title":"Failed to read {name}","toast.chat.failedSaveTrainingData.title":"Failed to save training data","toast.chat.failedSendMessage.body":"Failed to send message","toast.chat.lengthVoicesSelected.title":"{length} voices selected","toast.chat.linkCopied.title":"Link copied!","toast.chat.linkCreatedCopied.title":"Link created & copied!","toast.chat.linkCreatedUseCopy.title":"Link created! Use 'Copy public link' to copy it.","toast.chat.msg.titleFallback":"Failed to save","toast.chat.msg2.titleFallback":"Failed to fetch content","toast.chat.msg3.titleFallback":"Failed to fetch link content","toast.chat.msg4.titleFallback":"Flow created but auto-save failed â review and click Save","toast.chat.nameAddedSelected.body":"Did you mean {similarSystemVoice}? They are listed in our directory.","toast.chat.nameAddedSuccessfully.title":"{name} added successfully","toast.chat.nameSelected.title":"{name} selected","toast.chat.nameTooLargeMax.title":"{name} is too large (max 5MB)","toast.chat.newFlowSavedWith.title":"New Flow saved with {count} voice{v1}","toast.chat.pleaseEnterValidUrl.title":"Please enter a valid URL starting with http:// or https://","toast.chat.pleaseSignSaveInfluence.title":"Please sign in to save Influence Flows","toast.chat.pleaseSignShareConversations.title":"Please sign in to share conversations","toast.chat.publicLinkCopied.title":"Public link copied!","toast.chat.savedButAttachedContext.body":"Your links and files are still here â press Save again to retry.","toast.chat.savedButAttachedContext.title":"Saved, but the attached context did not","toast.chat.savedLinkCopied.title":"Saved! Link copied.","toast.chat.searchFailed.bodyFallback":"Could not complete search.","toast.chat.shareLinkRemoved.title":"Share link removed","toast.chat.sharedChatDeleted.title":"Shared chat deleted","toast.chat.sharedChatNotFound.title":"Shared chat not found","toast.chat.sharedConversationNotFound.title":"Shared conversation not found","toast.chat.sharedConversationTitle.title":"Shared conversation: {title}","toast.chat.subscriptionBalanceRequired.body":"Custom influencers and extra web links require an active subscription or positive balance.","toast.chat.subscriptionBalanceRequired.title":"Subscription or balance required","toast.chat.supportLinkedinXYoutube.title":"We support LinkedIn, X, YouTube and Facebook profiles & pages.","toast.chat.topUpSuccessful.body":"Your balance has been updated.","toast.chat.trainingDataSaved.title":"Training data saved","toast.chat.urlHasAlreadyBeen.title":"This URL has already been added","toast.common.accessGranted":"Access granted","toast.common.accountRemovalScheduled":"Account removal scheduled","toast.common.alreadyHaveAccount":"You already have an account","toast.common.applied":"Applied","toast.common.cancelFailed":"Cancel failed","toast.common.checkoutCancelled":"Checkout cancelled","toast.common.connectionFailed":"Connection failed","toast.common.copied":"Copied!","toast.common.copyFailed":"Copy failed","toast.common.couldNotConnectGoogle":"Could not connect Google Sheet","toast.common.couldNotDisconnect":"Could not disconnect","toast.common.couldNotFindInfluence":"Could not find an Influence Flow ID in that link.","toast.common.couldNotLoadInfluence":"Could not load that Influence Flow.
13Check the link and try again.","toast.common.couldNotReachDestination":"Could not reach destination","toast.common.couldntApplySavedSetup":"Couldn't apply your saved setup","toast.common.couldntCopy":"Couldn't copy","toast.common.couldntSave":"Couldn't save","toast.common.couldntUpdateEngagers":"Couldn't update engagers","toast.common.disconnectFailed":"Disconnect failed","toast.common.disconnected":"Disconnected","toast.common.downloaded":"Downloaded!","toast.common.error":"Error","toast.common.failedAddInfluencer":"Failed to add influencer","toast.common.failedCancelSubscription":"Failed to cancel subscription","toast.common.failedChangePassword":"Failed to change password","toast.common.failedConnect":"Failed to connect","toast.common.failedCreateCampaign":"Failed to create campaign","toast.common.failedCreateFlow":"Failed to create flow","toast.common.failedDeleteCampaign":"Failed to delete campaign","toast.common.failedDuplicateCampaign":"Failed to duplicate campaign","toast.common.failedGeneratePost":"Failed to generate post","toast.common.failedLoadInfluenceFlow":"Failed to load Influence Flow.","toast.common.failedRenameCampaign":"Failed to rename campaign","toast.common.failedResume":"Failed to resume","toast.common.failedResumeSubscription":"Failed to resume subscription","toast.common.failedSetPassword":"Failed to set password","toast.common.failedUnlinkGoogle":"Failed to unlink Google","toast.common.failedUnlinkLinkedin":"Failed to unlink LinkedIn","toast.common.failedUpdateAvatar":"Failed to update avatar","toast.common.failedUpdateEmail":"Failed to update email","toast.common.generationFailed":"Generation failed","toast.common.googleSheetConnected":"Google Sheet connected","toast.common.googleSheetDisconnected":"Google Sheet disconnected","toast.common.influenceFlowConnected":"Influence Flow connected","toast.common.invalidEmail":"Invalid email","toast.common.invalidLink":"Invalid link","toast.common.invalidUrl":"Invalid URL","toast.common.limitReached":"Limit reached","toast.common.linkedinOpenedWithPost":"LinkedIn opened with your post","toast.common.linkedinPostFailed":"LinkedIn post failed","toast.common.nameAdded":"{name} added","toast.common.nameAddedSelected":"{name} added and selected","toast.common.nameHasBeenSet":"{name} has been set as your active appearance.","toast.common.nameLoaded":'"{name}" loaded',"toast.common.nameRemoved":'"{name}" removed.',"toast.common.networkError":"Network error","toast.common.newInfluenceFlowCreated":"New Influence Flow created & connected","toast.common.newSpreadsheetHasBeen":"A new spreadsheet has been created and linked.","toast.common.noSavedPaymentMethod":"No saved payment method","toast.common.notFound":"Not found","toast.common.openingEditor":"Opening editor...","toast.common.pagesOnlyPlan":"Pages-Only Plan","toast.common.paymentError":"Payment Error","toast.common.performancePlanStarted":"Performance Plan started","toast.common.planActiveAgain":"Your plan is active again.","toast.common.pleaseCompleteManualTop":"Please complete a manual top-up purchase first to save your card for auto top-up.","toast.common.pleaseEnterValidEmail":"Please enter a valid email address.","toast.common.pleaseSwitchDesktop":"Please switch to a desktop","toast.common.pleaseTryAgain":"Please try again","toast.common.pleaseTryAgain2":"Please try again.","toast.common.pleaseTryAgainMoment":"Please try again in a moment.","toast.common.postedLinkedin":"Posted to LinkedIn!","toast.common.profileLinkCopied":"Profile link copied","toast.common.refreshFailed":"Refresh failed","toast.common.removeFailed":"Remove failed","toast.common.rentedAccountAdded":"Rented account added","toast.common.resumeFailed":"Resume failed","toast.common.saved":"Saved","toast.common.searchFailed":"Search failed","toast.common.setupDidntFullyApply":"Setup didn't fully apply","toast.common.signApplyNewAi":"Sign in to apply your new AI setup â we've saved it for you.","toast.common.signalFlowSaved":"Signal flow saved","toast.common.startPerformancePlanFirst":"Start the Performance Plan first","toast.common.subscribePerformancePlanThen":"Subscribe to the Performance Plan, then rent an account.","toast.common.subscriptionCanceled":"Subscription Canceled","toast.common.subscriptionRequired":"Subscription Required","toast.common.subscriptionResumed":"Subscription Resumed","toast.common.subscriptionWillEndCurrent":"Your subscription will end at the current billing period.","toast.common.templateLoaded":"Template loaded","toast.common.templateSaved":"Template saved","toast.common.testPushFailed":"Test push failed","toast.common.testPushSent":"Test push sent","toast.common.topUpSuccessful":"Top-up Successful","toast.common.tryAgain":"Try again","toast.common.tryAgain2":"Try again.","toast.common.tryAgainMoment":"Try again in a moment.","toast.connect.alreadyConnected.title":"Already Connected","toast.connect.alreadyLinkedElsewhere.bodyFallback":"This LinkedIn account is linked to another Top Voice user.","toast.connect.alreadyLinkedElsewhere.title":"Already linked elsewhere","toast.connect.codeResent.body":"A new verification code has been sent.","toast.connect.codeResent.title":"Code Resent","toast.connect.linkedinConnected.body":"Successfully connected {name}.","toast.connect.linkedinConnected.title":"LinkedIn Connected!","toast.connect.planLim
13itReached.bodyFallback":"Upgrade your plan to connect another LinkedIn account.","toast.connect.planLimitReached.title":"Plan limit reached","toast.connect.verificationMethodChanged.body":"Please use the new verification method.","toast.connect.verificationMethodChanged.title":"Verification Method Changed","toast.content.copied.body":"Post copied to clipboard","toast.content.downloaded.body":"Your carousel document has been saved","toast.content.failedDownload.body":"Failed to download","toast.content.limitReached.body":"You've used all your free tokens. Top up your balance ($0.15/token) to continue. No sign-up required.","toast.copilot.askAgainIllRe.bodyFallback":"Ask again and I'll re-check your current settings.","toast.copilot.couldntReachServer.title":"Couldn't reach the server","toast.copilot.couldntStartChat.title":"Couldn't start the chat","toast.delivery.statusStatustext.body":"{status} {statusText}","toast.history.couldntRevert.title":"Couldn't revert","toast.history.reverted.body":"Settings restored to their prior state.","toast.history.reverted.title":"Reverted","toast.identity.avatarUpdated.title":"Avatar Updated","toast.identity.checkInbox.title":"Check your inbox","toast.identity.confirmationSent.title":"Confirmation Sent","toast.identity.emailUpdated.body":"Your email has been changed to {email}","toast.identity.emailUpdated.title":"Email Updated","toast.identity.failedStartGoogleLinking.body":"Failed to start Google linking","toast.identity.failedStartLinkedinLinking.body":"Failed to start LinkedIn linking","toast.identity.googleUnlinked.body":"Google sign-in has been removed from your account","toast.identity.googleUnlinked.title":"Google Unlinked","toast.identity.linkedinUnlinked.body":"LinkedIn sign-in has been removed from your account","toast.identity.linkedinUnlinked.title":"LinkedIn Unlinked","toast.identity.newPasswordMustLeast.body":"New password must be at least 6 characters","toast.identity.passwordMustLeast6.body":"Password must be at least 6 characters","toast.identity.passwordSet.title":"Password Set","toast.identity.passwordsDoNotMatch.body":"Passwords do not match","toast.identity.pleaseEnterValidEmail.body":"Please enter a valid email address","toast.identity.pleaseUseRealEmail.body":"Please use your real email address","toast.instantAi.couldntApplySavedSetup2.bodyFallback":"Please try again â your plan details are kept.","toast.instantAi.couldntGenerateSetup.title":"Couldn't generate your setup","toast.instantAi.fewDetailsMissing.body":"Please fill in: {missing}.","toast.instantAi.fewDetailsMissing.title":"A few details are missing","toast.instantAi.letsFinishSetupWizard.body":"We'll use your details to tailor the plan.","toast.instantAi.letsFinishSetupWizard.title":"Let's finish your setup in the wizard","toast.instantAi.setupDidntFullyApply2.body":"We couldn't link your new plan to a fresh campaign. Please try again â your details are kept.","toast.instantAi.setupDidntFullyApply3.body":"We saved your account but couldn't auto-apply your plan. You can re-open the AI Setup Wizard to retry.","toast.marketplace.couldntStartCheckout.title":"Couldn't start checkout","toast.page.accessShared.body":"Your page is ready to hand off.","toast.page.accessShared.title":"Access shared","toast.page.adminAccessConfirmed.body":"This rented account is now amplifying your page as the organization.","toast.page.adminAccessConfirmed.title":"Admin access confirmed","toast.page.adminConfirmedButBoosting.bodyFallback":"The account is an admin, but we couldn't start boosting. Please try verifying again.","toast.page.adminConfirmedButBoosting.title":"Admin confirmed, but boosting didn't start","toast.page.boosterAdded.body":"This rented account is now amplifying your page.","toast.page.boosterAdded.title":"Booster added","toast.page.boosterRemoved.title":"Booster removed","toast.page.cantOpenBrowser.title":"Can't open browser","toast.page.checkoutCancelled.body":"No charge was made. You can start a Profile Pre-lander on warmlike.com whenever you're ready.","toast.page.checkoutCancelled2.body":"No charge was made. You can rent a booster account whenever you're ready.","toast.page.couldntAddBooster.title":"Couldn't add booster","toast.page.couldntCheckMessages.title":"Couldn't check messages","toast.page.couldntCopy.body":"Copy the page URL above manually.","toast.page.couldntCopy2.body":"Copy the invite link manually.","toast.page.couldntLaunch.title":"Couldn't launch","toast.page.couldntLoadBoosterAccounts.title":"Couldn't load booster accounts","toast.page.couldntOpen.title":"Couldn't open","toast.page.couldntRemoveBooster.title":"Couldn't remove booster","toast.page.couldntRemoveSetup.title":"Couldn't remove setup","toast.page.couldntSave2.body":"Something went wrong. Please try again.","toast.page.couldntShareAccess.title":"Couldn't share access","toast.page.couldntStartAdminSetup.title":"Couldn't start admin setup","toast.page.couldntVerify.title":"Couldn't verify","toast.page.couldntVerifyAdminAccess.title":"Couldn't verify admin access","toast.page.justMoment.body":"You checked very recently â please wait a few seconds and try again.","toast.page.justMoment.title":"Just a moment","toast.page.noMessageFoundYet.body":"We couldn't find a message from your profile yet. Send one to the page, then try again.","toast.page.noMessageFoundYet.title":"No message found yet","toast.page.notAdminYet.body":"We couldn't confirm admin access. In the browser, open Manage admins â Add admin and add the account as a Content admin, then verify again.","toast.page.notAdminYet.title":"Not an admin yet","toast.page.notFinishedYet.title":"Not finished yet","toast.page.openComputer.body":"Setting up admin access uses a full browser window â please continue on a desktop.","toast.page.openComputer.title":"Open on a computer","toast.page.pageCreated.body":"Your company page is linked. Choose what happens next.","toast.page.pageCreated.title":"Page created","toast.page.paymentReceived.body":"Your Profile Pre-lander is being set up â it'll appear below shortly.","toast.page.paymentReceived.title":"Payment received","toast.page.pleaseSwitchDesktop.body":"Editing your page uses a built-in browser that needs a mouse and keyboard. Open Top Voice on a laptop or desktop to create and edit your page.","toast.page.pleaseSwitchDesktop2.body":"Editing your page uses a built-in browser that needs a mouse and keyboard. Open Top Voice on a laptop or desktop to edit your page.","toast.page.rentedAccountAdded.body":"Verify admin access on it below to start boosting your page.","toast.page.resetFailed.title":"Reset failed","toast.page.saved.body":"Your auto-reply settings were updated.","toast.page.saved2.body":"Your auto-repost instructions were updated.","toast.page.saved3.body":"Your repost delay was updated.","toast.page.setupRemoved.body":'"{label}" was deleted.',"toast.page.setupRemoved.title":"Setup removed","toast.page.testStateReset.body":"Cancelled {rentalsCancelled} rental(s), deleted {setupsDeleted} setup(s). Start a fresh pre-lander now.","toast.page.testStateReset.title":"Test state reset","toast.page.trialLaunc
13hed.body":"We'll start boosting and creating content for your page.","toast.page.trialLaunched.title":"Trial launched","toast.page.verified.body":"Ownership confirmed â your boost is starting automatically.","toast.page.verified.title":"Verified","toast.page.verifyItsPage.body":"Send any message to this page from your own LinkedIn profile, then verify below.","toast.page.verifyItsPage.title":"Verify it's your page","toast.pageAdminNeeded.title":"One step before it can start","toast.plan.adminPermissionsRefreshed.body":"{granted} new move target{v1} unlocked.","toast.plan.adminPermissionsRefreshed.title":"Admin permissions refreshed","toast.plan.campaignCloned.title":"Campaign cloned","toast.plan.campaignCopied.title":"Campaign copied","toast.plan.campaignMovedUnassigned.title":"Campaign moved to unassigned","toast.plan.campaignReassigned.title":"Campaign reassigned","toast.plan.checkoutFailed.title":"Checkout failed","toast.plan.cloneFailed.title":"Clone failed","toast.plan.clonedWithWarnings.body":'Created "{name}" â review it in the accounts panel before launching. {warnings}',"toast.plan.clonedWithWarnings.title":"Cloned with warnings","toast.plan.couldntCancelDowngrade.title":"Couldn't cancel downgrade","toast.plan.couldntFreeSlot.title":"Couldn't free this slot","toast.plan.couldntReCoverCampaign.title":"Couldn't re-cover this campaign","toast.plan.couldntRefreshAdminPermissions.title":"Couldn't refresh admin permissions","toast.plan.downgradeCancelled.body":"Your current plan stays in place.","toast.plan.downgradeCancelled.title":"Downgrade cancelled","toast.plan.failedMoveCampaign.title":"Failed to move campaign","toast.plan.networkError2.bodyFallback":"Couldn't reach the server. Check your connection and try again.","toast.plan.noNewPermissionsFound.title":"No new permissions found","toast.plan.reCovered.body":'"{campaignName}" is back on the plan and running.',"toast.plan.reCovered.title":"Re-covered","toast.plan.reassignFailed.title":"Reassign failed","toast.plan.slotFreed.body":'"{campaignName}" paused and removed from the plan.',"toast.plan.slotFreed.title":"Slot freed","toast.plan.someChecksFailed.body":"{failed} permission check{v1} couldn't complete. LinkedIn may be rate-limiting â try again in a moment.","toast.plan.someChecksFailed.title":"Some checks failed","toast.plan.subscriptionResumed.title":"Subscription resumed","toast.plan.switchFailed.title":"Switch failed","toast.plan.tryAgain.title":"Failed","toast.plan.updateFailed.title":"Update failed","toast.plan.willCancelPeriodEnd.title":"Will cancel at period end","toast.planCard.campaignResumed.title":"Campaign resumed","toast.planCard.checkoutNotCompleted.body":"Your plan hasn't changed â you can subscribe any time.","toast.planCard.checkoutNotCompleted.title":"Checkout not completed","toast.planCard.onlyAccount.body":"Your free trial covers one account, so there's no subscription to cancel yet. Let the trial run out, or unlink this LinkedIn account from the accounts list.","toast.planCard.onlyAccount.title":"This is your only account","toast.planCard.performancePlanStarted.body":"Now add your rented account below to get started.","toast.planCard.performancePlanStarted2.body":"Your free trial is active.","toast.planCard.queued.body":"We received your payment but no page was available. Our team will assign one shortly.","toast.planCard.queued.title":"Queued","toast.planCard.rentedAccountAdded.body":"We've bound it to your account. Create or assign a campaign to start running.","toast.planCard.stillPreparing.body":"It is being set up and is already attached to your campaign. We'll email you when it's ready.","toast.planCard.stillPreparing.title":"Still preparing your rented account","toast.planCard.switchingPerformancePlan.body":"Legacy subs cancel at period end â no double-charge.","toast.planCard.switchingPerformancePlan.title":"Switching to Performance Plan","toast.postFeed.searchParametersExtracted.body":"{count} keywords with {logic} logic","toast.postFeed.searchParametersExtracted.title":"Search parameters extracted","toast.proposals.changeOutDate.bodyFallback":"Those settings have changed since this was suggested.","toast.proposals.changeOutDate.title":"That change is out of date","toast.proposals.somethingWentWrong.title":"Something went wrong","toast.rentals.c
13ancelScheduled.body":"Your rental will end at the period close. Campaigns will be paused then.","toast.rentals.cancelScheduled.title":"Cancel scheduled","toast.rentals.profileUpgradeCancelScheduled.body":"Your upgrade will end at the next period close.","toast.rentals.profileUpgradeCancelScheduled.title":"Profile upgrade cancel scheduled","toast.roi.aiEstimateConversionrateConversion.title":"AI estimate: {conversionRate}% conversion","toast.roi.couldntEstimate.title":"Couldn't estimate","toast.roi.tellUsBitMore.body":"Add a sentence or two about what you sell and to whom.","toast.roi.tellUsBitMore.title":"Tell us a bit more","toast.search.accountDisconnected.body":"{name} needs to be reconnected before you can post. Use the Reconnect button in the account list.","toast.search.accountDisconnected.title":"Account disconnected","toast.search.accountsRefreshed.body":"Latest names and images loaded.","toast.search.accountsRefreshed.title":"Accounts refreshed","toast.search.alreadyRunning.title":"Already running","toast.search.assignmentUpdated.title":"Assignment updated","toast.search.blogFeedDetected.title":"Blog feed detected","toast.search.bundleCanceled.body":"Your PAYG bundle will end at the current billing period.","toast.search.bundleCanceled.title":"Bundle Canceled","toast.search.bundleResumed.body":"Your PAYG bundle is active again.","toast.search.bundleResumed.title":"Bundle Resumed","toast.search.cannotStart.title":"Cannot start","toast.search.carouselExportFailed.body":"Could not generate PDF for your carousel. Try downloading and attaching manually.","toast.search.carouselExportFailed.title":"Carousel export failed","toast.search.contentGeneratedReview.body":"Generated: {parts}. Review and edit in the Post Media tabs above.","toast.search.contentGeneratedReview.title":"Content generated for review","toast.search.copied.body":"Video script copied to clipboard","toast.search.couldntAddGif.bodyFallback":"Failed to download the GIF. Try again.","toast.search.couldntAddGif.title":"Couldn't add GIF","toast.search.couldntDetectFeed.title":"Couldn't detect feed","toast.search.couldntGetGifIdeas.title":"Couldn't get GIF ideas","toast.search.couldntPreviewLatestPost.bodyFallback":"The feed may be empty or unreachable. Please try again.","toast.search.couldntPreviewLatestPost.title":"Couldn't preview latest post","toast.search.couldntSeedFromBlog.bodyFallback":"Please try a different URL.","toast.search.couldntSeedFromBlog.title":"Couldn't seed from blog","toast.search.customThemeGenerated.body":'"{name}" theme has been applied to your presentation',"toast.search.customThemeGenerated.title":"Custom theme generated!","toast.search.disconnected2.body":"Influence Flow removed from context.","toast.search.downloadFailed.body":"Could not render the overlay onto the image.","toast.search.downloadFailed.title":"Download failed","toast.search.downloaded.body":"Your carousel PDF has been saved","toast.search.failedConnect2.bodyFallback":"Please sign in first.","toast.search.failedDisconnect.title":"Failed to disconnect","toast.search.failedDownloadPdf.body":"Failed to download PDF","toast.search.failedUpdateCampaign.title":"Failed to update campaign","toast.search.generationFailed.bodyFallback":"Could not generate content","toast.search.generationStarted.title":"Generation started","toast.search.gifAddedAsCore.body":"Edit text overlays in the Core Creative tab. Posting with no overlay keeps the GIF animated; adding overlay text bakes it onto a static frame.","toast.search.gifAddedAsCore.title":"GIF added as Core Creative","toast.search.gifDownloadFailed.body":"Could not fetch the selected GIF. Please pick another.","toast.search.gifDownloadFailed.title":"GIF download failed","toast.search.gifSearchFailed.title":"GIF search failed","toast.search.googleAccountDisconnected.body":"Reconnect any time to resume logging.","toast.search.googleAccountDisconnected.title":"Google account disconnected","toast.search.googleSheetDisconnected.body":"The sheet link has been removed.","toast.search.imageRemixed.body":"The remixed image has been added to your gallery","toast.search.imageRemixed.title":"Image remixed!","toast.search.imageSetAsCarousel.body":"Theme applied (accent: {accent}).","toast.search.imageSetAsCarousel.title":"Image set as carousel theme","toast.search.imageSetAsStyle.body":"Scroll to the AI Custom Template section â describe your style and the image will guide the AI theme generation.","toast.search.imageSetAsStyle.title":"Image set as style reference","toast.search.imageTemplateLoaded.title":"Image template loaded","toast.search.imageTemplateSaved.body":'"{name}" saved with {length} image(s)',"toast.search.imageTemplateSaved.title":"Image template saved","toast.search.imageUploaded.body":'Click "Stylize Uploaded" to transform it into a Core Creative â it will be used as the basis instead of generating a new image.',"toast.search.imageUploaded.title":"Image uploaded","toast.search.imagesAddedCarousel.body":"{length} image(s) added as carousel slides","toast.search.imagesAddedCarousel.title":"Images added to carousel","toast.search.imagesAddedVideoScenes.body":"Image(s) set as background for {length} scene(s)","toast.search.imagesAddedVideoScenes.title":"Images added to video scenes","toast.search.influenceFlowConnected.body":'"{name}" context applied.',"toast.search.influenceFlowSeededFrom.body":'Created "{flowName}" with {topics} topics.{feedNote}',"toast.search.influenceFlowSeededFrom.title":"Influence Flow seeded from blog","toast.search.limitReached.body":"You've used all your free tokens. Top up to continue.","toast.search.linkedinConnected.body":"You can now post directly with text and images.","toast.search.linkedinConnected.title":"LinkedIn connected!","toast.search.linkedinConnectionFailed.title":"LinkedIn connection failed","toast.search.linkedinDisconnected.body":"Your posting connection has been removed.","toast.search.linkedinDisconnected.title":"LinkedIn disconnected","toast.search.linkedinOpenedWithPost.body":"Your text is pre-filled in the LinkedIn composer.{v1}","toast.search.linkedinOpenedWithPost2.body":"Your text is pre-filled in the LinkedIn composer.{v1} Connect your LinkedIn to post directly with visuals.","toast.search.linkedinPostFailed.body
13Fallback":"Unknown error. Please try again or check your LinkedIn connection.","toast.search.nameLoaded.body":"Custom style restored","toast.search.nextClickFreshAi.body":"Your uploaded photo is kept. After this one fresh image, clicks go back to stylizing your upload.","toast.search.nextClickFreshAi.title":"Next click â fresh AI image","toast.search.noFeedFound.body":"We couldn't auto-detect a feed for this blog. Enter the feed URL manually below.","toast.search.noFeedFound.title":"No feed found","toast.search.noImagesAvailable.body":"Generate some images first before pushing to video scenes.","toast.search.noImagesAvailable.title":"No images available","toast.search.noStoredResults.body":"Run a new search to get fresh results.","toast.search.noStoredResults.title":"No stored results","toast.search.noVideoExportedYet.body":"Please render and download your video animation first, then share to YouTube.","toast.search.noVideoExportedYet.title":"No video exported yet","toast.search.noVideoPreview.body":"Generate a video script first, then open the preview to export.","toast.search.noVideoPreview.title":"No video to preview","toast.search.noVideoScript.body":"Generate a video script first, then push images to scenes.","toast.search.noVideoScript.title":"No video script","toast.search.pickCampaignFirst.body":"Select or create a campaign before seeding from a blog.","toast.search.pickCampaignFirst.title":"Pick a campaign first","toast.search.postReady.body":"Your generated post is now in Recent Posts.","toast.search.postReady.title":"Post ready","toast.search.postSkipped.title":"Post skipped","toast.search.postedLinkedin.body":"Your post has been published to {targetName}.","toast.search.shareCancelledFailed.body":"You can copy the post text manually instead.","toast.search.shareCancelledFailed.title":"Share cancelled or failed","toast.search.shared.body":"Your post was shared via the system share dialog.","toast.search.shared.title":"Shared!","toast.search.skipFailed.bodyFallback":"Could not reschedule","toast.search.skipFailed.title":"Skip failed","toast.search.slidesConvertedVideo.body":"{length} scenes created from your presentation. Pick a template and preview!","toast.search.slidesConvertedVideo.title":"Slides converted to video","toast.search.storageFull.body":"Could not save â try clearing old templates first.","toast.search.storageFull.title":"Storage full","toast.search.styleSaved.body":'"{templateName}" saved to your library',"toast.search.styleSaved.title":"Style saved!","toast.search.stylizeSourceSet.body":`The next "Generate" will preserve this image's subject (face, identity) instead of creating a fresh AI render.`,"toast.search.stylizeSourceSet.title":"Stylize source set","toast.search.stylizedFromUpload.body":'Click "Stylize Uploaded" again for another variation, or "Use fresh AI" to generate something new.',"toast.search.stylizedFromUpload.title":"Stylized from your upload","toast.search.templateLoaded.body":'"{name}" with {length} slides',"toast.search.templateLoaded2.body":'"{name}" with {length} scenes',"toast.search.templateSaved.body":'"{name}" saved with {length} slides',"toast.search.templateSaved2.body":'"{name}" saved with {length} scenes',"toast.search.templatenameGenerated.title":'"{templateName}" generated!',"toast.search.triggerFailed.bodyFallback":"Could not trigger autopilot","toast.search.triggerFailed.title":"Trigger failed","toast.search.uploadedSourceRemoved.body":"Re-upload a photo if you want to stylize it again.","toast.search.uploadedSourceRemoved.title":"Uploaded source removed","toast.search.xOpenedWithPost.title":"X opened with your post","toast.search.youtubeUploadPageOpened.body":"Your video has been downloaded. Upload it on the YouTube page that just opened.","toast.search.youtubeUploadPageOpened.title":"YouTube upload page opened","toast.skipped.switchedWhitelistMode.body":"Prospects with an unknown location will now be captured.","toast.skipped.switchedWhitelistMode.title":"Switched to whitelist mode","toast.templates.couldNotSubmit.title":"Could not submit","toast.templates.couldNotWithdraw.title":"Could not withdraw","toast.templates.submittedReview.body":"We'll publish your template once it's approved.","toast.templates.submittedReview.title":"Submitted for review","toast.templates.templateWithdrawn.title":"Template withdrawn","toast.topup.cardRemoved.title":"Card removed","toast.topup.subscriptionWillCancelEnd.title":"Subscription will cancel at end of billing period","toast.topup.topUpSuccessful.body":"{tokensAdded} tokens added. You now have {newBalance} tokens available.","toast.video.linkedinOpenedWithPost.body":"Attach the downloaded video to your post.","toast.video.linkedinPostFailed.body
13Fallback":"Unknown error. Please try again.","toast.video.noVideoExported.body":"Export the video first, then share.","toast.video.noVideoExported.title":"No video exported","toast.video.postedLinkedin.body":"Your video has been published to {targetName}.","toast.vis.accountRefreshed.body":"Your LinkedIn account was updated. Reloading...","toast.vis.accountRefreshed.title":"Account Refreshed","toast.vis.accountSwitched.body":"Now using {profileName}.","toast.vis.accountSwitched.title":"Account Switched","toast.vis.activatingTrial.body":"Hang tight while we finalize your subscription.","toast.vis.activatingTrial.title":"Activating your trialâ¦","toast.vis.addAccountFirst.body":"Connect your own LinkedIn account to continue here â or use the Rent tab to start your Performance Plan with a dedicated account from our pool. The plan works with own accounts, rented accounts, or a mix.","toast.vis.addAccountFirst.title":"Add an account first","toast.vis.added.body":"{name} added to tracking","toast.vis.added.title":"Added","toast.vis.alreadyTracked.body":"{name} is already in your list","toast.vis.alreadyTracked.title":"Already tracked","toast.vis.alreadyUpDate.body":"No newer logo found.","toast.vis.alreadyUpDate.title":"Already up to date","toast.vis.appearanceRequired.body":"Please select a LinkedIn profile or page before resuming.","toast.vis.appearanceRequired.title":"Appearance Required","toast.vis.appearanceSelected.body":"{name} is now your active appearance.","toast.vis.appearanceSelected.title":"Appearance Selected","toast.vis.appearanceTypeUpd
13ated.body":'Signals will now use "{id}" appearances.',"toast.vis.appearanceTypeUpdated.title":"Appearance Type Updated","toast.vis.campaignCreated.body":'"{name}" has been created.',"toast.vis.campaignCreated.title":"Campaign Created","toast.vis.campaignDeleted.body":"The campaign has been removed. Your subscription remains active.","toast.vis.campaignDeleted.title":"Campaign Deleted","toast.vis.campaignDuplicated.body":'"{name}" has been created from "{v1}".',"toast.vis.campaignDuplicated.title":"Campaign Duplicated","toast.vis.campaignLaunched.body":"Your signal flows are now active. Appearances will begin shortly.","toast.vis.campaignLaunched.title":"Campaign Launched","toast.vis.campaignLaunched2.body":"Your LinkedIn Boosting campaign is now active.","toast.vis.campaignLaunched2.title":"Campaign Launched!","toast.vis.campaignPaired.body":'Now sharing subscription with "{name}"',"toast.vis.campaignPaired.title":"Campaign paired","toast.vis.chooseAppearance.body":"Pick the profile or company page you want to subscribe with.","toast.vis.chooseAppearance.title":"Choose Your Appearance","toast.vis.connectLinkedinFirst.body":"Advanced Filters become available once a LinkedIn account is connected to this campaign.","toast.vis.connectLinkedinFirst.title":"Connect LinkedIn first","toast.vis.couldNotInitializeCampaign.body":"Could not initialize campaign. Please try again.","toast.vis.couldNotRefresh.title":"Could not refresh","toast.vis.couldNotSavePreference.title":"Could not save preference","toast.vis.couldntAttachAppearance.title":"Couldn't attach appearance","toast.vis.couldntFollowPage.title":"Couldn't follow the page","toast.vis.descriptionTooShort.body":"Please describe your offer, product, or brand in at least a couple of sentences.","toast.vis.descriptionTooShort.title":"Description too short","toast.vis.disconnected2.body":"Influence Flow removed.","toast.vis.disconnected3.body":'"{targetName}" has been disconnected. Subscriptions remain active.',"toast.vis.engineUpdated.body":"Your active signal flows have been updated.","toast.vis.engineUpdated.title":"Engine Updated","toast.vis.failedAttachPageCampaign.bodyFallback":"Failed to attach the page to your campaign.","toast.vis.failedAutoConfigureFilters.body":"Failed to auto-configure filters","toast.vis.failedCancel.bodyFallback":"Failed to cancel","toast.vis.failedCreatePageOnly.bodyFallback":"Failed to create page-only checkout.","toast.vis.failedDisconnect.body":"Failed to disconnect.","toast.vis.failedFetchLinkedinAppearances.body":"Failed to fetch LinkedIn appearances.","toast.vis.failedLookUpPage.body":"Failed to look up page.","toast.vis.failedOpenBillingPortal.bodyFallback":"Failed to open billing portal","toast.vis.failedPair.bodyFallback":"Failed to pair","toast.vis.failedPairCampaign.bodyFallback":"Failed to pair campaign","toast.vis.failedPause.bodyFallback":"Failed to pause","toast.vis.failedSaveFilters.bodyFallback":"Failed to save filters","toast.vis.failedSaveOutreachSettings.bodyFallback":"Failed to save outreach settings","toast.vis.failedSavePerFlow.bodyFallback":"Failed to save per-flow settings","toast.vis.failedSaveWebhookUrl.bodyFallback":"Failed to save webhook URL","toast.vis.failedSelectAppearance.body":"Failed to select appearance.","toast.vis.failedSetUpPage.body":"Failed to set up page.","toast.vis.failedStartCheckout.bodyFallback":"Failed to start checkout.","toast.vis.failedSwitch.title":"Failed to switch","toast.vis.failedVerifyAdminAccess.bodyFallback":"Failed to verify admin access.","toast.vis.filtersConfigured.title":"Filters configured","toast.vis.filtersSaved.body":"Your advanced filters have been applied.","toast.vis.filtersSaved.title":"Filters Saved","toast.vis.googleSheetDisconnected.body":"The sheet link has been removed. The spreadsheet itself still exists in your Google Drive.","toast.vis.influenceFlowConnected.body":'"{name}" experts applied.',"toast.vis.invalidLinkedinUrl.body":"Please enter a LinkedIn profile or company page URL (e.g. linkedin.com/in/burykin or linkedin.com/company/acme)","toast.vis.invalidLinkedinUrl.title":"Invalid LinkedIn URL","toast.vis.invalidUrl.body":"Please paste a URL from LinkedIn, X, YouTube, or Facebook","toast.vis.launchError.title":"Launch Error","toast.vis.limitReached.body":"You can track up to 100 people per campaign.","toast.vis.linkedinConnectionHasExpired.bodyFallback":"Your LinkedIn connection has expired. Please disconnect and reconnect your account.","toast.vis.logoRefreshed.body":"Fetched the latest logo from LinkedIn.","toast.vis.logoRefreshed.title":"Logo refreshed","toast.vis.matchedassetSelected.title":"{matchedAsset} Selected","toast.vis.merged.body":"All flows now share the same filters and follow-ups.","toast.vis.merged.title":"Merged","toast.vis.mov
13ingCampaignConnectedAccount.title":"Moving this campaign to your connected account","toast.vis.noAppearancesFound.body":"No LinkedIn profiles or company pages were found for this account.","toast.vis.noAppearancesFound.title":"No Appearances Found","toast.vis.noCampaignSelected.body":"Open a campaign tab and try again.","toast.vis.noCampaignSelected.title":"No campaign selected","toast.vis.noMatchingExperts.body":"The connected flow's experts could not be resolved. Try adding them manually.","toast.vis.noMatchingExperts.title":"No matching experts","toast.vis.noRentedAccount.body":"Open the rented account's campaign first, then choose its page.","toast.vis.noRentedAccount.title":"No rented account","toast.vis.noResults.body":"Could not generate filter settings â try adding more influencers or signal flows","toast.vis.noResults.title":"No results","toast.vis.noResultsFound.bodyFallback":"This query returns no LinkedIn results. Try adjusting your keywords.","toast.vis.noResultsFound.title":"No results found","toast.vis.notYetAdmin.bodyFallback":"The rented account doesn't appear to have Admin or Content Admin access yet. Make sure you've added it on LinkedIn, then try again.","toast.vis.notYetAdmin.title":"Not Yet Admin","toast.vis.nothingAnalyze.body":"Add influencers or create signal flows first","toast.vis.nothingAnalyze.title":"Nothing to analyze","toast.vis.outreachSaved.body":"Your outreach automation settings have been saved.","toast.vis.outreachSaved.title":"Outreach Saved","toast.vis.pageFound.body":"{name} has been added to the list.","toast.vis.pageFound.title":"Page Found","toast.vis.pageManagedByAnother.title":"Page managed by another account","toast.vis.pageNotFound.title":"Page Not Found","toast.vis.pageSetUp.body":"{pageLabel} is now your campaign's appearance.","toast.vis.pageSetUp.title":"Page Set Up","toast.vis.pageSetupFailed.body":"Could not resolve the page after setup.","toast.vis.pageSetupFailed.title":"Page Setup Failed","toast.vis.pageVerifiedSetUp.body":"{name} is now your campaign's appearance.","toast.vis.pageVerifiedSetUp.title":"Page Verified & Set Up","toast.vis.pagesOnlyPlan.body":"Access granted. You can now request a Pages-Only account.","toast.vis.pagesOnlyPlan2.body":"Your subscription is already active.","toast.vis.pagesOnlyPlanCanceled.title":"Pages-Only Plan Canceled","toast.vis.paused.body":"Your appearances campaign has been paused.","toast.vis.paused.title":"Paused","toast.vis.pleaseLog.body":"You need to be signed in to start your free trial.","toast.vis.pleaseLog.title":"Please log in","toast.vis.preferredassetSelected.title":"{preferredAsset} Selected","toast.vis.refreshFailed.bodyFallback":"Could not refresh logo.","toast.vis.refreshFailed2.bodyFallback":"Network error.","toast.vis.saved.body":"Per-flow filters and follow-ups saved for all flows.","toast.vis.signRequired.body":"Please sign in to subscribe.","toast.vis.signRequired.title":"Sign In Required","toast.vis.signalFlowGenerated.body":"Your search expression is ready. Review it below or fine-tune in Manual Signal Flow Setup.","toast.vis.signalFlowGenerated.title":"Signal flow generated","toast.vis.signalFlowSaved.body":'"{name}" configuration saved.',"toast.vis.signalFlowSaved2.body":'"{name}" configuration saved (validation skipped).',"toast.vis.signalFlowValidated.body":"Query returns results. Configuration saved.","toast.vis.signalFlowValidated.title":"Signal flow validated","toast.vis.startPerformancePlanFirst2.body":"Rented accounts are a Perf Plan add-on. Subscribe to the Performance Plan, then rent an account from the dashboard.","toast.vis.stillFinalizing.body":"Your payment went through, but our system hasn't received confirmation yet. Try refreshing in a moment.","toast.vis.stillFinalizing.title":"Still finalizingâ¦","toast.vis.subscriptionActive.body":"Your subscription is active. Select an appearance and configure signal flows to launch.","toast.vis.subscriptionActive.title":"Subscription Active","toast.vis.subscriptionCanceled.body":"Your subscription will end at the current billing period. The campaign has been paused.","toast.vis.subscriptionCanceled3.body":"Your yearly subscription will end at the current billing period.","toast.vis.subscriptionCanceled4.body":"The subscription has been canceled.","toast.vis.subscriptionConfirmed.body":"Let's link your Pages-Only account to the page.","toast.vis.subscriptionConfirmed.title":"Subscription confirmed","toast.vis.subscriptionRequired.body":"You need an active subscription to connect additional accounts. Please subscribe first.","toast.vis.subscriptionRequired2.body":"You need an active Pages-Only subscription ($49/mo, 14-day free trial for first-time subscribers) before requesting a Pages-Only account. Subscribe below first.","toast.vis.subscriptionResumed2.body":"Your Pages-Only Plan is active again.","toast.vis.templateImported.body":"Your new Influence Flow is ready in the Signal Flows section below.","toast.vis.templateImported.title":"Template imported","toast.vis.temporarilyUnavailable.bodyFallback":"Your LinkedIn account is temporarily unavailable â it may be in use or LinkedIn is asking for a quick security check. Please try again in a few minutes.","toast.vis.temporarilyUnavailable.title":"Temporarily Unavailable","toast.vis.trialStarted.body":"Your 14-day free trial has begun. Now make sure your LinkedIn account and appearance are set up.","toast.vis.trialStarted.title":"Trial Started!","toast.vis.trialUnavailable.title":"Trial unavailable","toast.vis.updateFailed.body":"Could not update appearance type.","toast.vis.updateFailed.title":"Update Failed","toast.vis.urlAutoCompleted.body":"Detected as a {v1}: {normalized}","toast.vis.urlAutoCompleted.title":"URL auto-completed","toast.vis.webhookSaved.title":"Webhook Saved","toast.voice.failedSaveChanges.bodyFallback":"Failed to save changes","toast.voice.invalidUrl.body":"Paste a LinkedIn, X, YouTube, or Facebook profile URL","toast.voice.maximumMaxpersonsInfluencers.body":"Deselect one to add another","toast.voice.maximumMaxpersonsInfluencers.title":"Maximum {maxPer
13sons} influencers","toast.voice.nameAdded.body":"Maximum {maxPersons} influencers selected â deselect one to select this.","toast.voice.saved.body":"{cleanDisplayName} updated","topup.auto.body":"Auto-charge saved card when tokens hit zero","topup.auto.recharge":"Recharge:","topup.auto.title":"Auto Top-Up","topup.auto.tokens":"({count} tokens)","topup.autopilotActive":"Autopilot Plan active â {remaining}/{total} tokens this period","topup.badge.active":"Active","topup.badge.canceling":"Canceling","topup.badge.free":"Free","topup.badge.noBundle":"No bundle","topup.badge.sharedPool":"Shared pool","topup.badge.trial":"Trial","topup.badge.yearly":"Yearly","topup.boostSubs.note":"Each subscription covers up to 2 campaigns.","topup.boostSubs.title":"Boost Plan Subscriptions","topup.buy":"Buy","topup.campaignFallback":"Campaign #{id}","topup.confirmCancel":"Cancel subscription for {names}? Your campaigns will remain active until the end of the current billing period, then be paused.","topup.confirmRemoveRented":'Remove rented account "{name}" from your plan?',"topup.content.bundles.one":"{count} active bundle","topup.content.bundles.other":"{count} active bundles","topup.content.campaigns.one":"{count} campaign","topup.content.campaigns.other":"{count} campaigns","topup.content.title":"Content Campaigns","topup.description":"LinkedIn boosting, account management, and content generation","topup.manual.noSub":"no subscription needed","topup.manual.rate":"$0.15/token â {tokens} tokens for ${amount}. Tokens never expire.","topup.manual.title":"Manual Top-Up","topup.resume":"Resume","topup.saved.quick":"Quick top-up $29 (193 tokens) with one click","topup.saved.title":"Saved Payment Methods","topup.secure":"Payments are processed securely via Stripe. Card details, Apple Pay, and Google Pay are never stored on our servers.","topup.sessionOnly":"Without signing in, your topped-up balance and all chat/search history are only valid for this browser session.","topup.slotsAvailable":"{free}/2 slots available","topup.toast.autoOff.body":"Auto top-up has been turned off.","topup.toast.autoOff.title":"Auto top-up disabled","topup.toast.autoOn.body":"${amount}
13 will be charged automatically when your balance runs out.","topup.toast.autoOn.title":"Auto top-up enabled","topup.tokens":"{count} tokens","tour.appear.assistant.description":"Ask it to write the next post: it uses this campaign's own instructions and voices, shows you the text, and on your OK hands it to the campaign, which publishes it at the next scheduled time. Anything it does not write, Top Voice writes itself.","tour.appear.assistant.title":"Let your own ChatGPT or Claude write the posts","tour.appear.autopilot.description":"Autopilot & schedule opens the campaign's switch, the LinkedIn profile or page it posts as, how often and at what time. Nothing is published until the switch is on and an account is chosen.","tour.appear.autopilot.title":"Turn it on and set the schedule","tour.appear.campaigns.description":"A content campaign writes LinkedIn posts and publishes them on a schedule â a separate product from boosting. They live here, under Account â More â Content; with more than one, pick it at the top.","tour.appear.campaigns.title":"Your content campaigns","tour.appear.creative.description":"The one image a post is built from. Made one in ChatGPT or anywhere else? Attach it here: the post's image, the carousel's colours and the video's background are made from it, at no cost to you. Creatives decides which formats.","tour.appear.creative.title":"The core creative","tour.appear.next.description":"What your assistant handed over, with its image, laid out as it will look on LinkedIn â on a desktop and on a phone â and whether it will go out as it stands.","tour.appear.next.title":"See the next post first","tour.appear.sectionTitle":"Content â posts written and published for you","tour.custom.sectionTitle":"Your walkthrough","tour.ui.counter":"{n}/{total}","unicode.emoji":"Emoji","unicode.emoji.business":"Business & Work","unicode.emoji.business.short":"Business","unicode.emoji.flags":"Flags","unicode.emoji.flags.short":"Flags","unicode.emoji.food":"Food & Drink","unicode.emoji.food.short":"Food","unicode.emoji.gestures":"Gestures & Body","unicode.emoji.gestures.short":"Gestures","unicode.emoji.hearts":"Hearts & Emotions","unicode.emoji.hearts.short":"Hearts","unicode.emoji.insert":"Insert emoji","unicode.emoji.nature":"Nature & Animals","unicode.emoji.nature.short":"Nature","unicode.emoji.objects":"Objects & Things","unicode.emoji.objects.short":"Objects","unicode.emoji.search":"Search all emojis...","unicode.emoji.smileys":"Smileys & People","unicode.emoji.smileys.short":"Smileys","unicode.emoji.symbols":"Symbols & Arrows","unicode.emoji.symbols.short":"Symbols","unicode.emoji.travel":"Travel & Places","unicode.emoji.travel.short":"Travel","unicode.plain":"Plain","unicode.plain.title":"Revert to plain text","unicode.style.bold":"Bold","unicode.style.boldItalic":"Bold Italic","unicode.style.circled":"Circled","unicode.style.doubleStruck":"Double-struck","unicode.style.fullwidth":"Fullwidth","unicode.style.italic":"Italic","unicode.style.monospace":"Monospace","unicode.style.script":"Script","unicode.style.serif":"Serif Bold","unicode.style.serifItalic":"Serif Italic","unicode.style.smallCaps":"Small Caps","unicode.style.squared":"Squared","unicode.title":"Unicode formatting (select text first, or applies to all)","videoTpl.bold.description":"High contrast, dramatic cuts and scale transitions","videoTpl.bold.name":"Bold Impact","videoTpl.corporate.description":"Clean, professional with smooth gradient backgrounds","videoTpl.corporate.name":"Corporate Story","videoTpl.kinetic.description":"Bold, energetic text animations with dynamic transitions","videoTpl.kinetic.name":"Kinetic Text","videoTpl.minimal.description":"Refined, subtle animations with editorial feel","videoTpl.minimal.name":"Minimal Elegant","voices.addUrlPlaceholder":"Paste profile URL to add...","voices.all":"All Authentic Influencers","voices.clearAll":"Clear All","voices.edit.adminSettings":"Admin Settings","voices.edit.cantSkip":"Can't skip (starred)","voices.edit.fallbackName":"Influencer","voices.edit.pinned":"Pinned to top","voices.edit.primaryLocked":"The primary platform URL cannot be changed. Add other social profiles to link them.","voices.edit.smartTags":"Smart Tags","voices.edit.smartTagsHint":"Used for smart filtering (comma-separated)","voices.edit.smartTagsPlaceholder":"Comma-separated tags for smart search","voices.edit.socialProfiles":"Social Profiles","voices.edit.systemVoice":"System voice","voices.edit.tags":"Tags","voices.edit.tagsHint":"Short category tags shown next to the name","voices.edit.tagsPlaceholder":"e.g. AI, Marketing, Leadership","voices.edit.title":"Edit {name}","voices.editInfluencer":"Edit influencer","voices.empty":"No voices found","voices.hideFromList":"Hide from list","voices.loading":"Loading voices...","voices.more":"+{count} more","voices.noneSelected":"None selected","voices.profileOn":"{name} on {platform}","voices.removeInfluencer":"Remove influencer","voices.restore":"Restore Authentic Influencers List ({count} hidden)","voices.searchName":"Search by name...","voices.selectAll":"Select All","voices.selectedCount":"{count} selected","voices.tagFilter":"Smart filter by tag..."},a2=Object.freeze(Object.defineProperty({__proto__:null,default:vl},Symbol.toStringTag,{value:"Module"}
13)),l_="tv.locale",Yi=new Map([[ja,vl]]),zm=new Map;async function r2(t){if(t===ja)return vl;if(Yi.has(t))return Yi.get(t);const e=zm.get(t);if(e)return e;const n=n2(Object.assign({
13"../locales/_sources.json":()=>Ee(()=>import("./_sources-Bz34HdL_.js"),[]),
13"../locales/ar.json":()=>Ee(()=>import("./ar-B6FWde8B.js"),[]),
13"../locales/az.json":()=>Ee(()=>import("./az-CpUMVUbE.js"),[]),
13"../locales/bg.json":()=>Ee(()=>import("./bg-fMHrrgwB.js"),[]),
13"../locales/bn.json":()=>Ee(()=>import("./bn-DTzEYovg.js"),[]),
13"../locales/ca.json":()=>Ee(()=>import("./ca-R5FEF7mR.js"),[]),
13"../locales/cs.json":()=>Ee(()=>import("./cs-cKPhiPla.js"),[]),
13"../locales/da.json":()=>Ee(()=>import("./da-Dy7_tIL4.js"),[]),
13"../locales/de.json":()=>Ee(()=>import("./de-BJzvD0MS.js"),[]),
13"../locales/el.json":()=>Ee(()=>import("./el-dqXZtxfM.js"),[]),
13"../locales/en.json":()=>Ee(()=>Promise.resolve().then(()=>a2),void 0),
13"../locales/eo.json":()=>Ee(()=>import("./eo-C3W0g3a4.js"),[]),
13"../locales/es.json":()=>Ee(()=>import("./es-DLlqGSJf.js"),[]),
13"../locales/et.json":()=>Ee(()=>import("./et-sydiQ_dZ.js"),[]),
13"../locales/eu.json":()=>Ee(()=>import("./eu-D2SooCrm.js"),[]),
13"../locales/fa.json":()=>Ee(()=>import("./fa-B3FOXiVe.js"),[]),
13"../locales/fi.json":()=>Ee(()=>import("./fi-D-fh4RfH.js"),[]),
13"../locales/fr.json":()=>Ee(()=>import("./fr-D9LaN71a.js"),[]),
13"../locales/ga.json":()=>Ee(()=>import("./ga-NfFqM3Tv.js"),[]),
13"../locales/gl.json":()=>Ee(()=>import("./gl-DEvH-CzM.js"),[]),
13"../locales/he.json":()=>Ee(()=>import("./he-DpQXI77a.js"),[]),
13"../locales/hi.json":()=>Ee(()=>import("./hi-NMSvZjTV.js"),[]),
13"../locales/hu.json":()=>Ee(()=>import("./hu-Bz95yfO9.js"),[]),
13"../locales/id.json":()=>Ee(()=>import("./id-BMfNNlyW.js"),[]),
13"../locales/it.json":()=>Ee(()=>import("./it-DlipbS1g.js"),[]),
13"../locales/ja.json":()=>Ee(()=>import("./ja-CkaLSp7M.js"),[]),
13"../locales/ko.json":()=>Ee(()=>import("./ko-C4dv5B5d.js"),[]),
13"../locales/ky.json":()=>Ee(()=>import("./ky-JT3wW6YU.js"),[]),
13"../locales/lt.json":()=>Ee(()=>import("./lt-OctmbBQJ.js"),[]),
13"../locales/lv.json":()=>Ee(()=>import("./lv-AjOu_aKS.js"),[]),
13"../locales/ms.json":()=>Ee(()=>import("./ms-BViiOHaT.js"),[]),
13"../locales/nb.json":()=>Ee(()=>import("./nb-DRksVdlT.js"),[]),
13"../locales/nl.json":()=>Ee(()=>import("./nl-BAGB43FA.js"),[]),
13"../locales/pl.json":()=>Ee(()=>import("./pl-gcoTropa.js"),[]),
13"../locales/pt-BR.json":()=>Ee(()=>import("./pt-BR-CiTzTsoq.js"),[]),
13"../locales/pt.json":()=>Ee(()=>import("./pt-DWJFTj_v.js"),[]),
13"../locales/ro.json":()=>Ee(()=>import("./ro-Bl734m2q.js"),[]),
13"../locales/ru.json":()=>Ee(()=>import("./ru-BKXae0a1.js"),[]),
13"../locales/sk.json":()=>Ee(()=>import("./sk-D91lDIJ5.js"),[]),
13"../locales/sl.json":()=>Ee(()=>import("./sl-DCzIyF9S.js"),[]),
13"../locales/sq.json":()=>Ee(()=>import("./sq-CChs3Or0.js"),[]),
13"../locales/sv.json":()=>Ee(()=>import("./sv-Ch6S2Q90.js"),[]),
13"../locales/sw.json":()=>Ee(()=>import("./sw-CsbujFnc.js"),[]),
13"../locales/th.json":()=>Ee(()=>import("./th-DD495EBk.js"),[]),
13"../locales/tl.json":()=>Ee(()=>import("./tl-DTSAgcEL.js"),[]),
13"../locales/tr.json":()=>Ee(()=>import("./tr-BliS583X.js"),[]),
13"../locales/uk.json":()=>Ee(()=>import("./uk-oBeGTXrD.js"),[]),
13"../locales/ur.json":()=>Ee(()=>import("./ur-Cc1Hrjc5.js"),[]),
13"../locales/vi.json":()=>Ee(()=>import("./vi-BpI0SkJU.js"),[]),
13"../locales/zh-Hans.json":()=>Ee(()=>import("./zh-Hans-C1HgGBET.js"),[]),
13"../locales/zh-Hant.json":()=>Ee(()=>import("./zh-Hant-GhrC1XI-.js"),[])
13}),`../locales/${t}.json`,3).then(r=>{const i=r.default??r;return Yi.set(t,i),i}).catch(()=>(Yi.set(t,{}),{})).finally(()=>zm.delete(t));return zm.set(t,n),n}function s2(){try{const t=localStorage.getItem(l_);if(t&&r_(t))return t}catch{}try{return i_(navigator.languages??[navigator.language])}catch{return ja}}const c_=f.createContext(null);function d_(t,e){return e?t.replace(/\{(\w+)\}/g,(n,r)=>Object.prototype.hasOwnProperty.call(e,r)?String(e[r]):n):t}let u_=ja;function x8(){return u_}function Bm({children:t}){const[e,n]=f.useState(s2);u_=e;const[,r]=f.useState(0),[i,l]=f.useState(!1);f.useEffect(()=>{let h=!1;if(!Yi.has(e))return l(!0),r2(e).then(()=>{h||(l(!1),r(v=>v+1))}),()=>{h=!0}},[e]),f.useEffect(()=>{const h=document.documentElement;h.setAttribute("lang",e),h.setAttribute("dir",o2(e)?"rtl":"ltr")},[e]);const d=f.useCallback(h=>{if(r_(h)){try{localStorage.setItem(l_,h)}catch{}n(h)}},[]),p=f.useCallback((h,v)=>{const y=Yi.get(e),x=vl,_=y&&y[h]||x[h]||h;return d_(_,v)},[e,i]),m=f.useMemo(()=>({locale:e,setLocale:d,t:p,loading:i}),[e,d,p,i]);return a.jsx(c_.Provider,{value:m,children:t})}function lr(){const t=f.useContext(c_);if(t)return t;const e=vl;return{locale:ja,setLocale:()=>{},loading:!1,t:(n,r)=>d_(e[n]||n,r)}}function Jt(){return lr().t}const Dg="tv.layout";function Fg(){try{return localStorage.getItem(Dg)==="classic"?"classic":"funnel"}catch{return"funnel"}}function Sa(){return Fg()==="classic"?"/linkedin":"/funnel"}function i2(){try{return localStorage.getItem(Dg)!==null}catch{return!1}}function p_(t){try{localStorage.setItem(Dg,t)}catch{}}function w8({testId:t="button-layout-classic"}={}){const e=Jt();return i2()?a.jsx(je,{asChild:!0,variant:"ghost",size:"sm",className:"gap-1.5",onClick:()=>p_("classic"),"data-testid":t,children:a.jsxs("a",{href:"/linkedin",children:[a.jsx(mA,{className:"h-3.5 w-3.5"}),e("switch.toOld")]})}):null}function b8({campaignId:t}){const e=Jt(),n=t?`/funnel?campaign=${t}`:"/funnel";return a.jsxs("div",{className:"flex items-center justify-between gap-3 flex-wrap rounded-lg border bg-muted/40 px-4 py-2.5",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("span",{className:"text-sm font-medium",children:e("switch.toNew")}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[" â ",e("switch.toNew.help")]})]}),a.jsx(je,{asChild:!0,size:"sm",variant:"outline",className:"shrink-0",onClick:()=>p_("funnel"),"data-testid":"button-layout-funnel",children:a.jsx(Pn,{href:n,children:e("common.open")})})]})}const l2=["/funnel","/react","/pull","/engage","/account"],c2=["/privacy","/terms","/affiliate","/top-rated-voice-admin","/auth"];function f_(t){return(t.split("?")[0]||"").replace(/\/+$/,"")||"/"}const d2=["funnel","react","pull","engage","account","contentSettings"];function _8(t){const e=(t.split("?")[0]||"").replace(/^\/+/,"").split("/"),n=e[0]==="grow"?e[1]:e[0];return n&&d2.includes(n)?n:null}function u2(t){const e=f_(t);return e==="/grow"||e==="/start"||e.startsWith("/grow/")||l2.includes(e)}function p2(t){return c2.includes(f_(t))}const m_=f.createContext(void 0),xl=t=>{const e=f.useContext(m_);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},Vm=({client:t,children:e})=>(f.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),a.jsx(m_.Provider,{value:t,children:e})),f2={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)};var m2=class{#e=f2;#t=!1;setTimeoutProvider(t){this.#e=t}setTimeout(t,e){return this.#e.setTimeout(t,e)}clearTimeout(t){this.#e.clearTimeout(t)}setInterval(t,e){return this.#e.setInterval(t,e)}clearInterval(t){this.#e.clearInterval(t)}};const Gs=new m2;function h2(t){setTimeout(t,0)}const g2=typeof window>"u"||"Deno"in globalThis;function mo(){}function y2(t,e){return typeof t=="function"?t(e):t}function h_(t){return typeof t=="number"&&t>=0&&t!==1/0}function g_(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Pr(t,e){return typeof t=="function"?t(e):t}function Uo(t,e){return typeof t=="function"?t(e):t}function Gw(t,e){const{type:n="all",exact:r,fetchStatus:i,predicate:l,queryKey:d,stale:p}=t;if(d){if(r){if(e.queryHash!==Ug(d,e.options))return!1}else if(!cl(e.queryKey,d))return!1}if(n!=="all"){const m=e.isActive();if(n==="active"&&!m||n==="inactive"&&m)return!1}return!(typeof p=="boolean"&&e.isStale()!==p||i&&i!==e.state.fetchStatus||l&&!l(e))}function Kw(t,e){const{exact:n,status:r,predicate:i,mutationKey:l}=t;if(l){if(!e.options.mutationKey)return!1;if(n){if(Zs(e.options.mutationKey)!==Zs(l))return!1}else if(!cl(e.options.mutationKey,l))return!1}return!(r&&e.state.status!==r||i&&!i(e))}function Ug(t,e){return(e?.queryKeyHashFn||Zs)(t)}function Zs(t){return JSON.stringify(t,(e,n)=>Fh(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function cl(t,e){if(t===e)return!0;
13if(typeof t!=typeof e)return!1;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(Array.isArray(t)&&Array.isArray(e)){for(let r=0;r<e.length;r++)if(!cl(t[r],e[r]))return!1;return!0}const n=Object.keys(e);for(const r of n)if(!cl(t[r],e[r]))return!1;return!0}return!1}const v2=Object.prototype.hasOwnProperty;function y_(t,e,n=0){if(t===e)return t;if(n>500)return e;const r=Yw(t)&&Yw(e);if(!r&&!(Fh(t)&&Fh(e)))return e;const i=(r?t:Object.keys(t)).length,l=r?e:Object.keys(e),d=l.length,p=r?new Array(d):{};let m=0;for(let h=0;h<d;h++){const v=r?h:l[h],y=t[v],x=e[v];if(y===x){p[v]=y,(r?h<i:v2.call(t,v))&&m++;continue}if(y===null||x===null||typeof y!="object"||typeof x!="object"){p[v]=x;continue}const _=y_(y,x,n+1);p[v]=_,_===y&&m++}return i===d&&m===i?t:p}function Gu(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(t[n]!==e[n])return!1;return!0}function Yw(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function Fh(t){if(!Qw(t))return!1;const e=t.constructor;if(e===void 0)return!0;const n=e.prototype;
13return!(!Qw(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function Qw(t){return Object.prototype.toString.call(t)==="[object Object]"}function x2(t){return new Promise(e=>{Gs.setTimeout(e,t)})}function Uh(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?y_(t,e):e}function w2(t,e,n=0){const r=[...t,e];return n&&r.length>n?r.slice(1):r}function b2(t,e,n=0){const r=[e,...t];return n&&r.length>n?r.slice(0,-1):r}const $g=Symbol();function v_(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===$g?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function zg(t,e){return typeof t=="function"?t(...e):!!t}function _2(t,e,n){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??=e(),r||(r=!0,i.aborted?n():i.addEventListener("abort",n,{once:!0})),i)}),t}const Bg=(()=>{let t=()=>g2;return{isServer(){return t()},setIsServer(e){t=e}}})();var wl=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},k2=class extends wl{#e;#t;#n;constructor(){super(),this.#n=t=>{if(typeof window<"u"&&window.addEventListener){const e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#n=t,this.#t?.(),this.#t=t(e=>{typeof e=="boolean"?this.setFocused(e):this.onFocus()})}setFocused(t){this.#e!==t&&(this.#e=t,this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}};const Vg=new k2,C2=h2;function S2(){let t=[],e=0,n=p=>{p()},r=p=>{p()},i=C2;const l=p=>{e?t.push(p):i(()=>{n(p)})},d=()=>{const p=t;t=[],p.length&&i(()=>{r(()=>{p.forEach(m=>{n(m)})})})};return{batch:p=>{let m;e++;try{m=p()}finally{e--,e||d()}return m},batchCalls:p=>(...m)=>{l(()=>{p(...m)})},schedule:l,setNotifyFunction:p=>{n=p},setBatchNotifyFunction:p=>{r=p},setScheduler:p=>{i=p}}}const On=S2();var N2=class extends wl{#e=!0;#t;#n;constructor(){super(),this.#n=t=>{if(typeof window<"u"&&window.addEventListener){const e=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#n=t,this.#t?.(),this.#t=t(this.setOnline.bind(this))}setOnline(t){this.#e!==t&&(this.#e=t,this.listeners.forEach(e=>{e(t)}))}isOnline(){return this.#e}};const Ku=new N2;function P2(t){return Math.min(1e3*2**t,3e4)}function x_(t){return(t??"online")==="online"?Ku.isOnline():!0}var $h=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function w_(t){let e=!1,n=0,r,i="pending",l,d;const p=new Promise((P,j)=>{l=P,d=j});p.catch(mo);const m=()=>i!=="pending",h=P=>{if(!m()){const j=new $h(P);k(j),t.onCancel?.(j)}},v=()=>{e=!0},y=()=>{e=!1},x=()=>Vg.isFocused()&&(t.networkMode==="always"||Ku.isOnline())&&t.canRun(),_=()=>x_(t.networkMode)&&t.canRun(),S=P=>{m()||(r?.(),i="resolved",l(P))},k=P=>{m()||(r?.(),i="rejected",d(P))},C=()=>new Promise(P=>{r=j=>{(m()||x())&&P(j)},t.onPause?.()}).then(()=>{r=void 0,m()||t.onContinue?.()}),A=()=>{if(m())return;let P;const j=n===0?t.initialPromise:void 0;try{P=j??t.fn()}catch(E){P=Promise.reject(E)}Promise.resolve(P).then(S).catch(E=>{if(m())return;const F=t.retry??(Bg.isServer()?0:3),z=t.retryDelay??P2,q=typeof z=="function"?z(n,E):z,re=F===!0||typeof F=="number"&&n<F||typeof F=="function"&&F(n,E);if(e||!re){k(E);return}n++,t.onFail?.(n,E),x2(q).then(()=>x()?void 0:C()).then(()=>{e?k(E):A()})})};return{promise:p,status:()=>i,cancel:h,continue:()=>(r?.(),p),cancelRetry:v,continueRetry:y,canStart:_,start:()=>(_()?A():C().then(A),p)}}var b_=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),h_(this.gcTime)&&(this.#e=Gs.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Bg.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(Gs.clearTimeout(this.#e),this.#e=void 0)}};function A2(t){return{onFetch:(e,n)=>
13{const r=e.options,i=e.fetchOptions?.meta?.fetchMore?.direction,l=e.state.data?.pages||[],d=e.state.data?.pageParams||[];let p={pages:[],pageParams:[]},m=0;const h=async()=>{let v=!1;const y=S=>{_2(S,()=>e.signal,()=>v=!0)},x=v_(e.options,e.fetchOptions),_=async(S,k,C)=>{if(v)return Promise.reject(e.signal.reason);if(k==null&&S.pages.length)return Promise.resolve(S);const P=(()=>{const z={client:e.client,queryKey:e.queryKey,pageParam:k,direction:C?"backward":"forward",meta:e.options.meta};return y(z),z})(),j=await x(P),{maxPages:E}=e.options,F=C?b2:w2;return{pages:F(S.pages,j,E),pageParams:F(S.pageParams,k,E)}};if(i&&l.length){const S=i==="backward",k=S?T2:Zw,C={pages:l,pageParams:d};p=await _(C,k(r,C),S)}else{const S=t??l.length;do{const k=m===0?d[0]??r.initialPageParam:Zw(r,p);if(m>0&&k==null)break;p=await _(p,k),m++}while(m<S)}return p};e.options.persister?e.fetchFn=()=>e.options.persister?.(h,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n):e.fetchFn=h}}}function Zw(t,{pages:e,pageParams:n}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,n[r],n):void 0}function T2(t,{pages:e,pageParams:n}){return e.length>0?t.getPreviousPageParam?.(e[0],e,n[0],n):void 0}var j2=class extends b_{#e;#t;#n;#o;#r;#a;#s;#l;constructor(t){super(),this.#l=!1,this.#s=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#r=t.client,this.#o=this.#r.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#t=Jw(this.options),this.state=t.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(t){if(this.options={...this.#s,...t},t?._type&&(this.#e=t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const e=Jw(this.options);e.data!==void 0&&(this.setState(Xw(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#o.remove(this)}setData(t,e){const n=Uh(this.state.data,t,this.options);return this.#i({data:n,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),n}setState(t){this.#i({type:"setState",state:t})}cancel(t){const e=this.#a?.promise;return this.#a?.cancel(t),e?e.then(mo).catch(mo):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Uo(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===$g||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Pr(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!g_(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#o.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){const e=this.observers.indexOf(t);e!==-1&&(this.observers.splice(e,1),this.observers.length||(this.#a&&(this.#l||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#o.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(t,e){if(this.state.fetchStatus!=="idle"&&this.#a?.status()!=="rejected"){if(this.state.data!==void 0&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(h=>h.options.queryFn);m&&this.setOptions(m.options)}const n=new AbortController,r=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#l=!0,n.signal)}
13)},i=()=>{const m=v_(this.options,e),v=(()=>{const y={client:this.#r,queryKey:this.queryKey,meta:this.meta};return r(y),y})();return this.#l=!1,this.options.persister?this.options.persister(m,v,this):m(v)},d=(()=>{const m={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:i};return r(m),m})();(this.#e==="infinite"?A2(this.options.pages):this.options.behavior)?.onFetch(d,this),this.#n=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==d.fetchOptions?.meta)&&this.#i({type:"fetch",meta:d.fetchOptions?.meta});const p=this.#a=w_({initialPromise:e?.initialPromise,fn:d.fetchFn,onCancel:m=>{m instanceof $h&&m.revert&&this.setState({...this.#n,fetchStatus:"idle"}),n.abort()},onFail:(m,h)=>{this.#i({type:"failed",failureCount:m,error:h})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0});try{const m=await p.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#o.config.onSuccess?.(m,this),this.#o.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof $h){if(m.silent)return this.#a.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#i({type:"error",error:m}),this.#o.config.onError?.(m,this),this.#o.config.onSettled?.(this.state.data,m,this),m}finally{this.#a===p&&(this.#a=void 0),this.scheduleGc()}}#i(t){const e=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...__(n.data,this.options),fetchMeta:t.meta??null};case"success":const r={...n,...Xw(t.data,t.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=t.manual?r:void 0,r;case"error":const i=t.error;return{...n,error:i,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=e(this.state),On.batch(()=>{this.observers.slice().forEach(n=>{n.onQueryUpdate()}),this.#o.notify({query:this,type:"updated",action:t})})}};function __(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:x_(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function Xw(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Jw(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,r=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var I2=class extends wl{#e;#t=void 0;#n=void 0;#o=void 0;#r;#a;#s;#l;#c;#i;#u;#p;#d;#m=new Set;constructor(t,e){super(),this.options=e,this.#e=t,this.#s=null,this.bindMethods(),this.setOptions(e)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),eb(this.#t,this.options)?this.#f():this.updateResult(),this.#x())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return zh(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return zh(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#w(),this.#b(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Uo(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#_(),this.#t.setOptions(this.options),e._defaulted&&!Gu(this.options,e)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&tb(this.#t,n,this.options,e)&&this.#f(),this.updateResult(),r&&(this.#t!==n||Uo(this.options.enabled,this.#t)!==Uo(e.enabled,this.#t)||Pr(this.options.staleTime,this.#t)!==Pr(e.staleTime,this.#t))&&this.#g();const i=this.#y();r&&(this.#t!==n||Uo(this.options.enabled,this.#t)!==Uo(e.enabled,this.#t)||i!==this.#d)&&this.#v(i)}getOptimisticResult(t){const e=this.#e.getQueryCache().build(this.#e,t),n=this.createResult(e,t);return R2(this,n)&&(this.#o=n,this.#a=this.options,this.#r=this.#t.state),n}getCurrentResult(){return this.#o}trackResult(t,e){return new Proxy(t,{get:(n,r)=>(this.trackProp(r),e?.(r),Reflect.get(n,r))})}trackProp(t){this.#m.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#e.defaultQueryOptions(t),n=this.#e.getQueryCache().build(this.#e,e);let r=()=>{},i;const l=new Promise(d=>{i=d,r=this.#e.getQueryCache().subscribe(p=>{p.type==="updated"&&p.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),d(this.createResult(n,e)))})});return Promise.race([n.fetch().then(()=>{const d=this.createResult(n,e);return i?.(d),d}).finally(()=>{r()}),l])}fetch(t){return this.#f({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#o))}#f(t){this.#_();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(mo)),e}#h(t){return!Bg.isServer()&&Uo(this.options.enabled,this.#t)!==!1&&h_(t)}#g(){this.#w();const t=Pr(this.options.staleTime,this.#t);if(this.#o.isStale||!this.#h(t))return;const e=g_(this.#o.dataUpdatedAt,t)+1;this.#u=Gs.setTimeout(()=>{this.#o.isStale||this.updateResult()},e)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(t){this.#b(),this.#d=t,!(this.#d===0||!this.#h(this.#d))&&(this.#p=Gs.setInterval(()=>
13{(this.options.refetchIntervalInBackground||Vg.isFocused())&&this.#f()},this.#d))}#x(){this.#g(),this.#v(this.#y())}#w(){this.#u!==void 0&&(Gs.clearTimeout(this.#u),this.#u=void 0)}#b(){this.#p!==void 0&&(Gs.clearInterval(this.#p),this.#p=void 0)}createResult(t,e){const n=this.#t,r=this.options,i=this.#o,l=this.#r,d=this.#a,p=t!==n?t.state:this.#n,{state:m}=t;let h={...m},v=!1,y;if(e._optimisticResults){const F=this.hasListeners(),z=!F&&eb(t,e),q=F&&tb(t,n,e,r);(z||q)&&(h={...h,...__(m.data,t.options)}),e._optimisticResults==="isRestoring"&&(h.fetchStatus="idle")}let{error:x,errorUpdatedAt:_,status:S}=h;y=h.data;let k=!1;if(e.placeholderData!==void 0&&y===void 0&&S==="pending"){let F;i?.isPlaceholderData&&e.placeholderData===d?.placeholderData?(F=i.data,k=!0):F=typeof e.placeholderData=="function"?e.placeholderData(this.#i?.state.data,this.#i):e.placeholderData,F!==void 0&&(S="success",y=Uh(i?.data,F,e),v=!0)}if(e.select&&y!==void 0&&!k)if(i&&y===l?.data&&e.select===this.#l)y=this.#c;else try{this.#l=e.select,y=e.select(y),y=Uh(i?.data,y,e),this.#c=y,this.#s=null}catch(F){this.#s=F}else y===void 0&&(this.#s=null);this.#s&&(x=this.#s,y=this.#c,_=Date.now(),S="error",v=!1);const C=h.fetchStatus==="fetching",A=S==="pending",P=S==="error",j=A&&C,E=y!==void 0;return{status:S,fetchStatus:h.fetchStatus,isPending:A,isSuccess:S==="success",isError:P,isInitialLoading:j,isLoading:j,data:y,dataUpdatedAt:h.dataUpdatedAt,error:x,errorUpdatedAt:_,failureCount:h.fetchFailureCount,failureReason:h.fetchFailureReason,errorUpdateCount:h.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:h.dataUpdateCount>p.dataUpdateCount||h.errorUpdateCount>p.errorUpdateCount,isFetching:C,isRefetching:C&&!A,isLoadingError:P&&!E,isPaused:h.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:P&&E,isStale:Hg(t,e),refetch:this.refetch,isEnabled:Uo(e.enabled,t)!==!1}}updateResult(){const t=this.#o,e=this.createResult(this.#t,this.options);if(this.#r=this.#t.state,this.#a=this.options,this.#r.data!==void 0&&(this.#i=this.#t),Gu(e,t))return;this.#o=e;const n=()=>
13{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#m.size)return!0;const l=new Set(i??this.#m);return this.options.throwOnError&&l.add("error"),Object.keys(this.#o).some(d=>{const p=d;return this.#o[p]!==t[p]&&l.has(p)})};this.#k({listeners:n()})}#_(){const t=this.#e.getQueryCache().build(this.#e,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#n=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#x()}#k(t){On.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#o)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function E2(t,e){return Uo(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&Uo(e.retryOnMount,t)===!1)}function eb(t,e){return E2(t,e)||t.state.data!==void 0&&zh(t,e,e.refetchOnMount)}function zh(t,e,n){if(Uo(e.enabled,t)!==!1&&Pr(e.staleTime,t)!=="static"){const r=typeof n=="function"?n(t):n;return r==="always"||r!==!1&&Hg(t,e)}return!1}function tb(t,e,n,r){return(t!==e||Uo(r.enabled,t)===!1)&&(!n.suspense||t.state.status!=="error")&&Hg(t,n)}function Hg(t,e){return Uo(e.enabled,t)!==!1&&t.isStaleByTime(Pr(e.staleTime,t))}function R2(t,e){return!Gu(t.getCurrentResult(),e)}var O2=class extends b_{#e;#t;#n;#o;constructor(t){super(),this.#e=t.client,this.mutationId=t.mutationId,this.#n=t.mutationCache,this.#t=[],this.state=t.state||k_(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#t.includes(t)||(this.#t.push(t),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#t=this.#t.filter(e=>e!==t),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#n.remove(this))}continue(){return this.#o?.continue()??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(t){const e=()=>{this.#r({type:"continue"})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#o=w_({fn:()=>this.options.mutationFn?this.options.mutationFn(t,n):Promise.reject(new Error("No mutationFn found")),onFail:(d,p)=>{this.#r({type:"failed",failureCount:d,error:p})},onPause:()=>{this.#r({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status==="pending",l=!r.canStart();try{if(i)e();else{this.#r({type:"pending",variables:t,isPaused:l}),this.#n.config.onMutate&&await this.#n.config.onMutate(t,this,n);const p=await this.options.onMutate?.(t,n);p!==this.state.context&&this.#r({type:"pending",context:p,variables:t,isPaused:l})}const d=await r.start();return await this.#n.config.onSuccess?.(d,t,this.state.context,this,n),await this.options.onSuccess?.(d,t,this.state.context,n),await this.#n.config.onSettled?.(d,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(d,null,t,this.state.context,n),this.#r({type:"success",data:d}),d}catch(d){try{await this.#n.config.onError?.(d,t,this.state.context,this,n)}catch(p){Promise.reject(p)}try{await this.options.onError?.(d,t,this.state.context,n)}catch(p){Promise.reject(p)}try{await this.#n.config.onSettled?.(void 0,d,this.state.variables,this.state.context,this,n)}catch(p){Promise.reject(p)}try{await this.options.onSettled?.(void 0,d,t,this.state.context,n)}catch(p){Promise.reject(p)}throw this.#r({type:"error",error:d}),d}finally{this.#o===r&&(this.#o=void 0),this.#n.runNext(this)}}#r(t){const e=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPau
vendor: 1,929 bytes, line 13
13sed,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=e(this.state),On.batch(()=>{this.#t.forEach(n=>{n.onMutationUpdate(t)}),this.#n.notify({mutation:this,type:"updated",action:t})})}};function k_(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var M2=class extends wl{#e;#t;#n;constructor(t={}){super(),this.config=t,this.#e=new Set,this.#t=new Map,this.#n=0}build(t,e,n){const r=new O2({client:t,mutationCache:this,mutationId:++this.#n,options:t.defaultMutationOptions(e),state:n});return this.add(r),r}add(t){this.#e.add(t);const e=pu(t);if(typeof e=="string"){const n=this.#t.get(e);n?n.push(t):this.#t.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#e.delete(t)){const e=pu(t);if(typeof e=="string"){const n=this.#t.get(e);if(n)if(n.length>1){const r=n.indexOf(t);r!==-1&&n.splice(r,1)}else n[0]===t&&this.#t.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){const e=pu(t);if(typeof e=="string"){const n=this.#t.get(e)?.find(r=>r.state.status==="pending");return!n||n===t}else return!0}runNext(t){const e=pu(t);return typeof e=="string"?this.#t.get(e)?.find(n=>n!==t&&n.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){On.batch(()=>{this.#e.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(t){const e={exact:!0,...t};return this.getAll().find(n=>Kw(e,n))}findAll(t={}){return this.getAll().filter(e=>Kw(t,e))}notify(t){On.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){const t=this.getAll().filter(e=>
13e.state.isPaused);return On.batch(()=>Promise.all(t.map(e=>e.continue().catch(mo))))}};function pu(t){return t.options.scope?.id}var L2=class extends wl{#e;#t=void 0;#n;#o;constructor(e,n){super(),this.#e=e,this.setOptions(n),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const n=this.options;this.options=this.#e.defaultMutationOptions(e),Gu(this.options,n)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),n?.mutationKey&&this.options.mutationKey&&Zs(n.mutationKey)!==Zs(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#r())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#r(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#r(),this.#a()}mutate(e,n){return this.#o=n,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#r(){const e=this.#n?.state??k_();this.#t={...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset}}#a(e){On.batch(()=>{if(this.#o&&this.hasListeners()){const n=this.#t.variables,r=this.#t.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#o.onSuccess?.(e.data,n,r,i)}catch(l){Promise.reject(l)}try{this.#o.onSettled?.(e.data,null,n,r,i)}catch(l){Promise.reject(l)}}else if(e?.type==="error"){try{this.#o.onError?.(e.error,n,r,i)}catch(l){Promise.reject(l)}try{this.#o.onSettled?.(void 0,e.error,n,r,i)}catch(l){Promise.reject(l)}}}this.listeners.forEach(n=>{n(this.#t)})})}},D2=class extends wl{#e;constructor(t={}){super(),this.config=t,this.#e=new Map}build(t,e,n){const r=e.queryKey,i=e.queryHash??Ug(r,e);let l=this.get(i);return l||(l=new j2({client:t,queryKey:r,queryHash:i,options:t.defaultQueryOptions(e),state:n,defaultOptions:t.getQueryDefaults(r)}),this.add(l)),l}add(t){this.#e.has(t.queryHash)||(this.#e.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#e.get(t.queryHash);
vendor: 5,278 bytes, line 13
13e&&(t.destroy(),e===t&&this.#e.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){On.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#e.get(t)}getAll(){return[...this.#e.values()]}find(t){const e={exact:!0,...t};return this.getAll().find(n=>Gw(e,n))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter(n=>Gw(t,n)):e}notify(t){On.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){On.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){On.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},F2=class{#e;#t;#n;#o;#r;#a;#s;#l;constructor(t={}){this.#e=t.queryCache||new D2,this.#t=t.mutationCache||new M2,this.#n=t.defaultOptions||{},this.#o=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#s=Vg.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#l=Ku.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#s?.(),this.#s=void 0,this.#l?.(),this.#l=void 0)}isFetching(t){return this.#e.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#t.findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),n=this.#e.build(this,e),r=n.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(Pr(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return this.#e.findAll(t).map(({queryKey:e,state:n})=>[e,n.data])}setQueryData(t,e,n){const r=this.defaultQueryOptions({queryKey:t}),i=this.#e.get(r.queryHash)?.state.data,l=y2(e,i);if(l!==void 0)return this.#e.build(this,r).setData(l,{...n,manual:!0})}setQueriesData(t,e,n){return On.batch(()=>this.#e.findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,n)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state}removeQueries(t){const e=this.#e;On.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){const n=this.#e;return On.batch(()=>{const r=n.findAll(t),i=new Set(r);return r.forEach(l=>{l.reset()}),this.refetchQueries({type:"active",predicate:l=>i.has(l)},e)})}cancelQueries(t,e={}){const n={revert:!0,...e},r=On.batch(()=>this.#e.findAll(t).map(i=>i.cancel(n)));return Promise.all(r).then(mo).catch(mo)}invalidateQueries(t,e={}){return On.batch(()=>(this.#e.findAll(t).forEach(n=>{n.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const n={...e,cancelRefetch:e.cancelRefetch??!0},r=On.batch(()=>this.#e.findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let l=i.fetch(void 0,n);return n.throwOnError||(l=l.catch(mo)),i.state.fetchStatus==="paused"?Promise.resolve():l}));return Promise.all(r).then(mo)}async query(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=this.#e.build(this,e),r=n.isStaleByTime(Pr(e.staleTime,n))?await n.fetch(e):n.state.data,i=e.select;return i?i(r):r}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=this.#e.build(this,e);return n.isStaleByTime(Pr(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(mo).catch(mo)}infiniteQuery(t){return t._type="infinite",this.query(t)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(mo).catch(mo)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return Ku.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(t){this.#n=t}setQueryDefaults(t,e){this.#o.set(Zs(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...this.#o.values()],n={};return e.forEach(r=>{cl(t,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(t,e){this.#r.set(Zs(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...this.#r.values()],n={};return e.forEach(r=>{cl(t,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;const e={...this.#n.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=Ug(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===$g&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#n.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};const C_=f.createContext(!1),U2=()=>f.useContext(C_);C_.Provider;function $2(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}const z2=f.createContext($2()),B2=()=>f.useContext(z2),V2=(t,e,n)=>{const r=n?.state.error&&typeof t.throwOnError=="function"?zg(t.throwOnError,[n.state.error,n]):t.throwOnError;
13(t.suspense||r)&&(e.isReset()||(t.retryOnMount=!1))},H2=t=>{f.useEffect(()=>{t.clearReset()},[t])},q2=({result:t,errorResetBoundary:e,throwOnError:n,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||zg(n,[t.error,r])),W2=t=>{if(t.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},G2=(t,e)=>t?.suspense&&e.isPending,K2=(t,e,n)=>e.fetchOptimistic(t).catch(()=>{n.clearReset()});function Y2(t,e,n){const r=U2(),i=B2(),l=xl(),d=l.defaultQueryOptions(t),p=l.getQueryCache().get(d.queryHash),m=t.subscribed!==!1;d._optimisticResults=r?"isRestoring":m?"optimistic":void 0,W2(d),V2(d,i,p),H2(i);const[h]=f.useState(()=>new e(l,d)),v=h.getOptimisticResult(d),y=!r&&m;if(f.useSyncExternalStore(f.useCallback(x=>{const _=y?h.subscribe(On.batchCalls(x)):mo;return h.updateResult(),_},[h,y]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),f.useEffect(()=>{h.setOptions(d)},[d,h]),G2(d,v))throw K2(d,h,i);if(q2({result:v,errorResetBoundary:i,throwOnError:d.throwOnError,query:p,suspense:d.suspense}))throw v.error;return d.notifyOnChangeProps?v:h.trackResult(v)}function Qt(t,e){return Y2(t,I2)}function Ca(t,e){const n=xl(),[r]=f.useState(()=>new L2(n,t));f.useEffect(()=>{r.setOptions(t)},[r,t]);const i=f.useSyncExternalStore(f.useCallback(d=>r.subscribe(On.batchCalls(d)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),l=f.useCallback((...d)=>{r.mutate(d[0],d[1]).catch(mo)},[r]);if(i.error&&zg(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:l,mutateAsync:i.mutate}}async function S_(t){if(!t.ok){const e=await t.text()||t.statusText;throw new Error(`${t.status}: ${e}`)}}async function ls(t,e,n){const r=await fetch(e,{method:t,headers:n?{"Content-Type":"application/json"}:{},body:n?JSON.stringify(n):void 0,credentials:"include"});return await S_(r),r}const Q2=({on401:t})=>async({queryKey:e})=>{const n=await fetch(e.join("/"),{credentials:"include"});return await S_(n),await n.json()},Qn=new F2({defaultOptions:{queries:{queryFn:Q2({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:3e4,refetchOnMount:!0,retry:!1},mutations:{retry:!1}}}),Z2=1,X2=1e6;let Hm=0;function J2(){return Hm=(Hm+1)%Number.MAX_SAFE_INTEGER,Hm.toString()}const qm=new Map,nb=t=>{if(qm.has(t))return;const e=setTimeout(()=>{qm.delete(t),xc({type:"REMOVE_TOAST",toastId:t})},X2);qm.set(t,e)},ej=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,Z2)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(n=>n.id===e.toast.id?{...n,...e.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=e;return n?nb(n):t.toasts.forEach(r=>{nb(r.id)}),{...t,toasts:t.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(n=>n.id!==e.toastId)}}},Tu=[];let ju={toasts:[]};function xc(t){ju=ej(ju,t),Tu.forEach(e=>{e(ju)})}function N_({...t}){const e=J2(),n=i=>xc({type:"UPDATE_TOAST",toast:{...i,id:e}}),r=()=>xc({type:"DISMISS_TOAST",toastId:e});return xc({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:i=>{i||r()}}}),{id:e,dismiss:r,update:n}}function Oa(){const[t,e]=f.useState(ju);return f.useEffect(()=>(Tu.push(e),()=>{const n=Tu.indexOf(e);n>-1&&Tu.splice(n,1)}),[t]),{...t,toast:N_,dismiss:n=>xc({type:"DISMISS_TOAST",toastId:n})}}var Cs=C0();const C8=k0(Cs);var tj=Object.defineProperty,bl=(t,e)=>tj(t,"name",{value:e,configurable:!0}),P_=!!(typeof window<"u"&&window.document&&window.document.createElement);function Ce(t,e,{checkForDefaultPrevented:n=!0}={}){return bl(function(i){if(t?.(i),n===!1||!i||!i.defaultPrevented)return e?.(i)},"handleEvent")}bl(Ce,"composeEventHandlers");function nj(t){if(!P_)throw new Error("Cannot access window outside of the DOM");return t?.ownerDocument?.defaultView??window}bl(nj,"getOwnerWindow");function Bh(t){if(!P_)throw new Error("Cannot access document outside of the DOM");return t?.ownerDocument??document}bl(Bh,"getOwnerDocument");function A_(t,e=!1){const{activeElement:n}=Bh(t);if(!n?.nodeName)return null;if(T_(n)&&n.contentDocument)return A_(n.contentDocument.body,e);if(e){const r=n.getAttribute("aria-activedescendant");if(r){const i=Bh(n).getElementById(r);if(i)return i}}return n}bl(A_,"getActiveElement");function T_(t){return t.tagName==="IFRAME"}bl(T_,"isFrame");var oj=Object.defineProperty,aa=(t,e)=>oj(t,"name",{value:e,configurable:!0});function aj(t,e){const n=f.createContext(e);n.displayName=t+"Context";const r=aa(l=>{const{children:d,...p}=l,m=f.useMemo(()=>p,Object.values(p));return a.jsx(n.Provider,{value:m,children:d})},"Provider");
13r.displayName=t+"Provider";function i(l,d={}){const{optional:p=!1}=d,m=f.useContext(n);if(m)return m;if(e!==void 0)return e;if(!p)throw new Error(`\`${l}\` must be used within \`${t}\``)}return aa(i,"useContext"),[r,i]}aa(aj,"createContext");function qn(t,e=[]){let n=[];function r(l,d){const p=f.createContext(d);p.displayName=l+"Context";const m=n.length;n=[...n,d];const h=aa(y=>{const{scope:x,children:_,...S}=y,k=x?.[t]?.[m]||p,C=f.useMemo(()=>S,Object.values(S));return a.jsx(k.Provider,{value:C,children:_})},"Provider");h.displayName=l+"Provider";function v(y,x,_={}){const{optional:S=!1}=_,k=x?.[t]?.[m]||p,C=f.useContext(k);if(C)return C;if(d!==void 0)return d;if(!S)throw new Error(`\`${y}\` must be used within \`${l}\``)}return aa(v,"useContext"),[h,v]}aa(r,"createContext");const i=aa(()=>{const l=n.map(d=>f.createContext(d));return aa(function(p){const m=p?.[t]||l;return f.useMemo(()=>({[`__scope${t}`]:{...p,[t]:m}}),[p,m])},"useScope")},"createScope");return i.scopeName=t,[r,j_(i,...e)]}aa(qn,"createContextScope");function j_(...t){const e=t[0];if(t.length===1)return e;const n=aa(()=>{const r=t.map(i=>({useScope:i(),scopeName:i.scopeName}));return aa(function(l){const d=r.reduce((p,{useScope:m,scopeName:h})=>{const y=m(l)[`__scope${h}`];return{...p,...y}},{});return f.useMemo(()=>({[`__scope${e.scopeName}`]:d}),[d])},"useComposedScopes")},"createScope");return n.scopeName=e.scopeName,n}aa(j_,"composeContextScopes");var rj=Object.defineProperty,Vn=(t,e)=>rj(t,"name",{value:e,configurable:!0});function Zc(t){const e=t+"CollectionProvider",[n,r]=qn(e),[i,l]=n(e,{collectionRef:{current:null},itemMap:new Map}),d=Vn(k=>{const{scope:C,children:A}=k,P=f.useRef(null),j=f.useRef(new Map).current;return a.jsx(i,{scope:C,itemMap:j,collectionRef:P,children:A})},"CollectionProvider");d.displayName=e;const p=t+"CollectionSlot",m=Ta(p),h=f.forwardRef((k,C)=>{const{scope:A,children:P}=k,j=l(p,A),E=ct(C,j.collectionRef);return a.jsx(m,{ref:E,children:P})});h.displayName=p;const v=t+"CollectionItemSlot",y="data-radix-collection-item",x=Ta(v),_=f.forwardRef((k,C)=>{const{scope:A,children:P,...j}=k,E=f.useRef(null),F=ct(C,E),z=l(v,A);return f.useEffect(()=>(z.itemMap.set(E,{ref:E,...j}),()=>{z.itemMap.delete(E)})),a.jsx(x,{[y]:"",ref:F,children:P})});_.displayName=v;function S(k){const C=l(t+"CollectionConsumer",k);return f.useCallback(()=>{const P=C.collectionRef.current;if(!P)return[];const j=Array.from(P.querySelectorAll(`[${y}]`));return Array.from(C.itemMap.values()).sort((z,q)=>j.indexOf(z.ref.current)-j.indexOf(q.ref.current))},[C.collectionRef,C.itemMap])}return Vn(S,"useCollection"),[{Provider:d,Slot:h,ItemSlot:_},S,r]}Vn(Zc,"createCollection");var ob=new WeakMap,Sn,Fo,Wm=(Fo=class extends Map{constructor(n){super(n);_w(this,Sn);Im(this,Sn,[...super.keys()]),ob.set(this,!0)}set(n,r){return ob.get(this)&&(this.has(n)?ro(this,Sn)[ro(this,Sn).indexOf(n)]=n:ro(this,Sn).push(n)),super.set(n,r),this}insert(n,r,i){const l=this.has(r),d=ro(this,Sn).length,p=qg(n);let m=p>=0?p:d+p;const h=m<0||m>=d?-1:m;if(h===this.size||l&&h===this.size-1||h===-1)return this.set(r,i),this;const v=this.size+(l?0:1);p<0&&m++;const y=[...ro(this,Sn)];let x,_=!1;for(let S=m;S<v;S++)if(m===S){let k=y[S];y[S]===r&&(k=y[S+1]),l&&this.delete(r),x=this.get(k),this.set(r,i)}else{!_&&y[S-1]===r&&(_=!0);const k=y[_?S:S-1],C=x;x=this.get(k),this.delete(k),this.set(k,C)}return this}with(n,r,i){const l=new Fo(this);return l.insert(n,r,i),l}before(n){const r=ro(this,Sn).indexOf(n)-1;if(!(r<0))return this.entryAt(r)}setBefore(n,r,i){const l=ro(this,Sn).indexOf(n);return l===-1?this:this.insert(l,r,i)}after(n){let r=ro(this,Sn).indexOf(n);if(r=r===-1||r===this.size-1?-1:r+1,r!==-1)return this.entryAt(r)}setAfter(n,r,i){const l=ro(this,Sn).indexOf(n);return l===-1?this:this.insert(l+1,r,i)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return Im(this,Sn,[]),super.clear()}delete(n){const r=super.delete(n);return r&&ro(this,Sn).splice(ro(this,Sn).indexOf(n),1),r}deleteAt(n){const r=this.keyAt(n);return r!==void 0?this.delete(r):!1}at(n){const r=Iu(ro(this,Sn),n);if(r!==void 0)return this.get(r)}entryAt(n){const r=Iu(ro(this,Sn),n);if(r!==void 0)return[r,this.get(r)]}indexOf(n){return ro(this,Sn).indexOf(n)}keyAt(n){return Iu(ro(this,Sn),n)}from(n,r){const i=this.indexOf(n);if(i===-1)return;let l=i+r;return l<0&&(l=0),l>=this.size&&(l=this.size-1),this.at(l)}keyFrom(n,r){const i=this.indexOf(n);if(i===-1)return;let l=i+r;return l<0&&(l=0),l>=this.size&&(l=this.size-1),this.keyAt(l)}find(n,r){let i=0;
13for(const l of this){if(Reflect.apply(n,r,[l,i,this]))return l;i++}}findIndex(n,r){let i=0;for(const l of this){if(Reflect.apply(n,r,[l,i,this]))return i;i++}return-1}filter(n,r){const i=[];let l=0;for(const d of this)Reflect.apply(n,r,[d,l,this])&&i.push(d),l++;return new Fo(i)}map(n,r){const i=[];let l=0;for(const d of this)i.push([d[0],Reflect.apply(n,r,[d,l,this])]),l++;return new Fo(i)}reduce(...n){const[r,i]=n;let l=0,d=i??this.at(0);for(const p of this)l===0&&n.length===1?d=p:d=Reflect.apply(r,this,[d,p,l,this]),l++;return d}reduceRight(...n){const[r,i]=n;let l=i??this.at(-1);for(let d=this.size-1;d>=0;d--){const p=this.at(d);d===this.size-1&&n.length===1?l=p:l=Reflect.apply(r,this,[l,p,d,this])}return l}toSorted(n){const r=[...this.entries()].sort(n);return new Fo(r)}toReversed(){const n=new Fo;for(let r=this.size-1;r>=0;r--){const i=this.keyAt(r),l=this.get(i);n.set(i,l)}return n}toSpliced(...n){const r=[...this.entries()];return r.splice(...n),new Fo(r)}slice(n,r){const i=new Fo;let l=this.size-1;if(n===void 0)return i;n<0&&(n=n+this.size),r!==void 0&&r>0&&(l=r-1);for(let d=n;d<=l;d++){const p=this.keyAt(d),m=this.get(p);i.set(p,m)}return i}every(n,r){let i=0;for(const l of this){if(!Reflect.apply(n,r,[l,i,this]))return!1;i++}return!0}some(n,r){let i=0;for(const l of this){if(Reflect.apply(n,r,[l,i,this]))return!0;i++}return!1}},Sn=new WeakMap,Vn(Fo,"OrderedDict"),Fo);function Iu(t,e){if("at"in Array.prototype)return Array.prototype.at.call(t,e);const n=I_(t,e);return n===-1?void 0:t[n]}Vn(Iu,"at");function I_(t,e){const n=t.length,r=qg(e),i=r>=0?r:n+r;return i<0||i>=n?-1:i}Vn(I_,"toSafeIndex");function qg(t){return t!==t||t===0?0:Math.trunc(t)}Vn(qg,"toSafeInteger");function sj(t){const e=t+"CollectionProvider",[n,r]=qn(e),[i,l]=n(e,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new Wm,setItemMap:Vn(()=>{},"setItemMap")}),d=Vn(({state:j,...E})=>j?a.jsx(m,{...E,state:j}):a.jsx(p,{...E}),"CollectionProvider");d.displayName=e;const p=Vn(j=>{const E=C();return a.jsx(m,{...j,state:E})},"CollectionInit");p.displayName=e+"Init";const m=Vn(j=>{const{scope:E,children:F,state:z}=j,q=f.useRef(null),[re,ee]=f.useState(null),se=ct(q,ee),[ae,J]=z;return f.useEffect(()=>{if(!re)return;const Y=O_(()=>{});return Y.observe(re,{childList:!0,subtree:!0}),()=>{Y.disconnect()}},[re]),a.jsx(i,{scope:E,itemMap:ae,setItemMap:J,collectionRef:se,collectionRefObject:q,collectionElement:re,children:F})},"CollectionProviderImpl");m.displayName=e+"Impl";const h=t+"CollectionSlot",v=Ta(h),y=f.forwardRef((j,E)=>{const{scope:F,children:z}=j,q=l(h,F),re=ct(E,q.collectionRef);return a.jsx(v,{ref:re,children:z})});y.displayName=h;const x=t+"CollectionItemSlot",_="data-radix-collection-item",S=Ta(x),k=f.forwardRef((j,E)=>{const{scope:F,children:z,...q}=j,re=f.useRef(null),[ee,se]=f.useState(null),ae=ct(E,re,se),J=l(x,F),{setItemMap:Y}=J,ie=f.useRef(q);E_(ie.current,q)||(ie.current=q);const Ne=ie.current;return f.useEffect(()=>{const R=Ne;return Y(ce=>ee?ce.has(ee)?ce.set(ee,{...R,element:ee}).toSorted(Vh):(ce.set(ee,{...R,element:ee}),ce.toSorted(Vh)):ce),()=>{Y(ce=>!ee||!ce.has(ee)?ce:(ce.delete(ee),new Wm(ce)))}},[ee,Ne,Y]),a.jsx(S,{[_]:"",ref:ae,children:z})});k.displayName=x;function C(){return f.useState(new Wm)}Vn(C,"useInitCollection");function A(j){const{itemMap:E}=l(t+"CollectionConsumer",j);return E}return Vn(A,"useCollection"),[{Provider:d,Slot:y,ItemSlot:k},{createCollectionScope:r,useCollection:A,useInitCollection:C}]}Vn(sj,"createCollection");function E_(t,e){if(t===e)return!0;if(typeof t!="object"||typeof e!="object"||t==null||e==null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(e,i)||t[i]!==e[i])return!1;return!0}Vn(E_,"shallowEqual");function R_(t,e){return!!(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING)}Vn(R_,"isElementPreceding");function Vh(t,e){return!t[1].element||!e[1].element?0:R_(t[1].element,e[1].element)?-1:1}Vn(Vh,"sortByDocumentPosition");function O_(t){return new MutationObserver(n=>{for(const r of n)if(r.type==="childList"){t();return}})}Vn(O_,"getChildListObserver");var ij=Object.defineProperty,lj=(t,e)=>ij(t,"name",{value:e,configurable:!0}),cj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Qe=cj.reduce((t,e)=>{const n=Ta(`Primitive.${e}`),r=f.forwardRef((i,l)=>{const{asChild:d,...p}=i,m=d?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(m,{...p,ref:l})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{});function wp(t,e){t&&Cs.flushSync(()=>t.dispatchEvent(e))}lj(wp,"dispatchDiscreteCustomEvent");var dj=Object.defineProperty,uj=(t,e)=>dj(t,"name",{value:e,configurable:!0});function Jn(t){const e=f.useRef(t);return f.useEffect(()=>{e.current=t}),f.useMemo(()=>((...n)=>e.current?.(...n)),[])}uj(Jn,"useCallbackRef");var pj=Object.defineProperty,Rn=(t,e)=>pj(t,"name",{value:e,configurable:!0}),Hh="dismissableLayer.update",fj="dismissableLayer.pointerDownOutside",mj="dismissableLayer.focusOutside",ab,Wg=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),si=f.forwardRef(Rn(function(e,n){const{disableOutsidePointerEvents:r=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:m,onDismiss:h,...v}=e,y=f.useContext(Wg),[x,_]=f.useState(null),S=x?.ownerDocument??globalThis?.document,[,k]=f.useState({}),C=ct(n,_),A=Array.from(y.layers),[P]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),j=P?A.indexOf(P):-1,E=x?A.indexOf(x):-1,F=y.layersWithOutsidePointerEventsDisabled.size>0,z=E>=j,q=f.useRef(!1),re=L_(J=>{d?.(J),m?.(J),J.defaultPrevented||h?.()},{ownerDocument:S,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:q,dismissableSurfaces:y.dismissableSurfaces,shouldHandlePointerDownOutside:f.useCallback(J=>{if(!(J instanceof Node))return!1;const Y=[...y.branches].some(ie=>ie.contains(J));return z&&!Y},[y.branches,z])}),ee=D_(J=>{if(i&&q.current)return;const Y=J.target;[...y.branches].some(Ne=>Ne.contains(Y))||(p?.(J),m?.(J),J.defaultPrevented||h?.())},S),se=x?E===A.length-1:!1,ae=Jn(J=>{J.key==="Escape"&&(l?.(J),!J.defaultPrevented&&h&&(J.preventDefault(),h()))});return f.useEffect(()=>{if(se)return S.addEventListener("keydown",ae,{capture:!0}),()=>S.removeEventListener("keydown",ae,{capture:!0})},[S,se,ae]),f.useEffect(()=>{if(x)return r&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(ab=S.body.style.pointerEvents,S.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(x)),y.layers.add(x),qh(),()=>{r&&(y.layersWithOutsidePointerEventsDisabled.delete(x),y.layersWithOutsidePointerEventsDisabled.size===0&&(S.body.style.pointerEvents=ab))}},[x,S,r,y]),f.useEffect(()=>()=>{x&&(y.layers.delete(x),y.layersWithOutsidePointerEventsDisabled.delete(x),qh())},[x,y]),f.useEffect(()=>{const J=Rn(()=>k({}),"handleUpdate");return document.addEventListener(Hh,J),()=>document.removeEventListener(Hh,J)},[]),a.jsx(Qe.div,{...v,ref:C,style:{pointerEvents:F?z?"auto":"none":void 0,...e.style},onFocusCapture:Ce(e.onFocusCapture,ee.onFocusCapture),onBlurCapture:Ce(e.onBlurCapture,ee.onBlurCapture),onPointerDownCapture:Ce(e.onPointerDownCapture,re.onPointerDownCapture)})},"DismissableLayer")),hj=f.forwardRef(Rn(function(e,n){const r=f.useContext(Wg),i=f.useRef(null),l=ct(n,i);return f.useEffect(()=>{const d=i.current;if(d)return r.branches.add(d),()=>
13{r.branches.delete(d)}},[r.branches]),a.jsx(Qe.div,{...e,ref:l})},"DismissableLayerBranch"));function M_(){const t=f.useContext(Wg),[e,n]=f.useState(null);return f.useEffect(()=>{if(e)return t.dismissableSurfaces.add(e),()=>{t.dismissableSurfaces.delete(e)}},[e,t.dismissableSurfaces]),n}Rn(M_,"useDismissableLayerSurface");var gj=Rn(()=>!0,"IS_TRUE");function L_(t,e){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:l,shouldHandlePointerDownOutside:d=gj}=e,p=Jn(t),m=f.useRef(!1),h=f.useRef(!1),v=f.useRef(new Map),y=f.useRef(()=>{});return f.useEffect(()=>{function x(){h.current=!1,i.current=!1,v.current.clear()}Rn(x,"resetOutsideInteraction");function _(){return Array.from(v.current.values()).some(Boolean)}Rn(_,"isOutsideInteractionIntercepted");function S(j){if(!h.current)return;const E=j.target;E instanceof Node&&[...l].some(z=>z.contains(E))||v.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{h.current&&y.current()},0)}Rn(S,"handleInteractionCapture");function k(j){h.current&&v.current.set(j.type,!1)}Rn(k,"handleInteractionBubble");const C=Rn(j=>{if(j.target&&!m.current){let E=function(){n.removeEventListener("click",y.current);const z=_();x(),z||Gg(fj,p,F,{discrete:!0})};if(Rn(E,"handleAndDispatchPointerDownOutsideEvent"),!d(j.target)){n.removeEventListener("click",y.current),x(),m.current=!1;return}const F={originalEvent:j};h.current=!0,i.current=r&&j.button===0,v.current.clear(),!r||j.button!==0?E():(n.removeEventListener("click",y.current),y.current=E,n.addEventListener("click",y.current,{once:!0}))}else n.removeEventListener("click",y.current),x();m.current=!1},"handlePointerDown"),A=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of A)n.addEventListener(j,S,!0),n.addEventListener(j,k);const P=window.setTimeout(()=>{n.addEventListener("pointerdown",C)},0);return()=>{window.clearTimeout(P),n.removeEventListener("pointerdown",C),n.removeEventListener("click",y.current);for(const j of A)n.removeEventListener(j,S,!0),n.removeEventListener(j,k)}},[n,p,r,i,l,d]),{onPointerDownCapture:Rn(()=>m.current=!0,"onPointerDownCapture")}}Rn(L_,"usePointerDownOutside");function D_(t,e=globalThis?.document){const n=Jn(t),r=f.useRef(!1);return f.useEffect(()=>{const i=Rn(l=>{l.target&&!r.current&&Gg(mj,n,{originalEvent:l},{discrete:!1})},"handleFocus");return e.addEventListener("focusin",i),()=>e.removeEventListener("focusin",i)},[e,n]),{onFocusCapture:Rn(()=>r.current=!0,"onFocusCapture"),onBlurCapture:Rn(()=>r.current=!1,"onBlurCapture")}}Rn(D_,"useFocusOutside");function qh(){const t=new CustomEvent(Hh);document.dispatchEvent(t)}Rn(qh,"dispatchUpdate");function Gg(t,e,n,{discrete:r}){const i=n.originalEvent.target,l=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&i.addEventListener(t,e,{once:!0}),r?wp(i,l):i.dispatchEvent(l)}Rn(Gg,"handleAndDispatchCustomEvent");var yj=si,vj=hj,Xt=globalThis?.document?f.useLayoutEffect:()=>{},xj=Object.defineProperty,wj=(t,e)=>xj(t,"name",{value:e,configurable:!0}),_l=f.forwardRef(wj(function(e,n){const{container:r,...i}=e,[l,d]=f.useState(!1);Xt(()=>d(!0),[]);const p=r||l&&globalThis?.document?.body;return p?Cs.createPortal(a.jsx(Qe.div,{...i,ref:n}),p):null},"Portal")),bj=Object.defineProperty,Ir=(t,e)=>bj(t,"name",{value:e,configurable:!0});function F_(t,e){return f.useReducer((n,r)=>e[n][r]??n,t)}Ir(F_,"useStateMachine");var lo=Ir(t=>{const{present:e,children:n}=t,r=U_(e),i=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),l=$_(r.ref,z_(i));return typeof n=="function"||r.isPresent?f.cloneElement(i,{ref:l}):null},"Presence");function U_(t){const[e,n]=f.useState(),r=f.useRef(null),i=f.useRef(t),l=f.useRef("none"),d=f.useRef(void 0),p=t?"mounted":"unmounted",[m,h]=F_(p,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{m==="mounted"?(l.current=d.current??Gi(r.current),d.current=void 0):l.current="none"},[m]),Xt(()=>{const v=r.current,y=i.current;if(y!==t){const _=l.current,S=Gi(v);t?(d.current=S,h("MOUNT")):S==="none"||v?.display==="none"?h("UNMOUNT"):h(y&&_!==S?"ANIMATION_OUT":"UNMOUNT"),i.current=t}},[t,h]),Xt(()=>{if(e){let v;const y=e.ownerDocument.defaultView??window,x=Ir(S=>{const C=Gi(r.current).includes(CSS.escape(S.animationName));if(S.target===e&&C&&(h("ANIMATION_END"),!i.current)){const A=e.style.animationFillMode;e.style.animationFillMode="forwards",v=y.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=A)})}},"handleAnimationEnd"),_=Ir(S=>{S.target===e&&(l.current=Gi(r.current))},"handleAnimationStart");return e.addEventListener("animationstart",_),e.addEventListener("animationcancel",x),e.addEventListener("animationend",x),()=>{y.clearTimeout(v),e.removeEventListener("animationstart",_),e.removeEventListener("animationcancel",x),e.removeEventListener("animationend",x)}}else h("ANIMATION_END")},[e,h]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:f.useCallback(v=>{if(v){const y=getComputedStyle(v);r.current=y,d.current=Gi(y)}else r.current=null;n(v)},[])}}Ir(U_,"usePresence");function Wh(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}Ir(Wh,"setRef");function $_(...t){const e=f.useRef(t);return e.current=t,f.useCallback(n=>{const r=e.current;let i=!1;const l=r.map(d=>{const p=Wh(d,n);return!i&&typeof p=="function"&&(i=!0),p});if(i)return()=>{for(let d=0;d<l.length;d++){const p=l[d];typeof p=="function"?p():Wh(r[d],null)}}},[])}Ir($_,"useStableComposedRefs");function Gi(t){return t?.animationName||"none"}Ir(Gi,"getAnimationName");function z_(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.
13isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}Ir(z_,"getElementRef");var _j=Object.defineProperty,kj=(t,e)=>_j(t,"name",{value:e,configurable:!0}),rb=ri[" useEffectEvent ".trim().toString()],sb=ri[" useInsertionEffect ".trim().toString()];function B_(t){if(typeof rb=="function")return rb(t);const e=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof sb=="function"?sb(()=>{e.current=t}):Xt(()=>{e.current=t}),f.useMemo(()=>((...n)=>e.current?.(...n)),[])}kj(B_,"useEffectEvent");var Cj=Object.defineProperty,Xc=(t,e)=>Cj(t,"name",{value:e,configurable:!0}),Sj=ri[" useInsertionEffect ".trim().toString()]||Xt;function zo({prop:t,defaultProp:e,onChange:n=Xc(()=>{},"onChange"),caller:r}){const[i,l,d]=V_({defaultProp:e,onChange:n}),p=t!==void 0,m=p?t:i,h=f.useCallback(v=>{if(p){const y=H_(v)?v(t):v;y!==t&&d.current?.(y)}else l(v)},[p,t,l,d]);return[m,h]}Xc(zo,"useControllableState");function V_({defaultProp:t,onChange:e}){const[n,r]=f.useState(t),i=f.useRef(n),l=f.useRef(e);return Sj(()=>{l.current=e},[e]),f.useEffect(()=>{i.current!==n&&(l.current?.(n),i.current=n)},[n,i]),[n,r,l]}Xc(V_,"useUncontrolledState");function H_(t){return typeof t=="function"}Xc(H_,"isFunction");var ib=Symbol("RADIX:SYNC_STATE");function Nj(t,e,n,r){const{prop:i,defaultProp:l,onChange:d,caller:p}=e,m=i!==void 0,h=B_(d),v=[{...n,state:l}];r&&v.push(r);const[y,x]=f.useReducer((C,A)=>{if(A.type===ib)return{...C,state:A.state};const P=t(C,A);return m&&!Object.is(P.state,C.state)&&h(P.state),P},...v),_=y.state,S=f.useRef(_);f.useEffect(()=>{S.current!==_&&(S.current=_,m||h(_))},[_,S,m]);const k=f.useMemo(()=>i!==void 0?{...y,state:i}:y,[y,i]);return f.useEffect(()=>{m&&!Object.is(i,y.state)&&x({type:ib,state:i})},[i,y.state,m]),[k,x]}Xc(Nj,"useControllableStateReducer");var Pj=Object.defineProperty,Aj=(t,e)=>Pj(t,"name",{value:e,configurable:!0}),q_=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),bp=f.forwardRef(Aj(function(e,n){return a.jsx(Qe.span,{...e,ref:n,style:{...q_,...e.style}})},"VisuallyHidden")),Tj=bp,jj=Object.defineProperty,Bt=(t,e)=>jj(t,"name",{value:e,configurable:!0}),W_="ToastProvider",[Kg,G_,Ij]=Zc("Toast"),[K_,S8]=qn("Toast",[Ij]),[Ej,_p]=K_(W_),Rj=Bt(t=>{const{__scopeToast:e,label:n="Notification",duration:r=5e3,swipeDirection:i="right",swipeThreshold:l=50,announcerContainer:d,children:p}=t,[m,h]=f.useState(null),[v,y]=f.useState(0),x=f.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${W_}\`. Expected non-empty \`string\`.`),a.jsx(Kg.Provider,{scope:e,children:a.jsx(Ej,{scope:e,label:n,duration:r,swipeDirection:i,swipeThreshold:l,toastCount:v,viewport:m,onViewportChange:h,onToastAdd:f.useCallback(()=>y(_=>_+1),[]),onToastRemove:f.useCallback(()=>y(_=>_-1),[]),isClosePausedRef:x,announcerContainer:d,children:p})})},"ToastProvider"),Oj="ToastViewport",Mj=["F8"],Gh="toast.viewportPause",Kh="toast.viewportResume",Lj=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,hotkey:i=Mj,label:l="Notifications ({hotkey})",...d}=e,p=_p(Oj,r),m=G_(r),h=f.useRef(null),v=f.useRef(null),y=f.useRef(null),x=f.useRef(null),_=ct(n,x,p.onViewportChange),S=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),k=p.toastCount>0;f.useEffect(()=>{const A=Bt(P=>{i.length!==0&&i.every(E=>P[E]||P.code===E)&&x.current?.focus()},"handleKeyDown");return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[i]),f.useEffect(()=>{const A=h.current,P=x.current;
13if(k&&A&&P){const j=Bt(()=>{if(!p.isClosePausedRef.current){const q=new CustomEvent(Gh);P.dispatchEvent(q),p.isClosePausedRef.current=!0}},"handlePause"),E=Bt(()=>{if(p.isClosePausedRef.current){const q=new CustomEvent(Kh);P.dispatchEvent(q),p.isClosePausedRef.current=!1}},"handleResume"),F=Bt(q=>{!A.contains(q.relatedTarget)&&E()},"handleFocusOutResume"),z=Bt(()=>{A.contains(document.activeElement)||E()},"handlePointerLeaveResume");return A.addEventListener("focusin",j),A.addEventListener("focusout",F),A.addEventListener("pointermove",j),A.addEventListener("pointerleave",z),window.addEventListener("blur",j),window.addEventListener("focus",E),()=>{A.removeEventListener("focusin",j),A.removeEventListener("focusout",F),A.removeEventListener("pointermove",j),A.removeEventListener("pointerleave",z),window.removeEventListener("blur",j),window.removeEventListener("focus",E)}}},[k,p.isClosePausedRef]);const C=f.useCallback(({tabbingDirection:A})=>{const j=m().map(E=>{const F=E.ref.current,z=[F,...J_(F)];return A==="forwards"?z:z.reverse()});return(A==="forwards"?j.reverse():j).flat()},[m]);return f.useEffect(()=>{const A=x.current;if(A){const P=Bt(j=>{const E=j.altKey||j.ctrlKey||j.metaKey;if(j.key==="Tab"&&!E){const z=document.activeElement,q=j.shiftKey;if(j.target===A&&q){v.current?.focus();return}const se=C({tabbingDirection:q?"backwards":"forwards"}),ae=se.findIndex(J=>J===z);Eu(se.slice(ae+1))?j.preventDefault():q?v.current?.focus():y.current?.focus()}},"handleKeyDown");return A.addEventListener("keydown",P),()=>A.removeEventListener("keydown",P)}},[m,C]),a.jsxs(vj,{ref:h,role:"region","aria-label":l.replace("{hotkey}",S),tabIndex:-1,style:{pointerEvents:k?void 0:"none"},children:[k&&a.jsx(lb,{ref:v,onFocusFromOutsideViewport:()=>{const A=C({tabbingDirection:"forwards"});Eu(A)}}),a.jsx(Kg.Slot,{scope:r,children:a.jsx(Qe.ol,{tabIndex:-1,...d,ref:_})}),k&&a.jsx(lb,{ref:y,onFocusFromOutsideViewport:()=>{const A=C({tabbingDirection:"backwards"});Eu(A)}})]})},"ToastViewport")),Dj="ToastFocusProxy",lb=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,onFocusFromOutsideViewport:i,...l}=e,d=_p(Dj,r);return a.jsx(bp,{tabIndex:0,...l,ref:n,style:{position:"fixed"},onFocus:p=>{const m=p.relatedTarget;!d.viewport?.contains(m)&&i()}})},"ToastFocusProxy")),kp="Toast",Fj="toast.swipeStart",Uj="toast.swipeMove",$j="toast.swipeCancel",zj="toast.swipeEnd",Bj=f.forwardRef(Bt(function(e,n){const{forceMount:r,open:i,defaultOpen:l,onOpenChange:d,...p}=e,[m,h]=zo({prop:i,defaultProp:l??!0,onChange:d,caller:kp});return a.jsx(lo,{present:r||m,children:a.jsx(qj,{open:m,...p,ref:n,onClose:()=>h(!1),onPause:Jn(e.onPause),onResume:Jn(e.onResume),onSwipeStart:Ce(e.onSwipeStart,v=>{v.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Ce(e.onSwipeMove,v=>{const{x:y,y:x}=v.detail.delta;v.currentTarget.setAttribute("data-swipe","move"),v.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${y}px`),v.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${x}px`)}),onSwipeCancel:Ce(e.onSwipeCancel,v=>{v.currentTarget.setAttribute("data-swipe","cancel"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),v.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Ce(e.onSwipeEnd,v=>{const{x:y,y:x}=v.detail.delta;v.currentTarget.setAttribute("data-swipe","end"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),v.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),v.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${y}px`),v.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${x}px`),h(!1)})})})},"Toast")),[Vj,Hj]=K_(kp,{onClose(){}}),qj=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,type:i="foreground",duration:l,open:d,onClose:p,onEscapeKeyDown:m,onPause:h,onResume:v,onSwipeStart:y,onSwipeMove:x,onSwipeCancel:_,onSwipeEnd:S,...k}=e,C=_p(kp,r),A=G_(r),[P,j]=f.useState(null),E=ct(n,j),F=f.useRef(null),z=f.useRef(null),q=l||C.duration,re=f.useRef(0),ee=f.useRef(q),se=f.useRef(0),{onToastAdd:ae,onToastRemove:J}=C,Y=Jn(()=>{P?.contains(document.activeElement)&&C.viewport?.focus(),p()}),ie=f.useCallback(R=>
13{!R||R===1/0||(window.clearTimeout(se.current),re.current=new Date().getTime(),se.current=window.setTimeout(Y,R))},[Y]);f.useEffect(()=>{const R=C.viewport;if(R){const ce=Bt(()=>{ie(ee.current),v?.()},"handleResume"),$=Bt(()=>{const H=new Date().getTime()-re.current;ee.current=ee.current-H,window.clearTimeout(se.current),h?.()},"handlePause");return R.addEventListener(Gh,$),R.addEventListener(Kh,ce),()=>{R.removeEventListener(Gh,$),R.removeEventListener(Kh,ce)}}},[C.viewport,q,h,v,ie]),f.useEffect(()=>{d&&!C.isClosePausedRef.current&&ie(q)},[d,q,C.isClosePausedRef,ie]),f.useEffect(()=>()=>{window.clearTimeout(se.current)},[]),f.useEffect(()=>(ae(),()=>J()),[ae,J]);const Ne=f.useMemo(()=>P?Yg(P):null,[P]);return C.viewport?a.jsxs(a.Fragment,{children:[Ne&&a.jsx(Wj,{__scopeToast:r,role:"status","aria-live":i==="foreground"?"assertive":"polite",children:Ne}),a.jsx(Vj,{scope:r,onClose:Y,children:Cs.createPortal(a.jsx(Kg.ItemSlot,{scope:r,children:a.jsx(yj,{asChild:!0,onEscapeKeyDown:Ce(m,R=>{A().some($=>$.ref.current?.contains(R.target))||Y()}),children:a.jsx(Qe.li,{tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":C.swipeDirection,...k,ref:E,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Ce(e.onKeyDown,R=>{R.key==="Escape"&&(m?.(R.nativeEvent),R.nativeEvent.defaultPrevented||Y())}),onPointerDown:Ce(e.onPointerDown,R=>{R.button===0&&(F.current={x:R.clientX,y:R.clientY})}),onPointerMove:Ce(e.onPointerMove,R=>{if(!F.current)return;const ce=R.clientX-F.current.x,$=R.clientY-F.current.y,H=!!z.current,O=["left","right"].includes(C.swipeDirection),T=["left","up"].includes(C.swipeDirection)?Math.min:Math.max,B=O?T(0,ce):0,G=O?0:T(0,$),ue=R.pointerType==="touch"?10:2,xe={x:B,y:G},ye={originalEvent:R,delta:xe};H?(z.current=xe,pc(Uj,x,ye,{discrete:!1})):cb(xe,C.swipeDirection,ue)?(z.current=xe,pc(Fj,y,ye,{discrete:!1}),R.target.setPointerCapture(R.pointerId)):(Math.abs(ce)>ue||Math.abs($)>ue)&&(F.current=null)}),onPointerUp:Ce(e.onPointerUp,R=>{const ce=z.current,$=R.target;if($.hasPointerCapture(R.pointerId)&&$.releasePointerCapture(R.pointerId),z.current=null,F.current=null,ce){const H=R.currentTarget,O={originalEvent:R,delta:ce};cb(ce,C.swipeDirection,C.swipeThreshold)?pc(zj,S,O,{discrete:!0}):pc($j,_,O,{discrete:!0}),H.addEventListener("click",T=>T.preventDefault(),{once:!0})}})})})}),C.viewport)})]}):null},"ToastImpl")),Wj=Bt(t=>{const{__scopeToast:e,children:n,...r}=t,i=_p(kp,e),[l,d]=f.useState(!1),[p,m]=f.useState(!1);return Z_(()=>d(!0)),f.useEffect(()=>{const h=window.setTimeout(()=>m(!0),1e3);return()=>window.clearTimeout(h)},[]),p?null:a.jsx(_l,{asChild:!0,container:i.announcerContainer||void 0,children:a.jsx(bp,{...r,children:l&&a.jsxs(a.Fragment,{children:[i.label," ",n]})})})},"ToastAnnounce"),Gj=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,...i}=e;return a.jsx(Qe.div,{...i,ref:n})},"ToastTitle")),Kj=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,...i}=e;return a.jsx(Qe.div,{...i,ref:n})},"ToastDescription")),Yj="ToastAction",Qj=f.forwardRef(Bt(function(e,n){const{altText:r,...i}=e;return r.trim()?a.jsx(Q_,{altText:r,asChild:!0,children:a.jsx(Y_,{...i,ref:n})}):(console.error(`Invalid prop \`altText\` supplied to \`${Yj}\`. Expected non-empty \`string\`.`),null)},"ToastAction")),Zj="ToastClose",Y_=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,...i}=e,l=Hj(Zj,r);return a.jsx(Q_,{asChild:!0,children:a.jsx(Qe.button,{type:"button",...i,ref:n,onClick:Ce(e.onClick,l.onClose)})})},"ToastClose")),Q_=f.forwardRef(Bt(function(e,n){const{__scopeToast:r,altText:i,...l}=e;return a.jsx(Qe.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":i||void 0,...l,ref:n})},"ToastAnnounceExclude"));function Yg(t){const e=[];return Array.from(t.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&e.push(r.textContent),X_(r)){const i=r.ariaHidden||r.hidden||r.style.display==="none",l=r.dataset.radixToastAnnounceExclude==="";if(!i)if(l){const d=r.dataset.radixToastAnnounceAlt;d&&e.push(d)}else e.push(...Yg(r))}}),e}Bt(Yg,"getAnnounceTextContent");function pc(t,e,n,{discrete:r}){const i=n.originalEvent.currentTarget,l=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e&&i.addEventListener(t,e,{once:!0}),r?wp(i,l):i.dispatchEvent(l)}Bt(pc,"handleAndDispatchCustomEvent");var cb=Bt((t,e,n=0)=>{const r=Math.abs(t.x),i=Math.abs(t.y),l=r>i;return e==="left"||e==="right"?l&&r>n:!l&&i>n},"isDeltaInDirection");function Z_(t=()=>{}){const e=Jn(t);Xt(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(e)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[e])}Bt(Z_,"useNextFrame");function X_(t){return t.nodeType===t.ELEMENT_NODE}Bt(X_,"isHTMLElement");function J_(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:Bt(r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)e.push(n.currentNode);return e}Bt(J_,"getTabbableCandidates");function Eu(t){const e=document.activeElement;return t.some(n=>n===e?!0:(n.focus(),document.activeElement!==e))}Bt(Eu,"focusFirst");var Xj=Rj,ek=Lj,tk=Bj,nk=Gj,ok=Kj,ak=Qj,rk=Y_;const Jj=Xj,sk=f.forwardRef(({className:t,...e},n)=>a.jsx(ek,{ref:n,className:ge("fixed bottom-0 right-0 z-[100] flex max-h-screen w-full flex-col p-4 md:max-w-[420px]",t),...e}));sk.displayName=ek.displayName;const eI=gl("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-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),ik=f.forwardRef(({className:t,variant:e,...n},r)=>a.jsx(tk,{ref:r,className:ge(eI({variant:e}),t),...n}));ik.displayName=tk.displayName;const tI=f.forwardRef(({className:t,...e},n)=>a.jsx(ak,{ref:n,className:ge("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",t),...e}));tI.displayName=ak.displayName;const lk=f.forwardRef(({className:t,...e},n)=>a.jsx(rk,{ref:n,className:ge("absolute right-2 top-2 rounded-md p-1 text-foreground
13/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",t),"toast-close":"",...e,children:a.jsx(tr,{className:"h-4 w-4"})}));lk.displayName=rk.displayName;const ck=f.forwardRef(({className:t,...e},n)=>a.jsx(nk,{ref:n,className:ge("text-sm font-semibold",t),...e}));ck.displayName=nk.displayName;const dk=f.forwardRef(({className:t,...e},n)=>a.jsx(ok,{ref:n,className:ge("text-sm opacity-90",t),...e}));dk.displayName=ok.displayName;function dc(){const{toasts:t}=Oa();return a.jsxs(Jj,{children:[t.map(function({id:e,title:n,description:r,action:i,...l}){return a.jsxs(ik,{...l,children:[a.jsxs("div",{className:"grid gap-1",children:[n&&a.jsx(ck,{children:n}),r&&a.jsx(dk,{children:r})]}),i,a.jsx(lk,{})]},e)}),a.jsx(sk,{})]})}var nI=Object.defineProperty,oI=(t,e)=>nI(t,"name",{value:e,configurable:!0}),aI=ri[" useId ".trim().toString()]||(()=>{}),rI=0;function sa(t){const[e,n]=f.useState(aI());return Xt(()=>{t||n(r=>r??String(rI++))},[t]),t||(e?`radix-${e}`:"")}oI(sa,"useId");const sI=["top","right","bottom","left"],gs=Math.min,Ar=Math.max,Yu=Math.round,fu=Math.floor,Tr=t=>({x:t,y:t}),iI={left:"right",right:"left",bottom:"top",top:"bottom"};function uk(t,e,n){return Ar(t,gs(e,n))}function Er(t,e){return typeof t=="function"?t(e):t}function ys(t){return t.split("-")[0]}function kl(t){return t.split("-")[1]}function Qg(t){return t==="x"?"y":"x"}function Zg(t){return t==="y"?"height":"width"}function Ja(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function Xg(t){return Qg(Ja(t))}function lI(t,e,n){n===void 0&&(n=!1);const r=kl(t),i=Xg(t),l=Zg(i);let d=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[l]>e.floating[l]&&(d=Qu(d)),[d,Qu(d)]}function cI(t){const e=Qu(t);return[Yh(t),e,Yh(e)]}function Yh(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const db=["left","right"],ub=["right","left"],dI=["top","bottom"],uI=["bottom","top"];function pI(t,e,n){switch(t){case"top":case"bottom":return n?e?ub:db:e?db:ub;case"left":case"right":return e?dI:uI;default:return[]}}function fI(t,e,n,r){const i=kl(t);let l=pI(ys(t),n==="start",r);return i&&(l=l.map(d=>d+"-"+i),e&&(l=l.concat(l.map(Yh)))),l}function Qu(t){const e=ys(t);return iI[e]+t.slice(e.length)}function mI(t){var e,n,r,i;return{top:(e=t.top)!=null?e:0,right:(n=t.right)!=null?n:0,bottom:(r=t.bottom)!=null?r:0,left:(i=t.left)!=null?i:0}}function pk(t){return typeof t!="number"?mI(t):{top:t,right:t,bottom:t,left:t}}function Zu(t){const{x:e,y:n,width:r,height:i}=t;return{width:r,height:i,top:n,left:e,right:e+r,bottom:n+i,x:e,y:n}}function pb(t,e,n){let{reference:r,floating:i}=t;const l=Ja(e),d=Xg(e),p=Zg(d),m=ys(e),h=l==="y",v=r.x+r.width/2-i.width/2,y=r.y+r.height/2-i.height/2,x=r[p]/2-i[p]/2;let _;switch(m){case"top":_={x:v,y:r.y-i.height};break;case"bottom":_={x:v,y:r.y+r.height};break;case"right":_={x:r.x+r.width,y};break;case"left":_={x:r.x-i.width,y};break;default:_={x:r.x,y:r.y}}const S=kl(e);return S&&(_[d]+=x*(S==="end"?1:-1)*(n&&h?-1:1)),_}async function hI(t,e){var n;e===void 0&&(e={});const{x:r,y:i,platform:l,rects:d,elements:p,strategy:m}=t,{boundary:h="clippingAncestors",rootBoundary:v="viewport",elementContext:y="floating",altBoundary:x=!1,padding:_=0}=Er(e,t),S=pk(_),C=p[x?y==="floating"?"reference":"floating":y],A=Zu(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(C)))==null||n?C:C.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(p.floating)),boundary:h,rootBoundary:v,strategy:m})),P=y==="floating"?{x:r,y:i,width:d.floating.width,height:d.floating.height}:d.reference,j=await(l.getOffsetParent==null?void 0:l.getOffsetParent(p.floating)),E=await(l.isElement==null?void 0:l.isElement(j))&&await(l.getScale==null?void 0:l.getScale(j))||{x:1,y:1},F=Zu(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:P,offsetParent:j,strategy:m}):P);return{top:(A.top-F.top+S.top)/E.y,bottom:(F.bottom-A.bottom+S.bottom)/E.y,left:(A.left-F.left+S.left)/E.x,right:(F.right-A.right+S.right)/E.x}}const gI=50,yI=async(t,e,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:l=[],platform:d}=n,p=d.detectOverflow?d:{...d,detectOverflow:hI},m=await(d.isRTL==null?void 0:d.isRTL(e));let h=await d.getElementRects({reference:t,floating:e,strategy:i}
vendor: 2,684 bytes, line 13
13),{x:v,y}=pb(h,r,m),x=r,_=0;const S={};for(let k=0;k<l.length;k++){const C=l[k];if(!C)continue;const{name:A,fn:P}=C,{x:j,y:E,data:F,reset:z}=await P({x:v,y,initialPlacement:r,placement:x,strategy:i,middlewareData:S,rects:h,platform:p,elements:{reference:t,floating:e}});v=j??v,y=E??y,S[A]={...S[A],...F},z&&_<gI&&(_++,typeof z=="object"&&(z.placement&&(x=z.placement),z.rects&&(h=z.rects===!0?await d.getElementRects({reference:t,floating:e,strategy:i}):z.rects),{x:v,y}=pb(h,x,m)),k=-1)}return{x:v,y,placement:x,strategy:i,middlewareData:S}},vI=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:r,placement:i,rects:l,platform:d,elements:p,middlewareData:m}=e,{element:h,padding:v=0}=Er(t,e)||{};if(h==null)return{};const y=pk(v),x={x:n,y:r},_=Xg(i),S=Zg(_),k=await d.getDimensions(h),C=_==="y",A=C?"top":"left",P=C?"bottom":"right",j=C?"clientHeight":"clientWidth",E=l.reference[S]+l.reference[_]-x[_]-l.floating[S],F=x[_]-l.reference[_],z=await(d.getOffsetParent==null?void 0:d.getOffsetParent(h));let q=z?z[j]:0;(!q||!await(d.isElement==null?void 0:d.isElement(z)))&&(q=p.floating[j]||l.floating[S]);const re=E/2-F/2,ee=q/2-k[S]/2-1,se=gs(y[A],ee),ae=gs(y[P],ee),J=q-k[S]-ae,Y=q/2-k[S]/2+re,ie=uk(se,Y,J),Ne=!m.arrow&&kl(i)!=null&&Y!==ie&&l.reference[S]/2-(Y<se?se:ae)-k[S]/2<0,R=Ne?Y<se?Y-se:Y-J:0;return{[_]:x[_]+R,data:{[_]:ie,centerOffset:Y-ie-R,...Ne&&{alignmentOffset:R}},reset:Ne}}}),xI=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;const{placement:i,middlewareData:l,rects:d,initialPlacement:p,platform:m,elements:h}=e,{mainAxis:v=!0,crossAxis:y=!0,fallbackPlacements:x,fallbackStrategy:_="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:k=!0,...C}=Er(t,e);if((n=l.arrow)!=null&&n.alignmentOffset)return{};const A=ys(i),P=Ja(p),j=ys(p)===p,E=await(m.isRTL==null?void 0:m.isRTL(h.floating)),F=x||(j||!k?[Qu(p)]:cI(p)),z=S!=="none";!x&&z&&F.push(...fI(p,k,S,E));const q=[p,...F],re=await m.detectOverflow(e,C),ee=[];let se=((r=l.flip)==null?void 0:r.overflows)||[];if(v&&ee.push(re[A]),y){const ie=lI(i,d,E);ee.push(re[ie[0]],re[ie[1]])}if(se=[...se,{placement:i,overflows:ee}],!ee.every(ie=>ie<=0)){var ae,J;const ie=(((ae=l.flip)==null?void 0:ae.index)||0)+1,Ne=q[ie];if(Ne&&(!(y==="alignment"?P!==Ja(Ne):!1)||se.every($=>Ja($.placement)===P?$.overflows[0]>0:!0)))return{data:{index:ie,overflows:se},reset:{placement:Ne}};let R=(J=se.filter(ce=>ce.overflows[0]<=0).sort((ce,$)=>ce.overflows[1]-$.overflows[1])[0])==null?void 0:J.placement;if(!R)switch(_){case"bestFit":{var Y;const ce=(Y=se.filter($=>{if(z){const H=Ja($.placement);return H===P||H==="y"}return!0}).map($=>[$.placement,$.overflows.filter(H=>H>0).reduce((H,O)=>
13H+O,0)]).sort(($,H)=>$[1]-H[1])[0])==null?void 0:Y[0];ce&&(R=ce);break}case"initialPlacement":R=p;break}if(i!==R)return{reset:{placement:R}}}return{}}}};function fb(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function mb(t){return sI.some(e=>t[e]>=0)}const wI=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n,platform:r}=e,{strategy:i="referenceHidden",...l}=Er(t,e);switch(i){case"referenceHidden":{const d=await r.detectOverflow(e,{...l,elementContext:"reference"}),p=fb(d,n.reference);return{data:{referenceHiddenOffsets:p,referenceHidden:mb(p)}}}case"escaped":{const d=await r.detectOverflow(e,{...l,altBoundary:!0}),p=fb(d,n.floating);return{data:{escapedOffsets:p,escaped:mb(p)}}}default:return{}}}}},fk=new Set(["left","top"]);async function bI(t,e){const{placement:n,platform:r,elements:i}=t,l=await(r.isRTL==null?void 0:r.isRTL(i.floating)),d=ys(n),p=kl(n),m=Ja(n)==="y",h=fk.has(d)?-1:1,v=l&&m?-1:1,y=Er(e,t);let{mainAxis:x,crossAxis:_,alignmentAxis:S}=typeof y=="number"?{mainAxis:y,crossAxis:0,alignmentAxis:null}:{mainAxis:y.mainAxis||0,crossAxis:y.crossAxis||0,alignmentAxis:y.alignmentAxis};return p&&typeof S=="number"&&(_=p==="end"?S*-1:S),m?{x:_*v,y:x*h}:{x:x*h,y:_*v}}const _I=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;const{x:i,y:l,placement:d,middlewareData:p}=e,m=await bI(e,t);return d===((n=p.offset)==null?void 0:n.placement)&&(r=p.arrow)!=null&&r.alignmentOffset?{}:{x:i+m.x,y:l+m.y,data:{...m,placement:d}}}}},kI=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:r,placement:i,platform:l}=e,{mainAxis:d=!0,crossAxis:p=!1,limiter:m={fn:P=>{let{x:j,y:E}=P;return{x:j,y:E}}},...h}=Er(t,e),v={x:n,y:r},y=await l.detectOverflow(e,h),x=Ja(i),_=Qg(x);let S=v[_],k=v[x];const C=(P,j)=>uk(j+y[P==="y"?"top":"left"],j,j-y[P==="y"?"bottom":"right"]);d&&(S=C(_,S)),p&&(k=C(x,k));const A=m.fn({...e,[_]:S,[x]:k});return{...A,data:{x:A.x-n,y:A.y-r,enabled:{[_]:d,[x]:p}}}}}},CI=function(t){return t===void 0&&(t={}),{options:t,fn(e){var n,r;const{x:i,y:l,placement:d,rects:p,middlewareData:m}=e,{offset:h=0,mainAxis:v=!0,crossAxis:y=!0}=Er(t,e),x={x:i,y:l},_=Ja(d),S=Qg(_);let k=x[S],C=x[_];const A=Er(h,e),P=typeof A=="number"?{mainAxis:A,crossAxis:0}:{mainAxis:(n=A.mainAxis)!=null?n:0,crossAxis:(r=A.crossAxis)!=null?r:0};if(v){const F=S==="y"?"height":"width",z=p.reference[S]-p.floating[F]+P.mainAxis,q=p.reference[S]+p.reference[F]-P.mainAxis;k<z?k=z:k>q&&(k=q)}if(y){var j,E;const F=S==="y"?"width":"height",z=fk.has(ys(d)),q=p.reference[_]-p.floating[F]+(z&&((j=m.offset)==null?void 0:j[_])||0)+(z?0:P.crossAxis),re=p.reference[_]+p.reference[F]+(z?0:((E=m.offset)==null?void 0:E[_])||0)-(z?P.crossAxis:0);C<q?C=q:C>re&&(C=re)}return{[S]:k,[_]:C}}}},SI=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:n,rects:r,platform:i,elements:l}=e,{apply:d=()=>{},...p}=Er(t,e),m=await i.detectOverflow(e,p),h=ys(n),v=kl(n),y=Ja(n)==="y",{width:x,height:_}=r.floating;let S,k;h==="top"||h==="bottom"?(S=h,k=v===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(k=h,S=v==="end"?"top":"bottom");const C=_-m.top-m.bottom,A=x-m.left-m.right,P=gs(_-m[S],C),j=gs(x-m[k],A),E=e.middlewareData.shift,F=!E;let z=P,q=j;E!=null&&E.enabled.x&&(q=A),E!=null&&E.enabled.y&&(z=C),F&&!v&&(y?q=x-2*Ar(m.left,m.right):z=_-2*Ar(m.top,m.bottom)),await d({...e,availableWidth:q,availableHeight:z});const re=await i.getDimensions(l.floating);return x!==re.width||_!==re.height?{reset:{rects:!0}}:{}}}};function Cp(){return typeof window<"u"}function Cl(t){return mk(t)?(t.nodeName||"").toLowerCase():"#document"}function To(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Dr(t){var e;return(e=(mk(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function mk(t){return Cp()?t instanceof Node||t instanceof To(t).Node:!1}function nr(t){return Cp()?t instanceof Element||t instanceof To(t).Element:!1}function Ss(t){return Cp()?t instanceof HTMLElement||t instanceof To(t).HTMLElement:!1}function hb(t){return!Cp()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof To(t).ShadowRoot}function Sp(t){const{overflow:e,overflowX:n,overflowY:r,display:i}=or(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&i!=="inline"&&i!=="contents"}function NI(t){return/^(table|td|th)$/.test(Cl(t))}function Np(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const PI=/transform|translate|scale|rotate|perspective|filter/,AI=/paint|layout|strict|content/,Hs=t=>!!t&&t!=="none";let Gm;function Jg(t){const e=nr(t)?or(t):t;return Hs(e.transform)||Hs(e.translate)||Hs(e.scale)||Hs(e.rotate)||Hs(e.perspective)||!ey()&&(Hs(e.backdropFilter)||Hs(e.filter))||PI.test(e.willChange||"")||AI.test(e.contain||"")}function TI(t){let e=Xs(t);for(;Ss(e)&&!Sc(e);){if(Jg(e))return e;if(Np(e))return null;e=Xs(e)}return null}function ey(){return Gm==null&&(Gm=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Gm}function Sc(t){return/^(html|body|#document)$/.test(Cl(t))}function or(t){return To(t).getComputedStyle(t)}function Pp(t){return nr(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Xs(t){if(Cl(t)==="html")return t;const e=t.assignedSlot||t.parentNode||hb(t)&&t.host||Dr(t);return hb(e)?e.host:e}function hk(t){const e=Xs(t);return Sc(e)?(t.ownerDocument||t).body:Ss(e)&&Sp(e)?e:hk(e)}function Nc(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);const i=hk(t),l=i===((r=t.ownerDocument)==null?void 0:r.body),d=To(i);if(l){const p=Qh(d);
13return e.concat(d,d.visualViewport||[],Sp(i)?i:[],p&&n?Nc(p):[])}else return e.concat(i,Nc(i,[],n))}function Qh(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function gk(t){const e=or(t);let n=parseFloat(e.width)||0,r=parseFloat(e.height)||0;const i=Ss(t),l=i?t.offsetWidth:n,d=i?t.offsetHeight:r,p=Yu(n)!==l||Yu(r)!==d;return p&&(n=l,r=d),{width:n,height:r,$:p}}function ty(t){return nr(t)?t:t.contextElement}function el(t){const e=ty(t);if(!Ss(e))return Tr(1);const n=e.getBoundingClientRect(),{width:r,height:i,$:l}=gk(e);let d=(l?Yu(n.width):n.width)/r,p=(l?Yu(n.height):n.height)/i;return(!d||!Number.isFinite(d))&&(d=1),(!p||!Number.isFinite(p))&&(p=1),{x:d,y:p}}const jI=Tr(0);function yk(t){const e=To(t);return!ey()||!e.visualViewport?jI:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function II(t,e,n){return e===void 0&&(e=!1),!!n&&e&&n===To(t)}function Js(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);const i=t.getBoundingClientRect(),l=ty(t);let d=Tr(1);e&&(r?nr(r)&&(d=el(r)):d=el(t));const p=II(l,n,r)?yk(l):Tr(0);let m=(i.left+p.x)/d.x,h=(i.top+p.y)/d.y,v=i.width/d.x,y=i.height/d.y;if(l&&r){const x=To(l),_=nr(r)?To(r):r;let S=x,k=Qh(S);for(;k&&_!==S;){const C=el(k),A=k.getBoundingClientRect(),P=or(k),j=A.left+(k.clientLeft+parseFloat(P.paddingLeft))*C.x,E=A.top+(k.clientTop+parseFloat(P.paddingTop))*C.y;m*=C.x,h*=C.y,v*=C.x,y*=C.y,m+=j,h+=E,S=To(k),k=Qh(S)}}return Zu({width:v,height:y,x:m,y:h})}function Ap(t,e){const n=Pp(t).scrollLeft;return e?e.left+n:Js(Dr(t)).left+n}function vk(t,e){const n=t.getBoundingClientRect(),r=n.left+e.scrollLeft-Ap(t,n),i=n.top+e.scrollTop;return{x:r,y:i}}function EI(t){let{elements:e,rect:n,offsetParent:r,strategy:i}=t;const l=i==="fixed",d=Dr(r),p=e?Np(e.floating):!1;if(r===d||p&&l)return n;let m={scrollLeft:0,scrollTop:0},h=Tr(1);const v=Tr(0),y=Ss(r);if((y||!l)&&((Cl(r)!=="body"||Sp(d))&&(m=Pp(r)),y)){const _=Js(r);h=el(r),v.x=_.x+r.clientLeft,v.y=_.y+r.clientTop}const x=d&&!y&&!l?vk(d,m):Tr(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-m.scrollLeft*h.x+v.x+x.x,y:n.y*h.y-m.scrollTop*h.y+v.y+x.y}}function RI(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function OI(t){const e=Pp(t),n=t.ownerDocument.body,r=Ar(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),i=Ar(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let l=-e.scrollLeft+Ap(t);const d=-e.scrollTop;return or(n).direction==="rtl"&&(l+=Ar(t.clientWidth,n.clientWidth)-r),{width:r,height:i,x:l,y:d}}const MI=25;function LI(t,e,n){n===void 0&&(n="viewport");const r=n==="layoutViewport",i=To(t),l=Dr(t),d=i.visualViewport;let p=l.clientWidth,m=l.clientHeight,h=0,v=0;if(d){const x=!ey()||e==="fixed";r?x||(h=-d.offsetLeft,v=-d.offsetTop):(p=d.width,m=d.height,x&&(h=d.offsetLeft,v=d.offsetTop))}if(Ap(l)<=0){const x=l.ownerDocument,_=x.body,S=getComputedStyle(_),k=x.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,C=Math.abs(l.clientWidth-_.clientWidth-k),A=getComputedStyle(l).scrollbarGutter==="stable both-edges"?C/2:C;A<=MI&&(p-=A)}return{width:p,height:m,x:h,y:v}}function DI(t,e){const n=Js(t,!0,e==="fixed"),r=n.top+t.clientTop,i=n.left+t.clientLeft,l=el(t),d=t.clientWidth*l.x,p=t.clientHeight*l.y,m=i*l.x,h=r*l.y;return{width:d,height:p,x:m,y:h}}function gb(t,e,n){let r;if(e==="viewport"||e==="layoutViewport")r=LI(t,n,e);else if(e==="document")r=OI(Dr(t));else if(nr(e))r=DI(e,n);else{const i=yk(t);r={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return Zu(r)}function FI(t,e){const n=e.get(t);if(n)return n;let r=Nc(t,[],!1).filter(p=>nr(p)&&Cl(p)!=="body"),i=null;const l=or(t).position==="fixed";let d=l?Xs(t):t;for(;nr(d)&&!Sc(d);){const p=or(d),m=Jg(d),h=i?i.position:l?"fixed":"";!m&&(h==="fixed"||h==="absolute"&&p.position==="static")?r=r.filter(y=>y!==d):i=p,d=Xs(d)}return e.set(t,r),r}function UI(t){let{element:e,boundary:n,rootBoundary:r,strategy:i}=t;const d=[...n==="clippingAncestors"?Np(e)?[]:FI(e,this._c):[].concat(n),r],p=gb(e,d[0],i);let m=p.top,h=p.right,v=p.bottom,y=p.left;for(let x=1;x<d.length;x++){const _=gb(e,d[x],i);m=Ar(_.top,m),h=gs(_.right,h),v=gs(_.bottom,v),y=Ar(_.left,y)}return{width:h-y,height:v-m,x:y,y:m}}function $I(t){const{width:e,height:n}=gk(t);return{width:e,height:n}}function zI(t,e,n){const r=Ss(e),i=Dr(e),l=n==="fixed",d=Js(t,!0,l,e);let p={scrollLeft:0,scrollTop:0};const m=Tr(0);if((r||!l)&&((Cl(e)!=="body"||Sp(i))&&(p=Pp(e)),r)){const x=Js(e,!0,l,e);m.x=x.x+e.clientLeft,m.y=x.y+e.clientTop}!r&&i&&(m.x=Ap(i));const h=i&&!r&&!l?vk(i,p):Tr(0),v=d.left+p.scrollLeft-m.x-h.x,y=d.top+p.scrollTop-m.y-h.y;return{x:v,y,width:d.width,height:d.height}}function Km(t){return or(t).position==="static"}function yb(t,e){if(!Ss(t)||or(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return Dr(t)===n&&(n=n.ownerDocument.body),n}function xk(t,e){const n=To(t);if(Np(t))return n;if(!Ss(t)){let i=Xs(t);for(;i&&!Sc(i);){if(nr(i)&&!Km(i))return i;i=Xs(i)}return n}let r=yb(t,e);for(;r&&NI(r)&&Km(r);)r=yb(r,e);return r&&Sc(r)&&Km(r)&&!Jg(r)?n:r||TI(t)||n}const BI=async function(t){const e=this.getOffsetParent||xk,n=this.getDimensions,r=await n(t.floating);return{reference:zI(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function VI(t){return or(t).direction==="rtl"}const HI={convertOffsetParentRelativeRectToViewportRelativeRect:EI,getDocumentElement:Dr,getClippingRect:UI,getOffsetParent:xk,getElementRects:BI,getClientRects:RI,getDimensions:$I,getScale:el,isElement:nr,isRTL:VI};function wk(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function qI(t,e,n){let r=null,i;const l=Dr(t);function d(){var v;clearTimeout(i),(v=r)==null||v.disconnect(),r=null}function p(v,y){v===void 0&&(v=!1),y===void 0&&(y=1),d();const x=t.getBoundingClientRect(),{left:_,top:S,width:k,height:C}=x;if(v||e(),!k||!C)return;const A=fu(S),P=fu(l.clientWidth-(_+k)),j=fu(l.clientHeight-(S+C)),E=fu(_),z={rootMargin:-A+"px "+-P+"px "+-j+"px "+-E+"px",threshold:Ar(0,gs(1,y))||1};let q=!0;function re(ee){const se=ee[0].intersectionRatio;if(!wk(x,t.getBoundingClientRect()))return p();if(se!==y){if(!q)return p();se?p(!1,se):i=setTimeout(()=>{p(!1,1e-7)},1e3)}q=!1}try{r=new IntersectionObserver(re,{...z,root:l.ownerDocument})}catch{r=new IntersectionObserver(re,z)}r.observe(t)}const m=To(t),h=()=>p(n);return m.addEventListener("resize",h),p(!0),()=>{m.removeEventListener("resize",h),d()}}function WI(t,e,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:l=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:m=!1}=r,h=ty(t),v=i||l?[...h?Nc(h):[],...e?Nc(e):[]]:[];v.forEach(A=>{i&&A.addEventListener("scroll",n),l&&A.addEventListener("resize",n)});const y=h&&p?qI(h,n,l):null;let x=-1,_=null;d&&(_=new ResizeObserver(A=>{let[P]=A;P&&P.target===h&&_&&e&&(_.unobserve(e),cancelAnimationFrame(x),x=requestAnimationFrame(()=>{var j;(j=_)==null||j.observe(e)})),n()}),h&&!m&&_.observe(h),e&&_.observe(e));let S,k=m?Js(t):null;m&&C();function C(){const A=Js(t);k&&!wk(k,A)&&n(),k=A,S=requestAnimationFrame(C)}return n(),()=>{var A;v.forEach(P=>{i&&P.removeEventListener("scroll",n),l&&P.removeEventListener("resize",n)}),y?.(),(A=_)==null||A.disconnect(),_=null,m&&cancelAnimationFrame(S)}}const GI=_I,KI=kI,YI=xI,QI=SI,ZI=wI,vb=vI,XI=CI,JI=(t,e,n)=>{const r=new Map,i=n??{},l={...HI,...i.platform,_c:r};return yI(t,e,{...i,platform:l})};var eE=typeof document<"u",tE=function(){},Ru=eE?f.useLayoutEffect:tE;function Xu(t,e){if(t===e)return!0;
13if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,r,i;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(r=n;r--!==0;)if(!Xu(t[r],e[r]))return!1;return!0}if(i=Object.keys(t),n=i.length,n!==Object.keys(e).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(e,i[r]))return!1;for(r=n;r--!==0;){const l=i[r];if(!(l==="_owner"&&t.$$typeof)&&!Xu(t[l],e[l]))return!1}return!0}return t!==t&&e!==e}function bk(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function xb(t,e){const n=bk(t);return Math.round(e*n)/n}function Ym(t){const e=f.useRef(t);return Ru(()=>{e.current=t}),e}function nE(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:l,floating:d}={},transform:p=!0,whileElementsMounted:m,open:h}=t,[v,y]=f.useState({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[x,_]=f.useState(r);Xu(x,r)||_(r);const[S,k]=f.useState(null),[C,A]=f.useState(null),P=f.useCallback($=>{$!==z.current&&(z.current=$,k($))},[]),j=f.useCallback($=>{$!==q.current&&(q.current=$,A($))},[]),E=l||S,F=d||C,z=f.useRef(null),q=f.useRef(null),re=f.useRef(v),ee=m!=null,se=Ym(m),ae=Ym(i),J=Ym(h),Y=f.useCallback(()=>{if(!z.current||!q.current)return;const $={placement:e,strategy:n,middleware:x};ae.current&&($.platform=ae.current),JI(z.current,q.current,$).then(H=>{const O={...H,isPositioned:J.current!==!1};ie.current&&!Xu(re.current,O)&&(re.current=O,Cs.flushSync(()=>{y(O)}))})},[x,e,n,ae,J]);Ru(()=>{h===!1&&re.current.isPositioned&&(re.current.isPositioned=!1,y($=>({...$,isPositioned:!1})))},[h]);const ie=f.useRef(!1);Ru(()=>(ie.current=!0,()=>{ie.current=!1}),[]),Ru(()=>{if(E&&(z.current=E),F&&(q.current=F),E&&F){if(se.current)return se.current(E,F,Y);Y()}},[E,F,Y,se,ee]);const Ne=f.useMemo(()=>({reference:z,floating:q,setReference:P,setFloating:j}),[P,j]),R=f.useMemo(()=>({reference:E,floating:F}),[E,F]),ce=f.useMemo(()=>{const $={position:n,left:0,top:0};if(!R.floating)return $;const H=xb(R.floating,v.x),O=xb(R.floating,v.y);return p?{...$,transform:"translate("+H+"px, "+O+"px)",...bk(R.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:H,top:O}},[n,p,R.floating,v.x,v.y]);return f.useMemo(()=>({...v,update:Y,refs:Ne,elements:R,floatingStyles:ce}),[v,Y,Ne,R,ce])}const oE=t=>{function e(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:t,fn(n){const{element:r,padding:i}=typeof t=="function"?t(n):t;return r&&e(r)?r.current!=null?vb({element:r.current,padding:i}).fn(n):{}:r?vb({element:r,padding:i}).fn(n):{}}}},aE=(t,e)=>{const n=GI(t);return{name:n.name,fn:n.fn,options:[t,e]}},rE=(t,e)=>{const n=KI(t);return{name:n.name,fn:n.fn,options:[t,e]}},sE=(t,e)=>({fn:XI(t).fn,options:[t,e]}),iE=(t,e)=>{const n=YI(t);return{name:n.name,fn:n.fn,options:[t,e]}},lE=(t,e)=>{const n=QI(t);return{name:n.name,fn:n.fn,options:[t,e]}},cE=(t,e)=>{const n=ZI(t);return{name:n.name,fn:n.fn,options:[t,e]}},dE=(t,e)=>{const n=oE(t);return{name:n.name,fn:n.fn,options:[t,e]}};var uE=Object.defineProperty,pE=(t,e)=>uE(t,"name",{value:e,configurable:!0});function Tp(t){const[e,n]=f.useState(void 0);return Xt(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const l=i[0];let d,p;if("borderBoxSize"in l){const m=l.borderBoxSize,h=Array.isArray(m)?m[0]:m;d=h.inlineSize,p=h.blockSize}else d=t.offsetWidth,p=t.offsetHeight;n({width:d,height:p})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}pE(Tp,"useSize");var fE=Object.defineProperty,ms=(t,e)=>fE(t,"name",{value:e,configurable:!0}),_k="Popper",[kk,cr]=qn(_k),[mE,Ck]=kk(_k),hE=ms(t=>{const{__scopePopper:e,children:n}=t,[r,i]=f.useState(null),[l,d]=f.useState(void 0);return a.jsx(mE,{scope:e,anchor:r,onAnchorChange:i,placementState:l,setPlacementState:d,children:n})},"Popper"),gE="PopperAnchor",yE=f.forwardRef(ms(function(e,n){const{__scopePopper:r,virtualRef:i,...l}=e,d=Ck(gE,r),p=f.useRef(null),m=d.onAnchorChange,h=f.useCallback(k=>{p.current=k,k&&m(k)},[m]),v=ct(n,h),y=f.useRef(null);f.useEffect(()=>{if(!i)return;const k=y.current;y.current=i.current,k!==y.current&&m(y.current)});const x=d.placementState&&jp(d.placementState),_=x?.[0],S=x?.[1];return i?null:a.jsx(Qe.div,{"data-radix-popper-side":_,"data-radix-popper-align":S,...l,ref:v})},"PopperAnchor")),Sk="PopperContent",[vE,N8]=kk(Sk),xE=f.forwardRef(ms(function(e,n){const{__scopePopper:r,side:i="bottom",sideOffset:l=0,align:d="center",alignOffset:p=0,arrowPadding:m=0,avoidCollisions:h=!0,collisionBoundary:v=[],collisionPadding:y=0,sticky:x="partial",hideWhenDetached:_=!1,updatePositionStrategy:S="optimized",onPlaced:k,...C}=e,A=Ck(Sk,r),[P,j]=f.useState(null),E=ct(n,j),[F,z]=f.useState(null),q=Tp(F),re=q?.width??0,ee=q?.height??0,se=i+(d!=="center"?"-"+d:""),ae=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},J=Array.isArray(v)?v:[v],Y=J.length>0,ie={padding:ae,boundary:J.filter(Nk),altBoundary:Y},{refs:Ne,floatingStyles:R,placement:ce,isPositioned:$,middlewareData:H}=nE({strategy:"fixed",placement:se,whileElementsMounted:ms((...pe)=>WI(...pe,{animationFrame:S==="always"}),"whileElementsMounted"),elements:{reference:A.anchor},middleware:[aE({mainAxis:l+ee,alignmentAxis:p}),h&&rE({mainAxis:!0,crossAxis:!1,limiter:x==="partial"?sE():void 0,...ie}),h&&iE({...ie}),lE({...ie,apply:ms(({elements:pe,rects:We,availableWidth:Ge,availableHeight:ut})=>{const{width:Fe,height:wt}=We.reference,tt=pe.floating.style;tt.setProperty("--radix-popper-available-width",`${Ge}px`),tt.setProperty("--radix-popper-available-height",`${ut}px`),tt.setProperty("--radix-popper-anchor-width",`${Fe}px`),tt.setProperty("--radix-popper-anchor-height",`${wt}
13px`)},"apply")}),F&&dE({element:F,padding:m}),wE({arrowWidth:re,arrowHeight:ee}),_&&cE({strategy:"referenceHidden",...ie,boundary:Y?ie.boundary:void 0})]}),O=A.setPlacementState;Xt(()=>(O(ce),()=>{O(void 0)}),[ce,O]);const[T,B]=jp(ce),G=Jn(k);Xt(()=>{$&&G?.()},[$,G]);const ue=H.arrow?.x,xe=H.arrow?.y,ye=H.arrow?.centerOffset!==0,[M,X]=f.useState();return Xt(()=>{P&&X(window.getComputedStyle(P).zIndex)},[P]),a.jsx("div",{ref:Ne.setFloating,"data-radix-popper-content-wrapper":"",style:{...R,transform:$?R.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:M,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(vE,{scope:r,placedSide:T,placedAlign:B,onArrowChange:z,arrowX:ue,arrowY:xe,shouldHideArrow:ye,children:a.jsx(Qe.div,{"data-side":T,"data-align":B,...C,ref:E,style:{...C.style,animation:$?C.style?.animation:"none"}})})})},"PopperContent"));function Nk(t){return t!==null}ms(Nk,"isNotNull");var wE=ms(t=>({name:"transformOrigin",options:t,fn(e){const{placement:n,rects:r,middlewareData:i}=e,d=i.arrow?.centerOffset!==0,p=d?0:t.arrowWidth,m=d?0:t.arrowHeight,[h,v]=jp(n),y={start:"0%",center:"50%",end:"100%"}[v],x=(i.arrow?.x??0)+p/2,_=(i.arrow?.y??0)+m/2;let S="",k="";return h==="bottom"?(S=d?y:`${x}px`,k=`${-m}px`):h==="top"?(S=d?y:`${x}px`,k=`${r.floating.height+m}px`):h==="right"?(S=`${-m}px`,k=d?y:`${_}px`):h==="left"&&(S=`${r.floating.width+m}px`,k=d?y:`${_}px`),{data:{x:S,y:k}}}}),"transformOrigin");function jp(t){const[e,n="center"]=t.split("-");return[e,n]}ms(jp,"getSideAndAlignFromPlacement");var Jc=hE,ed=yE,td=xE,bE=Object.defineProperty,Zn=(t,e)=>bE(t,"name",{value:e,configurable:!0}),[ny,P8]=qn("Tooltip",[cr]),oy=cr(),_E="TooltipProvider",kE=700,Zh="tooltip.open",[CE,ay]=ny(_E),SE=Zn(t=>{const{__scopeTooltip:e,delayDuration:n=kE,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:l}=t,d=f.useRef(!0),p=f.useRef(!1),m=f.useRef(0);return f.useEffect(()=>{const h=m.current;return()=>window.clearTimeout(h)},[]),a.jsx(CE,{scope:e,isOpenDelayedRef:d,delayDuration:n,onOpen:f.useCallback(()=>{r<=0||(window.clearTimeout(m.current),d.current=!1)},[r]),onClose:f.useCallback(()=>{r<=0||(window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.current=!0,r))},[r]),isPointerInTransitRef:p,onPointerInTransitChange:f.useCallback(h=>{p.current=h},[]),disableHoverableContent:i,children:l})},"TooltipProvider"),Xh="Tooltip",[NE,Ip]=ny(Xh),PE=Zn(t=>{const{__scopeTooltip:e,children:n,open:r,defaultOpen:i,onOpenChange:l,disableHoverableContent:d,delayDuration:p}=t,m=ay(Xh,t.__scopeTooltip),h=oy(e),[v,y]=f.useState(null),[x,_]=f.useState(void 0),S=sa(),k=f.useRef(0),C=d??m.disableHoverableContent,A=p??m.delayDuration,P=f.useRef(!1),[j,E]=zo({prop:r,defaultProp:i??!1,onChange:Zn(se=>{se?(m.onOpen(),document.dispatchEvent(new CustomEvent(Zh))):m.onClose(),l?.(se)},"onChange"),caller:Xh}),F=f.useMemo(()=>j?P.current?"delayed-open":"instant-open":"closed",[j]),z=f.useCallback(()=>{window.clearTimeout(k.current),k.current=0,P.current=!1,E(!0)},[E]),q=f.useCallback(()=>{window.clearTimeout(k.current),k.current=0,E(!1)},[E]),re=f.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>{P.current=!0,E(!0),k.current=0},A)},[A,E]);f.useEffect(()=>()=>{k.current&&(window.clearTimeout(k.current),k.current=0)},[]);const ee=x??S;return a.jsx(Jc,{...h,children:a.jsx(NE,{scope:e,contentId:ee,setContentId:_,open:j,stateAttribute:F,trigger:v,onTriggerChange:y,onTriggerEnter:f.useCallback(()=>{m.isOpenDelayedRef.current?re():z()},[m.isOpenDelayedRef,re,z]),onTriggerLeave:f.useCallback(()=>{C?q():(window.clearTimeout(k.current),k.current=0)},[q,C]),onOpen:z,onClose:q,disableHoverableContent:C,children:n})})},"Tooltip"),wb="TooltipTrigger",AE=f.forwardRef(Zn(function(e,n){const{__scopeTooltip:r,...i}=e,l=Ip(wb,r),d=ay(wb,r),p=oy(r),m=f.useRef(null),h=ct(n,m,l.onTriggerChange),v=f.useRef(!1),y=f.useRef(!1),x=f.useCallback(()=>v.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",x),[x]),a.jsx(ed,{asChild:!0,...p,children:a.jsx(Qe.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...i,ref:h,onPointerMove:Ce(e.onPointerMove,_=>{_.pointerType!=="touch"&&!y.current&&!d.isPointerInTransitRef.current&&(l.onTriggerEnter(),y.current=!0)}),onPointerLeave:Ce(e.onPointerLeave,()=>{l.onTriggerLeave(),y.current=!1}),onPointerDown:Ce(e.onPointerDown,()=>{l.open&&l.onClose(),v.current=!0,document.addEventListener("pointerup",x,{once:!0})}),onFocus:Ce(e.onFocus,()=>{v.current||l.onOpen()}),onBlur:Ce(e.onBlur,l.onClose),onClick:Ce(e.onClick,l.onClose)})})},"TooltipTrigger")),TE="TooltipPortal",[A8,jE]=ny(TE,{forceMount:void 0}),Pc="TooltipContent",IE=f.forwardRef(Zn(function(e,n){const r=jE(Pc,e.__scopeTooltip),{forceMount:i=r.forceMount,side:l="top",...d}=e,p=Ip(Pc,e.__scopeTooltip);return a.jsx(lo,{present:i||p.open,children:p.disableHoverableContent?a.jsx(Pk,{side:l,...d,ref:n}):a.jsx(EE,{side:l,...d,ref:n})})},"TooltipContent")),EE=f.forwardRef(Zn(function(e,n){const r=Ip(Pc,e.__scopeTooltip),i=ay(Pc,e.__scopeTooltip),l=f.useRef(null),d=ct(n,l),[p,m]=f.useState(null),{trigger:h,onClose:v}=r,y=l.current,{onPointerInTransitChange:x}=i,_=f.useCallback(()=>{m(null),x(!1)},[x]),S=f.useCallback((k,C)=>{const A=k.currentTarget,P={x:k.clientX,y:k.clientY},j=Ak(P,A.getBoundingClientRect()),E=Tk(P,j),F=jk(C.getBoundingClientRect()),z=Ek([...E,...F]);m(z),x(!0)},[x]);return f.useEffect(()=>()=>_(),[_]),f.useEffect(()=>{if(h&&y){const k=Zn(A=>S(A,y),"handleTriggerLeave"),C=Zn(A=>S(A,h),"handleContentLeave");return h.addEventListener("pointerleave",k),y.addEventListener("pointerleave",C),()=>{h.removeEventListener("pointerleave",k),y.removeEventListener("pointerleave",C)}}},[h,y,S,_]),f.useEffect(()=>{if(p){const k=Zn(C=>{const A=C.target,P={x:C.clientX,y:C.clientY},j=h?.contains(A)||y?.contains(A),E=!Ik(P,p);j?_():E&&(_(),v())},"handleTrackPointerGrace");return document.addEventListener("pointermove",k),()=>document.removeEventListener("pointermove",k)}},[h,y,p,v,_]),a.jsx(Pk,{...e,ref:d})},"TooltipContentHoverable")),RE=G0("TooltipContent"),Pk=f.forwardRef(Zn(function(e,n){const{__scopeTooltip:r,children:i,"aria-label":l,id:d,onEscapeKeyDown:p,onPointerDownOutside:m,...h}=e,v=Ip(Pc,r),y=oy(r),{onClose:x}=v;f.useEffect(()=>(document.addEventListener(Zh,x),()=>document.removeEventListener(Zh,x)),[x]),f.useEffect(()=>{if(v.trigger){const S=Zn(k=>{k.target instanceof Node&&k.target.contains(v.trigger)&&x()},"handleScroll");return window.addEventListener("scroll",S,{capture:!0}),()=>window.removeEventListener("scroll",S,{capture:!0})}},[v.trigger,x]);const{setContentId:_}=v;return Xt(()=>
13(_(d),()=>{_(void 0)}),[d,_]),a.jsx(si,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:S=>S.preventDefault(),onDismiss:x,children:a.jsxs(td,{"data-state":v.stateAttribute,role:l?void 0:"tooltip",id:l?void 0:v.contentId,...y,...h,ref:n,style:{...h.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:[a.jsx(RE,{children:i}),l?a.jsx(Tj,{id:v.contentId,role:"tooltip",children:l}):null]})})},"TooltipContentImpl"));function Ak(t,e){const n=Math.abs(e.top-t.y),r=Math.abs(e.bottom-t.y),i=Math.abs(e.right-t.x),l=Math.abs(e.left-t.x);switch(Math.min(n,r,i,l)){case l:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}Zn(Ak,"getExitSideFromRect");function Tk(t,e,n=5){const r=[];switch(e){case"top":r.push({x:t.x-n,y:t.y+n},{x:t.x+n,y:t.y+n});break;case"bottom":r.push({x:t.x-n,y:t.y-n},{x:t.x+n,y:t.y-n});break;case"left":r.push({x:t.x+n,y:t.y-n},{x:t.x+n,y:t.y+n});break;case"right":r.push({x:t.x-n,y:t.y-n},{x:t.x-n,y:t.y+n});break}return r}Zn(Tk,"getPaddedExitPoints");function jk(t){const{top:e,right:n,bottom:r,left:i}=t;return[{x:i,y:e},{x:n,y:e},{x:n,y:r},{x:i,y:r}]}Zn(jk,"getPointsFromRect");function Ik(t,e){const{x:n,y:r}=t;let i=!1;for(let l=0,d=e.length-1;l<e.length;d=l++){const p=e[l],m=e[d],h=p.x,v=p.y,y=m.x,x=m.y;v>r!=x>r&&n<(y-h)*(r-v)/(x-v)+h&&(i=!i)}return i}Zn(Ik,"isPointInPolygon");function Ek(t){const e=t.slice();return e.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),Rk(e)}Zn(Ek,"getHull");function Rk(t){if(t.length<=1)return t.slice();const e=[];for(let r=0;r<t.length;r++){const i=t[r];for(;e.length>=2;){const l=e[e.length-1],d=e[e.length-2];if((l.x-d.x)*(i.y-d.y)>=(l.y-d.y)*(i.x-d.x))e.pop();else break}e.push(i)}e.pop();const n=[];for(let r=t.length-1;r>=0;r--){const i=t[r];for(;n.length>=2;){const l=n[n.length-1],d=n[n.length-2];if((l.x-d.x)*(i.y-d.y)>=(l.y-d.y)*(i.x-d.x))n.pop();else break}n.push(i)}return n.pop(),e.length===1&&n.length===1&&e[0].x===n[0].x&&e[0].y===n[0].y?e:e.concat(n)}Zn(Rk,"getHullPresorted");var OE=SE,ME=PE,LE=AE,Ok=IE;const fc=OE,ds=ME,us=LE,kr=f.forwardRef(({className:t,sideOffset:e=4,...n},r)=>a.jsx(Ok,{ref:r,sideOffset:e,className:ge("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]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",t),...n}));kr.displayName=Ok.displayName;const Qm=768;function ry(){const[t,e]=f.useState(void 0);return f.useEffect(()=>{const n=window.matchMedia(`(max-width: ${Qm-1}px)`),r=()=>{e(window.innerWidth<Qm)};return n.addEventListener("change",r),e(window.innerWidth<Qm),()=>n.removeEventListener("change",r)},[]),!!t}const An=f.forwardRef(({className:t,type:e,...n},r)=>a.jsx("input",{type:e,className:ge("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",t),ref:r,...n}));An.displayName="Input";var DE=Object.defineProperty,Mk=(t,e)=>DE(t,"name",{value:e,configurable:!0}),bb="horizontal",FE=["horizontal","vertical"],UE=f.forwardRef(Mk(function(e,n){const{decorative:r,orientation:i=bb,...l}=e,d=Lk(i)?i:bb,m=r?{role:"none"}:{"aria-orientation":d==="vertical"?d:void 0,role:"separator"};return a.jsx(Qe.div,{"data-orientation":d,...m,...l,ref:n})},"Separator"));function Lk(t){return FE.includes(t)}Mk(Lk,"isValidOrientation");var Dk=UE;const $E=f.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...r},i)=>a.jsx(Dk,{ref:i,decorative:n,orientation:e,className:ge("shrink-0 bg-border",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...r}));$E.displayName=Dk.displayName;var zE=Object.defineProperty,ho=(t,e)=>zE(t,"name",{value:e,configurable:!0}),Zm="focusScope.autoFocusOnMount",Xm="focusScope.autoFocusOnUnmount",_b={bubbles:!1,cancelable:!0},Ep=f.forwardRef(ho(function(e,n){const{loop:r=!1,trapped:i=!1,onMountAutoFocus:l,onUnmountAutoFocus:d,...p}=e,[m,h]=f.useState(null),v=Jn(l),y=Jn(d),x=f.useRef(null),_=ct(n,h),S=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(i){let C=function(E){if(S.paused||!m)return;const F=E.target;m.contains(F)?x.current=F:Cr(x.current,{select:!0})},A=function(E){if(S.paused||!m)return;const F=E.relatedTarget;F!==null&&(m.contains(F)||Cr(x.current,{select:!0}))},P=function(E){if(document.activeElement===document.body)for(const z of E)z.removedNodes.length>0&&Cr(m)};ho(C,"handleFocusIn"),ho(A,"handleFocusOut"),ho(P,"handleMutations"),document.addEventListener("focusin",C),document.addEventListener("focusout",A);const j=new MutationObserver(P);return m&&j.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",A),j.disconnect()}}},[i,m,S.paused]),f.useEffect(()=>{if(m){kb.add(S);const C=document.activeElement;if(!m.contains(C)){const P=new CustomEvent(Zm,_b);m.addEventListener(Zm,v),m.dispatchEvent(P),P.defaultPrevented||(Fk(Vk(sy(m)),{select:!0}),document.activeElement===C&&Cr(m))}return()=>{m.removeEventListener(Zm,v),setTimeout(()=>{const P=new CustomEvent(Xm,_b);m.addEventListener(Xm,y),m.dispatchEvent(P),P.defaultPrevented||Cr(C??document.body,{select:!0}),m.removeEventListener(Xm,y),kb.remove(S)},0)}}},[m,v,y,S]);const k=f.useCallback(C=>{if(!r&&!i||S.paused)return;const A=C.key==="Tab"&&!C.altKey&&!C.ctrlKey&&!C.metaKey,P=document.activeElement;if(A&&P){const j=C.currentTarget,[E,F]=Uk(j);E&&F?!C.shiftKey&&P===F?(C.preventDefault(),r&&Cr(E,{select:!0})):C.shiftKey&&P===E&&(C.preventDefault(),r&&Cr(F,{select:!0})):P===j&&C.preventDefault()}},[r,i,S.paused]);return a.jsx(Qe.div,{tabIndex:-1,...p,ref:_,onKeyDown:k})},"FocusScope"));function Fk(t,{select:e=!1}={}){const n=document.activeElement;
13for(const r of t)if(Cr(r,{select:e}),document.activeElement!==n)return}ho(Fk,"focusFirst");function Uk(t){const e=sy(t),n=Jh(e,t),r=Jh(e.reverse(),t);return[n,r]}ho(Uk,"getTabbableEdges");function sy(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:ho(r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)e.push(n.currentNode);return e}ho(sy,"getTabbableCandidates");function Jh(t,e){const n=typeof e.checkVisibility=="function"&&e.checkVisibility({checkVisibilityCSS:!0});for(const r of t)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):$k(r,{upTo:e})))return r}ho(Jh,"findVisible");function $k(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}ho($k,"isHidden");function zk(t){return t instanceof HTMLInputElement&&"select"in t}ho(zk,"isSelectableInput");function Cr(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&zk(t)&&e&&t.select()}}ho(Cr,"focus");var kb=Bk();function Bk(){let t=[];return{add(e){const n=t[0];e!==n&&n?.pause(),t=eg(t,e),t.unshift(e)},remove(e){t=eg(t,e),t[0]?.resume()}}}ho(Bk,"createFocusScopesStack");function eg(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}ho(eg,"arrayRemove");function Vk(t){return t.filter(e=>e.tagName!=="A")}ho(Vk,"removeLinks");var BE=Object.defineProperty,iy=(t,e)=>BE(t,"name",{value:e,configurable:!0}),mu=0,zi=null;function VE(t){return Sl(),t.children}iy(VE,"FocusGuards");function Sl(){f.useEffect(()=>{zi||(zi={start:tg(),end:tg()});const{start:t,end:e}=zi;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),mu++,()=>{mu===1&&(zi?.start.remove(),zi?.end.remove(),zi=null),mu=Math.max(0,mu-1)}},[])}iy(Sl,"useFocusGuards");function tg(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}iy(tg,"createFocusGuard");var Xa=function(){return Xa=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},Xa.apply(this,arguments)};function Hk(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function HE(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,l;r<i;r++)(l||!(r in e))&&(l||(l=Array.prototype.slice.call(e,0,r)),l[r]=e[r]);return t.concat(l||Array.prototype.slice.call(e))}var Ou="right-scroll-bar-position",Mu="width-before-scroll-bar",qE="with-scroll-bars-hidden",WE="--removed-body-scroll-bar-size";function Jm(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}function GE(t,e){var n=f.useState(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=e,n.facade}var KE=typeof window<"u"?f.useLayoutEffect:f.useEffect,Cb=new WeakMap;function YE(t,e){var n=GE(null,function(r){return t.forEach(function(i){return Jm(i,r)})});return KE(function(){var r=Cb.get(n);if(r){var i=new Set(r),l=new Set(t),d=n.current;
vendor: 4,196 bytes, lines 13-28
13i.forEach(function(p){l.has(p)||Jm(p,null)}),l.forEach(function(p){i.has(p)||Jm(p,d)})}Cb.set(n,t)},[t]),n}function QE(t){return t}function ZE(t,e){e===void 0&&(e=QE);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:t},useMedium:function(l){var d=e(l,r);return n.push(d),function(){n=n.filter(function(p){return p!==d})}},assignSyncMedium:function(l){for(r=!0;n.length;){var d=n;n=[],d.forEach(l)}n={push:function(p){return l(p)},filter:function(){return n}}},assignMedium:function(l){r=!0;var d=[];if(n.length){var p=n;n=[],p.forEach(l),d=n}var m=function(){var v=d;d=[],v.forEach(l)},h=function(){return Promise.resolve().then(m)};h(),n={push:function(v){d.push(v),h()},filter:function(v){return d=d.filter(v),n}}}};return i}function XE(t){t===void 0&&(t={});var e=ZE(null);return e.options=Xa({async:!0,ssr:!1},t),e}var qk=function(t){var e=t.sideCar,n=Hk(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=e.read();if(!r)throw new Error("Sidecar medium not found");return f.createElement(r,Xa({},n))};qk.isSideCarExport=!0;function JE(t,e){return t.useMedium(e),qk}var Wk=XE(),eh=function(){},Rp=f.forwardRef(function(t,e){var n=f.useRef(null),r=f.useState({onScrollCapture:eh,onWheelCapture:eh,onTouchMoveCapture:eh}),i=r[0],l=r[1],d=t.forwardProps,p=t.children,m=t.className,h=t.removeScrollBar,v=t.enabled,y=t.shards,x=t.sideCar,_=t.noRelative,S=t.noIsolation,k=t.inert,C=t.allowPinchZoom,A=t.as,P=A===void 0?"div":A,j=t.gapMode,E=Hk(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),F=x,z=YE([n,e]),q=Xa(Xa({},E),i);return f.createElement(f.Fragment,null,v&&f.createElement(F,{sideCar:Wk,removeScrollBar:h,shards:y,noRelative:_,noIsolation:S,inert:k,setCallbacks:l,allowPinchZoom:!!C,lockRef:n,gapMode:j}),d?f.cloneElement(f.Children.only(p),Xa(Xa({},q),{ref:z})):f.createElement(P,Xa({},q,{className:m,ref:z}),p))});Rp.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Rp.classNames={fullWidth:Mu,zeroRight:Ou};var eR=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function tR(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=eR();return e&&t.setAttribute("nonce",e),t}function nR(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function oR(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var aR=function(){var t=0,e=null;return{add:function(n){t==0&&(e=tR())&&(nR(e,n),oR(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},rR=function(){var t=aR();return function(e,n){f.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&n])}},Gk=function(){var t=rR(),e=function(n){var r=n.styles,i=n.dynamic;return t(r,i),null};return e},sR={left:0,top:0,right:0,gap:0},th=function(t){return parseInt(t||"",10)||0},iR=function(t){var e=window.getComputedStyle(document.body),n=e[t==="padding"?"paddingLeft":"marginLeft"],r=e[t==="padding"?"paddingTop":"marginTop"],i=e[t==="padding"?"paddingRight":"marginRight"];return[th(n),th(r),th(i)]},lR=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return sR;var e=iR(t),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,r-n+e[2]-e[0])}},cR=Gk(),tl="data-scroll-locked",dR=function(t,e,n,r){var i=t.left,l=t.top,d=t.right,p=t.gap;return n===void 0&&(n="margin"),` 14 .`.concat(qE,` { 15 overflow: hidden `).concat(r,`; 16 padding-right: `).concat(p,"px ").concat(r,`; 17 } 18 body[`).concat(tl,`] { 19 overflow: hidden `).concat(r,`; 20 overscroll-behavior: contain; 21 `).concat([e&&"position: relative ".concat(r,";"),n==="margin"&&` 22 padding-left: `.concat(i,`px; 23 padding-top: `).concat(l,`px; 24 padding-right: `).concat(d,`px; 25 margin-left:0; 26 margin-top:0; 27 margin-right: `).concat(p,"px ").concat(r,`; 28 `),n==="padding"&&"padding-right: ".concat(p,"px ").concat(r,";
28")].filter(Boolean).join(""),` 29 } 30 31 .`).concat(Ou,` { 32 right: `).concat(p,"px ").concat(r,`; 33 } 34 35 .`).concat(Mu,` { 36 margin-right: `).concat(p,"px ").concat(r,`; 37 } 38 39 .`).concat(Ou," .").concat(Ou,` { 40 right: 0 `).concat(r,`; 41 } 42 43 .`).concat(Mu," .").concat(Mu,` { 44 margin-right: 0 `).concat(r,`; 45 } 46 47 body[`).concat(tl,`] { 48 `).concat(WE,": ").concat(p,`px; 49 } 50`)},Sb=function(){var t=parseInt(document.body.getAttribute(tl)||"0",10);return isFinite(t)?t:0},uR=function(){f.useEffect(function(){return document.body.setAttribute(tl,(Sb()+1).toString()),function(){var t=Sb()-1;t<=0?document.body.removeAttribute(tl):document.body.setAttribute(tl,t.toString())}},[])},pR=function(t){var e=t.noRelative,n=t.noImportant,r=t.gapMode,i=r===void 0?"margin":r;uR();var l=f.useMemo(function(){return lR(i)},[i]);return f.createElement(cR,{styles:dR(l,!e,i,n?"":"!important")})},ng=!1;if(typeof window<"u")try{var hu=Object.defineProperty({},"passive",{get:function(){return ng=!0,!0}});window.addEventListener("test",hu,hu),window.removeEventListener("test",hu,hu)}catch{ng=!1}var Bi=ng?{passive:!1}:!1,fR=function(t){return t.tagName==="TEXTAREA"},Kk=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!fR(t)&&n[e]==="visible")},mR=function(t){return Kk(t,"overflowY")},hR=function(t){return Kk(t,"overflowX")},Nb=function(t,e){var n=e.ownerDocument,r=e;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=Yk(t,r);if(i){var l=Qk(t,r),d=l[1],p=l[2];if(d>p)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gR=function(t){var e=t.scrollTop,n=t.scrollHeight,r=t.clientHeight;return[e,n,r]},yR=function(t){var e=t.scrollLeft,n=t.scrollWidth,r=t.clientWidth;return[e,n,r]},Yk=function(t,e){return t==="v"?mR(e):hR(e)},Qk=function(t,e){return t==="v"?gR(e):yR(e)},vR=function(t,e){return t==="h"&&e==="rtl"?-1:1},xR=function(t,e,n,r,i){var l=vR(t,window.getComputedStyle(e).direction),d=l*r,p=n.target,m=e.contains(p),h=!1,v=d>0,y=0,x=0;do{if(!p)break;var _=Qk(t,p),S=_[0],k=_[1],C=_[2],A=k-C-l*S;(S||A)&&Yk(t,p)&&(y+=A,x+=S);var P=p.parentNode;p=P&&P.nodeType===Node.DOCUMENT_FRAGMENT_NODE?P.host:P}while(!m&&p!==document.body||m&&(e.contains(p)||e===p));return(v&&Math.abs(y)<1||!v&&Math.abs(x)<1)&&(h=!0),h},gu=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},Pb=function(t){return[t.deltaX,t.deltaY]},Ab=function(t){return t&&"current"in t?t.current:t},wR=function(t,e){return t[0]===e[0]&&t[1]===e[1]},bR=function(t){return` 51 .block-interactivity-`.concat(t,` {pointer-events: none;} 52 .allow-interactivity-`).concat(t,` {pointer-events: all;} 53`)},_R=0,Vi=[];function kR(t){var e=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),i=f.useState(_R++)[0],l=f.useState(Gk)[0],d=f.useRef(t);f.useEffect(function(){d.current=t},[t]),f.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(i));var k=HE([t.lockRef.current],(t.shards||[]).map(Ab),!0).filter(Boolean);return k.forEach(function(C){return C.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),k.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(i))})}}},[t.inert,t.lockRef.current,t.shards]);var p=f.useCallback(function(k,C){if("touches"in k&&k.touches.length===2||k.type==="wheel"&&k.ctrlKey)return!d.current.allowPinchZoom;var A=gu(k),P=n.current,j="deltaX"in k?k.deltaX:P[0]-A[0],E="deltaY"in k?k.deltaY:P[1]-A[1],F,z=k.target,q=Math.abs(j)>Math.abs(E)?"h":"v";if("touches"in k&&q==="h"&&z.type==="range")return!1;var re=window.getSelection(),ee=re&&re.anchorNode,se=ee?ee===z||ee.contains(z):!1;if(se)return!1;var ae=Nb(q,z);if(!ae)return!0;if(ae?F=q:(F=q==="v"?"h":"v",ae=Nb(q,z)),!ae)return!1;if(!r.current&&"changedTouches"in k&&(j||E)&&(r.current=F),!F)return!0;var J=r.current||F;return xR(J,C,k,J==="h"?j:E)},[]),m=f.useCallback(function(k){var C=k;if(!(!Vi.length||Vi[Vi.length-1]!==l)){var A="deltaY"in C?Pb(C):gu(C),P=e.current.filter(function(F){return F.name===C.type&&(F.target===C.target||C.target===F.shadowParent)&&wR(F.delta,A)})[0];if(P&&P.should){C.cancelable&&C.preventDefault();return}
53if(!P){var j=(d.current.shards||[]).map(Ab).filter(Boolean).filter(function(F){return F.contains(C.target)}),E=j.length>0?p(C,j[0]):!d.current.noIsolation;E&&C.cancelable&&C.preventDefault()}}},[]),h=f.useCallback(function(k,C,A,P){var j={name:k,delta:C,target:A,should:P,shadowParent:CR(A)};e.current.push(j),setTimeout(function(){e.current=e.current.filter(function(E){return E!==j})},1)},[]),v=f.useCallback(function(k){n.current=gu(k),r.current=void 0},[]),y=f.useCallback(function(k){h(k.type,Pb(k),k.target,p(k,t.lockRef.current))},[]),x=f.useCallback(function(k){h(k.type,gu(k),k.target,p(k,t.lockRef.current))},[]);f.useEffect(function(){return Vi.push(l),t.setCallbacks({onScrollCapture:y,onWheelCapture:y,onTouchMoveCapture:x}),document.addEventListener("wheel",m,Bi),document.addEventListener("touchmove",m,Bi),document.addEventListener("touchstart",v,Bi),function(){Vi=Vi.filter(function(k){return k!==l}),document.removeEventListener("wheel",m,Bi),document.removeEventListener("touchmove",m,Bi),document.removeEventListener("touchstart",v,Bi)}},[]);var _=t.removeScrollBar,S=t.inert;return f.createElement(f.Fragment,null,S?f.createElement(l,{styles:bR(i)}):null,_?f.createElement(pR,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function CR(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const SR=JE(Wk,kR);var nd=f.forwardRef(function(t,e){return f.createElement(Rp,Xa({},t,{ref:e,sideCar:SR}))});nd.classNames=Rp.classNames;var NR=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},Hi=new WeakMap,yu=new WeakMap,vu={},nh=0,Zk=function(t){return t&&(t.host||Zk(t.parentNode))},PR=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=Zk(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},AR=function(t,e,n,r){var i=PR(e,Array.isArray(t)?t:[t]);vu[n]||(vu[n]=new WeakMap);var l=vu[n],d=[],p=new Set,m=new Set(i),h=function(y){!y||p.has(y)||(p.add(y),h(y.parentNode))};i.forEach(h);var v=function(y){!y||m.has(y)||Array.prototype.forEach.call(y.children,function(x){if(p.has(x))v(x);else try{var _=x.getAttribute(r),S=_!==null&&_!=="false",k=(Hi.get(x)||0)+1,C=(l.get(x)||0)+1;Hi.set(x,k),l.set(x,C),d.push(x),k===1&&S&&yu.set(x,!0),C===1&&x.setAttribute(n,"true"),S||x.setAttribute(r,"true")}catch(A){console.error("aria-hidden: cannot operate on ",x,A)}})};return v(e),p.clear(),nh++,function(){d.forEach(function(y){var x=Hi.get(y)-1,_=l.get(y)-1;Hi.set(y,x),l.set(y,_),x||(yu.has(y)||y.removeAttribute(r),yu.delete(y)),_||y.removeAttribute(n)}),nh--,nh||(Hi=new WeakMap,Hi=new WeakMap,yu=new WeakMap,vu={})}},Op=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),i=NR(t);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live], script"))),AR(r,i,n,"aria-hidden")):function(){return null}},TR=Object.defineProperty,Bo=(t,e)=>TR(t,"name",{value:e,configurable:!0}),ly="Dialog",[Xk,Jk]=qn(ly),[jR,Ma]=Xk(ly),Mp=Bo(t=>{const{__scopeDialog:e,children:n,open:r,defaultOpen:i,onOpenChange:l,modal:d=!0}=t,p=f.useRef(null),m=f.useRef(null),[h,v]=zo({prop:r,defaultProp:i??!1,onChange:l,caller:ly}),[y,x]=f.useState(0),[_,S]=f.useState(0);return a.jsx(jR,{scope:e,triggerRef:p,contentRef:m,contentId:sa(),titleId:sa(),descriptionId:sa(),titlePresent:y>0,descriptionPresent:_>0,setTitleCount:x,setDescriptionCount:S,open:h,onOpenChange:v,onOpenToggle:f.useCallback(()=>v(k=>!k),[v]),modal:d,children:n})},"Dialog"),IR="DialogTrigger",eC=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,...i}=e,l=Ma(IR,r),d=ct(n,l.triggerRef);return a.jsx(Qe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":Fp(l.open),...i,ref:d,onClick:Ce(e.onClick,l.onOpenToggle)})},"DialogTrigger")),tC="DialogPortal",[ER,nC]=Xk(tC,{forceMount:void 0}),Lp=Bo(t=>{const{__scopeDialog:e,forceMount:n,children:r,container:i}=t,l=Ma(tC,e);return a.jsx(ER,{scope:e,forceMount:n,children:f.Children.map(r,d=>
53a.jsx(lo,{present:n||l.open,children:a.jsx(_l,{asChild:!0,container:i,children:d})}))})},"DialogPortal"),og="DialogOverlay",od=f.forwardRef(Bo(function(e,n){const r=nC(og,e.__scopeDialog),{forceMount:i=r.forceMount,...l}=e,d=Ma(og,e.__scopeDialog);return d.modal?a.jsx(lo,{present:i||d.open,children:a.jsx(OR,{...l,ref:n})}):null},"DialogOverlay")),RR=Ta("DialogOverlay.RemoveScroll"),OR=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,...i}=e,l=Ma(og,r),d=M_(),p=ct(n,d);return a.jsx(nd,{as:RR,allowPinchZoom:!0,shards:[l.contentRef],children:a.jsx(Qe.div,{"data-state":Fp(l.open),...i,ref:p,style:{pointerEvents:"auto",...i.style}})})},"DialogOverlayImpl")),Ac="DialogContent",Nl=f.forwardRef(Bo(function(e,n){const r=nC(Ac,e.__scopeDialog),{forceMount:i=r.forceMount,...l}=e,d=Ma(Ac,e.__scopeDialog);return a.jsx(lo,{present:i||d.open,children:d.modal?a.jsx(MR,{...l,ref:n}):a.jsx(LR,{...l,ref:n})})},"DialogContent")),MR=f.forwardRef(Bo(function(e,n){const r=Ma(Ac,e.__scopeDialog),i=f.useRef(null),l=ct(n,r.contentRef,i);return f.useEffect(()=>{const d=i.current;if(d)return Op(d)},[]),a.jsx(oC,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:r.open,onCloseAutoFocus:Ce(e.onCloseAutoFocus,d=>{d.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,d=>{const p=d.detail.originalEvent,m=p.button===0&&p.ctrlKey===!0;(p.button===2||m)&&d.preventDefault()}),onFocusOutside:Ce(e.onFocusOutside,d=>d.preventDefault())})},"DialogContentModal")),LR=f.forwardRef(Bo(function(e,n){const r=Ma(Ac,e.__scopeDialog),i=f.useRef(!1),l=f.useRef(!1);return a.jsx(oC,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:d=>{e.onCloseAutoFocus?.(d),d.defaultPrevented||(i.current||r.triggerRef.current?.focus(),d.preventDefault()),i.current=!1,l.current=!1},onInteractOutside:d=>{e.onInteractOutside?.(d),d.defaultPrevented||(i.current=!0,d.detail.originalEvent.type==="pointerdown"&&(l.current=!0));const p=d.target;r.triggerRef.current?.contains(p)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.current&&d.preventDefault()}})},"DialogContentNonModal")),oC=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:l,onCloseAutoFocus:d,...p}=e,m=Ma(Ac,r);return Sl(),a.jsx(a.Fragment,{children:a.jsx(Ep,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:l,onUnmountAutoFocus:d,children:a.jsx(si,{role:"dialog",id:m.contentId,"aria-describedby":m.descriptionPresent?m.descriptionId:void 0,"aria-labelledby":m.titlePresent?m.titleId:void 0,"data-state":Fp(m.open),...p,ref:n,deferPointerDownOutside:!0,onDismiss:()=>m.onOpenChange(!1)})})})},"DialogContentImpl")),DR="DialogTitle",Pl=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,...i}=e,l=Ma(DR,r),{setTitleCount:d}=l;return Xt(()=>(d(p=>p+1),()=>d(p=>p-1)),[d]),a.jsx(Qe.h2,{id:l.titleId,...i,ref:n})},"DialogTitle")),FR="DialogDescription",Al=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,...i}=e,l=Ma(FR,r),{setDescriptionCount:d}=l;return Xt(()=>(d(p=>p+1),()=>d(p=>p-1)),[d]),a.jsx(Qe.p,{id:l.descriptionId,...i,ref:n})},"DialogDescription")),UR="DialogClose",Dp=f.forwardRef(Bo(function(e,n){const{__scopeDialog:r,...i}=e,l=Ma(UR,r);return a.jsx(Qe.button,{type:"button",...i,ref:n,onClick:Ce(e.onClick,()=>l.onOpenChange(!1))})},"DialogClose"));function Fp(t){return t?"open":"closed"}Bo(Fp,"getState");const $R=Mp,zR=Lp,aC=f.forwardRef(({className:t,...e},n)=>a.jsx(od,{className:ge("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",t),...e,ref:n}));aC.displayName=od.displayName;const BR=gl("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"}}),rC=f.forwardRef(({side:t="right",className:e,children:n,...r},i)=>a.jsxs(zR,{children:[a.jsx(aC,{}),a.jsxs(Nl,{ref:i,className:ge(BR({side:t}),e),...r,children:[n,a.jsxs(Dp,{className:"absolute right-4 top-4 roun
53ded-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:[a.jsx(tr,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));rC.displayName=Nl.displayName;const sC=({className:t,...e})=>a.jsx("div",{className:ge("flex flex-col space-y-2 text-center sm:text-left",t),...e});sC.displayName="SheetHeader";const iC=f.forwardRef(({className:t,...e},n)=>a.jsx(Pl,{ref:n,className:ge("text-lg font-semibold text-foreground",t),...e}));iC.displayName=Pl.displayName;const lC=f.forwardRef(({className:t,...e},n)=>a.jsx(Al,{ref:n,className:ge("text-sm text-muted-foreground",t),...e}));lC.displayName=Al.displayName;const VR="sidebar_state",HR=3600*24*7,Tb="sidebar_open",qR="16rem",WR="15rem",GR="3rem",KR="b",cC=f.createContext(null);function Up(){const t=f.useContext(cC);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function YR({defaultOpen:t=!0,open:e,onOpenChange:n,className:r,style:i,children:l,...d}){const p=ry(),[m,h]=f.useState(!1),[v,y]=f.useState(()=>{try{const A=localStorage.getItem(Tb);if(A!==null)return A==="true"}catch{}return t}),x=e??v,_=f.useCallback(A=>{const P=typeof A=="function"?A(x):A;n?n(P):y(P);try{localStorage.setItem(Tb,String(P))}catch{}document.cookie=`${VR}=${P}; path=/; max-age=${HR}`},[n,x]),S=f.useCallback(()=>p?h(A=>!A):_(A=>!A),[p,_,h]);f.useEffect(()=>{const A=P=>{P.key===KR&&(P.metaKey||P.ctrlKey)&&(P.preventDefault(),S())};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[S]);const k=x?"expanded":"collapsed",C=f.useMemo(()=>({state:k,open:x,setOpen:_,isMobile:p,openMobile:m,setOpenMobile:h,toggleSidebar:S}),[k,x,_,p,m,h,S]);return a.jsx(cC.Provider,{value:C,children:a.jsx(fc,{delayDuration:0,children:a.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":qR,"--sidebar-width-icon":GR,...i},className:ge("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",r),...d,children:l})})})}function QR({side:t="left",variant:e="sidebar",collapsible:n="offcanvas",className:r,children:i,...l}){const{isMobile:d,state:p,openMobile:m,setOpenMobile:h}=Up();return n==="none"?a.jsx("div",{"data-slot":"sidebar",className:ge("bg-sidebar text-sidebar-foreground flex h-full w-[var(--sidebar-width)] flex-col",r),...l,children:i}):d?a.jsx($R,{open:m,onOpenChange:h,...l,children:a.jsxs(rC,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-[var(--sidebar-width)] p-0 [&>button]:hidden",style:{"--sidebar-width":WR},side:t,onInteractOutside:v=>{document.querySelectorAll("[role='dialog']").length>1&&v.preventDefault()},onFocusOutside:v=>{document.querySelectorAll("[role='dialog']").length>1&&v.preventDefault()},children:[a.jsxs(sC,{className:"sr-only",children:[a.jsx(iC,{children:"Sidebar"}),a.jsx(lC,{children:"Displays the mobile sidebar."})]}),a.jsx("div",{className:"flex h-full w-full flex-col",children:i})]})}):a.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":p,"data-collapsible":p==="collapsed"?n:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[a.jsx("div",{"data-slot":"sidebar-gap",className:ge("relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+var(--spacing-4))]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]")}),a.jsx("div",{"data-slot":"sidebar-container",className:ge("fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] transition-[left,right,width] duration-200 ease-linear md:flex",t==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+var(--spacing-4)+2px)]":"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...l,children:a.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function ZR({className:t,onClick:e,...n}){const{toggleSidebar:r}=Up();return a.jsxs(je,{"data-sidebar":"trigger","data-slot":"sidebar-tr
53igger",variant:"ghost",size:"icon",className:ge("h-7 w-7",t),onClick:i=>{e?.(i),r()},...n,children:[a.jsx(LA,{}),a.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function XR({className:t,...e}){return a.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:ge("flex flex-col gap-2 p-2",t),...e})}function JR({className:t,...e}){return a.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:ge("flex flex-col gap-2 p-2",t),...e})}function e5({className:t,...e}){return a.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:ge("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...e})}function jb({className:t,...e}){return a.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:ge("relative flex w-full min-w-0 flex-col p-2",t),...e})}function Ib({className:t,...e}){return a.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:ge("w-full text-sm",t),...e})}function t5({className:t,...e}){return a.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:ge("flex w-full min-w-0 flex-col gap-1",t),...e})}function xu({className:t,...e}){return a.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:ge("group/menu-item relative",t),...e})}const n5=gl("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:w-8! group-data-[collapsible=icon]:h-8! group-data-[collapsible=icon]:p-2! group-data-[collapsible=icon]:justify-center! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-[16px]",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function wu({asChild:t=!1,isActive:e=!1,variant:n="default",size:r="default",tooltip:i,className:l,...d}){const p=t?q0:"button",{isMobile:m,state:h}=Up(),v=a.jsx(p,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":r,"data-active":e,className:ge(n5({variant:n,size:r}),l),...d});return i?(typeof i=="string"&&(i={children:i}),a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:v}),a.jsx(kr,{side:"right",align:"center",hidden:h!=="collapsed"||m,...i})]})):v}const ei="/assets/top-voice-logo-transparent-square_1777216254207-BBE-3RI5.png",cy="tv.copilot.hsbind.v1",o5=360*60*1e3;function dy(){try{const t=window.localStorage.getItem(cy);if(!t)return null;const e=JSON.parse(t);return!e||typeof e!="object"||typeof e.userId!="string"?null:{userId:e.userId,boundAt:typeof e.boundAt=="number"?e.boundAt:void 0,forcedAt:typeof e.forcedAt=="number"?e.forcedAt:void 0}}catch{return null}}function dC(t){try{window.localStorage.setItem(cy,JSON.stringify(t))}catch{}}function Eb(t,e=Date.now()){if(!t)return!1;const n=dy();return!n||n.userId!==t?!0:typeof n.boundAt=="number"?!1:typeof n.forcedAt!="number"?!0:e-n.forcedAt>=o5}function a5(t,e=Date.now()){if(!t)return;const n=dy(),r=n&&n.userId===t?n:null;dC({userId:t,boundAt:r?.boundAt,forcedAt:e})}function r5(t,e=Date.now()){if(!t)return;const n=dy(),r=n&&n.userId===t?n:null;dC({userId:t,boundAt:e,forcedAt:r?.forcedAt})}function s5(){try{window.localStorage.removeItem(cy)}catch{}}const i5="/api/copilot/chat/nonce",l5="/api/copilot/chat/bind",nl=[0,3e3,1e4,3e4];let ol=!1;const oa=new Set;function uC(t){for(const e of document.cookie.split(";")){const[n,...r]=e.trim().split("=");if(n===t)return decodeURIComponent(r.join("="))}return""}async function ag(t,e){const n=await fetch(t,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await n.json().catch(()=>({}));return{status:n.status,data:r}}async function c5(t,e=""){if(!t||oa.has(t)||ol)return!1;ol=!0;try{const n=await ag(i5,{});if(n.status!==200||typeof n.data?.nonce!="string")return oa.add(t),!1;const r=n.data.nonce,i=uC("hubspotutk");for(let l=0;l<nl.length;l++){nl[l]>0&&await new Promise(p=>setTimeout(p,nl[l]));const d=await ag(l5,{nonce:r,threadId:t,utk:i});if(d.status===200)return oa.add(t),r5(e),!0;if(d.status!==424)return oa.add(t),!1}return oa.add(t),!1}catch{return oa.add(t),!1}finally{ol=!1}}async function d5(t,e){if(!t||!e||oa.has(e)||ol)return!1;ol=!0;try{const n=uC("hubspotutk"),r=`/api/warmlike/hub/${encodeURIComponent(t)}/chat/bind`;for(let i=0;i<nl.length;i++){nl[i]>0&&await new Promise(d=>setTimeout(d,nl[i]));const l=await ag(r,{conversationId:e,utk:n});
53if(l.status===200)return oa.add(e),!0;if(l.status!==424)return oa.add(e),!1}return oa.add(e),!1}catch{return oa.add(e),!1}finally{ol=!1}}async function pC(t){const e=String(t||"").trim();if(e)try{await fetch("/api/copilot/chat/origin",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({conversationId:e})})}catch{}}function T8(t){let e=!1;const n=()=>{if(e)return;const i=window.HubSpotConversations;if(!i?.on)return;const l=d=>{const p=d?.conversation?.conversationId;p!=null&&(pC(String(p)),d5(t,String(p)))};i.on("conversationStarted",l),i.on("userSelectedThread",l)},r=window;return r.HubSpotConversations?.on?n():r.hsConversationsOnReady=Array.isArray(r.hsConversationsOnReady)?[...r.hsConversationsOnReady,n]:[n],()=>{e=!0}}function u5(t={bind:!0}){let e=!1;const n=()=>{if(e)return;const i=window.HubSpotConversations;if(!i?.on)return;const l=d=>{const p=d?.conversation?.conversationId;p!=null&&(pC(String(p)),t.bind&&c5(String(p),t.userId??""))};i.on("conversationStarted",l),i.on("userSelectedThread",l)},r=window;return r.HubSpotConversations?.on?n():r.hsConversationsOnReady=Array.isArray(r.hsConversationsOnReady)?[...r.hsConversationsOnReady,n]:[n],()=>{e=!0}}const p5=400,f5=12;function fC(t){const e=String(t||"").trim();if(!e||!Eb(e))return;let n=0;const r=()=>{try{const l=window.HubSpotConversations;if(!l?.widget?.status?.().loaded){n<f5&&(n+=1,setTimeout(r,p5));return}if(!Eb(e))return;a5(e),l.clear?.(),l.widget.refresh({openToNewThread:!0})}catch{}},i=window;i.HubSpotConversations?.widget?r():i.hsConversationsOnReady=Array.isArray(i.hsConversationsOnReady)?[...i.hsConversationsOnReady,r]:[r]}function mC(){s5(),oa.clear();try{window.HubSpotConversations?.clear?.()}catch{}}function m5(t){let e=5381;for(let n=0;n<t.length;n+=1)e=(e*33^t.charCodeAt(n))>>>0;return`hub:${e.toString(36)}`}function j8(t){const e=String(t||"").trim();e&&fC(m5(e))}async function h5(){const t=await fetch("/api/auth/user",{credentials:"include"});if(t.status===401)return null;if(!t.ok)throw new Error(`${t.status}: ${t.statusText}`);return t.json()}function Fr(){const t=xl(),{data:e,isLoading:n}=Qt({queryKey:["/api/auth/user"],queryFn:h5,retry:!1,staleTime:1e3*60*5}),r=Ca({mutationFn:async({email:d,password:p})=>{const m=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:d,password:p})});if(!m.ok){const h=await m.json();throw new Error(h.message||"Login failed")}return m.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["/api/auth/user"]})}}),i=Ca({mutationFn:async({email:d,password:p,referralCode:m,setupToken:h})=>{const v=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:d,password:p,referralCode:m,setupToken:h})});if(!v.ok){const y=await v.json();throw new Error(y.message||"Registration failed")}return v.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["/api/auth/user"]})}}),l=Ca({mutationFn:async()=>{await fetch("/api/auth/logout",{method:"POST",credentials:"include"})},onSuccess:()=>{mC(),t.setQueryData(["/api/auth/user"],null),t.invalidateQueries({queryKey:["/api/auth/user"]})}});return{user:e,isLoading:n,isAuthenticated:!!e,login:r.mutateAsync,loginError:r.error?.message||null,isLoggingIn:r.isPending,register:i.mutateAsync,registerError:i.error?.message||null,isRegistering:i.isPending,logout:l.mutate,isLoggingOut:l.isPending}}var g5=Object.defineProperty,Rr=(t,e)=>g5(t,"name",{value:e,configurable:!0}),hC="Avatar",[y5,I8]=qn(hC),v5=[0,()=>{}],[x5,gC]=y5(hC),yC=f.forwardRef(Rr(function(e,n){const{__scopeAvatar:r,...i}=e,[l,d]=f.useState("idle"),[p,m]=bC();return a.jsx(x5,{scope:r,imageLoadingStatus:l,setImageLoadingStatus:d,imageCount:p,setImageCount:m,children:a.jsx(Qe.span,{...i,ref:n})})},"Avatar")),w5="AvatarImage",vC=f.forwardRef(Rr(function(e,n){const{__scopeAvatar:r,src:i,onLoadingStatusChange:l,...d}=e,p=gC(w5,r);p.setImageCount;const m=wC(i,{referrerPolicy:d.referrerPolicy,crossOrigin:d.crossOrigin,loadingStatus:p.imageLoadingStatus,set
53LoadingStatus:p.setImageLoadingStatus}),h=Jn(y=>{l?.(y)}),v=f.useRef(m);return Xt(()=>{const y=v.current;v.current=m,m!==y&&h(m)},[m,h]),m==="loaded"?a.jsx(Qe.img,{...d,ref:n,src:i}):null},"AvatarImage")),b5="AvatarFallback",xC=f.forwardRef(Rr(function(e,n){const{__scopeAvatar:r,delayMs:i,...l}=e,d=gC(b5,r),[p,m]=f.useState(i===void 0);return f.useEffect(()=>{if(i!==void 0){const h=window.setTimeout(()=>m(!0),i);return()=>window.clearTimeout(h)}},[i]),p&&d.imageLoadingStatus!=="loaded"?a.jsx(Qe.span,{...l,ref:n}):null},"AvatarFallback"));function wC(t,{loadingStatus:e,setLoadingStatus:n,referrerPolicy:r,crossOrigin:i}){return Xt(()=>{if(!t){n("error");return}const l=new window.Image,d=Rr(m=>{const h=m.currentTarget;n(rg(h))},"handleLoad"),p=Rr(()=>n("error"),"handleError");return l.addEventListener("load",d),l.addEventListener("error",p),r&&(l.referrerPolicy=r),l.crossOrigin=i??null,l.src=t,n(rg(l)),()=>{l.removeEventListener("load",d),l.removeEventListener("error",p),n("idle")}},[t,i,r,n]),e}Rr(wC,"useImageLoadingStatus");function rg(t){return t.complete?t.naturalWidth>0?"loaded":"error":"loading"}Rr(rg,"getImageLoadingStatus");function bC(){return v5}Rr(bC,"useImageCount");function _5(t){}Rr(_5,"useUpdateImageCount");const Ju=f.forwardRef(({className:t,...e},n)=>a.jsx(yC,{ref:n,className:ge(` 54 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 55 relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full`,t),...e}));Ju.displayName=yC.displayName;const k5=f.forwardRef(({className:t,...e},n)=>a.jsx(vC,{ref:n,className:ge("aspect-square h-full w-full",t),...e}));k5.displayName=vC.displayName;const ep=f.forwardRef(({className:t,...e},n)=>a.jsx(xC,{ref:n,className:ge("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...e}));ep.displayName=xC.displayName;const C5=gl("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 Ao({className:t,variant:e,...n}){return a.jsx("div",{className:ge(C5({variant:e}),t),...n})}var S5=Object.defineProperty,vs=(t,e)=>S5(t,"name",{value:e,configurable:!0}),uy="Switch",[N5,E8]=qn(uy),[P5,py]=N5(uy);function _C(t){const{__scopeSwitch:e,checked:n,children:r,defaultChecked:i,disabled:l,form:d,name:p,onCheckedChange:m,required:h,value:v="on",internal_do_not_use_render:y}=t,[x,_]=zo({prop:n,defaultProp:i??!1,onChange:m,caller:uy}),[S,k]=f.useState(null),[C,A]=f.useState(null),P=f.useRef(!1),[j,E]=f.useReducer(q=>q+1,0),F=S?!!d||!!S.closest("form"):!0,z={checked:x,setChecked:_,disabled:l,control:S,setControl:k,name:p,form:d,value:v,hasConsumerStoppedPropagationRef:P,userInteractionCount:j,onUserInteraction:E,required:h,defaultChecked:i,isFormControl:F,bubbleInput:C,setBubbleInput:A};return a.jsx(P5,{scope:e,...z,children:CC(y)?y(z):r})}vs(_C,"SwitchProvider");var A5="SwitchTrigger",T5=f.forwardRef(vs(function({__scopeSwitch:e,onClick:n,...r},i){const{control:l,form:d,value:p,disabled:m,checked:h,required:v,setControl:y,setChecked:x,hasConsumerStoppedPropagationRef:_,onUserInteraction:S,isFormControl:k,bubbleInput:C}=py(A5,e),A=ct(i,y),P=f.useRef(h);return f.useEffect(()=>{const j=d?l?.ownerDocument.getElementById(d):l?.form;if(j instanceof HTMLFormElement){const E=vs(()=>x(P.current),"reset");return j.addEventListener("reset",E),()=>j.removeEventListener("reset",E)}},[l,d,x]),a.jsx(Qe.button,{type:"button",role:"switch","aria-checked":h,"aria-required":v,"data-state":fy(h),"data-disabled":m?"":void 0,disabled:m,value:p,...r,ref:A,onClick:Ce(n,j=>{S(),x(E=>!E),C&&k&&(_.current=j.isPropagationStopped(),_.current||j.stopPropagation())})})},"SwitchTrigger")),kC=f.forwardRef(vs(function(e,n){const{__scopeSwitch:r,name:i,checked:l,defaultChecked:d,required:p,disabled:m,value:h,onCheckedChange:v,form:y,...x}=e;return a.jsx(_C,{__scopeSwitch:r,checked:l,defaultChecked:d,disabled:m,required:p,onCheckedChange:v,name:i,form:y,value:h,internal_do_not_use_render:({isFormControl:_})=>a.jsxs(a.Fragment,{children:[a.jsx(T5,{...x,ref:n,__scopeSwitch:r}),_&&a.jsx(R5,{__scopeSwitch:r})]})})},"Switch")),j5="SwitchThumb",I5=f.forwardRef(vs(function(e,n){const{__scopeSwitch:r,...i}=e,l=py(j5,r);return a.jsx(Qe.span,{"data-state":fy(l.checked),"data-disabled":l.disabled?"":void 0,...i,ref:n})},"SwitchThumb")),E5="SwitchBubbleInput",R5=f.forwardRef(vs(function({__scopeSwitch:e,onClick:n,...r},i){const{control:l,hasConsumerStoppedPropagationRef:d,userInteractionCount:p,checked:m,defaultChecked:h,required:v,disabled:y,name:x,value:_,form:S,bubbleInput:k,setBubbleInput:C}=py(E5,e),A=ct(i,C),P=Tp(l),j=f.useRef(!1),E=f.useRef(m),F=f.useRef(p);f.useEffect(()=>{const q=k;if(!q)return;const re=window.HTMLInputElement.prototype,se=Object.getOwnPropertyDescriptor(re,"checked").set,ae=p!==F.current;F.current=p;const J=E.current!==m;E.current=m;const Y=!(ae&&d.current);if(J&&se){j.current=!ae;const ie=new Event("click",{bubbles:Y});se.call(q,m),q.dispatchEvent(ie),j.current=!1}},[k,m,d,p]);const z=f.useRef(m);return a.jsx(Qe.input,{type:"checkbox","aria-hidden":!0,defaultChecked:h??z.current,required:v,disabled:y,name:x,value:_,form:S,...r,tabIndex:-1,ref:A,onClick:Ce(n,q=>{j.current&&q.stopPropagation()}),style:{...r.style,...P,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})}
55,"SwitchBubbleInput"));function CC(t){return typeof t=="function"}vs(CC,"isFunction");function fy(t){return t?"checked":"unchecked"}vs(fy,"getState");const my=f.forwardRef(({className:t,...e},n)=>a.jsx(kC,{className:ge("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",t),...e,ref:n,children:a.jsx(I5,{className:ge("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 rtl:data-[state=checked]:-translate-x-5")})}));my.displayName=kC.displayName;const Ia=Mp,SC=eC,O5=Lp,NC=f.forwardRef(({className:t,...e},n)=>a.jsx(od,{ref:n,className:ge("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",t),...e}));NC.displayName=od.displayName;const ia=f.forwardRef(({className:t,children:e,hideClose:n,...r},i)=>a.jsxs(O5,{children:[a.jsx(NC,{}),a.jsxs(Nl,{ref:i,className:ge("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",t),...r,children:[e,!n&&a.jsxs(Dp,{className:"absolute right-4 top-4 roun
55ded-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:[a.jsx(tr,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ia.displayName=Nl.displayName;const ar=({className:t,...e})=>a.jsx("div",{className:ge("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});ar.displayName="DialogHeader";const hy=({className:t,...e})=>a.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});hy.displayName="DialogFooter";const la=f.forwardRef(({className:t,...e},n)=>a.jsx(Pl,{ref:n,className:ge("text-lg font-semibold leading-none tracking-tight",t),...e}));la.displayName=Pl.displayName;const rr=f.forwardRef(({className:t,...e},n)=>a.jsx(Al,{ref:n,className:ge("text-sm text-muted-foreground",t),...e}));rr.displayName=Al.displayName;function M5(t,e){f.useEffect(()=>{if(!t)return;const n=new Date(t).getTime();if(!Number.isFinite(n))return;const r=()=>{Date.now()>n&&e()};document.addEventListener("visibilitychange",r);const i=setInterval(r,6e4);return()=>{document.removeEventListener("visibilitychange",r),clearInterval(i)}},[t,e])}const L5=["/api/performance-plan/status"];function D5(t={}){const e=Jt(),{toast:n}=Oa(),{enabled:r=!0,marketingDefaultOn401:i,redirectToAuthOn401:l=!1,persistCheckoutEngagers:d=!1,onNeedsAdminVerification:p}=t,m=f.useRef(p);m.current=p;const h="marketingDefaultOn401"in t,[v,y]=f.useState(!1),x=Qt({queryKey:L5,enabled:r,queryFn:async({queryKey:$})=>{const H=await fetch($.join("/"),{credentials:"include"});if(H.status===401&&h)return i??null;if(!H.ok){const O=await H.text()||H.statusText;throw new Error(`${H.status}: ${O}`)}return await H.json()}}),_=x.data??null,S=x.isLoading,k=f.useRef(t.onAfterReload);k.current=t.onAfterReload;const C=f.useRef(null),A=f.useCallback(async()=>{if(C.current)return C.current;const $=(async()=>{try{await x.refetch()}catch{}try{k.current?.()}catch{}})().finally(()=>{C.current=null});return C.current=$,$},[x.refetch]),P=_?.currentPeriodEnd??null;M5(P,A);const j=f.useCallback(async($,H)=>{y(!0);try{const O=H?.rentedOnly??!1,T=H?.setupRental??!1;if(O){const ye=await fetch("/api/rentals/checkout",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({successPath:"/grow?rental=success&setupAsset=1",cancelPath:"/grow?perfPlan=cancelled"})});if(ye.status===401&&l){window.location.href="/auth";return}const M=await ye.json().catch(()=>({}));if(M?.url){window.location.href=M.url;return}if(ye.ok&&M?.applied==="immediate"){window.location.href="/grow?rental=success&setupAsset=1&inPlace=1";return}n({title:e("toast.plan.checkoutFailed.title"),description:M?.error||e("toast.common.tryAgain2"),variant:"destructive"});return}const B=H?.noTrial??O,ue=await fetch("/api/performance-plan/checkout",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({engagers:$,noTrial:B,setupRental:T,successPath:O||T?"/grow?perfPlan=success&setupRental=1":"/grow?perfPlan=success",cancelPath:"/grow?perfPlan=cancelled"})});if(ue.status===401&&l){window.location.href="/auth";return}const xe=await ue.json().catch(()=>({}));if(xe?.url){if(d)try{sessionStorage.setItem("tv_perf_checkout_engagers",String($))}catch{}window.location.href=xe.url;return}n({title:e("toast.plan.checkoutFailed.title"),description:xe?.error||e("toast.common.tryAgain2"),variant:"destructive"})}catch(O){n({title:e("toast.common.networkError"),description:O?.message,variant:"destructive"})}finally{y(!1)}},[n,l,d]),E=f.useCallback(async $=>{y(!0);try{const O=await(await fetch("/api/performance-plan/switch-from-legacy",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({engagers:$})})).json().catch(()=>({}));if(O?.url){window.location.href=O.url;return}n({title:e("toast.plan.switchFailed.title"),description:O?.error||e("toast.common.tryAgain2"),variant:"destructive"})}catch(H){n({title:e("toast.common.networkError"),description:H?.message,variant:"destructive"})}finally{y(!1)}},[n]),F=f.useCallback(async($,H)=>{const O=_;if(!O?.hasPerfPlan)return j($);const T=!!O.freeTrialActive&&!O.currentPeriodEnd;if(T&&$>(O.engagers??0)||!O.currentPeriodEnd&&!T)return j($);if(O.engagers!==$){y(!0);try{const G=await(await fetch("/api/performance-plan/update-engagers",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({engagers:$,allowZeroOwn:H?.allowZeroOwn===!0})})).json().catch(()=>({}));G?.ok?(n({title:G.applied==="immediate"?"Upgraded":"Downgrade scheduled",description:G.applied==="immediate"?`Now at ~${$.toLocaleStr
55ing()} engagers/mo.`:"Will drop on next renewal."}),await A()):n({title:e("toast.plan.updateFailed.title"),description:G?.error||e("toast.common.tryAgain2"),variant:"destructive"})}catch(B){n({title:e("toast.common.networkError"),description:B?.message,variant:"destructive"})}finally{y(!1)}}},[_,j,A,n]),z=f.useCallback(async($,H,O)=>{const T=H&&H>=1?Math.min(20,Math.floor(H)):1;y(!0);try{const B=await fetch(`/api/performance-plan/${$}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({count:T})}),G=await B.json().catch(()=>({}));if(B.status===409&&(G?.noPlan||G?.needsCheckout)&&$==="add-pile"){y(!1);const ue=O?.targetEngagers??G.suggestedEngagers??T*100;return j(ue,{setupRental:O?.setupRental})}if(G?.ok){const ue=G.applied==="immediate"?G.engagers:G.pendingEngagers,xe=typeof ue=="number"?Math.max(1,Math.ceil(ue/500)):null,ye=xe!=null?G.applied==="immediate"?`Now at ${xe} account${xe>1?"s":""}.`:`Will drop to ${xe} account${xe>1?"s":""} on next renewal.`:void 0;n({title:$==="add-pile"?"Account pile added":"Pile removal scheduled",description:ye}),await A()}else n({title:e("toast.plan.tryAgain.title"),description:G?.error||e("toast.common.tryAgain2"),variant:"destructive"})}catch(B){n({title:e("toast.common.networkError"),description:B?.message,variant:"destructive"})}finally{y(!1)}},[A,n,j]),q=f.useCallback(async($,H)=>{y(!0);try{const O=await fetch("/api/performance-plan/remove-account",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({accountId:$,accountSource:H})}),T=await O.json().catch(()=>({}));if(O.ok&&T?.ok){const B=T.applied==="immediate"?T.engagers:T.pendingEngagers,G=typeof B=="number"?Math.max(1,Math.ceil(B/500)):null,ue=Array.isArray(T.pausedCampaignIds)?T.pausedCampaignIds.length:0,xe=[];ue>0&&xe.push(`Paused ${ue} campaign${ue===1?"":"s"}.`),G!=null&&xe.push(T.applied==="immediate"?`Now at ${G} account${G>1?"s":""}.`:`Plan drops to ${G} account${G>1?"s":""} on next renewal.`),n({title:e("toast.common.accountRemovalScheduled"),description:xe.join(" ")||void 0}),await A()}else n({title:e("toast.common.removeFailed"),description:T?.error||`HTTP ${O.status}`,variant:"destructive"})}catch(O){n({title:e("toast.common.networkError"),description:O?.message,variant:"destructive"})}finally{y(!1)}},[A,n]),re=f.useCallback(async($,H)=>{if(confirm(`Remove "${H}" from your Performance Plan? The campaign will be paused (not deleted) and the slot will be freed up.`)){y(!0);try{const O=await fetch("/api/performance-plan/uncover-campaign",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:$})}),T=await O.json().catch(()=>({}));if(!O.ok||!T?.ok){n({title:e("toast.plan.couldntFreeSlot.title"),description:T?.error||`HTTP ${O.status}`,variant:"destructive"});return}n({title:e("toast.plan.slotFreed.title"),description:e("toast.plan.slotFreed.body",{campaignName:H})}),await A();const B=(_?.accountsNeeded??0)<=1;T.remainingOnAccount===0&&T.accountId&&!B&&confirm("This was the last campaign on that LinkedIn account. Also remove the account from your plan? (drops 1 account on next renewal â your plan won't change today.)")&&await q(T.accountId,T.accountSource??null)}catch(O){n({title:e("toast.common.networkError"),description:O?.message,variant:"destructive"})}finally{y(!1)}}},[A,n,q,_]),ee=f.useCallback(async()=>{if(confirm("Cancel Performance Plan at period end?")){y(!0);try{const H=await(await fetch("/api/performance-plan/cancel",{method:"POST",credentials:"include"})).json().catch(()=>({}));H?.ok?(n({title:e("toast.plan.willCancelPeriodEnd.title")}),await A()):n({title:e("toast.common.cancelFailed"),description:H?.error,variant:"destructive"})}finally{y(!1)}}},[A,n]),se=f.useCallback(async()=>{if(confirm("Cancel the scheduled downgrade and keep your current plan?")){y(!0);try{const H=await(await fetch("/api/performance-plan/cancel-downgrade",{method:"POST",credentials:"include"})).json().catch(()=>({}));H?.ok?(n({title:e("toast.plan.downgradeCancelled.title"),description:e("toast.plan.downgradeCancelled.body")}),await A()):n({title:e("toast.plan.couldntCancelDowngrade.title"),description:H?.error,variant:"destructive"})}finally{y(!1)}}},[A,n]),ae=f.useCallback(async()=>{y(!0);try{const H=await(await fetch("/api/performance-plan/resume",{method:"POST",credentials:"include"})).json().catch(()=>({}));H?.ok?(n({title:e("toast.plan.subscriptionResumed.title")}),await A()):n({title:e("toast.common.resumeFailed"),description:H?.error,variant:"destructive"})}finally{y(!1)}},[A,n]),J=f.useCallback(async($,H)=>{y(!0);try{const O=await fetch("/api/performance-plan/clone-campaign",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(H?{campaignId:$,targetAccountId:H}:{campaignId:$})}),T=await O.json().catch(()=>({}));if(T?.needsAdminVerification){const B=T?.organizationUrn??null,G=T?.accountId??H;return H&&m.current?.({kind:"copy",campaignId:$,targetAccountId:H,organizationUrn:B,followed:T?.followed??!1,pageName:T?.pageName??null}),{ok:!1,needsAdminVerification:!0,organizationUrn:B,accountId:G}}if(O.ok&&T?.ok){const B=Array.isArray(T?.warnings)?T.warnings:[];B.length>0?n({title:e("toast.plan.clonedWithWarnings.title"),description:e("toast.plan.clonedWithWarnings.body",{name:T?.name||"copy",warnings:B.join(" ")}),variant:"destructive"}):T?.assignedToAccount?n({title:e("toast.plan.campaignCopied.title"),description:T?.name?`Created "${T.name}" on the selected account â launch it when you're ready.`:"Copied onto the selected account â launch it when you're ready."}):n({title:e("toast.plan.campaignCloned.title"),description:T?.name?`Created "${T.name}" as an unassigned campaign â scroll down in the accounts panel to assign it.`:"Clone created as an unassigned campaign â scroll down in the accounts panel to assign it."});try{Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]})}catch{}await A();try{window.dispatchEvent(new Event("visibility-campaigns-changed"))}catch{}return{ok:!0}}else{const B=T?.error||`HTTP ${O.status}`;return n({title:e("toast.plan.cloneFailed.title"),description:B,variant:"destructive"}),{ok:!1,error:B}}}catch(O){const T=O?.message||"Network error";return n({title:e("toast.common.networkError"),description:T,variant:"destructive"}),{ok:!1,error:T}}finally{y(!1)}},[A,n]),Y=f.useCallback(async $=>{const H=$?.manual===!0;try{const O=await fetch("/api/performance-plan/refresh-page-admins",{method:"POST",credentials:"include"}),T=await O.json().catch(()=>({}));if(O.ok&&T?.ok)(T?.granted??0)>0?(await A(),n({title:e("toast.plan.adminPermissionsRefreshed.title"),description:e("toast.plan.adminPermissionsRefreshed.body",{granted:T.granted,v1:T.granted===1?"":"s"})})):H&&(n({title:e("toast.plan.noNewPermissionsFound.title"),description:T?.checked?`Checked ${T.checked} account-page pair${T.checked===1?"":"s"}. None newly admin/content-admin.`:"Every connected account is already up to date."}),(T?.failed??0)>0&&n({title:e("toast.plan.someChecksFailed.title"),description:e("toast.plan.someChecksFailed.body",{failed:T.failed,v1:T.failed===1?"":"s"}),variant:"destructive"}));else if(!O.ok){const B=T?.error||`HTTP ${O.status}`;console.warn("[refreshPageAdmins]",B),H&&n({title:e("toast.plan.couldntRefreshAdminPermissions.title"),description:B,variant:"destructive"})}return T}catch(O){return console.warn("[refreshPageAdmins] network error:",O?.message),H&&n({title:e("toast.common.networkError"),description:O?.message||e("toast.plan.networkError2.bodyFallback"),variant:"destructive"}),null}},[A,n]),ie=f.useCallback(async $=>{y(!0);try{const H=await fetch("/api/performance-plan/detach-campaign",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:$})}),O=await H.json().catch(()=>({}));if(H.ok&&O?.ok){n({title:e("toast.plan.campaignMovedUnassigned.title")});try{Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]})}catch{}try{window.dispatchEvent(new Event("visibility-campaigns-changed"))}catch{}return await A(),{ok:!0}}const T=O?.error||`HTTP ${H.status}`;return n({title:e("toast.plan.failedMoveCampaign.title"),description:T,variant:"destructive"}),{ok:!1,error:T}}catch(H){const O=H?.message||"Network error";return n({title:e("toast.common.networkError"),description:O,variant:"destructive"}),{ok:!1,error:O}}finally{y(!1)}},[A,n]),Ne=f.useCallback(async($,H,O)=>{const T=O?.silent===!0;y(!0);try{const B=await fetch("/api/performance-plan/reassign-campaign",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:$,newAccountId:H})}),G=await B.json().catch(()=>({}));if(G?.needsAdminVerification){const xe=G?.organizationUrn??null,ye=G?.accountId??H;return m.current?.({kind:"move",campaignId:$,targetAccountId:H,organizationUrn:xe,followed:G?.followed??!1,pageName:G?.pageName??null}),{ok:!1,needsAdminVerification:!0,organizationUrn:xe,accountId:ye}}if(B.ok&&G?.ok){T||n({title:e("toast.plan.campaignReassigned.title")});try{Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]})}catch{}try{window.dispatchEvent(new Event("visibility-campaigns-changed"))}catch{}return await A(),{ok:!0}}const ue=G?.error||`HTTP ${B.status}`;return T||n({title:e("toast.plan.reassignFailed.title"),description:ue,variant:"destructive"}),{ok:!1,error:ue}}catch(B){const G=B?.message||"Network error";return T||n({title:e("toast.common.networkError"),description:G,variant:"destructive"}),{ok:!1,error:G}}finally{y(!1)}},[A,n]),R=f.useCallback(async($,H)=>{y(!0);try{const O=await fetch("/api/performance-plan/reassign-campaigns-bulk",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignIds:$,newAccountId:H})}),T=await O.json().catch(()=>({}));if(O.ok&&typeof T?.assigned=="number"){const G=Array.isArray(T.skipped)?T.skipped:[];try{Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]})}catch{}try{window.dispatchEvent(new Event("visibility-campaigns-changed"))}catch{}return await A(),{assigned:T.assigned,skipped:G}}const B=T?.error||`HTTP ${O.status}`;return await A(),{assigned:0,skipped:$.map(G=>({campaignId:G,error:B}))}}catch(O){const T=O?.message||"Network error";return{assigned:0,skipped:$.map(B=>({campaignId:B,error:T}))}}finally{y(!1)}},[A]),ce=f.useCallback(async($,H)=>{y(!0);try{const O=await fetch("/api/performance-plan/recover-campaign",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:$})}),T=await O.json().catch(()=>({}));O.ok&&T?.ok?(n({title:e("toast.plan.reCovered.title"),description:e("toast.plan.reCovered.body",{campaignName:H})}),await A()):n({title:e("toast.plan.couldntReCoverCampaign.title"),description:T?.error||`HTTP ${O.status}`,variant:"destructive"})}catch(O){n({title:e("toast.common.networkError"),description:O?.message,variant:"destructive"})}finally{y(!1)}},[A,n]);return{status:_,loading:S,busy:v,setBusy:y,reload:A,handleCheckout:j,handleSwitch:E,handleUpdateEngagers:F,pileAction:z,removeAccount:q,uncoverCampaign:re,cancelSub:ee,cancelDowngrade:se,resumeSub:ae,reassignCampaign:Ne,reassignCampaignsBulk:R,recoverCampaign:ce,cloneCampaign:J,detachCampaign:ie,refreshPageAdmins:Y}}var F5=Object.defineProperty,Ns=(t,e)=>F5(t,"name",{value:e,configurable:!0}),gy="Popover",[PC,R8]=qn(gy,[cr]),yy=cr(),[U5,Tl]=PC(gy),$5=Ns(t=>{const{__scopePopover:e,children:n,open:r,defaultOpen:i,onOpenChange:l,modal:d=!1}=t,p=yy(e),m=f.useRef(null),[h,v]=f.useState(!1),[y,x]=zo({prop:r,defaultProp:i??!1,onChange:l,caller:gy});return a.jsx(Jc,{...p,children:a.jsx(U5,{scope:e,contentId:sa(),triggerRef:m,open:y,onOpenChange:x,onOpenToggle:f.useCallback(()=>x(_=>!_),[x]),hasCustomAnchor:h,onCustomAnchorAdd:f.useCallback(()=>v(!0),[]),onCustomAnchorRemove:f.useCallback(()=>v(!1),[]),modal:d,children:n})})},"Popover"),z5="PopoverTrigger",B5=f.forwardRef(Ns(function(e,n){const{__scopePopover:r,...i}=e,l=Tl(z5,r),d=yy(r),p=ct(n,l.triggerRef),m=a.jsx(Qe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":vy(l.open),...i,ref:p,onClick:Ce(e.onClick,l.onOpenToggle)});return l.hasCustomAnchor?m:a.jsx(ed,{asChild:!0,...d,children:m})},"PopoverTrigger")),AC="PopoverPortal",[V5,H5]=PC(AC,{forceMount:void 0}),q5=Ns(t=>{const{__scopePopover:e,forceMount:n,children:r,container:i}=t,l=Tl(AC,e);return a.jsx(V5,{scope:e,forceMount:n,children:a.jsx(lo,{present:n||l.open,children:a.jsx(_l,{asChild:!0,container:i,children:r})})})},"PopoverPortal"),Tc="PopoverContent",W5=f.forwardRef(Ns(function(e,n){const r=H5(Tc,e.__scopePopover),{forceMount:i=r.forceMount,...l}=e,d=Tl(Tc,e.__scopePopover);return a.jsx(lo,{present:i||d.open,children:d.modal?a.jsx(K5,{...l,ref:n}):a.jsx(Y5,{...l,ref:n})})},"PopoverContent")),G5=Ta("PopoverContent.RemoveScroll"),K5=f.forwardRef(Ns(function(e,n){const r=Tl(Tc,e.__scopePopover),i=f.useRef(null),l=ct(n,i),d=f.useRef(!1);return f.useEffect(()=>{const p=i.current;
55if(p)return Op(p)},[]),a.jsx(nd,{as:G5,allowPinchZoom:!0,children:a.jsx(TC,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,p=>{p.preventDefault(),d.current||r.triggerRef.current?.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,p=>{const m=p.detail.originalEvent,h=m.button===0&&m.ctrlKey===!0,v=m.button===2||h;d.current=v},{checkForDefaultPrevented:!1}),onFocusOutside:Ce(e.onFocusOutside,p=>p.preventDefault(),{checkForDefaultPrevented:!1})})})},"PopoverContentModal")),Y5=f.forwardRef(Ns(function(e,n){const r=Tl(Tc,e.__scopePopover),i=f.useRef(!1),l=f.useRef(!1);return a.jsx(TC,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:d=>{e.onCloseAutoFocus?.(d),d.defaultPrevented||(i.current||r.triggerRef.current?.focus(),d.preventDefault()),i.current=!1,l.current=!1},onInteractOutside:d=>{e.onInteractOutside?.(d),d.defaultPrevented||(i.current=!0,d.detail.originalEvent.type==="pointerdown"&&(l.current=!0));const p=d.target;r.triggerRef.current?.contains(p)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.current&&d.preventDefault()}})},"PopoverContentNonModal")),TC=f.forwardRef(Ns(function(e,n){const{__scopePopover:r,trapFocus:i,onOpenAutoFocus:l,onCloseAutoFocus:d,disableOutsidePointerEvents:p,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:v,onInteractOutside:y,...x}=e,_=Tl(Tc,r),S=yy(r);return Sl(),a.jsx(Ep,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:l,onUnmountAutoFocus:d,children:a.jsx(si,{asChild:!0,disableOutsidePointerEvents:p,onInteractOutside:y,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:v,onDismiss:()=>_.onOpenChange(!1),deferPointerDownOutside:!0,children:a.jsx(td,{"data-state":vy(_.open),role:"dialog",id:_.contentId,...S,...x,ref:n,style:{...x.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)"}})})})},"PopoverContentImpl"));function vy(t){return t?"open":"closed"}Ns(vy,"getState");var Q5=$5,Z5=B5,X5=q5,jC=W5;const IC=Q5,EC=Z5,xy=f.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},i)=>a.jsx(X5,{children:a.jsx(jC,{ref:i,align:e,sideOffset:n,className:ge("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]",t),...r})}));xy.displayName=jC.displayName;var J5=Object.defineProperty,Or=(t,e)=>J5(t,"name",{value:e,configurable:!0}),oh,wy="HoverCard",[RC,O8]=qn(wy,[cr]),by=cr(),[e4,$p]=RC(wy),t4=Or(t=>{const{__scopeHoverCard:e,children:n,open:r,defaultOpen:i,onOpenChange:l,openDelay:d=700,closeDelay:p=300}=t,m=by(e),h=f.useRef(0),v=f.useRef(0),y=f.useRef(!1),x=f.useRef(!1),[_,S]=zo({prop:r,defaultProp:i??!1,onChange:l,caller:wy}),k=f.useCallback(()=>{clearTimeout(v.current),h.current=window.setTimeout(()=>S(!0),d)},[d,S]),C=f.useCallback(()=>{clearTimeout(h.current),!y.current&&!x.current&&(v.current=window.setTimeout(()=>S(!1),p))},[p,S]),A=f.useCallback(()=>S(!1),[S]);return f.useEffect(()=>()=>{clearTimeout(h.current),clearTimeout(v.current)},[]),a.jsx(e4,{scope:e,open:_,onOpenChange:S,onOpen:k,onClose:C,onDismiss:A,hasSelectionRef:y,isPointerDownOnContentRef:x,children:a.jsx(Jc,{...m,children:n})})},"HoverCard"),n4="HoverCardTrigger",o4=f.forwardRef(Or(function(e,n){const{__scopeHoverCard:r,...i}=e,l=$p(n4,r),d=by(r);return a.jsx(ed,{asChild:!0,...d,children:a.jsx(Qe.a,{"data-state":l.open?"open":"closed",...i,ref:n,onPointerEnter:Ce(e.onPointerEnter,jc(l.onOpen)),onPointerLeave:Ce(e.onPointerLeave,jc(l.onClose)),onFocus:Ce(e.onFocus,l.onOpen),onBlur:Ce(e.onBlur,l.onClose),onTouchStart:Ce(e.onTouchStart,p=>p.preventDefault())})})},"HoverCardTrigger")),OC="HoverCardPortal",[a4,r4]=RC(OC,{forceMount:void 0}),s4=Or(t=>{const{__scopeHoverCard:e,forceMount:n,children:r,container:i}=t,l=$p(OC,e);return a.jsx(a4,{scope:e,forceMount:n,children:a.jsx(lo,{present:n||l.open,children:a.jsx(_l,{asChild:!0,container:i,children:r})})})},"HoverCardPortal"),sg="HoverCardContent",i4=f.forwardRef(Or(function(e,n){const r=r4(sg,e.__scopeHoverCard),{forceMount:i=r.forceMount,...l}=e,d=$p(sg,e.__scopeHoverCard);return a.jsx(lo,{present:i||d.open,children:a.jsx(l4,{"data-state":d.open?"open":"closed",...l,onPointerEnter:Ce(e.onPointerEnter,jc(d.onOpen)),onPointerLeave:Ce(e.onPointerLeave,jc(d.onClose)),ref:n})})},"HoverCardContent")),l4=f.forwardRef(Or(function(e,n){const{__scopeHoverCard:r,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:d,onInteractOutside:p,...m}=e,h=$p(sg,r),v=by(r),y=f.useRef(null),x=ct(n,y),[_,S]=f.useState(!1);return f.useEffect(()=>{if(_){const k=document.body;return oh=k.style.userSelect||k.style.webkitUserSelect,k.style.userSelect="none",k.style.webkitUserSelect="none",()=>{k.style.userSelect=oh,k.style.webkitUserSelect=oh}}},[_]),f.useEffect(()=>{if(y.current){const k=Or(()=>{S(!1),h.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(h.hasSelectionRef.current=!0)})},"handlePointerUp");return document.addEventListener("pointerup",k),()=>{document.removeEventListener("pointerup",k),h.hasSelectionRef.current=!1,h.isPointerDownOnContentRef.current=!1}}},[h.isPointerDownOnContentRef,h.hasSelectionRef]),f.useEffect(()=>{y.current&&MC(y.current).forEach(C=>C.setAttribute("tabindex","-1"))}),a.jsx(si,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:p,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:Ce(d,k=>{k.preventDefault()}),onDismiss:h.onDismiss,children:a.jsx(td,{...v,...m,onPointerDown:Ce(m.onPointerDown,k=>{k.currentTarget.contains(k.target)&&S(!0),h.hasSelectionRef.current=!1,h.isPointerDownOnContentRef.current=!0}),ref:x,style:{...m.style,userSelect:_?"text":void 0,WebkitUserSelect:_?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})},"HoverCardContentImpl"));function jc(t){return e=>e.pointerType==="touch"?void 0:t()}Or(jc,"excludeTouch");function MC(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:Or(r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP,"acceptNode")});for(;n.nextNode();)e.push(n.currentNode);return e}Or(MC,"getTabbableNodes");var c4=t4,d4=o4,u4=s4,LC=i4;const Qi=c4,Zi=d4,Ks=f.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},i)=>a.jsx(u4,{children:a.jsx(LC,{ref:i,align:e,sideOffset:n,className:ge("z-50 w-64 roun
55ded-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-hover-card-content-transform-origin]",t),...r})}));Ks.displayName=LC.displayName;const p4="A unique person through the month who engaged with your appearances on prospects' posts â profile/page visits, post reactions, comments or shares, follows, button link click, or inbound messages.",f4="This is initial estimation after start, and numbers of engagers will grow almost exponentially!";function DC(){return a.jsxs(a.Fragment,{children:[p4," ",a.jsx("strong",{children:f4})]})}function m4({children:t="engagers"}){return a.jsxs(Qi,{children:[a.jsx(Zi,{asChild:!0,children:a.jsxs("span",{tabIndex:0,role:"button",className:"underline decoration-dotted underline-offset-2 cursor-help","data-testid":"hover-engagers-label",children:[t,"*"]})}),a.jsx(Ks,{className:"w-72 text-xs leading-relaxed font-normal text-foreground",children:a.jsx(DC,{})})]})}const Ic=f.forwardRef(({className:t,...e},n)=>a.jsx("textarea",{className:ge("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",t),ref:n,...e}));Ic.displayName="Textarea";var h4=Object.defineProperty,g4=(t,e)=>h4(t,"name",{value:e,configurable:!0}),y4=f.forwardRef(g4(function(e,n){return a.jsx(Qe.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}})},"Label")),FC=y4;const v4=gl("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),bn=f.forwardRef(({className:t,...e},n)=>a.jsx(FC,{ref:n,className:ge(v4(),t),...e}));bn.displayName=FC.displayName;function zp({open:t,onOpenChange:e}){const n=Jt(),[r,i]=f.useState(""),[l,d]=f.useState(""),[p,m]=f.useState(!1),[h,v]=f.useState(!1),[y,x]=f.useState("");f.useEffect(()=>{t&&(v(!1),x(""))},[t]);function _(C){p||e(C)}function S(){e(!1)}async function k(C){C.preventDefault(),x(""),m(!0);try{const A=await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:r,message:l})}),P=await A.json().catch(()=>({}));A.ok?(v(!0),i(""),d("")):x(P?.error||n("contact.error.failed"))}catch{x(n("contact.error.network"))}finally{m(!1)}}return a.jsx(Ia,{open:t,onOpenChange:_,children:a.jsxs(ia,{className:"max-w-md w-full",children:[a.jsx(la,{children:n("account.contact")}),a.jsx(rr,{children:n("contact.description")}),h?a.jsxs("div",{className:"py-6 text-center space-y-2",children:[a.jsx("p",{className:"text-sm font-medium",children:n("contact.sent.title")}),a.jsx("p",{className:"text-xs text-muted-foreground",children:n("contact.sent.body")}),a.jsx(je,{variant:"outline",size:"sm",className:"mt-2",onClick:S,children:n("common.close")})]}):a.jsxs("form",{onSubmit:k,className:"space-y-4 mt-1",children:[a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"contact-email",children:n("contact.yourEmail")}),a.jsx(An,{id:"contact-email",type:"email",placeholder:n("np.form.email.placeholder"),value:r,onChange:C=>i(C.target.value),required:!0,disabled:p,"data-testid":"input-contact-email"})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"contact-message",children:n("contact.message")}),a.jsx(Ic,{id:"contact-message",placeholder:n("contact.messagePlaceholder"),value:l,onChange:C=>d(C.target.value),required:!0,disabled:p,className:"min-h-[120px] resize-none","data-testid":"textarea-contact-message"})]}),y&&a.jsx("p",{className:"text-xs text-destructive",children:y}),a.jsxs(hy,{children:[a.jsx(je,{type:"button",variant:"outline",onClick:S,disabled:p,children:n("common.cancel")}),a.jsx(je,{type:"submit",disabled:p,"data-testid":"button-contact-submit",children:n(p?"contact.sending":"contact.send")})]})]})]})})}const x4=1,Ft=100,_y=x4,UC=49,w4=100,b4=14,ad=100,al=15,ky=al*Ft,hs=100,Ec=ky;function _4(t){const e=Math.max(0,Math.min(100,t)),n=Math.log(hs),r=M
55ath.log(Ec),i=Math.exp(n+(r-n)*(e/100));return i<500?Math.round(i/10)*10:i<2e3?Math.round(i/50)*50:Math.round(i/100)*100}function Rb(t){const e=Math.max(hs,Math.min(Ec,t)),n=Math.log(hs),r=Math.log(Ec);return(Math.log(e)-n)/(r-n)*100}function k4(t){const e=Math.max(hs,Math.min(Ec,t)),n=Math.round(e/Ft)*Ft;return Math.max(hs,Math.min(Ec,n))}function Nr(t){const e=Math.max(ad,Math.min(ky,t));return Math.round(e*(UC/Ft))}function Bp(t){return Math.max(1,Math.ceil(t/Ft))}function M8(t,e,n,r=!1){const i=Math.max(0,t||0),l=Math.max(0,e||0)+Math.max(0,n||0);if(l<=0)return i;if(i<=0)return r?l*Ft:0;const d=Bp(i);return d>=l?i:i+(l-d)*Ft}function ah(t,e){return e<=0?t:Math.max(ad,t-e*Ft)}function C4(t,e,n){return Math.max(ad,t-e*Ft+n*Ft)}function S4(t,e){if(e<=0)return[];if(e===1)return[Math.max(0,t)];const n=[];let r=Math.max(0,t);for(let i=0;i<e-1;i++){const l=Math.min(Ft,r);n.push(l),r-=l}return n.push(r),n}const N4=[50,75,100];function P4(t){return Bp(t)*_y}const Vp=6;function A4(t){return t*Vp}function T4(t){return t<=0?0:Math.floor(t/Vp)}function j4(t){const e=Math.max(ad,Math.min(ky,t)),n=Nr(e),r=A4(e);return{engagers:e,priceUsd:n,perEngagerUsd:n/e,accountsNeeded:Bp(e),slotsTotal:P4(e),linkedinAdsUsd:r,cheaperMultiplier:Math.max(1,Math.floor(r/Math.max(1,n)))}}const $C=.05,I4=100,L8=50,E4=5;function R4(t,e){e<1&&(e=1);const n=t/$C,i=Math.ceil(n/(704*e));return Math.max(E4,Math.min(I4,i))}function Qa(t){return t>=1e4?Math.round(t/1e3)+"k":t>=1e3?(t/1e3).toFixed(1).replace(/\.0$/,"")+"k":t.toLocaleString()}function so(t){return Number.isInteger(t)?"$"+(t>=1e3?t.toLocaleString():String(t)):"$"+t.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}const Lu=UC;function Za(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}const O4=22,M4=300*1e3;function cs(t){return k4(t)}function ig(t){const{mode:e="marketing",initialEngagers:n,ctaLabel:r,busy:i,showTrialCopy:l=!0,showAccountsSummary:d=!0,onSubmit:p,onOwnTierEngagersChange:m,currentEngagers:h,pendingEngagers:v,status:y,currentPeriodEnd:x,cancelAtPeriodEnd:_,legacyActiveCount:S,monthlyEngagers:k,freeTrialActive:C,firstOwnTrialEligible:A,signalFlowCount:P,onSwitchFromLegacy:j,onCancel:E,onCancelDowngrade:F,onResume:z,onManageStripe:q,onSliderChange:re,accountsPanel:ee,previewExtraOwnAccounts:se,previewExtraRentedAccounts:ae,accountMixOwn:J,accountMixRented:Y,committedOwnTierEngagers:ie,featureTextSizeClass:Ne="sm:text-[18px]"}=t,{t:R,locale:ce}=lr(),[$,H]=f.useState(!1),O=h??v??null,[T,B]=f.useState(null),[G,ue]=f.useState(0),[xe,ye]=f.useState(!1),M=n??O??Ft,[X,pe]=f.useState(cs(M)),We=f.useRef(M);f.useEffect(()=>{O&&O!==We.current&&(We.current=O,pe(cs(O)))},[O]);const Ge=f.useRef(re);f.useEffect(()=>{Ge.current=re});const ut=f.useRef(m);f.useEffect(()=>{ut.current=m}),f.useEffect(()=>{if(se===void 0&&!ae)return;const D=O??Ft,be=(se??0)*Ft,Se=(ae??0)*Ft;pe(cs(D+be+Se))},[se,ae,O]);const Fe=f.useMemo(()=>j4(X),[X]),wt=Fe.accountsNeeded,[tt,Vt]=f.useState(0),[dn,fn]=f.useState(!1),Ve=f.useRef(null),st=()=>{Ve.current&&(clearTimeout(Ve.current),Ve.current=null),fn(!0)},It=()=>{Ve.current&&clearTimeout(Ve.current),Ve.current=setTimeout(()=>fn(!1),150)};f.useEffect(()=>()=>{Ve.current&&clearTimeout(Ve.current)},[]);const Et=Math.max(tt>0?0:1,wt-tt),en=Et+tt,Vo=en>=al,Ze=e==="manage",Ln=!Ze&&Et===0&&tt>0,Dn=!Ze&&l&&en===1,yo=Lu,vo=tt*yo,we=Ze?(ae??0)*Lu:0,nt=Ze?(Y??0)+(ae??0):tt,Ut=Ze&&J!=null?J+(se??0):null,mn=(ie!==void 0?ie??0:O??0)>0,co=(se??0)>0,bt=Ze&&nt>0&&!mn&&!co,$t=Ze&&nt>0&&mn&&!co&&Fe.engagers<=nt*Ft,nn=bt||$t,Nt=Ze?nn?0:ah(Fe.engagers,nt):Ln?Fe.engagers:ah(Fe.engagers,tt),oe=nn||Ln?0:Nr(Nt),Oe=oe+vo,Ke=S4(Nt,Et);f.useEffect(()=>{Ze&&ut.current?.(Nt)},[Nt,Ze]);const pt=Ut??Et,xt=Ze?Y??0:nt,un=Ze?Math.max(hs,xt>0?xt*Ft:ad):hs,Lt=(Y??0)*Lu,dt=Ze?oe+we+Lt:Oe,Ct=Y??0,Tn=bt?0:ah(O??0,Ct),Io=v??0,_n=(Tn>0?Nr(Tn):0)+Lt,La=Tn+Ct*Ft,Ho=Nt+Ct*Ft,uo=O??0,ua=Ze&&Ho<uo,pa=Ze&&v!=null&&h!=null&&v!==h,Da=ua||pa&&Ho===uo,mi=Da&&(ua||Io>0||pa&&Ct>0),fa=ua?Nt:Io,Fn=(fa>0?Nr(fa):0)+Lt,hn=fa+Ct*Ft,eo=((fa>0?Bp(fa):0)+Ct)*2,dr=Fe.engagers,gn=Ze&&!ua&&pa&&Ho===uo&&(v??0)<(h??0)&&(Io>0||Ct>0),ma=gn?Fn:dt,Rt=gn?hn:dr,Vr=Rt*Vp,As=(pt+nt)*_y,hi=x?new Date(x):null,it=!!hi&&hi.getTime()>Date.now()?hi.toLocaleDateString(ce,{month:"short",day:"numeric",year:"numeric"}):null,qo=O,ur=Ze&&C&&!x,Ts=Ze&&(ae??0)>0,Eo=Ze&&(se??0)>0,Hr=Ze&&!!A&&(J??0)===0&&(se??0)===1,Wo=Ze&&(qo!==null&&!bt&&Nt!==qo||Eo||ur&&Ts||bt&&Nt>0),Fa=nt;f.useEffect(()=>{if(!Ze||!Wo){B(null),ye(!1);return}ye(!0);let D=!1;const be=setTimeout(async()=>{try{const Se=await fetch("/api/performance-plan/preview",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({engagers:Nt,rentedCount:Fa})});if(!Se.ok){D||ye(!1);return}const he=await Se.json();
55D||(B({exact:!!he.exact,missingPeriodEnd:!!he.missingPeriodEnd,chargedTodayUsd:Number(he.chargedTodayUsd)||0,proratedDays:Number(he.proratedDays)||0,newMonthlyTotalUsd:Number(he.newMonthlyTotalUsd)||0,currentMonthlyTotalUsd:Number(he.currentMonthlyTotalUsd)||0}),ye(!1))}catch{D||ye(!1)}},350);return()=>{D=!0,clearTimeout(be)}},[Ze,Wo,x,Nt,Fa,G]),f.useEffect(()=>{if(!Ze)return;const D=()=>{document.visibilityState==="visible"&&Wo&&ue(be=>be+1)};return document.addEventListener("visibilitychange",D),()=>document.removeEventListener("visibilitychange",D)},[Ze,Wo]),f.useEffect(()=>{if(!Ze||!Wo)return;const D=setInterval(()=>{document.visibilityState==="visible"&&ue(be=>be+1)},M4);return()=>clearInterval(D)},[Ze,Wo]);const Ua=Ze&&qo!=null&&Nt>qo&&!C&&x?(()=>{const D=Math.max(0,new Date(x).getTime()-Date.now()),be=Math.ceil(D/864e5),Se=Nr(Nt)-Nr(qo);return{prorated:Math.max(1,Math.round(Se*Math.min(30,be)/30)),remainingDays:be}})():null,Gn=Lt+we>0,$a={price:so(dt)},js={weeks:b4/7,price:so(dt)},gi=Ln?R("planCard.cta.subscribe",$a):Ze?r||(ur&&Ts?R("planCard.cta.subscribe",$a):Hr?R(Gn?"planCard.cta.trialCombined":"planCard.cta.trial",js):Eo||bt&&Nt>0?R(Gn?"planCard.cta.upgradeCombined":"planCard.cta.upgrade",$a):Nt>(qo??0)?R("planCard.cta.upgrade",$a):R("planCard.cta.downgrade",$a)):Dn?r??R("planCard.cta.trial",js):R("planCard.cta.subscribe",$a),Ht=D=>R("planCard.priceMo",{price:so(D)});return a.jsxs("div",{"data-testid":"performance-plan-card",className:"w-full max-w-lg bg-card text-card-foreground rounded-xl shadow-xl border border-card-border overflow-hidden mx-auto",children:[a.jsxs("div",{className:"bg-gradient-to-br from-[#0a66c2] to-[#0a4f99] px-5 sm:px-7 py-5 sm:py-6 text-white",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-[10px] sm:text-xs uppercase tracking-wider opacity-80",children:"Top Voice"}),a.jsx("div",{className:"text-xl sm:text-2xl font-bold mt-1",children:"Performance Plan"})]}),a.jsx("span",{className:"text-[10px] uppercase tracking-wider bg-white/15 px-2 py-1 rounded-full",children:Ze?y||R("planCard.status.active"):R("planCard.status.single")})]}),a.jsx("p",{className:"sm:text-sm opacity-90 mt-2 text-[12px]",children:R("planCard.tagline")}),a.jsx("p",{className:"opacity-80 mt-1 text-[11px] sm:text-[12px]",children:R("planCard.runsOn")})]}),a.jsxs("div",{className:"px-5 sm:px-7 pt-5 sm:pt-6",children:[a.jsxs("div",{className:"flex items-baseline justify-between",children:[a.jsx("span",{className:"text-[11px] sm:text-xs uppercase tracking-wider text-muted-foreground",children:R(As===1?"planCard.boostingPower.one":"planCard.boostingPower.other",{count:As})}),a.jsxs("span",{className:"text-xl sm:text-2xl font-bold text-foreground",children:["â ",Qa(Rt)]})]}),a.jsx("input",{type:"range",min:0,max:100,step:.5,value:Rb(gn?Rt:X),onChange:D=>{const be=Math.max(un,cs(_4(Number(D.target.value))));pe(be),Ge.current?.(be)},disabled:i,"aria-label":R("planCard.slider.aria"),"data-testid":"perf-plan-slider",className:"w-full mt-3 perfplan-range"}),a.jsx("div",{className:"relative h-3 mt-1",children:[100,200,500,1e3,1500].map((D,be)=>{const Se=Rb(D),he=(.5-Se/100)*O4;return a.jsx("span",{className:`absolute text-[10px] text-muted-foreground ${be===0?"":be===4?"-translate-x-full rtl:translate-x-full":"-translate-x-1/2 rtl:translate-x-1/2"}`,style:{insetInlineStart:`calc(${Se}% + ${he}px)`},children:D>=1e3?`${D/1e3}k`:D},D)})})]}),a.jsxs("div",{className:"px-5 sm:px-7 pt-5 flex items-start gap-2",children:[a.jsxs("div",{className:"flex-1 min-w-0",style:{paddingInlineEnd:"40p
55x"},children:[a.jsxs("div",{className:"flex items-end gap-1.5 sm:gap-2 -mt-1 -mb-1 text-[7px]",children:[a.jsx("span",{className:"font-bold text-foreground sm:text-[53px] mt-[-5px] mb-[-5px] text-[50px]","data-testid":"perf-plan-price",children:so(ma)}),a.jsx("span",{className:"text-muted-foreground text-[13px] sm:text-base pb-[10px] sm:pb-[15px]",children:R("planCard.perMonth")})]}),Da&&a.jsx("div",{className:"-mt-1 mb-1 text-[12px] sm:text-[13px]","data-testid":"perf-plan-pending-price-line",children:gn?a.jsx("span",{className:"text-muted-foreground",children:it?R("planCard.currentlyUntil",{price:Ht(_n),date:it}):R("planCard.currently",{price:Ht(_n)})}):a.jsx("span",{className:"text-muted-foreground",children:Za(it?R("planCard.fromToOn",{date:it}):R("planCard.fromTo"),{from:a.jsx("span",{className:"line-through decoration-muted-foreground text-muted-foreground",children:Ht(_n)}),to:a.jsx("span",{className:"font-semibold text-amber-700 dark:text-amber-300",children:Ht(Fn)})})})}),a.jsxs("p",{className:"text-muted-foreground sm:text-[14px] text-[13px]",children:[Ze&&C&&a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 font-semibold sm:text-[15.2px] text-[14px]","data-testid":"perf-plan-trial-status",children:it?R("planCard.trialActiveBilling",{date:it}):R("planCard.trialActive")}),Dn&&a.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 font-semibold sm:text-[15.2px] text-[14px]",children:[R("planCard.freeTrial.line1"),a.jsx("br",{}),R("planCard.freeTrial.line2")]}),!Ze&&!Dn&&en>1&&a.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-semibold sm:text-[15.2px] text-[14px]",children:R("planCard.freeTrial.firstOnly")}),Ze&&a.jsxs(a.Fragment,{children:[!C&&a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 font-semibold text-[13px] sm:text-[15.2px]",children:it?_?R("planCard.activeEnds",{date:it}):R("planCard.activeRenews",{date:it}):R("planCard.active")}),Da&&a.jsxs(a.Fragment,{children:[a.jsx("br",{}),a.jsx("span",{className:"font-semibold text-amber-700 dark:text-amber-300 sm:text-[15.2px] text-[14px]","data-testid":"perf-plan-scheduled-downgrade-inline",children:it?R("planCard.scheduledInlineOn",{price:Ht(Fn),engagers:Qa(hn),date:it}):R("planCard.scheduledInline",{price:Ht(Fn),engagers:Qa(hn)})})]})]})]})]}),a.jsx("div",{className:"min-w-0 rounded-xl border border-emerald-200 dark:border-emerald-800 bg-emerald-50 dark:bg-emerald-950/40 px-2.5 sm:px-3.5 py-2.5 sm:py-3 ms-[0px] me-[0px] ps-[4px] pe-[4px] pt-[4px] pb-[4px]",style:{flexGrow:.6,flexShrink:1,flexBasis:"10px",marginInlineStart:"-40px"},children:a.jsxs("div",{className:"font-bold text-foreground leading-tight",children:[a.jsx("div",{className:"sm:text-2xl text-emerald-700 dark:text-emerald-300 text-[16px]",children:R("planCard.cheaper")}),a.jsx("div",{className:"sm:text-sm uppercase tracking-wider text-emerald-700 dark:text-emerald-300 font-normal mt-1 text-[9px]",children:R("planCard.thanAds")}),a.jsxs("div",{className:"sm:text-[20px] mt-1 text-[17px]",children:[Za(R("planCard.approxEngagers",{count:Qa(Rt)}),{engagers:a.jsx(m4,{children:R("planCard.engagersWord")})}
55),Da&&!gn&&hn<(dr??0)&&a.jsx("span",{"data-testid":"perf-plan-after-downgrade-engagers",className:"block text-amber-700 dark:text-amber-300 text-[11px] sm:text-[13px] font-semibold leading-tight",children:R("planCard.afterDowngrade",{count:Qa(hn)})}),a.jsx("br",{}),Za(R("planCard.forAds"),{price:a.jsx("span",{className:"line-through decoration-rose-400 decoration-2",children:so(Vr)})})]})]})})]}),a.jsx("div",{className:"mx-5 sm:mx-7 mt-4 rounded-xl border border-emerald-200 dark:border-emerald-800 bg-emerald-50 dark:bg-emerald-950/40 px-4 py-3",onMouseEnter:st,onMouseLeave:It,children:a.jsxs("p",{className:"text-foreground/80 dark:text-emerald-100 text-[14px]",children:[Za(R("planCard.organic"),{strong:a.jsx("span",{className:"font-semibold text-emerald-700 dark:text-emerald-300",children:R("planCard.organic.strong")}),link:a.jsx("a",{href:"https://www.linkedin.com/feed/",target:"_blank",rel:"noopener",className:"underline decoration-dotted text-emerald-700 dark:text-emerald-300 hover:text-emerald-800 dark:hover:text-emerald-200",children:R("planCard.organic.link")})}),a.jsxs(IC,{open:dn,onOpenChange:fn,children:[a.jsx(EC,{asChild:!0,children:a.jsx("button",{type:"button","aria-label":R("planCard.conditions.aria"),onMouseEnter:st,onMouseLeave:It,className:"inline-flex items-center align-middle ms-1 text-emerald-600 dark:text-emerald-300 hover:text-emerald-800 dark:hover:text-emerald-100 focus:outline-none","data-testid":"perf-plan-conditions-info",children:a.jsx(TA,{className:"w-3.5 h-3.5 shrink-0"})})}),a.jsxs(xy,{align:"start",className:"w-80 text-[13px] leading-snug",onMouseEnter:st,onMouseLeave:It,children:[a.jsx("p",{className:"font-medium text-foreground mb-2",children:R("planCard.conditions.title")}),a.jsxs("ol",{className:"list-decimal ps-4 space-y-2 text-foreground/80",children:[a.jsx("li",{children:Za(R("planCard.conditions.one"),{link:a.jsx("a",{href:"https://www.linkedin.com/search/results/content/?origin=FACETED_SEARCH&sortBy=%5B%22date_posted%22%5D&datePosted=%5B%22past-24h%22%5D",target:"_blank",rel:"noopener",className:"underline decoration-dotted text-emerald-700 dark:text-emerald-300 hover:text-emerald-800 dark:hover:text-emerald-200",children:R("planCard.conditions.one.link")})})}),a.jsx("li",{children:R("planCard.conditions.two")})]})]})]})]})}),!Ze&&d&&a.jsxs("div",{className:"mx-5 sm:mx-7 mt-4 rounded-xl border-2 border-[#0a66c2]/30 bg-[#0a66c2]/5 px-4 py-3",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#0a66c2] dark:text-[#4a9eff] mb-1",children:R("planCard.accountsSlots")}),a.jsxs("div",{className:"text-base font-bold text-foreground",children:[R(en>1?"planCard.accounts.other":"planCard.accounts.one",{count:en})," · ",R(en*2>1?"planCard.slots.other":"planCard.slots.one",{count:en*2})]}),en>wt&&a.jsx("div",{className:"text-[10px] text-emerald-700 dark:text-emerald-300 mt-0.5",children:R("planCard.extraCapacity",{count:en-wt})})]}),a.jsxs("div",{className:"text-end",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:R("planCard.engagersCap")}),a.jsx("div",{className:"text-base font-bold text-foreground",children:R("planCard.capValue",{count:Qa(en*Ft)})})]})]}),a.jsxs("div",{className:"mt-3 pt-3 border-t border-[#0a66c2]/15",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-2",children:R("planCard.ownVsRented")}),a.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[a.jsxs("div",{className:"rounded-lg bg-background border border-border px-3 py-2",children:[a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsx("div",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:R("planCard.own")})}),a.jsxs("div",{className:"flex items-center gap-1.5 mt-1",children:[a.jsx("button",{type:"button","aria-label":R("planCard.own.dec"),onClick:()=>{pe(Math.max(hs,cs(X-Ft)))},disabled:i||Et<=(tt>0?0:1),className:"w-6 h-6 rounded-md border border-border text-foreground
55/70 hover:bg-muted disabled:opacity-40 text-sm leading-none","data-testid":"perf-plan-own-dec",children:"â"}),a.jsx("span",{className:"text-base font-bold text-foreground min-w-[1ch] text-center","data-testid":"perf-plan-own-count",children:Et}),a.jsx("button",{type:"button","aria-label":R("planCard.own.inc"),onClick:()=>{pe(cs(X+Ft))},disabled:i||Vo,className:"w-6 h-6 rounded-md border border-border text-foreground/70 hover:bg-muted disabled:opacity-40 text-sm leading-none","data-testid":"perf-plan-own-inc",children:"+"})]}),a.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:R("planCard.own.note")})]}),a.jsxs("div",{className:"rounded-lg bg-background border border-border px-3 py-2",children:[a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsx("div",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:R("planCard.rented")})}),a.jsxs("div",{className:"flex items-center gap-1.5 mt-1",children:[a.jsx("button",{type:"button","aria-label":R("planCard.rented.dec"),onClick:()=>{const be=Math.max(Et===0?1:0,tt-1);be!==tt&&(Vt(be),pe(cs(X-100)))},disabled:i||tt<=(Et===0?1:0),className:"w-6 h-6 rounded-md border border-border text-foreground/70 hover:bg-muted disabled:opacity-40 text-sm leading-none","data-testid":"perf-plan-rented-dec",children:"â"}),a.jsx("span",{className:"text-base font-bold text-foreground min-w-[1ch] text-center","data-testid":"perf-plan-rented-count",children:tt}),a.jsx("button",{type:"button","aria-label":R("planCard.rented.inc"),onClick:()=>{Vt(tt+1),pe(cs(X+100))},disabled:i||tt>=1,className:"w-6 h-6 rounded-md border border-border text-foreground/70 hover:bg-muted disabled:opacity-40 text-sm leading-none","data-testid":"perf-plan-rented-inc",children:"+"})]}),a.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:R("planCard.rented.note")})]})]}),a.jsx("div",{className:"mt-2 rounded-lg border border-[#0a66c2]/30 bg-[#0a66c2]/[0.06] px-3 py-2","data-testid":"perf-plan-white-label",children:a.jsxs("p",{className:"text-[12px] text-foreground",children:[Vo&&a.jsxs(a.Fragment,{children:[a.jsx("strong",{children:R("planCard.atMax",{max:al})})," "]}),Za(R("planCard.needMore"),{contact:a.jsx("button",{type:"button",onClick:()=>H(!0),className:"font-semibold text-[#0a66c2] hover:underline",children:R("account.contact")})})]})}),a.jsxs("div",{className:"mt-2 space-y-1",children:[Et>0&&a.jsxs("div",{className:"flex items-center justify-between text-[12px]",children:[a.jsx("span",{className:"text-muted-foreground",children:R(Et!==1?"planCard.ownLine.other":"planCard.ownLine.one",{count:Et,engagers:Nt})}),a.jsx("strong",{className:"text-foreground ms-2 shrink-0",children:Ht(oe)})]}),tt>0&&a.jsxs("div",{className:"flex items-center justify-between text-[12px]",children:[a.jsx("span",{className:"text-muted-foreground",children:R("planCard.rentedLine",{count:tt,price:so(yo),max:Ft})}),a.jsx("strong",{className:"text-foreground ms-2 shrink-0","data-testid":"perf-plan-total-with-rentals",children:Ht(vo)})]}),Et>0&&tt>0&&a.jsxs("div",{className:"flex items-center justify-between text-[12px] border-t border-[#0a66c2]/15 pt-1 mt-0.5",children:[a.jsx("span",{className:"text-muted-foreground font-medium",children:R("planCard.total")}),a.jsx("strong",{className:"text-foreground ms-2 shrink-0",children:Ht(Oe)})]})]}),en>0&&a.jsxs("div",{className:"grid gap-1.5 mt-3",style:{gridTemplateColumns:`repeat(${Math.max(1,Math.ceil(en/3))}, minmax(0, 1fr))`},children:[Array.from({length:Et},(D,be)=>a.jsxs("div",{className:"flex items-center gap-1 rounded-lg border border-[#0a66c2]/40 bg-background px-1.5 py-1 min-w-0",children:[a.jsx("div",{className:"w-4 h-4 rounded-full bg-[#0a66c2]/10 flex items-center justify-center shrink-0",children:a.jsx(WA,{className:"w-2.5 h-2.5 text-[#0a66c2] dark:text-[#4a9eff]"})}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"text-[10px] font-medium text-foreground leading-tight truncate",children:R("planCard.ownN",{n:be+1})}),a.jsx("div",{className:"text-[9px] text-muted-foreground leading-tight",children:R("planCard.pileCap",{count:Qa(Ke[be]??Ft)})})]})]},`own-${be}`)),Array.from({length:tt},(D,be)=>a.jsxs("div",{className:"flex items-center gap-1 rounded-lg border border-amber-300/70 bg-amber-50/60 dark:bg-amber-950/30 dark:border-amber-600/40 px-1.5 py-1 min-w-0",children:[a.jsx("div",{className:"w-4 h-4 rounded-full bg-amber-500/10 flex items-center justify-center shrink-0",children:a.jsx(zA,{className:"w-2.5 h-2.5 text-amber-600 dar
55k:text-amber-400"})}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("div",{className:"text-[10px] font-medium text-foreground leading-tight truncate",children:R("planCard.rentedN",{n:be+1})}),a.jsx("div",{className:"text-[9px] text-muted-foreground leading-tight",children:R("planCard.pileCap",{count:Ft})})]})]},`rented-${be}`))]})]})]}),ee&&a.jsx("div",{className:"mx-5 sm:mx-7 mt-4 lg:hidden","data-testid":"perf-plan-accounts-panel-mobile",children:ee}),a.jsxs("div",{className:"mx-5 sm:mx-7 mt-3 rounded-xl border border-amber-300 dark:border-amber-700 bg-amber-50 dark:bg-amber-950/40 px-4 py-3 lg:hidden",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-amber-700 dark:text-amber-300 mb-1",children:R("planCard.noAccount.title")}),a.jsx("p",{className:"text-amber-900 dark:text-amber-100 text-[14px]",children:Za(R("planCard.noAccount.p1"),{strong:a.jsx("strong",{children:R("planCard.noAccount.p1.strong")})})}),a.jsx("p",{className:"text-amber-900 dark:text-amber-100 mt-1.5 text-[14px]",children:Za(R("planCard.noAccount.p2"),{strong:a.jsx("strong",{children:R("planCard.noAccount.p2.strong")})})})]}),a.jsxs("ul",{className:"px-5 sm:px-7 text-foreground/80 space-y-1.5 text-[11px] sm:text-[18px] leading-snug pt-[10px] pb-[10px] mt-[16px] mb-[16px]",children:[a.jsxs("li",{className:"flex gap-1.5",children:[a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 shrink-0",children:"â"})," ",R("planCard.includes.traffic")]}),a.jsxs("li",{className:"flex gap-1.5",children:[a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 shrink-0",children:"â"})," ",R("planCard.includes.content")]}),a.jsxs("li",{className:"flex gap-1.5",children:[a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 shrink-0",children:"â"})," ",R("planCard.includes.followUps")]}),a.jsxs("li",{className:"flex gap-1.5",children:[a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 shrink-0",children:"â"})," ",R("planCard.includes.tracking")]}),a.jsxs("li",{className:"flex gap-1.5",children:[a.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 shrink-0",children:"â"})," ",R("planCard.includes.extra")]})]}),typeof P=="number"&&P>=0&&(()=>{const D=Math.max(1,P),be=R4(Fe.engagers,D);if(be<80)return null;const Se=Math.max(D+1,Math.ceil(Fe.engagers/$C/(704*60)));return a.jsxs("div",{className:"mx-5 sm:mx-7 mt-4 rounded-xl border border-amber-300 dark:border-amber-700 bg-amber-50 dark:bg-amber-950/40 px-4 py-3","data-testid":"perf-plan-throughput-warning",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-amber-700 dark:text-amber-300 mb-1",children:R("planCard.throughput.title")}),a.jsx("p",{className:"text-[12px] text-amber-900 dark:text-amber-100 leading-snug",children:Za(R(be>=100?"planCard.throughput.bodyOverCap":"planCard.throughput.body",{engagers:Qa(Fe.engagers),flows:R(D>1?"planCard.throughput.flows.other":"planCard.throughput.flows.one",{count:D}),more:R(Se-D>1?"planCard.throughput.more.other":"planCard.throughput.more.one",{count:Se-D})}),{need:a.jsx("strong",{children:R("planCard.throughput.need",{count:be})})})})]})})(),mi&&a.jsxs("div",{className:"mx-5 sm:mx-7 mt-4 rounded-xl border border-amber-300 dark:border-amber-700 bg-amber-50 dark:bg-amber-950/40 px-4 py-3","data-testid":"perf-plan-scheduled-downgrade-block",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-amber-700 dark:text-amber-300 mb-1",children:R("planCard.downgrade.title")}),a.jsxs("p",{className:"text-[12px] text-amber-900 dark:text-amber-100",children:[Za(R("planCard.downgrade.body",{date:it??R("planCard.nextRenewal"),fromEngagers:Qa(La),toEngagers:Qa(hn)}),{from:a.jsx("strong",{children:Ht(_n)}),to:a.jsx("strong",{children:Ht(Fn)})}),Ct>0&&a.jsxs(a.Fragment,{children:[" ",R(Ct>1?"planCard.downgrade.rented.other":"planCard.downgrade.rented.one",{count:Ct,cost:Lt})]})," ",R("planCard.downgrade.slots",{count:eo})]})]}),Ze&&_&&a.jsxs("div",{className:"mx-5 sm:mx-7 mt-3 rounded-xl border border-rose-300 dark:border-rose-700 bg-rose-50 dark:bg-rose-950/40 px-4 py-3 flex items-center justify-between gap-3",children:[a.jsx("p",{className:"text-[12px] text-rose-900 dark:text-rose-100",children:R("planCard.cancelsOn",{date:it??R("planCard.peri
55odEnd")})}),a.jsx("button",{type:"button",onClick:z,disabled:i,className:"text-xs font-semibold px-3 py-1.5 rounded-lg bg-rose-600 text-white hover:bg-rose-700 disabled:opacity-50","data-testid":"perf-plan-resume",children:R("planCard.keepSubscription")})]}),!Ze&&S!=null&&S>0&&a.jsxs("div",{className:"mx-5 sm:mx-7 mt-4 rounded-xl border border-violet-300 dark:border-violet-700 bg-violet-50 dark:bg-violet-950/40 px-4 py-3",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-violet-700 dark:text-violet-300 mb-1",children:R("planCard.legacy.title")}),a.jsx("p",{className:"text-violet-900 dark:text-violet-100 mb-2 text-[14px]",children:R(S>1?"planCard.legacy.body.other":"planCard.legacy.body.one",{count:S})}),a.jsx("button",{type:"button",onClick:()=>j?.(Fe.engagers),disabled:i,className:"w-full text-xs font-semibold py-2 rounded-lg bg-violet-600 text-white hover:bg-violet-700 disabled:opacity-50","data-testid":"perf-plan-switch-from-legacy",children:R("planCard.legacy.switch")})]}),a.jsxs("div",{className:"px-5 sm:px-7 pb-7 pt-[4px]",children:[p&&(!Ze||Wo&&!gn)&&a.jsx("button",{type:"button",onClick:()=>p(Nt,{rentedOnly:Ln,setupRental:!Ze&&Et>0&&tt>0,noTrial:!Ze&&!Dn,allowZeroOwn:Ze&&Nt===0&&nt>0}),disabled:i,className:"w-full bg-[#0a66c2] hover:bg-[#0a4f99] disabled:opacity-60 transition text-white font-semibold py-3 rounded-md shadow-sm overflow-hidden","data-testid":"perf-plan-cta",children:a.jsx("span",{className:"block text-balance text-[14px] leading-tight px-2",children:i?R("planCard.working"):gi})}),Ze&&F&&pa&&a.jsx("button",{type:"button",onClick:F,disabled:i,className:"w-full text-[12px] text-muted-foreground hover:text-emerald-600 dark:hover:text-emerald-400 mt-[0px] mb-[15px]","data-testid":"perf-plan-cancel-downgrade",children:R("planCard.cancelDowngrade")}),T||xe?a.jsxs("div",{className:"mt-3 rounded-xl border border-sky-200 dark:border-sky-800 bg-sky-50 dark:bg-sky-950/40 px-4 py-3","data-testid":"perf-plan-billing-summary",children:[a.jsxs("div",{className:"text-[10px] uppercase tracking-wider text-sky-700 dark:text-sky-300 mb-2 flex items-center justify-between",children:[a.jsx("span",{children:R("planCard.billing.title")}),a.jsx("span",{className:"font-normal normal-case text-[9px] opacity-70",children:xe?R("planCard.billing.calculating"):T?.exact?R("planCard.billing.exact"):R("planCard.billing.estimated")})]}),a.jsxs("div",{className:"grid grid-cols-3 gap-2 text-center",children:[a.jsxs("div",{children:[xe?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-charged-today-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-charged-today",children:so(T.chargedTodayUsd)}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:R("planCard.billing.chargedToday")})]}),a.jsxs("div",{children:[xe?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-prorated-days-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-prorated-days",children:R(T.proratedDays!==1?"planCard.days.other":"planCard.days.one",{count:T.proratedDays})}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:R("planCard.billing.proratedPeriod")})]}),a.jsxs("div",{children:[xe?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-new-monthly-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-new-monthly",children:so(T.newMonthlyTotalUsd)}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:R("planCard.billing.thenMonthly")})]})]}),!xe&&T&&T.chargedTodayUsd===0&&T.newMonthlyTotalUsd<T.currentMonthlyTotalUsd&&a.jsx("p",{className:"text-[10px] text-center text-sky-700 dark:text-sky-300 mt-2",children:R("planCard.billing.downgradeNoCharge")}
55),!xe&&T?.missingPeriodEnd&&a.jsx("p",{className:"text-[10px] text-center text-amber-700 dark:text-amber-300 mt-2","data-testid":"perf-plan-missing-period-end-note",children:R("planCard.billing.exactAtCheckout")})]}):Ua?a.jsx("p",{className:"text-[11px] text-center text-amber-700 dark:text-amber-300 mt-1.5","data-testid":"perf-plan-proration-note",children:R(Gn?"planCard.prorationCombined":"planCard.proration",{prorated:so(Ua.prorated),days:R(Ua.remainingDays!==1?"planCard.days.other":"planCard.days.one",{count:Ua.remainingDays}),price:so(dt)})}):null,Ze&&E&&!_&&x!=null&&a.jsx("button",{type:"button",onClick:E,disabled:i,className:"w-full mt-2 text-[12px] text-muted-foreground hover:text-rose-600 dark:hover:text-rose-400","data-testid":"perf-plan-cancel",children:R("planCard.cancelSubscription")}),Ze&&q&&a.jsx("button",{type:"button",onClick:q,className:"w-full mt-2 text-[12px] text-muted-foreground hover:text-primary transition-colors flex items-center justify-center gap-1","data-testid":"perf-plan-stripe-portal",children:R("planCard.manageStripe")}),a.jsx("p",{className:"text-[11px] text-center text-muted-foreground mt-[20px]",children:R("planCard.footer")})]}),a.jsx("style",{children:` 56 .perfplan-range { -webkit-appearance: none; appearance: none; height: 6px; background: hsl(var(--muted)); border-radius: 9999px; outline: none; } 57 .perfplan-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 9999px; background: #0a66c2; cursor: grab; box-shadow: 0 2px 6px rgba(10,102,194,.35); border: 2px solid hsl(var(--card)); } 58 .perfplan-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 9999px; background: #0a66c2; cursor: grab; border: 2px solid hsl(var(--card)); } 59 `}),a.jsx(zp,{open:$,onOpenChange:H})]})}function Ob(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function L4({placeBelow:t,target:e,children:n}){return t?e?Cs.createPortal(a.jsx("div",{className:"rounded-xl border border-border bg-card p-3 sm:p-4",children:n}),e):null:a.jsx(a.Fragment,{children:n})}function D4(t){const{slotsPerAccount:e=_y,accounts:n,uncoveredCampaigns:r,unassignedCampaigns:i,onRecoverCampaign:l,eligibleTargetsByCampaign:d,cloneTargetsByCampaign:p,verifyNeededTargetsByCampaign:m,verifyNeededCloneTargetsByCampaign:h,accountsNeeded:v,busy:y,currentPeriodEnd:x,cancelAtPeriodEnd:_,onReassign:S,onReassignBulk:k,onCloneCampaign:C,onAddPile:A,onAddPileAndRent:P,onRentAccount:j,onRentedCountChange:E,onRemoveRentedAccount:F,hasPerfPlan:z,isGiftTrialNoSub:q,onAddCampaignToSlot:re,onUncoverCampaign:ee,onSelectCampaign:se,onSetupPageAdmin:ae,onDetachCampaign:J,onAssignOrphanCampaign:Y,onSetAccountThrottle:ie,onRefreshPageAdmins:Ne,onOpenConnectLinkedIn:R,onRemoveUnfilledSlot:ce,onRemoveOwnAccount:$,ownAddCount:H,onOwnAddCountChange:O,serverAccountsNeeded:T,committedEngagers:B,tilesBelow:G,accountsPortalTarget:ue,hideControls:xe=!1,hideTiles:ye=!1}=t,{t:M,locale:X}=lr(),[pe,We]=f.useState(null),[Ge,ut]=f.useState(null),[Fe,wt]=f.useState(null),[tt,Vt]=f.useState(null),[dn,fn]=f.useState(!1),[Ve,st]=f.useState(null),[It,Et]=f.useState(null),en=f.useRef(null),[Vo,Ze]=f.useState(!1),Ln=()=>{const D=en.current;D&&(D.scrollIntoView({behavior:"smooth",block:"center"}),Ze(!0),window.setTimeout(()=>Ze(!1),1800))},Dn=f.useRef(d);Dn.current=d;const yo=async(D,be)=>{const Se=await S(D,be,{silent:!0}),he=!(Se&&Se.ok===!1);if(he)wt(Ue=>{if(!Ue)return Ue;const gt=Ue.skipped.filter(Xe=>Xe.campaignId!==D);return gt.length===0?null:{...Ue,assigned:Ue.assigned+1,skipped:gt}});else{const Ue=Se&&Se.error||M("planAccounts.couldntAssign");wt(gt=>gt&&{...gt,skipped:gt.skipped.map(Xe=>Xe.campaignId===D?{...Xe,error:Ue}:Xe)})}return he},vo=async(D,be)=>{if(!(y||tt!=null||Ge||dn)){Vt(D);try{await yo(D,be)}finally{Vt(null)}}},we=async()=>{if(y||tt!=null||Ge||dn||!Fe)return;const D=Fe.accountId;let be=Fe.skipped.map(Ue=>Ue.campaignId);if(!be.some(Ue=>(Dn.current[Ue]??[]).length>0))return;const he=new Map;fn(!0);try{let Ue=!0;for(;Ue;
59){Ue=!1;const gt=[];for(const Xe of be){const Dt=Dn.current[Xe]??[];if(Dt.length===0){gt.push(Xe);continue}const kn=Dt.includes(D)?D:Dt[0];if(he.get(Xe)===kn){gt.push(Xe);continue}he.set(Xe,kn),Vt(Xe);let on=!1;try{on=await yo(Xe,kn)}finally{Vt(null)}await new Promise(yn=>setTimeout(yn,0)),on?Ue=!0:gt.push(Xe)}if(be=gt,be.length===0)break}}finally{fn(!1)}},[nt,Ut]=f.useState(!1),[Mt,mn]=f.useState(null),[co,bt]=f.useState(null),[$t,nn]=f.useState(null),[Nt,oe]=f.useState(!1),[Oe,Ke]=f.useState(null),[pt,xt]=f.useState(null),[un,Lt]=f.useState(!1),[dt,Ct]=f.useState(0),[Tn,Io]=f.useState(!1),[_n,La]=f.useState(null),[Ho,uo]=f.useState(!1),[ua,pa]=f.useState(0),[Da,mi]=f.useState(1),fa=20,Fn=n.filter(D=>D.accountSource==="virtual_rented"&&!D.isOrphan).length,hn=T??v,eo=Math.max(Fn>0?0:1,hn-Fn),dr=Fn>0?0:1;f.useEffect(()=>{H===void 0&&mi(eo)},[eo]);const gn=H??Da,ma=D=>{const be=typeof D=="function"?D(gn):D,Se=al-Fn-dt,Ue=Math.max(ce?dr:eo,Math.min(eo+fa,Se,be));O&&O(Ue),H===void 0&&mi(Ue)},Rt=gn-eo,Vr=gn+Fn+dt>=al,As=Rt>0||hn>n.length,it=(Oe!=null?n.flatMap(D=>D.campaigns).find(D=>D.id===Oe)?.assetType??null:null)==="company"&&!y&&!!R,qo=gn<=0?0:Nr((gn-1)*Ft+w4),ur=gn<=0?0:Nr(gn*Ft),Ts=gn<=0?M("planCard.priceMo",{price:"$0"}):qo===ur?M("planCard.priceMo",{price:so(qo)}):M("planAccounts.priceRange",{min:so(qo),max:so(ur)}),Eo=dt>0||Tn,Hr=Math.max(0,Fn+dt-(Tn?1:0)),Wo=Hr<=0?M("planCard.priceMo",{price:"$0"}):M("planCard.priceMo",{price:so(Hr*Lu)}),Fa=B!=null?C4(B,Fn,Rt):gn*Ft;f.useEffect(()=>{if(!z||!Eo){La(null),uo(!1);return}uo(!0);let D=!1;const be=setTimeout(async()=>{try{const Se=await fetch("/api/performance-plan/preview",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({engagers:Fa,rentedCount:Hr})});if(!Se.ok){D||uo(!1);return}const he=await Se.json();D||(La({exact:!!he.exact,missingPeriodEnd:!!he.missingPeriodEnd,chargedTodayUsd:Number(he.chargedTodayUsd)||0,proratedDays:Number(he.proratedDays)||0,newMonthlyTotalUsd:Number(he.newMonthlyTotalUsd)||0,currentMonthlyTotalUsd:Number(he.currentMonthlyTotalUsd)||0}),uo(!1))}catch{D||uo(!1)}},350);return()=>{D=!0,clearTimeout(be)}},[z,Eo,Fa,Hr,ua]),f.useEffect(()=>{const D=()=>{document.visibilityState==="visible"&&Eo&&pa(be=>be+1)};return document.addEventListener("visibilitychange",D),()=>document.removeEventListener("visibilitychange",D)},[Eo]);const xo=f.useRef(!1);f.useEffect(()=>{if(xo.current||!Ne)return;const D=n.some(Se=>Se.campaigns.some(he=>he.coveredByPerfPlan!==!1&&he.assetType==="company")),be=n.filter(Se=>!Se.disconnectedAt&&!Se.isOrphan).length;!D||be<2||(xo.current=!0,Ne())},[n,Ne]);const Ua=x?new Date(x).toLocaleDateString(X,{month:"short",day:"numeric"}):null,Gn=new Set((i??[]).map(D=>D.id)),$a=n.reduce((D,be)=>D+(be.isOrphan?0:be.campaigns.filter(Se=>!(Se.coveredByPerfPlan===!1&&Se.pausedReason==="uncovered")&&!Gn.has(Se.id)).length),0),js=v*e,gi=i?.length??0,Ht=D=>D.profileName?D.profileName:D.isOrphan?M("planAccounts.orphanLabel"):D.providerAccountId.slice(0,8)+"â¦";return a.jsxs("div",{className:"rounded-xl border border-border bg-card p-3 sm:p-4","data-testid":"perf-plan-accounts-panel",children:[!ye&&a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#0a66c2] dark:text-[#4a9eff] font-semibold",children:M("planAccounts.title")}),a.jsxs("div",{className:"text-[12px] text-muted-foreground mt-0.5",children:[M("planAccounts.usage",{used:$a,slots:M(js===1?"planCard.slots.one":"planCard.slots.other",{count:js}),accounts:M(v===1?"planCard.accounts.one":"planCard.accounts.other",{count:v})}),gi>0&&a.jsxs(a.Fragment,{children:[" ",a.jsx("button",{type:"button",onClick:D=>{D.stopPropagation(),Ln()},className:"inline-flex items-center rounded-full bg-[#0a66c2]/10 px-1.5 py-0.5 text-[10px] font-semibold text-[#0a66c2] dark:text-[#4a9eff] hover:bg-[#0a66c2]/20 transition-colors align-middle","data-testid":`perf-plan-unassigned-indicator${G?"-below":""}`,title:M("planAccounts.unassignedIndicator.title"),children:M("planAccounts.unassignedIndicator",{count:gi})})]})]})]}),Ua&&a.jsx("div",{className:"text-[11px] text-muted-foreground text-end",children:_?M("planAccounts.ends",{date:Ua}):M("planAccounts.renews",{date:Ua})})]}),!xe&&(A||j)&&a.jsxs("div",{className:"mb-3 rounded-xl border-2 border-[#0a66c2]/30 bg-[#0a66c2]/5 px-3 py-3",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:M("planAccounts.controls.title")}),a.jsx("div",{className:"text-[11px] text-muted-foreground mb-2 mt-0.5",children:M("planAccounts.controls.body")}),a.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[A&&a.jsxs("div",{className:"rounded-lg bg-card border border-border px-3 py-2",children:[a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsx("div",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:M("planAccounts.ownAcc")})}),a.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5","data-testid":"perf-plan-own-price",children:Ts}),a.jsxs("div",{className:"mt-1 flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>ma(D=>Math.max(ce?dr:eo,D-1)),disabled:y||gn<=(ce?dr:eo),className:"inline-flex items-center justify-center w-6 h-6 rounded-md border border-border text-muted-foreground hover:border-[#0a66c2] hover:text-[#0a66c2] disabled:opacity-40 text-sm leading-none font-semibold","data-testid":"perf-plan-add-pile-dec","aria-label":M("planAccounts.own.dec"),children:"â"}),a.jsx("span",{className:"w-9 text-center text-[12px] font-semibold tabular-nums text-foreground","data-testid":"perf-plan-add-pile-count","aria-label":M("planAccounts.own.count"),children:gn}),a.jsx("button",{type:"button",onClick:()=>ma(D=>Math.min(fa,D+1)),disabled:y||gn>=fa||Vr,className:"inline-flex items-center justify-center w-6 h-6 rounded-md border border-border text-muted-foreground hover:border-[#0a66c2] hover:text-[#0a66c2] disabled:opacity-40 text-sm leading-none font-semibold","data-testid":"perf-plan-add-pile-inc","aria-label":M("planAccounts.own.inc"),children:"+"})]})]}),j&&a.jsxs("div",{className:"rounded-lg bg-card border border-border px-3 py-2",children:[a.jsx("div",{className:"flex items-center justify-between gap-1",children:a.jsx("div",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:M("planAccounts.rentedAcc")})}),a.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5 me-[-15px]",children:a.jsx("span",{"data-testid":"perf-plan-rented-price",children:Wo})}),a.jsxs("div",{className:"mt-1 flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>
59{if(dt>0)Ct(D=>D-1),E?.(-1);else{if(Tn)return;z&&x&&Rt===0&&Fn>0?Io(!0):F?.()}},disabled:y||Tn||dt===0&&(!F||Fn===0),className:"inline-flex items-center justify-center w-6 h-6 rounded-md border border-border text-muted-foreground hover:border-[#0a66c2] hover:text-[#0a66c2] disabled:opacity-40 text-sm leading-none font-semibold","data-testid":"perf-plan-remove-rented-account","aria-label":dt>0?M("planAccounts.rented.decStaged.aria"):M("planAccounts.rented.dec.aria"),title:dt>0?M("planAccounts.rented.decStaged.title"):M("planAccounts.rented.dec.title"),children:"â"}),a.jsx("span",{className:"w-9 text-center text-[12px] font-semibold tabular-nums text-foreground","data-testid":"perf-plan-rented-count",children:Fn+dt-(Tn?1:0)}),a.jsx("span",{title:dt>=1?M("planAccounts.rented.oneAtATime"):void 0,className:"inline-flex",children:a.jsx("button",{type:"button",onClick:()=>{if(Tn){Io(!1);return}Ct(D=>D+1),E?.(1)},disabled:y||!Tn&&(dt>=1||Vr),className:"inline-flex items-center justify-center w-6 h-6 rounded-md border border-border text-muted-foreground hover:border-[#0a66c2] hover:text-[#0a66c2] disabled:opacity-40 text-sm leading-none font-semibold","data-testid":"perf-plan-rent-account","aria-label":dt>=1?M("planAccounts.rented.inc.completeAria"):M("planAccounts.rented.inc.aria"),title:dt<1?M("planAccounts.rented.inc.title"):void 0,children:"+"})})]})]})]}),a.jsx("div",{className:"mt-2 rounded-lg border border-[#0a66c2]/30 bg-[#0a66c2]/10 px-3 py-2","data-testid":"perf-plan-white-label",children:a.jsxs("p",{className:"text-[11px] text-foreground",children:[Vr&&a.jsxs(a.Fragment,{children:[a.jsx("strong",{children:M("planCard.atMax",{max:al})})," "]}),Ob(M("planCard.needMore"),{contact:a.jsx("button",{type:"button",onClick:()=>Ut(!0),className:"font-semibold text-[#0a66c2] hover:underline",children:M("account.contact")})})]})}),Eo&&(_n||Ho)&&a.jsxs("div",{className:"mt-2 rounded-xl border border-sky-200 dark:border-sky-800 bg-sky-50 dark:bg-sky-950/40 px-4 py-3","data-testid":"perf-plan-rented-billing-summary",children:[a.jsxs("div",{className:"text-[10px] uppercase tracking-wider text-sky-700 dark:text-sky-300 mb-2 flex items-center justify-between",children:[a.jsx("span",{children:M("planCard.billing.title")}),a.jsx("span",{className:"font-normal normal-case text-[9px] opacity-70",children:Ho?M("planCard.billing.calculating"):_n?.exact?M("planCard.billing.exact"):M("planCard.billing.estimated")})]}),a.jsxs("div",{className:"grid grid-cols-3 gap-2 text-center",children:[a.jsxs("div",{children:[Ho?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-rented-charged-today-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-rented-charged-today",children:so(_n.chargedTodayUsd)}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:M("planCard.billing.chargedToday")})]}),a.jsxs("div",{children:[Ho?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-rented-prorated-days-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-rented-prorated-days",children:M(_n.proratedDays!==1?"planCard.days.other":"planCard.days.one",{count:_n.proratedDays})}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:M("planCard.billing.proratedPeriod")})]}),a.jsxs("div",{children:[Ho?a.jsx("div",{className:"h-5 w-14 mx-auto rounded bg-sky-200 dark:bg-sky-700 animate-pulse","data-testid":"perf-plan-rented-new-monthly-skeleton"}):a.jsx("div",{className:"text-[15px] font-bold text-sky-900 dark:text-sky-100","data-testid":"perf-plan-rented-new-monthly",children:so(_n.newMonthlyTotalUsd)}),a.jsx("div",{className:"text-[10px] text-sky-700 dark:text-sky-300 leading-tight mt-0.5",children:M("planCard.billing.thenMonthly")})]})]}),!Ho&&_n&&_n.chargedTodayUsd===0&&_n.newMonthlyTotalUsd<_n.currentMonthlyTotalUsd&&a.jsx("p",{className:"text-[10px] text-center text-sky-700 dark:text-sky-300 mt-2",children:M("planAccounts.removalNoCharge")}
59),_n?.missingPeriodEnd&&a.jsx("p",{className:"text-[10px] text-center text-amber-700 dark:text-amber-300 mt-2",children:M("planCard.billing.exactAtCheckout")})]}),(A||dt>0&&j||Tn||Rt<0&&!!ce)&&a.jsx("button",{type:"button",onClick:()=>{Tn?(F?.(),Io(!1)):dt>0&&Rt>0?(P?P(Rt):(A?.(Rt),j?.()),ma(eo),Ct(0)):dt>0?(q&&P?P(0):j&&j(),Ct(0)):A&&Rt>0?(A(Rt),ma(eo)):Rt<0&&ce&&(ce(Math.abs(Rt)),ma(eo))},disabled:y||dt===0&&Rt===0&&!Tn,className:`mt-2 w-full text-[11px] font-semibold py-1.5 rounded-md text-white disabled:opacity-50 ${Tn||Rt<0?"bg-rose-600 hover:bg-rose-700":"bg-[#0a66c2] hover:bg-[#0a4f99]"}`,"data-testid":"perf-plan-proceed-checkout",children:Tn?M("planAccounts.proceed.removeRented"):Rt<0?M(Math.abs(Rt)>1?"planAccounts.proceed.removeOwn.other":"planAccounts.proceed.removeOwn.one",{count:Math.abs(Rt)}):dt>0&&Rt>0?M("planAccounts.proceed.both",{own:Rt,rented:dt}):dt>0?M(dt>1?"planAccounts.proceed.rented.other":"planAccounts.proceed.rented.one",{count:dt}):Rt>0?M(Rt>1?"planAccounts.proceed.own.other":"planAccounts.proceed.own.one",{count:Rt}):M("planAccounts.proceed")})]}),!ye&&G&&a.jsxs("button",{type:"button",onClick:()=>ue?.scrollIntoView({behavior:"smooth",block:"start"}),className:"mb-3 w-full flex items-center justify-center gap-1.5 rounded-lg border border-[#0a66c2]/40 bg-[#0a66c2]/5 px-3 py-2 text-[12px] font-semibold text-[#0a66c2] hover:bg-[#0a66c2]/10 transition-colors","data-testid":"perf-plan-scroll-to-campaigns",title:M("planAccounts.scrollTo.title"),children:[M("planAccounts.scrollTo"),a.jsx(Cg,{className:"w-3.5 h-3.5"})]}),!ye&&a.jsxs(L4,{placeBelow:!!G,target:ue??null,children:[a.jsxs("ul",{className:"grid gap-3 lg:grid-cols-2",children:[n.length===0&&a.jsxs("li",{className:"text-[12px] text-muted-foreground italic px-2 py-3 text-center","data-testid":"perf-plan-no-accounts",children:[M("planAccounts.noAccounts"),v>0&&a.jsxs(a.Fragment,{children:[" ",Ob(M(v===1?"planAccounts.noAccounts.covers.one":"planAccounts.noAccounts.covers.other",{count:v}),{connect:R?a.jsx("button",{className:"underline hover:text-foreground transition-colors",onClick:D=>{D.stopPropagation(),R()},children:M("planAccounts.connectOne")}):M("planAccounts.connectOne")})]})]}),n.map(D=>{const be=D.campaigns.filter(Ie=>!(Ie.coveredByPerfPlan===!1&&Ie.pausedReason==="uncovered")),Se=be.length,he=Math.max(0,e-Se),Ue=!!D.disconnectedAt,Xe=D.accountSource!=="virtual_rented"&&!D.isOrphan&&Se===0&&!!$,Dt=Xe&&hn<=1,kn=Oe!=null,on=kn&&D.campaigns.some(Ie=>Ie.id===Oe),yn=kn&&!y&&!on&&((d[Oe]||[]).includes(D.providerAccountId)||(m?.[Oe]||[]).includes(D.providerAccountId)),Ot=yn&&pt===D.providerAccountId;return a.jsxs("li",{onDragOver:yn?Ie=>{Ie.preventDefault(),Ie.dataTransfer.dropEffect="move"}:void 0,onDragEnter:yn?()=>xt(D.providerAccountId):void 0,onDragLeave:yn?Ie=>{Ie.currentTarget.contains(Ie.relatedTarget)||xt(null)}:void 0,onDrop:yn?async Ie=>{Ie.preventDefault();const wo=Oe;if(xt(null),Ke(null),!(wo==null||Number.isNaN(wo))){We(wo);try{await S(wo,D.providerAccountId)}finally{We(null)}}}:void 0,className:`rounded-lg border p-3 transition-all ${Ue||D.isOrphan?"border-amber-200 dark:border-amber-700 bg-amber-50/40 dark:bg-amber-950/30":"border-border bg-muted"} ${Ot?"border-[#0a66c2] bg-[#0a66c2]/10 ring-2 ring-[#0a66c2] ring-offset-1 ring-offset-background":yn?"ring-2 ring-[#0a66c2]/60 ring-offset-1 ring-offset-background":kn&&!on?"opacity-40":""}`,"data-testid":`perf-plan-account-${D.providerAccountId}`,children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[D.profileImageUrl?a.jsx("img",{src:D.profileImageUrl,alt:Ht(D),className:"w-7 h-7 rounded-full object-cover border border-border shrink-0"}):a.jsx("div",{className:"w-7 h-7 rounded-full bg-muted border border-border shrink-0"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:Ht(D)}),a.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[M(e===1?"planAccounts.slotsUsed.one":"planAccounts.slotsUsed.other",{used:Se,count:e}),Ue&&a.jsx("span",{className:"ms-1 text-amber-700 dark:text-amber-300 font-semibold",children:M("planAccounts.disconnected")}),D.isOrphan&&a.jsx("span",{className:"ms-1 text-amber-700 dark:text-amber-300 font-semibold",children:M("planAccounts.notInAccounts")})]})]}),D.isOrphan&&Y&&D.campaigns.length>0?a.jsxs("button",{type:"button",onClick:Ie=>{Ie.stopPropagation(),Y(D.campaigns[0].id)},disabled:y,className:"shrink-0 inline-flex items-center gap-1 px-2 py-1 rounded-md text-[11px] font-medium text-indigo-700 dark:text-indigo-300 hover:bg-indigo-50 dark:hover:bg-indigo-950/40 disabled:opacity-30 disabled:hover:bg-transparent","data-testid":`perf-plan-assign-orphan-${D.providerAccountId}`,title:M("planAccounts.assignOrphan.title"),"aria-label":M("planAccounts.assignOrphan.aria",{name:Ht
59(D)}),children:[a.jsx(Hu,{className:"w-3.5 h-3.5"}),M("planAccounts.assign")]}):D.accountSource==="virtual_rented"&&!D.isOrphan&&ae&&D.campaigns.length>0?a.jsxs("button",{type:"button",onClick:Ie=>{Ie.stopPropagation(),ae(D.campaigns[0].id)},disabled:y,className:"shrink-0 inline-flex items-center gap-1 px-2 py-1 rounded-md text-[11px] font-medium text-indigo-700 dark:text-indigo-300 hover:bg-indigo-50 dark:hover:bg-indigo-950/40 disabled:opacity-30 disabled:hover:bg-transparent","data-testid":`perf-plan-setup-page-admin-${D.providerAccountId}`,title:M("planAccounts.setupRented.title"),"aria-label":M("planAccounts.setupRented.aria",{name:Ht(D)}),children:[a.jsx(Hu,{className:"w-3.5 h-3.5"}),M("planAccounts.setupRented")]}):null,Xe&&a.jsx("button",{type:"button",onClick:Ie=>{Ie.stopPropagation(),$(D.providerAccountId)},disabled:y,className:"shrink-0 p-1 rounded-md text-muted-foreground hover:text-rose-600 dark:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-muted-foreground","data-testid":`perf-plan-remove-own-account-${D.providerAccountId}`,title:M(Dt?"planAccounts.removeOwn.onlyTitle":"planAccounts.removeOwn.title"),"aria-label":Dt?M("planAccounts.removeOwn.onlyAria",{name:Ht(D)}):M("planAccounts.removeOwn.aria",{name:Ht(D)}),children:a.jsx(du,{className:"w-3.5 h-3.5"})})]}),ie&&!D.isOrphan&&typeof D.billedCapacity=="number"&&D.billedCapacity>0&&(()=>{const Ie=D.billedCapacity,wo=D.effectiveEngagers??Ie,Ro=N4;return a.jsxs("div",{className:"mb-2 flex items-center gap-1.5 flex-wrap","data-testid":`perf-plan-throttle-${D.providerAccountId}`,children:[a.jsx("span",{className:"text-[10px] font-medium text-muted-foreground",children:M("planAccounts.throttle.label")}),a.jsx("div",{className:"inline-flex rounded-md border border-border overflow-hidden",children:Ro.map(bo=>{const za=wo===bo;return a.jsx("button",{type:"button",onClick:yi=>{yi.stopPropagation(),!za&&ie(D.providerAccountId,bo>=Ie?null:bo)},disabled:y,className:`px-2 py-0.5 text-[11px] font-semibold transition-colors disabled:opacity-40 ${za?"bg-[#0a66c2] text-white":"bg-background text-muted-foreground hover:bg-muted"}`,"data-testid":`perf-plan-throttle-${D.providerAccountId}-${bo}`,title:M("planAccounts.throttle.title",{pct:bo}),"aria-label":M("planAccounts.throttle.aria",{name:Ht(D),count:bo}),"aria-pressed":za,children:bo},bo)})})]})})(),a.jsxs("ul",{className:"space-y-1.5",children:[be.map(Ie=>{const Ro=(d[Ie.id]||[]).filter(Ye=>Ye!==D.providerAccountId),bo=(p?.[Ie.id]||[]).filter(Ye=>Ye!==D.providerAccountId),za=(m?.[Ie.id]||[]).filter(Ye=>Ye!==D.providerAccountId&&!Ro.includes(Ye)),yi=(h?.[Ie.id]||[]).filter(Ye=>Ye!==D.providerAccountId&&!bo.includes(Ye)),vi=Ue?{text:M("planAccounts.badge.disconnected"),cls:"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800"}:Ie.isActive?{text:M("planAccounts.badge.live"),cls:"bg-green-100 dark:bg-green-950/40 text-green-700 dark:text-green-300 border-green-200 dark:border-green-800"}:Ie.pausedReason==="trial_ended"?{text:M("planAccounts.badge.trialEnded"),cls:"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800"}:Ie.pausedReason==="plan_change"?{text:M("common.paused"),cls:"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800"}:Ie.pausedReason==="no_entitlement"?{text:M("planAccounts.badge.noPlan"),cls:"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800"}:{text:M("planAccounts.badge.idle"),cls:"bg-muted text-muted-foreground border-border"},Go=!!se,ha=Mt===Ie.id,Ba=Ue||D.isOrphan,Va=D.accountSource==="virtual_rented"&&!D.isOrphan&&!Ue,Ha=Ie.coveredByPerfPlan!==!1||Ba||Va,Ko=Ha&&!y&&(Ro.length>0||za.length>0||Ie.assetType==="company"&&As&&!!R||!!J),qa=Oe===Ie.id,tf=!!C&&Ha,El=Ha&&(Ro.length>0||za.length>0||!!J),Is=tf||El;return a.jsxs("li",{draggable:Ko,onDragStart:Ko?Ye=>{if(Ye.target.closest("button, select, a, input")){Ye.preventDefault();return}Ye.dataTransfer.effectAllowed="move",Ye.dataTransfer.setData("text/plain",String(Ie.id)),Ke(Ie.id)}:void 0,onDragEnd:Ko?()=>{Ke(null),xt(null)}:void 0,onClick:Go?()=>se(Ie.id):void 0,role:Go?"button":void 0,tabIndex:Go?0:void 0,onKeyDown:Go?Ye=>{(Ye.key==="Enter"||Ye.key===" ")&&(Ye.preventDefault(),se(Ie.id))}:void 0,className:`relative flex flex-col gap-1.5 text-[12px] bg-card border border-border rounded-md px-2 py-1.5 ${Go?"hover:border-[#0a66c2] hover:bg-[#0a66c2]/5 transition-colors":""} ${Ko?"cursor-grab active:cursor-grabbing select-none":Go?"cursor-pointer":""} ${qa?"opacity-40 ring-2 ring-[#0a66c2]":""} ${pe===Ie.id?"opacity-60 ring-2 ring-[#0a66c2] pointer-events-none":""}`,title:Ko?M("planAccounts.campaign.dragTitle"):Go?M("planAccounts.campaign.editTitle"):void 0,"data-testid":`perf-plan-campaign-${Ie.id}`,children:[pe===Ie.id&&a.jsxs("span",{className:"absolute inset-0 z-10 flex items-center justify-center gap-1.5 rounded-md bg-card/75 text-[11px] font-medium text-muted-foreground","data-testid":`perf-plan-campaign-${Ie.id}-moving`,children:[a.jsx(zt,{className:"w-3 h-3 animate-spin"}),M("planAccounts.moving")]}
59),a.jsxs("div",{className:"flex items-center gap-2 min-w-0 w-full",children:[Ko&&a.jsx(NA,{className:"w-3 h-3 shrink-0 text-muted-foreground/40","aria-hidden":!0}),Ie.assetLogoUrl?a.jsx("img",{src:Ie.assetLogoUrl,alt:Ie.assetName||"",className:`w-5 h-5 shrink-0 object-cover border border-border ${Ie.assetType==="company"?"rounded":"rounded-full"}`}):a.jsx("div",{className:`w-5 h-5 shrink-0 bg-muted border border-border ${Ie.assetType==="company"?"rounded":"rounded-full"}`}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-medium text-foreground",children:Ie.name}),Ie.assetName&&a.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:["â ",Ie.assetName]})]}),a.jsx("span",{className:`shrink-0 text-[10px] px-1.5 py-0.5 rounded-full border ${vi.cls}`,children:vi.text})]}),Is&&a.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap ps-7",children:[C&&Ha&&a.jsxs("select",{value:"",disabled:y||Ve===Ie.id,onClick:Ye=>Ye.stopPropagation(),onKeyDown:Ye=>Ye.stopPropagation(),onChange:async Ye=>{const jn=Ye.target.value;if(jn){st(Ie.id);try{await C(Ie.id,jn==="__unassigned__"?void 0:jn)}finally{st(null)}}},className:"shrink-0 w-[4.5rem] text-[10px] border border-border rounded px-1 py-0.5 bg-card disabled:opacity-50","data-testid":`perf-plan-clone-${Ie.id}`,title:M("planAccounts.copy.title"),children:[a.jsx("option",{value:"",children:Ve===Ie.id?M("planAccounts.copying"):M("planAccounts.copy")}),bo.map(Ye=>{const jn=n.find(Yo=>Yo.providerAccountId===Ye);return a.jsx("option",{value:Ye,children:M("planAccounts.copyTo",{name:jn?.profileName||Ye.slice(0,8)+"â¦"})},Ye)}),yi.map(Ye=>{const jn=n.find(Yo=>Yo.providerAccountId===Ye);return a.jsx("option",{value:Ye,children:M("planAccounts.copyToVerify",{name:jn?.profileName||Ye.slice(0,8)+"â¦"})},Ye)}),a.jsx("option",{value:"__unassigned__",children:M("planAccounts.newUnassignedTab")})]}),El&&a.jsxs("select",{value:"",disabled:y||pe===Ie.id||It===Ie.id,onClick:Ye=>Ye.stopPropagation(),onKeyDown:Ye=>Ye.stopPropagation(),onChange:async Ye=>{const jn=Ye.target.value;if(jn){if(jn==="__unassigned__"){if(!J)return;Et(Ie.id);try{await J(Ie.id)}finally{Et(null)}return}We(Ie.id);try{await S(Ie.id,jn)}finally{We(null)}}},className:"shrink-0 w-[4.5rem] text-[10px] border border-border rounded px-1 py-0.5 bg-card disabled:opacity-50","data-testid":`perf-plan-reassign-${Ie.id}`,title:M("planAccounts.move.title"),children:[a.jsx("option",{value:"",children:pe===Ie.id||It===Ie.id?M("planAccounts.moving"):M("planAccounts.move")}),Ro.map(Ye=>{const jn=n.find(Yo=>Yo.providerAccountId===Ye);return a.jsx("option",{value:Ye,children:jn?.profileName||Ye.slice(0,8)+"â¦"},Ye)}),za.map(Ye=>{const jn=n.find(Yo=>Yo.providerAccountId===Ye);return a.jsx("option",{value:Ye,children:M("planAccounts.verifyAdminOption",{name:jn?.profileName||Ye.slice(0,8)+"â¦"})},Ye)}),J&&a.jsx("option",{value:"__unassigned__",children:M("planAccounts.newUnassignedTab")})]})]}),!!ee&&a.jsx("button",{type:"button",onKeyDown:Ye=>Ye.stopPropagation(),onClick:async Ye=>{if(Ye.stopPropagation(),!ha){mn(Ie.id);try{await ee(Ie.id,Ie.name)}finally{mn(null)}}},disabled:y||ha,className:"absolute bottom-1.5 start-1.5 p-0.5 rounded text-muted-foreground/40 hover:text-rose-600 dar
59k:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-muted-foreground transition-colors","data-testid":`perf-plan-uncover-campaign-${Ie.id}`,title:M("planAccounts.freeSlot.title",{name:Ie.name}),"aria-label":M("planAccounts.freeSlot.aria",{name:Ie.name}),children:a.jsx(tr,{className:"w-3 h-3"})})]},Ie.id)}),he>0&&re&&!D.isOrphan&&!Ue&&Array.from({length:he}).map((Ie,wo)=>{const Ro=$t===D.providerAccountId;return a.jsx("li",{className:"px-0",children:a.jsxs("button",{type:"button",onClick:async()=>{nn(D.providerAccountId);try{await re(D.providerAccountId,D.accountSource??null)}finally{nn(null)}},disabled:y||Ro,className:"w-full flex items-center gap-1.5 text-[11px] text-muted-foreground hover:text-[#0a66c2] hover:bg-card border border-dashed border-border hover:border-[#0a66c2] rounded-md px-2 py-1.5 transition-colors disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-muted-foreground disabled:hover:border-border","data-testid":`perf-plan-add-campaign-${D.providerAccountId}-${wo}`,title:M("planAccounts.addCampaign.title",{name:Ht(D)}),"aria-label":M("planAccounts.addCampaign.aria",{name:Ht(D)}),children:[a.jsx(na,{className:"w-3 h-3"}),a.jsx("span",{children:M(Ro&&wo===0?"planAccounts.creating":"planAccounts.addCampaign")})]})},`empty-${wo}`)}),he>0&&(!re||D.isOrphan||Ue)&&a.jsx("li",{className:"text-[11px] text-muted-foreground italic px-2 py-1","data-testid":`perf-plan-empty-slots-${D.providerAccountId}`,children:M(he===1?"planAccounts.emptySlots.one":"planAccounts.emptySlots.other",{count:he})})]})]},D.providerAccountId)}),Rt>0&&Array.from({length:Rt}).map((D,be)=>a.jsxs("li",{onDragOver:it?Se=>{Se.preventDefault(),Se.dataTransfer.dropEffect="move"}:void 0,onDragEnter:it?()=>Lt(!0):void 0,onDragLeave:it?Se=>{Se.currentTarget.contains(Se.relatedTarget)||Lt(!1)}:void 0,onDrop:it?Se=>{Se.preventDefault(),Lt(!1),Ke(null),xt(null),R?.()}:void 0,className:`rounded-lg border border-dashed p-3 transition-all ${un?"border-[#0a66c2] bg-[#0a66c2]/10 ring-2 ring-[#0a66c2] ring-offset-1 ring-offset-background":it?"border-[#0a66c2]/50 bg-muted/50 ring-1 ring-[#0a66c2]/30":"border-border bg-muted/50"}`,"data-testid":`perf-plan-staged-slot-${be}`,children:[a.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[a.jsx("div",{className:"w-7 h-7 rounded-full bg-muted border border-dashed border-border shrink-0 flex items-center justify-center",children:a.jsx(na,{className:"w-3.5 h-3.5 text-muted-foreground"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:M("planAccounts.staged.title")}),a.jsx("div",{className:"text-[10px] text-muted-foreground",children:M(e===1?"planAccounts.staged.sub.one":"planAccounts.staged.sub.other",{count:e})})]}),a.jsx("button",{type:"button",onClick:()=>ma(Se=>Math.max(eo,Se-1)),disabled:y,className:"shrink-0 p-1 rounded-md text-muted-foreground hover:text-rose-600 dar
59k:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-muted-foreground","data-testid":`perf-plan-remove-staged-slot-${be}`,title:M("planAccounts.staged.remove.title"),"aria-label":M("planAccounts.staged.remove.aria"),children:a.jsx(du,{className:"w-3.5 h-3.5"})})]}),a.jsx("div",{className:"mb-2 rounded-md bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 px-2 py-1.5 text-[10px] text-amber-700 dark:text-amber-300 leading-snug",children:M("planAccounts.staged.note")}),R&&a.jsxs("button",{type:"button",onClick:Se=>{Se.stopPropagation(),R()},className:"w-full mb-2 flex items-center justify-center gap-1.5 text-[11px] font-semibold text-[#0a66c2] hover:bg-[#0a66c2]/10 border border-dashed border-[#0a66c2]/40 hover:border-[#0a66c2] rounded-md px-2 py-1.5 transition-colors","data-testid":`perf-plan-staged-connect-${be}`,title:M("planAccounts.staged.connect.title"),children:[a.jsx(na,{className:"w-3 h-3"}),M("planAccounts.staged.connect")]}),a.jsx("ul",{className:"space-y-1.5",children:Array.from({length:e}).map((Se,he)=>a.jsxs("li",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground italic border border-dashed border-border rounded-md px-2 py-1.5 bg-card/40",children:[a.jsx(na,{className:"w-3 h-3"}),a.jsx("span",{children:M("planAccounts.emptyCampaignSlot")})]},`empty-${he}`))})]},`staged-${be}`)),dt>0&&Array.from({length:dt}).map((D,be)=>a.jsxs("li",{className:"rounded-lg border border-dashed border-indigo-300 dark:border-indigo-700 bg-indigo-50/40 dark:bg-indigo-950/20 p-3","data-testid":`perf-plan-rented-staged-slot-${be}`,children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx("div",{className:"w-7 h-7 rounded-full bg-indigo-100 dark:bg-indigo-950/40 border border-dashed border-indigo-300 dark:border-indigo-700 shrink-0 flex items-center justify-center",children:a.jsx(na,{className:"w-3.5 h-3.5 text-indigo-500 dark:text-indigo-400"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-[13px] font-semibold text-indigo-700 dark:text-indigo-300",children:M("planAccounts.rentedStaged.title")}),a.jsx("div",{className:"text-[10px] text-indigo-500 dark:text-indigo-400",children:M(e===1?"planAccounts.rentedStaged.sub.one":"planAccounts.rentedStaged.sub.other",{count:e})})]}),a.jsx("button",{type:"button",onClick:()=>{Ct(Se=>Math.max(0,Se-1)),E?.(-1)},disabled:y,className:"shrink-0 p-1 rounded-md text-indigo-400 hover:text-rose-600 dar
59k:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-indigo-400","data-testid":`perf-plan-remove-rented-staged-${be}`,title:M("planAccounts.rentedStaged.remove.title"),"aria-label":M("planAccounts.rentedStaged.remove.aria"),children:a.jsx(du,{className:"w-3.5 h-3.5"})})]}),a.jsx("ul",{className:"space-y-1.5",children:Array.from({length:e}).map((Se,he)=>a.jsxs("li",{className:"flex items-center gap-1.5 text-[11px] text-indigo-400 dark:text-indigo-500 italic border border-dashed border-indigo-200 dark:border-indigo-800 rounded-md px-2 py-1.5 bg-card/40",children:[a.jsx(na,{className:"w-3 h-3"}),a.jsx("span",{children:M("planAccounts.rentedStaged.slot")})]},`empty-${he}`))})]},`rented-staged-${be}`)),n.length>0&&hn>n.length&&Array.from({length:hn-n.length}).map((D,be)=>a.jsxs("li",{onDragOver:it?Se=>{Se.preventDefault(),Se.dataTransfer.dropEffect="move"}:void 0,onDragEnter:it?()=>Lt(!0):void 0,onDragLeave:it?Se=>{Se.currentTarget.contains(Se.relatedTarget)||Lt(!1)}:void 0,onDrop:it?Se=>{Se.preventDefault(),Lt(!1),Ke(null),xt(null),R?.()}:void 0,className:`rounded-lg border border-dashed p-3 transition-all ${un?"border-[#0a66c2] bg-[#0a66c2]/10 ring-2 ring-[#0a66c2] ring-offset-1 ring-offset-background":it?"border-[#0a66c2]/50 bg-muted/50 ring-1 ring-[#0a66c2]/30":"border-border bg-muted/50"}`,"data-testid":`perf-plan-unfilled-slot-${be}`,children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx("div",{className:"w-7 h-7 rounded-full bg-muted border border-dashed border-border shrink-0 flex items-center justify-center",children:a.jsx(na,{className:"w-3.5 h-3.5 text-muted-foreground"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate text-[13px] font-semibold text-muted-foreground",children:M("planAccounts.unfilled.title")}),a.jsx("div",{className:"text-[10px] text-muted-foreground",children:M(e===1?"planAccounts.unfilled.sub.one":"planAccounts.unfilled.sub.other",{count:e})})]}),a.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[R&&a.jsx("button",{type:"button",onClick:()=>R(),disabled:y,className:"text-[10px] px-1.5 py-0.5 rounded border border-[#0a66c2]/40 bg-[#0a66c2]/10 text-[#0a66c2] hover:bg-[#0a66c2]/20 hover:border-[#0a66c2]/60 disabled:opacity-40 transition-colors","data-testid":`perf-plan-connect-account-slot-${be}`,title:M("planAccounts.unfilled.connect.title"),children:M("planAccounts.unfilled.connect")}),ce&&hn>1&&a.jsx("button",{type:"button",onClick:()=>ce(),disabled:y,className:"p-1 rounded-md text-muted-foreground hover:text-rose-600 dar
59k:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-muted-foreground","data-testid":`perf-plan-remove-unfilled-slot-${be}`,title:M("planAccounts.unfilled.remove.title"),"aria-label":M("planAccounts.unfilled.remove.aria"),children:a.jsx(du,{className:"w-3.5 h-3.5"})})]})]}),a.jsx("ul",{className:"space-y-1.5",children:Array.from({length:e}).map((Se,he)=>a.jsxs("li",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground italic border border-dashed border-border rounded-md px-2 py-1.5 bg-card/40","data-testid":`perf-plan-unfilled-slot-${be}-campaign-${he}`,children:[a.jsx(na,{className:"w-3 h-3"}),a.jsx("span",{children:M("planAccounts.emptyCampaignSlot")})]},`empty-${he}`))})]},`unfilled-${be}`)),r&&r.length>0&&l&&a.jsxs("li",{className:"rounded-lg border border-border bg-muted p-3","data-testid":"perf-plan-uncovered-section",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold mb-1",children:M("planAccounts.uncovered.title")}),a.jsx("div",{className:"text-[11px] text-muted-foreground mb-2 leading-snug",children:M("planAccounts.uncovered.body")}),a.jsx("ul",{className:"space-y-1.5",children:r.map(D=>{const be=D.accountId?n.find(Ue=>Ue.providerAccountId===D.accountId):null,Se=co===D.id,he=!!se;return a.jsxs("li",{onClick:he?()=>se(D.id):void 0,role:he?"button":void 0,tabIndex:he?0:void 0,onKeyDown:he?Ue=>{(Ue.key==="Enter"||Ue.key===" ")&&(Ue.preventDefault(),se(D.id))}:void 0,className:`flex items-center justify-between gap-2 text-[12px] bg-card border border-border rounded-md px-2 py-1.5 ${he?"cursor-pointer hover:border-[#0a66c2] hover:bg-[#0a66c2]/5 transition-colors":""}`,"data-testid":`perf-plan-uncovered-campaign-${D.id}`,children:[!!ee&&a.jsx("button",{type:"button",onKeyDown:Ue=>Ue.stopPropagation(),onClick:async Ue=>{if(Ue.stopPropagation(),Mt!==D.id){mn(D.id);try{await ee(D.id,D.name)}finally{mn(null)}}},disabled:y||Mt===D.id,className:"shrink-0 p-0.5 rounded text-muted-foreground/40 hover:text-rose-600 dar
59k:hover:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-950/40 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-muted-foreground transition-colors","data-testid":`perf-plan-uncover-uncovered-campaign-${D.id}`,title:M("planAccounts.uncovered.remove.title",{name:D.name}),"aria-label":M("planAccounts.uncovered.remove.aria",{name:D.name}),children:a.jsx(tr,{className:"w-3 h-3"})}),a.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[D.assetLogoUrl?a.jsx("img",{src:D.assetLogoUrl,alt:D.assetName||"",className:`w-5 h-5 shrink-0 object-cover border border-border ${D.assetType==="company"?"rounded":"rounded-full"}`}):a.jsx("div",{className:`w-5 h-5 shrink-0 bg-muted border border-border ${D.assetType==="company"?"rounded":"rounded-full"}`}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-medium text-foreground",children:D.name}),a.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",children:[D.assetName?`â ${D.assetName}`:M("planAccounts.noAsset"),be?.profileName&&a.jsxs("span",{children:[" · ",be.profileName]})]})]})]}),a.jsx("span",{className:"shrink-0 text-[10px] px-1.5 py-0.5 rounded-full border bg-muted text-muted-foreground border-border",children:M("planAccounts.removed")}),a.jsxs("button",{type:"button",onClick:async Ue=>{if(Ue.stopPropagation(),!Se){bt(D.id);try{await l(D.id,D.name)}finally{bt(null)}}},onKeyDown:Ue=>Ue.stopPropagation(),disabled:y||Se,className:"shrink-0 inline-flex items-center gap-1 text-[11px] font-semibold px-2 py-1 rounded-md bg-[#0a66c2] text-white hover:bg-[#0a4f99] disabled:opacity-50","data-testid":`perf-plan-recover-campaign-${D.id}`,title:M("planAccounts.recover.title",{name:D.name}),"aria-label":M("planAccounts.recover.aria",{name:D.name}),children:[a.jsx(Ag,{className:"w-3 h-3"}),a.jsx("span",{children:M(Se?"planAccounts.recovering":"planAccounts.recover")})]})]},D.id)})})]})]}),i&&i.length>0&&a.jsxs("div",{ref:en,className:`mt-3 rounded-lg border bg-[#0a66c2]/5 p-3 transition-all duration-300 ${Vo?"border-[#0a66c2] ring-2 ring-[#0a66c2]/50":"border-[#0a66c2]/30"}`,"data-testid":"perf-plan-unassigned-section",children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#0a66c2] dark:text-[#4a9eff] font-semibold mb-1",children:M("planAccounts.unassigned.title")}),a.jsxs("div",{className:"text-[11px] text-muted-foreground mb-2 leading-snug",children:[i.length===1?M("planAccounts.unassigned.body.one"):M("planAccounts.unassigned.body.other",{count:i.length})," ",M("planAccounts.unassigned.help")]}),(()=>{const D=i??[],be=new Map;for(const he of D){const Ue=d[he.id]??[];if(Ue.length!==1)continue;const gt=Ue[0];be.has(gt)||be.set(gt,[]),be.get(gt).push(he.id)}const Se=[];return be.forEach((he,Ue)=>{if(he.length<2)return;const gt=n.find(on=>on.providerAccountId===Ue),Xe=gt?gt.campaigns.filter(on=>!(on.coveredByPerfPlan===!1&&on.pausedReason==="uncovered")).length:0,Dt=Math.max(0,e-Xe);if(Dt<2)return;const kn=gt?.profileName||Ue.slice(0,8)+"â¦";Se.push({accountId:Ue,accountName:kn,campaignIds:he,capacity:Dt,count:Math.min(he.length,Dt)})}),Se.length===0?null:a.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5","data-testid":"perf-plan-assign-all-bar",children:Se.map(he=>a.jsx("button",{type:"button",disabled:y||!!Ge||pe!=null,onClick:async Ue=>{if(Ue.stopPropagation(),y||Ge||pe!=null)return;const gt=new Map(D.map(on=>[on.id,on.name]));wt(null),ut(he.accountId);const Xe=[];let Dt=0;const kn=he.campaignIds.slice(0,he.capacity);try{if(k){const on=await k(kn,he.accountId);Dt=on.assigned;for(const yn of on.skipped)Xe.push({campaignId:yn.campaignId,name:gt.get(yn.campaignId)||M("topup.campaignFallback",{id:yn.campaignId}),error:yn.error||M("planAccounts.couldntAssign")})}else for(const on of kn){const yn=await S(on,he.accountId,{silent:!0});yn&&yn.ok===!1?Xe.push({campaignId:on,name:gt.get(on)||M("topup.campaignFallback",{id:on}),error:yn.error||M("planAccounts.couldntAssign")}):Dt+=1}}finally{ut(null)}Xe.length>0&&wt({accountId:he.accountId,accountName:he.accountName,assigned:Dt,skipped:Xe})},onKeyDown:Ue=>Ue.stopPropagation(),className:"text-[10px] font-semibold border border-[#0a66c2]/60 rounded px-2 py-0.5 bg-[#0a66c2] text-white hover:bg-[#0a4f99] disabled:opacity-50 transition-colors","data-testid":`perf-plan-assign-all-${he.accountId}`,title:M(he.count===1?"planAccounts.assignAll.title.one":"planAccounts.assignAll.title.other",{count:he.count,name:he.accountName}),"aria-label":M("planAccounts.assignAll.aria",{count:he.count,name:he.accountName}),children:Ge===he.accountId?M("planAccounts.assigning"):M("planAccounts.assignAll",{count:he.count,name:he.accountName})},he.accountId))})})(),Fe&&Fe.skipped.length>0&&a.jsxs("div",{className:"mb-2 rounded-md border border-amber-400/60 bg-amber-50 dark:bg-amber-950/30 px-2.5 py-2","data-testid":"perf-plan-bulk-skip-summary",children:[(()=>{const D=Fe.skipped.filter(Se=>(d[Se.campaignId]??[]).length>0).length,be=y||tt!=null||!!Ge||dn;return a.jsxs("div",{className:"flex items-start justify-between gap-2",children:[a.jsx("div",{className:"text-[11px] font-semibold text-amber-800 dark:text-amber-300 leading-snug",children:Fe.assigned>0?M("planAccounts.bulk.partial",{assigned:Fe.assigned,skipped:Fe.skipped.length,name:Fe.accountName}
59):M(Fe.skipped.length===1?"planAccounts.bulk.none.one":"planAccounts.bulk.none.other",{count:Fe.skipped.length,name:Fe.accountName})}),a.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[D>1&&a.jsx("button",{type:"button",disabled:be,onClick:Se=>{Se.stopPropagation(),we()},onKeyDown:Se=>Se.stopPropagation(),className:"text-[10px] font-semibold border border-[#0a66c2]/60 rounded px-1.5 py-0.5 bg-[#0a66c2] text-white hover:bg-[#0a4f99] disabled:opacity-50 transition-colors","data-testid":"perf-plan-bulk-skip-retry-all",title:M("planAccounts.retryAll.title"),"aria-label":M("planAccounts.retryAll.aria",{count:D}),children:dn?M("planAccounts.retrying"):M("planAccounts.retryAll",{count:D})}),a.jsx("button",{type:"button",onClick:Se=>{Se.stopPropagation(),wt(null)},onKeyDown:Se=>Se.stopPropagation(),className:"text-amber-700 dark:text-amber-400 hover:text-amber-900 dark:hover:text-amber-200 text-[14px] leading-none","aria-label":M("planAccounts.bulk.dismiss"),"data-testid":"perf-plan-bulk-skip-dismiss",children:"Ã"})]})]})})(),a.jsx("ul",{className:"mt-1 space-y-1.5",children:Fe.skipped.map(D=>{const be=d[D.campaignId]??[],Se=be.includes(Fe.accountId),he=be.filter(Xe=>Xe!==Fe.accountId),Ue=tt===D.campaignId,gt=y||tt!=null||!!Ge||dn;return a.jsxs("li",{className:"text-[11px] text-amber-800/90 dark:text-amber-200/90 leading-snug","data-testid":`perf-plan-bulk-skip-${D.campaignId}`,children:[a.jsxs("div",{children:[a.jsx("span",{className:"font-medium",children:D.name}),a.jsxs("span",{className:"text-amber-700/80 dark:text-amber-300/80",children:[" â ",D.error]})]}),be.length>0&&a.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[Se&&a.jsx("button",{type:"button",disabled:gt,onClick:Xe=>{Xe.stopPropagation(),vo(D.campaignId,Fe.accountId)},onKeyDown:Xe=>Xe.stopPropagation(),className:"text-[10px] font-semibold border border-[#0a66c2]/60 rounded px-1.5 py-0.5 bg-[#0a66c2] text-white hover:bg-[#0a4f99] disabled:opacity-50 transition-colors","data-testid":`perf-plan-bulk-skip-retry-${D.campaignId}`,title:M("planAccounts.retry.title",{name:Fe.accountName}),"aria-label":M("planAccounts.retry.aria",{campaign:D.name,name:Fe.accountName}),children:Ue?M("planAccounts.retrying"):M("planAccounts.retry",{name:Fe.accountName})}),he.length>0&&a.jsxs("select",{value:"",disabled:gt,onClick:Xe=>Xe.stopPropagation(),onKeyDown:Xe=>Xe.stopPropagation(),onChange:Xe=>{const Dt=Xe.target.value;Dt&&vo(D.campaignId,Dt)},className:"text-[10px] border border-[#0a66c2]/40 rounded px-1 py-0.5 bg-card text-[#0a66c2] disabled:opacity-50 hover:border-[#0a66c2]","data-testid":`perf-plan-bulk-skip-pick-${D.campaignId}`,title:M("planAccounts.pickAnother.title"),"aria-label":M("planAccounts.pickAnother.aria",{name:D.name}),children:[a.jsx("option",{value:"",children:M(Ue?"planAccounts.retrying":"planAccounts.pickAnother")}),he.map(Xe=>{const Dt=n.find(kn=>kn.providerAccountId===Xe);return a.jsx("option",{value:Xe,children:Dt?.profileName||Xe.slice(0,8)+"â¦"},Xe)})]})]})]},D.campaignId)})}),a.jsx("div",{className:"mt-1 text-[10px] text-amber-700/70 dark:text-amber-300/70 leading-snug",children:M("planAccounts.bulk.help")})]}),a.jsx("ul",{className:"space-y-1.5",children:i.map(D=>{const be=!!se,Se=d[D.id]??[];return a.jsxs("li",{onClick:be?()=>se(D.id):void 0,role:be?"button":void 0,tabIndex:be?0:void 0,onKeyDown:be?he=>{(he.key==="Enter"||he.key===" ")&&(he.preventDefault(),se(D.id))}:void 0,className:`flex items-center justify-between gap-2 text-[12px] bg-card border border-border rounded-md px-2 py-1.5 ${be?"cursor-pointer hover:border-[#0a66c2] hover:bg-[#0a66c2]/5 transition-colors":""}`,"data-testid":`perf-plan-unassigned-campaign-${D.id}`,children:[a.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[D.assetLogoUrl?a.jsx("img",{src:D.assetLogoUrl,alt:D.assetName||"",className:`w-5 h-5 shrink-0 object-cover border border-border ${D.assetType==="company"?"rounded":"rounded-full"}`}):a.jsx("div",{className:`w-5 h-5 shrink-0 bg-muted border border-border ${D.assetType==="company"?"rounded":"rounded-full"}`}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-medium text-foreground",children:D.name}),a.jsx("div",{className:"truncate text-[10px] text-muted-foreground",children:M("planAccounts.noAccountAssigned")})]})]}),a.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[!D.assetType&&(ae||se)?a.jsx("button",{onClick:he=>{he.stopPropagation(),(ae??se)(D.id)},onKeyDown:he=>he.stopPropagation(),className:"text-[10px] border border-[#0a66c2]/60 rounded px-1.5 py-0.5 bg-[#0a66c2]/10 text-[#0a66c2] hover:bg-[#0a66c2]/20 hover:border-[#0a66c2] transition-colors","data-testid":`perf-plan-configure-${D.id}`,title:M("planAccounts.configure.title"),"aria-label":M("planAccounts.configure.aria"),children:M("planAccounts.configure")}):Se.length===1?(()=>{const he=Se[0],gt=n.find(Xe=>Xe.providerAccountId===he)?.profileName||he.slice(0,8)+"â¦";return a.jsx("button",{type:"button",disabled:y||pe===D.id||!!Ge,onClick:async Xe=>{if(Xe.stopPropagation(),!(y||pe===D.id||Ge)){We(D.id);try{await S(D.id,he)}finally{We(null)}}},onKeyDown:Xe=>Xe.stopPropagation(),className:"text-[10px] font-semibold border border-[#0a66c2]/60 rounded px-1.5 py-0.5 bg-[#0a66c2] text-white hover:bg-[#0a4f99] disabled:opacity-50 transition-colors","data-testid":`perf-plan-assign-one-click-${D.id}`,title:M("planAccounts.assignOne.title",{name:gt}),"aria-label":M("planAccounts.assignOne.aria",{name:gt}),children:pe===D.id?M("planAccounts.assigning"):M("planAccounts.assignOne",{name:gt})})})():Se.length>0?a.jsxs("select",{value:"",disabled:y||pe===D.id||!!Ge,onClick:he=>he.stopPropagation(),onKeyDown:he=>he.stopPropagation(),onChange:async he=>{const Ue=he.target.value;if(Ue){We(D.id);try{await S(D.id,Ue)}finally{We(null)}}},className:"text-[10px] border border-[#0a66c2]/40 rounded px-1 py-0.5 bg-card text-[#0a66c2] disabled:opacity-50 hover:border-[#0a66c2]","data-testid":`perf-plan-assign-${D.id}`,title:M("planAccounts.assignSelect.title"),"aria-label":M("planAccounts.assignSelect.aria"),children:[a.jsx("option",{value:"",children:pe===D.id?M("planAccounts.assigning"):M("planAccounts.assignSelect")}),Se.map(he=>{const Ue=n.find(gt=>gt.providerAccountId===he);return a.jsx("option",{value:he,children:Ue?.profileName||he.slice(0,8)+"â¦"},he)})]}):D.assetType?(()=>{const he=n.filter(Dt=>!Dt.disconnectedAt&&!Dt.isOrphan).length===0,Ue=he&&!!R,gt=M(he?"planAccounts.noEligible.connectFirst":"planAccounts.noEligible"),Xe=M(he?"planAccounts.noEligible.connectFirst.title":"planAccounts.noEligible.title");return Ue?a.jsxs("button",{type:"button",className:"text-[10px] px-1.5 py-0.5 rounded border border-[#0a66c2]/40 bg-[#0a66c2]/10 text-[#0a66c2] hover:bg-[#0a66c2]/20 hover:border-[#0a66c2]/60 transition-colors cursor-pointer",title:M("planAccounts.noEligible.connectTitle"),"data-testid":`perf-plan-no-eligible-${D.id}`,onClick:Dt=>{Dt.stopPropagation(),R()},children:[gt," â"]}):a.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded border border-border bg-muted text-muted-foreground cursor-default",title:Xe,"data-testid":`perf-plan-no-eligible-${D.id}`,onClick:Dt=>Dt.stopPropagation(),children:gt})})():null,a.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full border bg-[#0a66c2]/10 text-[#0a66c2] border-[#0a66c2]/30",children:M("planAccounts.unassignedBadge")})]})]},D.id)})})]}),a.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2",children:[a.jsx("p",{className:"text-[10px] text-muted-foreground leading-snug",children:M("planAccounts.footnote",{count:Ft.toLocaleStr
59ing()})}),Ne&&n.some(D=>D.campaigns.some(be=>be.coveredByPerfPlan!==!1&&be.assetType==="company"))&&a.jsxs("button",{type:"button",disabled:y||Nt,onClick:async()=>{oe(!0);try{await Ne({manual:!0})}finally{oe(!1)}},className:"shrink-0 inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-[#0a66c2] disabled:opacity-50","data-testid":"perf-plan-refresh-page-admins",title:M("planAccounts.refreshAdmins.title"),children:[a.jsx(O0,{className:`w-3 h-3 ${Nt?"animate-spin":""}`}),a.jsx("span",{children:M(Nt?"planAccounts.refreshAdmins.checking":"planAccounts.refreshAdmins")})]})]})]}),a.jsx(zp,{open:nt,onOpenChange:Ut})]})}function Mb({children:t,onOpen:e,controlledOpen:n,onControlledOpenChange:r}){const i=Jt(),[l,d]=f.useState(!1),p=n!==void 0?n:l,m=r||d,{toast:h}=Oa(),v=xl(),{isAuthenticated:y}=Fr(),[,x]=jo(),[_,S]=f.useState(null),{data:k}=Qt({queryKey:["/api/stripe/saved-cards"],enabled:p&&y}),{data:C}=Qt({queryKey:["/api/usage"],enabled:p}),{data:A}=Qt({queryKey:["/api/visibility/campaigns"],enabled:p&&y}),{data:P}=Qt({queryKey:["/api/visibility/campaign-pricing"],enabled:p&&y}),{data:j}=Qt({queryKey:["/api/stripe/auto-topup"],enabled:p&&y}),{data:E,isLoading:F}=Qt({queryKey:["/api/content/campaigns"],enabled:p}),{data:z}=Qt({queryKey:["/api/payg/subscriptions"],enabled:p&&y}),q=z?.subscriptions||[],re=f.useMemo(()=>{const oe=E?.campaigns;if(!oe||oe.length===0)return[];const Oe=Ke=>{const pt=Ke.updatedAt?new Date(Ke.updatedAt).getTime():NaN;if(Number.isFinite(pt))return pt;const xt=Ke.createdAt?new Date(Ke.createdAt).getTime():NaN;return Number.isFinite(xt)?xt:Ke.id};return[...oe].sort((Ke,pt)=>Oe(pt)-Oe(Ke))},[E]),{status:ee,busy:se,reload:ae,handleCheckout:J,handleSwitch:Y,handleUpdateEngagers:ie,pileAction:Ne,uncoverCampaign:R,cancelSub:ce,resumeSub:$,reassignCampaign:H,reassignCampaignsBulk:O,recoverCampaign:T,cloneCampaign:B,refreshPageAdmins:G}=D5({enabled:p&&y}),[ue,xe]=f.useState(!1),[ye,M]=f.useState("29"),[X,pe]=f.useState(1),We=(ee?.accounts??[]).filter(oe=>oe.accountSource==="virtual_rented").length,Ge=Math.max(1,(ee?.accountsNeeded??1)-We),ut=f.useRef(1);f.useEffect(()=>{ut.current!==Ge&&(ut.current=Ge,pe(Ge))},[Ge]),f.useEffect(()=>{j&&(xe(j.enabled),M(String(j.amount)))},[j]);const Fe=Ca({mutationFn:async()=>await(await ls("POST","/api/stripe/create-subscription-checkout")).json(),onSuccess:oe=>{oe.url?window.location.href=oe.url:oe.free&&(h({title:i("toast.common.accessGranted")}),v.invalidateQueries({queryKey:["/api/usage"]}))},onError:oe=>{h({title:i("toast.common.paymentError"),description:oe.message,variant:"destructive"})}}),[wt,tt]=f.useState("29"),Vt=Ca({mutationFn:async oe=>await(await ls("POST","/api/stripe/create-topup-checkout",{amount:oe})).json(),onSuccess:oe=>{oe.url&&(window.location.href=oe.url)},onError:oe=>{h({title:i("toast.common.paymentError"),description:oe.message,variant:"destructive"})}}),dn=Ca({mutationFn:async oe=>await(await ls("POST","/api/stripe/quick-topup",{paymentMethodId:oe})).json(),onSuccess:oe=>{h({title:i("toast.common.topUpSuccessful"),description:i("toast.topup.topUpSuccessful.body",{tokensAdded:oe.tokensAdded||193,newBalance:oe.newBalance.toLocaleString()})}),v.invalidateQueries({queryKey:["/api/usage"]}),m(!1)},onError:oe=>{h({title:i("toast.common.paymentError"),description:oe.message,variant:"destructive"})}}),fn=Ca({mutationFn:async()=>await(await ls("POST","/api/stripe/cancel-subscription")).json(),onSuccess:()=>{h({title:i("toast.topup.subscriptionWillCancelEnd.title")}),v.invalidateQueries({queryKey:["/api/usage"]})},onError:oe=>{h({title:i("toast.common.error"),description:oe.message,variant:"destructive"})}}),Ve=Ca({mutationFn:async oe=>{await ls("DELETE",`/api/stripe/saved-cards/${oe}`)},onSuccess:()=>{h({title:i("toast.topup.cardRemoved.title")}),v.invalidateQueries({queryKey:["/api/stripe/saved-cards"]})},onError:oe=>{h({title:i("toast.common.error"),description:oe.message,variant:"destructive"})}}),st=Ca({mutationFn:async({enabled:oe,amount:Oe})=>await(await ls("POST","/api/stripe/auto-topup",{enabled:oe,amount:Oe})).json(),onSuccess:oe=>
59{xe(oe.enabled),M(String(oe.amount)),v.invalidateQueries({queryKey:["/api/stripe/auto-topup"]}),h({title:oe.enabled?i("topup.toast.autoOn.title"):i("topup.toast.autoOff.title"),description:oe.enabled?i("topup.toast.autoOn.body",{amount:oe.amount}):i("topup.toast.autoOff.body")})},onError:oe=>{xe(j?.enabled||!1),h({title:i("toast.common.error"),description:oe.message,variant:"destructive"})}}),It=k?.cards||[],Et=Fe.isPending||Vt.isPending||dn.isPending||fn.isPending||Ve.isPending||st.isPending,en=C?.subscriptionActive,Vo=A?.campaigns||[],Ze=Vo.filter(oe=>oe.accountSource!=="virtual_rented"&&oe.stripeSubscriptionId&&(oe.subscriptionStatus==="active"||oe.subscriptionStatus==="trialing"||oe.subscriptionStatus==="lifetime"||oe.subscriptionStatus==="canceling")),Ln=new Map;Ze.forEach(oe=>{const Oe=oe.stripeSubscriptionId;Ln.has(Oe)||Ln.set(Oe,[]),Ln.get(Oe).push(oe)});const Dn=Ln.size>0,yo=Dn&&Ze.every(oe=>oe.subscriptionStatus==="canceling"),vo=Vo.filter(oe=>oe.accountSource==="virtual_rented"&&oe.stripeSubscriptionId&&(oe.subscriptionStatus==="active"||oe.subscriptionStatus==="trialing"||oe.subscriptionStatus==="lifetime"||oe.subscriptionStatus==="canceling")),we=new Map;vo.forEach(oe=>{const Oe=oe.stripeSubscriptionId;we.has(Oe)||we.set(Oe,[]),we.get(Oe).push(oe)});const nt=we.size>0,Ut=Dn||nt,Mt=async(oe,Oe)=>{S(Oe);try{const pt=await(await ls("POST",`/api/visibility/campaigns/${oe}/resume-subscription`)).json();pt.success?(h({title:i("toast.common.subscriptionResumed"),description:i("toast.common.planActiveAgain")}),v.invalidateQueries({queryKey:["/api/visibility/campaigns"]})):h({title:i("toast.common.error"),description:pt.error||i("toast.common.failedResume"),variant:"destructive"})}catch(Ke){h({title:i("toast.common.error"),description:Ke?.message||i("toast.common.failedResumeSubscription"),variant:"destructive"})}finally{S(null)}},mn=async(oe,Oe,Ke)=>{if(window.confirm(i("topup.confirmCancel",{names:Ke}))){S(Oe);try{(await(await ls("POST",`/api/visibility/campaigns/${oe}/cancel-subscription`)).json()).success&&(h({title:i("toast.common.subscriptionCanceled"),description:i("toast.common.subscriptionWillEndCurrent")}),v.invalidateQueries({queryKey:["/api/visibility/campaigns"]}))}catch(pt){h({title:i("toast.common.error"),description:pt?.message||i("toast.common.failedCancelSubscription"),variant:"destructive"})}finally{S(null)}}},co=(oe,Oe)=>[...oe.entries()].map(([Ke,pt])=>{const xt=pt[0].subscriptionStatus,un=pt.map(Ct=>Ct.name||Ct.assetName||i("topup.campaignFallback",{id:Ct.id})).join(", "),Lt=pt[0],dt=pt.filter(Ct=>Ct.isActive).length;return a.jsxs("div",{className:"flex items-center justify-between p-2.5 rounded-md border bg-muted/20","data-testid":`sub-row-${Ke}`,children:[a.jsxs("div",{className:"flex-1 min-w-0 me-2",children:[a.jsx("p",{className:"text-xs font-medium truncate",children:un}),a.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[xt==="canceling"?a.jsx(Ao,{variant:"secondary",className:"text-[9px] bg-amber-100 dark:bg-amber-950/30 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800 h-4 py-0",children:i("topup.badge.canceling")}):xt==="lifetime"?a.jsx(Ao,{variant:"secondary",className:"text-[9px] bg-purple-100 dark:bg-purple-950/30 text-purple-700 dark:text-purple-300 border-purple-200 dark:border-purple-800 h-4 py-0",children:i("topup.badge.yearly")}):xt==="trialing"?a.jsx(Ao,{variant:"secondary",className:"text-[9px] bg-green-100 dark:bg-green-950/30 text-green-700 dark:text-green-300 border-green-200 dark:border-green-800 h-4 py-0",children:i("topup.badge.trial")}):a.jsx(Ao,{variant:"secondary",className:"text-[9px] bg-green-100 dark:bg-green-950/30 text-green-700 dark:text-green-300 border-green-200 dark:border-green-800 h-4 py-0",children:i("topup.badge.active")}),a.jsx("span",{className:"text-[10px] text-muted-foreground",children:i("topup.slotsAvailable",{free:2-dt})})]})]}),a.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:xt==="canceling"?a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-xs",disabled:_===Ke,"data-testid":`button-resume-${Ke}`,onClick:()=>Mt(Lt.id,Ke),children:_===Ke?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):i("topup.resume")}):a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-xs text-destructive border-destructive/30 hover:bg-destructive/10",disabled:_===Ke,"data-testid":`button-cancel-${Ke}`,onClick:()=>mn(Lt.id,Ke,un),children:_===Ke?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):i("common.cancel")})})]},Ke)}),bt={};if(ee?.eligibleTargetsByCampaign)for(const[oe,Oe]of Object.entries(ee.eligibleTargetsByCampaign))bt[Number(oe)]=Oe;const $t={};if(ee?.cloneTargetsByCampaign)for(const[oe,Oe]of Object.entries(ee.cloneTargetsByCampaign))$t[Number(oe)]=Oe;const nn=!!ee?.hasPerfPlan,Nt=nn?a.jsx(D4,{accounts:ee?.accounts??[],uncoveredCampaigns:ee?.uncoveredCampaigns??[],unassignedCampaigns:ee?.unassignedCampaigns??[],onRecoverCampaign:T,eligibleTargetsByCampaign:bt,cloneTargetsByCampaign:$t,accountsNeeded:ee?.accountsNeeded??1,busy:se,currentPeriodEnd:ee?.currentPeriodEnd??null,cancelAtPeriodEnd:!!ee?.cancelAtPeriodEnd,onReassign:H,onReassignBulk:O,onCloneCampaign:B,onAddPile:oe=>Ne("add-pile",oe),onRentAccount:()=>{m(!1),x("/grow")},onRemoveRentedAccount:(()=>{const oe=(ee?.accounts??[]).filter(Ke=>Ke.accountSource==="virtual_rented");if(oe.length===0)return;const Oe=oe[oe.length-1];return()=>{confirm(i("topup.confirmRemoveRented",{name:Oe.profileName||Oe.providerAccountId}))&&fetch("/api/performance-plan/remove-account",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({accountId:Oe.providerAccountId,accountSource:"virtual_rented"})}).then(Ke=>Ke.json()).then(Ke=>{Ke?.ok?(h({title:i("toast.common.accountRemovalScheduled")}),ae()):h({title:i("toast.common.removeFailed"),description:Ke?.error,variant:"destructive"})}).catch(Ke=>h({title:i("toast.common.networkError"),description:Ke?.message,variant:"destructive"}))}})(),hasPerfPlan:nn,onAddCampaignToSlot:()=>{m(!1),x("/grow")},onUncoverCampaign:R,onSelectCampaign:()=>{m(!1),x("/grow")},onRefreshPageAdmins:G,onOpenConnectLinkedIn:()=>{m(!1),x("/grow")},ownAddCount:X,onOwnAddCountChange:pe}):null;return a.jsxs(Ia,{open:p,onOpenChange:oe=>{m(oe),oe&&e&&e()},children:[a.jsx(SC,{asChild:!0,children:t}),a.jsxs(ia,{className:"sm:max-w-4xl max-h-[90vh] overflow-y-auto","data-testid":"dialog-topup",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2","data-testid":"text-topup-title",children:[a.jsx(Wu,{className:"w-5 h-5"}),"Performance Plan"]}),a.jsx(rr,{children:i("topup.description")})]}),a.jsxs("div",{className:"pt-1 flex flex-col lg:flex-row lg:items-start lg:gap-6 space-y-5 lg:space-y-0",children:[a.jsx("div",{className:"lg:flex-shrink-0",children:y?a.jsx(ig,{mode:nn?"manage":"marketing",busy:se,currentEngagers:ee?.engagers??null,pendingEngagers:ee?.pendingEngagers??null,status:ee?.status??null,currentPeriodEnd:ee?.currentPeriodEnd??null,cancelAtPeriodEnd:!!ee?.cancelAtPeriodEnd,legacyActiveCount:ee?.legacySubscriptions??0,monthlyEngagers:ee?.monthlyEngagers??null,freeTrialActive:!!ee?.freeTrialActive,signalFlowCount:null,showTrialCopy:!nn,onSubmit:nn?ie:(ee?.legacySubscriptions??0)>0?Y:J,onSwitchFromLegacy:Y,onCancel:ce,onResume:$,accountsPanel:Nt,previewExtraOwnAccounts:Math.max(0,X-Ge),accountMixOwn:(ee?.accounts??[]).filter(oe=>oe.accountSource!=="virtual_rented").length||void 0,accountMixRented:(ee?.accounts??[]).filter(oe=>oe.accountSource==="virtual_rented").length||void 0,featureTextSizeClass:"sm:text-[19px]"}):a.jsx(ig,{mode:"marketing",busy:!1,showTrialCopy:!0,onSubmit:()=>x("/start"),featureTextSizeClass:"sm:text-[19px]"})}),a.jsxs("div",{className:"space-y-5 lg:flex-1 lg:min-w-0",children:[nn&&Nt&&a.jsx("div",{"data-testid":"perf-plan-accounts-panel-dialog",children:Nt}),Ut&&a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground
59/60",children:i("topup.boostSubs.title")}),a.jsxs("div",{className:"space-y-1.5",children:[Dn&&co(Ln),nt&&co(we),!yo&&a.jsx("p",{className:"text-[10px] text-muted-foreground",children:i("topup.boostSubs.note")})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"rounded-xl border border-border bg-card p-3 sm:p-4","data-testid":"panel-content-campaigns",children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#0a66c2] font-semibold",children:i("topup.content.title")}),a.jsxs("div",{className:"text-[12px] text-muted-foreground mt-0.5",children:[(()=>{const oe=q.filter(Oe=>!Oe.isAdminGrant&&(Oe.status==="active"||Oe.status==="trialing")).length;return i(oe===1?"topup.content.bundles.one":"topup.content.bundles.other",{count:oe})})()," · ",i(re.length===1?"topup.content.campaigns.one":"topup.content.campaigns.other",{count:re.length})]})]}),(C?.balance??0)>0&&a.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 rounded-md border bg-muted/50 shrink-0",children:[a.jsx(Wu,{className:"w-3 h-3 text-muted-foreground"}),a.jsx("span",{className:"text-[11px] font-medium",children:i("topup.tokens",{count:C?.balance?.toLocaleString()??""})})]})]}),en&&a.jsxs("div",{className:"flex items-center gap-2 p-2.5 mb-3 rounded-md border bg-green-50 dark:bg-green-950/20 border-green-200 dark:border-green-800",children:[a.jsx("span",{className:"text-xs font-medium text-green-700 dark:text-green-400",children:i("topup.autopilotActive",{remaining:C?.subscriptionRemaining??"",total:C?.subscriptionTotal??""})}),a.jsx(je,{variant:"outline",size:"sm",className:"ms-auto h-6 text-[10px] text-destructive border-destructive/30 hover:bg-destructive/10 shrink-0",onClick:()=>fn.mutate(),disabled:Et,"data-testid":"button-cancel-subscription",children:fn.isPending?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):i("common.cancel")})]}),F?a.jsx("div",{className:"space-y-1.5 animate-pulse",children:[0,1].map(oe=>a.jsx("div",{className:"h-9 bg-muted rounded-md"},oe))}):re.length===0?a.jsx("p",{className:"text-[12px] text-muted-foreground italic text-center py-3",children:i("content.none")}):a.jsx("ul",{className:"space-y-1.5",children:re.map(oe=>{const Oe=q.find(Ct=>!Ct.isAdminGrant&&Ct.assignedContentCampaignId===oe.id),Ke=q.filter(Ct=>!Ct.isAdminGrant&&!Ct.assignedContentCampaignId&&(Ct.status==="active"||Ct.status==="trialing")),pt=Oe?Oe.status==="active"||Oe.status==="trialing":!1,xt=!!Oe?.cancelAtPeriodEnd&&pt,un=Oe?Math.min(100,Math.round(Oe.requestsUsed/Math.max(1,Oe.requestsTotal)*100)):0,Lt=xt?"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800":pt?"bg-green-100 dark:bg-green-950/40 text-green-700 dark:text-green-300 border-green-200 dark:border-green-800":Ke.length>0?"bg-blue-50 dark:bg-blue-950/30 text-blue-700 dark:text-blue-300 border-blue-200 dark:border-blue-800":"bg-muted text-muted-foreground border-border",dt=xt?i("topup.badge.canceling"):pt?Oe?.waived?i("topup.badge.free"):i("topup.badge.active"):Ke.length>0?i("topup.badge.sharedPool"):i("topup.badge.noBundle");return a.jsxs("li",{className:"flex items-center justify-between gap-2 text-[12px] bg-muted/40 border border-border rounded-md px-2 py-1.5","data-testid":`content-campaign-slot-${oe.id}`,children:[a.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[a.jsx("div",{className:"w-5 h-5 shrink-0 bg-[#0a66c2]/10 border border-[#0a66c2]/20 rounded-full flex items-center justify-center",children:a.jsx(Mn,{className:"w-2.5 h-2.5 text-[#0a66c2]"})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-medium text-foreground",children:oe.name}),Oe&&a.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[a.jsx("div",{className:"flex-1 h-1 bg-muted rounded-full overflow-hidden max-w-[56px]",children:a.jsx("div",{className:`h-full ${un>=90?"bg-amber-500":"bg-[#0A66C2]"}`,style:{width:`${un}%`}})}),a.jsxs("span",{className:"text-[10px] text-muted-foreground tabular-nums",children:[Oe.requestsUsed,"/",Oe.requestsTotal]})]})]})]}),a.jsx("span",{className:`shrink-0 text-[10px] px-1.5 py-0.5 rounded-full border ${Lt}`,children:dt})]},oe.id)})})]}),a.jsxs("div",{className:"rounded-md border bg-background/60 p-3 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Dm,{className:"w-4 h-4 text-blue-500"}),a.jsx("span",{className:"font-semibold text-xs",children:i("topup.manual.title")}),a.jsx("span",{className:"text-[10px] text-muted-foreground ms-auto",children:i("topup.manual.noSub")})]}),a.jsx("p",{className:"text-[11px] text-muted-foreground",children:(()=>{const oe=Math.max(29,Math.round(Number(wt)||29));return i("topup.manual.rate",{tokens:Math.round(oe*100/15),amount:oe})})()}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("div",{className:"relative flex-1",children:[a.jsx("span",{className:"absolute start-2.5 top-1/2 -translate-y-1/2 text-sm text-muted-foreground",children:"$"}),a.jsx(An,{type:"number",min:"29",step:"1",value:wt,onChange:oe=>tt(oe.target.value),className:"ps-6 h-8 text-sm","data-testid":"input-dialog-topup-amount"})]}),a.jsx(je,{className:"shrink-0 h-8",size:"sm",variant:"outline",onClick:()=>{const oe=Math.max(29,Math.round(Number(wt)||29));tt(String(oe)),Vt.mutate(oe)},disabled:Et||Number(wt)<29,"data-testid":"button-topup-checkout",children:Vt.isPending?a.jsx(zt,{className:"w-4 h-4 animate-spin"}):a.jsxs(a.Fragment,{children:[a.jsx(Dm,{className:"w-4 h-4"}),i("topup.buy")]})})]})]}),y&&a.jsxs("div",{className:"rounded-md border bg-background/60 p-3 space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(O0,{className:"w-4 h-4 text-blue-500 shrink-0"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("span",{className:"font-semibold text-xs",children:i("topup.auto.title")}),a.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-tight",children:i("topup.auto.body")})]})]}
59),a.jsx(my,{checked:ue,onCheckedChange:oe=>{if(oe&&It.length===0){h({title:i("toast.common.noSavedPaymentMethod"),description:i("toast.common.pleaseCompleteManualTop"),variant:"destructive"});return}xe(oe),st.mutate({enabled:oe,amount:Math.max(29,Math.round(Number(ye)||29))})},disabled:Et,"data-testid":"switch-auto-topup"})]}),ue&&a.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[a.jsx("span",{className:"text-[11px] text-muted-foreground whitespace-nowrap",children:i("topup.auto.recharge")}),a.jsxs("div",{className:"relative flex-1 max-w-[110px]",children:[a.jsx("span",{className:"absolute start-2.5 top-1/2 -translate-y-1/2 text-sm text-muted-foreground",children:"$"}),a.jsx(An,{type:"number",min:"29",step:"1",value:ye,onChange:oe=>M(oe.target.value),onBlur:()=>{const oe=Math.max(29,Math.round(Number(ye)||29));M(String(oe)),ue&&!st.isPending&&oe!==(j?.amount||29)&&st.mutate({enabled:ue,amount:oe})},className:"ps-6 h-8 text-sm","data-testid":"input-auto-topup-amount"})]}),a.jsx("span",{className:"text-[10px] text-muted-foreground",children:i("topup.auto.tokens",{count:Math.max(29,Math.round(Number(ye)||29))*10})})]})]})]}),It.length>0&&a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-muted-foreground/60 mb-1",children:i("topup.saved.title")}),a.jsx("p",{className:"text-[10px] text-muted-foreground mb-2",children:i("topup.saved.quick")}),It.map(oe=>a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsxs(je,{variant:"outline",className:"flex-1 justify-between",onClick:()=>dn.mutate(oe.id),disabled:Et,"data-testid":`button-quick-topup-${oe.last4}`,children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(Dm,{className:"w-4 h-4"}),a.jsx("span",{className:"capitalize",children:oe.brand}),a.jsxs("span",{children:["****",oe.last4]})]}),a.jsxs(Ao,{variant:"secondary",className:"text-[10px]",children:[oe.expMonth,"/",oe.expYear]})]}),a.jsx(je,{size:"icon",variant:"ghost",onClick:()=>Ve.mutate(oe.id),disabled:Et,"data-testid":`button-delete-card-${oe.last4}`,children:a.jsx(tr,{className:"w-4 h-4"})})]},oe.id))]}),a.jsxs("div",{className:"flex items-center justify-center gap-1.5 rounded-md bg-muted/50 p-2",children:[a.jsx(yp,{className:"w-3.5 h-3.5 text-muted-foreground shrink-0"}),a.jsx("p",{className:"text-[10px] text-muted-foreground leading-relaxed text-center",children:i("topup.secure")})]}),!y&&a.jsxs("div",{className:"flex gap-2 items-start rounded-md border border-yellow-500/30 bg-yellow-500/5 p-2.5","data-testid":"warning-session-only",children:[a.jsx(jg,{className:"w-4 h-4 text-yellow-600 dark:text-yellow-400 shrink-0 mt-0.5"}),a.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:i("topup.sessionOnly")})]})]})]})]})]})}function F4(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function Lb({children:t,onOpen:e}){const n=Jt(),[r,i]=f.useState(!1),[l,d]=f.useState(!1),{isAuthenticated:p}=Fr(),[,m]=jo(),{data:h}=Qt({queryKey:["/api/affiliate/stats"],enabled:p&&r}),{data:v}=Qt({queryKey:["/api/usage"]}),y=h?.affiliateCode,x=y?`${window.location.origin}/auth?ref=${y}`:null,_=v?.referralBonusRequests||0,S=()=>{x&&(navigator.clipboard.writeText(x),d(!0),setTimeout(()=>d(!1),2e3))};return a.jsxs(Ia,{open:r,onOpenChange:k=>{i(k),k&&e&&e()},children:[a.jsx(SC,{asChild:!0,children:t}),a.jsxs(ia,{className:"sm:max-w-md","data-testid":"dialog-more-free",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(CA,{className:"w-5 h-5 text-primary"}),n("moreFree.title")]}),a.jsx(rr,{children:n("moreFree.description")})]}),a.jsxs("div",{className:"space-y-4 mt-2",children:[a.jsxs("div",{className:"rounded-md border p-4 space-y-3",children:[a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"rounded-full bg-primary/10 p-2 shrink-0",children:a.jsx(qu,{className:"w-4 h-4 text-primary"})}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:n("moreFree.how.title")}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:F4(n("moreFree.how.body"),{both:a.jsx("span",{className:"font-medium text-foreground",children:n("moreFree.how.both")})})})]})]}),a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"rounded-full bg-primary/10 p-2 shrink-0",children:a.jsx(Mn,{className:"w-4 h-4 text-primary"})}),a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:n("moreFree.noLimits.title")}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:n("moreFree.noLimits.body")})]})]}),_>0&&a.jsxs("div",{className:"rounded-md bg-primary/5 p-3 text-center",children:[a.jsx("p",{className:"text-xs text-muted-foreground",children:n("moreFree.bonus.label")}),a.jsx("p",{className:"text-lg font-bold text-primary mt-0.5",children:n("moreFree.bonus.value",{count:_})})]})]}),p?a.jsxs("div",{className:"space-y-3",children:[x?a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-xs text-muted-foreground",children:n("moreFree.linkLabel")}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex-1 bg-muted rounded-md px-3 py-2 text-xs font-mono truncate","data-testid":"text-referral-link",children:x}),a.jsx(je,{size:"icon",variant:"outline",onClick:S,"data-testid":"button-copy-referral",children:l?a.jsx(Qc,{className:"w-4 h-4 text-green-500"}):a.jsx(_A,{className:"w-4 h-4"})})]}),h&&h.referralCount>0&&a.jsx("p",{className:"text-xs text-muted-foreground",children:n(h.referralCount===1?"moreFree.joined.one":"moreFree.joined.other",{count:h.referralCount})})]}):a.jsx("p",{className:"text-xs text-muted-foreground text-center",children:n("moreFree.linkLoading")}),a.jsxs("div",{className:"border-t pt-3",children:[a.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:n("moreFree.commissions")}),a.jsxs(je,{variant:"outline",size:"sm",className:"w-full gap-1 text-xs",onClick:()=>{i(!1),m("/affiliate")},"data-testid":"button-view-affiliate",children:[n("moreFree.viewDashboard"),a.jsx(Ys,{className:"w-3 h-3"})]})]})]}):a.jsxs("div",{className:"text-center space-y-3",children:[a.jsx("p",{className:"text-xs text-muted-foreground",children:n("moreFree.signInPrompt")}),a.jsxs(je,{size:"sm",className:"gap-1",onClick:()=>{i(!1),m("/auth")},"data-testid":"button-signin-for-referral",children:[n("moreFree.signInButton"),a.jsx(Ys,{className:"w-3 h-3"})]})]})]})]})]})}var zC={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Db=ps.createContext&&ps.createContext(zC),U4=["attr","size","title"];function $4(t,e){if(t==null)return{};var n,r,i=z4(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)n=l[r],e.indexOf(n)===-1&&{}.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function z4(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}function tp(){return tp=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},tp.apply(null,arguments)}function Fb(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function np(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
vendor: 4,833 bytes, line 59
59e%2?Fb(Object(n),!0).forEach(function(r){B4(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Fb(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function B4(t,e,n){return(e=V4(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function V4(t){var e=H4(t,"string");return typeof e=="symbol"?e:e+""}function H4(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function BC(t){return t&&t.map((e,n)=>ps.createElement(e.tag,np({key:n},e.attr),BC(e.child)))}function ii(t){return e=>ps.createElement(q4,tp({attr:np({},t.attr)},e),BC(t.child))}function q4(t){var e=n=>{var r=t.attr,i=t.size,l=t.title,d=$4(t,U4),p=i||n.size||"1em",m;return n.className&&(m=n.className),t.className&&(m=(m?m+" ":"")+t.className),ps.createElement("svg",tp({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,d,{className:m,style:np(np({color:t.color||n.color},n.style),t.style),height:p,width:p,xmlns:"http://www.w3.org/2000/svg"}),l&&ps.createElement("title",null,l),t.children)};return Db!==void 0?ps.createElement(Db.Consumer,null,n=>e(n)):e(zC)}function D8(t){return ii({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"},child:[]}]})(t)}function F8(t){return ii({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},child:[]}]})(t)}function W4(t){return ii({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"},child:[]}]})(t)}function U8(t){return ii({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},child:[]}]})(t)}function Cy(t){return ii({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.
590182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"},child:[]}]})(t)}function rl(t){return ii({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"},child:[]}]})(t)}function G4(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function VC(t=()=>{}){const e=Jt(),{user:n,isAuthenticated:r}=Fr(),i=xl(),{toast:l}=Oa(),[d,p]=f.useState(null),[m,h]=f.useState(!1),[v,y]=f.useState(""),[x,_]=f.useState(!1),[S,k]=f.useState(""),[C,A]=f.useState(""),[P,j]=f.useState(""),[E,F]=f.useState(!1),[z,q]=f.useState(!1),[re,ee]=f.useState(!1),[se,ae]=f.useState(""),[J,Y]=f.useState(!1),[ie,Ne]=f.useState(null),[R,ce]=f.useState(""),[$,H]=f.useState(!1),[O,T]=f.useState(!1),[B,G]=f.useState(!1),[ue,xe]=f.useState(!1),[ye,M]=f.useState(!1),X=async()=>{const Ve=v.trim().toLowerCase();if(!(!Ve||Ve===n?.email)){_(!0);try{const st=await fetch("/api/auth/user",{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:Ve})}),It=await st.json();st.ok?It.pendingEmail?(l({title:e("toast.identity.confirmationSent.title"),description:It.message||e("identity.toast.checkToConfirm",{email:n?.email??""})}),y(n?.email||"")):(i.invalidateQueries({queryKey:["/api/auth/user"]}),l({title:e("toast.identity.emailUpdated.title"),description:e("toast.identity.emailUpdated.body",{email:Ve})})):l({title:e("toast.common.error"),description:It.message||e("toast.common.failedUpdateEmail"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedUpdateEmail"),variant:"destructive"})}finally{_(!1)}}},pe=async()=>{const Ve=R.trim();if(Ve!==(n?.profileImageUrl||"")){H(!0);try{const st=await fetch("/api/auth/profile",{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({profileImageUrl:Ve||null})}),It=await st.json();st.ok?(i.invalidateQueries({queryKey:["/api/auth/user"]}),l({title:e("toast.identity.avatarUpdated.title"),description:e(Ve?"identity.toast.avatarUpdated":"identity.toast.avatarRemoved")})):l({title:e("toast.common.error"),description:It.message||e("toast.common.failedUpdateAvatar"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedUpdateAvatar"),variant:"destructive"})}finally{H(!1)}}},We=async()=>{T(!0);try{const Ve=await fetch("/api/auth/unlink-linkedin",{method:"POST",credentials:"include"}),st=await Ve.json();Ve.ok?(i.invalidateQueries({queryKey:["/api/auth/user"]}),l({title:e("toast.identity.linkedinUnlinked.title"),description:e("toast.identity.linkedinUnlinked.body")})):l({title:e("toast.common.error"),description:st.message||e("toast.common.failedUnlinkLinkedin"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedUnlinkLinkedin"),variant:"destructive"})}finally{T(!1)}},Ge=async()=>{G(!0);try{const st=await(await fetch("/api/auth/linkedin-login",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({redirect:window.location.pathname,linkMode:!0})})).json();st.url?window.location.href=st.url:(l({title:e("toast.common.error"),description:e("toast.identity.failedStartLinkedinLinking.body"),variant:"destructive"}),G(!1))}catch{l({title:e("toast.common.error"),description:e("toast.identity.failedStartLinkedinLinking.body"),variant:"destructive"}),G(!1)}},ut=async()=>{xe(!0);try{const Ve=await fetch("/api/auth/unlink-google",{method:"POST",credentials:"include"}),st=await Ve.json();Ve.ok?(i.invalidateQueries({queryKey:["/api/auth/user"]}),l({title:e("toast.identity.googleUnlinked.title"),description:e("toast.identity.googleUnlinked.body")})):l({title:e("toast.common.error"),description:st.message||e("toast.common.failedUnlinkGoogle"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedUnlinkGoogle"),variant:"destructive"})}finally{xe(!1)}},Fe=async()=>{M(!0);try{const st=await(await fetch("/api/auth/google-login",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({redirect:window.location.pathname,linkMode:!0})})).json();st.url?window.location.href=st.url:(l({title:e("toast.common.error"),description:e("toast.identity.failedStartGoogleLinking.body"),variant:"destructive"}),M(!1))}catch{l({title:e("toast.common.error"),description:e("toast.identity.failedStartGoogleLinking.body"),variant:"destructive"}),M(!1)}}
59,wt=r&&n&&n.mustChangeEmail===!0,tt=r&&n&&n.passwordSetByUser===!1&&!wt;return{user:n,isAuthenticated:r,toast:l,aiDataConsent:d,setAiDataConsent:p,savingConsent:m,setSavingConsent:h,emailValue:v,setEmailValue:y,savingEmail:x,currentPassword:S,setCurrentPassword:k,newPassword:C,setNewPassword:A,confirmPassword:P,setConfirmPassword:j,savingPassword:E,showSetPasswordPrompt:z,setShowSetPasswordPrompt:q,showForcedEmailPrompt:re,setShowForcedEmailPrompt:ee,forcedNewEmail:se,setForcedNewEmail:ae,savingForcedEmail:J,forcedEmailSentTo:ie,avatarUrl:R,setAvatarUrl:ce,savingAvatar:$,unlinkingLinkedIn:O,setUnlinkingLinkedIn:T,linkingLinkedIn:B,setLinkingLinkedIn:G,unlinkingGoogle:ue,setUnlinkingGoogle:xe,linkingGoogle:ye,setLinkingGoogle:M,mustChangeEmail:wt,needsPasswordSetup:tt,handleSaveEmail:X,handleSaveAvatar:pe,handleUnlinkLinkedIn:We,handleLinkLinkedIn:Ge,handleUnlinkGoogle:ut,handleLinkGoogle:Fe,handleForcedEmailSubmit:async()=>{const Ve=se.trim().toLowerCase();if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(Ve)){l({title:e("toast.common.error"),description:e("toast.identity.pleaseEnterValidEmail.body"),variant:"destructive"});return}if(n?.email&&Ve===String(n.email).toLowerCase()){l({title:e("toast.common.error"),description:e("toast.identity.pleaseUseRealEmail.body"),variant:"destructive"});return}Y(!0);try{const st=await fetch("/api/auth/user",{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:Ve})}),It=await st.json();st.ok?(Ne(Ve),l({title:e("toast.identity.checkInbox.title"),description:It.message||e("identity.toast.verificationSent",{email:Ve})}),i.invalidateQueries({queryKey:["/api/auth/user"]})):l({title:e("toast.common.error"),description:It.message||e("toast.common.failedUpdateEmail"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedUpdateEmail"),variant:"destructive"})}finally{Y(!1)}},handleSetInitialPassword:async()=>{if(!C||C.length<6){l({title:e("toast.common.error"),description:e("toast.identity.passwordMustLeast6.body"),variant:"destructive"});return}if(C!==P){l({title:e("toast.common.error"),description:e("toast.identity.passwordsDoNotMatch.body"),variant:"destructive"});return}F(!0);try{const Ve=await fetch("/api/auth/set-initial-password",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({password:C})}),st=await Ve.json();Ve.ok?(l({title:e("toast.identity.passwordSet.title"),description:st.message}),q(!1),A(""),j(""),i.setQueryData(["/api/auth/user"],It=>It&&{...It,passwordSetByUser:!0,hasPassword:!0}),i.invalidateQueries({queryKey:["/api/auth/user"]})):l({title:e("toast.common.error"),description:st.message||e("toast.common.failedSetPassword"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedSetPassword"),variant:"destructive"})}finally{F(!1)}},handleChangePassword:async()=>{if(!C||C.length<6){l({title:e("toast.common.error"),description:e("toast.identity.newPasswordMustLeast.body"),variant:"destructive"});return}if(C!==P){l({title:e("toast.common.error"),description:e("toast.identity.passwordsDoNotMatch.body"),variant:"destructive"});return}F(!0);try{const Ve=await fetch("/api/auth/change-password",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({currentPassword:S,newPassword:C})}),st=await Ve.json();Ve.ok?(l({title:e("toast.identity.confirmationSent.title"),description:st.message}),t(),k(""),A(""),j("")):l({title:e("toast.common.error"),description:st.message||e("toast.common.failedChangePassword"),variant:"destructive"})}catch{l({title:e("toast.common.error"),description:e("toast.common.failedChangePassword"),variant:"destructive"})}finally{F(!1)}}}}function HC(){const t=Jt(),{newPassword:e,setNewPassword:n,confirmPassword:r,setConfirmPassword:i,savingPassword:l,showSetPasswordPrompt:d,setShowSetPasswordPrompt:p,showForcedEmailPrompt:m,setShowForcedEmailPrompt:h,forcedNewEmail:v,setForcedNewEmail:y,savingForcedEmail:x,forcedEmailSentTo:_,mustChangeEmail:S,needsPasswordSetup:k,handleForcedEmailSubmit:C,handleSetInitialPassword:A}=VC();return f.useEffect(()=>{if(k&&!d){const P=setTimeout(()=>p(!0),800);return()=>clearTimeout(P)}},[k,d]),f.useEffect(()=>{if(S&&!m&&!_){const P=setTimeout(()=>h(!0),800);return()=>clearTimeout(P)}},[S,m,_]),a.jsxs(a.Fragment,{children:[a.jsx(Ia,{open:d&&k===!0,onOpenChange:P=>{!P&&k||p(P)},children:a.jsxs(ia,{className:"max-w-sm",hideClose:k,onPointerDownOutside:P=>{k&&P.preventDefault()},onEscapeKeyDown:P=>{k&&P.preventDefault()},onInteractOutside:P=>{k&&P.preventDefault()},children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(jA,{className:"w-4 h-4"}),t("identity.setPassword.title")]}),a.jsx(rr,{children:t("identity.setPassword.description")})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx(bn,{htmlFor:"set-new-password",className:"text-xs",children:t("identity.password")}
59),a.jsx(An,{id:"set-new-password",type:"password",value:e,onChange:P=>n(P.target.value),placeholder:t("identity.minChars"),className:"mt-1","data-testid":"input-set-password"})]}),a.jsxs("div",{children:[a.jsx(bn,{htmlFor:"set-confirm-password",className:"text-xs",children:t("identity.confirmPasswordLabel")}),a.jsx(An,{id:"set-confirm-password",type:"password",value:r,onChange:P=>i(P.target.value),placeholder:t("identity.repeatPassword"),className:"mt-1","data-testid":"input-set-confirm-password"})]}),a.jsxs(je,{className:"w-full gap-1.5",onClick:A,disabled:l,"data-testid":"button-save-initial-password",children:[l&&a.jsx(zt,{className:"w-3.5 h-3.5 animate-spin"}),t("identity.setPasswordContinue")]})]})]})}),a.jsx(Ia,{open:m,onOpenChange:P=>{!P&&S&&!_||h(P)},children:a.jsxs(ia,{className:"max-w-sm",hideClose:S&&!_,onPointerDownOutside:P=>{S&&!_&&P.preventDefault()},onEscapeKeyDown:P=>{S&&!_&&P.preventDefault()},onInteractOutside:P=>{S&&!_&&P.preventDefault()},children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(RA,{className:"w-4 h-4"}),t("identity.forcedEmail.title")]}),a.jsx(rr,{children:t("identity.forcedEmail.description")})]}),_?a.jsxs("div",{className:"space-y-3",children:[a.jsx("p",{className:"text-sm text-muted-foreground","data-testid":"text-forced-email-sent",children:G4(t("identity.forcedEmail.sent"),{email:a.jsx("strong",{children:_})})}),a.jsx(je,{className:"w-full",variant:"outline",onClick:()=>h(!1),"data-testid":"button-forced-email-done",children:t("identity.forcedEmail.done")})]}):a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{children:[a.jsx(bn,{htmlFor:"forced-new-email",className:"text-xs",children:t("identity.yourEmail")}),a.jsx(An,{id:"forced-new-email",type:"email",value:v,onChange:P=>y(P.target.value),placeholder:t("np.form.email.placeholder"),className:"mt-1","data-testid":"input-forced-email"})]}),a.jsxs(je,{className:"w-full gap-1.5",onClick:C,disabled:x,"data-testid":"button-save-forced-email",children:[x&&a.jsx(zt,{className:"w-3.5 h-3.5 animate-spin"}),t("identity.forcedEmail.send")]})]})]})})]})}function K4({open:t,onOpenChange:e}){const n=Jt(),{user:r,toast:i,aiDataConsent:l,setAiDataConsent:d,savingConsent:p,setSavingConsent:m,emailValue:h,setEmailValue:v,savingEmail:y,currentPassword:x,setCurrentPassword:_,newPassword:S,setNewPassword:k,confirmPassword:C,setConfirmPassword:A,savingPassword:P,avatarUrl:j,setAvatarUrl:E,savingAvatar:F,unlinkingLinkedIn:z,setUnlinkingLinkedIn:q,linkingLinkedIn:re,setLinkingLinkedIn:ee,unlinkingGoogle:se,setUnlinkingGoogle:ae,linkingGoogle:J,setLinkingGoogle:Y,needsPasswordSetup:ie,handleSaveEmail:Ne,handleSaveAvatar:R,handleUnlinkLinkedIn:ce,handleLinkLinkedIn:$,handleUnlinkGoogle:H,handleLinkGoogle:O,handleSetInitialPassword:T,handleChangePassword:B}=VC(()=>e(!1));return f.useEffect(()=>{if(!t)return;let G=!1;return fetch("/api/me/ai-data-consent",{credentials:"include"}).then(ue=>ue.ok?ue.json():null).then(ue=>{!G&&ue&&typeof ue.aiDataConsent=="boolean"&&d(ue.aiDataConsent)}).catch(()=>{}),()=>{G=!0}},[t]),f.useEffect(()=>{t&&(v(r?.email||""),E(r?.profileImageUrl||""),_(""),k(""),A(""))},[t]),a.jsx(Ia,{open:t,onOpenChange:G=>{e(G),G||(ee(!1),q(!1),Y(!1),ae(!1))},children:a.jsxs(ia,{className:"max-w-2xl",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(BA,{className:"w-4 h-4"}),n("identity.settings.title")]}),a.jsx(rr,{children:n("identity.settings.description")})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[a.jsxs("div",{className:"space-y-5",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(bn,{htmlFor:"settings-email",className:"text-xs font-semibold",children:n("account.email")}),a.jsx(An,{id:"settings-email",type:"email",value:h,onChange:G=>v(G.target.value),className:"h-8 text-xs",disabled:y,"data-testid":"input-sett
59ings-email"}),a.jsxs("div",{className:"flex gap-2 justify-end items-center",children:[a.jsx("p",{className:"text-[10px] text-muted-foreground flex-1",children:n("identity.email.confirmHint")}),a.jsx(je,{size:"sm",className:"h-7 text-[10px] px-2 shrink-0",onClick:Ne,disabled:y||h.trim().toLowerCase()===(r?.email||""),"data-testid":"button-save-email",children:y?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):n("common.save")})]})]}),a.jsxs("div",{className:"space-y-2 border-t pt-4",children:[a.jsx(bn,{className:"text-xs font-semibold",children:n(ie?"identity.setPassword":"identity.changePassword")}),ie?a.jsxs("div",{className:"space-y-2",children:[a.jsx(An,{type:"password",value:S,onChange:G=>k(G.target.value),placeholder:n("identity.minChars"),className:"h-8 text-xs","data-testid":"input-set-password"}),a.jsx(An,{type:"password",value:C,onChange:G=>A(G.target.value),placeholder:n("identity.confirmPassword"),className:"h-8 text-xs","data-testid":"input-set-confirm-password"}),a.jsxs(je,{size:"sm",className:"h-8 text-xs w-full gap-1.5",onClick:T,disabled:P,"data-testid":"button-save-initial-password",children:[P&&a.jsx(zt,{className:"w-3 h-3 animate-spin"}),n("identity.setPassword")]}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:n("identity.socialLoginHint")})]}):a.jsxs("form",{onSubmit:G=>{G.preventDefault(),B()},className:"space-y-2",children:[r?.hasPassword&&a.jsx(An,{type:"password",value:x,onChange:G=>_(G.target.value),placeholder:n("identity.currentPassword"),className:"h-8 text-xs pt-[8px] pb-[8px] mt-[15px] mb-[15px]","data-testid":"input-current-password"}),a.jsx(An,{type:"password",value:S,onChange:G=>k(G.target.value),placeholder:n("identity.newPassword"),className:"h-8 text-xs mt-[15px] mb-[15px]","data-testid":"input-new-password"}),a.jsx(An,{type:"password",value:C,onChange:G=>A(G.target.value),placeholder:n("identity.confirmNewPassword"),className:"h-8 text-xs mb-[6px]","data-testid":"input-confirm-new-password"}),a.jsxs(je,{type:"submit",size:"sm",className:"h-8 text-xs w-full gap-1.5",disabled:P,"data-testid":"button-save-password",children:[P&&a.jsx(zt,{className:"w-3 h-3 animate-spin"}),n("identity.changePassword")]}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:n("identity.password.confirmHint")})]})]})]}),a.jsxs("div",{className:"space-y-5",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(bn,{htmlFor:"settings-avatar",className:"text-xs font-semibold",children:n("identity.avatarUrl")}),a.jsxs("div",{className:"flex gap-2 items-center",children:[a.jsx(Ju,{className:"h-8 w-8 shrink-0",children:j?a.jsx("img",{src:j,alt:n("identity.avatarPreview"),className:"aspect-square h-full w-full object-cover",referrerPolicy:"no-referrer"}):a.jsx(ep,{className:"text-[10px]",children:(r?.email?.[0]||"U").toUpperCase()})}),a.jsx(An,{id:"settings-avatar",type:"url",value:j,onChange:G=>E(G.target.value),placeholder:"https://example.com/photo.jpg",className:"h-8 text-xs flex-1",disabled:F,"data-testid":"input-sett
59ings-avatar"})]}),a.jsxs("div",{className:"flex gap-2 justify-end",children:[a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-[10px] px-2",onClick:()=>{E("")},disabled:!j,"data-testid":"button-remove-avatar",children:n("kw.group.remove")}),a.jsx(je,{size:"sm",className:"h-7 text-[10px] px-2",onClick:R,disabled:F||j.trim()===(r?.profileImageUrl||""),"data-testid":"button-save-avatar",children:F?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):n("common.save")})]})]}),a.jsxs("div",{className:"space-y-2 border-t pt-4",children:[a.jsx(bn,{className:"text-xs font-semibold",children:n("identity.linkedin.title")}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:r?.linkedInLinked?n("identity.linkedin.enabled"):n("identity.linkedin.hint")}),r?.linkedInLinked?a.jsxs(je,{size:"sm",variant:"outline",className:"h-8 text-xs w-full gap-1.5 text-destructive hover:text-destructive",onClick:ce,disabled:z,"data-testid":"button-unlink-linkedin",children:[z?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):a.jsx(Mw,{className:"w-3 h-3"}),n("identity.linkedin.disable")]}):a.jsxs(je,{size:"sm",className:"h-8 text-xs w-full gap-1.5 bg-[#0A66C2] hover:bg-[#004182]",onClick:$,disabled:re,"data-testid":"button-link-linkedin",children:[re?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):a.jsx(rl,{className:"w-3 h-3"}),n("identity.linkedin.enable")]})]}),a.jsxs("div",{className:"space-y-2 border-t pt-4",children:[a.jsx(bn,{className:"text-xs font-semibold",children:n("identity.google.title")}),a.jsx("p",{className:"text-[10px] text-muted-foreground",children:r?.googleLinked?n("identity.google.enabled"):n("identity.google.hint")}),r?.googleLinked?a.jsxs(je,{size:"sm",variant:"outline",className:"h-8 text-xs w-full gap-1.5 text-destructive hover:text-destructive",onClick:H,disabled:se,"data-testid":"button-unlink-google",children:[se?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):a.jsx(Mw,{className:"w-3 h-3"}),n("identity.google.disable")]}):a.jsxs(je,{size:"sm",className:"h-8 text-xs w-full gap-1.5 bg-[#4285F4] hover:bg-[#3367D6]",onClick:O,disabled:J,"data-testid":"button-link-google",children:[J?a.jsx(zt,{className:"w-3 h-3 animate-spin"}):a.jsx(W4,{className:"w-3 h-3"}),n("identity.google.enable")]})]})]})]}),a.jsxs("div",{className:"border-t pt-4 mt-2",children:[a.jsxs(bn,{className:"text-xs font-semibold flex items-center gap-2",children:[a.jsx(Mn,{className:"w-3.5 h-3.5 text-[#0A66C2]"}),n("identity.ai.title")]}),a.jsxs("div",{className:"flex items-start gap-3 mt-2",children:[a.jsx(my,{checked:l!==!1,disabled:p,onCheckedChange:async G=>{const ue=G===!0,xe=l;d(ue),m(!0);try{if(!(await fetch("/api/me/ai-data-consent",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({aiDataConsent:ue})})).ok)throw new Error("Failed to save");i({title:n(ue?"identity.ai.on":"identity.ai.off"),description:n(ue?"identity.ai.onBody":"identity.ai.offBody")})}catch{d(xe),i({title:n("toast.common.couldntSave"),description:n("toast.common.pleaseTryAgain2"),variant:"destructive"})}finally{m(!1)}},"data-testid":"switch-ai-data-consent-dialog"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-[11px] text-muted-foreground leading-snug",children:n("identity.ai.description")}),a.jsx("p",{className:"text-[11px] text-amber-600 dark:text-amber-400 leading-snug mt-1",children:n("identity.ai.required")})]})]})]})]})})}var Y4=Object.defineProperty,Q4=(t,e)=>Y4(t,"name",{value:e,configurable:!0}),Z4=f.createContext(void 0);function rd(t){const e=f.useContext(Z4);return t||e||"ltr"}Q4(rd,"useDirection");var X4=Object.defineProperty,Sy=(t,e)=>X4(t,"name",{value:e,configurable:!0}),rh=!1;function qC(){const[t,e]=f.useState(rh);return f.useEffect(()=>{rh||(rh=!0,e(!0))},[]),t}Sy(qC,"useIsHydrated");var WC=ri[" useSyncExternalStore ".trim().toString()];function GC(){return()=>{}}Sy(GC,"subscribe");function KC(){return WC(GC,()=>!0,()=>!1)}Sy(KC,"useIsHydratedModern");var J4=typeof WC=="function"?KC:qC,eO=Object.defineProperty,li=(t,e)=>eO(t,"name",{value:e,configurable:!0}),sh="rovingFocusGroup.onEntryFocus",tO={bubbles:!1,cancelable:!0},Hp="RovingFocusGroup",[lg,YC,nO]=Zc(Hp),[oO,qp]=qn(Hp,[nO]),[aO,rO]=oO(Hp),sO=f.forwardRef(li(function(e,n){return a.jsx(lg.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(lg.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(iO,{...e,ref:n})})})},"RovingFocusGroup")),iO=f.forwardRef(li(function(e,n){const{__scopeRovingFocusGroup:r,orientation:i,loop:l=!1,dir:d,currentTabStopId:p,defaultCurrentTabStopId:m,onCurrentTabStopIdChange:h,onEntryFocus:v,preventScrollOnEntryFocus:y=!1,...x}=e,_=f.useRef(null),S=ct(n,_),k=rd(d),[C,A]=zo({prop:p,defaultProp:m??null,onChange:h,caller:Hp}),[P,j]=f.useState(!1),E=Jn(v),F=YC(r),z=f.useRef(!1),[q,re]=f.useState(0);return f.useEffect(()=>{const ee=_.current;if(ee)return ee.addEventListener(sh,E),()=>ee.removeEventListener(sh,E)},[E]),a.jsx(aO,{scope:r,orientation:i,dir:k,loop:l,currentTabStopId:C,onItemFocus:f.useCallback(ee=>A(ee),[A]),onItemShiftTab:f.useCallback(()=>j(!0),[]),onFocusableItemAdd:f.useCallback(()=>re(ee=>ee+1),[]),onFocusableItemRemove:f.useCallback(()=>re(ee=>ee-1),[]),children:a.jsx(Qe.div,{tabIndex:P||q===0?-1:0,"data-orientation":i,...x,ref:S,style:{outline:"none",...e.style},onMouseDown:Ce(e.onMouseDown,()=>{z.current=!0}),onFocus:Ce(e.onFocus,ee=>{const se=!z.current;if(ee.target===ee.currentTarget&&se&&!P){const ae=new CustomEvent(sh,tO);if(ee.currentTarget.dispatchEvent(ae),!ae.defaultPrevented){const J=F().filter(ce=>ce.focusable),Y=J.find(ce=>ce.active),ie=J.find(ce=>
59ce.id===C),R=[Y,ie,...J].filter(Boolean).map(ce=>ce.ref.current);Ny(R,y)}}z.current=!1}),onBlur:Ce(e.onBlur,()=>j(!1))})})},"RovingFocusGroupImpl")),lO="RovingFocusGroupItem",cO=f.forwardRef(li(function(e,n){const{__scopeRovingFocusGroup:r,focusable:i=!0,active:l=!1,tabStopId:d,children:p,...m}=e,h=sa(),v=d||h,y=rO(lO,r),x=y.currentTabStopId===v,_=YC(r),{onFocusableItemAdd:S,onFocusableItemRemove:k,currentTabStopId:C}=y,A=J4();return Xt(()=>{if(!(!A||!i))return S(),()=>k()},[A,i,S,k]),f.useEffect(()=>{if(!(A||!i))return S(),()=>k()},[A,i,S,k]),a.jsx(lg.ItemSlot,{scope:r,id:v,focusable:i,active:l,children:a.jsx(Qe.span,{tabIndex:x?0:-1,"data-orientation":y.orientation,...m,ref:n,onMouseDown:Ce(e.onMouseDown,P=>{i?y.onItemFocus(v):P.preventDefault()}),onFocus:Ce(e.onFocus,()=>y.onItemFocus(v)),onKeyDown:Ce(e.onKeyDown,P=>{if(P.key==="Tab"&&P.shiftKey){y.onItemShiftTab();return}if(P.target!==P.currentTarget)return;const j=ZC(P,y.orientation,y.dir);if(j!==void 0){if(P.metaKey||P.ctrlKey||P.altKey||P.shiftKey)return;P.preventDefault();let F=_().filter(z=>z.focusable).map(z=>z.ref.current);if(j==="last")F.reverse();else if(j==="prev"||j==="next"){j==="prev"&&F.reverse();const z=F.indexOf(P.currentTarget);F=y.loop?XC(F,z+1):F.slice(z+1)}setTimeout(()=>Ny(F))}}),children:typeof p=="function"?p({isCurrentTabStop:x,hasTabStop:C!=null}):p})})},"RovingFocusGroupItem")),dO={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function QC(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}li(QC,"getDirectionAwareKey");function ZC(t,e,n){const r=QC(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return dO[r]}li(ZC,"getFocusIntent");function Ny(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}li(Ny,"focusFirst");function XC(t,e){return t.map((n,r)=>t[(e+r)%t.length])}li(XC,"wrapArray");var JC=sO,e1=cO,uO=Object.defineProperty,jl=(t,e)=>uO(t,"name",{value:e,configurable:!0}),Py="Tabs",[pO,$8]=qn(Py,[qp]),t1=qp(),[fO,Ay]=pO(Py),mO=f.forwardRef(jl(function(e,n){const{__scopeTabs:r,value:i,onValueChange:l,defaultValue:d,orientation:p="horizontal",dir:m,activationMode:h="automatic",...v}=e,y=rd(m),[x,_]=zo({prop:i,onChange:l,defaultProp:d??"",caller:Py});return a.jsx(fO,{scope:r,baseId:sa(),value:x,onValueChange:_,orientation:p,dir:y,activationMode:h,children:a.jsx(Qe.div,{dir:y,"data-orientation":p,...v,ref:n})})},"Tabs")),hO="TabsList",gO=f.forwardRef(jl(function(e,n){const{__scopeTabs:r,loop:i=!0,...l}=e,d=Ay(hO,r),p=t1(r);return a.jsx(JC,{asChild:!0,...p,orientation:d.orientation,dir:d.dir,loop:i,children:a.jsx(Qe.div,{role:"tablist","aria-orientation":d.orientation,...l,ref:n})})},"TabsList")),yO="TabsTrigger",vO=f.forwardRef(jl(function(e,n){const{__scopeTabs:r,value:i,disabled:l=!1,...d}=e,p=Ay(yO,r),m=t1(r),h=Ty(p.baseId,i),v=jy(p.baseId,i),y=i===p.value;return a.jsx(e1,{asChild:!0,...m,focusable:!l,active:y,children:a.jsx(Qe.button,{type:"button",role:"tab","aria-selected":y,"aria-controls":v,"data-state":y?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:h,...d,ref:n,onMouseDown:Ce(e.onMouseDown,x=>{!l&&x.button===0&&x.ctrlKey===!1?p.onValueChange(i):x.preventDefault()}),onKeyDown:Ce(e.onKeyDown,x=>{l||x.target!==x.currentTarget||[" ","Enter"].includes(x.key)&&p.onValueChange(i)}),onFocus:Ce(e.onFocus,()=>{const x=p.activationMode!=="manual";!y&&!l&&x&&p.onValueChange(i)})})})},"TabsTrigger")),xO="TabsContent",wO=f.forwardRef(jl(function(e,n){const{__scopeTabs:r,value:i,forceMount:l,children:d,...p}=e,m=Ay(xO,r),h=Ty(m.baseId,i),v=jy(m.baseId,i),y=i===m.value,x=f.useRef(y);return f.useEffect(()=>{const _=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(_)},[]),a.jsx(lo,{present:l||y,children:({present:_})=>a.jsx(Qe.div,{"data-state":y?"active":"inactive","data-orientation":m.orientation,role:"tabpanel","aria-labelledby":h,hidden:!_,id:v,tabIndex:0,...p,ref:n,style:{...e.style,animationDuration:x.current?"0s":void 0},children:_&&d})})},"TabsContent"));function Ty(t,e){return`${t}-trigger-${e}`}jl(Ty,"makeTriggerId");function jy(t,e){return`${t}-content-${e}`}jl(jy,"makeContentId");var bO=mO,n1=gO,o1=vO,a1=wO;const _O=bO,r1=f.forwardRef(({className:t,...e},n)=>a.jsx(n1,{ref:n,className:ge("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...e}));r1.displayName=n1.displayName;const mc=f.forwardRef(({className:t,...e},n)=>a.jsx(o1,{ref:n,className:ge("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",t),...e}));mc.displayName=o1.displayName;const hc=f.forwardRef(({className:t,...e},n)=>a.jsx(a1,{ref:n,className:ge("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...e}));hc.displayName=a1.displayName;function kO(t){return navigator.clipboard?.writeText?navigator.clipboard.writeText(t).then(()=>!0,()=>Ub(t)):Promise.resolve(Ub(t))}function Ub(t){try{const e=document.createElement("textarea");
59e.value=t,e.style.position="fixed",e.style.top="0",e.style.left="0",e.style.opacity="0",document.body.appendChild(e),e.focus(),e.select();const n=document.execCommand("copy");return document.body.removeChild(e),n}catch{return!1}}function CO({email:t,subject:e}){const n=new URLSearchParams({view:"cm",fs:"1",to:t});e&&n.set("su",e);const r=`https://mail.google.com/mail/?${n.toString()}`;try{const i=document.createElement("a");i.href=r,i.target="_blank",i.rel="noopener noreferrer",document.body.appendChild(i),i.click(),document.body.removeChild(i)}catch{}kO(t).then(i=>{N_({title:i?"Email copied to clipboard":"Contact support",description:i?`Opening Gmail. Not a Gmail user? Email us at ${t} (copied to clipboard)`:`Email us at ${t}`})})}var SO=Object.defineProperty,Mr=(t,e)=>SO(t,"name",{value:e,configurable:!0}),Iy="Checkbox",[NO,z8]=qn(Iy),[PO,Ey]=NO(Iy);function s1(t){const{__scopeCheckbox:e,checked:n,children:r,defaultChecked:i,disabled:l,form:d,name:p,onCheckedChange:m,required:h,value:v="on",internal_do_not_use_render:y}=t,[x,_]=zo({prop:n,defaultProp:i??!1,onChange:m,caller:Iy}),[S,k]=f.useState(null),[C,A]=f.useState(null),P=f.useRef(!1),[j,E]=f.useReducer(q=>q+1,0),F=S?!!d||!!S.closest("form"):!0,z={checked:x,disabled:l,setChecked:_,control:S,setControl:k,name:p,form:d,value:v,hasConsumerStoppedPropagationRef:P,userInteractionCount:j,onUserInteraction:E,required:h,defaultChecked:jr(i)?!1:i,isFormControl:F,bubbleInput:C,setBubbleInput:A};return a.jsx(PO,{scope:e,...z,children:l1(y)?y(z):r})}Mr(s1,"CheckboxProvider");var AO="CheckboxTrigger",TO=f.forwardRef(Mr(function({__scopeCheckbox:e,onKeyDown:n,onClick:r,...i},l){const{control:d,value:p,disabled:m,checked:h,required:v,setControl:y,setChecked:x,hasConsumerStoppedPropagationRef:_,onUserInteraction:S,isFormControl:k,bubbleInput:C}=Ey(AO,e),A=ct(l,y),P=f.useRef(h);return f.useEffect(()=>{const j=d?.form;if(j){const E=Mr(()=>x(P.current),"reset");return j.addEventListener("reset",E),()=>j.removeEventListener("reset",E)}},[d,x]),a.jsx(Qe.button,{type:"button",role:"checkbox","aria-checked":jr(h)?"mixed":h,"aria-required":v,"data-state":Ry(h),"data-disabled":m?"":void 0,disabled:m,value:p,...i,ref:A,onKeyDown:Ce(n,j=>{j.key==="Enter"&&j.preventDefault()}),onClick:Ce(r,j=>{S(),x(E=>jr(E)?!0:!E),C&&k&&(_.current=j.isPropagationStopped(),_.current||j.stopPropagation())})})},"CheckboxTrigger")),i1=f.forwardRef(Mr(function(e,n){const{__scopeCheckbox:r,name:i,checked:l,defaultChecked:d,required:p,disabled:m,value:h,onCheckedChange:v,form:y,...x}=e;return a.jsx(s1,{__scopeCheckbox:r,checked:l,defaultChecked:d,disabled:m,required:p,onCheckedChange:v,name:i,form:y,value:h,internal_do_not_use_render:({isFormControl:_})=>a.jsxs(a.Fragment,{children:[a.jsx(TO,{...x,ref:n,__scopeCheckbox:r}),_&&a.jsx(RO,{__scopeCheckbox:r})]})})},"Checkbox")),jO="CheckboxIndicator",IO=f.forwardRef(Mr(function(e,n){const{__scopeCheckbox:r,forceMount:i,...l}=e,d=Ey(jO,r);return a.jsx(lo,{present:i||jr(d.checked)||d.checked===!0,children:a.jsx(Qe.span,{"data-state":Ry(d.checked),"data-disabled":d.disabled?"":void 0,...l,ref:n,style:{pointerEvents:"none",...e.style}})})},"CheckboxIndicator")),EO="CheckboxBubbleInput",RO=f.forwardRef(Mr(function({__scopeCheckbox:e,onClick:n,...r},i){const{control:l,hasConsumerStoppedPropagationRef:d,userInteractionCount:p,checked:m,defaultChecked:h,required:v,disabled:y,name:x,value:_,form:S,bubbleInput:k,setBubbleInput:C}=Ey(EO,e),A=ct(i,C),P=Tp(l),j=f.useRef(!1),E=f.useRef(m),F=f.useRef(p);f.useEffect(()=>{const q=k;if(!q)return;const re=window.HTMLInputElement.prototype,se=Object.getOwnPropertyDescriptor(re,"checked").set,ae=p!==F.current;F.current=p;const J=E.current!==m;E.current=m;const Y=!(ae&&d.current);if(J&&se){j.current=!ae;const ie=new Event("click",{bubbles:Y});q.indeterminate=jr(m),se.call(q,jr(m)?!1:m),q.dispatchEvent(ie),j.current=!1}},[k,m,d,p]);const z=f.useRef(jr(m)?!1:m);return a.jsx(Qe.input,{type:"checkbox","aria-hidden":!0,defaultChecked:h??z.current,required:v,disabled:y,name:x,value:_,form:S,...r,tabIndex:-1,ref:A,onClick:Ce(n,q=>{j.current&&q.stopPropagation()}),style:{...r.style,...P,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function l1(t){return typeof t=="function"}Mr(l1,"isFunction");function jr(t){return t==="indeterminate"}Mr(jr,"isIndeterminate");function Ry(t){return jr(t)?"indeterminate":t?"checked":"unchecked"}Mr(Ry,"getState");const c1=f.forwardRef(({className:t,...e},n)=>a.jsx(i1,{ref:n,className:ge("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...e,children:a.jsx(IO,{className:ge("flex items-center justify-center text-current"),children:a.jsx(Qc,{className:"h-4 w-4"})})}));c1.displayName=i1.displayName;function bu(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function op({checked:t,onChange:e,className:n="",testIdPrefix:r="ai-consent"}){const i=Jt(),l=`${r}-checkbox`;return a.jsxs("div",{className:`flex items-start gap-2 text-xs sm:text-[13px] text-muted-foreground ${n}`,children:[a.jsx(c1,{id:l,checked:t,onCheckedChange:d=>e(d===!0),className:"mt-0.5","data-testid":`checkbox-${r}`}),a.jsxs("span",{className:"leading-snug",children:[a.jsx("label",{htmlFor:l,className:"cursor-pointer select-none",children:i("consent.label")})," ",a.jsxs(IC,{children:[a.jsx(EC,{asChild:!0,children:a.jsx("button",{type:"button",className:"text-[#0A66C2] dark:text-[#4a9eff] underline underline-offset-2 hover:text-[#08538f]","data-testid":`button-${r}-info`,onClick:d=>d.stopPropagation(),children:i("consent.info")})}),a.jsxs(xy,{className:"w-80 text-xs leading-relaxed",align:"start",onClick:d=>d.stopPropagation(),children:[a.jsx("p",{className:"font-semibold text-foreground mb-1.5",children:i("consent.popover.title")}),a.jsxs("ul",{className:"list-disc ps-4 space-y-1 text-muted-foreground",children:[a.jsx("li",{children:bu(i("consent.history"),{label:a.jsx("span",{className:"font-medium text-foreground",children:i("consent.history.label")})})}),a.jsx("li",{children:bu(i("consent.optimize"),{label:a.jsx("span",{className:"font-medium text-foreground",children:i("consent.optimize.label")})})}),a.jsx("li",{children:bu(i("consent.future"),{label:a.jsx("span",{className:"font-medium text-foreground",children:i("consent.future.label")})})})]}),a.jsx("p",{className:"mt-2 text-[11px] text-muted-foreground",children:bu(i("consent.private"),{path:a.jsx("span",{className:"font-medium text-foreground",children:i("consent.private.path")})})})]})]})]})]})}const $b={boosting:"LinkedIn boosting",content:"Content",prelander:"Pre-lander page",flow:"New Influence Flow",content_create:"New content campaign",boosting_create:"New boosting campaign",flow_settings:"Influence Flow",sheet:"Google Sheet",action:"Open in the app"},OO={boosting:"boosting campaign",boosting_create:"boosting campaign",content:"content campaign",content_create:"content campaign",flow:"Influence Flow",flow_settings:"Influence Flow",prelander:"pre-lander page"},MO=new Set(["boosting_create","content_create","flow"]);function d1(t){const e=typeof t.targetName=="string"&&t.targetName.trim()?t.targetName.trim():null,n=typeof t.isCreate=="boolean";if(!n&&e===null)return $b[t.domain]??null;const r=OO[t.domain];if(!r){const d=$b[t.domain];return d?e?`${d} «${e}»`:d:e===null?null:n?`${t.isCreate?"New":"Edit"} «${e}»`:`«${e}»`}const i=n?t.isCreate:MO.has(t.domain),l=`${i?"New":"Edit"} ${r}`;return e?`${l} «${e}»`:!i&&typeof t.targetId=="number"?`${l} #${t.targetId}`:l}const u1={app:"in the app",mcp:"from Claude",gpt:"from ChatGPT",hubspot:"from web chat",warmlike_dm:"from LinkedIn DM"};function zb(t){return t==null||t===""?"â":typeof t=="boolean"?t?"on":"off":Array.isArray(t)?t.join(", ")||"â":typeof t=="object"?JSON.stringify(t):String(t)}function LO(t,e){const n=r=>{if("from"in r)return r.from;const i=r.field??r.facet;if(!(!i||!e||typeof e!="object"))return i in e?e[i]:void 0};return Array.isArray(t)?t.map(r=>({...r,from:n(r)}
59)):t&&typeof t=="object"?Object.entries(t).map(([r,i])=>({field:r,to:i,from:n({field:r})})):[]}function p1({proposal:t,testIdPrefix:e="copilot-diff"}){return a.jsx("div",{className:"space-y-1",children:LO(t.diff,t.before).map((n,r)=>a.jsxs("div",{className:"text-[11px] flex items-center gap-1.5 flex-wrap","data-testid":`${e}-${t.id}-${r}`,children:[a.jsx("span",{className:"font-medium text-foreground",children:n.field??n.facet}),a.jsx("span",{className:"text-muted-foreground line-through",children:zb(n.from)}),a.jsx("span",{className:"text-muted-foreground",children:"â"}),a.jsx("span",{className:"text-foreground font-medium",children:zb(n.to)})]},r))})}const ih={role:"assistant",content:"",opening:!0};function DO(t){return String(t??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>")}function f1({consent:t,onConsentChange:e,initialQuestion:n}){const r=Jt(),{toast:i}=Oa(),[l,d]=f.useState(null),[p,m]=f.useState([ih]),[h,v]=f.useState(n??""),[y,x]=f.useState(!1),[_,S]=f.useState(null),k=f.useRef(null),C=f.useRef(null),[A,P]=f.useState(!!n?.trim()),j=f.useRef(!1),E=f.useRef(!1),F=f.useRef(!1),z=f.useRef(null);f.useEffect(()=>{const ae=k.current;ae&&(ae.scrollTop=ae.scrollHeight)},[p,y]),f.useEffect(()=>{const ae=n?.trim();if(!ae||j.current)return;j.current=!0,v(Y=>Y.trim()?Y:ae),P(!0);const J=setTimeout(()=>C.current?.focus(),0);return()=>clearTimeout(J)},[n]),f.useEffect(()=>{let ae=!1;return(async()=>{try{const J=await fetch("/api/copilot/threads?channel=app",{credentials:"include"});if(!J.ok)return;const Y=await J.json(),ie=Array.isArray(Y?.threads)?Y.threads[0]:null;if(!ie?.id||!(Number(ie.turnCount)>0))return;const Ne=await fetch(`/api/copilot/threads/${encodeURIComponent(ie.id)}`,{credentials:"include"});if(!Ne.ok)return;const R=await Ne.json(),$=(Array.isArray(R?.messages)?R.messages:[]).filter(O=>(O?.role==="user"||O?.role==="assistant")&&String(O?.text??"").trim()).map(O=>({role:O.role,content:String(O.text)})).filter((O,T,B)=>!(O.role==="assistant"&&T>0&&B[T-1].role==="assistant"&&B[T-1].content===O.content));if(ae||E.current||!$.length)return;const H=(Array.isArray(R?.proposals)?R.proposals:[]).filter(O=>O?.status==="pending");for(let O=$.length-1;O>=0&&H.length;O--)if($[O].role==="assistant"){$[O]={...$[O],proposals:H};break}d(ie.id),m([ih,...$])}catch{}})(),()=>{ae=!0}},[]);const q=f.useCallback(async()=>{if(l)return l;if(z.current)return z.current;const ae=(async()=>{try{const J=await fetch("/api/copilot/threads",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({})});if(!J.ok)return null;const ie=(await J.json())?.thread?.id??null;return ie&&d(ie),ie}catch{return null}})();z.current=ae;try{return await ae}finally{z.current=null}},[l]),re=f.useCallback(async()=>{const ae=h.trim();if(!ae||y||F.current)return;F.current=!0,x(!0),E.current=!0,P(!1);let J=-1;try{const Y=await q();if(!Y){i({title:r("toast.copilot.couldntStartChat.title"),description:r("toast.common.tryAgainMoment"),variant:"destructive"});return}v(""),m(T=>[...T,{role:"user",content:ae}]),m(T=>(J=T.length,[...T,{role:"action",content:"",actions:[]}]));const ie=T=>{m(B=>B.map((G,ue)=>ue===J?{...G,actions:T(G.actions??[])}:G))};let Ne="";const R=[],ce=await fetch(`/api/copilot/threads/${encodeURIComponent(Y)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({message:ae})});if(!ce.ok||!ce.body){let T=r("copilot.error.generic");try{const B=await ce.json();B?.error&&(T=B.error)}catch{}m(B=>[...B,{role:"assistant",content:T}]);return}const $=ce.body.getReader(),H=new TextDecoder;let O="";for(;;){const{done:T,value:B}=await $.read();if(T)break;O+=H.decode(B,{stream:!0});const G=O.split(` 60 61`);O=G.pop()??"";for(const ue of G){const xe=ue.split(` 62`).find(M=>M.startsWith("data: "));if(!xe)continue;let ye;try{ye=JSON.parse(xe.slice(6))}catch{continue}ye.type==="tool_start"?ie(M=>[...M,{label:ye.title||ye.name,status:"running"}]):ye.type==="tool_end"?ie(M=>{const X=[...M];for(let pe=X.length-1;pe>=0;pe--)if(X[pe].status==="running"){X[pe]={...X[pe],status:ye.ok?"done":"failed"};break}return X}):ye.type==="text"?Ne=ye.delta:ye.type==="proposal"?R.push({id:ye.proposalId,domain:typeof ye.domain=="string"?ye.domain:"",targetId:typeof ye.targetId=="number"?ye.targetId:null,summary:ye.summary||"",status:"pending",diff:ye.diff??null,isCreate:typeof ye.isCreate=="boolean"?ye.isCreate:void 0,targetName:typeof ye.targetName=="string"?ye.targetName:null}):ye.type==="error"&&(Ne=ye.message)}}m(T=>[...T,{role:"assistant",content:Ne||r("copilot.error.noAnswer"),proposals:R.length?R:void 0}])}catch{m(Y=>[...Y,{role:"assistant",content:r("copilot.error.connection")}])}finally{F.current=!1,x(!1),m(Y=>Y.filter((ie,Ne)=>!(Ne===J&&ie.role==="action"&&!(ie.actions??[]).length)))}},[q,h,y,i,r]),ee=f.useCallback(async(ae,J)=>{S(ae);
62try{const Y=await fetch(`/api/copilot/proposals/${encodeURIComponent(ae)}/${J}`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"}),ie=await Y.json().catch(()=>null);if(!Y.ok){i({title:r(J==="apply"?"copilot.toast.couldntApply":"copilot.toast.couldntDismiss"),description:ie?.error||r("toast.copilot.askAgainIllRe.bodyFallback"),variant:"destructive"});return}if(m(Ne=>Ne.map(R=>({...R,proposals:R.proposals?.map(ce=>ce.id===ae?{...ce,status:J==="apply"?"applied":"rejected"}:ce)}))),J==="apply"){const Ne=ie?.notPublished??[],R=ie?.dryRun?r("copilot.applied.dryRun"):Ne.length?r("copilot.applied.notPublished",{items:Ne.join(", ")}):ie?.historyEntryId?r("copilot.applied.undoable"):r("copilot.applied.saved");i({title:r("toast.common.applied"),description:R})}}catch{i({title:r("toast.copilot.couldntReachServer.title"),variant:"destructive"})}finally{S(null)}},[i,r]),se=()=>{E.current=!0,d(null),m([ih]),v(""),P(!1)};return a.jsxs("div",{className:"space-y-3 mt-2","data-testid":"tab-copilot",children:[a.jsxs("div",{ref:k,className:"flex-1 overflow-y-auto scroll-smooth px-1 py-1 space-y-3 min-h-[250px] max-h-[45vh]","data-testid":"copilot-messages",children:[p.map((ae,J)=>ae.role==="action"?a.jsxs("div",{className:"flex gap-2 justify-start",children:[a.jsx(Mn,{className:"w-4 h-4 shrink-0 mt-1 text-foreground"}),a.jsx("div",{className:"bg-muted/60 rounded-lg px-3 py-2.5 text-sm max-w-[85%] space-y-1.5","data-testid":`copilot-msg-action-${J}`,children:(ae.actions??[]).map((Y,ie)=>a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[Y.status==="done"?a.jsx(T0,{className:"w-3.5 h-3.5 text-emerald-500 shrink-0"}):Y.status==="failed"?a.jsx(jg,{className:"w-3.5 h-3.5 text-amber-500 shrink-0"}):Y.status==="running"?a.jsx(zt,{className:"w-3.5 h-3.5 animate-spin text-[#0A66C2] shrink-0"}):a.jsx(j0,{className:"w-3.5 h-3.5 text-muted-foreground/40 shrink-0"}),a.jsx("span",{className:Y.status==="done"?"text-foreground":"text-muted-foreground",children:Y.label})]},ie))})]},J):a.jsxs("div",{className:`flex gap-2 ${ae.role==="user"?"justify-end":"justify-start"}`,children:[ae.role==="assistant"&&a.jsx(Mn,{className:"w-4 h-4 shrink-0 mt-1 text-foreground"}),a.jsxs("div",{className:"max-w-[85%] space-y-2",children:[a.jsx("div",{className:`rounded-lg px-3 py-2 text-sm ${ae.role==="user"?"bg-[#0A66C2] text-white":"bg-muted/60 text-foreground"}`,"data-testid":`copilot-msg-${ae.role}-${J}`,children:a.jsx("div",{className:"whitespace-pre-wrap [&_strong]:font-semibold",dangerouslySetInnerHTML:{__html:DO(ae.opening?r("copilot.opening"):ae.content)}})}),ae.proposals?.map(Y=>{const ie=d1(Y);return a.jsxs("div",{className:"rounded-md border p-2.5 space-y-2 bg-card","data-testid":`copilot-proposal-${Y.id}`,children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(ra,{className:"w-3.5 h-3.5 text-[#0A66C2] shrink-0 mt-0.5"}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-xs font-semibold text-foreground","data-testid":`copilot-proposal-heading-${Y.id}`,children:ie?r("copilot.proposal.headingWith",{heading:ie}):r("copilot.proposal.heading")}),Y.summary&&a.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:Y.summary})]})]}),a.jsx(p1,{proposal:Y}
62),Y.status==="pending"?a.jsxs("div",{className:"flex gap-2 justify-end",children:[a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-xs",disabled:_===Y.id,onClick:()=>ee(Y.id,"reject"),"data-testid":`copilot-reject-${Y.id}`,children:r("copilot.proposal.notNow")}),a.jsxs(je,{size:"sm",className:"h-7 text-xs bg-[#0A66C2] hover:bg-[#08538f] text-white",disabled:_===Y.id||!t,title:t?void 0:r("copilot.consentRequired"),onClick:()=>ee(Y.id,"apply"),"data-testid":`copilot-apply-${Y.id}`,children:[_===Y.id?a.jsx(zt,{className:"w-3 h-3 animate-spin me-1"}):a.jsx(ra,{className:"w-3 h-3 me-1"}),r("copilot.proposal.apply")]})]}):a.jsx("p",{className:"text-[11px] text-muted-foreground text-end","data-testid":`copilot-proposal-status-${Y.id}`,children:Y.status==="applied"?r("copilot.proposal.applied"):r("copilot.proposal.dismissed")})]},Y.id)})]}),ae.role==="user"&&a.jsx("div",{className:"w-6 h-6 rounded-full bg-muted flex items-center justify-center shrink-0 mt-0.5",children:a.jsx(GA,{className:"w-3.5 h-3.5"})})]},J)),y&&a.jsxs("div",{className:"flex gap-2 justify-start","data-testid":"copilot-thinking",children:[a.jsx(Mn,{className:"w-4 h-4 shrink-0 mt-1 text-foreground"}),a.jsxs("div",{className:"bg-muted/60 rounded-lg px-3 py-2 flex items-center gap-2",children:[a.jsx(zt,{className:"w-4 h-4 animate-spin text-muted-foreground"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:r("copilot.thinking")})]})]})]}),A&&a.jsx("p",{className:"text-[11px] text-muted-foreground -mb-1","data-testid":"copilot-seeded-notice",children:r("copilot.seededNotice")}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(An,{ref:C,value:h,onChange:ae=>{v(ae.target.value),P(!1)},onKeyDown:ae=>{ae.key!=="Enter"||ae.shiftKey||ae.repeat||ae.nativeEvent.isComposing||(ae.preventDefault(),re())},placeholder:r("copilot.placeholder"),disabled:y,"data-testid":"copilot-input"}),a.jsx(je,{size:"icon",className:"shrink-0 bg-[#0A66C2] hover:bg-[#08538f] text-white",disabled:y||!h.trim(),onClick:()=>{re()},"data-testid":"copilot-send",children:a.jsx(Vu,{className:"w-4 h-4"})}),a.jsx(je,{size:"icon",variant:"outline",className:"shrink-0",disabled:y,title:r("copilot.startOver"),onClick:se,"data-testid":"copilot-reset",children:a.jsx(Ag,{className:"w-4 h-4"})})]}),a.jsx("div",{className:"pt-1 border-t",children:a.jsx(op,{checked:t,onChange:e,testIdPrefix:"ai-consent-copilot"})})]})}function FO(t,e,n){if(!t)return null;const r=new Date(t).getTime()-e;if(Number.isNaN(r))return null;if(r<=0)return n("proposals.expired");const i=Math.round(r/6e4);if(i<60)return n("proposals.expiresMin",{count:i});const l=Math.round(i/60);return l<24?n("proposals.expiresHours",{count:l}):n("proposals.expiresDays",{count:Math.round(l/24)})}const UO={app:"proposals.suggested.app",mcp:"proposals.suggested.mcp",gpt:"proposals.suggested.gpt",hubspot:"proposals.suggested.hubspot",warmlike_dm:"proposals.suggested.warmlikeDm"};function $O(t,e){const n=UO[t];return n?e(n):`suggested ${u1[t]}`}function zO({consent:t}){const e=Jt(),{toast:n}=Oa(),[r,i]=f.useState(null),[l,d]=f.useState(null),[p,m]=f.useState(!1),h=f.useCallback(async()=>{m(!1);try{const x=await fetch("/api/copilot/proposals",{credentials:"include"});if(!x.ok)throw new Error(String(x.status));const _=await x.json();i(Array.isArray(_?.proposals)?_.proposals:[])}catch{i([]),m(!0)}},[]);f.useEffect(()=>{h()},[h]);const v=f.useCallback(async(x,_)=>{d(x);try{const S=await fetch(`/api/copilot/proposals/${encodeURIComponent(x)}/${_}`,{method:"POST",credentials:"include"}),k=await S.json().catch(()=>({}));if(!S.ok||k?.status==="failed"){n({title:e(_==="apply"?"proposals.applyFailed":"proposals.dismissFailed"),description:k?.reason||k?.error||e("proposals.tryAgain"),variant:"destructive"});return}k?.status==="stale"?n({title:e("toast.proposals.changeOutDate.title"),description:k.reason||e("toast.proposals.changeOutDate.bodyFallback")}):_==="apply"&&n({title:e("toast.common.applied"),description:k?.historyEntryId?e("proposals.appliedUndo"):e("proposals.appliedLive")}),await h()}catch{n({title:e("toast.proposals.somethingWentWrong.title"),variant:"destructive"})}finally{d(null)}},[h,n,e]);if(r===null)return a.jsx("div",{className:"flex items-center justify-center py-8","data-testid":"copilot-inbox-loading",children:a.jsx(zt,{className:"w-4 h-4 animate-spin text-muted-foreground"})});if(r.length===0)return a.jsxs("div",{className:"text-center py-8 space-y-1","data-testid":"copilot-inbox-empty",children:[a.jsx(AA,{className:"w-5 h-5 mx-auto text-muted-foreground"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:e(p?"proposals.loadFailed":"proposals.empty")}),p?a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-xs",onClick:()=>{h()},"data-testid":"copilot-inbox-retry",children:e("proposals.retry")}):a.jsx("p",{className:"text-[11px] text-muted-foreground",children:e("proposals.emptyHint")})]});const y=Date.now();return a.jsx("div",{className:"space-y-2","data-testid":"copilot-inbox",children:r.map(x=>{const _=FO(x.expiresAt,y,e);return a.jsxs("div",{className:"rounded-md border p-2.5 space-y-2 bg-card","data-testid":`copilot-inbox-proposal-${x.id}`,children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(ra,{className:"w-3.5 h-3.5 text-[#0A66C2] shrink-0 mt-0.5"}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsxs("p",{className:"text-xs font-semibold text-foreground","data-testid":`copilot-inbox-heading-${x.id}`,children:[d1(x)??e("proposals.fallbackHeading"),x.channel&&u1[x.channel]?a.jsxs("span",{className:"font-normal text-muted-foreground",children:[" ","· ",$O(x.channel,e)]}):null]}),x.summary&&a.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:x.summary})]}),_&&a.jsx("span",{className:"text-[10px] text-muted-foreground shrink-0","data-testid":`copilot-inbox-expiry-${x.id}`,children:_})]}),a.jsx(p1,{proposal:x,testIdPrefix:"copilot-inbox-diff"}),a.jsxs("div",{className:"flex gap-2 justify-end",children:[a.jsx(je,{size:"sm",variant:"outline",className:"h-7 text-xs",disabled:l===x.id,onClick:()=>{v(x.id,"reject")},"data-testid":`copilot-inbox-reject-${x.id}`,children:e("proposals.dismiss")}),a.jsxs(je,{size:"sm",className:"h-7 text-xs bg-[#0A66C2] hover:bg-[#08538f] text-white",disabled:l===x.id||!t,title:t?void 0:e("proposals.consentNeeded"),onClick:()=>{v(x.id,"apply")},"data-testid":`copilot-inbox-apply-${x.id}`,children:[l===x.id?a.jsx(zt,{className:"w-3 h-3 animate-spin me-1"}):a.jsx(ra,{className:"w-3 h-3 me-1"}),e("proposals.apply")]})]})]},x.id)})})}function B8(t){return t?/LinkedInApp/i.test(t):!1}function m1(t){return t?/LinkedInApp/i.test(t)?"linkedin":/FBAN\/|FBAV\//i.test(t)?"facebook":/Instagram/i.test(t)?"instagram":/MicroMessenger/i.test(t)?"wechat":null:null}function V8(t){try{const n=new URL(t).searchParams.get("ref");return n&&n.trim()?n.trim():null}catch{return null}}function H8(t){return t?`https://www.linkedin.com/company/${encodeURIComponent(t)}/`:"https://www.linkedin.com/"}function BO(t,e=1500){if(typeof window>"u"||typeof document>"u")return()=>{};let n=!1,r;function i(){n=!0,clearTimeout(r),document.removeEventListener("visibilitychange",l),window.removeEventListener("pagehide",d)}function l(){document.visibilityState==="hidden"&&i()}function d(){i()}return document.addEventListener("visibilitychange",l),window.addEventListener("pagehide",d),r=setTimeout(()=>{n||(i(),t())},e),i}const h1="Tap ··· â Open in browser";function VO({href:t,className:e,style:n,children:r,"data-testid":i,testUa:l}){const[d,p]=f.useState(!1),m=f.useRef(null);f.useEffect(()=>()=>m.current?.(),[]);const h=l??(typeof navigator<"u"?navigator.userAgent??"":""),v=m1(h)!==null,y=f.useCallback(()=>{m.current?.(),m.current=BO(()=>p(!0))},[]);return v?a.jsx("a",{href:t,rel:"noopener noreferrer",className:e,style:n,"data-testid":i,"data-in-app-browser":"1",onClick:y,children:d?h1:r}):a.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:e,style:n,"data-testid":i,children:r})}const HO=new Set(["in","pub"]),qO=new Set(["company","school","showcase","organization"]);function WO(t){const e=(t??"").trim();if(!e)return null;const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:`https://${e}`;let r;try{r=new URL(n)}catch{return null}const i=r.hostname.toLowerCase();if(i!=="linkedin.com"&&!i.endsWith(".linkedin.com"))return null;
62const l=r.pathname.split("/").filter(Boolean)[0];return l?l.toLowerCase():null}function GO(t){const e=WO(t);if(!e)return"unknown";if(qO.has(e))return"page";if(!HO.has(e))return"unknown";const n=/^[a-z][a-z0-9+.-]*:\/\//i.test(t.trim())?t.trim():`https://${t.trim()}`;try{const r=new URL(n).pathname.split("/").filter(Boolean);return r.length>=2&&r[1].length>0?"profile":"unknown"}catch{return"unknown"}}function KO(t){return GO(t)==="profile"}const YO="https://warmlike.com";function Bb({className:t="",testIdPrefix:e="prelander-handoff",linkedinUrl:n}){return n!==void 0&&!KO(n)?null:a.jsxs("div",{className:`rounded-md border border-blue-200 bg-blue-50 px-3 py-2.5 text-xs leading-relaxed dark:border-blue-800 dark:bg-blue-950/30 ${t}`,"data-testid":e,children:[a.jsx("p",{className:"font-medium text-foreground",children:"Want a Profile Pre-lander instead?"}),a.jsxs("p",{className:"mt-1 text-muted-foreground","data-testid":`${e}-reason`,children:["A pre-lander is a LinkedIn company page that drives traffic toward your profile without connecting your own account. ",a.jsx("strong",{children:"WarmLike"})," rents the LinkedIn account from its own pool and builds that page â it is made on warmlike.com, not here. Once you have one, its boosting is managed in Top Voice."]}),a.jsxs(VO,{href:YO,className:"mt-2 inline-flex items-center gap-1.5 font-medium text-primary hover:underline","data-testid":`${e}-link`,children:[a.jsx(yA,{className:"h-3.5 w-3.5 shrink-0"}),"Set up a Profile Pre-lander on warmlike.com",a.jsx(_c,{className:"h-3 w-3 shrink-0 opacity-70"})]})]})}var QO=Object.defineProperty,ZO=(t,e)=>QO(t,"name",{value:e,configurable:!0});function cg(t,[e,n]){return Math.min(n,Math.max(e,t))}ZO(cg,"clamp");var XO=Object.defineProperty,JO=(t,e)=>XO(t,"name",{value:e,configurable:!0});function g1(t){const e=f.useRef({value:t,previous:t});return f.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}JO(g1,"usePrevious");var eM=Object.defineProperty,_t=(t,e)=>eM(t,"name",{value:e,configurable:!0}),tM=[" ","Enter","ArrowUp","ArrowDown"],nM=[" ","Enter"],dl="Select",[Wp,Gp,oM]=Zc(dl),[ci,q8]=qn(dl,[oM,cr]),Oy=cr(),[aM,Ps]=ci(dl),[rM,sM]=ci(dl);function y1(t){const{__scopeSelect:e,children:n,open:r,defaultOpen:i,onOpenChange:l,value:d,defaultValue:p,onValueChange:m,dir:h,name:v,autoComplete:y,disabled:x,required:_,form:S,internal_do_not_use_render:k}=t,C=Oy(e),[A,P]=f.useState(null),[j,E]=f.useState(null),[F,z]=f.useState(!1),q=rd(h),[re,ee]=zo({prop:r,defaultProp:i??!1,onChange:l,caller:dl}),[se,ae]=zo({prop:d,defaultProp:p,onChange:m,caller:dl}),J=f.useRef(null),Y=f.useRef(se);f.useEffect(()=>{const B=S?A?.ownerDocument.getElementById(S):A?.form;if(B instanceof HTMLFormElement){const G=_t(()=>ae(Y.current),"reset");return B.addEventListener("reset",G),()=>B.removeEventListener("reset",G)}},[S,A,ae]);const ie=A?!!S||!!A.closest("form"):!0,[Ne,R]=f.useState(new Set),ce=sa(),$=Array.from(Ne).map(B=>B.props.value).join(";"),H=f.useCallback(B=>{R(G=>new Set(G).add(B))},[]),O=f.useCallback(B=>{R(G=>{const ue=new Set(G);return ue.delete(B),ue})},[]),T={required:_,trigger:A,onTriggerChange:P,valueNode:j,onValueNodeChange:E,valueNodeHasChildren:F,onValueNodeHasChildrenChange:z,contentId:ce,value:se,onValueChange:ae,open:re,onOpenChange:ee,dir:q,triggerPointerDownPosRef:J,disabled:x,name:v,autoComplete:y,form:S,nativeOptions:Ne,nativeSelectKey:$,isFormControl:ie};return a.jsx(Jc,{...C,children:a.jsx(aM,{scope:e,...T,children:a.jsx(Wp.Provider,{scope:e,children:a.jsx(rM,{scope:e,onNativeOptionAdd:H,onNativeOptionRemove:O,children:A1(k)?k(T):n})})})})}_t(y1,"SelectProvider");var iM=_t(t=>{const{__scopeSelect:e,children:n,...r}=t;return a.jsx(y1,{__scopeSelect:e,...r,internal_do_not_use_render:({isFormControl:i})=>a.jsxs(a.Fragment,{children:[n,i?a.jsx(jM,{__scopeSelect:e}):null]})})},"Select"),lM="SelectTrigger",v1=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,disabled:i=!1,...l}=e,d=Oy(r),p=Ps(lM,r),m=p.disabled||i,h=ct(n,p.onTriggerChange),v=Gp(r),y=f.useRef("touch"),[x,_,S]=Ly(C=>{const A=v().filter(E=>!E.disabled),P=A.find(E=>E.value===p.value),j=Dy(A,C,P);j!==void 0&&p.onValueChange(j.value)}),k=_t(C=>{m||(p.onOpenChange(!0),S()),C&&(p.triggerPointerDownPosRef.current={x:Math.round(C.pageX),y:Math.round(C.pageY)})},"handleOpen");return a.jsx(ed,{asChild:!0,...d,children:a.jsx(Qe.button,{type:"button",role:"combobox","aria-controls":p.open?p.contentId:void 0,"aria-expanded":p.open,"aria-required":p.required,"aria-autocomplete":"none",dir:p.dir,"data-state":p.open?"open":"closed",disabled:m,"data-disabled":m?"":void 0,"data-placeholder":sd(p.value)?"":void 0,...l,ref:h,onClick:Ce(l.onClick,C=>
62{C.currentTarget.focus(),y.current!=="mouse"&&k(C)}),onPointerDown:Ce(l.onPointerDown,C=>{y.current=C.pointerType;const A=C.target;A.hasPointerCapture(C.pointerId)&&A.releasePointerCapture(C.pointerId),C.button===0&&C.ctrlKey===!1&&C.pointerType==="mouse"&&(k(C),C.preventDefault())}),onKeyDown:Ce(l.onKeyDown,C=>{const A=x.current!=="";!(C.ctrlKey||C.altKey||C.metaKey)&&C.key.length===1&&_(C.key),!(A&&C.key===" ")&&tM.includes(C.key)&&(k(),C.preventDefault())})})})},"SelectTrigger")),cM="SelectValue",dM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,className:i,style:l,children:d,placeholder:p="",...m}=e,h=Ps(cM,r),{onValueNodeHasChildrenChange:v}=h,y=d!==void 0,x=ct(n,h.onValueNodeChange);Xt(()=>{v(y)},[v,y]);const _=sd(h.value);return a.jsx(Qe.span,{...m,asChild:_?!1:m.asChild,ref:x,style:{pointerEvents:"none"},children:a.jsx(f.Fragment,{children:_?p:d},_?"placeholder":"value")})},"SelectValue")),uM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,children:i,...l}=e;return a.jsx(Qe.span,{"aria-hidden":!0,...l,ref:n,children:i||"â¼"})},"SelectIcon")),pM="SelectPortal",[fM,mM]=ci(pM,{forceMount:void 0}),hM=_t(t=>{const{__scopeSelect:e,forceMount:n,...r}=t;return a.jsx(fM,{scope:t.__scopeSelect,forceMount:n,children:a.jsx(_l,{asChild:!0,...r})})},"SelectPortal"),ti="SelectContent",x1=f.forwardRef(_t(function(e,n){const r=mM(ti,e.__scopeSelect),{forceMount:i=r.forceMount,...l}=e,d=Ps(ti,e.__scopeSelect),[p,m]=f.useState();return Xt(()=>{m(new DocumentFragment)},[]),a.jsx(lo,{present:i||d.open,children:({present:h})=>h?a.jsx(vM,{...l,ref:n}):a.jsx(gM,{...l,fragment:p})})},"SelectContent")),gM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,children:i,fragment:l}=e;return l?Cs.createPortal(a.jsx(w1,{scope:r,children:a.jsx(Wp.Slot,{scope:r,children:a.jsx("div",{ref:n,children:i})})}),l):null},"SelectContentFragment")),_a=10,[w1,di]=ci(ti),yM=Ta("SelectContent.RemoveScroll"),vM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r}=e,{position:i="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:d,onPointerDownOutside:p,side:m,sideOffset:h,align:v,alignOffset:y,arrowPadding:x,collisionBoundary:_,collisionPadding:S,sticky:k,hideWhenDetached:C,avoidCollisions:A,...P}=e,j=Ps(ti,r),[E,F]=f.useState(null),[z,q]=f.useState(null),re=ct(n,F),[ee,se]=f.useState(null),[ae,J]=f.useState(null),Y=Gp(r),[ie,Ne]=f.useState(!1),R=f.useRef(!1);f.useEffect(()=>{if(E)return Op(E)},[E]),Sl();const ce=f.useCallback(X=>{const[pe,...We]=Y().map(Fe=>Fe.ref.current),[Ge]=We.slice(-1),ut=document.activeElement;for(const Fe of X)if(Fe===ut||(Fe?.scrollIntoView({block:"nearest"}),Fe===pe&&z&&(z.scrollTop=0),Fe===Ge&&z&&(z.scrollTop=z.scrollHeight),Fe?.focus(),document.activeElement!==ut))return},[Y,z]),$=f.useCallback(()=>ce([ee,E]),[ce,ee,E]);f.useEffect(()=>{ie&&$()},[ie,$]);const{onOpenChange:H,triggerPointerDownPosRef:O}=j;f.useEffect(()=>{if(E){let X={x:0,y:0};const pe=_t(Ge=>{X={x:Math.abs(Math.round(Ge.pageX)-(O.current?.x??0)),y:Math.abs(Math.round(Ge.pageY)-(O.current?.y??0))}},"handlePointerMove"),We=_t(Ge=>{X.x<=10&&X.y<=10?Ge.preventDefault():Ge.composedPath().includes(E)||H(!1),document.removeEventListener("pointermove",pe),O.current=null},"handlePointerUp");return O.current!==null&&(document.addEventListener("pointermove",pe),document.addEventListener("pointerup",We,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",pe),document.removeEventListener("pointerup",We,{capture:!0})}}},[E,H,O]),f.useEffect(()=>{const X=_t(()=>H(!1),"close");return window.addEventListener("blur",X),window.addEventListener("resize",X),()=>{window.removeEventListener("blur",X),window.removeEventListener("resize",X)}},[H]);const[T,B]=Ly(X=>{const pe=Y().filter(ut=>!ut.disabled),We=pe.find(ut=>ut.ref.current===document.activeElement),Ge=Dy(pe,X,We);Ge&&setTimeout(()=>Ge.ref.current?.focus())}),G=f.useCallback((X,pe,We)=>{const Ge=!R.current&&!We;(j.value!==void 0&&j.value===pe||Ge)&&(se(X),Ge&&(R.current=!0))},[j.value]),ue=f.useCallback(()=>E?.focus(),[E]),xe=f.useCallback((X,pe,We)=>{const Ge=!R.current&&!We;(j.value!==void 0&&j.value===pe||Ge)&&J(X)},[j.value]),ye=i==="popper"?Vb:xM,M=ye===Vb?{side:m,sideOffset:h,align:v,alignOffset:y,arrowPadding:x,collisionBoundary:_,collisionPadding:S,sticky:k,hideWhenDetached:C,avoidCollisions:A}:{};return a.jsx(w1,{scope:r,content:E,viewport:z,onViewportChange:q,itemRefCallback:G,selectedItem:ee,onItemLeave:ue,itemTextRefCallback:xe,focusSelectedItem:$,selectedItemText:ae,position:i,isPositioned:ie,searchRef:T,children:a.jsx(nd,{as:yM,allowPinchZoom:!0,children:a.jsx(Ep,{asChild:!0,trapped:j.open,onMountAutoFocus:X=>{X.preventDefault()},onUnmountAutoFocus:Ce(l,X=>{j.trigger?.focus({preventScroll:!0}),X.preventDefault()}),children:a.jsx(si,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:X=>X.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:a.jsx(ye,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:X=>X.preventDefault(),...P,...M,onPlaced:()=>Ne(!0),ref:re,style:{display:"flex",flexDirection:"column",outline:"none",...P.style},onKeyDown:Ce(P.onKeyDown,X=>{const pe=X.ctrlKey||X.altKey||X.metaKey;if(X.key==="Tab"&&X.preventDefault(),!pe&&X.key.length===1&&B(X.key),["ArrowUp","ArrowDown","Home","End"].includes(X.key)){let Ge=Y().filter(ut=>!ut.disabled).map(ut=>ut.ref.current);if(["ArrowUp","End"].includes(X.key)&&(Ge=Ge.slice().reverse()),["ArrowUp","ArrowDown"].includes(X.key)){const ut=X.target,Fe=Ge.indexOf(ut);Ge=Ge.slice(Fe+1)}setTimeout(()=>ce(Ge)),X.preventDefault()}})})})})})})},"SelectContentImpl")),xM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,onPlaced:i,...l}=e,d=Ps(ti,r),p=di(ti,r),[m,h]=f.useState(null),[v,y]=f.useState(null),x=ct(n,y),_=Gp(r),S=f.useRef(!1),k=f.useRef(!0),{viewport:C,selectedItem:A,selectedItemText:P,focusSelectedItem:j}=p,E=f.useCallback(()=>
vendor: 5,147 bytes, line 62
62{if(d.trigger&&d.valueNode&&m&&v&&C&&A&&P){const re=d.trigger.getBoundingClientRect(),ee=v.getBoundingClientRect(),se=d.valueNode.getBoundingClientRect(),ae=P.getBoundingClientRect();if(d.dir!=="rtl"){const ut=ae.left-ee.left,Fe=se.left-ut,wt=re.left-Fe,tt=re.width+wt,Vt=Math.max(tt,ee.width),dn=window.innerWidth-_a,fn=cg(Fe,[_a,Math.max(_a,dn-Vt)]);m.style.minWidth=tt+"px",m.style.left=fn+"px"}else{const ut=ee.right-ae.right,Fe=window.innerWidth-se.right-ut,wt=window.innerWidth-re.right-Fe,tt=re.width+wt,Vt=Math.max(tt,ee.width),dn=window.innerWidth-_a,fn=cg(Fe,[_a,Math.max(_a,dn-Vt)]);m.style.minWidth=tt+"px",m.style.right=fn+"px"}const J=_(),Y=window.innerHeight-_a*2,ie=C.scrollHeight,Ne=window.getComputedStyle(v),R=parseInt(Ne.borderTopWidth,10),ce=parseInt(Ne.paddingTop,10),$=parseInt(Ne.borderBottomWidth,10),H=parseInt(Ne.paddingBottom,10),O=R+ce+ie+H+$,T=Math.min(A.offsetHeight*5,O),B=window.getComputedStyle(C),G=parseInt(B.paddingTop,10),ue=parseInt(B.paddingBottom,10),xe=re.top+re.height/2-_a,ye=Y-xe,M=A.offsetHeight/2,X=A.offsetTop+M,pe=R+ce+X,We=O-pe;if(pe<=xe){const ut=J.length>0&&A===J[J.length-1].ref.current;m.style.bottom="0px";const Fe=v.clientHeight-C.offsetTop-C.offsetHeight,wt=Math.max(ye,M+(ut?ue:0)+Fe+$),tt=pe+wt;m.style.height=tt+"px"}else{const ut=J.length>0&&A===J[0].ref.current;m.style.top="0px";const wt=Math.max(xe,R+C.offsetTop+(ut?G:0)+M)+We;m.style.height=wt+"px",C.scrollTop=pe-xe+C.offsetTop}m.style.margin=`${_a}px 0`,m.style.minHeight=T+"px",m.style.maxHeight=Y+"px",i?.(),requestAnimationFrame(()=>S.current=!0)}},[_,d.trigger,d.valueNode,m,v,C,A,P,d.dir,i]);Xt(()=>E(),[E]);const[F,z]=f.useState();Xt(()=>{v&&z(window.getComputedStyle(v).zIndex)},[v]);const q=f.useCallback(re=>{re&&k.current===!0&&(E(),j?.(),k.current=!1)},[E,j]);return a.jsx(wM,{scope:r,contentWrapper:m,shouldExpandOnScrollRef:S,onScrollButtonChange:q,children:a.jsx("div",{ref:h,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:a.jsx(Qe.div,{...l,ref:x,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})},"SelectItemAlignedPosition")),Vb=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,align:i="start",collisionPadding:l=_a,...d}=e,p=Oy(r);return a.jsx(td,{...p,...d,ref:n,align:i,collisionPadding:l,style:{boxSizing:"border-box",...d.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)"}})},"SelectPopperPosition")),[wM,My]=ci(ti,{}),Hb="SelectViewport",bM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,nonce:i,...l}=e,d=di(Hb,r),p=My(Hb,r),m=ct(n,d.onViewportChange),h=f.useRef(0);return a.jsxs(a.Fragment,{children:[a.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:i}),a.jsx(Wp.Slot,{scope:r,children:a.jsx(Qe.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:m,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:Ce(l.onScroll,v=>{const y=v.currentTarget,{contentWrapper:x,shouldExpandOnScrollRef:_}=p;if(_?.current&&x){const S=Math.abs(h.current-y.scrollTop);if(S>0){const k=window.innerHeight-_a*2,C=parseFloat(x.style.minHeight),A=parseFloat(x.style.height),P=Math.max(C,A);if(P<k){const j=P+S,E=Math.min(k,j),F=j-E;x.style.height=E+"px",x.style.bottom==="0px"&&(y.scrollTop=F>0?F:0,x.style.justifyContent="flex-end")}}}h.current=y.scrollTop})})})]})},"SelectViewport")),_M="SelectGroup",[W8,kM]=ci(_M),CM="SelectLabel",b1=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,...i}=e,l=kM(CM,r);return a.jsx(Qe.div,{id:l.id,...i,ref:n})},"SelectLabel")),dg="SelectItem",[SM,_1]=ci(dg),k1=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,value:i,disabled:l=!1,textValue:d,...p}=e,m=Ps(dg,r),h=di(dg,r),v=m.value===i,[y,x]=f.useState(d??""),[_,S]=f.useState(!1),k=Jn(E=>h.itemRefCallback?.(E,i,l)),C=ct(n,k),A=sa(),P=f.useRef("touch"),j=_t(()=>{l||(m.onValueChange(i),m.onOpenChange(!1))},"handleSelect");return a.jsx(SM,{scope:r,value:i,disabled:l,textId:A,isSelected:v,onItemTextChange:f.useCallback(E=>{x(F=>F||(E?.textContent??"").trim())},[]),children:a.jsx(Wp.ItemSlot,{scope:r,value:i,disabled:l,textValue:y,children:a.jsx(Qe.div,{role:"option","aria-labelledby":A,"data-highlighted":_?"":void 0,"aria-selected":v&&_,"data-state":v?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...p,ref:C,onFocus:Ce(p.onFocus,()=>S(!0)),onBlur:Ce(p.onBlur,()=>S(!1)),onClick:Ce(p.onClick,()=>{P.current!=="mouse"&&j()}),onPointerUp:Ce(p.onPointerUp,()=>{P.current==="mouse"&&j()}),onPointerDown:Ce(p.onPointerDown,E=>{P.current=E.pointerType}),onPointerMove:Ce(p.onPointerMove,E=>{P.current=E.pointerType,l?h.onItemLeave?.():P.current==="mouse"&&E.currentTarget.focu
62s({preventScroll:!0})}),onPointerLeave:Ce(p.onPointerLeave,E=>{E.currentTarget===document.activeElement&&h.onItemLeave?.()}),onKeyDown:Ce(p.onKeyDown,E=>{l||E.target!==E.currentTarget||h.searchRef?.current!==""&&E.key===" "||(nM.includes(E.key)&&j(),E.key===" "&&E.preventDefault())})})})})},"SelectItem")),_u="SelectItemText",NM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,className:i,style:l,...d}=e,p=Ps(_u,r),m=di(_u,r),h=_1(_u,r),v=sM(_u,r),[y,x]=f.useState(null),_=Jn(j=>m.itemTextRefCallback?.(j,h.value,h.disabled)),S=ct(n,x,h.onItemTextChange,_),k=y?.textContent,C=f.useMemo(()=>a.jsx("option",{value:h.value,disabled:h.disabled,children:k},h.value),[h.disabled,h.value,k]),{onNativeOptionAdd:A,onNativeOptionRemove:P}=v;return Xt(()=>(A(C),()=>P(C)),[A,P,C]),a.jsxs(a.Fragment,{children:[a.jsx(Qe.span,{id:h.textId,...d,ref:S}),h.isSelected&&p.valueNode&&!p.valueNodeHasChildren&&!sd(p.value)?Cs.createPortal(d.children,p.valueNode):null]})},"SelectItemText")),PM="SelectItemIndicator",AM=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,...i}=e;return _1(PM,r).isSelected?a.jsx(Qe.span,{"aria-hidden":!0,...i,ref:n}):null},"SelectItemIndicator")),qb="SelectScrollUpButton",C1=f.forwardRef(_t(function(e,n){const r=di(qb,e.__scopeSelect),i=My(qb,e.__scopeSelect),[l,d]=f.useState(!1),p=ct(n,i.onScrollButtonChange);return Xt(()=>{if(r.viewport&&r.isPositioned){let m=function(){const v=h.scrollTop>0;d(v)};_t(m,"handleScroll");const h=r.viewport;return m(),h.addEventListener("scroll",m),()=>h.removeEventListener("scroll",m)}},[r.viewport,r.isPositioned]),l?a.jsx(N1,{...e,ref:p,onAutoScroll:()=>{const{viewport:m,selectedItem:h}=r;m&&h&&(m.scrollTop=m.scrollTop-h.offsetHeight)}}):null},"SelectScrollUpButton")),Wb="SelectScrollDownButton",S1=f.forwardRef(_t(function(e,n){const r=di(Wb,e.__scopeSelect),i=My(Wb,e.__scopeSelect),[l,d]=f.useState(!1),p=ct(n,i.onScrollButtonChange);return Xt(()=>{if(r.viewport&&r.isPositioned){let m=function(){const v=h.scrollHeight-h.clientHeight,y=Math.ceil(h.scrollTop)<v;d(y)};_t(m,"handleScroll");const h=r.viewport;return m(),h.addEventListener("scroll",m),()=>h.removeEventListener("scroll",m)}},[r.viewport,r.isPositioned]),l?a.jsx(N1,{...e,ref:p,onAutoScroll:()=>{const{viewport:m,selectedItem:h}=r;m&&h&&(m.scrollTop=m.scrollTop+h.offsetHeight)}}):null},"SelectScrollDownButton")),N1=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,onAutoScroll:i,...l}=e,d=di("SelectScrollButton",r),p=f.useRef(null),m=Gp(r),h=f.useCallback(()=>{p.current!==null&&(window.clearInterval(p.current),p.current=null)},[]);return f.useEffect(()=>()=>h(),[h]),Xt(()=>{m().find(y=>y.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[m]),a.jsx(Qe.div,{"aria-hidden":!0,...l,ref:n,style:{flexShrink:0,...l.style},onPointerDown:Ce(l.onPointerDown,()=>{p.current===null&&(p.current=window.setInterval(i,50))}),onPointerMove:Ce(l.onPointerMove,()=>{d.onItemLeave?.(),p.current===null&&(p.current=window.setInterval(i,50))}),onPointerLeave:Ce(l.onPointerLeave,()=>{h()})})},"SelectScrollButtonImpl")),P1=f.forwardRef(_t(function(e,n){const{__scopeSelect:r,...i}=e;return a.jsx(Qe.div,{"aria-hidden":!0,...i,ref:n})},"SelectSeparator")),TM="SelectBubbleInput",jM=f.forwardRef(_t(function({__scopeSelect:e,...n},r){const i=Ps(TM,e),{value:l,onValueChange:d,required:p,disabled:m,name:h,autoComplete:v,form:y}=i,{nativeOptions:x,nativeSelectKey:_}=i,S=f.useRef(null),k=ct(r,S),C=l??"",A=g1(C),P=Array.from(x).some(j=>(j.props.value??"")==="");return f.useEffect(()=>{const j=S.current;if(!j)return;const E=window.HTMLSelectElement.prototype,z=Object.getOwnPropertyDescriptor(E,"value").set;if(A!==C&&z){const q=new Event("change",{bubbles:!0});z.call(j,C),j.dispatchEvent(q)}},[A,C]),a.jsxs(Qe.select,{"aria-hidden":!0,required:p,tabIndex:-1,name:h,autoComplete:v,disabled:m,form:y,onChange:j=>d(j.target.value),...n,style:{...q_,...n.style},ref:k,defaultValue:C,children:[sd(l)&&!P?a.jsx("option",{value:""}):null,Array.from(x)]},_)},"SelectBubbleInput"));function A1(t){return typeof t=="function"}_t(A1,"isFunction");function sd(t){return t===""||t===void 0}_t(sd,"shouldShowPlaceholder");function Ly(t){const e=Jn(t),n=f.useRef(""),r=f.useRef(0),i=f.useCallback(d=>{const p=n.current+d;e(p),_t((function m(h){n.current=h,window.clearTimeout(r.current),h!==""&&(r.current=window.setTimeout(()=>m(""),1e3))}),"updateSearch")(p)},[e]),l=f.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,l]}_t(Ly,"useTypeaheadSearch");function Dy(t,e,n){const i=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,l=n?t.indexOf(n):-1;let d=T1(t,Math.max(l,0));i.length===1&&(d=d.filter(h=>h!==n));const m=d.find(h=>h.textValue.toLowerCase().startsWith(i.toLowerCase()));return m!==n?m:void 0}_t(Dy,"findNextItem");function T1(t,e){return t.map((n,r)=>t[(e+r)%t.length])}_t(T1,"wrapArray");const j1=iM,I1=dM,Fy=f.forwardRef(({className:t,children:e,...n},r)=>a.jsxs(v1,{ref:r,className:ge("flex h-9 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm r
62ing-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",t),...n,children:[e,a.jsx(uM,{asChild:!0,children:a.jsx(Cg,{className:"h-4 w-4 opacity-50"})})]}));Fy.displayName=v1.displayName;const E1=f.forwardRef(({className:t,...e},n)=>a.jsx(C1,{ref:n,className:ge("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(xA,{className:"h-4 w-4"})}));E1.displayName=C1.displayName;const R1=f.forwardRef(({className:t,...e},n)=>a.jsx(S1,{ref:n,className:ge("flex cursor-default items-center justify-center py-1",t),...e,children:a.jsx(Cg,{className:"h-4 w-4"})}));R1.displayName=S1.displayName;const Uy=f.forwardRef(({className:t,children:e,position:n="popper",...r},i)=>a.jsx(hM,{children:a.jsxs(x1,{ref:i,className:ge("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]",n==="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",t),position:n,...r,children:[a.jsx(E1,{}),a.jsx(bM,{className:ge("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),a.jsx(R1,{})]})}));Uy.displayName=x1.displayName;const IM=f.forwardRef(({className:t,...e},n)=>a.jsx(b1,{ref:n,className:ge("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...e}));IM.displayName=b1.displayName;const $y=f.forwardRef(({className:t,children:e,...n},r)=>a.jsxs(k1,{ref:r,className:ge("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",t),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(AM,{children:a.jsx(Qc,{className:"h-4 w-4"})})}),a.jsx(NM,{children:e})]}));$y.displayName=k1.displayName;const EM=f.forwardRef(({className:t,...e},n)=>a.jsx(P1,{ref:n,className:ge("-mx-1 my-1 h-px bg-muted",t),...e}));EM.displayName=P1.displayName;function O1({consent:t,onConsentChange:e}){const n=Jt(),{toast:r}=Oa(),[,i]=jo(),[l,d]=f.useState(null),p=Qt({queryKey:["/api/visibility/campaigns"]}),m=Array.isArray(p.data)?p.data:p.data?.campaigns||[],h=l??m[0]?.id??null,v=Qt({queryKey:["/api/visibility/campaigns",h,"optimize-suggestions"],queryFn:async()=>{const x=await fetch(`/api/visibility/campaigns/${h}/optimize-suggestions`,{credentials:"include"});if(!x.ok)throw new Error("Failed");return x.json()},enabled:!!h}),y=Ca({mutationFn:async x=>{if(!x.autoApply)throw new Error("No auto-apply");const _=await fetch(x.autoApply.endpoint,{method:x.autoApply.method,headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(x.autoApply.body)});if(!_.ok)throw new Error(n("optimize.applyFailed"));return _.json()},onSuccess:()=>{r({title:n("toast.common.applied"),description:n("toast.aiOptimize.applied.body")}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns",h,"optimize-suggestions"]}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns",h,"history"]})},onError:x=>r({title:n("toast.aiOptimize.couldntApply.title"),description:x?.message||n("toast.common.tryAgain"),variant:"destructive"})});return!p.isLoading&&m.length===0?a.jsx("div",{className:"space-y-4 mt-2",children:a.jsxs("div",{className:"rounded-md border border-dashed p-6 text-center text-sm text-muted-foreground",children:[a.jsx(Mn,{className:"w-6 h-6 mx-auto mb-2 opacity-50"}),n("optimize.empty.noCampaign")]})}
62):a.jsxs("div",{className:"space-y-4 mt-2","data-testid":"tab-ai-optimize",children:[m.length>1&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs text-muted-foreground",children:n("optimize.campaignLabel")}),a.jsxs(j1,{value:String(h||""),onValueChange:x=>d(parseInt(x)),children:[a.jsx(Fy,{className:"h-8 text-xs flex-1","data-testid":"select-optimize-campaign",children:a.jsx(I1,{})}),a.jsx(Uy,{children:m.map(x=>a.jsx($y,{value:String(x.id),children:x.name},x.id))})]})]}),v.isLoading&&a.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx(zt,{className:"w-4 h-4 animate-spin"})," ",n("optimize.analyzing")]}),v.data?.tooYoung&&a.jsxs("div",{className:"rounded-md border border-amber-300 bg-amber-50 dark:bg-amber-950/30 dark:border-amber-800 p-3 text-xs flex gap-2","data-testid":"banner-too-young",children:[a.jsx(Th,{className:"w-4 h-4 text-amber-600 shrink-0 mt-0.5"}),a.jsx("p",{className:"text-amber-900 dark:text-amber-200 leading-relaxed",children:n(v.data.campaign.ageDays===1?"optimize.tooYoung.one":"optimize.tooYoung.other",{count:v.data.campaign.ageDays})})]}),v.data?.noBoostingData&&!v.data?.tooYoung&&a.jsxs("div",{className:"rounded-md border border-amber-300 bg-amber-50 dark:bg-amber-950/30 dark:border-amber-800 p-3 text-xs flex gap-2","data-testid":"banner-no-boosting-data",children:[a.jsx(Th,{className:"w-4 h-4 text-amber-600 shrink-0 mt-0.5"}),a.jsx("p",{className:"text-amber-900 dark:text-amber-200 leading-relaxed",children:n("optimize.noBoostingData")})]}),v.data&&v.data.suggestions.length===0&&!v.data.tooYoung&&!v.data.noBoostingData&&a.jsx("div",{className:"rounded-md border p-6 text-center text-sm text-muted-foreground",children:n("optimize.noSuggestions")}),a.jsx("div",{className:"space-y-2.5",children:v.data?.suggestions.map(x=>a.jsxs("div",{className:"rounded-md border p-3 space-y-2 bg-card","data-testid":`card-suggestion-${x.kind}`,children:[a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx(Mn,{className:"w-4 h-4 text-[#0A66C2] shrink-0 mt-0.5"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("p",{className:"text-sm font-semibold text-foreground",children:x.title}),a.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:x.problem}),a.jsxs("p",{className:"text-xs text-foreground mt-1.5",children:[a.jsx("span",{className:"font-medium",children:n("optimize.suggested")})," ",x.proposal]})]})]}),a.jsxs("div",{className:"flex flex-wrap gap-2 justify-end",children:[x.link&&a.jsxs(je,{size:"sm",variant:"outline",className:"h-7 text-xs",onClick:()=>i(x.link),"data-testid":`button-suggestion-open-${x.kind}`,children:[a.jsx(_c,{className:"w-3 h-3 me-1"})," ",n("common.open")]}),x.autoApply&&a.jsxs(je,{size:"sm",className:"h-7 text-xs bg-[#0A66C2] hover:bg-[#08538f] text-white",disabled:y.isPending||!t,title:t?void 0:n("optimize.consentRequired"),onClick:()=>y.mutate(x),"data-testid":`button-suggestion-apply-${x.kind}`,children:[y.isPending?a.jsx(zt,{className:"w-3 h-3 animate-spin me-1"}):a.jsx(ra,{className:"w-3 h-3 me-1"}),n("optimize.autoApply")]})]})]},x.id))}),a.jsx("div",{className:"pt-2 border-t",children:a.jsx(op,{checked:t,onChange:e,testIdPrefix:"ai-consent-optimize"})})]})}const G8=Object.freeze(Object.defineProperty({__proto__:null,AiOptimizeTab:O1},Symbol.toStringTag,{value:"Module"}));var RM=Object.defineProperty,Ur=(t,e)=>RM(t,"name",{value:e,configurable:!0}),OM="AlertDialog",[MM,K8]=qn(OM,[Jk]),$r=Jk(),LM=Ur(t=>{const{__scopeAlertDialog:e,...n}=t,r=$r(e);return a.jsx(Mp,{...r,...n,modal:!0})},"AlertDialog");f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,l=$r(r);return a.jsx(eC,{...l,...i,ref:n})},"AlertDialogTrigger"));var DM=Ur(t=>{const{__scopeAlertDialog:e,...n}=t,r=$r(e);return a.jsx(Lp,{...r,...n})},"AlertDialogPortal"),FM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,l=$r(r);return a.jsx(od,{...l,...i,ref:n})},"AlertDialogOverlay")),UM="AlertDialogContent",[$M,zM]=MM(UM),BM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,children:i,...l}=e,d=$r(r),p=f.useRef(null),m=ct(n,p),h=f.useRef(null);return a.jsx($M,{scope:r,cancelRef:h,children:a.jsx(Nl,{role:"alertdialog",...d,...l,ref:m,onOpenAutoFocus:Ce(l.onOpenAutoFocus,v=>{v.preventDefault(),h.current?.focus({preventScroll:!0})}),onPointerDownOutside:v=>v.preventDefault(),onInteractOutside:v=>v.preventDefault(),children:i})})},"AlertDialogContent")),VM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,l=$r(r);return a.jsx(Pl,{...l,...i,ref:n})},"AlertDialogTitle")),HM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,l=$r(r);return a.jsx(Al,{...l,...i,ref:n})},"AlertDialogDescription")),qM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,l=$r(r);return a.jsx(Dp,{...l,...i,ref:n})},"AlertDialogAction")),WM="AlertDialogCancel",GM=f.forwardRef(Ur(function(e,n){const{__scopeAlertDialog:r,...i}=e,{cancelRef:l}=zM(WM,r),d=$r(r),p=ct(n,l);return a.jsx(Dp,{...d,...i,ref:p})},"AlertDialogCancel")),KM=LM,YM=DM,M1=FM,L1=BM,D1=qM,F1=GM,U1=VM,$1=HM;const QM=KM,ZM=YM,z1=f.forwardRef(({className:t,...e},n)=>a.jsx(M1,{className:ge("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",t),...e,ref:n}));z1.displayName=M1.displayName;const B1=f.forwardRef(({className:t,...e},n)=>a.jsxs(ZM,{children:[a.jsx(z1,{}),a.jsx(L1,{ref:n,className:ge("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:rou
62nded-lg",t),...e})]}));B1.displayName=L1.displayName;const V1=({className:t,...e})=>a.jsx("div",{className:ge("flex flex-col space-y-2 text-center sm:text-left",t),...e});V1.displayName="AlertDialogHeader";const H1=({className:t,...e})=>a.jsx("div",{className:ge("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});H1.displayName="AlertDialogFooter";const q1=f.forwardRef(({className:t,...e},n)=>a.jsx(U1,{ref:n,className:ge("text-lg font-semibold",t),...e}));q1.displayName=U1.displayName;const W1=f.forwardRef(({className:t,...e},n)=>a.jsx($1,{ref:n,className:ge("text-sm text-muted-foreground",t),...e}));W1.displayName=$1.displayName;const G1=f.forwardRef(({className:t,...e},n)=>a.jsx(D1,{ref:n,className:ge(Mg(),t),...e}));G1.displayName=D1.displayName;const K1=f.forwardRef(({className:t,...e},n)=>a.jsx(F1,{ref:n,className:ge(Mg({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));K1.displayName=F1.displayName;function XM(t,e){try{return new Date(t).toLocaleString(e,{dateStyle:"medium",timeStyle:"short"})}catch{return t}}function JM(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}const Gb={"Campaign name":"history.field.name","Reaction type":"history.field.reactionType","Signal flows":"history.field.signalFlows","Languages filter":"history.field.filterLanguage","Locations filter":"history.field.filterLocation","Language exclude mode":"history.field.filterLanguageExclude","Location exclude mode":"history.field.filterLocationExclude","Industry filter":"history.field.filterIndustry","Industry exclude mode":"history.field.filterIndustryExclude","Post industry filter":"history.field.postFilterIndustry","Post industry exclude mode":"history.field.postFilterIndustryExclude","Webhook URL":"history.field.webhookUrl","Google Sheet":"history.field.googleSheetUrl","Tracked influencers":"history.field.trackedInfluencers","Business description":"history.field.businessDescription","Connected content flow":"history.field.connectedFlowId","React to flow posts":"history.field.reactToFlowPosts"};function Kb(t,e){const n=t.match(/^Campaign settings: ([\s\S]*)$/);if(n){const i=n[1].split(", ").map(l=>Gb[l]?e(Gb[l]):l).join(", ");return e("history.summary.campaign",{fields:i})}const r=t.match(/^(Advanced Filters|Outreach) \((?:Flow #(\d+)|All flows)\): ([\s\S]*)$/);if(r){const i=r[2]?e("history.summary.flowN",{n:r[2]}):e("history.summary.allFlows"),l=r[3]==="created"?e("history.summary.created"):r[3];return e(r[1]==="Outreach"?"history.summary.outreach":"history.summary.advancedFilters",{flow:i,fields:l})}return t}function Y1(){const{t,locale:e}=lr(),{toast:n}=Oa(),[r,i]=f.useState(null),[l,d]=f.useState(null),p=Qt({queryKey:["/api/visibility/campaigns"]}),m=Array.isArray(p.data)?p.data:p.data?.campaigns||[],h=r??m[0]?.id??null,v=Qt({queryKey:["/api/visibility/campaigns",h,"history"],queryFn:async()=>{const x=await fetch(`/api/visibility/campaigns/${h}/history`,{credentials:"include"});if(!x.ok)throw new Error("Failed");return x.json()},enabled:!!h}),y=Ca({mutationFn:async x=>{const _=await fetch(`/api/visibility/campaigns/${x.campaignId}/history/${x.id}/revert`,{method:"POST",credentials:"include"});if(!_.ok){const S=await _.json().catch(()=>({}));throw new Error(S?.error||t("history.revertFailed"))}return _.json()},onSuccess:()=>{n({title:t("toast.history.reverted.title"),description:t("toast.history.reverted.body")}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns",h,"history"]}),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns",h,"optimize-suggestions"]}),d(null)},onError:x=>n({title:t("toast.history.couldntRevert.title"),description:x?.message||t("toast.common.tryAgain"),variant:"destructive"})});return!p.isLoading&&m.length===0?a.jsx("div",{className:"space-y-4 mt-2",children:a.jsxs("div",{className:"rounded-md border border-dashed p-6 text-center text-sm text-muted-foreground",children:[a.jsx(I0,{className:"w-6 h-6 mx-auto mb-2 opacity-50"}),t("history.empty.noCampaigns")]})}):a.jsxs("div",{className:"space-y-3 mt-2 w-full","data-testid":"tab-changes-history",children:[m.length>1&&a.jsxs("div",{className:"flex items-center gap-2 w-full",children:[a.jsx("span",{className:"text-xs text-muted-foreground",children:t("history.campaignLabel")}),a.jsxs(j1,{value:String(h||""),onValueChange:x=>i(parseInt(x)),children:[a.jsx(Fy,{className:"h-8 text-xs flex-1","data-testid":"select-history-campaign",children:a.jsx(I1,{})}),a.jsx(Uy,{children:m.map(x=>a.jsx($y,{value:String(x.id),children:x.name},x.id))})]})]}),a.jsxs("div",{className:"rounded-md border border-amber-300 bg-amber-50 dark:bg-amber-950/30 dark:border-amber-800 p-3 text-xs flex gap-2","data-testid":"banner-history-exclusions",children:[a.jsx(jg,{className:"w-4 h-4 text-amber-600 shrink-0 mt-0.5"}),a.jsx("p",{className:"text-amber-900 dark:text-amber-200 leading-snug",children:JM(t("history.exclusions"),{settingsOnly:a.jsx("span",{className:"font-semibold",children:t("history.exclusions.settingsOnly")}),not:a.jsx("span",{className:"font-semibold",children:t("history.exclusions.not")})})})]}),v.isLoading&&a.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx(zt,{className:"w-4 h-4 animate-spin"})," ",t("history.loading")]}),v.data&&v.data.entries.length===0&&a.jsx("div",{className:"rounded-md border p-6 text-center text-sm text-muted-foreground",children:t("history.empty.noEntries")}),a.jsx("div",{className:"space-y-2",children:v.data?.entries.map(x=>{const _=Kb(x.summary,t);return a.jsxs("div",{className:`rounded-md border p-2.5 flex items-center gap-2 ${x.revertedAt?"opacity-60":""}`,"data-testid":`row-history-${x.id}`,children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[a.jsx("span",{children:XM(x.createdAt,e)}),x.source==="ai_optimize"&&a.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1 py-0.5 rounded bg-[#0A66C2]/10 text-[#0A66C2]",children:[a.jsx(Mn,{className:"w-2.5 h-2.5"})," ",t("history.source.ai")]}),x.source==="copilot"&&a.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1 py-0.5 rounded bg-[#0A66C2]/10 text-[#0A66C2]","data-testid":`badge-copilot-${x.id}`,children:[a.jsx(kc,{className:"w-2.5 h-2.5"})," ",t("copilot.title")]}),x.revertedAt&&a.jsx("span",{className:"px-1 py-0.5 rounded bg-muted text-foreground
62/70",children:t("history.reverted")})]}),a.jsx("p",{className:"text-xs text-foreground mt-0.5 truncate",title:_,children:_})]}),a.jsxs(je,{size:"sm",variant:"outline",className:"h-7 text-xs shrink-0",disabled:!!x.revertedAt||!x.beforeJson,onClick:()=>d(x),"data-testid":`button-revert-${x.id}`,children:[a.jsx(Ag,{className:"w-3 h-3 me-1"})," ",t("history.revert")]})]},x.id)})}),a.jsx(QM,{open:!!l,onOpenChange:x=>{x||d(null)},children:a.jsxs(B1,{children:[a.jsxs(V1,{children:[a.jsx(q1,{children:t("history.confirm.title")}),a.jsxs(W1,{children:[t("history.confirm.body"),l&&a.jsx("div",{className:"mt-2 text-foreground text-sm",children:Kb(l.summary,t)})]})]}),a.jsxs(H1,{children:[a.jsx(K1,{"data-testid":"button-revert-cancel",children:t("common.cancel")}),a.jsxs(G1,{disabled:y.isPending,onClick:x=>{x.preventDefault(),l&&y.mutate(l)},"data-testid":"button-revert-confirm",children:[y.isPending?a.jsx(zt,{className:"w-3 h-3 animate-spin me-1"}):null,t("history.revert")]})]})]})})]})}const Y8=Object.freeze(Object.defineProperty({__proto__:null,ChangesHistoryTab:Y1},Symbol.toStringTag,{value:"Module"}));function eL(t,e){const n=(t||"").split(/\r?\n/).map(d=>d.trim()).filter(Boolean),r=(e||[]).map(d=>(d||"").trim()).filter(Boolean),i=new Set,l=[];for(const d of[...n,...r]){const p=d.toLowerCase().replace(/[\/\s]+$/,"");i.has(p)||(i.add(p),l.push(d))}return l.join(` 63`)}function uc(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}const tL=["grow","appear","research"];function lh(){try{const t="top-voice-tours-seen",e=localStorage.getItem(t),n=new Set(e?JSON.parse(e):[]);tL.forEach(r=>n.add(r)),localStorage.setItem(t,JSON.stringify([...n]))}catch{}}function zy({open:t,onOpenChange:e,reviewPendingPlan:n=!1,initialLinkedinUrl:r,initialBusinessDescription:i,initialEmail:l,initialTab:d,initialQuestion:p,setupOnly:m=!1}){const h=Jt(),{user:v,isAuthenticated:y}=Fr(),[,x]=jo(),{toast:_}=Oa(),S=v?.email||"",[k,C]=f.useState(""),[A,P]=f.useState(""),[j,E]=f.useState(""),[F,z]=f.useState(""),[q,re]=f.useState(""),[ee,se]=f.useState(!1),[ae,J]=f.useState(!1),[Y,ie]=f.useState(null),[Ne,R]=f.useState(!1),[ce,$]=f.useState(!1),[H,O]=f.useState(null),[T,B]=f.useState(null),[G,ue]=f.useState(!0),[xe,ye]=f.useState(m?"setup":d??(n?"setup":"copilot")),[M,X]=f.useState("");f.useEffect(()=>{t&&ye(m?"setup":d??(n?"setup":"copilot"))},[t,d,n]),f.useEffect(()=>{!t||!y||fetch("/api/me/ai-data-consent",{credentials:"include"}).then(we=>we.ok?we.json():null).then(we=>{we&&typeof we.aiDataConsent=="boolean"&&ue(we.aiDataConsent)}).catch(()=>{})},[t,y]),f.useEffect(()=>{if(!y||!t)return;const we=setTimeout(()=>{fetch("/api/me/ai-data-consent",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({aiDataConsent:G})}).catch(()=>{})},400);return()=>clearTimeout(we)},[G,y,t]);const{data:pe,isLoading:We}=Qt({queryKey:["/api/visibility/campaigns"],enabled:y&&t}),{data:Ge,isLoading:ut}=Qt({queryKey:["/api/content/campaigns"],enabled:y&&t}),Fe=y&&!We&&!ut,{data:wt}=Qt({queryKey:["/api/performance-plan/status"],enabled:y&&t}),tt=!y||wt?.trialEligible!==!1,Vt=Array.isArray(pe)?pe:pe?.campaigns,dn=Array.isArray(Ge)?Ge:Ge?.campaigns;Fe&&(Array.isArray(Vt)&&Vt.length>0||Array.isArray(dn)&&dn.length>0);const fn=(Array.isArray(Vt)?Vt:[]).filter(we=>we?.accountSource==="virtual_rented"&&typeof we?.id=="number").map(we=>({id:we.id,name:String(we?.name||h("setup.target.campaignFallback",{id:we.id}))})),[Ve,st]=f.useState(null),[It,Et]=f.useState(!1),en=f.useRef(!1);f.useEffect(()=>{t&&y&&S&&z(S)},[t,y,S]),f.useEffect(()=>{t&&(r&&r.trim()&&C(we=>we.trim()?we:r.trim()),i&&i.trim()&&P(we=>we.trim()?we:i.trim()),l&&l.trim()&&!(y&&S)&&z(we=>we.trim()?we:l.trim()))},[t]),f.useEffect(()=>{t||(en.current=!1,st(null),Et(!1))},[t]),f.useEffect(()=>{!t||!y||n&&(en.current||(en.current=!0,Et(!0),(async()=>{try{const we=await fetch("/api/ai-setup-wizard/my-pending",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:"{}"});if(!we.ok)return;const nt=await we.json();if(nt?.planData&&Array.isArray(nt.planData.signalFlows)&&nt.planData.signalFlows.length>
630){if(typeof nt.planData.businessDescription=="string"&&nt.planData.businessDescription&&P(nt.planData.businessDescription),typeof nt.planData.linkedInUrl=="string"&&nt.planData.linkedInUrl&&C(nt.planData.linkedInUrl),Array.isArray(nt.planData.influenceFlowUrls)){const Ut=nt.planData.influenceFlowUrls.filter(Mt=>typeof Mt=="string"&&Mt.trim()).map(Mt=>Mt.trim());Ut.length>0&&E(Ut.join(` 64`))}st(nt.planData)}}catch(we){console.error("[InstantAI] my-pending fetch failed:",we)}finally{Et(!1)}})()))},[t,y,n]),f.useEffect(()=>{if(!t||!Ve||!Fe)return;const we=Ve;st(null),Vo(we)},[t,Ve,Fe]);const Vo=async we=>{se(!0),O(null),$(!1);try{const nt=await fetch("/api/ai-setup-wizard/apply-plan",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({planData:we,aiDataConsent:G})});if(!nt.ok){const Mt=await nt.text().catch(()=>"");_({title:h("toast.common.couldntApplySavedSetup"),description:Mt?.slice(0,200)||h("toast.instantAi.couldntApplySavedSetup2.bodyFallback"),variant:"destructive"});return}const Ut=await nt.json().catch(()=>({}));typeof Ut?.campaignId=="number"&&O(Ut.campaignId);try{localStorage.setItem("ai-agent-plan-data",JSON.stringify(we))}catch{}Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]}),Qn.invalidateQueries({queryKey:["/api/content/campaigns"]}),R(!1),lh(),J(!0)}catch(nt){console.error("[InstantAI] applyPendingAndShowLaunch failed:",nt),_({title:h("toast.common.couldntApplySavedSetup"),description:nt?.message||h("toast.instantAi.couldntApplySavedSetup2.bodyFallback"),variant:"destructive"})}finally{se(!1)}},Ze=we=>we.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").trim();Ve&&(typeof Ve.businessDescription=="string"&&Ve.businessDescription,typeof Ve.linkedInUrl=="string"&&Ve.linkedInUrl,(Array.isArray(Ve.signalFlows)?Ve.signalFlows:[]).map(we=>we&&typeof we.name=="string"?Ze(we.name):"").filter(Boolean).slice(0,6),(Array.isArray(Ve.influenceFlowUrls)?Ve.influenceFlowUrls:[]).filter(we=>typeof we=="string"&&we.trim()).slice(0,6));const Ln=async()=>{const we=[];if(!y&&!F.trim()&&we.push(h("np.field.email")),k.trim()||we.push(h("np.field.linkedin")),we.length>0){_({title:h("toast.instantAi.fewDetailsMissing.title"),description:h("toast.instantAi.fewDetailsMissing.body",{missing:we.join(", ")}),variant:"destructive"});return}const nt=(y?S:F).trim();if(!y&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(nt)){_({title:h("toast.common.invalidEmail"),description:h("toast.common.pleaseEnterValidEmail"),variant:"destructive"});return}const Ut=eL(j,[]),Mt={email:nt,linkedinUrl:k.trim(),businessDescription:A.trim(),influencers:Ut},mn=T&&T.email===Mt.email&&T.linkedinUrl===Mt.linkedinUrl&&T.businessDescription===Mt.businessDescription&&T.influencers===Mt.influencers;let co=null;try{const bt=localStorage.getItem("ai-agent-plan-data");bt&&(co=JSON.parse(bt))}catch{}if(mn&&co?.signalFlows?.length){lh(),y?vo():J(!0);return}se(!0),O(null),$(!1);try{fetch("/api/lp/leads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:y?"sidebar-instant-ai":"lp-instant-ai",email:nt,linkedinUrl:k,businessDescription:A,influencers:Ut,bookedCalendar:!1})}).catch(()=>{});const bt=Ut?`Key clients, competitors, and industry influencers I'd like to monitor: 65${Ut}`:"Key clients, competitors, and industry influencers I'd like to monitor: none provided â auto-discover relevant voices.";let $t=A.trim();if(!$t){try{const pt=await fetch("/api/ai-setup-wizard/describe-page",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({linkedinUrl:k.trim()})}).then(xt=>xt.ok?xt.json():null);$t=String(pt?.description||"").trim()}catch{$t=""}$t||($t=`Not provided â infer the business from the LinkedIn page ${k.trim()}`)}const nn=`Business: ${$t} 66 67LinkedIn URL: ${k.trim()} 68 69${bt}`;console.log("[InstantAI] step=wizard-fetch start");const Nt=await fetch("/api/ai-setup-wizard",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({message:nn,history:[],hasExistingSetup:y})});if(console.log("[InstantAI] step=wizard-fetch done status=",Nt.status),!Nt.ok)throw new Error(h("setup.error.generateFailed"));const oe=await Nt.json();
69if(console.log("[InstantAI] step=wizard-parsed signalFlows=",oe?.planData?.signalFlows?.length??0),!oe.planData||!oe.planData.signalFlows?.length){try{localStorage.setItem("ai-agent-prefill",JSON.stringify({businessDescription:A,linkedinUrl:k,influencers:j,email:nt}))}catch{}_({title:h("toast.instantAi.letsFinishSetupWizard.title"),description:h("toast.instantAi.letsFinishSetupWizard.body")}),se(!1),e(!1),x("/start?ai=1");return}try{localStorage.setItem("ai-agent-plan-data",JSON.stringify(oe.planData))}catch(pt){console.error("[InstantAI] localStorage.setItem(plan-data) failed:",pt)}let Oe=null;if(!y){console.log("[InstantAI] step=save-pending start");try{const pt=await fetch("/api/ai-setup-wizard/save-pending",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({planData:oe.planData})});if(console.log("[InstantAI] step=save-pending done status=",pt.status),pt.ok){if(Oe=(await pt.json()).token||null,Oe)try{localStorage.setItem("ai-setup-token",Oe)}catch{}}else{const xt=await pt.text().catch(()=>"");console.error("[InstantAI] save-pending non-OK body:",xt)}}catch(pt){console.error("[InstantAI] save-pending threw:",pt)}}ie(Oe);let Ke=null;if(y){let pt=!1,xt="";console.log("[InstantAI] step=apply-plan start");try{const un=M?parseInt(M,10):NaN,Lt=await fetch("/api/ai-setup-wizard/apply-plan",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({planData:oe.planData,aiDataConsent:G,...Number.isFinite(un)?{targetCampaignId:un}:{}})});if(console.log("[InstantAI] step=apply-plan done status=",Lt.status),pt=Lt.ok,pt)try{const dt=await Lt.json();typeof dt?.campaignId=="number"&&(Ke=dt.campaignId),console.log("[InstantAI] apply-plan campaignId=",Ke)}catch(dt){console.error("[InstantAI] apply-plan parse failed:",dt)}else xt=await Lt.text().catch(()=>""),console.error("[InstantAI] apply-plan non-OK body:",xt)}catch(un){console.error("[InstantAI] apply-plan threw:",un)}if(!pt){_({title:h("toast.common.setupDidntFullyApply"),description:xt?.slice(0,200)||h("setup.error.saveFailed"),variant:"destructive"});return}if(Ke===null){_({title:h("toast.common.setupDidntFullyApply"),description:h("toast.instantAi.setupDidntFullyApply2.body"),variant:"destructive"});return}Ke!==null&&O(Ke),Qn.invalidateQueries({queryKey:["/api/visibility/campaigns"]}),Qn.invalidateQueries({queryKey:["/api/content/campaigns"]}),R(!1)}else{let pt=!1,xt=!1,un=!1;try{const Lt=await fetch("/api/auth/instant-setup-signup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:nt,setupToken:Oe,aiDataConsent:G})}),dt=await Lt.json().catch(()=>({}));Lt.ok?dt?.accountStatus==="existing_password"?xt=!0:dt?.emailSent===!1?un=!0:pt=!0:dt?.emailSent===!1&&(un=!0)}catch{}if(xt){try{localStorage.setItem("tv_post_signup_intent","ai-plan")}catch{}_({title:h("toast.common.alreadyHaveAccount"),description:h("toast.common.signApplyNewAi")});const Lt=new URLSearchParams({mode:"login",email:nt,...Oe?{setupToken:Oe}:{},redirect:"/start?ai=1"});e(!1),x(`/auth?${Lt.toString()}`);return}R(pt),$(un)}B(Mt),lh(),y?vo(Ke):J(!0)}catch(bt){console.error("[InstantAI] outer-catch:",bt),_({title:h("toast.instantAi.couldntGenerateSetup.title"),description:bt?.message||bt?.toString?.()||h("toast.common.pleaseTryAgainMoment"),variant:"destructive"})}finally{se(!1)}},Dn=async()=>{if(!Y||!F.trim())return{ok:!1};try{const we=await fetch("/api/auth/instant-setup-signin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:F.trim(),setupToken:Y}),credentials:"include"});return we.ok?{ok:!0}:we.status===409?{ok:!1,existingPassword:(await we.json().catch(()=>({})))?.accountStatus==="existing_password"}:{ok:!1}}catch{return{ok:!1}}},yo=async()=>{try{const we=await fetch("/api/ai-setup-wizard/my-pending",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:"{}"});if(!we.ok)return null;const Ut=(await we.json().catch(()=>({})))?.planData;if(!Ut||!Array.isArray(Ut.signalFlows)||Ut.signalFlows.length===0)return null;const Mt=await fetch("/api/ai-setup-wizard/apply-plan",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({planData:Ut,aiDataConsent:G})});if(!Mt.ok)return console.error("[InstantAI] post-signin apply-plan failed:",Mt.status),_({title:h("toast.common.setupDidntFullyApply"),description:h("toast.instantAi.setupDidntFullyApply3.body"),variant:"destructive"}),null;const mn=await Mt.json().catch(()=>({}));try{localStorage.setItem("ai-agent-plan-data",JSON.stringify(Ut))}catch{}return typeof mn?.campaignId=="number"?mn.campaignId:null}catch(we){return console.error("[InstantAI] post-signin apply-plan threw:",we),_({title:h("toast.common.setupDidntFullyApply"),description:h("toast.instantAi.setupDidntFullyApply3.body"),variant:"destructive"}),null}},vo=async we=>
69{try{sessionStorage.removeItem("tv_pages_only_intent")}catch{}try{sessionStorage.removeItem("tv_post_signup_intent")}catch{}const nt=Array.isArray(Vt)&&Vt.some(bt=>["active","trialing","lifetime","canceling"].includes(bt?.subscriptionStatus));let Ut=y&&(wt?.hasPerfPlan===!0||nt);if(y&&!Ut&&wt?.hasPerfPlan===void 0)try{const bt=await fetch("/api/performance-plan/status",{credentials:"include"});bt.ok&&(await bt.json().catch(()=>null))?.hasPerfPlan===!0&&(Ut=!0)}catch{}const Mt=bt=>{const $t=new URLSearchParams({connect:"1"});Ut||$t.set("pendingSubscribe","trial");const nn=bt??H;return nn!=null&&($t.set("campaignId",String(nn)),$t.set("setupCampaign",String(nn))),`/account?${$t.toString()}`};if(y){e(!1),window.location.href=Mt(we);return}const mn=await Dn();if(mn.ok){if(q.trim().length>=6)try{const $t=await fetch("/api/auth/instant-setup-password",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({password:q})});$t.ok||console.warn("[InstantAI] password not saved:",$t.status)}catch($t){console.warn("[InstantAI] password save threw:",$t)}const bt=await yo();bt!==null&&O(bt),window.location.href=Mt(bt);return}const co=new URLSearchParams({mode:mn.existingPassword?"login":"register",redirect:Mt(),email:F});if(Y&&co.set("setupToken",Y),mn.existingPassword){try{localStorage.setItem("tv_post_signup_intent","ai-plan")}catch{}_({title:h("toast.common.alreadyHaveAccount"),description:h("toast.common.signApplyNewAi")})}window.location.href=`/auth?${co.toString()}`};return a.jsxs(a.Fragment,{children:[a.jsx(Ia,{open:t&&!ae&&!(y&&Ve),onOpenChange:e,children:a.jsxs(ia,{className:"sm:max-w-lg max-h-[90vh] overflow-y-auto","data-testid":"dialog-instant-ai-setup",children:[a.jsx(ar,{children:a.jsxs(la,{className:"flex items-center gap-2 pe-8 leading-tight",children:[a.jsx(ra,{className:"w-5 h-5 text-[#0A66C2]"}),h("setup.title")]})}),y?a.jsxs(_O,{value:xe,onValueChange:we=>ye(we),className:"mt-2",children:[!m&&a.jsxs(r1,{className:"grid w-full grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.4fr)]",children:[a.jsxs(mc,{value:"copilot",className:"px-2","data-testid":"tab-trigger-copilot",children:[a.jsx(kc,{className:"w-3.5 h-3.5 me-1 shrink-0"}),h("copilot.title")]}),a.jsxs(mc,{value:"setup",className:"px-2","data-testid":"tab-trigger-setup",children:[a.jsx(ra,{className:"w-3.5 h-3.5 me-1 shrink-0"}),h("setup.tab.setup")]}),a.jsxs(mc,{value:"optimize",className:"px-2","data-testid":"tab-trigger-optimize",children:[a.jsx(Mn,{className:"w-3.5 h-3.5 me-1 shrink-0"}),h("assist.optimize")]}),a.jsxs(mc,{value:"history",className:"px-2","data-testid":"tab-trigger-history",children:[a.jsx(I0,{className:"w-3.5 h-3.5 me-1 shrink-0"}),a.jsx("span",{className:"hidden sm:inline",children:h("setup.tab.historyFull")}),a.jsx("span",{className:"sm:hidden",children:h("setup.tab.history")})]})]}),a.jsx(hc,{value:"setup",children:a.jsxs("div",{className:"space-y-4 mt-2",children:[a.jsxs("div",{className:"space-y-1.5",children:[a.jsxs(bn,{htmlFor:"instant-ai-linkedin-t",className:"text-sm flex items-center gap-1.5",children:[a.jsx(rl,{className:"w-3.5 h-3.5 text-[#0A66C2]"}),h("np.form.linkedin")]}),a.jsx(An,{id:"instant-ai-linkedin-t",placeholder:h("np.form.linkedin.placeholder"),value:k,onChange:we=>C(we.target.value),"data-testid":"input-instant-ai-linkedin"}),a.jsx(Bb,{className:"mt-2",testIdPrefix:"prelander-popup-handoff",linkedinUrl:k})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"instant-ai-desc-t",className:"text-sm",children:uc(h("setup.desc.label"),{optional:a.jsx("span",{className:"text-muted-foreground font-normal",children:h("setup.optional")})})}),a.jsx(Ic,{id:"instant-ai-desc-t",placeholder:h("setup.desc.placeholder"),value:A,onChange:we=>P(we.target.value),rows:4,className:"resize-none","data-testid":"input-instant-ai-description"})]}),fn.length>0&&a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"instant-ai-target-t",className:"text-sm",children:h("setup.target.label")}),a.jsxs("select",{id:"instant-ai-target-t",value:M,onChange:we=>X(we.target.value),className:"w-full h-10 rounded-md border border-input bg-background px-3 text-sm","data-testid":"select-instant-ai-target",children:[a.jsx("option",{value:"",children:h("setup.target.auto")}),fn.map(we=>a.jsx("option",{value:String(we.id),children:h("setup.target.rented",{name:we.name})},we.id))]}),a.jsx("p",{className:"text-[11px] text-muted-foreground",children:h("setup.target.help")})]}),a.jsx("div",{className:"pt-1",children:a.jsx(op,{checked:G,onChange:ue,testIdPrefix:"ai-consent-popup"})}),a.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[a.jsxs(je,{onClick:Ln,disabled:ee||!G,title:G?void 0:h("np.form.consentRequired"),
69className:"w-full bg-[#0A66C2] hover:bg-[#08538f] text-white h-12 gap-2 text-base","data-testid":"button-instant-ai-launch",children:[ee?a.jsx(zt,{className:"w-4 h-4 animate-spin"}):a.jsx(ra,{className:"w-4 h-4"}),h(ee?"setup.generating":tt?"lp.hero.cta":"setup.launch"),!ee&&a.jsx(Ys,{className:"w-4 h-4"})]}),!G&&a.jsx("p",{className:"text-[11px] text-amber-600 dark:text-amber-400 text-center",children:h("setup.consentHint")})]})]})}),a.jsx(hc,{value:"copilot",children:xe==="copilot"&&a.jsxs("div",{className:"space-y-3",children:[a.jsx(zO,{consent:G}),a.jsx(f1,{consent:G,onConsentChange:ue,initialQuestion:p})]})}),a.jsx(hc,{value:"optimize",children:a.jsx(O1,{consent:G,onConsentChange:ue})}),a.jsx(hc,{value:"history",children:a.jsx(Y1,{})})]}):a.jsxs("div",{className:"space-y-4 mt-2",children:[!y&&a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"instant-ai-email",className:"text-sm",children:h("np.form.email")}),a.jsx(An,{id:"instant-ai-email",type:"email",placeholder:h("np.form.email.placeholder"),value:F,onChange:we=>z(we.target.value),"data-testid":"input-instant-ai-email"})]}),!y&&a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"instant-ai-password",className:"text-sm",children:uc(h("setup.password.label"),{optional:a.jsx("span",{className:"text-muted-foreground font-normal",children:h("setup.optional")})})}),a.jsx(An,{id:"instant-ai-password",type:"password",autoComplete:"new-password",placeholder:h("setup.password.placeholder"),value:q,onChange:we=>re(we.target.value),"data-testid":"input-instant-ai-password"}),a.jsx("p",{className:"text-[11px] text-muted-foreground",children:h("setup.password.help")})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsxs(bn,{htmlFor:"instant-ai-linkedin",className:"text-sm flex items-center gap-1.5",children:[a.jsx(rl,{className:"w-3.5 h-3.5 text-[#0A66C2]"}),h("np.form.linkedin")]}),a.jsx(An,{id:"instant-ai-linkedin",placeholder:h("np.form.linkedin.placeholder"),value:k,onChange:we=>C(we.target.value),"data-testid":"input-instant-ai-linkedin"}),a.jsx(Bb,{className:"mt-2",testIdPrefix:"prelander-anon-handoff",linkedinUrl:k})]}),a.jsxs("div",{className:"space-y-1.5",children:[a.jsx(bn,{htmlFor:"instant-ai-desc",className:"text-sm",children:uc(h("setup.desc.label"),{optional:a.jsx("span",{className:"text-muted-foreground font-normal",children:h("setup.optional")})})}),a.jsx(Ic,{id:"instant-ai-desc",placeholder:h("setup.desc.placeholder"),value:A,onChange:we=>P(we.target.value),rows:4,className:"resize-none","data-testid":"input-instant-ai-description"})]}),a.jsx("div",{className:"pt-1",children:a.jsx(op,{checked:G,onChange:ue,testIdPrefix:"ai-consent-anon"})}),a.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[a.jsxs(je,{onClick:Ln,disabled:ee||!G,title:G?void 0:h("np.form.consentRequired"),className:"w-full bg-[#0A66C2] hover:bg-[#08538f] text-white h-12 gap-2 text-base","data-testid":"button-instant-ai-launch",children:[ee?a.jsx(zt,{className:"w-4 h-4 animate-spin"}):a.jsx(ra,{className:"w-4 h-4"}),h(ee?"setup.generating":tt?"lp.hero.cta":"setup.launch"),!ee&&a.jsx(Ys,{className:"w-4 h-4"})]}),!G&&a.jsx("p",{className:"text-[11px] text-amber-600 dark:text-amber-400 text-center",children:h("setup.consentHint")})]})]})]})}),a.jsx(Ia,{open:ae,onOpenChange:we=>{J(we),we||e(!1)},children:a.jsxs(ia,{className:"sm:max-w-lg","data-testid":"dialog-launch-choice",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(Mn,{className:"w-5 h-5 text-violet-500"}),h("setup.launchChoice.title")]}),a.jsx(rr,{children:h("setup.launchChoice.description")})]}),Ne&&F&&a.jsx("div",{className:"rounded-md border border-emerald-200 bg-emerald-50 dark:bg-emerald-950/30 dark:border-emerald-900/50 px-3 py-2 text-xs text-emerald-800 dark:text-emerald-200","data-testid":"text-magic-sent-notice",children:uc(h("setup.launchChoice.magicSent"),{email:a.jsx("strong",{className:"font-semibold break-all",children:F})})}),ce&&F&&a.jsx("div",{className:"rounded-md border border-amber-200 bg-amber-50 dark:bg-amber-950/30 dark:border-amber-900/50 px-3 py-2 text-xs text-amber-800 dark:text-amber-200","data-testid":"text-magic-send-failed-notice",children:uc(h("setup.launchChoice.sendFailed"),{email:a.jsx("strong",{className:"font-semibold break-all",children:F}),support:a.jsx("button",{type:"button",onClick:()=>CO({email:"[email protected]",subject:"AI Setup sign-in link not received"}),className:"underline font-semibold","data-testid":"button-magic-send-failed-support",children:h("setup.launchChoice.contactSupport")})})}),a.jsx("div",{className:"grid gap-3 mt-2",children:a.jsx("button",{type:"button",onClick:()=>vo(),className:"text-start rounded-lg border-2 border-[#0A66C2] bg-[#0A66C2]/5 hover:bg-[#0A66C2]/10 p-4 transition-colors group","data-testid":"button-launch-trial",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"w-10 h-10 rounded-full bg-[#0A66C2] flex items-center justify-center shrink-0",children:a.jsx(rl,{className:"w-5 h-5 text-white"})}),a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx("span",{className:"font-semibold text-sm",children:h("setup.launchChoice.boostPlan")}),a.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider px-1.5 py-0.5 rounded bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300",children:h(tt?"setup.launchChoice.priceTrial":"setup.launchChoice.price")})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:h("setup.launchChoice.boostBody")})]}),a.jsx(Ys,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground shrink-0 mt-1"})]})})}),!y&&a.jsx("p",{className:"text-[11px] text-muted-foreground text-center mt-2",children:h("setup.launchChoice.passwordNote")})]})})]})}const nL=Object.freeze(Object.defineProperty({__proto__:null,InstantAISetupDialog:zy},Symbol.toStringTag,{value:"Module"})),oL=[{id:"creative",label:"Core creative",summary:"The one image a post is built from â made in your own ChatGPT, Claude or anywhere. The next post uses it instead of generating one.",anchor:null},{id:"autopilot",label:"Autopilot & schedule",summary:"What gets generated, how often it posts, and on which days.",anchor:"card-autopilot"},{id:"creatives",label:"Creatives",summary:"What is made from the core creative: image, carousel, video or GIF, and how boldly.",anchor:"section-autopilot-creatives"},{id:"engagement",label:"Engagement",summary:"Replies to people who engage with the campaign's posts, the first comment, and reposts from your other accounts.",anchor:"card-content-comment-followups"},{id:"branding",label:"Branding",summary:"The logo, colour and font baked into images and carousels.",anchor:"card-content-branding"}],aL=new Map(oL.map(t=>[t.id,t]));function rL(t){return aL.get(t)}const Q1="embed";function Q8(t,e){const n=new URLSearchParams({[Q1]:t});return e!=null&&Number.isFinite(e)&&n.set("campaign",String(e)),`/content?${n.toString()}`}const ch="/grow/contentSettings",Yb="contentCampaign",Qb="copilot",Zb="client/src/hooks/use-copilot-handoff.ts",dh="client/src/pages/grow/content-settings.tsx",ku="client/src/pages/grow/index.tsx",sL="client/src/pages/grow/account.tsx",iL=[{id:"tv-content-launch",brand:"topvoice",side:"appear",route:ch,targetParam:Yb,landsOnly:!0,label:"Finish setting up and launch this content campaign",question:"Walk me through what is still missing before this content campaign can start publishing, and propose the changes so I can review them before anything is saved.",readBy:[dh]},{id:"tv-content-blocked-no-account",brand:"topvoice",side:"appear",route:ch,targetParam:Yb,landsOnly:!0,label:"Fix the content campaign that is publishing nothing",question:"This content campaign has no LinkedIn account attached, so the scheduler skips it and nothing is being published. Show me exactly what is missing and what to do about it.",readBy:[dh]},{id:"tv-content-create",brand:"topvoice",side:"appear",route:ch,landsOnly:!0,label:"Create a content campaign",question:"I have no content campaign yet. Based on what you can already read from my account, what would you set up, and what do you need from me before you can propose it?",readBy:[dh]},{id:"tv-boosting-launch",brand:"topvoice",side:"grow",route:"/funnel",targetParam:"campaign",landsOnly:!0,label:"Finish setting up and launch this boosting campaign",question:"Walk me through what is still missing before this boosting campaign can start running, and propose the changes so I can review them before anything is saved.",readBy:[ku]},{id:"tv-boosting-paused",brand:"topvoice",side:"grow",route:"/funnel",targetParam:"campaign",landsOnly:!0,label:"Get this paused boosting campaign running again",question:"This boosting campaign is paused. Tell me why it stopped and what I need to do to get it running again, and propose whatever you can change yourself.",readBy:[ku]},{id:"tv-boosting-create",brand:"topvoice",side:"grow",route:"/funnel",landsOnly:!0,label:"Create a boosting campaign",question:"I have no boosting campaign running yet. What would you set up for me, and what do you need from me before you can propose it?",readBy:[ku]},{id:"tv-research-attach-flow",brand:"topvoice",side:"research",route:"/influence",label:"Put an Influence Flow behind a campaign",question:"Which of my Influence Flows should be attached to a campaign, and what would change if it were? Propose it so I can review it first.",readBy:[Zb]},{id:"tv-research-create-flow",brand:"topvoice",side:"research",route:"/influence",label:"Create your first Influence Flow",question:"I have no Influence Flows yet. Ask me what subject mine should cover, then set one up so my campaigns have influencer voices and standing context to draw on.",readBy:[Zb]},{id:"tv-trial-activate",brand:"topvoice",side:"account",route:"/account",landsOnly:!0,label:"Activate the free trial",question:"Is the free trial still available on my account? Tell me every condition that applies and exactly what I would have to do to activate it.",readBy:[sL]},{id:"tv-account-overview",brand:"topvoice",side:"account",route:"/funnel",landsOnly:!0,label:"See where my account stands",question:"Give me the current state of my account across Research, Appear and Grow, and the single most useful thing to do next.",readBy:[ku]}];function lL(t){if(typeof t!="string")return null;const e=t.trim().toLowerCase();return e?iL.find(n=>n.id===e)??null:null}function cL(t){const{enabled:e}=t,[n]=jo(),[r,i]=f.useState(null);f.useEffect(()=>{if(!e)return;let d=null,p;try{p=new URLSearchParams(window.location.search),d=p.get(Qb)}catch{return}if(d===null)return;const m=lL(d);p.delete(Qb);const h=p.toString();try{window.history.replaceState({},"",`${window.location.pathname}${h?`?${h}`:""}${window.location.hash}`)}catch{}m&&i(m)},[e,n]);const l=f.useCallback(()=>i(null),[]);return{handoff:r,dismiss:l}}const de=Symbol.for("drizzle:entityKind");function xn(t,e){if(!t||typeof t!="object")return!1;if(t instanceof e)return!0;
69if(!Object.prototype.hasOwnProperty.call(e,de))throw new Error(`Class "${e.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 n=Object.getPrototypeOf(t).constructor;if(n)for(;n;){if(de in n&&n[de]===e[de])return!0;n=Object.getPrototypeOf(n)}return!1}class Rc{constructor(e,n){this.table=e,this.config=n,this.name=n.name,this.keyAsName=n.keyAsName,this.notNull=n.notNull,this.default=n.default,this.defaultFn=n.defaultFn,this.onUpdateFn=n.onUpdateFn,this.hasDefault=n.hasDefault,this.primary=n.primaryKey,this.isUnique=n.isUnique,this.uniqueName=n.uniqueName,this.uniqueType=n.uniqueType,this.dataType=n.dataType,this.columnType=n.columnType,this.generated=n.generated,this.generatedIdentity=n.generatedIdentity}static[de]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class dL{static[de]="ColumnBuilder";config;constructor(e,n,r){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:n,columnType:r,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===""&&(this.config.name=e)}}const sl=Symbol.for("drizzle:Name");class uL{static[de]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,n){this.reference=()=>{const{name:r,columns:i,foreignColumns:l}=e();return{name:r,columns:i,foreignTable:l[0].table,foreignColumns:l}},n&&(this._onUpdate=n.onUpdate,this._onDelete=n.onDelete)}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new pL(e,this)}}class pL{constructor(e,n){this.table=e,this.reference=n.reference,this.onUpdate=n._onUpdate,this.onDelete=n._onDelete}static[de]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:n,foreignColumns:r}=this.reference(),i=n.map(p=>p.name),l=r.map(p=>p.name),d=[this.table[sl],...i,r[0].table[sl],...l];return e??`${d.join("_")}_fk`}}function fL(t,...e){return t(...e)}function mL(t,e){return`${t[sl]}_${e.join("_")}_unique`}function Xb(t,e,n){for(let r=e;r<t.length;r++){const i=t[r];if(i==="\\"){r++;continue}if(i==='"')return[t.slice(e,r).replace(/\\/g,""),r+1];if(!n&&(i===","||i==="}"))return[t.slice(e,r).replace(/\\/g,""),r]}return[t.slice(e).replace(/\\/g,""),t.length]}function Z1(t,e=0){const n=[];let r=e,i=!1;for(;r<t.length;){const l=t[r];if(l===","){(i||r===e)&&n.push(""),i=!0,r++;continue}if(i=!1,l==="\\"){r+=2;continue}if(l==='"'){const[m,h]=Xb(t,r+1,!0);n.push(m),r=h;continue}if(l==="}")return[n,r+1];if(l==="{"){const[m,h]=Z1(t,r+1);n.push(m),r=h;continue}const[d,p]=Xb(t,r,!1);n.push(d),r=p}return[n,r]}function hL(t){const[e]=Z1(t,1);return e}function X1(t){return`{${t.map(e=>Array.isArray(e)?X1(e):typeof e=="string"?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class kt extends dL{foreignKeyConfigs=[];static[de]="PgColumnBuilder";array(e){return new yL(this.config.name,this,e)}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e,n){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=n?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:r,actions:i})=>fL((l,d)=>{const p=new uL(()=>{const m=l();return{columns:[e],foreignColumns:[m]}});return d.onUpdate&&p.onUpdate(d.onUpdate),d.onDelete&&p.onDelete(d.onDelete),p.build(n)},r,i))}buildExtraConfigColumn(e){return new gL(e,this.config)}}class ft extends Rc{constructor(e,n){n.uniqueName||(n.uniqueName=mL(e,[n.name])),super(e,n),this.table=e}static[de]="PgColumn"}class gL extends ft{static[de]="ExtraConfigColumn";
69getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};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(e){return this.indexConfig.opClass=e,this}}class uh{static[de]="IndexedColumn";constructor(e,n,r,i){this.name=e,this.keyAsName=n,this.type=r,this.indexConfig=i}name;keyAsName;type;indexConfig}class yL extends kt{static[de]="PgArrayBuilder";constructor(e,n,r){super(e,"array","PgArray"),this.config.baseBuilder=n,this.config.size=r}build(e){const n=this.config.baseBuilder.build(e);return new By(e,this.config,n)}}class By extends ft{constructor(e,n,r,i){super(e,n),this.baseColumn=r,this.range=i,this.size=n.size}size;static[de]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size=="number"?this.size:""}]`}mapFromDriverValue(e){return typeof e=="string"&&(e=hL(e)),e.map(n=>this.baseColumn.mapFromDriverValue(n))}mapToDriverValue(e,n=!1){const r=e.map(i=>i===null?null:xn(this.baseColumn,By)?this.baseColumn.mapToDriverValue(i,!0):this.baseColumn.mapToDriverValue(i));return n?r:X1(r)}}const Jb=Symbol.for("drizzle:isPgEnum");function vL(t){return!!t&&typeof t=="function"&&Jb in t&&t[Jb]===!0}class J1{static[de]="Subquery";constructor(e,n,r,i=!1,l=[]){this._={brand:"Subquery",sql:e,selectedFields:n,alias:r,isWith:i,usedTables:l}}}const xL={startActiveSpan(t,e){return e()}},il=Symbol.for("drizzle:ViewBaseConfig"),ph=Symbol.for("drizzle:Schema"),e0=Symbol.for("drizzle:Columns"),t0=Symbol.for("drizzle:ExtraConfigColumns"),fh=Symbol.for("drizzle:OriginalName"),mh=Symbol.for("drizzle:BaseName"),ap=Symbol.for("drizzle:IsAlias"),n0=Symbol.for("drizzle:ExtraConfigBuilder"),eS=Symbol.for("drizzle:IsDrizzleTable");class Bn{static[de]="Table";static Symbol={Name:sl,Schema:ph,OriginalName:fh,Columns:e0,ExtraConfigColumns:t0,BaseName:mh,IsAlias:ap,ExtraConfigBuilder:n0};[sl];[fh];[ph];[e0];[t0];[mh];[ap]=!1;[eS]=!0;[n0]=void 0;constructor(e,n,r){this[sl]=this[fh]=e,this[ph]=n,this[mh]=r}}function tS(t){return typeof t=="object"&&t!==null&&eS in t}function wL(t){return t!=null&&typeof t.getSQL=="function"}function bL(t){const e={sql:"",params:[]};for(const n of t)e.sql+=n.sql,e.params.push(...n.params),n.typings?.length&&(e.typings||(e.typings=[]),e.typings.push(...n.typings));return e}class ka{static[de]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new Zt([this])}}class Zt{constructor(e){this.queryChunks=e;for(const n of e)if(xn(n,Bn)){const r=n[Bn.Symbol.Schema];this.usedTables.push(r===void 0?n[Bn.Symbol.Name]:r+"."+n[Bn.Symbol.Name])}}static[de]="SQL";decoder=nS;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return xL.startActiveSpan("drizzle.buildSQL",n=>{const r=this.buildQueryFromSourceParams(this.queryChunks,e);return n?.setAttributes({"drizzle.query.text":r.sql,"drizzle.query.params":JSON.stringify(r.params)}),r})}buildQueryFromSourceParams(e,n){const r=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:i,escapeName:l,escapeParam:d,prepareTyping:p,inlineParams:m,paramStartIndex:h}=r;return bL(e.map(v=>{if(xn(v,ka))return{sql:v.value.join(""),params:[]};if(xn(v,ug))return{sql:l(v.value),params:[]};if(v===void 0)return{sql:"",params:[]};if(Array.isArray(v)){const y=[new ka("(")];for(const[x,_]of v.entries())y.push(_),x<v.length-1&&y.push(new ka(", "));return y.push(new ka(")")),this.buildQueryFromSourceParams(y,r)}if(xn(v,Zt))return this.buildQueryFromSourceParams(v.queryChunks,{...r,inlineParams:m||v.shouldInlineParams});if(xn(v,Bn)){const y=v[Bn.Symbol.Schema],x=v[Bn.Symbol.Name];return{sql:y===void 0||v[ap]?l(x):l(y)+"."+l(x),params:[]}}if(xn(v,Rc)){const y=i.getColumnCasing(v);if(n.invokeSource==="indexes")return{sql:l(y),params:[]};const x=v.table[Bn.Symbol.Schema];return{sql:v.table[ap]||x===void 0?l(v.table[Bn.Symbol.Name])+"."+l(y):l(x)+"."+l(v.table[Bn.Symbol.Name])+"."+l(y),params:[]}}if(xn(v,_L)){const y=v[il].schema,x=v[il].name;return{sql:y===void 0||v[il].isAlias?l(x):l(y)+"."+l(x),params:[]}}if(xn(v,aS)){if(xn(v.value,pg))return{sql:d(h.value++,v),params:[v],typings:["none"]};const y=v.value===null?null:v.encoder.mapToDriverValue(v.value);if(xn(y,Zt))return this.buildQueryFromSourceParams([y],r);if(m)return{sql:this.mapInlineParam(y,r),params:[]};let x=["none"];return p&&(x=[p(v.encoder)]),{sql:d(h.value++,y),params:[y],typings:x}}return xn(v,pg)?{sql:d(h.value++,v),params:[v],typings:["none"]}:xn(v,Zt.Aliased)&&v.fieldAlias!==void 0?{sql:l(v.fieldAlias),params:[]}:xn(v,J1)?v._.isWith?{sql:l(v._.alias),params:[]}:this.buildQueryFromSourceParams([new ka("("),v._.sql,new ka(") "),new ug(v._.alias)],r):vL(v)?v.schema?{sql:l(v.schema)+"."+l(v.enumName),params:[]}:{sql:l(v.enumName),params:[]}:wL(v)?v.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([v.getSQL()],r):this.buildQueryFromSourceParams([new ka("("),v.getSQL(),new ka(")")],r):m?{sql:this.mapInlineParam(v,r),params:[]}:{sql:d(h.value++,v),params:[v],typings:["none"]}}))}mapInlineParam(e,{escapeString:n}){if(e===null)return"null";if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="string")return n(e);if(typeof e=="object"){const r=e.toString();return n(r==="[object Object]"?JSON.stringify(e):r)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return e===void 0?this:new Zt.Aliased(this,e)}mapWith(e){return this.decoder=typeof e=="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class ug{constructor(e){this.value=e}static[de]="Name";brand;getSQL(){return new Zt([this])}}const nS={mapFromDriverValue:t=>t},oS={mapToDriverValue:t=>t};({...nS,...oS});class aS{constructor(e,n=oS){this.value=e,this.encoder=n}static[de]="Param";brand;getSQL(){return new Zt([this])}}function Z(t,...e){const n=[];(e.length>0||t.length>0&&t[0]!=="")&&n.push(new ka(t[0]));for(const[r,i]of e.entries())n.push(i,new ka(t[r+1]));return new Zt(n)}(t=>{function e(){return new Zt([])}t.empty=e;function n(m){return new Zt(m)}t.fromList=n;function r(m){return new Zt([new ka(m)])}t.raw=r;function i(m,h){const v=[];for(const[y,x]of m.entries())y>0&&h!==void 0&&v.push(h),v.push(x);return new Zt(v)}t.join=i;function l(m){return new ug(m)}t.identifier=l;function d(m){return new pg(m)}t.placeholder=d;function p(m,h){return new aS(m,h)}t.param=p})(Z||(Z={}));(t=>{class e{constructor(r,i){this.sql=r,this.fieldAlias=i}static[de]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new e(this.sql,this.fieldAlias)}}t.Aliased=e})(Zt||(Zt={}));class pg{constructor(e){this.name=e}static[de]="Placeholder";getSQL(){return new Zt([this])}}const rS=Symbol.for("drizzle:IsDrizzleView");class _L{static[de]="View";[il];[rS]=!0;
69constructor({name:e,schema:n,selectedFields:r,query:i}){this[il]={name:e,originalName:e,schema:n,selectedFields:r,query:i,isExisting:!i,isAlias:!1}}getSQL(){return new Zt([this])}}function kL(t){return typeof t=="object"&&t!==null&&rS in t}Rc.prototype.getSQL=function(){return new Zt([this])};Bn.prototype.getSQL=function(){return new Zt([this])};J1.prototype.getSQL=function(){return new Zt([this])};function CL(t){return t[Bn.Symbol.Columns]}function SL(t){return t[il].selectedFields}function Wn(t,e){return{name:typeof t=="string"&&t.length>0?t:"",config:typeof t=="object"?t:e}}typeof TextDecoder>"u"||new TextDecoder;class Kp extends kt{static[de]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(e){if(e){const{name:n,...r}=e;this.config.generatedIdentity={type:"always",sequenceName:n,sequenceOptions:r}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){const{name:n,...r}=e;this.config.generatedIdentity={type:"byDefault",sequenceName:n,sequenceOptions:r}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class NL extends Kp{static[de]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new PL(e,this.config)}}class PL extends ft{static[de]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}}class AL extends Kp{static[de]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new TL(e,this.config)}}class TL extends ft{static[de]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function jL(t,e){const{name:n,config:r}=Wn(t,e);return r.mode==="number"?new NL(n):new AL(n)}class IL extends kt{static[de]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new EL(e,this.config)}}class EL extends ft{static[de]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}}class RL extends kt{static[de]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new OL(e,this.config)}}class OL extends ft{static[de]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function ML(t,e){const{name:n,config:r}=Wn(t,e);return r.mode==="number"?new IL(n):new RL(n)}class LL extends kt{static[de]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new DL(e,this.config)}}class DL extends ft{static[de]="PgBoolean";getSQLType(){return"boolean"}}function le(t){return new LL(t??"")}class FL extends kt{static[de]="PgCharBuilder";constructor(e,n){super(e,"string","PgChar"),this.config.length=n.length,this.config.enumValues=n.enum}build(e){return new UL(e,this.config)}}class UL extends ft{static[de]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function $L(t,e={}){const{name:n,config:r}=Wn(t,e);return new FL(n,r)}class zL extends kt{static[de]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new BL(e,this.config)}}class BL extends ft{static[de]="PgCidr";getSQLType(){return"cidr"}}function VL(t){return new zL(t??"")}class HL extends kt{static[de]="PgCustomColumnBuilder";constructor(e,n,r){super(e,"custom","PgCustomColumn"),this.config.fieldConfig=n,this.config.customTypeParams=r}build(e){return new qL(e,this.config)}}class qL extends ft{static[de]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(e,n){super(e,n),this.sqlName=n.customTypeParams.dataType(n.fieldConfig),this.mapTo=n.customTypeParams.toDriver,this.mapFrom=n.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}function WL(t){return(e,n)=>{const{name:r,config:i}=Wn(e,n);return new HL(r,i,t)}}
69class id extends kt{static[de]="PgDateColumnBaseBuilder";defaultNow(){return this.default(Z`now()`)}}class GL extends id{static[de]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new KL(e,this.config)}}class KL extends ft{static[de]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return typeof e=="string"?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class YL extends id{static[de]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new QL(e,this.config)}}class QL extends ft{static[de]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return typeof e=="string"?e:e.toISOString().slice(0,-14)}}function ZL(t,e){const{name:n,config:r}=Wn(t,e);return r?.mode==="date"?new GL(n):new YL(n)}class XL extends kt{static[de]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new JL(e,this.config)}}class JL extends ft{static[de]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return typeof e=="string"?Number.parseFloat(e):e}}function e3(t){return new XL(t??"")}class t3 extends kt{static[de]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new n3(e,this.config)}}class n3 extends ft{static[de]="PgInet";getSQLType(){return"inet"}}function o3(t){return new t3(t??"")}class a3 extends Kp{static[de]="PgIntegerBuilder";constructor(e){super(e,"number","PgInteger")}build(e){return new r3(e,this.config)}}class r3 extends ft{static[de]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return typeof e=="string"?Number.parseInt(e):e}}function W(t){return new a3(t??"")}class s3 extends kt{static[de]="PgIntervalBuilder";constructor(e,n){super(e,"string","PgInterval"),this.config.intervalConfig=n}build(e){return new i3(e,this.config)}}class i3 extends ft{static[de]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const e=this.fields?` ${this.fields}`:"",n=this.precision?`(${this.precision})`:"";return`interval${e}${n}`}}function l3(t,e={}){const{name:n,config:r}=Wn(t,e);return new s3(n,r)}class c3 extends kt{static[de]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new d3(e,this.config)}}class d3 extends ft{static[de]="PgJson";constructor(e,n){super(e,n)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}}function u3(t){return new c3(t??"")}class p3 extends kt{static[de]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new f3(e,this.config)}}class f3 extends ft{static[de]="PgJsonb";constructor(e,n){super(e,n)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}}function Wt(t){return new p3(t??"")}class m3 extends kt{static[de]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new h3(e,this.config)}}class h3 extends ft{static[de]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){const[n,r,i]=e.slice(1,-1).split(",");return[Number.parseFloat(n),Number.parseFloat(r),Number.parseFloat(i)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class g3 extends kt{static[de]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new y3(e,this.config)}}class y3 extends ft{static[de]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){const[n,r,i]=e.slice(1,-1).split(",");return{a:Number.parseFloat(n),b:Number.parseFloat(r),c:Number.parseFloat(i)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}function v3(t,e){const{name:n,config:r}=Wn(t,e);return!r?.mode||r.mode==="tuple"?new m3(n):new g3(n)}class x3 extends kt{static[de]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new w3(e,this.config)}}class w3 extends ft{static[de]="PgMacaddr";getSQLType(){return"macaddr"}}function b3(t){return new x3(t??"")}class _3 extends kt{static[de]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new k3(e,this.config)}}class k3 extends ft{static[de]="PgMacaddr8";
69getSQLType(){return"macaddr8"}}function C3(t){return new _3(t??"")}class S3 extends kt{static[de]="PgNumericBuilder";constructor(e,n,r){super(e,"string","PgNumeric"),this.config.precision=n,this.config.scale=r}build(e){return new N3(e,this.config)}}class N3 extends ft{static[de]="PgNumeric";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.scale}mapFromDriverValue(e){return typeof e=="string"?e:String(e)}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}class P3 extends kt{static[de]="PgNumericNumberBuilder";constructor(e,n,r){super(e,"number","PgNumericNumber"),this.config.precision=n,this.config.scale=r}build(e){return new A3(e,this.config)}}class A3 extends ft{static[de]="PgNumericNumber";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.scale}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}class T3 extends kt{static[de]="PgNumericBigIntBuilder";constructor(e,n,r){super(e,"bigint","PgNumericBigInt"),this.config.precision=n,this.config.scale=r}build(e){return new j3(e,this.config)}}class j3 extends ft{static[de]="PgNumericBigInt";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}function I3(t,e){const{name:n,config:r}=Wn(t,e),i=r?.mode;return i==="number"?new P3(n,r?.precision,r?.scale):i==="bigint"?new T3(n,r?.precision,r?.scale):new S3(n,r?.precision,r?.scale)}class E3 extends kt{static[de]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new R3(e,this.config)}}class R3 extends ft{static[de]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(e){if(typeof e=="string"){const[n,r]=e.slice(1,-1).split(",");return[Number.parseFloat(n),Number.parseFloat(r)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}}class O3 extends kt{static[de]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new M3(e,this.config)}}class M3 extends ft{static[de]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(e){if(typeof e=="string"){const[n,r]=e.slice(1,-1).split(",");return{x:Number.parseFloat(n),y:Number.parseFloat(r)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}}function L3(t,e){const{name:n,config:r}=Wn(t,e);return!r?.mode||r.mode==="tuple"?new E3(n):new O3(n)}function D3(t){const e=[];for(let n=0;n<t.length;n+=2)e.push(Number.parseInt(t.slice(n,n+2),16));return new Uint8Array(e)}function o0(t,e){const n=new ArrayBuffer(8),r=new DataView(n);for(let i=0;i<8;i++)r.setUint8(i,t[e+i]);return r.getFloat64(0,!0)}function sS(t){const e=D3(t);let n=0;const r=e[n];n+=1;const i=new DataView(e.buffer),l=i.getUint32(n,r===1);if(n+=4,l&536870912&&(i.getUint32(n,r===1),n+=4),(l&65535)===1){const d=o0(e,n);n+=8;const p=o0(e,n);return n+=8,[d,p]}throw new Error("Unsupported geometry type")}class F3 extends kt{static[de]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new U3(e,this.config)}}class U3 extends ft{static[de]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return sS(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class $3 extends kt{static[de]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new z3(e,this.config)}}class z3 extends ft{static[de]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){const n=sS(e);return{x:n[0],y:n[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}}function B3(t,e){const{name:n,config:r}=Wn(t,e);return!r?.mode||r.mode==="tuple"?new F3(n):new $3(n)}class V3 extends kt{static[de]="PgRealBuilder";constructor(e,n){super(e,"number","PgReal"),this.config.length=n}build(e){return new H3(e,this.config)}}class H3 extends ft{static[de]="PgReal";constructor(e,n){super(e,n)}getSQLType(){return"real"}mapFromDriverValue=e=>typeof e=="string"?Number.parseFloat(e):e}function Du(t){return new V3(t??"")}class q3 extends kt{static[de]="PgSerialBuilder";constructor(e){super(e,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new W3(e,this.config)}}class W3 extends ft{static[de]="PgSerial";
69getSQLType(){return"serial"}}function Ae(t){return new q3(t??"")}class G3 extends Kp{static[de]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new K3(e,this.config)}}class K3 extends ft{static[de]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>typeof e=="string"?Number(e):e}function Y3(t){return new G3(t??"")}class Q3 extends kt{static[de]="PgSmallSerialBuilder";constructor(e){super(e,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Z3(e,this.config)}}class Z3 extends ft{static[de]="PgSmallSerial";getSQLType(){return"smallserial"}}function X3(t){return new Q3(t??"")}class J3 extends kt{static[de]="PgTextBuilder";constructor(e,n){super(e,"string","PgText"),this.config.enumValues=n.enum}build(e){return new eD(e,this.config)}}class eD extends ft{static[de]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function b(t,e={}){const{name:n,config:r}=Wn(t,e);return new J3(n,r)}class tD extends id{constructor(e,n,r){super(e,"string","PgTime"),this.withTimezone=n,this.precision=r,this.config.withTimezone=n,this.config.precision=r}static[de]="PgTimeBuilder";build(e){return new nD(e,this.config)}}class nD extends ft{static[de]="PgTime";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function oD(t,e={}){const{name:n,config:r}=Wn(t,e);return new tD(n,r.withTimezone??!1,r.precision)}class aD extends id{static[de]="PgTimestampBuilder";constructor(e,n,r){super(e,"date","PgTimestamp"),this.config.withTimezone=n,this.config.precision=r}build(e){return new rD(e,this.config)}}class rD extends ft{static[de]="PgTimestamp";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return typeof e=="string"?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class sD extends id{static[de]="PgTimestampStringBuilder";constructor(e,n,r){super(e,"string","PgTimestampString"),this.config.withTimezone=n,this.config.precision=r}build(e){return new iD(e,this.config)}}class iD extends ft{static[de]="PgTimestampString";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if(typeof e=="string")return e;const n=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){const r=e.getTimezoneOffset(),i=r<=0?"+":"-";return`${n}${i}${Math.floor(Math.abs(r)/60).toString().padStart(2,"0")}`}return n}}function I(t,e={}){const{name:n,config:r}=Wn(t,e);return r?.mode==="string"?new sD(n,r.withTimezone??!1,r.precision):new aD(n,r?.withTimezone??!1,r?.precision)}class lD extends kt{static[de]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(Z`gen_random_uuid()`)}build(e){return new cD(e,this.config)}}class cD extends ft{static[de]="PgUUID";getSQLType(){return"uuid"}}function dD(t){return new lD(t??"")}class uD extends kt{static[de]="PgVarcharBuilder";constructor(e,n){super(e,"string","PgVarchar"),this.config.length=n.length,this.config.enumValues=n.enum}build(e){return new pD(e,this.config)}}class pD extends ft{static[de]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function te(t,e={}){const{name:n,config:r}=Wn(t,e);return new uD(n,r)}class fD extends kt{static[de]="PgBinaryVectorBuilder";constructor(e,n){super(e,"string","PgBinaryVector"),this.config.dimensions=n.dimensions}build(e){return new mD(e,this.config)}}class mD extends ft{static[de]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}
69function hD(t,e){const{name:n,config:r}=Wn(t,e);return new fD(n,r)}class gD extends kt{static[de]="PgHalfVectorBuilder";constructor(e,n){super(e,"array","PgHalfVector"),this.config.dimensions=n.dimensions}build(e){return new yD(e,this.config)}}class yD extends ft{static[de]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(n=>Number.parseFloat(n))}}function vD(t,e){const{name:n,config:r}=Wn(t,e);return new gD(n,r)}class xD extends kt{static[de]="PgSparseVectorBuilder";constructor(e,n){super(e,"string","PgSparseVector"),this.config.dimensions=n.dimensions}build(e){return new wD(e,this.config)}}class wD extends ft{static[de]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function bD(t,e){const{name:n,config:r}=Wn(t,e);return new xD(n,r)}class _D extends kt{static[de]="PgVectorBuilder";constructor(e,n){super(e,"array","PgVector"),this.config.dimensions=n.dimensions}build(e){return new kD(e,this.config)}}class kD extends ft{static[de]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(n=>Number.parseFloat(n))}}function CD(t,e){const{name:n,config:r}=Wn(t,e);return new _D(n,r)}function SD(){return{bigint:jL,bigserial:ML,boolean:le,char:$L,cidr:VL,customType:WL,date:ZL,doublePrecision:e3,inet:o3,integer:W,interval:l3,json:u3,jsonb:Wt,line:v3,macaddr:b3,macaddr8:C3,numeric:I3,point:L3,geometry:B3,real:Du,serial:Ae,smallint:Y3,smallserial:X3,text:b,time:oD,timestamp:I,uuid:dD,varchar:te,bit:hD,halfvec:vD,sparsevec:bD,vector:CD}}const fg=Symbol.for("drizzle:PgInlineForeignKeys"),a0=Symbol.for("drizzle:EnableRLS");class Fu extends Bn{static[de]="PgTable";static Symbol=Object.assign({},Bn.Symbol,{InlineForeignKeys:fg,EnableRLS:a0});[fg]=[];[a0]=!1;[Bn.Symbol.ExtraConfigBuilder]=void 0;[Bn.Symbol.ExtraConfigColumns]={}}function ND(t,e,n,r,i=t){const l=new Fu(t,r,i),d=typeof e=="function"?e(SD()):e,p=Object.fromEntries(Object.entries(d).map(([v,y])=>{const x=y;x.setName(v);const _=x.build(l);return l[fg].push(...x.buildForeignKeys(_,l)),[v,_]})),m=Object.fromEntries(Object.entries(d).map(([v,y])=>{const x=y;x.setName(v);const _=x.buildExtraConfigColumn(l);return[v,_]})),h=Object.assign(l,p);return h[Bn.Symbol.Columns]=p,h[Bn.Symbol.ExtraConfigColumns]=m,n&&(h[Fu.Symbol.ExtraConfigBuilder]=n),Object.assign(h,{enableRLS:()=>(h[Fu.Symbol.EnableRLS]=!0,h)})}const me=(t,e,n)=>ND(t,e,n,void 0);function PD(...t){return t[0].columns?new r0(t[0].columns,t[0].name):new r0(t)}class r0{static[de]="PgPrimaryKeyBuilder";columns;name;constructor(e,n){this.columns=e,this.name=n}build(e){return new AD(e,this.columns,this.name)}}class AD{constructor(e,n,r){this.table=e,this.columns=n,this.name=r}static[de]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Fu.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}class iS{constructor(e,n){this.unique=e,this.name=n}static[de]="PgIndexBuilderOn";on(...e){return new hh(e.map(n=>{if(xn(n,Zt))return n;n=n;const r=new uh(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=JSON.parse(JSON.stringify(n.defaultConfig)),r}),this.unique,!1,this.name)}onOnly(...e){return new hh(e.map(n=>{if(xn(n,Zt))return n;n=n;const r=new uh(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=n.defaultConfig,r}),this.unique,!0,this.name)}using(e,...n){return new hh(n.map(r=>{if(xn(r,Zt))return r;r=r;const i=new uh(r.name,!!r.keyAsName,r.columnType,r.indexConfig);return r.indexConfig=JSON.parse(JSON.stringify(r.defaultConfig)),i}),this.unique,!0,this.name,e)}}class hh{static[de]="PgIndexBuilder";config;constructor(e,n,r,i,l="btree"){this.config={name:i,columns:e,unique:n,only:r,method:l}}concurrently(){return this.config.concurrently=!0,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new TD(this.config,e)}}class TD{static[de]="PgIndex";config;constructor(e,n){this.config={...e,table:n}}}function ze(t){return new iS(!1,t)}function lt(t){return new iS(!0,t)}var St;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function n(i){throw new Error}t.assertNever=n,t.arrayToEnum=i=>{const l={};for(const d of i)l[d]=d;return l},t.getValidEnumValues=i=>{const l=t.objectKeys(i).filter(p=>typeof i[i[p]]!="number"),d={};for(const p of l)d[p]=i[p];return t.objectValues(d)},t.objectValues=i=>t.objectKeys(i).map(function(l){return i[l]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const l=[];for(const d in i)Object.prototype.hasOwnProperty.call(i,d)&&l.push(d);return l},t.find=(i,l)=>{for(const d of i)if(l(d))return d},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,l=" | "){return i.map(d=>
vendor: 28,844 bytes, line 69
69typeof d=="string"?`'${d}'`:d).join(l)}t.joinValues=r,t.jsonStringifyReplacer=(i,l)=>typeof l=="bigint"?l.toString():l})(St||(St={}));var mg;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(mg||(mg={}));const Le=St.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Sr=t=>{switch(typeof t){case"undefined":return Le.undefined;case"string":return Le.string;case"number":return Number.isNaN(t)?Le.nan:Le.number;case"boolean":return Le.boolean;case"function":return Le.function;case"bigint":return Le.bigint;case"symbol":return Le.symbol;case"object":return Array.isArray(t)?Le.array:t===null?Le.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?Le.promise:typeof Map<"u"&&t instanceof Map?Le.map:typeof Set<"u"&&t instanceof Set?Le.set:typeof Date<"u"&&t instanceof Date?Le.date:Le.object;default:return Le.unknown}},ke=St.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"]),jD=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class $o extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){const n=e||function(l){return l.message},r={_errors:[]},i=l=>{for(const d of l.issues)if(d.code==="invalid_union")d.unionErrors.map(i);else if(d.code==="invalid_return_type")i(d.returnTypeError);else if(d.code==="invalid_arguments")i(d.argumentsError);else if(d.path.length===0)r._errors.push(n(d));else{let p=r,m=0;for(;m<d.path.length;){const h=d.path[m];m===d.path.length-1?(p[h]=p[h]||{_errors:[]},p[h]._errors.push(n(d))):p[h]=p[h]||{_errors:[]},p=p[h],m++}}};return i(this),r}static assert(e){if(!(e instanceof $o))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,St.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){const n={},r=[];for(const i of this.issues)if(i.path.length>0){const l=i.path[0];n[l]=n[l]||[],n[l].push(e(i))}else r.push(e(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}$o.create=t=>new $o(t);const ul=(t,e)=>{let n;switch(t.code){case ke.invalid_type:t.received===Le.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case ke.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,St.jsonStringifyReplacer)}`;break;case ke.unrecognized_keys:n=`Unrecognized key(s) in object: ${St.joinValues(t.keys,", ")}`;break;case ke.invalid_union:n="Invalid input";break;case ke.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${St.joinValues(t.options)}`;break;case ke.invalid_enum_value:n=`Invalid enum value. Expected ${St.joinValues(t.options)}, received '${t.received}'`;break;case ke.invalid_arguments:n="Invalid function arguments";break;case ke.invalid_return_type:n="Invalid function return type";break;case ke.invalid_date:n="Invalid date";break;case ke.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:St.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case ke.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case ke.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case ke.custom:n="Invalid input";break;case ke.invalid_intersection_types:n="Intersection results could not be merged";break;case ke.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case ke.not_finite:n="Number must be finite";break;default:n=e.defaultError,St.assertNever(t)}return{message:n}};let lS=ul;function ID(t){lS=t}function rp(){return lS}const sp=t=>{const{data:e,path:n,errorMaps:r,issueData:i}=t,l=[...n,...i.path||[]],d={...i,path:l};if(i.message!==void 0)return{...i,path:l,message:i.message};let p="";const m=r.filter(h=>!!h).slice().reverse();for(const h of m)p=h(d,{data:e,defaultError:p}).message;return{...i,path:l,message:p}},ED=[];function Re(t,e){const n=rp(),r=sp({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===ul?void 0:ul].filter(i=>!!i)});t.common.issues.push(r)}class io{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){const r=[];for(const i of n){if(i.status==="aborted")return ot;i.status==="dirty"&&e.dirty(),r.push(i.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){const r=[];for(const i of n){const l=await i.key,d=await i.value;r.push({key:l,value:d})}return io.mergeObjectSync(e,r)}static mergeObjectSync(e,n){const r={};for(const i of n){const{key:l,value:d}=i;if(l.status==="aborted"||d.status==="aborted")return ot;l.status==="dirty"&&e.dirty(),d.status==="dirty"&&e.dirty(),l.value!=="__proto__"&&(typeof d.value<"u"||i.alwaysSet)&&(r[l.value]=d.value)}return{status:e.value,value:r}}}const ot=Object.freeze({status:"aborted"}),Xi=t=>({status:"dirty",value:t}),go=t=>({status:"valid",value:t}),hg=t=>t.status==="aborted",gg=t=>t.status==="dirty",ni=t=>t.status==="valid",Oc=t=>typeof Promise<"u"&&t instanceof Promise;var qe;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(qe||(qe={}));class sr{constructor(e,n,r,i){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=i}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 s0=(t,e)=>{if(ni(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new $o(t.common.issues);return this._error=n,this._error}}};function mt(t){if(!t)return{};const{errorMap:e,invalid_type_error:n,required_error:r,description:i}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(d,p)=>{const{message:m}=t;return d.code==="invalid_enum_value"?{message:m??p.defaultError}:typeof p.data>"u"?{message:m??r??p.defaultError}:d.code!=="invalid_type"?{message:p.defaultError}:{message:m??n??p.defaultError}},description:i}}class yt{get description(){return this._def.description}_getType(e){return Sr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Sr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new io,ctx:{common:e.parent.common,data:e.data,parsedType:Sr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const n=this._parse(e);if(Oc(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){const n=this._parse(e);return Promise.resolve(n)}parse(e,n){const r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){const r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sr(e)},i=this._parseSync({data:e,path:r.path,parent:r});return s0(r,i)}"~validate"(e){const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sr(e)};if(!this["~standard"].async)try{const r=this._parseSync({data:e,path:[],parent:n});return ni(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>ni(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){const r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){const r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Sr(e)},i=this._parse({data:e,path:r.path,parent:r}),l=await(Oc(i)?i:Promise.resolve(i));return s0(r,l)}refine(e,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,l)=>{const d=e(i),p=()=>l.addIssue({code:ke.custom,...r(i)});return typeof Promise<"u"&&d instanceof Promise?d.then(m=>m?!0:(p(),!1)):d?!0:(p(),!1)})}refinement(e,n){return this._refinement((r,i)=>e(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(e){return new Ea({schema:this,typeName:at.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:n=>this["~validate"](n)}}optional(){return er.create(this,this._def)}nullable(){return _s.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Pa.create(this)}promise(){return fl.create(this,this._def)}or(e){return Fc.create([this,e],this._def)}and(e){return Uc.create(this,e,this._def)}transform(e){return new Ea({...mt(this._def),schema:this,typeName:at.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const n=typeof e=="function"?e:()=>e;return new Hc({...mt(this._def),innerType:this,defaultValue:n,typeName:at.ZodDefault})}brand(){return new Vy({typeName:at.ZodBranded,type:this,...mt(this._def)})}catch(e){const n=typeof e=="function"?e:()=>e;return new qc({...mt(this._def),innerType:this,catchValue:n,typeName:at.ZodCatch})}describe(e){const n=this.constructor;return new n({...this._def,description:e})}pipe(e){return ld.create(this,e)}readonly(){return Wc.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const RD=/^c[^\s-]{8,}$/i,OD=/^[0-9a-z]+$/,MD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LD=/^[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,DD=/^[a-z0-9_-]{21}$/i,FD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,UD=/^[-+]?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)?)??$/,$D=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let gh;const BD=/^(?:(?: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])$/,VD=/^(?:(?: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])$/,HD=/^(([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]))$/,qD=/^(([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])$/,WD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,GD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cS="((\\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])))",KD=new RegExp(`^${cS}$`);function dS(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);const n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function YD(t){return new RegExp(`^${dS(t)}$`)}function uS(t){let e=`${cS}T${dS(t)}`;const n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function QD(t,e){return!!((e==="v4"||!e)&&BD.test(t)||(e==="v6"||!e)&&HD.test(t))}function ZD(t,e){if(!FD.test(t))return!1;try{const[n]=t.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function XD(t,e){return!!((e==="v4"||!e)&&VD.test(t)||(e==="v6"||!e)&&qD.test(t))}class Na extends yt{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Le.string){const l=this._getOrReturnCtx(e);return Re(l,{code:ke.invalid_type,expected:Le.string,received:l.parsedType}),ot}const r=new io;let i;for(const l of this._def.checks)if(l.kind==="min")e.data.length<l.value&&(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),r.dirty());else if(l.kind==="max")e.data.length>l.value&&(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),r.dirty());else if(l.kind==="length"){const d=e.data.length>l.value,p=e.data.length<l.value;(d||p)&&(i=this._getOrReturnCtx(e,i),d?Re(i,{code:ke.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message}):p&&Re(i,{code:ke.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message}),r.dirty())}else if(l.kind==="email")$D.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"email",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="emoji")gh||(gh=new RegExp(zD,"u")),gh.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"emoji",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="uuid")LD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"uuid",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="nanoid")DD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"nanoid",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="cuid")RD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"cuid",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="cuid2")OD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"cuid2",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="ulid")MD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"ulid",code:ke.invalid_string,message:l.message}),r.dirty());else if(l.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),Re(i,{validation:"url",code:ke.invalid_string,message:l.message}),r.dirty()}else l.kind==="regex"?(l.regex.lastIndex=0,l.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"regex",code:ke.invalid_string,message:l.message}),r.dirty())):l.kind==="trim"?e.data=e.data.trim():l.kind==="includes"?e.data.includes(l.value,l.position)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:{includes:l.value,position:l.position},message:l.message}),r.dirty()):l.kind==="toLowerCase"?e.data=e.data.toLowerCase():l.kind==="toUpperCase"?e.data=e.data.toUpperCase():l.kind==="startsWith"?e.data.startsWith(l.value)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:{startsWith:l.value},message:l.message}),r.dirty()):l.kind==="endsWith"?e.data.endsWith(l.value)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:{endsWith:l.value},message:l.message}),r.dirty()):l.kind==="datetime"?uS(l).test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:"datetime",message:l.message}),r.dirty()):l.kind==="date"?KD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:"date",message:l.message}),r.dirty()):l.kind==="time"?YD(l).test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.invalid_string,validation:"time",message:l.message}),r.dirty()):l.kind==="duration"?UD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"duration",code:ke.invalid_string,message:l.message}),r.dirty()):l.kind==="ip"?QD(e.data,l.version)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"ip",code:ke.invalid_string,message:l.message}),r.dirty()):l.kind==="jwt"?ZD(e.data,l.alg)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"jwt",code:ke.invalid_string,message:l.message}),r.dirty()):l.kind==="cidr"?XD(e.data,l.version)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"cidr",code:ke.invalid_string,message:l.message}),r.dirty()):l.kind==="base64"?WD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"base64",code:ke.invalid_string,message:l.message}),r.dirty()):l.kind==="base64url"?GD.test(e.data)||(i=this._getOrReturnCtx(e,i),Re(i,{validation:"base64url",code:ke.invalid_string,message:l.message}),r.dirty()):St.assertNever(l);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(i=>e.test(i),{validation:n,code:ke.invalid_string,...qe.errToObj(r)})}_addCheck(e){return new Na({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...qe.errToObj(e)})}url(e){return this._addCheck({kind:"url",...qe.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...qe.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...qe.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...qe.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...qe.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...qe.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...qe.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...qe.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...qe.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...qe.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...qe.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...qe.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...qe.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...qe.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...qe.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...qe.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...qe.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...qe.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...qe.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...qe.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...qe.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...qe.errToObj(n)})}nonempty(e){return this.min(1,qe.errToObj(e))}trim(){return new Na({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Na({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Na({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}Na.create=t=>new Na({checks:[],typeName:at.ZodString,coerce:t?.coerce??!1,...mt(t)});function JD(t,e){const n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,i=n>r?n:r,l=Number.parseInt(t.toFixed(i).replace(".","")),d=Number.parseInt(e.toFixed(i).replace(".",""));return l%d/10**i}class xs extends yt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Le.number){const l=this._getOrReturnCtx(e);return Re(l,{code:ke.invalid_type,expected:Le.number,received:l.parsedType}),ot}let r;const i=new io;for(const l of this._def.checks)l.kind==="int"?St.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.invalid_type,expected:"integer",received:"float",message:l.message}),i.dirty()):l.kind==="min"?(l.inclusive?e.data<l.value:e.data<=l.value)&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.too_small,minimum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),i.dirty()):l.kind==="max"?(l.inclusive?e.data>l.value:e.data>=l.value)&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.too_big,maximum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),i.dirty()):l.kind==="multipleOf"?JD(e.data,l.value)!==0&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.not_multiple_of,multipleOf:l.value,message:l.message}),i.dirty()):l.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.not_finite,message:l.message}),i.dirty()):St.assertNever(l);return{status:i.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,qe.toString(n))}gt(e,n){return this.setLimit("min",e,!1,qe.toString(n))}lte(e,n){return this.setLimit("max",e,!0,qe.toString(n))}lt(e,n){return this.setLimit("max",e,!1,qe.toString(n))}setLimit(e,n,r,i){return new xs({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:qe.toString(i)}]})}_addCheck(e){return new xs({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:qe.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:qe.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:qe.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:qe.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:qe.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:qe.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:qe.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:qe.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:qe.toString(e)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&St.isInteger(e.value))}get isFinite(){let e=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}}xs.create=t=>new xs({checks:[],typeName:at.ZodNumber,coerce:t?.coerce||!1,...mt(t)});class ws extends yt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==Le.bigint)return this._getInvalidInput(e);let r;const i=new io;for(const l of this._def.checks)l.kind==="min"?(l.inclusive?e.data<l.value:e.data<=l.value)&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.too_small,type:"bigint",minimum:l.value,inclusive:l.inclusive,message:l.message}),i.dirty()):l.kind==="max"?(l.inclusive?e.data>l.value:e.data>=l.value)&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.too_big,type:"bigint",maximum:l.value,inclusive:l.inclusive,message:l.message}),i.dirty()):l.kind==="multipleOf"?e.data%l.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),Re(r,{code:ke.n
vendor: 1,413 bytes, line 69
69ot_multiple_of,multipleOf:l.value,message:l.message}),i.dirty()):St.assertNever(l);return{status:i.value,value:e.data}}_getInvalidInput(e){const n=this._getOrReturnCtx(e);return Re(n,{code:ke.invalid_type,expected:Le.bigint,received:n.parsedType}),ot}gte(e,n){return this.setLimit("min",e,!0,qe.toString(n))}gt(e,n){return this.setLimit("min",e,!1,qe.toString(n))}lte(e,n){return this.setLimit("max",e,!0,qe.toString(n))}lt(e,n){return this.setLimit("max",e,!1,qe.toString(n))}setLimit(e,n,r,i){return new ws({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:qe.toString(i)}]})}_addCheck(e){return new ws({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:qe.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:qe.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:qe.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:qe.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:qe.toString(n)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}
vendor: 11,107 bytes, line 69
69ws.create=t=>new ws({checks:[],typeName:at.ZodBigInt,coerce:t?.coerce??!1,...mt(t)});class Mc extends yt{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==Le.boolean){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.boolean,received:r.parsedType}),ot}return go(e.data)}}Mc.create=t=>new Mc({typeName:at.ZodBoolean,coerce:t?.coerce||!1,...mt(t)});class oi extends yt{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Le.date){const l=this._getOrReturnCtx(e);return Re(l,{code:ke.invalid_type,expected:Le.date,received:l.parsedType}),ot}if(Number.isNaN(e.data.getTime())){const l=this._getOrReturnCtx(e);return Re(l,{code:ke.invalid_date}),ot}const r=new io;let i;for(const l of this._def.checks)l.kind==="min"?e.data.getTime()<l.value&&(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.too_small,message:l.message,inclusive:!0,exact:!1,minimum:l.value,type:"date"}),r.dirty()):l.kind==="max"?e.data.getTime()>l.value&&(i=this._getOrReturnCtx(e,i),Re(i,{code:ke.too_big,message:l.message,inclusive:!0,exact:!1,maximum:l.value,type:"date"}),r.dirty()):St.assertNever(l);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new oi({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:qe.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:qe.toString(n)})}get minDate(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}}oi.create=t=>new oi({checks:[],coerce:t?.coerce||!1,typeName:at.ZodDate,...mt(t)});class ip extends yt{_parse(e){if(this._getType(e)!==Le.symbol){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.symbol,received:r.parsedType}),ot}return go(e.data)}}ip.create=t=>new ip({typeName:at.ZodSymbol,...mt(t)});class Lc extends yt{_parse(e){if(this._getType(e)!==Le.undefined){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.undefined,received:r.parsedType}),ot}return go(e.data)}}Lc.create=t=>new Lc({typeName:at.ZodUndefined,...mt(t)});class Dc extends yt{_parse(e){if(this._getType(e)!==Le.null){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.null,received:r.parsedType}),ot}return go(e.data)}}Dc.create=t=>new Dc({typeName:at.ZodNull,...mt(t)});class pl extends yt{constructor(){super(...arguments),this._any=!0}_parse(e){return go(e.data)}}pl.create=t=>new pl({typeName:at.ZodAny,...mt(t)});class Qs extends yt{constructor(){super(...arguments),this._unknown=!0}_parse(e){return go(e.data)}}Qs.create=t=>new Qs({typeName:at.ZodUnknown,...mt(t)});class Lr extends yt{_parse(e){const n=this._getOrReturnCtx(e);return Re(n,{code:ke.invalid_type,expected:Le.never,received:n.parsedType}),ot}}Lr.create=t=>new Lr({typeName:at.ZodNever,...mt(t)});class lp extends yt{_parse(e){if(this._getType(e)!==Le.undefined){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.void,received:r.parsedType}),ot}return go(e.data)}}lp.create=t=>new lp({typeName:at.ZodVoid,...mt(t)});class Pa extends yt{_parse(e){const{ctx:n,status:r}=this._processInputParams(e),i=this._def;if(n.parsedType!==Le.array)return Re(n,{code:ke.invalid_type,expected:Le.array,received:n.parsedType}),ot;if(i.exactLength!==null){const d=n.data.length>i.exactLength.value,p=n.data.length<i.exactLength.value;(d||p)&&(Re(n,{code:d?ke.too_big:ke.too_small,minimum:p?i.exactLength.value:void 0,maximum:d?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(Re(n,{code:ke.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(Re(n,{code:ke.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((d,p)=>i.type._parseAsync(new sr(n,d,n.path,p)))).then(d=>io.mergeArray(r,d));const l=[...n.data].map((d,p)=>i.type._parseSync(new sr(n,d,n.path,p)));return io.mergeArray(r,l)}get element(){return this._def.type}min(e,n){return new Pa({...this._def,minLength:{value:e,message:qe.toString(n)}})}max(e,n){return new Pa({...this._def,maxLength:{value:e,message:qe.toString(n)}})}length(e,n){return new Pa({...this._def,exactLength:{value:e,message:qe.toString(n)}})}nonempty(e){return this.min(1,e)}}Pa.create=(t,e)=>new Pa({type:t,minLength:null,maxLength:null,exactLength:null,typeName:at.ZodArray,...mt(e)});function Ki(t){if(t instanceof ln){const e={};for(const n in t.shape){const r=t.shape[n];e[n]=er.create(Ki(r))}return new ln({...t._def,shape:()=>e})}else return t instanceof Pa?new Pa({...t._def,type:Ki(t.element)}):t instanceof er?er.create(Ki(t.unwrap())):t instanceof _s?_s.create(Ki(t.unwrap())):t instanceof ir?ir.create(t.items.map(e=>Ki(e))):t}class ln extends yt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),n=St.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==Le.object){const h=this._getOrReturnCtx(e);return Re(h,{code:ke.invalid_type,expected:Le.object,received:h.parsedType}),ot}const{status:r,ctx:i}=this._processInputParams(e),{shape:l,keys:d}=this._getCached(),p=[];if(!(this._def.catchall instanceof Lr&&this._def.unknownKeys==="strip"))for(const h in i.data)d.includes(h)||p.push(h);const m=[];for(const h of d){const v=l[h],y=i.data[h];m.push({key:{status:"valid",value:h},value:v._parse(new sr(i,y,i.path,h)),alwaysSet:h in i.data})}if(this._def.catchall instanceof Lr){const h=this._def.unknownKeys;if(h==="passthrough")for(const v of p)m.push({key:{status:"valid",value:v},value:{status:"valid",value:i.data[v]}});else if(h==="strict")p.length>0&&(Re(i,{code:ke.unrecognized_keys,keys:p}),r.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const v of p){const y=i.data[v];m.push({key:{status:"valid",value:v},value:h._parse(new sr(i,y,i.path,v)),alwaysSet:v in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const h=[];for(const v of m){const y=await v.key,x=await v.value;h.push({key:y,value:x,alwaysSet:v.alwaysSet})}return h}).then(h=>io.mergeObjectSync(r,h)):io.mergeObjectSync(r,m)}get shape(){return this._def.shape()}strict(e){return qe.errToObj,new ln({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{const i=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:qe.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new ln({...this._def,unknownKeys:"strip"})}passthrough(){return new ln({...this._def,unknownKeys:"passthrough"})}extend(e){return new ln({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ln({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:at.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new ln({...this._def,catchall:e})}pick(e){const n={};for(const r of St.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new ln({...this._def,shape:()=>n})}omit(e){const n={};for(const r of St.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new ln({...this._def,shape:()=>n})}deepPartial(){return Ki(this)}partial(e){const n={};for(const r of St.objectKeys(this.shape)){const i=this.shape[r];e&&!e[r]?n[r]=i:n[r]=i.optional()}return new ln({...this._def,shape:()=>n})}required(e){const n={};for(const r of St.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let l=this.shape[r];for(;l instanceof er;)l=l._def.innerType;n[r]=l}return new ln({...this._def,shape:()=>n})}keyof(){return pS(St.objectKeys(this.shape))}}ln.create=(t,e)=>new ln({shape:()=>t,unknownKeys:"strip",catchall:Lr.create(),typeName:at.ZodObject,...mt(e)});ln.strictCreate=(t,e)=>new ln({shape:()=>t,unknownKeys:"strict",catchall:Lr.create(),typeName:at.ZodObject,...mt(e)});ln.lazycreate=(t,e)=>new ln({shape:t,unknownKeys:"strip",catchall:Lr.create(),typeName:at.ZodObject,...mt(e)});class Fc extends yt{_parse(e){const{ctx:n}=this._processInputParams(e),r=this._def.options;function i(l){for(const p of l)if(p.result.status==="valid")return p.result;for(const p of l)if(p.result.status==="dirty")return n.common.issues.push(...p.ctx.common.issues),p.result;const d=l.map(p=>new $o(p.ctx.common.issues));return Re(n,{code:ke.invalid_union,unionErrors:d}),ot}if(n.common.async)return Promise.all(r.map(async l=>{const d={...n,common:{...n.common,issues:[]},parent:null};return{result:await l._parseAsync({data:n.data,path:n.path,parent:d}),ctx:d}})).then(i);{let l;const d=[];for(const m of r){const h={...n,common:{...n.common,issues:[]},parent:null},v=m._parseSync({data:n.data,path:n.path,parent:h});if(v.status==="valid")return v;v.status==="dirty"&&!l&&(l={result:v,ctx:h}),h.common.issues.length&&d.push(h.common.issues)}if(l)return n.common.issues.push(...l.ctx.common.issues),l.result;const p=d.map(m=>new $o(m));return Re(n,{code:ke.invalid_union,unionErrors:p}),ot}}get options(){return this._def.options}}Fc.create=(t,e)=>new Fc({options:t,typeName:at.ZodUnion,...mt(e)});const br=t=>t instanceof zc?br(t.schema):t instanceof Ea?br(t.innerType()):t instanceof Bc?[t.value]:t instanceof bs?t.options:t instanceof Vc?St.objectValues(t.enum):t instanceof Hc?br(t._def.innerType):t instanceof Lc?[void 0]:t instanceof Dc?[null]:t instanceof er?[void 0,...br(t.unwrap())]:t instanceof _s?[null,...br(t.unwrap())]:t instanceof Vy||t instanceof Wc?br(t.unwrap()):t instanceof qc?br(t._def.innerType):[];class Yp extends yt{_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Le.object)return Re(n,{code:ke.invalid_type,expected:Le.object,received:n.parsedType}),ot;const r=this.discriminator,i=n.data[r],l=this.optionsMap.get(i);return l?n.common.async?l._parseAsync({data:n.data,path:n.path,parent:n}):l._parseSync({data:n.data,path:n.path,parent:n}):(Re(n,{code:ke.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ot)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){const i=new Map;for(const l of n){const d=br(l.shape[e]);if(!d.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const p of d){if(i.has(p))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(p)}`);i.set(p,l)}}return new Yp({typeName:at.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:i,...mt(r)})}}function yg(t,e){const n=Sr(t),r=Sr(e);
vendor: 6,027 bytes, line 69
69if(t===e)return{valid:!0,data:t};if(n===Le.object&&r===Le.object){const i=St.objectKeys(e),l=St.objectKeys(t).filter(p=>i.indexOf(p)!==-1),d={...t,...e};for(const p of l){const m=yg(t[p],e[p]);if(!m.valid)return{valid:!1};d[p]=m.data}return{valid:!0,data:d}}else if(n===Le.array&&r===Le.array){if(t.length!==e.length)return{valid:!1};const i=[];for(let l=0;l<t.length;l++){const d=t[l],p=e[l],m=yg(d,p);if(!m.valid)return{valid:!1};i.push(m.data)}return{valid:!0,data:i}}else return n===Le.date&&r===Le.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class Uc extends yt{_parse(e){const{status:n,ctx:r}=this._processInputParams(e),i=(l,d)=>{if(hg(l)||hg(d))return ot;const p=yg(l.value,d.value);return p.valid?((gg(l)||gg(d))&&n.dirty(),{status:n.value,value:p.data}):(Re(r,{code:ke.invalid_intersection_types}),ot)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([l,d])=>i(l,d)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Uc.create=(t,e,n)=>new Uc({left:t,right:e,typeName:at.ZodIntersection,...mt(n)});class ir extends yt{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Le.array)return Re(r,{code:ke.invalid_type,expected:Le.array,received:r.parsedType}),ot;if(r.data.length<this._def.items.length)return Re(r,{code:ke.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ot;!this._def.rest&&r.data.length>this._def.items.length&&(Re(r,{code:ke.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const l=[...r.data].map((d,p)=>{const m=this._def.items[p]||this._def.rest;return m?m._parse(new sr(r,d,r.path,p)):null}).filter(d=>!!d);return r.common.async?Promise.all(l).then(d=>io.mergeArray(n,d)):io.mergeArray(n,l)}get items(){return this._def.items}rest(e){return new ir({...this._def,rest:e})}}ir.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ir({items:t,typeName:at.ZodTuple,rest:null,...mt(e)})};class $c extends yt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Le.object)return Re(r,{code:ke.invalid_type,expected:Le.object,received:r.parsedType}),ot;const i=[],l=this._def.keyType,d=this._def.valueType;for(const p in r.data)i.push({key:l._parse(new sr(r,p,r.path,p)),value:d._parse(new sr(r,r.data[p],r.path,p)),alwaysSet:p in r.data});return r.common.async?io.mergeObjectAsync(n,i):io.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof yt?new $c({keyType:e,valueType:n,typeName:at.ZodRecord,...mt(r)}):new $c({keyType:Na.create(),valueType:e,typeName:at.ZodRecord,...mt(n)})}}class cp extends yt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Le.map)return Re(r,{code:ke.invalid_type,expected:Le.map,received:r.parsedType}),ot;const i=this._def.keyType,l=this._def.valueType,d=[...r.data.entries()].map(([p,m],h)=>({key:i._parse(new sr(r,p,r.path,[h,"key"])),value:l._parse(new sr(r,m,r.path,[h,"value"]))}));if(r.common.async){const p=new Map;return Promise.resolve().then(async()=>{for(const m of d){const h=await m.key,v=await m.value;if(h.status==="aborted"||v.status==="aborted")return ot;(h.status==="dirty"||v.status==="dirty")&&n.dirty(),p.set(h.value,v.value)}return{status:n.value,value:p}})}else{const p=new Map;for(const m of d){const h=m.key,v=m.value;if(h.status==="aborted"||v.status==="aborted")return ot;(h.status==="dirty"||v.status==="dirty")&&n.dirty(),p.set(h.value,v.value)}return{status:n.value,value:p}}}}cp.create=(t,e,n)=>new cp({valueType:e,keyType:t,typeName:at.ZodMap,...mt(n)});class ai extends yt{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==Le.set)return Re(r,{code:ke.invalid_type,expected:Le.set,received:r.parsedType}),ot;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(Re(r,{code:ke.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(Re(r,{code:ke.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const l=this._def.valueType;function d(m){const h=new Set;for(const v of m){if(v.status==="aborted")return ot;v.status==="dirty"&&n.dirty(),h.add(v.value)}return{status:n.value,value:h}}const p=[...r.data.values()].map((m,h)=>l._parse(new sr(r,m,r.path,h)));return r.common.async?Promise.all(p).then(m=>d(m)):d(p)}min(e,n){return new ai({...this._def,minSize:{value:e,message:qe.toString(n)}})}max(e,n){return new ai({...this._def,maxSize:{value:e,message:qe.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}}ai.create=(t,e)=>new ai({valueType:t,minSize:null,maxSize:null,typeName:at.ZodSet,...mt(e)});class ll extends yt{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Le.function)return Re(n,{code:ke.invalid_type,expected:Le.function,received:n.parsedType}),ot;function r(p,m){return sp({data:p,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,rp(),ul].filter(h=>!!h),issueData:{code:ke.invalid_arguments,argumentsError:m}})}function i(p,m){return sp({data:p,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,rp(),ul].filter(h=>!!h),issueData:{code:ke.invalid_return_type,returnTypeError:m}})}const l={errorMap:n.common.contextualErrorMap},d=n.data;if(this._def.returns instanceof fl){const p=this;return go(async function(...m){const h=new $o([]),v=await p._def.args.parseAsync(m,l).catch(_=>{throw h.addIssue(r(m,_)),h}),y=await Reflect.apply(d,this,v);
vendor: 6,559 bytes, line 69
69return await p._def.returns._def.type.parseAsync(y,l).catch(_=>{throw h.addIssue(i(y,_)),h})})}else{const p=this;return go(function(...m){const h=p._def.args.safeParse(m,l);if(!h.success)throw new $o([r(m,h.error)]);const v=Reflect.apply(d,this,h.data),y=p._def.returns.safeParse(v,l);if(!y.success)throw new $o([i(v,y.error)]);return y.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ll({...this._def,args:ir.create(e).rest(Qs.create())})}returns(e){return new ll({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new ll({args:e||ir.create([]).rest(Qs.create()),returns:n||Qs.create(),typeName:at.ZodFunction,...mt(r)})}}class zc extends yt{get schema(){return this._def.getter()}_parse(e){const{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}zc.create=(t,e)=>new zc({getter:t,typeName:at.ZodLazy,...mt(e)});class Bc extends yt{_parse(e){if(e.data!==this._def.value){const n=this._getOrReturnCtx(e);return Re(n,{received:n.data,code:ke.invalid_literal,expected:this._def.value}),ot}return{status:"valid",value:e.data}}get value(){return this._def.value}}Bc.create=(t,e)=>new Bc({value:t,typeName:at.ZodLiteral,...mt(e)});function pS(t,e){return new bs({values:t,typeName:at.ZodEnum,...mt(e)})}class bs extends yt{_parse(e){if(typeof e.data!="string"){const n=this._getOrReturnCtx(e),r=this._def.values;return Re(n,{expected:St.joinValues(r),received:n.parsedType,code:ke.invalid_type}),ot}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const n=this._getOrReturnCtx(e),r=this._def.values;return Re(n,{received:n.data,code:ke.invalid_enum_value,options:r}),ot}return go(e.data)}get options(){return this._def.values}get enum(){const e={};for(const n of this._def.values)e[n]=n;return e}get Values(){const e={};for(const n of this._def.values)e[n]=n;return e}get Enum(){const e={};for(const n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return bs.create(e,{...this._def,...n})}exclude(e,n=this._def){return bs.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}}bs.create=pS;class Vc extends yt{_parse(e){const n=St.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==Le.string&&r.parsedType!==Le.number){const i=St.objectValues(n);return Re(r,{expected:St.joinValues(i),received:r.parsedType,code:ke.invalid_type}),ot}if(this._cache||(this._cache=new Set(St.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const i=St.objectValues(n);return Re(r,{received:r.data,code:ke.invalid_enum_value,options:i}),ot}return go(e.data)}get enum(){return this._def.values}}Vc.create=(t,e)=>new Vc({values:t,typeName:at.ZodNativeEnum,...mt(e)});class fl extends yt{unwrap(){return this._def.type}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==Le.promise&&n.common.async===!1)return Re(n,{code:ke.invalid_type,expected:Le.promise,received:n.parsedType}),ot;const r=n.parsedType===Le.promise?n.data:Promise.resolve(n.data);return go(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}fl.create=(t,e)=>new fl({type:t,typeName:at.ZodPromise,...mt(e)});class Ea extends yt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===at.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:n,ctx:r}=this._processInputParams(e),i=this._def.effect||null,l={addIssue:d=>{Re(r,d),d.fatal?n.abort():n.dirty()},get path(){return r.path}};if(l.addIssue=l.addIssue.bind(l),i.type==="preprocess"){const d=i.transform(r.data,l);if(r.common.async)return Promise.resolve(d).then(async p=>{if(n.value==="aborted")return ot;const m=await this._def.schema._parseAsync({data:p,path:r.path,parent:r});return m.status==="aborted"?ot:m.status==="dirty"||n.value==="dirty"?Xi(m.value):m});{if(n.value==="aborted")return ot;const p=this._def.schema._parseSync({data:d,path:r.path,parent:r});return p.status==="aborted"?ot:p.status==="dirty"||n.value==="dirty"?Xi(p.value):p}}if(i.type==="refinement"){const d=p=>{const m=i.refinement(p,l);if(r.common.async)return Promise.resolve(m);if(m instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return p};if(r.common.async===!1){const p=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return p.status==="aborted"?ot:(p.status==="dirty"&&n.dirty(),d(p.value),{status:n.value,value:p.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(p=>p.status==="aborted"?ot:(p.status==="dirty"&&n.dirty(),d(p.value).then(()=>({status:n.value,value:p.value}))))}if(i.type==="transform")if(r.common.async===!1){const d=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ni(d))return ot;const p=i.transform(d.value,l);if(p instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:p}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(d=>ni(d)?Promise.resolve(i.transform(d.value,l)).then(p=>({status:n.value,value:p})):ot);St.assertNever(i)}}Ea.create=(t,e,n)=>new Ea({schema:t,typeName:at.ZodEffects,effect:e,...mt(n)});Ea.createWithPreprocess=(t,e,n)=>new Ea({schema:e,effect:{type:"preprocess",transform:t},typeName:at.ZodEffects,...mt(n)});class er extends yt{_parse(e){return this._getType(e)===Le.undefined?go(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}er.create=(t,e)=>new er({innerType:t,typeName:at.ZodOptional,...mt(e)});class _s extends yt{_parse(e){return this._getType(e)===Le.null?go(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}_s.create=(t,e)=>new _s({innerType:t,typeName:at.ZodNullable,...mt(e)});class Hc extends yt{_parse(e){const{ctx:n}=this._processInputParams(e);let r=n.data;return n.parsedType===Le.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Hc.create=(t,e)=>new Hc({innerType:t,typeName:at.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...mt(e)});class qc extends yt{_parse(e){const{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Oc(i)?i.then(l=>
69({status:"valid",value:l.status==="valid"?l.value:this._def.catchValue({get error(){return new $o(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new $o(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}qc.create=(t,e)=>new qc({innerType:t,typeName:at.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...mt(e)});class dp extends yt{_parse(e){if(this._getType(e)!==Le.nan){const r=this._getOrReturnCtx(e);return Re(r,{code:ke.invalid_type,expected:Le.nan,received:r.parsedType}),ot}return{status:"valid",value:e.data}}}dp.create=t=>new dp({typeName:at.ZodNaN,...mt(t)});const eF=Symbol("zod_brand");class Vy extends yt{_parse(e){const{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class ld extends yt{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const l=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?ot:l.status==="dirty"?(n.dirty(),Xi(l.value)):this._def.out._parseAsync({data:l.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?ot:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(e,n){return new ld({in:e,out:n,typeName:at.ZodPipeline})}}class Wc extends yt{_parse(e){const n=this._def.innerType._parse(e),r=i=>(ni(i)&&(i.value=Object.freeze(i.value)),i);return Oc(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}Wc.create=(t,e)=>new Wc({innerType:t,typeName:at.ZodReadonly,...mt(e)});function i0(t,e){const n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function Hy(t,e={},n){return t?pl.create().superRefine((r,i)=>{const l=t(r);if(l instanceof Promise)return l.then(d=>{if(!d){const p=i0(e,r),m=p.fatal??n??!0;i.addIssue({code:"custom",...p,fatal:m})}});if(!l){const d=i0(e,r),p=d.fatal??n??!0;i.addIssue({code:"custom",...d,fatal:p})}}):pl.create()}const tF={object:ln.lazycreate};var at;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(at||(at={}));const nF=(t,e={message:`Input not instance of ${t.name}`})=>Hy(n=>n instanceof t,e),qy=Na.create,Wy=xs.create,oF=dp.create,aF=ws.create,Gy=Mc.create,rF=oi.create,sF=ip.create,iF=Lc.create,fS=Dc.create,up=pl.create,lF=Qs.create,cF=Lr.create,dF=lp.create,mS=Pa.create,hS=ln.create,uF=ln.strictCreate,Ky=Fc.create,pF=Yp.create,fF=Uc.create,mF=ir.create,gS=$c.create,hF=cp.create,gF=ai.create,yF=ll.create,vF=zc.create,xF=Bc.create,wF=bs.create,bF=Vc.create,_F=fl.create,l0=Ea.create,kF=er.create,CF=_s.create,SF=Ea.createWithPreprocess,NF=ld.create,PF=()=>qy().optional(),AF=()=>Wy().optional(),TF=()=>Gy().optional(),jF={string:(t=>Na.create({...t,coerce:!0})),number:(t=>xs.create({...t,coerce:!0})),boolean:(t=>Mc.create({...t,coerce:!0})),bigint:(t=>ws.create({...t,coerce:!0})),date:(t=>oi.create({...t,coerce:!0}))},IF=ot,EF=Object.freeze(Object.defineProperty({__proto__:null,BRAND:eF,DIRTY:Xi,EMPTY_PATH:ED,INVALID:ot,NEVER:IF,OK:go,ParseStatus:io,Schema:yt,ZodAny:pl,ZodArray:Pa,ZodBigInt:ws,ZodBoolean:Mc,ZodBranded:Vy,ZodCatch:qc,ZodDate:oi,ZodDefault:Hc,ZodDiscriminatedUnion:Yp,ZodEffects:Ea,ZodEnum:bs,ZodError:$o,get ZodFirstPartyTypeKind(){return at},ZodFunction:ll,ZodIntersection:Uc,ZodIssueCode:ke,ZodLazy:zc,ZodLiteral:Bc,ZodMap:cp,ZodNaN:dp,ZodNativeEnum:Vc,ZodNever:Lr,ZodNull:Dc,ZodNullable:_s,ZodNumber:xs,ZodObject:ln,ZodOptional:er,ZodParsedType:Le,ZodPipeline:ld,ZodPromise:fl,ZodReadonly:Wc,ZodRecord:$c,ZodSchema:yt,ZodSet:ai,ZodString:Na,ZodSymbol:ip,ZodTransformer:Ea,ZodTuple:ir,ZodT
69ype:yt,ZodUndefined:Lc,ZodUnion:Fc,ZodUnknown:Qs,ZodVoid:lp,addIssueToContext:Re,any:up,array:mS,bigint:aF,boolean:Gy,coerce:jF,custom:Hy,date:rF,datetimeRegex:uS,defaultErrorMap:ul,discriminatedUnion:pF,effect:l0,enum:wF,function:yF,getErrorMap:rp,getParsedType:Sr,instanceof:nF,intersection:fF,isAborted:hg,isAsync:Oc,isDirty:gg,isValid:ni,late:tF,lazy:vF,literal:xF,makeIssue:sp,map:hF,nan:oF,nativeEnum:bF,never:cF,null:fS,nullable:CF,number:Wy,object:hS,get objectUtil(){return mg},oboolean:TF,onumber:AF,optional:kF,ostring:PF,pipeline:NF,preprocess:SF,promise:_F,quotelessJson:jD,record:gS,set:gF,setErrorMap:ID,strictObject:uF,string:qy,symbol:sF,transformer:l0,tuple:mF,undefined:iF,union:Ky,unknown:lF,get util(){return St},void:dF},Symbol.toStringTag,{value:"Module"})),sn={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 wn(t,e){return e.includes(t.columnType)}function RF(t){return"enumValues"in t&&Array.isArray(t.enumValues)&&t.enumValues.length>0}const OF=Ky([qy(),Wy(),Gy(),fS()]),MF=Ky([OF,gS(up()),mS(up())]),LF=Hy(t=>t instanceof Buffer);function yS(t,e){const n=e?.zodInstance??EF,r=e?.coerce??{};let i;return RF(t)&&(i=t.enumValues.length?n.enum(t.enumValues):n.string()),i||(wn(t,["PgGeometry","PgPointTuple"])?i=n.tuple([n.number(),n.number()]):wn(t,["PgGeometryObject","PgPointObject"])?i=n.object({x:n.number(),y:n.number()}):wn(t,["PgHalfVector","PgVector"])?(i=n.array(n.number()),i=t.dimensions?i.length(t.dimensions):i):wn(t,["PgLine"])?i=n.tuple([n.number(),n.number(),n.number()]):wn(t,["PgLineABC"])?i=n.object({a:n.number(),b:n.number(),c:n.number()}):wn(t,["PgArray"])?(i=n.array(yS(t.baseColumn,n)),i=t.size?i.length(t.size):i):t.dataType==="array"?i=n.array(n.any()):t.dataType==="number"?i=DF(t,n,r):t.dataType==="bigint"?i=FF(t,n,r):t.dataType==="boolean"?i=r===!0||r.boolean?n.coerce.boolean():n.boolean():t.dataType==="date"?i=r===!0||r.date?n.coerce.date():n.date():t.dataType==="string"?i=UF(t,n,r):t.dataType==="json"?i=MF:t.dataType==="custom"?i=n.any():t.dataType==="buffer"&&(i=LF)),i||(i=n.any()),i}function DF(t,e,n){let r=t.getSQLType().includes("unsigned"),i,l,d=!1;wn(t,["MySqlTinyInt","SingleStoreTinyInt"])?(i=r?0:sn.INT8_MIN,l=r?sn.INT8_UNSIGNED_MAX:sn.INT8_MAX,d=!0):wn(t,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"])?(i=r?0:sn.INT16_MIN,l=r?sn.INT16_UNSIGNED_MAX:sn.INT16_MAX,d=!0):wn(t,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreMediumInt","SingleStoreFloat"])?(i=r?0:sn.INT24_MIN,l=r?sn.INT24_UNSIGNED_MAX:sn.INT24_MAX,d=wn(t,["MySqlMediumInt","SingleStoreMediumInt"])):wn(t,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"])?(i=r?0:sn.INT32_MIN,l=r?sn.INT32_UNSIGNED_MAX:sn.INT32_MAX,d=!0):wn(t,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"])?(i=r?0:sn.INT48_MIN,l=r?sn.INT48_UNSIGNED_MAX:sn.INT48_MAX):wn(t,["PgBigInt53","PgBigSerial53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"])?(r=r||wn(t,["MySqlSerial","SingleStoreSerial"]),i=r?0:Number.MIN_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER,d=!0):wn(t,["MySqlYear","SingleStoreYear"])?(i=1901,l=2155,d=!0):(i=Number.MIN_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER);let p=n===!0||n?.number?e.coerce.number():e.number();return p=p.min(i).max(l),d?p.int():p}function FF(t,e,n){const r=t.getSQLType().includes("unsigned"),i=r?0n:sn.INT64_MIN,l=r?sn.INT64_UNSIGNED_MAX:sn.INT64_MAX;return(n===!0||n?.bigint?e.coerce.bigint():e.bigint()).min(i).max(l)}function UF(t,e,n){if(wn(t,["PgUUID"]))return e.string().uuid();let r,i,l=!1;wn(t,["PgVarchar","SQLiteText"])?r=t.length:wn(t,["MySqlVarChar","SingleStoreVarChar"])?r=t.length??sn.INT16_UNSIGNED_MAX:wn(t,["MySqlText","SingleStoreText"])&&(t.textType==="longtext"?r=sn.INT32_UNSIGNED_MAX:t.textType==="mediumtext"?r=sn.INT24_UNSIGNED_MAX:t.textType==="text"?r=sn.INT16_UNSIGNED_MAX:r=sn.INT8_UNSIGNED_MAX),wn(t,["PgChar","MySqlChar","SingleStoreChar"])&&(r=t.length,l=!0),wn(t,["PgBinaryVector"])&&(i=/^[01]+$/,r=t.dimensions);let d=n===!0||n?.string?e.coerce.string():e.string();return d=i?d.regex(i):d,r&&l?d.length(r):r?d.max(r):d}function vS(t){return tS(t)?CL(t):SL(t)}function xS(t,e,n,r){const i={};
69for(const[l,d]of Object.entries(t)){if(!xn(d,Rc)&&!xn(d,Zt)&&!xn(d,Zt.Aliased)&&typeof d=="object"){const y=tS(d)||kL(d)?vS(d):d;i[l]=xS(y,e[l]??{},n,r);continue}const p=e[l];if(p!==void 0&&typeof p!="function"){i[l]=p;continue}const m=xn(d,Rc)?d:void 0,h=m?yS(m,r):up(),v=typeof p=="function"?p(h):h;n.never(m)||(i[l]=v,m&&(n.nullable(m)&&(i[l]=i[l].nullable()),n.optional(m)&&(i[l]=i[l].optional())))}return hS(i)}const $F={never:t=>t?.generated?.type==="always"||t?.generatedIdentity?.type==="always",optional:t=>!t.notNull||t.notNull&&t.hasDefault,nullable:t=>!t.notNull},cn=(t,e)=>{const n=vS(t);return xS(n,{},$F)};me("sessions",{sid:te("sid").primaryKey(),sess:Wt("sess").notNull(),expire:I("expire").notNull()},t=>[ze("IDX_session_expire").on(t.expire)]);const zr=me("users",{id:te("id").primaryKey().default(Z`gen_random_uuid()`),email:te("email").unique(),passwordHash:te("password_hash"),firstName:te("first_name"),lastName:te("last_name"),profileImageUrl:te("profile_image_url"),emailVerified:le("email_verified").default(!1),verificationToken:te("verification_token"),verificationExpiresAt:I("verification_expires_at"),pendingEmail:te("pending_email"),emailChangeToken:te("email_change_token"),emailChangeExpiresAt:I("email_change_expires_at"),resetToken:te("reset_token"),resetExpiresAt:I("reset_expires_at"),passwordSetByUser:le("password_set_by_user").default(!0),perfPlanEverStarted:le("perf_plan_ever_started").default(!1).notNull(),perfPlanWentPaid:le("perf_plan_went_paid").default(!1).notNull(),perfPlanReminderSentDay:W("perf_plan_reminder_sent_day"),legacyMigrationNudgeStage:W("legacy_migration_nudge_stage"),perfPlanPendingMigration:le("perf_plan_pending_migration").default(!1).notNull(),perfPlanMigrationPromptDismissedAt:I("perf_plan_migration_prompt_dismissed_at"),legacySwitchToken:te("legacy_switch_token"),legacySwitchTokenExpiresAt:I("legacy_switch_token_expires_at"),legacySwitchEngagers:W("legacy_switch_engagers"),perfPlanMigrated:le("perf_plan_migrated").default(!1).notNull(),magicLoginToken:te("magic_login_token"),magicLoginExpiresAt:I("magic_login_expires_at"),pendingPasswordHash:te("pending_password_hash"),passwordChangeToken:te("password_change_token"),passwordChangeExpiresAt:I("password_change_expires_at"),stripeCustomerId:te("stripe_customer_id"),stripeSandboxCustomerId:te("stripe_sandbox_customer_id"),balance:W("balance").default(0),subscriptionStatus:te("subscription_status"),subscriptionId:te("subscription_id"),subscriptionPriceId:te("subscription_price_id"),subscriptionCurrentPeriodEnd:I("subscription_current_period_end"),subscriptionRequestsUsed:W("subscription_requests_used").default(0),isAdmin:le("is_admin").default(!1),isSuperAdmin:le("is_super_admin").default(!1),disabled:le("disabled").default(!1),affiliateCode:te("affiliate_code").unique(),referredByUserId:te("referred_by_user_id"),referralBonusRequests:W("referral_bonus_requests").default(0),linkedInSub:te("linkedin_sub"),googleSub:te("google_sub"),paypalEmail:te("paypal_email"),lastGeo:te("last_geo"),lastReferrer:te("last_referrer"),lastLoginAt:I("last_login_at"),linkedinPostingAccessToken:te("linkedin_posting_access_token"),linkedinPostingPersonUrn:te("linkedin_posting_person_urn"),linkedinPostingProfileName:te("linkedin_posting_profile_name"),linkedinPostingConnectedAt:I("linkedin_posting_connected_at"),autoTopupEnabled:le("auto_topup_enabled").default(!1),autoTopupAmount:W("auto_topup_amount").default(29),maxCampaignsPerAccount:W("max_campaigns_per_account"),aiDataConsent:le("ai_data_consent").default(!0).notNull(),aiDataConsentAt:I("ai_data_consent_at"),perfPlanSubId:te("perf_plan_sub_id"),perfPlanStatus:te("perf_plan_status"),perfPlanEngagers:W("perf_plan_engagers"),perfPlanPriceUsd:W("perf_plan_price_usd"),perfPlanCurrentPeriodEnd:I("perf_plan_current_period_end"),perfPlanCurrentPeriodStart:I("perf_plan_current_period_start"),perfPlanCancelAtPeriodEnd:le("perf_plan_cancel_at_period_end").default(!1),perfPlanTrialEndsAt:I("perf_plan_trial_ends_at"),perfPlanCompedUntil:I("perf_plan_comped_until"),perfPlanStartedAt:I("perf_plan_started_at"),perfPlanPendingEngagers:W("perf_plan_pending_engagers"),perfPlanPendingRemovedAccountIds:b("perf_plan_pending_removed_account_ids").array().default(Z`'{}'::text[]`).notNull(),perfPlanCombined:le("perf_plan_combined").default(!1).notNull(),createdAt:I("created_at").defaultNow(),updatedAt:I("updated_at").defaultNow()}),vg=["linkedin","x","youtube","facebook"],Il=me("top_voices",{id:Ae("id").primaryKey(),name:b("name").notNull(),slug:b("slug").notNull().unique(),profileUrl:b("profile_url").notNull(),pageUrl:b("page_url").notNull(),lastUpdated:I("last_updated"),postCount:W("post_count").default(0),lastScrapedAt:I("last_scraped_at"),isCustom:le("is_custom").default(!1).notNull(),lastSearchedAt:I("last_searched_at"),lastSummaryAt:I("last_summary_at"),label:b("label"),smartTags:b("smart_tags").array(),platform:b("platform").default("linkedin").notNull(),ownerUserId:te("owner_user_id"),ownerSessionId:b("owner_session_id"),createdFromIp:b("created_from_ip"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),crossPlatformSearched:le("cross_platform_searched").default(!1),pinnedToTop:le("pinned_to_top").default(!1).notNull(),cantSkip:le("cant_skip").default(!1).notNull(),isSystemVoice:le("is_system_voice").default(!1).notNull(),showInDropdown:le("show_in_dropdown").default(!0).notNull(),personKey:b("person_key"),profileImageUrl:b("profile_image_url"),isHidden:le("is_hidden").default(!1).notNull()},t=>({personKeyIdx:ze("tv_person_key_idx").on(t.personKey),profileUrlNormIdx:ze("tv_profile_url_norm_idx").on(Z`lower(rtrim(${t.profileUrl}, '/'))`)}));me("top_voice_rankings",{id:Ae("id").primaryKey(),voiceId:W("voice_id").notNull().references(()=>
69Il.id,{onDelete:"cascade"}),platform:b("platform").notNull(),monthKey:b("month_key").notNull(),rank:W("rank").notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({monthPlatformIdx:ze("tvr_month_platform_idx").on(t.monthKey,t.platform,t.rank),uniqueMonthPlatformVoice:lt("tvr_month_platform_voice_uniq").on(t.monthKey,t.platform,t.voiceId)}));cn(Il).omit({id:!0,postCount:!0,lastScrapedAt:!0,lastSearchedAt:!0,lastSummaryAt:!0,createdFromIp:!0,createdAt:!0,crossPlatformSearched:!0});const zF=me("posts",{id:Ae("id").primaryKey(),voiceId:W("voice_id").notNull().references(()=>Il.id,{onDelete:"cascade"}),postUrl:b("post_url"),content:b("content").notNull(),postedAgo:b("posted_ago"),scrapedAt:I("scraped_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(zF).omit({id:!0,scrapedAt:!0});const BF=me("author_summaries",{id:Ae("id").primaryKey(),voiceId:W("voice_id").notNull().references(()=>Il.id,{onDelete:"cascade"}),summary:b("summary").notNull(),searchQuery:b("search_query"),sourceSnippets:b("source_snippets"),deepWriteup:Wt("deep_writeup"),deepWriteupAt:I("deep_writeup_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull(),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(BF).omit({id:!0,createdAt:!0,updatedAt:!0});const VF=me("search_history",{id:Ae("id").primaryKey(),voiceId:W("voice_id").references(()=>Il.id,{onDelete:"cascade"}),query:b("query").notNull(),resultSnippets:b("result_snippets"),resultUrls:b("result_urls"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(VF).omit({id:!0,createdAt:!0});const wS=me("conversations",{id:Ae("id").primaryKey(),title:b("title").notNull(),selectedVoiceIds:b("selected_voice_ids").array(),pinnedContext:b("pinned_context"),userId:b("user_id"),sessionId:b("session_id"),shareId:te("share_id").unique(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()}),HF=me("messages",{id:Ae("id").primaryKey(),conversationId:W("conversation_id").notNull().references(()=>wS.id,{onDelete:"cascade"}),role:b("role").notNull(),content:b("content").notNull(),voiceLabel:b("voice_label"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(wS).omit({id:!0,createdAt:!0});cn(HF).omit({id:!0,createdAt:!0});const qF=me("content_drafts",{id:Ae("id").primaryKey(),type:b("type").notNull(),title:b("title"),content:b("content").notNull(),selectedVoiceIds:b("selected_voice_ids").array(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(qF).omit({id:!0,createdAt:!0});const WF=me("usage_events",{id:Ae("id").primaryKey(),sessionId:b("session_id").notNull(),type:b("type").notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(WF).omit({id:!0,createdAt:!0});const GF=me("news_searches",{id:Ae("id").primaryKey(),keywords:b("keywords").notNull(),customName:b("custom_name"),resultCount:W("result_count").default(0),results:Wt("results"),sessionId:b("session_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()});cn(GF).omit({id:!0,createdAt:!0});const KF=me("affiliate_commissions",{id:Ae("id").primaryKey(),referrerUserId:te("referrer_user_id").notNull(),referredUserId:te("referred_user_id").notNull(),sourceRef:te("source_ref",{length:128}),level:W("level").notNull(),rate:W("rate").notNull(),sourceAmountCents:W("source_amount_cents").notNull(),commissionCents:W("commission_cents").notNull(),status:te("status").notNull().default("pending"),payableAt:I("payable_at").notNull(),paidInPayoutId:W("paid_in_payout_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({uniqPayment:lt("affiliate_commissions_source_ref_idx").on(t.referrerUserId,t.referredUserId,t.sourceRef).where(Z`source_ref IS NOT NULL`)}));cn(KF).omit({id:!0,createdAt:!0});const YF=me("affiliate_payouts",{id:Ae("id").primaryKey(),referrerUserId:te("referrer_user_id").notNull(),paypalEmail:te("paypal_email").notNull(),amountCents:W("amount_cents").notNull(),commissionIds:b("commission_ids"),status:te("status").notNull().default("pending"),paypalTransactionId:te("paypal_transaction_id"),note:b("note"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull(),paidAt:I("paid_at")});cn(YF).omit({id:!0,createdAt:!0});me("hidden_voices",{id:Ae("id").primaryKey(),voiceId:W("voice_id").notNull().references(()=>
69Il.id,{onDelete:"cascade"}),ownerUserId:te("owner_user_id"),ownerSessionId:b("owner_session_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)});const QF=me("shared_chats",{id:Ae("id").primaryKey(),shortId:te("short_id").notNull().unique(),name:b("name"),description:b("description"),selectedVoiceIds:b("selected_voice_ids").array(),customPrompt:b("custom_prompt"),quickQuestions:b("quick_questions").array(),trainingData:b("training_data"),newsSearchQueries:b("news_search_queries"),ownerUserId:te("owner_user_id"),ownerSessionId:b("owner_session_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});cn(QF).omit({id:!0,createdAt:!0,updatedAt:!0});me("visibility_reactions",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),accountId:b("account_id").notNull(),postId:b("post_id").notNull(),postUrl:b("post_url"),postAuthor:b("post_author"),postSnippet:b("post_snippet"),postFullText:b("post_full_text"),postLanguage:b("post_language"),postAuthorIdentifier:b("post_author_identifier"),postAuthorLocation:b("post_author_location"),postAuthorHeadline:b("post_author_headline"),reactionType:b("reaction_type").notNull().default("like"),feedName:b("feed_name"),booleanQuery:b("boolean_query"),status:b("status").notNull().default("success"),errorMessage:b("error_message"),campaignId:W("campaign_id"),capInForce:W("cap_in_force"),candidatesAvailable:W("candidates_available"),candidatesBeforeAuthorFilters:W("candidates_before_author_filters"),planEngagers:W("plan_engagers"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byCampaign:ze("visibility_reactions_campaign_id_idx").on(t.campaignId),byUser:ze("visibility_reactions_user_id_idx").on(t.userId)}));me("visibility_status",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().unique(),accountId:b("account_id"),assetId:b("asset_id"),assetType:b("asset_type"),assetName:b("asset_name"),isActive:le("is_active").default(!1).notNull(),reactionType:b("reaction_type").notNull().default("insightful"),signalFlows:b("signal_flows"),lastRunAt:I("last_run_at"),nextRunAt:I("next_run_at"),totalReactions:W("total_reactions").default(0),webhookUrl:b("webhook_url"),filterLanguage:b("filter_language"),filterLocation:b("filter_location"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});const ZF=me("advanced_filters",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),campaignId:W("campaign_id"),signalFlowIndex:W("signal_flow_index"),name:b("name").notNull(),targetType:b("target_type").default("both"),minFollowers:W("min_followers"),maxFollowers:W("max_followers"),industryKeywords:b("industry_keywords"),industryNegativeKeywords:b("industry_negative_keywords"),titleKeywords:b("title_keywords"),titleNegativeKeywords:b("title_negative_keywords"),positionKeywords:b("position_keywords"),positionNegativeKeywords:b("position_negative_keywords"),badges:b("badges"),badgeNegativeKeywords:b("badge_negative_keywords"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});cn(ZF).omit({id:!0,createdAt:!0,updatedAt:!0});const bS=me("visibility_campaigns",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),name:b("name").notNull(),userRenamed:le("user_renamed").default(!1).notNull(),accountId:b("account_id"),assetId:b("asset_id"),assetType:b("asset_type"),assetName:b("asset_name"),assetLogoUrl:b("asset_logo_url"),isActive:le("is_active").default(!1).notNull(),reactionType:b("reaction_type").notNull().default("insightful"),signalFlows:b("signal_flows"),lastRunAt:I("last_run_at"),nextRunAt:I("next_run_at"),totalReactions:W("total_reactions").default(0),webhookUrl:b("webhook_url"),webhookOnAppearance:le("webhook_on_appearance").default(!0).notNull(),webhookOnProspect:le("webhook_on_prospect").default(!0).notNull(),webhookOnMatchedProspect:le("webhook_on_matched_prospect").default(!0).notNull(),webhookConsecutiveFailures:W("webhook_consecutive_failures").default(0).notNull(),webhookLastFailureAt:I("webhook_last_failure_at"),webhookLastSuccessAt:I("webhook_last_success_at"),webhookFailing:le("webhook_failing").default(!1).notNull(),googleSheetId:b("google_sheet_id"),googleSheetUrl:b("google_sheet_url"),sheetOnAppearance:le("sheet_on_appearance").default(!0).notNull(),sheetOnProspect:le("sheet_on_prospect").default(!0).notNull(),sheetOnMatchedProspect:le("sheet_on_matched_prospect").default(!0).notNull(),sheetConsecutiveFailures:W("sheet_consecutive_failures").default(0).notNull(),sheetLastFailureAt:I("sheet_last_failure_at"),sheetLastSuccessAt:I("sheet_last_success_at"),sheetFailing:le("sheet_failing").default(!1).notNull(),filterLanguage:b("filter_language"),filterLocation:b("filter_location"),filterLanguageExclude:le("filter_language_exclude").default(!1),filterLocationExclude:le("filter_location_exclude").default(!1),filterIndustry:b("filter_industry"),filterIndustryExclude:le("filter_industry_exclude").default(!1),postFilterIndustry:b("post_filter_industry"),postFilterIndustryExclude:le("post_filter_industry_exclude").default(!1),strictKeywordMatch:le("strict_keyword_match").default(!1).notNull(),maxReactionsPerAuthorPerMonth:W("max_reactions_per_author_per_month"),excludedAuthors:b("excluded_authors"),presenceUrl:b("presence_url"),businessDescription:b("business_description"),generatedFeed:b("generated_feed"),trackedInfluencers:b("tracked_influencers"),lastInfluencerRunAt:I("last_influencer_run_at"),connectedFlowId:b("connected_flow_id"),reactToFlowPosts:le("react_to_flow_posts").default(!1),stripeSubscriptionId:b("stripe_subscription_id"),subscriptionStatus:b("subscription_status"),subscriptionCurrentPeriodEnd:I("subscription_current_period_end"),coveredByPerfPlan:le("covered_by_perf_plan").default(!1).notNull(),pausedReason:b("paused_reason"),pausedAt:I("paused_at"),virtualAccountId:W("virtual_account_id"),accountSource:b("account_source").default("own"),warmlikeBoosterSetupId:W("warmlike_booster_setup_id"),approvalStatus:b("approval_status"),approvedBy:te("approved_by"),approvedAt:I("approved_at"),approvalNotes:b("approval_notes"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});me("visibility_trial_usage",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),assetId:b("asset_id").notNull(),assetType:b("asset_type").notNull(),usedAt:I("used_at").default(Z`CURRENT_TIMESTAMP`)},t=>({userAssetUnique:lt("visibility_trial_user_asset_idx").on(t.userId,t.assetId)}));const XF=me("outreach_automations",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),campaignId:W("campaign_id").notNull(),signalFlowIndex:W("signal_flow_index"),applyToSignalFlows:le
69("apply_to_signal_flows").default(!0).notNull(),applyAuthorFiltersToSignalFlows:le("apply_author_filters_to_signal_flows").default(!1).notNull(),applyFiltersToFollowUps:le("apply_filters_to_follow_ups").default(!0).notNull(),reactToOwnFeed:le("react_to_own_feed").default(!1).notNull(),reactToOwnFeedFiltered:le("react_to_own_feed_filtered").default(!1).notNull(),filterConnectionRequests:le("filter_connection_requests").default(!1).notNull(),filterProfileViewers:le("filter_profile_viewers").default(!1).notNull(),connectionMessageEnabled:le("connection_message_enabled").default(!1).notNull(),connectionMessageTemplate:b("connection_message_template"),connectionMessageUseAi:le("connection_message_use_ai").default(!1).notNull(),followUp1Enabled:le("follow_up1_enabled").default(!1).notNull(),followUp1Template:b("follow_up1_template"),followUp1UseAi:le("follow_up1_use_ai").default(!1).notNull(),followUp1DelayMinutes:W("follow_up1_delay_minutes").default(30),followUp2Enabled:le("follow_up2_enabled").default(!1).notNull(),followUp2Template:b("follow_up2_template"),followUp2UseAi:le("follow_up2_use_ai").default(!1).notNull(),followUp2DelayDays:W("follow_up2_delay_days").default(3),followUp2ExcludeWeekends:le("follow_up2_exclude_weekends").default(!0).notNull(),followUp2SkipIfReplied:le("follow_up2_skip_if_replied").default(!0).notNull(),additionalFollowUps:Wt("additional_follow_ups").$type().default(Z`'[]'::jsonb`).notNull(),pageFollowUpEnabled:le("page_follow_up_enabled").default(!1).notNull(),pageFollowUpTemplate:b("page_follow_up_template"),pageFollowUpUseAi:le("page_follow_up_use_ai").default(!1).notNull(),pageFollowUpDelayMinutes:W("page_follow_up_delay_minutes").default(30),pageEngagementCommentEnabled:le("page_engagement_comment_enabled").default(!1).notNull(),pageEngagementCommentOffer:b("page_engagement_comment_offer"),pageEngagementCommentDelayMinutes:W("page_engagement_comment_delay_minutes").default(1),pageEngagementCommentUseAi:le("page_engagement_comment_use_ai").default(!0).notNull(),pageEngagementCommentLink:b("page_engagement_comment_link"),pageNotifCommentEnabled:le("page_notif_comment_enabled").default(!1).notNull(),pageNotifCommentOffer:b("page_notif_comment_offer"),pageNotifCommentUseAi:le("page_notif_comment_use_ai").default(!0).notNull(),followUpExternalConnections:le("follow_up_external_connections").default(!0).notNull(),filterLanguage:b("filter_language"),filterLocation:b("filter_location"),filterLanguageExclude:le("filter_language_exclude").default(!1),filterLocationExclude:le("filter_location_exclude").default(!1),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});cn(XF).omit({id:!0,createdAt:!0,updatedAt:!0});const JF=me("outreach_messages",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),recipientId:b("recipient_id").notNull(),recipientName:b("recipient_name"),messageType:b("message_type").notNull(),messageContent:b("message_content"),status:b("status").notNull().default("sent"),errorMessage:b("error_message"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byCampaignStatusType:ze("outreach_messages_campaign_status_idx").on(t.campaignId,t.status,t.messageType)}));cn(JF).omit({id:!0,createdAt:!0});const e6=me("outreach_connection_queue",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),signalFlowIndex:W("signal_flow_index"),profileId:b("profile_id").notNull(),profileName:b("profile_name"),profileUrl:b("profile_url"),profileHeadline:b("profile_headline"),profileLocation:b("profile_location"),stage:b("stage").notNull().default("pending"),connectedAt:I("connected_at"),followUp1At:I("follow_up1_at"),followUp2At:I("follow_up2_at"),additionalFollowUpAts:Wt("additional_follow_up_ats").$type().default(Z`'[]'::jsonb`).notNull(),chatId:b("chat_id"),lastPostSnippet:b("last_post_snippet"),connectionMessageSent:le("connection_message_sent").default(!1),initiatedByApp:le("initiated_by_app").default(!0),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)});cn(e6).omit({id:!0,createdAt:!0});const t6=me("virtual_accounts_pool",{id:Ae("id").primaryKey(),providerAccountId:b("unipile_account_id").notNull(),displayName:b("display_name").notNull(),displayImageUrl:b("display_image_url"),linkedinProfileUrl:b("linkedin_profile_url"),linkedinProfileId:b("linkedin_profile_id"),status:b("status").notNull().default("available"),retiredAt:I("retired_at"),retiredReason:b("retired_reason"),retiredFromStatus:b("retired_from_status"),disconnectedAt:I("disconnected_at"),lastStatus:b("last_status"),maxUnits:W("max_units").default(4).notNull(),usedUnits:W("used_units").default(0).notNull(),assignedToUserId:te("assigned_to_user_id"),assignedAt:I("assigned_at"),lastActiveAt:I("last_active_at"),notes:b("notes"),postPullLimit:W("post_pull_limit"),postPullCalibratedAt:I("post_pull_calibrated_at"),engagerCapOverride:W("engager_cap_override"),timezone:b("timezone"),warmupStartedAt:I("warmup_started_at"),rentalStripeSubscriptionId:b("rental_stripe_subscription_id"),rentalStartedAt:I("rental_started_at"),rentalMinimumEndsAt:I("rental_minimum_ends_at"),rentalCancelRequestedAt:I("rental_cancel_requested_at"),rentalGraceEndsAt:I("rental_grace_ends_at"),rentalStatus:b("rental_status"),rentalReleaseReason:b("rental_release_reason"),rentalBillingPausedAt:I("rental_billing_paused_at"),rentalBillingHoldSince:I("rental_billing_hold_since"),accessLevel:b("access_level").notNull().default("page_only"),profileUpgradeStripeSubscriptionId:b("profile_upgrade_stripe_subscription_id"),profileUpgradeRequestedAt:I("profile_upgrade_requested_at"),profileUpgradeActivatedAt:I("profile_upgrade_activated_at"),profileUpgradeCancelRequestedAt:I("profile_upgrade_cancel_requested_at"),profileUpgradeMinimumEndsAt:I("profile_upgrade_minimum_ends_at"),profileUpgradeGraceEndsAt:I("profile_upgrade_grace_ends_at"),profileUpgradeStatus:b("profile_upgrade_status"),profileUpgradeReleaseReason:b("profile_upgrade_release_reason"),profileUpgradeAdminNotes:b("profile_upgrade_admin_notes"),linkedinLoginEmailEnc:b("linkedin_login_email_enc"),linkedinLoginPasswordEnc:b("linkedin_login_password_enc"),linkedinTotpSecretEnc:b("linkedin_totp_secret_enc"),browserProxyConfigEnc:b("browser_proxy_config_enc"),browserStorageStateEnc:b("browser_storage_state_enc"),browserStorageSavedAt:I("browser_storage_saved_at"),browserFirstLoginAt:I("browser_first_login_at"),browserTrustedSessionAt:I("browser_trusted_session_at"),browserLastError:b("browser_last_error"),pageCreationEnabled:le("page_creation_enabled").default(!1).notNull(),pageCreationHeldByRental:le("page_creation_held_by_rental").default(!1).notNull(),pageCreateLimitHitAt:I("page_create_limit_hit_at"),browserCreateEntryPageId:b("browser_create_entry_page_id"),previewPagesReserved:W("preview_pages_reserved").default(0).notNull(),browserSessionActiveUntil:I("browser_session_active_until"),supplierAccountId:b("supplier_account_id"),supplierLinkedAt:I("supplier_linked_at"),supplierReleasedAt:I("supplier_released_at"),supplierIdleSince:I("supplier_idle_since"),telegramMutedSince:I("telegram_muted_since"),stableBackupAdmin:le("stable_backup_admin").default(!1).notNull(),supplierLinkFailures:W("supplier_link_failures").default(0).notNull(),supplierLastError:b("supplier_last_error"),supplierSeenAt:I("supplier_seen_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSupplierAccount:lt("uniq_va_supplier_account").on(t.supplierAccountId).where(Z`${t.supplierAccountId} IS NOT NULL`),idxRentalSub:ze("idx_va_rental_sub").on(t.rentalStripeSubscriptionId).where(Z`${t.rentalStripeSubscriptionId} IS NOT NULL`),uniqProfileUpgradeSub:lt("uniq_va_profile_upgrade_sub").on(t.profileUpgradeStripeSubscriptionId).where(Z`${t.profileUpgradeStripeSubscriptionId} IS NOT NULL`)}));cn(t6).omit({id:!0,createdAt:!0,updatedAt:!0});me("virtual_account_unipile_links",{id:Ae("id").primaryKey(),virtualAccountId:W("virtual_account_id").notNull(),supplierAccountId:b("supplier_account_id"),unipileAccountId:b("unipile_account_id").notNull(),via:b("via").notNull(),purpose:b("purpose"),proxy:b("proxy"),linkedAt:I("linked_at").default(Z`CURRENT_TIMESTAMP`).notNull(),releasedAt:I("released_at"),releaseReason:b("release_reason")},t=>({byAccount:ze("va_unipile_links_account_idx").on(t.virtualAccountId,t.linkedAt),byUnipile:ze("va_unipile_links_unipile_idx").on(t.unipileAccountId)}));me("warmlike_page_backup_admins",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull(),organizationUrn:b("organization_urn"),virtualAccountId:W("virtual_account_id").notNull(),requestedAt:I("requested_at").default(Z`CURRENT_TIMESTAMP`).notNull(),addedAt:I("added_at"),verifiedAt:I("verified_at"),verifiedRole:b("verified_role"),lastCheckError:b("last_check_error"),endedAt:I("ended_at"),endReason:b("end_reason"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({bySetup:ze("wl_backup_admins_setup_idx").on(t.setupId),byAccount:ze("wl_backup_admins_account_idx").on(t.virtualAccountId)}));me("warmlike_admin_boosters",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull(),virtualAccountId:W("virtual_account_id").notNull(),campaignId:W("campaign_id"),organizationUrn:b("organization_urn"),addedByUserId:te("added_by_user_id"),adminVerifiedAt:I("admin_verified_at"),grantedRole:b("granted_role"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull(),endedAt:I("ended_at"),endReason:b("end_reason")},t=>({bySetup:ze("wl_admin_boosters_setup_idx").on(t.setupId),liveAccount:lt("wl_admin_boosters_live_account_idx").on(t.virtualAccountId).where(Z`${t.endedAt} IS NULL`)}));me("warmlike_booster_purchases",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull(),boosterIndex:W("booster_index").notNull(),priceCents:W("price_cents").notNull(),status:b("status").notNull().default("
69checkout"),stripeCheckoutSessionId:b("stripe_checkout_session_id"),stripeSubscriptionId:b("stripe_subscription_id"),stripeAccount:b("stripe_account"),adminBoosterId:W("admin_booster_id"),lastProvisionAt:I("last_provision_at"),lastProvisionError:b("last_provision_error"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull(),activatedAt:I("activated_at"),canceledAt:I("canceled_at")},t=>({bySetup:ze("wl_booster_purchases_setup_idx").on(t.setupId),bySession:lt("wl_booster_purchases_session_idx").on(t.stripeCheckoutSessionId),bySubscription:lt("wl_booster_purchases_subscription_idx").on(t.stripeSubscriptionId)}));me("warmlike_house_defaults",{id:Ae("id").primaryKey(),postStyle:b("post_style"),creativeStyle:b("creative_style"),updatedBy:te("updated_by"),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`).notNull()});me("warmlike_admin_events",{id:Ae("id").primaryKey(),setupId:W("setup_id"),poolRowId:W("pool_row_id"),severity:b("severity"),title:b("title").notNull(),body:b("body"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({bySetup:ze("warmlike_admin_events_setup_idx").on(t.setupId,t.createdAt)}));me("rented_account_replacements",{id:Ae("id").primaryKey(),oldVirtualAccountId:W("old_virtual_account_id").notNull(),newVirtualAccountId:W("new_virtual_account_id"),product:b("product").notNull(),userId:te("user_id"),setupId:W("setup_id"),reason:b("reason"),status:b("status").notNull(),pageAdminLinkIds:Wt("page_admin_link_ids").$type().default(Z`'[]'::jsonb`).notNull(),pausedCampaignIds:Wt("paused_campaign_ids").$type().default(Z`'[]'::jsonb`).notNull(),pausedContentCampaignIds:Wt("paused_content_campaign_ids").$type().default(Z`'[]'::jsonb`).notNull(),oldPageUrl:b("old_page_url"),newPageUrl:b("new_page_url"),lastCheckedAt:I("last_checked_at"),resolvedAt:I("resolved_at"),notes:b("notes"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({byStatus:ze("rented_replacements_status_idx").on(t.status),byOld:ze("rented_replacements_old_idx").on(t.oldVirtualAccountId)}));me("rental_queue",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),stripeSubscriptionId:b("stripe_subscription_id").notNull().unique(),stripeCustomerId:b("stripe_customer_id"),queuedAt:I("queued_at").notNull().default(Z`NOW()`),fulfilledAt:I("fulfilled_at"),fulfilledRowId:W("fulfilled_row_id"),notifiedAt:I("notified_at"),setupCampaignId:W("setup_campaign_id")});me("rental_release_events",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),displayName:b("display_name").notNull(),reason:b("reason").notNull(),createdAt:I("created_at").notNull().default(Z`NOW()`),dismissedAt:I("dism
69issed_at")});const n6=me("rented_account_requests",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),campaignId:W("campaign_id"),linkedinPageId:b("linkedin_page_id"),linkedinPageName:b("linkedin_page_name"),feedId:b("feed_id"),filterId:b("filter_id"),notes:b("notes"),status:b("status").notNull().default("pending"),assignedAccountId:W("assigned_account_id"),reviewedBy:te("reviewed_by"),reviewedAt:I("reviewed_at"),reviewNotes:b("review_notes"),requestType:b("request_type").notNull().default("new_rental"),targetVirtualAccountId:W("target_virtual_account_id"),profileUpgradeCheckoutUrl:b("profile_upgrade_checkout_url"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});cn(n6).omit({id:!0,assignedAccountId:!0,reviewedBy:!0,reviewedAt:!0,reviewNotes:!0,createdAt:!0,updatedAt:!0});const o6=me("page_admin_links",{id:Ae("id").primaryKey(),ownedLinkedinAccountId:b("owned_linkedin_account_id").notNull(),virtualAccountId:W("virtual_account_id"),linkedinPageId:b("linkedin_page_id").notNull(),linkedinPageName:b("linkedin_page_name"),organizationUrn:b("organization_urn"),role:b("role").default("
69content_admin").notNull(),isVirtual:le("is_virtual").default(!1).notNull(),isFollowing:le("is_following").default(!1).notNull(),followConfirmedAt:I("follow_confirmed_at"),isAdmin:le("is_admin").default(!1).notNull(),verifiedAt:I("verified_at"),followError:b("follow_error"),verificationError:b("verification_error"),userId:te("user_id").notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});cn(o6).omit({id:!0,verifiedAt:!0,createdAt:!0,updatedAt:!0});me("user_linkedin_accounts",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),providerAccountId:b("unipile_account_id").notNull(),profileName:b("profile_name"),profileEmail:b("profile_email"),profileImageUrl:b("profile_image_url"),providerId:b("provider_id"),postPullLimit:W("post_pull_limit"),postPullCalibratedAt:I("post_pull_calibrated_at"),connectedAt:I("connected_at").default(Z`CURRENT_TIMESTAMP`),disconnectedAt:I("disconnected_at"),lastStatus:b("last_status"),engagerCapOverride:W("engager_cap_override"),timezone:b("timezone"),warmupStartedAt:I("warmup_started_at"),uncoveredGraceEndsAt:I("uncovered_grace_ends_at")},t=>({userAccountUnique:lt("user_linkedin_accounts_user_account_idx").on(t.userId,t.providerAccountId)}));me("engine_settings",{id:W("id").primaryKey().default(1),warmupStartFactor:Du("warmup_start_factor").notNull().default(.35),warmupRampDays:W("warmup_ramp_days").notNull().default(14),weekendActivityFactor:Du("weekend_activity_factor").notNull().default(.25),globalActivityMultiplier:Du("global_activity_multiplier").notNull().default(1),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`),updatedBy:b("updated_by")});me("api_credentials",{credKey:b("cred_key").primaryKey(),valueEnc:b("value_enc").notNull(),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`),updatedBy:b("updated_by")});me("linkedin_write_recipes",{recipeKey:b("recipe_key").primaryKey(),recipeJson:b("recipe_json").notNull(),capturedAt:I("captured_at").default(Z`CURRENT_TIMESTAMP`),capturedFrom:b("captured_from").notNull().default(""),verifiedAt:I("verified_at"),lastError:b("last_error"),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`),updatedBy:b("updated_by")});me("company_logo_cache",{orgId:b("org_id").primaryKey(),name:b("name").notNull().default(""),logoUrl:b("logo_url").notNull().default(""),tagline:b("tagline").notNull().default(""),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});const Br=me("warmlike_setups",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),email:b("email").notNull(),linkedinProfileUrl:b("linkedin_profile_url").notNull(),origin:b("origin"),createdByPrincipal:b("created_by_principal"),niche:b("niche"),offer:b("offer"),status:b("status").notNull().default("intake"),lastError:b("last_error"),dryRun:le("dry_run").default(!0).notNull(),stripeCheckoutSessionId:b("stripe_checkout_session_id"),stripeSubscriptionId:b("stripe_subscription_id"),stripeCustomerId:b("stripe_customer_id"),stripeAccount:b("stripe_account"),subscriptionStatus:b("subscription_status"),subscriptionCurrentPeriodEnd:I("subscription_current_period_end"),subscriptionWentPaid:le("subscription_went_paid"),seatLapseWarnedFor:I("seat_lapse_warned_for"),seatReleasedAt:I("seat_released_at"),seatReleaseReason:b("seat_release_reason"),lastBoosterAddedAt:I("last_booster_added_at"),contentCreditsUsed:W("content_credits_used").notNull().default(0),contentCreditsPeriodStart:I("content_credits_period_start"),virtualAccountId:W("virtual_account_id"),providerAccountId:b("provider_account_id"),previewHostVirtualAccountId:W("preview_host_virtual_account_id"),pageName:b("page_name"),pageTagline:b("page_tagline"),pageAbout:b("page_about"),pageIndustry:b("page_industry"),pageIndustryResolved:b("page_industry_resolved"),pageLogoUrl:b("page_logo_url"),pageBannerUrl:b("page_banner_url"),pageCtaLabel:b("page_cta_label"),pageCtaUrl:b("page_cta_url"),pageWebsiteUrl:b("page_website_url"),pageOrgSize:b("page_org_size"),pageOrgType:b("page_org_type"),pagePhone:b("page_phone"),pageFoundedYear:W("page_founded_year"),pageLocation:b("page_location"),pageLocationResolved:b("page_location_resolved"),pageHashtags:b("page_hashtags"),pageVanity:b("page_vanity"),linkCheckedAt:I("link_checked_at"),linkDriftStrikes:W("link_drift_strikes"),actingPausedReason:b("acting_paused_reason"),actingPausedFacets:b("acting_paused_facets"),actingPausedContentWasActive:le("acting_paused_content_was_active"),actingPausedDraftsWasActive:le("acting_paused_drafts_was_active"),actingPausedAt:I("acting_paused_at"),actingPausedDetail:b("acting_paused_detail"),pageSettingsSyncedAt:I("page_settings_synced_at"),hostAdminOk:le("host_admin_ok"),hostAdminRole:b("host_admin_role"),hostAdminError:b("host_admin_error"),adminsCheckedAt:I("admins_checked_at"),pageSettingsLastError:b("page_settings_last_error"),linkedinPageId:b("linkedin_page_id"),organizationUrn:b("organization_urn"),pageUrl:b("page_url"),postCreationChoice:b("post_creation_choice"),trialLaunc
69hedAt:I("trial_launched_at"),shareFollowedAt:I("share_followed_at"),boostCampaignId:W("boost_campaign_id"),contentCampaignId:W("content_campaign_id"),draftsCampaignId:W("drafts_campaign_id"),connectedFlowId:b("connected_flow_id"),toneSummary:b("tone_summary"),timezone:b("timezone"),postPreferences:b("post_preferences"),creativePreferences:b("creative_preferences"),preferencesUpdatedAt:I("preferences_updated_at"),preferencesSource:b("preferences_source"),autoPostAccountId:b("auto_post_account_id"),autoPostEnabledAt:I("auto_post_enabled_at"),autoPostEnabledBy:b("auto_post_enabled_by"),autoReplyMessage:b("auto_reply_message"),autoReplyEnabled:le("auto_reply_enabled").default(!1).notNull(),inboxFollowUp1Enabled:le("inbox_follow_up1_enabled").default(!1).notNull(),inboxFollowUp1DelayMinutes:W("inbox_follow_up1_delay_minutes").default(30).notNull(),inboxFollowUp1Template:b("inbox_follow_up1_template"),inboxFollowUp1AiEnabled:le("inbox_follow_up1_ai_enabled").default(!1).notNull(),inboxFollowUp2Enabled:le("inbox_follow_up2_enabled").default(!1).notNull(),inboxFollowUp2AiEnabled:le("inbox_follow_up2_ai_enabled").default(!1).notNull(),inboxFollowUp2DelayDays:W("inbox_follow_up2_delay_days").default(3).notNull(),inboxFollowUp2ExcludeWeekends:le("inbox_follow_up2_exclude_weekends").default(!0).notNull(),inboxFollowUp2SkipIfReplied:le("inbox_follow_up2_skip_if_replied").default(!0).notNull(),inboxFollowUp2Template:b("inbox_follow_up2_template"),inboxAdditionalFollowUps:Wt("inbox_additional_follow_ups").$type().default(Z`'[]'::jsonb`).notNull(),reshareHookPrompt:b("reshare_hook_prompt"),lastReshareAt:I("last_reshare_at"),postReminderEnabled:le("post_reminder_enabled").default(!0).notNull(),postReminderSkipWeekends:le("post_reminder_skip_weekends").default(!1).notNull(),brandDmAccountId:b("brand_dm_account_id"),brandDmChatId:b("brand_dm_chat_id"),brandDmSenderId:b("brand_dm_sender_id"),reshareDelayMinutes:W("reshare_delay_minutes").default(0).notNull(),profileMessageVerifiedAt:I("profile_message_verified_at"),profileMessageSenderId:b("profile_message_sender_id"),profileMessageChatId:b("profile_message_chat_id"),hubToken:b("hub_token"),shortCode:b("short_code"),previewPageUrl:b("preview_page_url"),previewOrganizationUrn:b("preview_organization_urn"),previewHoldUntil:I("preview_hold_until"),firstAutopilotPostCtaSent:le("first_autopilot_post_cta_sent").default(!1).notNull(),pendingPreviewDm:b("pending_preview_dm"),previewUrlDmClaimedAt:I("preview_url_dm_claimed_at"),previewUrlDmSentAt:I("preview_url_dm_sent_at"),previewUrlDmAttempts:W("preview_url_dm_attempts").default(0).notNull(),previewUrlDmNextAttemptAt:I("preview_url_dm_next_attempt_at"),previewUrlDmLastError:b("preview_url_dm_last_error"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byStatus:ze("warmlike_setups_status_idx").on(t.status),uniqCheckoutSession:lt("warmlike_setups_checkout_session_idx").on(t.stripeCheckoutSessionId).where(Z`${t.stripeCheckoutSessionId} IS NOT NULL`),uniqSubscription:lt("warmlike_setups_subscription_idx").on(t.stripeSubscriptionId).where(Z`${t.stripeSubscriptionId} IS NOT NULL`),uniqHubToken:lt("warmlike_setups_hub_token_idx").on(t.hubToken).where(Z`${t.hubToken} IS NOT NULL`),uniqShortCode:lt("warmlike_setups_short_code_idx").on(t.shortCode).where(Z`${t.shortCode} IS NOT NULL`),byActingPaused:ze("warmlike_setups_acting_paused_idx").on(t.actingPausedReason),byContentCampaign:ze("warmlike_setups_content_campaign_idx").on(t.contentCampaignId),byDraftsCampaign:ze("warmlike_setups_drafts_campaign_idx").on(t.draftsCampaignId)}));me("warmlike_virtual_account_allocations",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),setupId:W("setup_id").notNull(),virtualAccountId:W("virtual_account_id"),virtualAccountDisplayName:b("virtual_account_display_name"),virtualAccountProviderId:b("virtual_account_provider_id"),stripeSubscriptionId:b("stripe_subscription_id"),warmupStartedAt:I("warmup_started_at").notNull(),allocatedAt:I("allocated_at").default(Z`CURRENT_TIMESTAMP`).notNull(),releasedAt:I("released_at"),releaseReason:b("release_reason"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull(),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({activeSetup:lt("warmlike_va_alloc_active_setup_idx").on(t.setupId).where(Z`${t.releasedAt} IS NULL`),activeAccount:ze("warmlike_va_alloc_active_account_idx").on(t.virtualAccountId).where(Z`${t.releasedAt} IS NULL`),activeUser:ze("warmlike_va_alloc_active_user_idx").on(t.userId).where(Z`${t.releasedAt} IS NULL`)}));cn(Br).omit({id:!0,createdAt:!0,updatedAt:!0});me("warmlike_page_setting_syncs",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull(),organizationUrn:b("organization_urn").notNull(),facet:b("facet").notNull(),desiredHash:b("desired_hash").notNull(),status:b("status").notNull().default("pending"),strategy:b("strategy"),appliedValue:b("applied_value"),attempts:W("attempts").notNull().default(0),lastError:b("last_error"),appliedAt:I("applied_at"),verifiedAt:I("verified_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqFacet:lt("warmlike_page_setting_syncs_facet_idx").on(t.setupId,t.organizationUrn,t.facet),bySetup:ze("warmlike_page_setting_syncs_setup_idx").on(t.setupId)}));const a6=me("warmlike_daily_posts",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>
69Br.id,{onDelete:"cascade"}),userId:te("user_id").notNull(),postDate:b("post_date").notNull(),draftContent:b("draft_content").notNull(),mediaType:b("media_type"),mediaUrl:b("media_url"),mediaPreviewUrls:b("media_preview_urls"),status:b("status").notNull().default("pending"),editedContent:b("edited_content"),reviewedAt:I("reviewed_at"),postedAt:I("posted_at"),linkedinPostUrl:b("linkedin_post_url"),remindedAt:I("reminded_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({bySetup:ze("warmlike_daily_posts_setup_idx").on(t.setupId),byStatus:ze("warmlike_daily_posts_status_idx").on(t.status),uniqSetupDate:lt("warmlike_daily_posts_setup_date_idx").on(t.setupId,t.postDate)}));cn(a6).omit({id:!0,createdAt:!0,updatedAt:!0});me("warmlike_dm_replies",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id"),repliedAt:I("replied_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupSender:lt("warmlike_dm_replies_setup_sender_idx").on(t.setupId,t.senderId)}));me("warmlike_page_inbox_sends",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id").notNull(),step:b("step").notNull(),sentAt:I("sent_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupSenderStep:lt("warmlike_page_inbox_sends_setup_sender_step_idx").on(t.setupId,t.senderId,t.step),bySetupSent:ze("warmlike_page_inbox_sends_setup_sent_idx").on(t.setupId,t.sentAt)}));me("warmlike_operator_replies",{id:Ae("id").primaryKey(),brandOrgId:b("brand_org_id").notNull(),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id"),messageId:b("message_id"),repliedAt:I("replied_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqOrgSenderMsg:lt("warmlike_operator_replies_org_sender_msg_idx").on(t.brandOrgId,t.senderId,t.messageId)}));me("warmlike_operator_handoffs",{id:Ae("id").primaryKey(),brandOrgId:b("brand_org_id").notNull(),senderId:b("sender_id").notNull(),handledAt:I("handled_at").defaultNow().notNull(),handledBy:b("handled_by")},t=>({uniqOrgSender:lt("warmlike_operator_handoffs_org_sender_idx").on(t.brandOrgId,t.senderId)}));me("warmlike_owner_replies",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id"),repliedAt:I("replied_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupSender:lt("warmlike_owner_replies_setup_sender_idx").on(t.setupId,t.senderId)}));me("warmlike_forwarded_messages",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),messageId:b("message_id").notNull(),forwardedAt:I("forwarded_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupMessage:lt("warmlike_forwarded_messages_setup_msg_idx").on(t.setupId,t.messageId)}));me("warmlike_reshares",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),sourcePostId:b("source_post_id").notNull(),repostedAt:I("reposted_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupSource:lt("warmlike_reshares_setup_source_idx").on(t.setupId,t.sourcePostId)}));me("warmlike_profile_engagers",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),engagerId:b("engager_id").notNull(),interaction:b("interaction").notNull(),engagerName:b("engager_name"),engagerHeadline:b("engager_headline"),engagerUrl:b("engager_url"),sourcePostId:b("source_post_id").notNull(),engagedAt:I("engaged_at"),firstSeenAt:I("first_seen_at").default(Z`CURRENT_TIMESTAMP`),lastSeenAt:I("last_seen_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqSetupEngagerInteraction:lt("warmlike_profile_engagers_setup_engager_idx").on(t.setupId,t.engagerId,t.interaction),bySetup:ze("warmlike_profile_engagers_setup_idx").on(t.setupId)}));me("page_inbound_replies",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull().references(()=>
69bS.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id"),inboundAt:I("inbound_at").default(Z`CURRENT_TIMESTAMP`),repliedAt:I("replied_at"),replySentAt:I("reply_sent_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqCampaignSender:lt("page_inbound_replies_campaign_sender_idx").on(t.campaignId,t.senderId)}));me("page_inbox_followup_sends",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull().references(()=>bS.id,{onDelete:"cascade"}),providerAccountId:b("provider_account_id").notNull(),senderId:b("sender_id").notNull(),chatId:b("chat_id").notNull(),step:b("step").notNull(),sentAt:I("sent_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqCampaignSenderStep:lt("page_inbox_followup_sends_campaign_sender_step_idx").on(t.campaignId,t.senderId,t.step)}));me("content_campaigns",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),name:b("name").notNull(),isActive:le("is_active").default(!1).notNull(),postFormat:b("post_format").default("linkedin_post").notNull(),accountId:b("account_id"),assetId:b("asset_id"),assetType:b("asset_type"),assetName:b("asset_name"),assetLogoUrl:b("asset_logo_url"),frequency:b("frequency").default("daily").notNull(),postsPerDay:W("posts_per_day").default(1),workdayCount:W("workday_count").default(3),selectedDays:b("selected_days").array(),postTime:b("post_time").default("09:00"),postTimeEnd:b("post_time_end"),timezone:b("timezone").default("UTC"),topicSources:b("topic_sources"),styleVoiceIds:b("style_voice_ids"),contextVoiceIds:b("context_voice_ids"),postPrompt:b("post_prompt"),imageEnabled:le("image_enabled").default(!0).notNull(),imageStyle:W("image_style").default(70),carouselEnabled:le("carousel_enabled").default(!1).notNull(),videoEnabled:le("video_enabled").default(!1).notNull(),giphyEnabled:le("giphy_enabled").default(!1).notNull(),savedGiphyQuery:b("saved_giphy_query"),creativeTypePrompt:b("creative_type_prompt"),creativeMix:b("creative_mix"),imageThemeOnly:le("image_theme_only").default(!1).notNull(),imageAsCarouselTheme:le("image_as_carousel_theme").default(!1).notNull(),imageAsVideoTheme:le("image_as_video_theme").default(!1).notNull(),imageFormat:b("image_format").default("1:1"),savedImageTheme:b("saved_image_theme"),savedCarouselTheme:b("saved_carousel_theme"),savedVideoTheme:b("saved_video_theme"),brandLogoUrl:b("brand_logo_url"),brandName:b("brand_name"),brandAccentColor:b("brand_accent_color"),brandPosition:b("brand_position").default("bottom-left"),brandFont:b("brand_font"),brandLogoSize:W("brand_logo_size"),connectedFlowId:b("connected_flow_id"),blogSourceUrl:b("blog_source_url"),blogLinkCommentEnabled:le("blog_link_comment_enabled").default(!1).notNull(),blogFeedUrl:b("blog_feed_url"),webhookUrl:b("webhook_url"),instagramEnabled:le("instagram_enabled").default(!1).notNull(),instagramMakeWebhookUrl:b("instagram_make_webhook_url"),googleSheetId:b("google_sheet_id"),googleSheetUrl:b("google_sheet_url"),lastPostAt:I("last_post_at"),nextPostAt:I("next_post_at"),totalPosts:W("total_posts").default(0),pageEngagementCommentEnabled:le("page_engagement_comment_enabled").default(!1).notNull(),pageEngagementCommentOffer:b("page_engagement_comment_offer"),pageEngagementCommentOfferOpenToWork:b("page_engagement_comment_offer_open_to_work"),pageEngagementCommentOfferHiring:b("page_engagement_comment_offer_hiring"),pageEngagementCommentDelayMinutes:W("page_engagement_comment_delay_minutes").default(1),pageEngagementCommentUseAi:le("page_engagement_comment_use_ai").default(!0).notNull(),pageEngagementCommentFrequency:b("page_engagement_comment_frequency").default("always"),pageEngagementCommentFilterLanguage:b("page_engagement_comment_filter_language"),pageEngagementCommentFilterLanguageExclude:le("page_engagement_comment_filter_language_exclude").default(!1),pageEngagementCommentFilterLocation:b("page_engagement_comment_filter_location"),pageEngagementCommentFilterLocationExclude:le("page_engagement_comment_filter_location_exclude").default(!1),pageEngagementCommentAdvancedFilterId:W("page_engagement_c
69omment_advanced_filter_id"),pageEngagementCommentAutoTranslate:le("page_engagement_comment_auto_translate").default(!1).notNull(),pageNotifCommentEnabled:le("page_notif_comment_enabled").default(!1).notNull(),pageNotifCommentOffer:b("page_notif_comment_offer"),pageNotifCommentUseAi:le("page_notif_comment_use_ai").default(!0).notNull(),selfCommentEnabled:le("self_comment_enabled").default(!1).notNull(),selfCommentInstruction:b("self_comment_instruction"),selfCommentDelayMinMinutes:W("self_comment_delay_min_minutes").default(30),selfCommentDelayMaxMinutes:W("self_comment_delay_max_minutes").default(120),selfCommentUseAi:le("self_comment_use_ai").default(!0).notNull(),repostEnabled:le("repost_enabled").default(!1).notNull(),repostTargets:b("repost_targets"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)});me("content_engager_comments",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),contentCampaignId:W("content_campaign_id").notNull(),accountId:b("account_id").notNull(),profileId:b("profile_id").notNull(),postId:b("post_id").notNull(),commentText:b("comment_text"),status:b("status"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byCampaignProfile:ze("idx_cec_campaign_profile").on(t.contentCampaignId,t.profileId,t.createdAt),uniquePerCampaignPostProfile:lt("uniq_cec_campaign_post_profile").on(t.contentCampaignId,t.postId,t.profileId)}));me("content_notif_comments",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),contentCampaignId:W("content_campaign_id").notNull(),accountId:b("account_id").notNull(),postId:b("post_id").notNull(),postAuthor:b("post_author"),commentText:b("comment_text"),status:b("status"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniquePerCampaignPost:lt("uniq_cnc_campaign_post").on(t.contentCampaignId,t.postId)}));me("autopilot_posts",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),userId:te("user_id").notNull(),postContent:b("post_content"),linkedinPostUrl:b("linkedin_post_url"),mediaType:b("media_type"),mediaUrl:b("media_url"),postFormat:b("post_format").default("linkedin_post"),postedAt:I("posted_at").default(Z`CURRENT_TIMESTAMP`),selfCommentDueAt:I("self_comment_due_at"),selfCommentedAt:I("self_commented_at"),selfCommentError:b("self_comment_error"),blogPostUrl:b("blog_post_url"),repostState:b("repost_state"),giphyId:b("giphy_id"),ugcPostId:b("ugc_post_id")});me("flow_news_usage",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),link:b("link").notNull(),title:b("title"),source:b("source"),newsType:b("news_type"),usedFor:b("used_for").notNull().default("post"),usedAt:I("used_at").notNull().default(Z`CURRENT_TIMESTAMP`)},t=>({uniqCampaignLink:lt("uniq_fnu_campaign_link").on(t.campaignId,t.link),campaignUsedAtIdx:ze("fnu_campaign_used_at_idx").on(t.campaignId,t.usedAt)}));me("payg_subscriptions",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),stripeSubscriptionId:b("stripe_subscription_id").notNull().unique(),stripeCustomerId:b("stripe_customer_id"),status:b("status").notNull().default("active"),cancelAtPeriodEnd:le("cancel_at_period_end").default(!1),currentPeriodEnd:I("current_period_end"),requestsUsed:W("requests_used").notNull().default(0),priceId:b("price_id"),assignedContentCampaignId:W("assigned_content_campaign_id"),waived:le("waived").notNull().default(!1),everWaived:le("ever_waived").notNull().default(!1),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({userCampaignUnique:lt("payg_subs_user_campaign_unique").on(t.userId,t.assignedContentCampaignId).where(Z`assigned_content_campaign_id IS NOT NULL`)}));me("google_sheets_tokens",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().unique(),accessToken:b("access_token").notNull(),refreshToken:b("refresh_token").notNull(),expiresAt:I("expires_at").notNull(),email:b("email"),connectedAt:I("connected_at").default(Z`CURRENT_TIMESTAMP`)});me("linkedin_analytics",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),date:b("date").notNull(),appearances:W("appearances").default(0).notNull(),visitors:W("visitors").default(0).notNull(),impressions:W("impressions").default(0).notNull(),followers:W("followers").default(0).notNull(),followerCount:W("follower_count"),impressionsDashboard:W("impressions_dashboard"),visitorsDashboard:W("visitors_dashboard"),visitorsDynamics:b("visitors_dynamics"),impressionsDynamics:b("impressions_dynamics"),followersDynamics:b("followers_dynamics"),scrapedAt:I("scraped_at").default(Z`CURRENT_TIMESTAMP`)});me("linkedin_profile_cache",{id:Ae("id").primaryKey(),identifier:b("identifier").notNull(),isCompany:le
69("is_company").default(!1).notNull(),displayName:b("display_name").default(""),headline:b("headline").default(""),location:b("location").default(""),language:b("language").default(""),followers:W("followers"),source:b("source").default("unipile"),fetchedAt:I("fetched_at").default(Z`CURRENT_TIMESTAMP`)},t=>[lt("linkedin_profile_cache_identifier_company_idx").on(t.identifier,t.isCompany)]);me("page_followers",{id:Ae("id").primaryKey(),campaignId:W("campaign_id"),accountId:b("account_id").notNull(),assetId:b("asset_id").notNull(),followerId:b("follower_id").notNull(),followerName:b("follower_name"),followerHeadline:b("follower_headline"),followerUrl:b("follower_url"),followerLocation:b("follower_location"),baselined:le("baselined").notNull().default(!1),firstSeenAt:I("first_seen_at").default(Z`CURRENT_TIMESTAMP`),lastSeenAt:I("last_seen_at").default(Z`CURRENT_TIMESTAMP`)},t=>[lt("page_followers_account_asset_follower_idx").on(t.accountId,t.assetId,t.followerId)]);me("page_follower_harvest_state",{accountId:b("account_id").notNull(),assetId:b("asset_id").notNull(),baselineCompletedAt:I("baseline_completed_at").notNull().default(Z`CURRENT_TIMESTAMP`)},t=>[PD({columns:[t.accountId,t.assetId]})]);me("page_visitors",{id:Ae("id").primaryKey(),campaignId:W("campaign_id"),accountId:b("account_id").notNull(),assetId:b("asset_id").notNull(),visitorId:b("visitor_id").notNull(),visitorName:b("visitor_name"),visitorHeadline:b("visitor_headline"),visitorUrl:b("visitor_url"),visitorLocation:b("visitor_location"),firstSeenAt:I("first_seen_at").default(Z`CURRENT_TIMESTAMP`),lastSeenAt:I("last_seen_at").default(Z`CURRENT_TIMESTAMP`)},t=>[lt("page_visitors_account_asset_visitor_idx").on(t.accountId,t.assetId,t.visitorId)]);me("visibility_matched_delivered",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),profileKey:b("profile_key").notNull(),deliveredWebhookAt:I("delivered_webhook_at"),deliveredSheetAt:I("delivered_sheet_at"),deliveredWebhookProspectAt:I("delivered_webhook_prospect_at"),deliveredSheetProspectAt:I("delivered_sheet_prospect_at"),lastInteractionAt:I("last_interaction_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>[lt("visibility_matched_delivered_campaign_profile_idx").on(t.campaignId,t.profileKey)]);me("api_provider_notifications",{id:Ae("id").primaryKey(),userId:te("user_id"),provider:b("provider").notNull(),eventType:b("event_type").notNull(),message:b("message").notNull(),dismissed:le("dismissed").default(!1).notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)});const r6=me("landing_leads",{id:Ae("id").primaryKey(),source:b("source").default("lp").notNull(),email:b("email"),linkedinUrl:b("linkedin_url"),businessDescription:b("business_description"),influencers:b("influencers"),ipAddress:b("ip_address"),userAgent:b("user_agent"),bookedCalendar:le("booked_calendar").default(!1).notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)});cn(r6).omit({id:!0,createdAt:!0,bookedCalendar:!0});const s6=me("pending_setups",{id:Ae("id").primaryKey(),token:te("token",{length:64}).notNull().unique(),planData:Wt("plan_data").notNull(),userId:te("user_id",{length:255}),createdAt:I("created_at").default(Z`now()`)});cn(s6).omit({id:!0,createdAt:!0});const i6=10;me("campaign_settings_history",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),userId:te("user_id").notNull(),domain:te("domain",{length:24}).notNull().default("visibility"),scope:te("scope",{length:32}).notNull(),recordId:W("record_id"),signalFlowIndex:W("signal_flow_index"),summary:b("summary").notNull(),beforeJson:Wt("before_json"),afterJson:Wt("after_json"),source:te("source",{length:32}).default("user"),createdBy:te("created_by"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),revertedAt:I("reverted_at")},t=>({campaignIdx:ze("campaign_settings_history_campaign_idx").on(t.campaignId,t.createdAt),domainCampaignIdx:ze("campaign_settings_history_domain_campaign_idx").on(t.domain,t.campaignId,t.createdAt)}));me("public_templates",{id:Ae("id").primaryKey(),ownerUserId:te("owner_user_id").notNull(),slug:te("slug",{length:120}).notNull().unique(),title:te("title",{length:140}).notNull(),description:b("description").notNull(),category:te("category",{length:64}).notNull().default("general"),bodyJson:Wt("body_json").notNull(),status:te("status",{length:16}).notNull().default("pending"),rejectionReason:b("rejection_reason"),useCount:W("use_count").notNull().default(0),publishedAt:I("published_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({ownerIdx:ze("public_templates_owner_idx").on(t.ownerUserId),statusIdx:ze("public_templates_status_idx").on(t.status),categoryIdx:ze("public_templates_category_idx").on(t.category)}));me("glossary_terms",{id:Ae("id").primaryKey(),slug:te("slug",{length:120}).notNull().unique(),term:te("term",{length:140}).notNull(),shortDef:b("short_def").notNull(),longHtml:b("long_html").notNull().default(""),exampleUsage:b("example_usage").notNull().default(""),relatedSlugs:b("related_slugs").array().default(Z`'{}'::text[]`),status:te("status",{length:16}).notNull().default("draft"),publishedAt:I("published_at"),lastReviewedAt:I("last_reviewed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({statusIdx:ze("glossary_terms_status_idx").on(t.status)}));me("comparisons",{id:Ae("id").primaryKey(),slug:te("slug",{length:140}).notNull().unique(),aSlug:te("a_slug",{length:64}).notNull(),bSlug:te("b_slug",{length:64}).notNull(),aLabel:te("a_label",{length:120}).notNull(),bLabel:te("b_label",{length:120}).notNull(),summaryHtml:b("summary_html").notNull().default(""),featureRows:Wt("feature_rows").notNull().default(Z`'[]'::jsonb`),faq:Wt("faq").notNull().default(Z`'[]'::jsonb`),pricingA:b("pricing_a").notNull().default(""),pricingB:b("pricing_b").notNull().default(""),targetUserA:b("target_user_a").notNull().default(""),targetUserB:b("target_user_b").notNull().default(""),verdict:b("verdict").notNull().default(""),aLogoUrl:b("a_logo_url").notNull().default(""),bLogoUrl:b("b_logo_url").notNull().default(""),status:te("status",{length:16}).notNull().default("draft"),publishedAt:I("published_at"),lastReviewedAt:I("last_reviewed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({statusIdx:ze("comparisons_status_idx").on(t.status)}));me("blog_posts",{id:Ae("id").primaryKey(),slug:te("slug",{length:160}).notNull().unique(),title:te("title",{length:240}).notNull(),excerpt:b("excerpt").notNull().default(""),bodyMarkdown:b("body_markdown").notNull().default(""),bodyHtml:b("body_html").notNull().default(""),coverImage:b("cover_image").notNull().default(""),linkedinEmbedUrl:b("linkedin_embed_url").notNull().default(""),author:te("author",{length:160}).notNull().default(""),tags:Wt("tags").notNull().default(Z`'[]'::jsonb`),status:te("status",{length:16}).notNull().default("published"),publishedAt:I("published_at"),lastReviewedAt:I("last_reviewed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`),commentPostedAt:I("comment_posted_at",{withTimezone:!0}),commentError:b("comment_error"),embedMediaType:te("embed_media_type",{length:16}).notNull().default("")},t=>({statusIdx:ze("blog_posts_status_idx").on(t.status)}));me("cleanup_runs",{id:Ae("id").primaryKey(),jobName:b("job_name").notNull(),ranAt:I("ran_at").default(Z`CURRENT_TIMESTAMP`).notNull(),dryRun:le("dry_run").default(!0).notNull(),wouldDeleteCount:W("would_delete_count").default(0).notNull(),sampleIdsJson:Wt("sample_ids_json")},t=>({jobRanAtIdx:ze("cleanup_runs_job_ran_at_idx").on(t.jobName,t.ranAt)}));me("seo_bootstrap_runs",{id:Ae("id").primaryKey(),jobName:b("job_name").notNull(),finishedAt:I("finished_at").default(Z`CURRENT_TIMESTAMP`).notNull(),rowsAffected:W("rows_affected").default(0).notNull(),errorText:b("error_text")},t=>({jobFinishedAtIdx:ze("seo_bootstrap_runs_job_name_idx").on(t.jobName,t.finishedAt)}));me("ops_alert_dedup",{dedupKey:b("dedup_key").primaryKey(),notifiedAt:I("notified_at").default(Z`CURRENT_TIMESTAMP`).notNull()});me("applied_data_backfills",{key:b("key").primaryKey(),appliedAt:I("applied_at").default(Z`CURRENT_TIMESTAMP`).notNull()});me("flow_run_stats",{id:Ae("id").primaryKey(),campaignId:W("campaign_id").notNull(),flowName:b("flow_name").notNull().default(""),ranAt:I("ran_at").default(Z`CURRENT_TIMESTAMP`).notNull(),candidatesAvailable:W("candidates_available").notNull().default(0),capInForce:W("cap_in_force").notNull().default(0),reacted:W("reacted").notNull().default(0)},t=>({campaignRanAtIdx:ze("flow_run_stats_campaign_ran_at_idx").on(t.campaignId,t.ranAt)}));me("legacy_subscriber_snapshots",{id:Ae("id").primaryKey(),recordedAt:I("recorded_at").default(Z`CURRENT_TIMESTAMP`).notNull(),subscriberCount:W("subscriber_count").notNull(),subscriptionCount:W("subscription_count").notNull()},t=>({recordedAtIdx:ze("legacy_subscriber_snapshots_recorded_at_idx").on(t.recordedAt)}));me("outreach_location_skips",{campaignId:W("campaign_id").notNull(),reason:b("reason").default("unknown_location").notNull(),day:b("day").notNull(),count:W("count").default(0).notNull()},t=>[lt("outreach_location_skips_campaign_reason_day_idx").on(t.campaignId,t.reason,t.day)]);me("outreach_page_dm_no_campaign_skips",{orgId:b("org_id").notNull(),day:b("day").notNull(),count:W("count").default(0).notNull()},t=>[lt("outreach_page_dm_no_campaign_skips_org_day_idx").on(t.orgId,t.day)]);me("urn_resolution_cache",{activityUrn:b("activity_urn").primaryKey(),canonicalUrn:b("canonical_urn").notNull(),resolvedAt:I("resolved_at").defaultNow().notNull()});me("warmlike_page_deactivations",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull(),organizationUrn:b("organization_urn").notNull(),vanity:b("vanity"),accountId:b("account_id"),requestedBy:b("requested_by").notNull(),reason:b("reason"),outcome:b("outcome").notNull(),detail:b("detail"),strategy:b("strategy"),guardsJson:b("guards_json"),writes:W("writes").notNull().default(0),verifiedActive:le("verified_active"),requestedAt:I("requested_at").default(Z`CURRENT_TIMESTAMP`),completedAt:I("completed_at")},t=>({uniqOrgWrite:lt("warmlike_page_deactivations_org_write_idx").on(t.organizationUrn).where(Z`${t.writes} > 0`),bySetup:ze("warmlike_page_deactivations_setup_idx").on(t.setupId),byOrg
69:ze("warmlike_page_deactivations_org_idx").on(t.organizationUrn)}));me("warmlike_page_admin_claims",{id:Ae("id").primaryKey(),setupId:W("setup_id").notNull().references(()=>Br.id,{onDelete:"cascade"}),organizationUrn:b("organization_urn").notNull(),inviteeProfileUrn:b("invitee_profile_urn").notNull(),role:b("role").notNull().default("administrator"),status:b("status").notNull().default("claimed"),strategy:b("strategy"),lastError:b("last_error"),attempts:W("attempts").notNull().default(0),claimedAt:I("claimed_at").default(Z`CURRENT_TIMESTAMP`),confirmedAt:I("confirmed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqInvitee:lt("warmlike_page_admin_claims_invitee_idx").on(t.setupId,t.organizationUrn,t.inviteeProfileUrn),bySetup:ze("warmlike_page_admin_claims_setup_idx").on(t.setupId)}));const Yy=me("copilot_threads",{id:Ae("id").primaryKey(),userId:te("user_id").references(()=>zr.id,{onDelete:"cascade"}),channel:te("channel",{length:24}).notNull().default("app"),publicId:te("public_id",{length:40}).notNull(),title:b("title"),turnCount:W("turn_count").notNull().default(0),lastMessageAt:I("last_message_at"),archivedAt:I("archived_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`),updatedAt:I("updated_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqPublicId:lt("copilot_threads_public_id_idx").on(t.publicId),byUser:ze("copilot_threads_user_idx").on(t.userId,t.createdAt),byChannelThread:ze("copilot_threads_channel_idx").on(t.channel,t.lastMessageAt)}));me("copilot_messages",{id:Ae("id").primaryKey(),threadId:W("thread_id").notNull().references(()=>Yy.id,{onDelete:"cascade"}),role:te("role",{length:16}).notNull(),content:Wt("content").notNull(),text:b("text"),toolName:te("tool_name",{length:64}),inputTokens:W("input_tokens"),outputTokens:W("output_tokens"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byThread:ze("copilot_messages_thread_idx").on(t.threadId,t.id)}));me("copilot_chat_origins",{id:Ae("id").primaryKey(),channel:te("channel",{length:24}).notNull().default("hubspot"),externalThreadId:te("external_thread_id",{length:128}).notNull(),host:te("host",{length:190}).notNull(),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`).notNull()},t=>({uniqThread:lt("copilot_chat_origins_thread_idx").on(t.channel,t.externalThreadId)}));me("copilot_proposals",{id:Ae("id").primaryKey(),publicId:te("public_id",{length:40}).notNull(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),threadId:W("thread_id").references(()=>Yy.id,{onDelete:"set null"}),channel:te("channel",{length:24}).notNull().default("app"),domain:te("domain",{length:24}).notNull(),targetId:W("target_id"),patchJson:Wt("patch_json").notNull(),beforeJson:Wt("before_json"),beforeHash:te("before_hash",{length:64}),summary:b("summary").notNull(),status:te("status",{length:16}).notNull().default("pending"),expiresAt:I("expires_at").notNull(),consumedAt:I("consumed_at"),historyEntryId:W("history_entry_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqPublicId:lt("copilot_proposals_public_id_idx").on(t.publicId),byUser:ze("copilot_proposals_user_idx").on(t.userId,t.createdAt),byThread:ze("copilot_proposals_thread_idx").on(t.threadId)}));const l6=me("copilot_chat_nonces",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),channel:te("channel",{length:24}).notNull().default("hubspot"),nonceHash:te("nonce_hash",{length:64}).notNull(),expiresAt:I("expires_at").notNull(),consumedAt:I("consumed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqNonce:lt("copilot_chat_nonces_hash_idx").on(t.nonceHash),byUser:ze("copilot_chat_nonces_user_idx").on(t.userId,t.createdAt)}));me("copilot_chat_bindings",{id:Ae("id").primaryKey(),channel:te("channel",{length:24}).notNull(),externalThreadId:te("external_thread_id",{length:128}).notNull(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),nonceId:W("nonce_id").references(()=>l6.id,{onDelete:"set null"}),provenance:te("provenance",{length:24}).notNull().default("session"),channelAccountId:te("channel_account_id",{length:64}),visitorKeyHash:te("visitor_key_hash",{length:64}),revokedAt:I("revoked_at"),revokedReason:te("revoked_reason",{length:64}
69),lastSeenAt:I("last_seen_at"),copilotThreadId:W("copilot_thread_id").references(()=>Yy.id,{onDelete:"set null"}),setupId:W("setup_id"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqThread:lt("copilot_chat_bindings_thread_idx").on(t.channel,t.externalThreadId),byUser:ze("copilot_chat_bindings_user_idx").on(t.userId),bySetup:ze("copilot_chat_bindings_setup_idx").on(t.setupId)}));me("copilot_inbound_claims",{id:Ae("id").primaryKey(),channel:te("channel",{length:24}).notNull().default("hubspot"),messageId:te("message_id",{length:128}).notNull(),externalThreadId:te("external_thread_id",{length:128}).notNull(),eventId:te("event_id",{length:64}),claimedAt:I("claimed_at").default(Z`CURRENT_TIMESTAMP`).notNull(),settledAt:I("settled_at"),outcome:te("outcome",{length:64})},t=>({uniqMessage:lt("copilot_inbound_claims_message_idx").on(t.channel,t.messageId),byClaimedAt:ze("copilot_inbound_claims_claimed_idx").on(t.claimedAt)}));me("oauth_clients",{clientId:te("client_id",{length:255}).primaryKey(),clientSecretHash:te("client_secret_hash",{length:64}),clientSecretExpiresAt:I("client_secret_expires_at"),clientName:b("client_name"),clientUri:b("client_uri"),logoUri:b("logo_uri"),redirectUris:Wt("redirect_uris").notNull(),grantTypes:Wt("grant_types"),tokenEndpointAuthMethod:te("token_endpoint_auth_method",{length:32}).notNull().default("none"),allowedScopes:Wt("allowed_scopes"),applicationType:te("application_type",{length:16}),isStatic:le("is_static").notNull().default(!1),lastUsedAt:I("last_used_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byStatic:ze("oauth_clients_static_idx").on(t.isStatic),byCreated:ze("oauth_clients_created_idx").on(t.createdAt)}));me("oauth_auth_codes",{codeHash:te("code_hash",{length:64}).primaryKey(),clientId:te("client_id",{length:255}).notNull(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),redirectUri:b("redirect_uri").notNull(),codeChallenge:te("code_challenge",{length:128}),codeChallengeMethod:te("code_challenge_method",{length:16}),scope:b("scope").notNull(),resource:b("resource"),expiresAt:I("expires_at").notNull(),consumedAt:I("consumed_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byUser:ze("oauth_auth_codes_user_idx").on(t.userId),byExpiry:ze("oauth_auth_codes_expiry_idx").on(t.expiresAt)}));const _S=me("oauth_grants",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),clientId:te("client_id",{length:255}).notNull(),scope:b("scope").notNull(),resource:b("resource"),revokedAt:I("revoked_at"),revokedReason:te("revoked_reason",{length:32}),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byUser:ze("oauth_grants_user_idx").on(t.userId,t.createdAt),byClient:ze("oauth_grants_client_idx").on(t.clientId)}));me("oauth_access_tokens",{tokenHash:te("token_hash",{length:64}).primaryKey(),grantId:W("grant_id").notNull().references(()=>_S.id,{onDelete:"cascade"}),expiresAt:I("expires_at").notNull(),revokedAt:I("revoked_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byGrant:ze("oauth_access_tokens_grant_idx").on(t.grantId),byExpiry:ze("oauth_access_tokens_expiry_idx").on(t.expiresAt)}));me("oauth_refresh_tokens",{tokenHash:te("token_hash",{length:64}).primaryKey(),grantId:W("grant_id").notNull().references(()=>_S.id,{onDelete:"cascade"}),expiresAt:I("expires_at").notNull(),usedAt:I("used_at"),replacedBy:te("replaced_by",{length:64}),revokedAt:I("revoked_at"),createdAt:I("created_at").default(Z`CURRENT_TIMESTAMP`)},t=>({byGrant:ze("oauth_refresh_tokens_grant_idx").on(t.grantId)}));me("oauth_consents",{id:Ae("id").primaryKey(),userId:te("user_id").notNull().references(()=>zr.id,{onDelete:"cascade"}),clientId:te("client_id",{length:255}).notNull(),scope:b("scope").notNull(),grantedAt:I("granted_at").default(Z`CURRENT_TIMESTAMP`)},t=>({uniqUserClient:lt("oauth_consents_user_client_idx").on(t.userId,t.clientId)}));me("generated_media_blobs",{filename:b("filename").primaryKey(),kind:b("kind").notNull(),contentType:b("content_type").notNull(),bytesB64:b("bytes_b64").notNull(),byteSize:W("byte_size").notNull(),createdAt:I("created_at").defaultNow()});me("generation_jobs",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),capabilityId:b("capability_id").notNull(),targetKind:b("target_kind"),targetId:W("target_id"),status:b("status").notNull().default("pending"),dueAt:I("due_at"),submittedVia:b("submitted_via"),submittedAt:I("submitted_at"),brief:Wt("brief"),result:Wt("result"),createdAt:I("created_at").defaultNow()},t=>({byUserStatus:ze("generation_jobs_user_status_idx").on(t.userId,t.status,t.dueAt)}));me("user_model_keys",{id:Ae("id").primaryKey(),userId:te("user_id").notNull(),provider:b("provider").notNull(),keyEnc:b("key_enc").notNull(),last4:b("last4").notNull(),createdAt:I("created_at").defaultNow(),lastUsedAt:I("last_used_at"),lastFailureAt:I("last_failure_at"),lastFailureCode:b("last_failure_code")},t=>({oneEach:lt("user_model_keys_user_provider_idx").on(t.userId,t.provider)}));function Cu(t){const e=t.split("?")[0];return e==="/linkedin"||e==="/grow"||e.startsWith("/grow/")||["/funnel","/react","/pull","/engage","/account"].includes(e)}const c6=["/affiliate","/privacy","/terms","/pricing","/auth","/verify","/forgot-password","/reset-password"];let yh=!1;async function c0(t){const e=t.currentTarget;if(!(e.dataset.refreshed==="1"||yh)){e.dataset.refreshed="1",yh=!0;try{const n=await fetch("/api/me/refresh-profile-image",{method:"POST",credentials:"include"});if(!n.ok)return;const r=await n.json().catch(()=>({}));r?.profileImageUrl&&(e.src=r.profileImageUrl,window.dispatchEvent(new CustomEvent("profile-image-refreshed",{detail:{url:r.profileImageUrl}})))}catch{}finally{yh=!1}}}function d6(){const[t,e]=jo(),{isMobile:n,setOpenMobile:r,setOpen:i}=Up(),{user:l,isLoading:d,isAuthenticated:p}=Fr(),m=xl(),[h,v]=f.useState(!1),[y,x]=f.useState(!1),[_,S]=f.useState(!1),[k,C]=f.useState(!1),{handoff:A,dismiss:P}=cL({enabled:p&&!d}),j=f.useRef(null),E=t==="/influence"||t==="/clients"?"research":t==="/content"?"appear":Cu(t)?"grow":null;f.useEffect(()=>{if(!E||!j.current)return;const X=j.current.querySelector(`[data-nav-section="${E}"]`);X&&X.scrollIntoView({block:"nearest",behavior:"smooth"})},[E]);const{data:F}=Qt({queryKey:["/api/usage"]}),{data:z}=Qt({queryKey:["/api/performance-plan/status"],enabled:p,staleTime:6e4,select:X=>({hasPerfPlan:!!X.hasPerfPlan,status:X.status??null,freeTrialActive:!!X.freeTrialActive,engagers:X.engagers??null,pendingEngagers:X.pendingEngagers??null,priceUsd:X.priceUsd??null,ownAccounts:X.ownAccounts??0,rentedAccounts:X.rentedAccounts??0,ownBoostCovered:!!X.ownBoostCovered})}),q=f.useRef(p);f.useEffect(()=>{p!==q.current&&m.resetQueries({queryKey:["/api/usage"]}),q.current=p},[p,m]);const re=f.useRef(!1);f.useEffect(()=>{if(!(re.current||!p||!l?.profileImageUrl))try{const X=l.profileImageUrl.match(/[?&]e
69=(\d+)/);if(!X)return;const pe=parseInt(X[1],10);if(!Number.isFinite(pe)||pe*1e3>Date.now())return;re.current=!0,fetch("/api/me/refresh-profile-image",{method:"POST",credentials:"include"}).then(We=>We.ok?We.json():null).then(We=>{We?.profileImageUrl&&m.invalidateQueries({queryKey:["/api/auth/user"]})}).catch(()=>{})}catch{}},[p,l?.profileImageUrl,m]);const{data:ee}=Qt({queryKey:["/api/affiliate/stats"],enabled:p}),{data:se}=Qt({queryKey:["/api/visibility/campaigns"],enabled:p,refetchInterval:3e4}),{data:ae}=Qt({queryKey:["/api/content/campaigns"],enabled:p,refetchInterval:3e4}),{data:J}=Qt({queryKey:["/api/my-shared-chats"],enabled:p,refetchInterval:3e4}),Y=(()=>{const X=J;return!X||X.length===0?"red":ae?.campaigns?.some(We=>We.connectedFlowId)?"green":"amber"})(),ie="green",Ne=(()=>{const X=se?.campaigns;return!X||X.length===0?"red":X.some(pe=>pe.isActive)?"green":X.some(pe=>pe.accountId||pe.stripeSubscriptionId||pe.subscriptionStatus||pe.virtualAccountId||pe.assetId)?"amber":"red"})(),R=()=>{n&&r(!1)},ce=()=>{v(!0)};f.useEffect(()=>{!n&&c6.some(X=>t.startsWith(X))&&i(!1)},[t]),f.useEffect(()=>{const X=()=>{n||i(!1)};return window.addEventListener("collapse-sidebar",X),()=>window.removeEventListener("collapse-sidebar",X)},[n,i]);const $=F?.used??0,H=F?.limit??i6,O=Math.max(0,H-$),T=Math.min(100,$/H*100),B=F?.balance??0,G=F?.subscriptionActive??!1,ue=F?.subscriptionRemaining??0,xe=F?.subscriptionTotal??200,ye=z?.hasPerfPlan?(()=>{const X=z.ownAccounts,pe=z.rentedAccounts,We=z.ownBoostCovered,Ge=z.freeTrialActive?"Free trial":z.status==="active"?"Active":z.status??"â",ut="text-[10px] font-medium px-1.5 py-0.5 rounded-full border leading-none cursor-pointer whitespace-nowrap hover:opacity-75 transition-opacity";return a.jsxs("div",{className:"flex flex-wrap items-center gap-1 mb-2",children:[a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsxs(Pn,{href:Sa(),onClick:R,className:ge(ut,"bg-purple-100 dark:bg-purple-950/40 text-purple-700 dark:text-purple-300 border-purple-200 dark:border-purple-800"),"data-testid":"badge-plan-status",children:["Plan: ",Ge]})}),a.jsx(kr,{side:"top",className:"max-w-[230px]",children:a.jsx("p",{children:"Your Performance Plan subscription â click to manage your boosting campaigns."})})]}),X>0&&a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsxs(Pn,{href:Sa(),onClick:R,className:ge(ut,We?"bg-emerald-100 dark:bg-emerald-950/40 text-emerald-700 dark:text-emerald-300 border-emerald-200 dark:border-emerald-800":"bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-300 border-amber-200 dark:border-amber-800"),"data-testid":"badge-own-accounts",children:[X," own"]})}),a.jsx(kr,{side:"top",className:"max-w-[230px]",children:a.jsx("p",{children:We?`Your own connected LinkedIn account${X>1?"s":""} â on your Performance Plan, powering Boost campaigns (and Content Studio posts).`:`Your own connected LinkedIn account${X>1?"s":""} â used for Content Studio autopilot only. Add it to a Boost campaign to put it on your plan.`})})]}),pe>0&&a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsxs(Pn,{href:Sa(),onClick:R,className:ge(ut,"bg-emerald-100 dark:bg-emerald-950/40 text-emerald-700 dark:text-emerald-300 border-emerald-200 dark:border-emerald-800"),"data-testid":"badge-rented-accounts",children:[pe," rented"]})}),a.jsx(kr,{side:"top",className:"max-w-[230px]",children:a.jsxs("p",{children:["Rented account",pe>1?"s":""," â only available with a Performance Plan, used to expand your Boost reach."]})})]})]})})():null,M=(()=>{const X=ae?.campaigns;return X?.some(pe=>pe.connectedFlowId)?X.some(pe=>pe.connectedFlowId&&pe.isActive)?"green":"amber":"red"})();return a.jsxs(a.Fragment,{children:[a.jsxs(QR,{collapsible:"icon",children:[a.jsxs(XR,{className:"p-4 mt-1 sm:mt-2 mb-0 group-data-[collapsible=icon]:p-0 group-data-[collapsible=icon]:mt-1 group-data-[collapsible=icon]:mb-1 pe-[17px] pb-[15px]",children:[a.jsxs(Pn,{href:"/start",onClick:R,className:"sidebar-fade text-center block hover:opacity-80 transition-opacity","data-testid":"link-nav-home",children:[a.jsx("img",{src:ei,alt:"Top Voice",className:"w-7 h-7 object-contain mx-auto mb-1.5 sm:mb-3"}),a.jsxs("div",{className:"inline-block",children:[a.jsx("h2",{className:"font-bold text-[28px]","data-testid":"text-app-title",children:"Top Voice"}),a.jsxs("div",{className:"text-[12px] text-muted-foreground mt-0.5 sm:mt-1 font-medium w-full",children:[a.jsx("span",{className:"block font-medium text-[11px]",style:{textAlign:"justify",textAlignLast:"justify"},children:"Inbound Traffic of Prospects for"}),a.jsx("span",{className:"block font-medium text-[11px]",style:{textAlign:"justify",textAlignLast:"justify",wordSpacing:"-1px"},children:"Your LinkedIn® Profile & Pages"})]})]})]}),a.jsx(Pn,{href:"/start",onClick:R,className:"sidebar-fade-reverse flex justify-center hover:opacity-80 transition-opacity","data-testid":"link-nav-home-collapsed",children:a.jsx("img",{src:ei,alt:"Top Voice",className:"w-7 h-7 object-contain ms-[0px] me-[0px] mt-[4px] mb-[4px]"})})]}),a.jsx("div",{className:"flex flex-1 flex-col min-h-0 overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",children:a.jsxs(e5,{className:"overflow-visible min-h-fit",children:[a.jsx(jb,{className:"pt-0 pb-0 sidebar-fade flex-1 flex flex-col justify-center",children:a.jsx(Ib,{className:"flex flex-col px-3",children:a.jsxs("nav",{ref:j,className:"flex flex-col gap-3 ps-[20px] pe-[20px] ms-[11
69px] me-[11px]",children:[a.jsxs("div",{"data-nav-section":"research",children:[a.jsxs("p",{className:"text-[11px] font-bold uppercase tracking-widest text-foreground/70 mb-1.5 px-1 flex items-center relative",children:["Research",a.jsx("span",{className:ge("w-2 h-2 rounded-full shrink-0 absolute",Y==="green"&&"bg-emerald-500",Y==="amber"&&"bg-amber-400",Y==="red"&&"bg-red-500"),style:{left:"75px"},"data-testid":"indicator-research-status",title:Y==="green"?"Flow created and attached":Y==="amber"?"Flow created, not attached to Appear":"No flows created"})]}),a.jsx("div",{className:"flex flex-col gap-1",children:a.jsxs(Pn,{href:"/influence",onClick:R,"data-testid":"link-nav-chat",className:ge("flex items-center gap-2.5 py-2 px-2.5 rounded-md text-sm text-foreground/70 transition-all hover:bg-[#F8FBFF] dark:hover:bg-[#0A66C2]/5 hover:text-[#0A66C2]",t==="/influence"&&"bg-[#F8FBFF] dark:bg-[#0A66C2]/5 text-[#0A66C2] font-medium"),children:[a.jsx(kc,{className:"w-4 h-4 shrink-0"}),a.jsx("span",{className:"text-[14px] leading-tight font-medium flex-1 text-center",style:{wordSpacing:"0.15em"},children:"Influence Flow"})]})})]}),a.jsxs("div",{"data-nav-section":"appear",className:"mt-1",children:[a.jsxs("p",{className:"text-[11px] font-bold uppercase tracking-widest text-foreground/70 mb-1.5 px-1 flex items-center relative",children:["Appear",a.jsx("span",{className:ge("w-2 h-2 rounded-full shrink-0 absolute",M==="green"&&"bg-emerald-500",M==="amber"&&"bg-amber-400",M==="red"&&"bg-red-500"),style:{left:"62px"},"data-testid":"indicator-appear-status",title:M==="green"?"Autopilot running":M==="amber"?"Flow connected â enable Autopilot to activate":"No connection flow added"})]}),a.jsx("div",{className:"flex flex-col gap-1",children:a.jsxs(Pn,{href:"/content",onClick:R,"data-testid":"link-nav-search",className:ge("flex items-center gap-2.5 py-2 px-2.5 rounded-md text-sm text-foreground/70 transition-all hover:bg-[#F8FBFF] dark:hover:bg-[#0A66C2]/5 hover:text-[#0A66C2]",t==="/content"&&"bg-[#F8FBFF] dark:bg-[#0A66C2]/5 text-[#0A66C2] font-medium"),children:[a.jsx(jh,{className:"w-4 h-4 shrink-0"}),a.jsx("span",{className:"text-[14px] leading-tight font-medium flex-1 text-center",style:{wordSpacing:"0.15em"},children:"Content Studio"})]})})]}),a.jsxs("div",{"data-nav-section":"grow",className:"mt-1",children:[a.jsxs("p",{className:"text-[11px] font-bold uppercase tracking-widest text-foreground/70 mb-1.5 px-1 flex items-center relative",children:["Grow",a.jsx("span",{className:ge("w-2 h-2 rounded-full shrink-0 absolute",Ne==="green"&&"bg-emerald-500",Ne==="amber"&&"bg-amber-400",Ne==="red"&&"bg-red-500"),style:{left:"49px"},"data-testid":"indicator-booster-status",title:Ne==="green"?"Active campaign running":Ne==="amber"?"Account connected or subscription active":"No active campaigns"})]}),a.jsx("div",{className:"flex flex-col gap-1",children:a.jsxs(Pn,{href:Sa(),onClick:R,"data-testid":"link-nav-visibility",className:ge("flex items-center gap-2.5 py-2 px-2.5 rounded-md text-sm text-foreground/70 transition-all hover:bg-[#F8FBFF] dark:hover:bg-[#0A66C2]/5 hover:text-[#0A66C2]",Cu(t)&&"bg-[#F8FBFF] dark:bg-[#0A66C2]/5 text-[#0A66C2] font-medium"),children:[a.jsxs("svg",{className:"w-4 h-4 shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("rect",{x:"2",y:"2",width:"20",height:"20",rx:"4"}),a.jsx("line",{x1:"8",y1:"11",x2:"8",y2:"17"}),a.jsx("circle",{cx:"8",cy:"7.5",r:"1.2",fill:"currentColor",stroke:"none"}),a.jsx("path",{d:"M12 17v-3.5c0-1.5 1-2.5 2.5-2.5s2.5 1 2.5 2.5V17"}),a.jsx("line",{x1:"12",y1:"11",x2:"12",y2:"17"})]}),a.jsx("span",{className:"text-[14px] leading-tight font-medium flex-1 text-center",style:{wordSpacing:"0.15em"},children:"LinkedIn Boost"})]})})]}),a.jsxs("div",{"data-nav-section":"ai-setup",children:[a.jsxs("p",{className:"text-[11px] font-extrabold uppercase text-foreground/70 mb-1.5 px-1 flex items-center relative",style:{letterSpacing:"0.15em"},children:["AI!",a.jsx("span",{className:ge("w-2 h-2 rounded-full shrink-0 absolute","bg-emerald-500",ie==="amber",ie==="red"),style:{left:"36px"},"data-testid":"indicator-ai-status",title:"Ready"})]}),a.jsx("div",{className:"flex flex-col gap-1",children:a.jsxs("button",{onClick:()=>{R(),C(!0)},"data-testid":"link-nav-ai-setup",className:"flex items-center gap-2.5 py-2 px-2.5 rounded-md text-sm text-foreground
69/70 transition-all hover:bg-[#F8FBFF] dark:hover:bg-[#0A66C2]/5 hover:text-[#0A66C2] w-full",children:[a.jsx(Mn,{className:"w-4 h-4 shrink-0"}),a.jsx("span",{className:"text-[14px] leading-tight font-medium flex-1 text-center",children:"Setup/Optimize"})]})})]})]})})}),a.jsx(jb,{className:"pt-[2px] pb-[2px] sidebar-fade-reverse flex-1 flex items-center justify-center",children:a.jsx(Ib,{children:a.jsxs(t5,{className:"[&_svg]:!size-4 gap-1",children:[a.jsx(xu,{children:a.jsx(wu,{asChild:!0,"data-active":t==="/influence",tooltip:"Influence Flow",children:a.jsxs(Pn,{href:"/influence","data-testid":"link-nav-chat-collapsed",onClick:R,className:"relative",style:t==="/influence"?{color:"#0A66C2"}:void 0,children:[a.jsx(kc,{}),a.jsx("span",{className:ge("absolute -top-0.5 -end-0.5 w-1.5 h-1.5 rounded-full",Y==="green"&&"bg-emerald-500",Y==="amber"&&"bg-amber-400",Y==="red"&&"bg-red-500")})]})})}),a.jsx(xu,{className:"mt-2",children:a.jsx(wu,{asChild:!0,"data-active":t==="/content",tooltip:"Authentic Posts",children:a.jsxs(Pn,{href:"/content","data-testid":"link-nav-search-collapsed",onClick:R,className:"relative",style:t==="/content"?{color:"#0A66C2"}:void 0,children:[a.jsx(jh,{}),a.jsx("span",{className:ge("absolute -top-0.5 -end-0.5 w-1.5 h-1.5 rounded-full",M==="green"&&"bg-emerald-500",M==="amber"&&"bg-amber-400",M==="red"&&"bg-red-500")})]})})}),a.jsx(xu,{className:"mt-2",children:a.jsx(wu,{asChild:!0,"data-active":Cu(t),tooltip:"LinkedIn Boosts",children:a.jsxs(Pn,{href:Sa(),"data-testid":"link-nav-visibility-collapsed",onClick:R,className:"relative",style:Cu(t)?{color:"#0A66C2"}:void 0,children:[a.jsxs("svg",{className:"!w-5 !h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("rect",{x:"2",y:"2",width:"20",height:"20",rx:"4"}),a.jsx("line",{x1:"8",y1:"11",x2:"8",y2:"17"}),a.jsx("circle",{cx:"8",cy:"7.5",r:"1.2",fill:"currentColor",stroke:"none"}),a.jsx("path",{d:"M12 17v-3.5c0-1.5 1-2.5 2.5-2.5s2.5 1 2.5 2.5V17"}),a.jsx("line",{x1:"12",y1:"11",x2:"12",y2:"17"})]}),a.jsx("span",{className:ge("absolute -top-0.5 -end-0.5 w-1.5 h-1.5 rounded-full",Ne==="green"&&"bg-emerald-500",Ne==="amber"&&"bg-amber-400",Ne==="red"&&"bg-red-500")})]})})}),a.jsx(xu,{className:"mt-2",children:a.jsx(wu,{asChild:!0,tooltip:"Instant AI Setup",children:a.jsxs("button",{onClick:()=>C(!0),"data-testid":"link-nav-ai-setup-collapsed",className:"relative",children:[a.jsx(Mn,{}),a.jsx("span",{className:ge("absolute -top-0.5 -end-0.5 w-1.5 h-1.5 rounded-full","bg-emerald-500",ie==="amber",ie==="red")})]})})})]})})})]})}),a.jsxs(JR,{className:"flex flex-col gap-3 sm:gap-4 p-4 sm:pt-2 group-data-[collapsible=icon]:p-1 pb-[5px] shrink-0 pt-[5px]",children:[a.jsx("div",{className:"sidebar-fade-reverse",children:a.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsxs("div",{className:"relative w-8 h-8 flex items-center justify-center cursor-default","data-testid":"icon-usage-collapsed",children:[a.jsxs("svg",{viewBox:"0 0 36 36",className:"w-7 h-7",children:[a.jsx("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:"currentColor",strokeOpacity:"0.15",strokeWidth:"3"}),a.jsx("path",{d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831",fill:"none",stroke:"hsl(var(--primary))",strokeWidth:"3",strokeDasharray:`${T}, 100`,strokeLinecap:"round"})]}),a.jsx("span",{className:"absolute text-[8px] font-medium",children:F?O:"..."})]})}),a.jsxs(kr,{side:"right",children:[a.jsxs("p",{children:[O," free remaining (",$,"/",H,")"]}),G&&a.jsxs("p",{children:["Sub: ",ue,"/",xe]}),B>0&&a.jsxs("p",{children:["Top-up: ",B]})]})]}),a.jsxs(ds,{children:[a.jsx(Mb,{children:a.jsx(us,{asChild:!0,children:a.jsx(je,{size:"icon",variant:"outline","data-testid":"button-topup-collapsed",children:a.jsx(Wu,{className:"w-3.5 h-3.5"})})})}),a.jsx(kr,{side:"right",children:G?"Manage Plan":"Get More Tokens"})]}),d?a.jsx("div",{className:"h-8"}):p&&l?a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsx(je,{variant:"ghost",size:"icon",onClick:()=>{n?r(!0):i(!0)},"data-testid":"button-avatar-collapsed",children:a.jsx(Ju,{className:"h-6 w-6",children:l.profileImageUrl?a.jsx("img",{src:l.profileImageUrl,alt:l.email||"User",className:"aspect-square h-full w-full object-cover",referrerPolicy:"no-referrer",onError:c0}):a.jsx(ep,{className:"text-[9px]",children:(l.email?.[0]||"U").toUpperCase()})})})}),a.jsx(kr,{side:"right",children:l.email})]}):a.jsxs(ds,{children:[a.jsx(us,{asChild:!0,children:a.jsx(je,{variant:"ghost",size:"icon",onClick:()=>{R(),e("/auth")},"data-testid":"button-login-collapsed",children:a.jsx(zu,{className:"w-3.5 h-3.5"})})}),a.jsx(kr,{side:"right",children:"Sign In / Sign Up"})]})]})}),a.jsxs("div",{className:"sidebar-fade space-y-3 sm:space-y-4",children:[a.jsxs("div",{className:ge("bg-white dark:bg-card p-3 sm:p-4 roun
69ded-lg border border-border transition-opacity"),children:[G?a.jsxs(a.Fragment,{children:[ye?a.jsxs(a.Fragment,{children:[ye,a.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[a.jsx("span",{className:"text-muted-foreground font-medium text-[10px] ms-[3px] me-[3px]",children:"Plan tokens"}),a.jsx("span",{className:"font-semibold text-[10px]","data-testid":"text-sub-remaining",children:xe>=999999?"Unlimited":`${ue}/${xe}`})]}),a.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[a.jsx("span",{className:"text-muted-foreground font-medium text-[10px] ms-[3px] me-[3px]",children:"Free tokens"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(Lb,{children:a.jsx("span",{className:"text-[10px] text-muted-foreground hover:text-primary transition-colors cursor-pointer underline underline-offset-2","data-testid":"button-more-free",children:"Free"})}),a.jsx("span",{className:"font-semibold text-[10px]","data-testid":"text-free-remaining",children:F?`${$}/${H}`:"..."})]})]}),a.jsx("div",{className:"h-1.5 bg-muted rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-[#0A66C2] rounded-full transition-all",style:{width:`${T}%`},"data-testid":"progress-usage"})})]}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[a.jsx("span",{className:"text-muted-foreground font-medium text-[10px]",children:"Performance Plan"}),a.jsxs("span",{className:"font-semibold text-[10px]","data-testid":"text-sub-remaining",children:[ue,"/",xe]})]}),a.jsx("div",{className:"h-1.5 bg-muted rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-[#0A66C2] rounded-full transition-all",style:{width:`${Math.min(100,Math.round(ue/Math.max(1,xe)*100))}%`},"data-testid":"progress-usage"})})]}),B>0&&a.jsxs("p",{className:"text-[11px] text-muted-foreground mt-2",children:["Top-up: ",a.jsx("span",{className:"font-medium text-foreground","data-testid":"text-balance",children:B.toLocaleString()})]})]}):B>0?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[a.jsx("span",{className:"text-muted-foreground text-xs font-medium",children:"Top-up Balance"}),a.jsx("span",{className:"font-semibold text-xs","data-testid":"text-balance",children:B.toLocaleString()})]}),a.jsxs("p",{className:"text-[11px] text-muted-foreground",children:["Free: ",a.jsx("span",{className:"font-medium text-foreground",children:F?`${$}/${H}`:"..."})]})]}):a.jsxs(a.Fragment,{children:[ye,a.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[a.jsx("span",{className:"text-muted-foreground font-medium text-[10px] ms-[3px] me-[3px]",children:"Extra content tokens"}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx(Lb,{children:a.jsx("span",{className:"text-[10px] text-muted-foreground hover:text-primary transition-colors cursor-pointer underline underline-offset-2","data-testid":"button-more-free",children:"Free"})}),a.jsx("span",{className:"font-semibold text-xs",children:F?`${$}/${H}`:"..."})]})]}),a.jsx("div",{className:"h-1.5 bg-muted rounded-full overflow-hidden",children:a.jsx("div",{className:"h-full bg-[#0A66C2] rounded-full transition-all",style:{width:`${T}%`},"data-testid":"progress-usage"})})]}),a.jsx(Mb,{children:a.jsx("button",{className:"w-full mt-3 h-8 text-[11px] font-semibold border border-[#0A66C2] text-[#0A66C2] rounded-md hover:bg-[#0A66C2]/5 transition-colors","data-testid":"button-topup",children:G?"Manage Plans":"Manage subscriptions"})})]}),d?a.jsx("div",{className:"h-10"}):p&&l?a.jsx("div",{className:"space-y-1",children:a.jsxs("div",{className:"flex items-center gap-2 ms-[5px] me-[5px]",children:[a.jsx(Ju,{className:"h-7 w-7 shrink-0",children:l.profileImageUrl?a.jsx("img",{src:l.profileImageUrl,alt:l.email||"User",className:"aspect-square h-full w-full object-cover",referrerPolicy:"no-referrer",onError:c0}):a.jsx(ep,{className:"text-[10px]",children:(l.email?.[0]||"U").toUpperCase()})}),a.jsx("div",{className:"flex-1 min-w-0",children:a.jsxs("div",{className:"flex items-center gap-1 group cursor-pointer",onClick:ce,"data-testid":"text-user-email",children:[a.jsx("p",{className:"text-xs font-medium truncate",children:l.email||"User"}),a.jsx(FA,{className:"w-2.5 h-2.5 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity shrink-0"})]})}),a.jsx(je,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 ps-0 pe-0 -ms-[5px] -me-[5px]",onClick:()=>S(!0),"data-testid":"button-logout",children:a.jsx(Bu,{className:"w-3.5 h-3.5"})})]})}):a.jsxs(je,{variant:"default",className:"w-full gap-2 text-[13px] font-semibold h-9 bg-[#0A66C2] hover:bg-[#004182]",onClick:()=>{R(),e("/auth")},"data-testid":"button-login",children:[a.jsx(zu,{className:"w-4 h-4"}),"Sign In / Sign Up"]}),a.jsxs("div",{className:"text-center text-[10px] text-muted-foreground leading-relaxed",children:[a.jsxs("div",{className:"inline-block text-start",children:[a.jsxs("p",{style:{textAlignLast:"justify"},children:[a.jsx("a",{href:p?"/affiliate":"/auth?redirect=/affiliate",onClick:X=>{X.preventDefault(),R(),e(p?"/affiliate":"/auth?redirect=/affiliate")},className:"hover:text-primary transition-colors hover:underline underline-offset-4","data-testid":"link-nav-affiliate",children:"Affiliate Program"})," | ",a.jsx("button",{type:"button",onClick:()=>x(!0),className:"hover:text-primary transition-colors hover:underline underline-offset-4","data-testid":"link-nav-contact",children:"Contact us"})]}),a.jsxs("p",{children:[a.jsx(Pn,{href:"/privacy",className:"hover:text-primary transition-colors hover:underline underline-offset-4","data-testid":"link-privacy",onClick:R,children:"Privacy Policy"})," | ",a.jsx(Pn,{href:"/terms",className:"hover:text-primary transition-colors hover:underline underline-offset-4","data-testid":"link-terms",onClick:R,children:"Terms of Service"})]})]}),a.jsxs("p",{className:"pt-1 pb-4","data-testid":"text-sidebar-copyright",children:["2025â",new Date().getFullYear()," ©"," ",a.jsx("a",{href:"https://www.linkedin.com/company/top-voice-ai/",target:"_blank",rel:"noopener noreferrer",className:"hover:text-primary transition-colors hover:underline underline-offset-4",children:"Top Voice"})]})]})]})]})]}),a.jsx(HC,{}),a.jsx(Ia,{open:_,onOpenChange:S,children:a.jsxs(ia,{className:"max-w-xs",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(Bu,{className:"w-4 h-4"}),"Sign Out"]}),a.jsx(rr,{children:"Are you sure you want to sign out?"})]}),a.jsxs(hy,{className:"flex gap-2 sm:gap-0",children:[a.jsx(je,{variant:"outline",onClick:()=>S(!1),"data-testid":"button-signout-cancel",children:"Cancel"}),a.jsx(je,{variant:"destructive",onClick:()=>{S(!1),R(),mC(),fetch("/api/auth/logout",{method:"POST",credentials:"include"}).then(()=>window.location.reload())},"data-testid":"button-signout-confirm",children:"Sign Out"})]})]})}),a.jsx(K4,{open:h,onOpenChange:v}),a.jsx(zp,{open:y,onOpenChange:x}),a.jsx(zy,{open:k||!!A,onOpenChange:X=>{C(X),X||P()},initialTab:A?"copilot":void 0,initialQuestion:A?.question})]})}
69const u6=8e3,vh="tv-embed-hidden",Su="tv-embed-pending";function p6({anchor:t}){return f.useEffect(()=>{if(!t)return;let e=!1;const n=[];document.body.classList.add(Su);const r=y=>{let x=y;for(;x&&x.parentElement&&x.parentElement!==document.documentElement;){const _=x.parentElement;if(_===document.body&&e){x=_;continue}for(const S of Array.from(_.children))S!==x&&S instanceof HTMLElement&&S.dataset.radixPopperContentWrapper===void 0&&(S.tagName==="SCRIPT"||S.tagName==="STYLE"||S.classList.contains(vh)||(S.classList.add(vh),n.push(S)));x=_}document.body.classList.add("tv-embed-body"),document.body.classList.remove(Su)},i=()=>{const y=document.querySelector(`[data-testid="${t}"]`);return y?(r(y),e=!0,!0):!1};let l=0;const d=new MutationObserver(()=>{l||(l=window.requestAnimationFrame(()=>{l=0,i()}))});i(),d.observe(document.body,{childList:!0,subtree:!0});const p=window.setTimeout(()=>{e||(d.disconnect(),document.body.classList.remove(Su),console.warn(`[EmbedIsolate] no element with data-testid="${t}" â showing the page`))},u6),m=window.top!==window,h=y=>{if(!m||y.defaultPrevented||y.button!==0||y.metaKey||y.ctrlKey||y.shiftKey||y.altKey)return;const x=y.target?.closest?.("a[href]");if(!x||x.target==="_blank")return;const _=x.getAttribute("href")||"";if(!_||_.startsWith("#")||_.startsWith("javascript:"))return;const S=new URL(_,window.location.href);y.preventDefault(),S.origin===window.location.origin?window.top.location.assign(S.pathname+S.search+S.hash):window.open(S.toString(),"_blank","noopener")};document.addEventListener("click",h,!0);function v(){document.removeEventListener("click",h,!0),d.disconnect(),l&&window.cancelAnimationFrame(l),window.clearTimeout(p);for(const y of n)y.classList.remove(vh);document.body.classList.remove("tv-embed-body"),document.body.classList.remove(Su)}return v},[t]),null}const kS=f.createContext({theme:"system",setTheme:()=>{},resolvedTheme:"light"});function xh(){return typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function wh({children:t}){const[e,n]=f.useState(()=>typeof window<"u"&&localStorage.getItem("theme")||"system"),[r,i]=f.useState(()=>e==="system"?xh():e);f.useEffect(()=>{const d=e==="system"?xh():e;i(d);const p=document.documentElement;p.classList.remove("light","dark"),p.classList.add(d),localStorage.setItem("theme",e)},[e]),f.useEffect(()=>{if(e!=="system")return;const d=window.matchMedia("(prefers-color-scheme: dark)"),p=()=>{const m=xh();i(m);const h=document.documentElement;h.classList.remove("light","dark"),h.classList.add(m)};return d.addEventListener("change",p),()=>d.removeEventListener("change",p)},[e]);const l=d=>n(d);return a.jsx(kS.Provider,{value:{theme:e,setTheme:l,resolvedTheme:r},children:t})}function CS(){return f.useContext(kS)}var f6=Object.defineProperty,jt=(t,e)=>f6(t,"name",{value:e,configurable:!0}),xg=["Enter"," "],m6=["ArrowDown","PageUp","Home"],SS=["ArrowUp","PageDown","End"],h6=[...m6,...SS],g6={ltr:[...xg,"ArrowRight"],rtl:[...xg,"ArrowLeft"]},y6={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Qp="Menu",[Gc,v6,x6]=Zc(Qp),[ui,NS]=qn(Qp,[x6,cr,qp]),Qy=cr(),PS=qp(),[w6,pi]=ui(Qp),[b6,cd]=ui(Qp),_6=jt(t=>{const{__scopeMenu:e,open:n=!1,children:r,dir:i,onOpenChange:l,modal:d=!0}=t,p=Qy(e),[m,h]=f.useState(null),v=f.useRef(!1),y=Jn(l),x=rd(i);return f.useEffect(()=>{const _=jt(()=>{v.current=!0,document.addEventListener("pointerdown",S,{capture:!0,once:!0}),document.addEventListener("pointermove",S,{capture:!0,once:!0})},"handleKeyDown"),S=jt(()=>v.current=!1,"handlePointer");return document.addEventListener("keydown",_,{capture:!0}),()=>{document.removeEventListener("keydown",_,{capture:!0}),document.removeEventListener("pointerdown",S,{capture:!0}),document.removeEventListener("pointermove",S,{capture:!0})}},[]),f.useEffect(()=>{if(!n)return;const _=jt(()=>y(!1),"handleBlur");return window.addEventListener("blur",_),()=>window.removeEventListener("blur",_)},[n,y]),a.jsx(Jc,{...p,children:a.jsx(w6,{scope:e,open:n,onOpenChange:y,content:m,onContentChange:h,children:a.jsx(b6,{scope:e,onClose:f.useCallback(()=>y(!1),[y]),isUsingKeyboardRef:v,dir:x,modal:d,children:r})})})},"Menu"),AS=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,...i}=e,l=Qy(r);return a.jsx(ed,{...l,...i,ref:n})},"MenuAnchor")),TS="MenuPortal",[k6,jS]=ui(TS,{forceMount:void 0}),C6=jt(t=>{const{__scopeMenu:e,forceMount:n,children:r,container:i}=t,l=pi(TS,e);return a.jsx(k6,{scope:e,forceMount:n,children:a.jsx(lo,{present:n||l.open,children:a.jsx(_l,{asChild:!0,container:i,children:r})})})},"MenuPortal"),Aa="MenuContent",[S6,Zy]=ui(Aa),N6=f.forwardRef(jt(function(e,n){const r=jS(Aa,e.__scopeMenu),{forceMount:i=r.forceMount,...l}=e,d=pi(Aa,e.__scopeMenu),p=cd(Aa,e.__scopeMenu);return a.jsx(Gc.Provider,{scope:e.__scopeMenu,children:a.jsx(lo,{present:i||d.open,children:a.jsx(Gc.Slot,{scope:e.__scopeMenu,children:p.modal?a.jsx(P6,{...l,ref:n}):a.jsx(A6,{...l,ref:n})})})})},"MenuContent")),P6=f.forwardRef(jt(function(e,n){const r=pi(Aa,e.__scopeMenu),i=f.useRef(null),l=ct(n,i);return f.useEffect(()=>{const d=i.current;if(d)return Op(d)},[]),a.jsx(Xy,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:Ce(e.onFocusOutside,d=>d.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})},"MenuRootContentModal")),A6=f.forwardRef(jt(function(e,n){const r=pi(Aa,e.__scopeMenu);return a.jsx(Xy,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})},"MenuRootContentNonModal")),T6=Ta("MenuContent.ScrollLock"),Xy=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,loop:i=!1,trapFocus:l,onOpenAutoFocus:d,onCloseAutoFocus:p,disableOutsidePointerEvents:m,onEntryFocus:h,onEscapeKeyDown:v,onPointerDownOutside:y,onFocusOutside:x,onInteractOutside:_,onDismiss:S,disableOutsideScroll:k,...C}=e,A=pi(Aa,r),P=cd(Aa,r),j=Qy(r),E=PS(r),F=v6(r),[z,q]=f.useState(null),re=f.useRef(null),ee=ct(n,re,A.onContentChange),se=f.useRef(0),ae=f.useRef(""),J=f.useRef(0),Y=f.useRef(null),ie=f.useRef("right"),Ne=f.useRef(0),R=k?nd:f.Fragment,ce=k?{as:T6,allowPinchZoom:!0}:void 0,$=jt(O=>{const T=ae.current+O,B=F().filter(X=>
69!X.disabled),G=document.activeElement,ue=B.find(X=>X.ref.current===G)?.textValue,xe=B.map(X=>X.textValue),ye=DS(xe,T,ue),M=B.find(X=>X.textValue===ye)?.ref.current;jt((function X(pe){ae.current=pe,window.clearTimeout(se.current),pe!==""&&(se.current=window.setTimeout(()=>X(""),1e3))}),"updateSearch")(T),M&&setTimeout(()=>M.focus())},"handleTypeaheadSearch");f.useEffect(()=>()=>window.clearTimeout(se.current),[]),Sl();const H=f.useCallback(O=>ie.current===Y.current?.side&&US(O,Y.current?.area),[]);return a.jsx(S6,{scope:r,searchRef:ae,onItemEnter:f.useCallback(O=>{H(O)&&O.preventDefault()},[H]),onItemLeave:f.useCallback(O=>{H(O)||(re.current?.focus(),q(null))},[H]),onTriggerLeave:f.useCallback(O=>{H(O)&&O.preventDefault()},[H]),pointerGraceTimerRef:J,onPointerGraceIntentChange:f.useCallback(O=>{Y.current=O},[]),children:a.jsx(R,{...ce,children:a.jsx(Ep,{asChild:!0,trapped:l,onMountAutoFocus:Ce(d,O=>{O.preventDefault(),re.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:p,children:a.jsx(si,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:v,onPointerDownOutside:y,onFocusOutside:x,onInteractOutside:_,onDismiss:S,children:a.jsx(JC,{asChild:!0,...E,dir:P.dir,orientation:"vertical",loop:i,currentTabStopId:z,onCurrentTabStopIdChange:q,onEntryFocus:Ce(h,O=>{P.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(td,{role:"menu","aria-orientation":"vertical","data-state":ev(A.open),"data-radix-menu-content":"",dir:P.dir,...j,...C,ref:ee,style:{outline:"none",...C.style},onKeyDown:Ce(C.onKeyDown,O=>{const B=O.target.closest("[data-radix-menu-content]")===O.currentTarget,G=O.ctrlKey||O.altKey||O.metaKey,ue=O.key.length===1;B&&(O.key==="Tab"&&O.preventDefault(),!G&&ue&&$(O.key));const xe=re.current;if(O.target!==xe||!h6.includes(O.key))return;O.preventDefault();const M=F().filter(X=>!X.disabled).map(X=>X.ref.current);SS.includes(O.key)&&M.reverse(),MS(M)}),onBlur:Ce(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(se.current),ae.current="")}),onPointerMove:Ce(e.onPointerMove,ml(O=>{const T=O.target,B=Ne.current!==O.clientX;if(O.currentTarget.contains(T)&&B){const G=O.clientX>Ne.current?"right":"left";ie.current=G,Ne.current=O.clientX}}))})})})})})})},"MenuContentImpl")),j6=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,...i}=e;return a.jsx(Qe.div,{...i,ref:n})},"MenuLabel")),wg="MenuItem",d0="menu.itemSelect",Jy=f.forwardRef(jt(function(e,n){const{disabled:r=!1,onSelect:i,...l}=e,d=f.useRef(null),p=cd(wg,e.__scopeMenu),m=Zy(wg,e.__scopeMenu),h=ct(n,d),v=f.useRef(!1),y=jt(()=>{const x=d.current;if(!r&&x){const _=new CustomEvent(d0,{bubbles:!0,cancelable:!0});x.addEventListener(d0,S=>i?.(S),{once:!0}),wp(x,_),_.defaultPrevented?v.current=!1:p.onClose()}},"handleSelect");return a.jsx(IS,{...l,ref:h,disabled:r,onClick:Ce(e.onClick,y),onPointerDown:x=>{e.onPointerDown?.(x),v.current=!0},onPointerUp:Ce(e.onPointerUp,x=>{v.current||x.currentTarget?.click()}),onKeyDown:Ce(e.onKeyDown,x=>{r||x.target!==x.currentTarget||m.searchRef.current!==""&&x.key===" "||xg.includes(x.key)&&(x.currentTarget.click(),x.preventDefault())})})},"MenuItem")),IS=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,disabled:i=!1,textValue:l,...d}=e,p=Zy(wg,r),m=PS(r),h=f.useRef(null),v=ct(n,h),[y,x]=f.useState(!1),[_,S]=f.useState("");return f.useEffect(()=>{const k=h.current;k&&S((k.textContent??"").trim())},[d.children]),a.jsx(Gc.ItemSlot,{scope:r,disabled:i,textValue:l??_,children:a.jsx(e1,{asChild:!0,...m,focusable:!i,children:a.jsx(Qe.div,{role:"menuitem","data-highlighted":y?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...d,ref:v,onPointerMove:Ce(e.onPointerMove,ml(k=>{i?p.onItemLeave(k):(p.onItemEnter(k),k.defaultPrevented||k.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ce(e.onPointerLeave,ml(k=>p.onItemLeave(k))),onFocus:Ce(e.onFocus,()=>x(!0)),onBlur:Ce(e.onBlur,()=>x(!1))})})})},"MenuItemImpl")),I6=f.forwardRef(jt(function(e,n){const{checked:r=!1,onCheckedChange:i,...l}=e;return a.jsx(RS,{scope:e.__scopeMenu,checked:r,children:a.jsx(Jy,{role:"menuitemcheckbox","aria-checked":Kc(r)?"mixed":r,...l,ref:n,"data-state":Zp(r),onSelect:Ce(l.onSelect,()=>i?.(Kc(r)?!0:!r),{checkForDefaultPrevented:!1})})})},"MenuCheckboxItem")),E6="MenuRadioGroup",[Z8,R6]=ui(E6,{value:void 0,onValueChange:jt(()=>{},"onValueChange")}),O6="MenuRadioItem",M6=f.forwardRef(jt(function(e,n){const{value:r,...i}=e,l=R6(O6,e.__scopeMenu),d=r===l.value;return a.jsx(RS,{scope:e.__scopeMenu,checked:d,children:a.jsx(Jy,{role:"menuitemradio","aria-checked":d,...i,ref:n,"data-state":Zp(d),onSelect:Ce(i.onSelect,()=>l.onValueChange?.(r),{checkForDefaultPrevented:!1})})})},"MenuRadioItem")),ES="MenuItemIndicator",[RS,L6]=ui(ES,{checked:!1}
69),D6=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,forceMount:i,...l}=e,d=L6(ES,r);return a.jsx(lo,{present:i||Kc(d.checked)||d.checked===!0,children:a.jsx(Qe.span,{...l,ref:n,"data-state":Zp(d.checked)})})},"MenuItemIndicator")),F6=f.forwardRef(jt(function(e,n){const{__scopeMenu:r,...i}=e;return a.jsx(Qe.div,{role:"separator","aria-orientation":"horizontal",...i,ref:n})},"MenuSeparator")),U6="MenuSub",[X8,OS]=ui(U6),Nu="MenuSubTrigger",$6=f.forwardRef(jt(function(e,n){const r=pi(Nu,e.__scopeMenu),i=cd(Nu,e.__scopeMenu),l=OS(Nu,e.__scopeMenu),d=Zy(Nu,e.__scopeMenu),p=f.useRef(null),{pointerGraceTimerRef:m,onPointerGraceIntentChange:h}=d,v={__scopeMenu:e.__scopeMenu},y=f.useCallback(()=>{p.current&&window.clearTimeout(p.current),p.current=null},[]);f.useEffect(()=>y,[y]),f.useEffect(()=>{const _=m.current;return()=>{window.clearTimeout(_),h(null)}},[m,h]);const x=ct(n,l.onTriggerChange);return a.jsx(AS,{asChild:!0,...v,children:a.jsx(IS,{id:l.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":r.open?l.contentId:void 0,"data-state":ev(r.open),...e,ref:x,onClick:_=>{e.onClick?.(_),!(e.disabled||_.defaultPrevented)&&(_.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:Ce(e.onPointerMove,ml(_=>{d.onItemEnter(_),!_.defaultPrevented&&!e.disabled&&!r.open&&!p.current&&(d.onPointerGraceIntentChange(null),p.current=window.setTimeout(()=>{r.onOpenChange(!0),y()},100))})),onPointerLeave:Ce(e.onPointerLeave,ml(_=>{y();const S=r.content?.getBoundingClientRect();if(S){const k=r.content?.dataset.side,C=k==="right",A=C?-5:5,P=S[C?"left":"right"],j=S[C?"right":"left"];d.onPointerGraceIntentChange({area:[{x:_.clientX+A,y:_.clientY},{x:P,y:S.top},{x:j,y:S.top},{x:j,y:S.bottom},{x:P,y:S.bottom}],side:k}),window.clearTimeout(m.current),m.current=window.setTimeout(()=>d.onPointerGraceIntentChange(null),300)}else{if(d.onTriggerLeave(_),_.defaultPrevented)return;d.onPointerGraceIntentChange(null)}})),onKeyDown:Ce(e.onKeyDown,_=>{e.disabled||_.target!==_.currentTarget||d.searchRef.current!==""&&_.key===" "||g6[i.dir].includes(_.key)&&(r.onOpenChange(!0),r.content?.focus(),_.preventDefault())})})})},"MenuSubTrigger")),z6="MenuSubContent",B6=f.forwardRef(jt(function(e,n){const r=jS(Aa,e.__scopeMenu),{forceMount:i=r.forceMount,align:l="start",...d}=e,p=pi(Aa,e.__scopeMenu),m=cd(Aa,e.__scopeMenu),h=OS(z6,e.__scopeMenu),v=f.useRef(null),y=ct(n,v);return a.jsx(Gc.Provider,{scope:e.__scopeMenu,children:a.jsx(lo,{present:i||p.open,children:a.jsx(Gc.Slot,{scope:e.__scopeMenu,children:a.jsx(Xy,{id:h.contentId,"aria-labelledby":h.triggerId,...d,ref:y,align:l,side:m.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:x=>{m.isUsingKeyboardRef.current&&v.current?.focus(),x.preventDefault()},onCloseAutoFocus:x=>x.preventDefault(),onFocusOutside:Ce(e.onFocusOutside,x=>{x.target!==h.trigger&&p.onOpenChange(!1)}),onEscapeKeyDown:Ce(e.onEscapeKeyDown,x=>{m.onClose(),x.preventDefault()}),onKeyDown:Ce(e.onKeyDown,x=>{const _=x.currentTarget.contains(x.target),S=y6[m.dir].includes(x.key);_&&S&&(p.onOpenChange(!1),h.trigger?.focus(),x.preventDefault())})})})})})},"MenuSubContent"));function ev(t){return t?"open":"closed"}jt(ev,"getOpenState");function Kc(t){return t==="indeterminate"}jt(Kc,"isIndeterminate");function Zp(t){return Kc(t)?"indeterminate":t?"checked":"unchecked"}jt(Zp,"getCheckedState");function MS(t){const e=document.activeElement;for(const n of t)if(n===e||(n.focus(),document.activeElement!==e))return}jt(MS,"focusFirst");function LS(t,e){return t.map((n,r)=>t[(e+r)%t.length])}jt(LS,"wrapArray");function DS(t,e,n){const i=e.length>1&&Array.from(e).every(h=>h===e[0])?e[0]:e,l=n?t.indexOf(n):-1;let d=LS(t,Math.max(l,0));i.length===1&&(d=d.filter(h=>h!==n));const m=d.find(h=>h.toLowerCase().startsWith(i.toLowerCase()));return m!==n?m:void 0}jt(DS,"getNextMatch");function FS(t,e){const{x:n,y:r}=t;let i=!1;for(let l=0,d=e.length-1;l<e.length;d=l++){const p=e[l],m=e[d],h=p.x,v=p.y,y=m.x,x=m.y;v>r!=x>r&&n<(y-h)*(r-v)/(x-v)+h&&(i=!i)}return i}jt(FS,"isPointInPolygon");function US(t,e){if(!e)return!1;const n={x:t.clientX,y:t.clientY};return FS(n,e)}jt(US,"isPointerInGraceArea");function ml(t){return e=>e.pointerType==="mouse"?t(e):void 0}jt(ml,"whenMouse");var V6=_6,H6=AS,q6=C6,W6=N6,G6=j6,K6=Jy,Y6=I6,Q6=M6,Z6=D6,X6=F6,J6=$6,e9=B6,t9=Object.defineProperty,ca=(t,e)=>t9(t,"name",{value:e,configurable:!0}),tv="DropdownMenu",[n9,J8]=qn(tv,[NS]),da=NS(),[o9,$S]=n9(tv),a9=ca(t=>{const{__scopeDropdownMenu:e,children:n,dir:r,open:i,defaultOpen:l,onOpenChange:d,modal:p=!0}=t,m=da(e),h=f.useRef(null),[v,y]=zo({prop:i,defaultProp:l??!1,onChange:d,caller:tv});return a.jsx(o9,{scope:e,triggerId:sa(),triggerRef:h,contentId:sa(),open:v,onOpenChange:y,onOpenToggle:f.useCallback(()=>y(x=>!x),[y]),modal:p,children:a.jsx(V6,{...m,open:v,onOpenChange:y,dir:r,modal:p,children:n})})},"DropdownMenu"),r9="DropdownMenuTrigger",s9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,disabled:i=!1,...l}=e,d=$S(r9,r),p=da(r),m=ct(n,d.triggerRef);return a.jsx(H6,{asChild:!0,...p,children:a.jsx(Qe.button,{type:"button",id:d.triggerId,"aria-haspopup":"menu","aria-expanded":d.open,"aria-controls":d.open?d.contentId:void 0,"data-state":d.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...l,ref:m,onPointerDown:Ce(e.onPointerDown,h=>{!i&&h.button===0&&h.ctrlKey===!1&&(d.onOpenToggle(),d.open||h.preventDefault())}),onKeyDown:Ce(e.onKeyDown,h=>{i||(["Enter"," "].includes(h.key)&&d.onOpenToggle(),h.key==="ArrowDown"&&d.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(h.key)&&h.preventDefault())})})})},"DropdownMenuTrigger")),i9=ca(t=>{const{__scopeDropdownMenu:e,...n}=t,r=da(e);return a.jsx(q6,{...r,...n})},"DropdownMenuPortal"),l9="DropdownMenuContent",c9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=$S(l9,r),d=da(r),p=f.useRef(!1);return a.jsx(W6,{id:l.contentId,"aria-labelledby":l.triggerId,...d,...i,ref:n,onCloseAutoFocus:Ce(e.onCloseAutoFocus,m=>{p.current||l.triggerRef.current?.focus(),p.current=!1,m.preventDefault()}),onInteractOutside:Ce(e.onInteractOutside,m=>{const h=m.detail.originalEvent,v=h.button===0&&h.ctrlKey===!0,y=h.button===2||v;(!l.modal||y)&&(p.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)"}})},"DropdownMenuContent")),d9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(G6,{...l,...i,ref:n})},"DropdownMenuLabel")),u9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(K6,{...l,...i,ref:n})},"DropdownMenuItem")),p9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(Y6,{...l,...i,ref:n})},"DropdownMenuCheckboxItem")),f9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(Q6,{...l,...i,ref:n})},"DropdownMenuRadioItem")),m9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(Z6,{...l,...i,ref:n})},"DropdownMenuItemIndicator")),h9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(X6,{...l,...i,ref:n})},"DropdownMenuSeparator")),g9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(J6,{...l,...i,ref:n})},"DropdownMenuSubTrigger")),y9=f.forwardRef(ca(function(e,n){const{__scopeDropdownMenu:r,...i}=e,l=da(r);return a.jsx(e9,{...l,...i,ref:n,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)"}})},"DropdownMenuSubContent")),v9=a9,x9=s9,w9=i9,zS=c9,BS=d9,VS=u9,HS=p9,qS=f9,WS=m9,GS=h9,KS=g9,YS=y9;const pp=v9,fp=x9,b9=f.forwardRef(({className:t,inset:e,children:n,...r},i)=>a.jsxs(KS,{ref:i,className:ge("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",e&&"pl-8",t),...r,children:[n,a.jsx(gp,{className:"ml-auto"})]}));b9.displayName=KS.displayName;const _9=f.forwardRef(({className:t,...e},n)=>a.jsx(YS,{ref:n,className:ge("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]:sli
69de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",t),...e}));_9.displayName=YS.displayName;const Yc=f.forwardRef(({className:t,sideOffset:e=4,...n},r)=>a.jsx(w9,{children:a.jsx(zS,{ref:r,sideOffset:e,className:ge("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]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",t),...n})}));Yc.displayName=zS.displayName;const Nn=f.forwardRef(({className:t,inset:e,...n},r)=>a.jsx(VS,{ref:r,className:ge("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",e&&"pl-8",t),...n}));Nn.displayName=VS.displayName;const k9=f.forwardRef(({className:t,children:e,checked:n,...r},i)=>a.jsxs(HS,{ref:i,className:ge("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",t),checked:n,...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(WS,{children:a.jsx(Qc,{className:"h-4 w-4"})})}),e]}));k9.displayName=HS.displayName;const C9=f.forwardRef(({className:t,children:e,...n},r)=>a.jsxs(qS,{ref:r,className:ge("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",t),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(WS,{children:a.jsx(j0,{className:"h-2 w-2 fill-current"})})}),e]}));C9.displayName=qS.displayName;const QS=f.forwardRef(({className:t,inset:e,...n},r)=>a.jsx(BS,{ref:r,className:ge("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...n}));QS.displayName=BS.displayName;const Uu=f.forwardRef(({className:t,...e},n)=>a.jsx(GS,{ref:n,className:ge("-mx-1 my-1 h-px bg-muted",t),...e}));Uu.displayName=GS.displayName;function ZS(){const{theme:t,setTheme:e,resolvedTheme:n}=CS();return a.jsxs(pp,{children:[a.jsx(fp,{asChild:!0,children:a.jsx(je,{size:"icon",variant:"ghost","data-testid":"button-theme-toggle",children:t==="system"?a.jsx(gc,{className:"w-4 h-4"}):n==="light"?a.jsx(vc,{className:"w-4 h-4"}):a.jsx(yc,{className:"w-4 h-4"})})}),a.jsxs(Yc,{align:"end",children:[a.jsxs(Nn,{onClick:()=>e("light"),"data-testid":"button-theme-light",children:[a.jsx(vc,{className:"w-4 h-4 me-2"}),"Light"]}),a.jsxs(Nn,{onClick:()=>e("dark"),"data-testid":"button-theme-dark",children:[a.jsx(yc,{className:"w-4 h-4 me-2"}),"Dark"]}),a.jsxs(Nn,{onClick:()=>e("system"),"data-testid":"button-theme-system",children:[a.jsx(gc,{className:"w-4 h-4 me-2"}),"System"]})]})]})}const XS=f.createContext({subtitle:"",setSubtitle:()=>{},subtitleHref:"",setSubtitleHref:()=>{},navItems:[],setNavItems:()=>{},headerContent:null,setHeaderContent:()=>{}});function bh({children:t}){const[e,n]=f.useState(""),[r,i]=f.useState(""),[l,d]=f.useState([]),[p,m]=f.useState(null);return a.jsx(XS.Provider,{value:{subtitle:e,setSubtitle:n,subtitleHref:r,setSubtitleHref:i,navItems:l,setNavItems:d,headerContent:p,setHeaderContent:m},children:t})}function S9(){return f.useContext(XS)}const JS=f.createContext({activePlatforms:[...vg],setActivePlatforms:()=>{},togglePlatform:()=>{}});function u0({children:t}){const[e,n]=f.useState([...vg]),r=f.useCallback(l=>{n(l)},[]),i=f.useCallback(l=>{n(d=>{if(d.includes(l)){const p=d.filter(m=>m!==l);return p.length===0?[...vg]:p}return[...d,l]})},[]);return a.jsx(JS.Provider,{value:{activePlatforms:e,setActivePlatforms:r,togglePlatform:i},children:t})}function e7(){return f.useContext(JS)}
69const N9={id:"research",brand:"topvoice",sectionTitle:"Research â Influence Flows",color:"violet",summary:"Pick influencer voices, ask a question in their combined style, and save the result as a reusable Influence Flow.",steps:[{id:"research.voices",title:"Pick Your Voices",description:"Start by selecting one or more Voices. Click the inline voice picker to browse real influencers whose expertise the AI will channel in your conversation.",route:"/influence",targetTestId:"button-welcome-voice-picker"},{id:"research.custom",title:"Add a Custom Influencer",description:"Can't find who you need? Open the sidebar, switch to the Influence Flow tab, and paste any LinkedIn profile URL to create a new synthesized Voice.",route:"/influence",targetTestId:"tab-ai"},{id:"research.question",title:"Type Your Question",description:"Enter your question or topic in the chat input at the bottom. The AI will respond in the combined style of your selected Voices.",route:"/influence",targetTestId:"input-chat-message"},{id:"research.send",title:"Send Your Message",description:"Hit the Send button (or press Enter) to get your first AI-powered expert opinion. You can also use the microphone for voice input.",route:"/influence",targetTestId:"button-send-message"},{id:"research.save",title:"Save as Influence Flow",description:"Open the sidebar Influence Flow tab to save your Voice configuration. Give it a name and description so you can reuse or share it later.",route:"/influence",targetTestId:"button-open-conv-sidebar-ai"}]},P9={id:"appear",brand:"topvoice",sectionTitle:"Content â posts written and published for you",color:"amber",summary:"Where content campaigns live now: turn one on and set its schedule, have your own ChatGPT or Claude write the posts, and attach an image of your own.",steps:[{id:"appear.campaigns",title:"Your content campaigns",description:"A content campaign writes LinkedIn posts and publishes them on a schedule â a separate product from boosting. They live here, under Account â More â Content; with more than one, pick it at the top.",route:"/grow/contentSettings",targetTestId:"content-settings"},{id:"appear.autopilot",title:"Turn it on and set the schedule",description:"Autopilot & schedule opens the campaign's switch, the LinkedIn profile or page it posts as, how often and at what time. Nothing is published until the switch is on and an account is chosen.",route:"/grow/contentSettings",targetTestId:"content-fragments"},{id:"appear.assistant",title:"Let your own ChatGPT or Claude write the posts",description:"Ask it to write the next post: it uses this campaign's own instructions and voices, shows you the text, and on your OK hands it to the campaign, which publishes it at the next scheduled time. Anything it does not write, Top Voice writes itself.",route:"/grow/contentSettings",targetTestId:"rail-assistants-lead"},{id:"appear.next",title:"See the next post first",description:"What your assistant handed over, with its image, laid out as it will look on LinkedIn â on a desktop and on a phone â and whether it will go out as it stands.",route:"/grow/contentSettings",targetTestId:"content-next-post"},{id:"appear.creative",title:"The core creative",description:"The one image a post is built from. Made one in ChatGPT or anywhere else? Attach it here: the post's image, the carousel's colours and the video's background are made from it, at no cost to you. Creatives decides which formats.",route:"/grow/contentSettings",targetTestId:"content-creative-attach"}]},A9={id:"grow",brand:"topvoice",sectionTitle:"Grow â LinkedIn Boosting",color:"linkedin",summary:"Find your way around the campaign surface: the rail, the four stages, and where the funnel's numbers come from.",steps:[{id:"grow.rail",title:"Your campaigns, down the left",description:"Every campaign is one LinkedIn account plus one thing it appears as â your profile or a company page. The rail lists them; picking one changes everything to the right of it. It collapses with the arrow at the bottom if you want the width back.",route:"/funnel",targetTestId:"grow-rail"},{id:"grow.new",title:"Start a campaign",description:"New campaign builds one from scratch. Beside it, Instant AI Setup asks for your LinkedIn URL and what you sell, and fills in the keywords, the filters and the greeting for you â you can change any of it afterwards.",route:"/funnel",targetTestId:"nav-new-campaign"},{id:"grow.setup",title:"Let the AI do the first draft",description:"Instant AI Setup reads your profile and
69your description, then writes the Signal Flows, the prospect filters and the opening message. It is the fastest way to a working campaign, and nothing it writes is final.",route:"/funnel",targetTestId:"assist-setup"},{id:"grow.connect",title:"Connect the LinkedIn account",description:"Nothing runs until a LinkedIn account is attached. Connect it on the Account page â one account per campaign â and come straight back.",route:"/account",targetTestId:"account-connect-linkedin"},{id:"grow.react",title:"React â whose posts you appear under",description:"A Signal Flow is a group of keywords describing the posts worth showing up under. Add as many as you like: each one widens the pool of prospects who will see you, and Strict keyword mode narrows it back when a flow starts catching the wrong rooms.",route:"/react",targetTestId:"kw-add-flow"},{id:"grow.pull",title:"Pull â which of them are worth approaching",description:"Of the people who noticed you, these filters decide who is worth a message: location, language, follower range, job badges. Narrow filters mean fewer, better prospects â the funnel below shows you the trade in numbers.",route:"/pull",targetTestId:"pull-scope-all"},{id:"grow.engage",title:"Engage â what is said to the ones who got through",description:"The opening note and up to two follow-ups. Keep it short and specific; the AI can draft each one, and you can turn any of them off. Nothing is sent to anyone who did not pass the Pull filters.",route:"/engage",targetTestId:"engage-greeting-on"},{id:"grow.funnel",title:"Read the funnel top to bottom",description:"Posts found, appearances made, profiles that came back to look, prospects pulled, conversations started. Each band is narrower than the one above it, and the one that narrows hardest is the one worth working on.",route:"/funnel",targetTestId:"funnel-chart"},{id:"grow.capacity",title:"What the engine is allowed to do today",description:"LinkedIn has limits and so do we â a new account warms up over its first weeks rather than starting at full speed. This bar is what is available right now; the number beside it is what your flows actually found.",route:"/funnel",targetTestId:"capacity-bar"},{id:"grow.next",title:"The one thing to do next",description:"When something is holding the campaign back â too few posts found, an account that needs reconnecting, a filter nothing gets through â it is named here, in one line, with the fix. If this card is quiet, the campaign is running.",route:"/funnel",targetTestId:"card-next-action"}]},T9={id:"assistants",brand:"topvoice",sectionTitle:"ChatGPT & Claude",color:"violet",summary:"Connect Top Voice to your own ChatGPT or Claude, so you can ask about your campaign and get things drafted without opening this site.",steps:[{id:"assistants.lead",title:"Your assistant, not ours",description:"These two buttons do not sign you into anything here. They connect Top Voice to the chat you already use, so the assistant you already talk to can read your campaign and answer about it.",route:"/funnel",targetTestId:"rail-assistants-lead"},{id:"assistants.chatgpt",title:"For ChatGPT",description:"Opens ChatGPT with the Top Voice connector ready to add. Approve it once, then ask it anything about your campaign â what the funnel is doing, which flow is underperforming, what to post about this week.",route:"/funnel",targetTestId:"rail-add-chatgpt",generatedIn:"client/src/pages/grow/index.tsx"},{id:"assistants.claude",title:"For Claude",description:"The same connector, in Claude. Both read the same account, so it does not matter which one you use â or whether you use both on different days.",route:"/funnel",targetTestId:"rail-add-claude",generatedIn:"client/src/pages/grow/index.tsx"},{id:"assistants.keys",title:"Bring your own model key (optional)",description:"Image and text generation runs on our models by default. If you would rather it ran on your own OpenAI, Anthropic or Gemini account, add the key here and everything generated for you goes through it instead.",route:"/account",targetTestId:"account-ai-keys"}]},j9={id:"account",brand:"topvoice",sectionTitle:"Account & billing",color:"amber",summary:"Where the plan, the connected LinkedIn accounts, the content campaigns and the way out all live.",steps:[{id:"account.plan",title:"Your plan",description:"What you are on, what it covers, and how many LinkedIn accounts it pays for. Changing the number of engagers here changes what the engine is allowed to do on every campaign.",route:"/account",targetTestId:"account-perf-plan"},{id:"account.connect",title:"The LinkedIn accounts",description:"Every connected account and what state it is in. One campaign per account; an account that needs reconnecting says so here rather than failing quietly in the background.",route:"/account",targetTestId:"account-connect-linkedin"},{id:"account.content",title:"Content campaigns are still here",description:"Posts written and published on a schedule â a separate product from boosting, not a setting inside it. It moved off the rail because the rail is about one campaign's funnel, and it is the first link under More.",route:"/account",targetTestId:"account-content"},{id:"account.billing",title:"Invoices, cards, cancelling",description:"Manage subscription opens the billing portal: past invoices, the card on file, and cancelling. Cancelling stops the plan at the end of the peri
69od â it does not delete anything.",route:"/account",targetTestId:"account-manage"},{id:"account.delete",title:"Deleting the account",description:"This is the real one: it cancels every subscription, releases the LinkedIn accounts and removes the data. You type your email to confirm, and it cannot be undone.",route:"/account",targetTestId:"account-delete-open"}]},eN=[N9,P9,A9,T9,j9],p0="tour";function I9(t){const e=typeof t=="string"?t.trim().toLowerCase():"";return e?eN.find(n=>n.id===e)??null:null}const tN="custom",E9=(()=>{const t=new Map;for(const e of eN)for(const n of e.steps)t.set(n.id.toLowerCase(),{step:n,tour:e});return t})();function R9(t){const e=[],n=new Set;let r=null;for(const i of t){const l=typeof i=="string"?i.trim().toLowerCase():"";if(!l||n.has(l))continue;const d=E9.get(l);d&&(n.add(l),e.push(d.step),r||(r=d.tour))}return!e.length||!r?null:{id:tN,brand:r.brand,sectionTitle:"Your walkthrough",color:r.color,summary:`${e.length} step${e.length===1?"":"s"}, picked for this question.`,steps:e}}function nN(t){const e=typeof t=="string"?t.trim():"";if(!e)return null;const n=I9(e);if(n)return n;const r=e.split(/[+\s,]+/).filter(Boolean);return r.length?R9(r):null}const oN="top-voice-tours-seen";function bg(){try{const t=localStorage.getItem(oN);if(t)return new Set(JSON.parse(t))}catch{}return new Set}function O9(t){const e=bg();e.add(t),localStorage.setItem(oN,JSON.stringify([...e]))}const aN=f.createContext({activeTour:null,startTour:()=>{},closeTour:()=>{},isTourSeen:()=>!0,startTourIfUnseen:()=>{}});function M9(){if(typeof window>"u")return null;let t;try{t=new URL(window.location.href)}catch{return null}const e=t.searchParams.get(p0);if(e===null)return null;t.searchParams.delete(p0);try{window.history.replaceState(window.history.state,"",t.pathname+t.search+t.hash)}catch{}return nN(e)?e:null}function _h({children:t}){const[e,n]=f.useState(null);f.useEffect(()=>{const p=M9();p&&n(p)},[]);const r=f.useCallback(p=>{n(p)},[]),i=f.useCallback(()=>{e&&O9(e),n(null)},[e]),l=f.useCallback(p=>bg().has(p),[]),d=f.useCallback(p=>{bg().has(p)||n(p)},[]);return a.jsx(aN.Provider,{value:{activeTour:e,startTour:r,closeTour:i,isTourSeen:l,startTourIfUnseen:d},children:t})}function rN(){return f.useContext(aN)}const L9=f.lazy(()=>Ee(()=>Promise.resolve().then(()=>nL),void 0).then(t=>({default:t.InstantAISetupDialog}))),sN="aiSetup";function D9(){try{const t=new URLSearchParams(window.location.search).get(sN);return t==="1"||t==="true"}catch{return!1}}function f0(){const[t,e]=f.useState(D9);return f.useEffect(()=>{if(t)try{const n=new URL(window.location.href);n.searchParams.delete(sN),window.history.replaceState(null,"",`${n.pathname}${n.search}${n.hash}`)}catch{}},[]),t?a.jsx(f.Suspense,{fallback:null,children:a.jsx(L9,{open:t,onOpenChange:e,setupOnly:!0})}):null}const F9=vl;function kh(t,e,n,r){return F9[e]!==n?n:t(e,r)}const U9={research:a.jsx(kc,{className:"w-5 h-5"}),appear:a.jsx(jh,{className:"w-5 h-5"}),grow:a.jsx(UA,{className:"w-5 h-5"}),assistants:a.jsx(gA,{className:"w-5 h-5"}),account:a.jsx(Wu,{className:"w-5 h-5"}),[tN]:a.jsx(bA,{className:"w-5 h-5"})};function _g(t,e=0){const n=document.querySelector(`[data-testid="${t}"]`);if(!n){e<8&&setTimeout(()=>_g(t,e+1),500);return}document.querySelectorAll(".tour-highlight").forEach(r=>r.classList.remove("tour-highlight")),n.scrollIntoView({behavior:"smooth",block:"center"}),n.classList.add("tour-highlight"),setTimeout(()=>n.classList.remove("tour-highlight"),2500)}function $9({tourId:t,open:e,onClose:n}){const r=Jt(),[i,l]=f.useState(0),[d,p]=jo(),m=f.useRef(null),h=f.useRef(null),[v,y]=f.useState("expanded");f.useEffect(()=>{const q=document.querySelector("[data-state]");if(!q)return;const re=()=>{const se=q.getAttribute("data-state");y(se==="collapsed"?"collapsed":"expanded")};re();const ee=new MutationObserver(re);return ee.observe(q,{attributes:!0,attributeFilter:["data-state"]}),()=>ee.disconnect()},[e]);const x=nN(t);if(!x)return null;const _=x.steps,S=new Set(_.map(q=>q.route));f.useEffect(()=>{if(!e){h.current=null;return}S.has(d)?h.current=d:h.current!==null&&(document.querySelectorAll(".tour-highlight").forEach(q=>q.classList.remove("tour-highlight")),n())},[d]),f.useEffect(()=>{if(e){h.current=null,l(0);const q=_[0];q.route&&p(q.route),q.targetTestId&&(m.current=setTimeout(()=>_g(q.targetTestId),600))}return()=>{m.current&&clearTimeout(m.current)}},[e,t]);const k=f.useCallback(q=>{const re=_[q];l(q),re.route&&p(re.route),re.targetTestId&&(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>_g(re.targetTestId),400))},[_,p]),C=f.useCallback(()=>{document.querySelectorAll(".tour-highlight").forEach(q=>q.classList.remove("tour-highlight")),n()},[n]);if(!e)return null;const A=_[i],P=i===0,j=i===_.length-1,E=(i+1)/_.length*100,F={violet:{bg
69:"bg-violet-50 dark:bg-[#1a1025]",border:"border-violet-200 dark:border-violet-800",text:"text-violet-700 dark:text-violet-300",accent:"bg-violet-600 hover:bg-violet-700",progress:"bg-violet-500"},amber:{bg:"bg-amber-50 dark:bg-[#1a1508]",border:"border-amber-200 dark:border-amber-800",text:"text-amber-700 dark:text-amber-300",accent:"bg-amber-600 hover:bg-amber-700",progress:"bg-amber-500"},linkedin:{bg:"bg-[#F0F7FF] dark:bg-[#0a1a2e]",border:"border-[#0A66C2]/30 dark:border-[#0A66C2]/40",text:"text-[#0A66C2] dark:text-[#4D9EFF]",accent:"bg-[#0A66C2] hover:bg-[#004182]",progress:"bg-[#0A66C2]"}},z=F[x.color]||F.violet;return a.jsxs("div",{className:"fixed bottom-4 z-[100] sm:max-w-sm sm:w-full transition-all duration-200 start-3 end-3 sm:end-auto",style:{"--tour-left":v==="expanded"?"calc(16rem + 0.75rem)":"calc(3rem + 0.75rem)"},"data-testid":`tour-overlay-${x.id}`,children:[a.jsx("style",{children:`@media (min-width: 640px) { [data-testid="tour-overlay-${x.id}"] { left: var(--tour-left) !important; } }`}),a.jsxs("div",{className:ge("relative rounded-xl border shadow-2xl",z.bg,z.border),onClick:q=>q.stopPropagation(),"data-testid":`tour-card-${x.id}`,children:[a.jsx("div",{className:"h-1 rounded-t-xl bg-muted/30 overflow-hidden",children:a.jsx("div",{className:ge("h-full transition-all duration-500 rounded-t-xl",z.progress),style:{width:`${E}%`}})}),a.jsxs("div",{className:"p-4 sm:p-5",children:[a.jsxs("div",{className:"flex items-center justify-between mb-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:z.text,children:U9[x.id]??null}),a.jsx("span",{className:ge("text-[10px] font-bold uppercase tracking-wider",z.text),children:kh(r,`tour.${x.id}.sectionTitle`,x.sectionTitle)})]}),a.jsx(je,{size:"icon",variant:"ghost",className:"h-7 w-7",onClick:C,"data-testid":"button-tour-close",children:a.jsx(tr,{className:"w-4 h-4"})})]}),a.jsxs("div",{className:"min-h-[80px]",children:[a.jsx("h3",{className:"text-base font-bold mb-1.5","data-testid":"text-tour-step-title",children:kh(r,`tour.${A.id}.title`,A.title)}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed","data-testid":"text-tour-step-description",children:kh(r,`tour.${A.id}.description`,A.description)})]}),a.jsxs("div",{className:"flex items-center justify-between mt-4 pt-3 border-t border-border/50",children:[a.jsx("div",{className:"flex items-center gap-1.5",children:_.map((q,re)=>a.jsx("button",{className:ge("w-2 h-2 rounded-full transition-all",re===i?ge("w-5",z.progress):"bg-muted-foreground/20 hover:bg-muted-foreground/40"),onClick:()=>k(re),"data-testid":`button-tour-dot-${re}`},re))}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-[10px] text-muted-foreground me-1",children:r("tour.ui.counter",{n:i+1,total:_.length})}),!P&&a.jsx(je,{size:"sm",variant:"outline",className:"h-7 px-2.5 gap-1",onClick:()=>k(i-1),"data-testid":"button-tour-prev",children:a.jsx(Sg,{className:"w-3.5 h-3.5"})}),j?a.jsxs(je,{size:"sm",className:ge("h-7 px-3 text-white gap-1",z.accent),onClick:C,"data-testid":"button-tour-finish",children:[a.jsx(T0,{className:"w-3.5 h-3.5"}),r("liConnect.done")]}):a.jsxs(je,{size:"sm",className:ge("h-7 px-2.5 text-white gap-1",z.accent),onClick:()=>k(i+1),"data-testid":"button-tour-next",children:[r("explainer.controls.next"),a.jsx(gp,{className:"w-3.5 h-3.5"})]})]})]})]})]})]})}function nv(t){return ii({attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M20.5624 10.1875C20.8124 9.5 20.8749 8.8125 20.8124 8.125C20.7499 7.4375 20.4999 6.75 20.1874 6.125C19.6249 5.1875 18.8124 4.4375 17.8749 4C16.8749 3.5625 15.8124 3.4375 14.7499 3.6875C14.2499 3.1875 13.6874 2.75 13.0624 2.4375C12.4374 2.125 11.6874 2 10.9999 2C9.9374 2 8.8749 2.3125 7.9999 2.9375C7.1249 3.5625 6.4999 4.4375 6.1874 5.4375C5.4374 5.625 4.8124 5.9375 4.1874 6.3125C3.6249 6.75 3.1874 7.3125 2.8124 7.875C2.24991 8.8125 2.06241 9.875 2.18741 10.9375C2.31241 12 2.7499 13 3.4374 13.8125C3.1874 14.5 3.1249 15.1875 3.1874 15.875C3.2499 16.5625 3.4999 17.25 3.8124 17.875C4.3749 18.8125 5.1874 19.5625 6.1249 20C7.1249 20.4375 8.1874 20.5625 9.2499 20.3125C9.7499 20.8125 10.3124 21.25 10.9374 21.5625C11.5624 21.875 12.3124 22 12.9999 22C14.0624 22 15.1249 21.6875 15.9999 21.0625C16.8749 20.4375 17.4999 19.5625 17.8124 18.5625C18.4999 18.4375 19.1874 18.125 19.7499 17.6875C20.3124 17.25 20.8124 16.75 21.1249 16.125C21.6874 15.1875 21.8749 14.125 21.7499 13.0625C21.6249 12 21.2499 11 20.5624 10.187
695ZM13.0624 20.6875C12.0624 20.6875 11.3124 20.375 10.6249 19.8125C10.6249 19.8125 10.6874 19.75 10.7499 19.75L14.7499 17.4375C14.8749 17.375 14.9374 17.3125 14.9999 17.1875C15.0624 17.0625 15.0624 17 15.0624 16.875V11.25L16.7499 12.25V16.875C16.8124 19.0625 15.0624 20.6875 13.0624 20.6875ZM4.9999 17.25C4.5624 16.5 4.3749 15.625 4.5624 14.75C4.5624 14.75 4.6249 14.8125 4.6874 14.8125L8.6874 17.125C8.8124 17.1875 8.8749 17.1875 8.9999 17.1875C9.1249 17.1875 9.2499 17.1875 9.3124 17.125L14.1874 14.3125V16.25L10.1249 18.625C9.2499 19.125 8.2499 19.25 7.3124 19C6.3124 18.75 5.4999 18.125 4.9999 17.25ZM3.9374 8.5625C4.3749 7.8125 5.0624 7.25 5.8749 6.9375V7.0625V11.6875C5.8749 11.8125 5.8749 11.9375 5.9374 12C5.9999 12.125 6.0624 12.1875 6.1874 12.25L11.0624 15.0625L9.3749 16.0625L5.3749 13.75C4.4999 13.25 3.8749 12.4375 3.6249 11.5C3.3749 10.5625 3.4374 9.4375 3.9374 8.5625ZM17.7499 11.75L12.8749 8.9375L14.5624 7.9375L18.5624 10.25C19.1874 10.625 19.6874 11.125 19.9999 11.75C20.3124 12.375 20.4999 13.0625 20.4374 13.8125C20.3749 14.5 20.1249 15.1875 19.6874 15.75C19.2499 16.3125 18.6874 16.75 17.9999 17V12.25C17.9999 12.125 17.9999 12 17.9374 11.9375C17.9374 11.9375 17.8749 11.8125 17.7499 11.75ZM19.4374 9.25C19.4374 9.25 19.3749 9.1875 19.3124 9.1875L15.3124 6.875C15.1874 6.8125 15.1249 6.8125 14.9999 6.8125C14.8749 6.8125 14.7499 6.8125 14.6874 6.875L9.8124 9.6875V7.75L13.8749 5.375C14.4999 5 15.1874 4.875 15.9374 4.875C16.6249 4.875 17.3124 5.125 17.9374 5.5625C18.4999 6 18.9999 6.5625 19.2499 7.1875C19.4999 7.8125 19.5624 8.5625 19.4374 9.25ZM8.9374 12.75L7.2499 11.75V7.0625C7.2499 6.375 7.4374 5.625 7.8124 5.0625C8.1874 4.4375 8.7499 4 9.3749 3.6875C9.9999 3.375 10.7499 3.25 11.4374 3.375C12.1249 3.4375 12.8124 3.75 13.3749 4.1875C13.3749 4.1875 13.3124 4.25 13.2499 4.25L9.2499 6.5625C9.1249 6.625 9.0624 6.6875 8.9999 6.8125C8.9374 6.9375 8.9374 7 8.9374 7.125V12.75ZM9.8124 10.75L11.9999 9.5L14.1874 10.75V13.25L11.9999 14.5L9.8124 13.25V10.75Z"},child:[]}]})(t)}function mp(){const t=document.getElementById("hubspot-messages-iframe-container");t&&(t.classList.add("hs-show"),t.style.removeProperty("display"),t.style.removeProperty("visibility"),t.style.removeProperty("opacity"),t.style.removeProperty("pointer-events"))}function z9(){const t=()=>{try{window.HubSpotConversations?.widget?.load()}catch{}mp();let e=0;const n=window.setInterval(()=>{e+=1,mp();const r=document.getElementById("hubspot-messages-iframe-container");(r&&r.getBoundingClientRect().height>0||e>=25)&&window.clearInterval(n)},200)};if(window.HubSpotConversations?.widget){t();return}if(window.hsConversationsOnReady=window.hsConversationsOnReady||[],window.hsConversationsOnReady.push(t),!document.getElementById("hs-script-loader")){const e=document.createElement("script");e.type="text/javascript",e.id="hs-script-loader",e.async=!0,e.defer=!0,e.src="//js-eu1.hs-scripts.com/147331148.js",document.body.appendChild(e)}}function iN(){const t=()=>{try{window.HubSpotConversations?.widget?.load()}catch{}mp();let e=0;const n=window.setInterval(()=>{e+=1;try{window.HubSpotConversations?.widget?.open()}catch{}mp();const r=document.getElementById("hubspot-messages-iframe-container");(r&&r.getBoundingClientRect().height>200||e>=25)&&window.clearInterval(n)},200)};if(window.HubSpotConversations?.widget){t();return}if(window.hsConversationsOnReady=window.hsConversationsOnReady||[],window.hsConversationsOnReady.push(t),!document.getElementById("hs-script-loader")){const e=document.createElement("script");e.type="text/javascript",e.id="hs-script-loader",e.async=!0,e.defer=!0,e.src="//js-eu1.hs-scripts.com/147331148.js",document.body.appendChild(e)}}const m0="https://meetings-eu1.hubspot.com/danylo/meeting",Xp="/ChatGPT",Jp="/Claude";function ks(t,e){return!e||e===ja&&B9()===ja?t:`${t}${t.includes("?")?"&":"?"}lang=${encodeURIComponent(e)}`}function B9(){try{return i_(navigator.languages??[navigator.language])}catch{return ja}}const V9="/intro/top-voice-intro.mp4",H9="/intro/top-voice-intro-poster.jpg";function q9({storageKey:t="tv_first_visit_video_seen_v1",title:e,description:n,brand:r="topvoice"}){const[i,l]=f.useState(!1);f.useEffect(()=>{try{if(typeof window>"u")return;const m=navigator.userAgent||"";if(/bot|crawler|spider|crawling|googlebot|bingbot|slurp|duckduckbot|baiduspider|yandex|sogou|exabot|facebot|ia_archiver|Prerender|HeadlessChrome|Lighthouse|PageSpeed/i.test(m))return;if(!window.localStorage.getItem(t)){const y=window.setTimeout(()=>l(!0),700);return()=>window.clearTimeout(y)}}catch{}},[t]);const d=()=>{try{window.localStorage.setItem(t,"1")}catch{}},p=m=>{m||d(),l(m)};return a.jsx(lN,{open:i,onOpenChange:p,title:e,description:n,brand:r})}function lN({open:t,onOpenChange:e,title:n,description:r,brand:i="topvoice"}){const{t:l,locale:d}=lr(),p=n??l("popup.welcome.title"),m=r??l("popup.welcome.caption"),h=()=>{e(!1),iN()};return a.jsx(Mp,{open:t,onOpenChange:e,modal:!1,children:a.jsx(Lp,{children:a.jsxs(Nl,{onInteractOutside:v=>v.preventDefault(),onPointerDownOutside:v=>v.preventDefault(),onOpenAutoFocus:v=>v.preventDefault(),className:ge("fixed start-[50%] top-[50%] z-50 translate-x-[-50%] translate-y-[-50%]","w-[calc(100vw-1.5rem)] sm:w-full sm:max-w-2xl","rounded-lg overflow-hidden bg-black border border-white/15 shadow-2xl","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-testid":"dialog-first-visit-video",children:[a.jsxs(bp,{children:[a.jsx(Pl,{children:p}),a.jsx(Al,{children:m})]}),a.jsx("button",{type:"button",onClick:()=>e(!1),className:"absolute top-2 end-2 z-20 w-7 h-7 rounded-full bg-black/60 hover:bg-black/80 text-white flex items-center justify-center transition-colors","aria-label":l("popup.skipClose"),"data-testid":"button-first-visit-skip",children:a.jsx(tr,{className:"w-4 h-4"})}),a.jsx("div",{className:"relative w-full aspect-video bg-black",children:t&&a.jsx("video",{src:V9,poster:H9,className:"absolute inset-0 w-full h-full object-cover",autoPlay:!0,muted:!0,playsInl
69ine:!0,controls:!0,preload:"metadata","data-testid":"video-first-visit"})}),a.jsxs("div",{className:"flex flex-col gap-3 px-4 py-3 bg-background sm:flex-row sm:items-center sm:justify-between",children:[a.jsxs("div",{className:"text-sm min-w-0",children:[a.jsx("p",{className:"font-semibold text-foreground leading-tight",children:p}),a.jsx("p",{className:"text-xs text-muted-foreground leading-snug mt-0.5",children:m})]}),a.jsx("div",{className:"flex items-center gap-2 shrink-0 overflow-x-auto","data-testid":"video-popup-actions",children:i==="warmlike"?a.jsxs(a.Fragment,{children:[a.jsx(je,{size:"sm",variant:"outline",onClick:h,"data-testid":"button-video-ask-ai",children:l("popup.askAi")}),a.jsx("a",{href:m0,target:"_blank",rel:"noopener noreferrer","data-testid":"link-video-book-call",children:a.jsx(je,{size:"sm",variant:"default",children:l("lp.nav.book")})})]}):a.jsxs(a.Fragment,{children:[a.jsx("a",{href:ks(Xp,d),target:"_blank",rel:"noopener noreferrer","aria-label":l("lp.menu.addChatgpt"),title:l("lp.menu.addChatgpt"),"data-testid":"link-video-ask-chatgpt",children:a.jsxs(je,{size:"sm",variant:"outline",className:"whitespace-nowrap gap-1",children:[a.jsx(na,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),a.jsx(nv,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})]})}),a.jsx("a",{href:ks(Jp,d),target:"_blank",rel:"noopener noreferrer","aria-label":l("lp.menu.addClaude"),title:l("lp.menu.addClaude"),"data-testid":"link-video-ask-claude",children:a.jsxs(je,{size:"sm",variant:"outline",className:"whitespace-nowrap gap-1",children:[a.jsx(na,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),a.jsx(Cy,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})]})}),a.jsx("a",{href:m0,target:"_blank",rel:"noopener noreferrer","data-testid":"link-video-book-call",children:a.jsx(je,{size:"sm",variant:"default",className:"whitespace-nowrap",children:l("lp.nav.book")})})]})})]})]})})})}function cN(t=0){const e=document.getElementById("hubspot-messages-iframe-container");if(e){e.classList.add("hs-show"),e.style.removeProperty("display"),e.style.removeProperty("visibility"),e.style.removeProperty("opacity"),e.style.removeProperty("pointer-events");return}t<20&&setTimeout(()=>cN(t+1),250)}function W9(){const[t,e]=f.useState(!1),[n,r]=f.useState(!1);f.useEffect(()=>{const m=setInterval(()=>{const h=document.getElementById("hubspot-messages-iframe-container"),v=!!h&&getComputedStyle(h).display!=="none";r(y=>y===v?y:v)},500);return()=>clearInterval(m)},[]);const i=m=>{m.style.removeProperty("display"),m.style.removeProperty("visibility"),m.style.removeProperty("opacity"),m.style.removeProperty("pointer-events")},l=()=>{e(!0);try{window.HubSpotConversations?.widget?.load()}catch{}cN(),r(!0)},d=()=>{e(!1);try{window.HubSpotConversations?.widget?.close()}catch{}const m=document.getElementById("hubspot-messages-iframe-container");m&&(m.classList.remove("hs-show"),i(m),m.style.setProperty("display","none","important")),r(!1)},p=()=>{const m=document.getElementById("hubspot-messages-iframe-container"),h=!!m&&getComputedStyle(m).display!=="none";t||h?d():l()};return a.jsxs(a.Fragment,{children:[a.jsx(je,{type:"button",variant:"ghost",size:"sm",className:"h-9 w-9 px-0",onClick:p,title:t||n?"Hide chat & video":"Open chat & video","data-testid":"button-landing-help",children:a.jsx(Ng,{className:"w-4 h-4"})}),a.jsx(lN,{open:t,onOpenChange:m=>{m||e(!1)}})]})}const G9=[{test:/^\/influence(\/|$|\?)/,tour:"research"},{test:/^\/content(\/|$|\?)/,tour:"appear"},{test:/^\/search(\/|$|\?)/,tour:"appear"},{test:/^\/linkedin(\/|$|\?)/,tour:"grow"},{test:/^\/grow(\/|$|\?)/,tour:"grow"}];function K9(t){for(const e of G9)if(e.test.test(t))return e.tour;return null}function dN(){const[t]=jo(),{activeTour:e,startTour:n,closeTour:r}=rN(),[i,l]=f.useState(!1),{user:d,isAuthenticated:p}=Fr(),m=String(d?.id??"");f.useEffect(()=>{const P=u5({bind:p,userId:m});return p&&fC(m),P},[p,m]);const v=/^\/start(\/|$|\?)/.test(t)?null:K9(t),y=!!v,x=P=>{P.style.removeProperty("display"),P.style.removeProperty("visibility"),P.style.removeProperty("opacity"),P.style.removeProperty("pointer-events")},_=()=>{iN()},S=()=>{const P=document.getElementById("hubspot-messages-iframe-container");P&&(P.classList.remove("hs-show"),x(P),P.style.setProperty("display","none","important"));try{window.HubSpotConversations?.widget?.close()}catch{}};f.useEffect(()=>{const P=setInterval(()=>{const j=document.getElementById("hubspot-messages-iframe-container"),E=!!j&&getComputedStyle(j).display!=="none";l(F=>F===E?F:E)},500);return()=>clearInterval(P)},[]);const k=y?e===v:i,C=()=>{k?(e&&r(),S()):(v&&n(v),_())},A=y?k?"Hide guide & chat":"Show guide & chat":k?"Hide chat":"Open chat";return a.jsx(je,{type:"button",variant:"ghost",size:"sm",className:"h-9 w-9 px-0",onClick:C,title:A,"data-testid":"button-app-help",children:a.jsx(Ng,{className:"w-4 h-4"})})}function Pu({defaultVisible:t=!1}={}){const[e,n]=f.useState(!1),[r,i]=f.useState(!0),[l]=jo(),d=f.useRef(!1),p=f.useRef(!1);if(f.useEffect(()=>{if(/^\/grow(\/|$|\?)/.test(l)||document.getElementById("hs-script-loader"))return;const _=document.createElement("script");_.type="text/javascript",_.id="hs-script-loader",_.async=!0,_.defer=!0,_.src="//js-eu1.hs-scripts.com/147331148.js",document.body.appendChild(_)},[l]),f.useEffect(()=>{const _=document.createElement("style");_.textContent=`
70 #hubspot-messages-iframe-container { 71 z-index: 2147483644 !important; 72 ${t?"":"display: none !important;"} 73 } 74 #hubspot-messages-iframe-container iframe { 75 z-index: 2147483644 !important; 76 } 77 /* Use block, not initial â initial resolves to "inline" for <div>, 78 which collapses the iframe so the chat launcher never appears. */ 79 #hubspot-messages-iframe-container.hs-show { 80 display: block !important; 81 } 82 `,document.head.appendChild(_),t&&z9();const S=setInterval(()=>{document.getElementById("hubspot-messages-iframe-container")&&(n(!0),clearInterval(S))},1e3);return()=>{clearInterval(S),_.remove()}},[t]),f.useEffect(()=>{d.current=!1,p.current=!1;const _=()=>{const C=document.getElementById("hubspot-messages-iframe-container");C&&(C.classList.remove("hs-show"),C.style.setProperty("display","none","important"),C.style.removeProperty("visibility"),C.style.removeProperty("opacity"),C.style.removeProperty("pointer-events"));try{window.HubSpotConversations?.widget?.close()}catch{}i(!0)};let S=!1;const k=setInterval(()=>{const C=document.getElementById("hubspot-messages-iframe-container");if(!C){i(j=>j===!0?j:!0),S=!1;return}const A=getComputedStyle(C).display!=="none";S&&!A&&(d.current=!1),S=A;const P=C.classList.contains("hs-show");if(P&&(p.current=!1),p.current&&A&&!P){_();return}i(j=>j===!A?j:!A)},500);return()=>clearInterval(k)},[l]),!e)return null;const m=_=>{_.style.removeProperty("display"),_.style.removeProperty("visibility"),_.style.removeProperty("opacity"),_.style.removeProperty("pointer-events")},h=()=>{p.current=!0;const _=()=>{const k=document.getElementById("hubspot-messages-iframe-container");k&&(k.classList.remove("hs-show"),m(k),k.style.setProperty("display","none","important"))};try{window.HubSpotConversations?.widget&&window.HubSpotConversations.widget.close()}catch{}_(),setTimeout(_,50),setTimeout(_,200),setTimeout(_,600);const S=document.querySelector("#hubspot-conversations-inline-parent");S&&S.style.removeProperty("display"),document.querySelectorAll('iframe[src*="hubspot"], iframe[title*="chat"]').forEach(k=>{const C=k.parentElement;C&&C.style.removeProperty("display")}),d.current=!1,i(!0)},v=18,y=12,x={position:"fixed",bottom:72,insetInlineEnd:8};return a.jsx(a.Fragment,{children:!r&&a.jsx("button",{type:"button",onClick:h,style:{...x,zIndex:2147483647,width:v,height:v,borderRadius:"50%",background:"#333",border:"2px solid #fff",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"#fff"},title:"Hide chat","aria-label":"Close chat","data-testid":"button-hide-hubspot-chat",children:a.jsx(tr,{style:{width:y,height:y}})})})}const h0="tv_intro_seen_v1",Y9=9,Q9=typeof window<"u"?window.location.search:"";function g0(t){try{const e=new URLSearchParams(t);return e.has("subscribe")||e.has("subscribed")||e.has("connect")||e.has("pendingSubscribe")||e.has("ai")}catch{return!1}}function Z9(){const[t,e]=f.useState(!1),[n,r]=f.useState(1),[i,l]=f.useState(!0),d=f.useRef(null);f.useEffect(()=>{if(localStorage.getItem(h0)||g0(Q9)||g0(window.location.search))return;const h=setTimeout(()=>e(!0),1500);return()=>clearTimeout(h)},[]),f.useEffect(()=>{if(!t)return;const h=v=>{v.data?.type==="scene-change"&&r(v.data.scene+1),v.data?.type==="autoplay-state"&&l(v.data.playing)};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[t]);const p=f.useCallback(h=>{d.current?.contentWindow?.postMessage(h,"*")},[]);function m(){e(!1),localStorage.setItem(h0,"1")}return t?a.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-3 sm:p-6",style:{background:"rgba(0,0,0,.75)",backdropFilter:"blur(6px)"},onClick:h=>{h.target===h.currentTarget&&m()},"data-testid":"intro-popup-overlay",children:a.jsxs("div",{className:"relative w-full max-w-[1200px] rounded-xl overflow-hidden shadow-2xl flex flex-col bg-background border border-border",style:{height:"min(96dvh, 800px)"},children:[a.jsx("button",{onClick:m,"aria-label":"Close intro",className:"absolute top-2 end-2 z-10 flex items-center justify-center w-9 h-9 rounded-full bg-background/90 text-foreground border border-border transition-colors hover:bg-muted","data-testid":"button-close-intro",children:a.jsx(tr,{size:18})}),a.jsx("iframe",{ref:d,src:`/how-it-works?embed=1&parentPopup=1&theme=${document.documentElement.classList.contains("dark")?"dark":"light"}&lang=${document.documentElement.lang||"en"}`,className:"w-full flex-1 border-0",title:"How Top Voice Works",allow:"autoplay"}),a.jsxs("div",{className:"flex items-center justify-between px-3 py-2 sm:px-5 sm:py-3 shrink-0 bg-muted/40 border-t border-border",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:()=>p({type:"prev-scene"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-muted text-foreground transition-colors hover:bg-muted/60","data-testid":"button-intro-prev",children:a.jsx(Sg,{size:16})}),a.jsx("button",{onClick:()=>p({type:"toggle-autoplay"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-primary text-primary-foreground transition-opacity hover:opacity-90","data-testid":"button-intro-play",children:i?a.jsx(R0,{size:14}):a.jsx(Ih,{size:14})}),a.jsx("button",{onClick:()=>p({type:"next-scene"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-muted text-foreground transition-colors hover:bg-muted/60","data-testid":"button-intro-next",children:a.jsx(gp,{size:16})}),a.jsxs("span",{className:"text-[11px] sm:text-xs ms-2 text-muted-foreground tabular-nums",children:[n," / ",Y9]}
82)]}),a.jsx("button",{onClick:m,className:"px-4 py-1.5 sm:px-5 sm:py-2 rounded-lg text-xs sm:text-sm font-semibold bg-primary text-primary-foreground transition-opacity hover:opacity-90","data-testid":"button-skip-intro",children:"Skip & Start Using"})]})]})}):null}const Xn=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm",t),...e}));Xn.displayName="Card";const X9=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("flex flex-col space-y-1.5 p-6",t),...e}));X9.displayName="CardHeader";const J9=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("text-2xl font-semibold leading-none tracking-tight",t),...e}));J9.displayName="CardTitle";const eU=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("text-sm text-muted-foreground",t),...e}));eU.displayName="CardDescription";const uN=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("p-6 pt-0",t),...e}));uN.displayName="CardContent";const tU=f.forwardRef(({className:t,...e},n)=>a.jsx("div",{ref:n,className:ge("flex items-center p-6 pt-0",t),...e}));tU.displayName="CardFooter";function nU(){return a.jsx("div",{className:"min-h-screen w-full flex items-center justify-center bg-gray-50",children:a.jsx(Xn,{className:"w-full max-w-md mx-4",children:a.jsxs(uN,{className:"pt-6",children:[a.jsxs("div",{className:"flex mb-4 gap-2",children:[a.jsx(wA,{className:"h-8 w-8 text-red-500"}),a.jsx("h1",{className:"text-2xl font-bold text-gray-900",children:"404 Page Not Found"})]}),a.jsx("p",{className:"mt-4 text-sm text-gray-600",children:"Did you forget to add the page to the router?"})]})})})}const wc=ei,y0=ei;function pN(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function fi(t,e={threshold:.2}){const[n,r]=f.useState(!1);return f.useEffect(()=>{const i=t.current;if(!i)return;const l=new IntersectionObserver(([d])=>{d.isIntersecting&&r(!0)},{threshold:e.threshold});return l.observe(i),()=>l.disconnect()},[t,e.threshold]),n}function oU(t){const[e,n]=f.useState([]);return f.useEffect(()=>{fetch(`https://randomuser.me/api/?results=${t}&inc=picture&noinfo`).then(r=>r.json()).then(r=>{n(r.results?.map(i=>i.picture.medium)??[])}).catch(()=>{})},[t]),e}function Hn({children:t,className:e="",delay:n=0}){const r=f.useRef(null),i=fi(r);return a.jsx("div",{ref:r,className:`transition-all duration-700 ease-out ${e}`,style:{opacity:i?1:0,transform:i?"translateY(0)":"translateY(40px)",transitionDelay:`${n}ms`},children:t})}function ov({author:t,content:e,company:n,reactions:r=0,highlight:i=!1,avatar:l,comments:d=3}){const p=Jt();return a.jsxs("div",{className:`bg-card border rounded-lg p-4 shadow-sm max-w-md w-full ${i?"ring-2 ring-[#0A66C2]":""}`,children:[a.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[l?a.jsx("img",{src:l,alt:"",className:"w-12 h-12 rounded-full object-cover"}):a.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-[#0A66C2] to-[#004182] flex items-center justify-center text-white font-bold",children:t[0]}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"font-semibold text-foreground text-sm",children:t}),a.jsx("p",{className:"text-xs text-muted-foreground",children:n}),a.jsx("p",{className:"text-xs text-muted-foreground",children:p("hiw.time.hoursAgo",{n:2})})]})]}),a.jsx("p",{className:"text-sm text-foreground mb-4 line-clamp-3",children:e}),a.jsxs("div",{className:"flex items-center justify-between pt-3 border-t",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsxs("div",{className:"flex -space-x-1 rtl:space-x-reverse",children:[a.jsx("div",{className:"w-5 h-5 rounded-full bg-[#0A66C2] flex items-center justify-center",children:a.jsx(fs,{className:"w-3 h-3 text-white"})}),a.jsx("div",{className:"w-5 h-5 rounded-full bg-red-500 flex items-center justify-center",children:a.jsx(Pg,{className:"w-3 h-3 text-white"})}),a.jsx("div",{className:"w-5 h-5 rounded-full bg-yellow-500 flex items-center justify-center",children:a.jsx(E0,{className:"w-3 h-3 text-white"})})]}),a.jsx("span",{className:"text-xs text-muted-foreground ms-1",children:r})]}),a.jsx("div",{className:"flex gap-4 text-xs text-muted-foreground",children:a.jsx("span",{children:p("hiw.post.comments",{count:d})})})]})]})}function aU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),l=r?["volunteering","philanthropy","climate","education","equity","impact"]:["marketing","saas","ai","startup","b2b","growth"],d=r?["donor","volunteer","boardMember","foundationLead"]:["ceo","founder","cmo","vpSales"],p=["us","europe","uk"];return a.jsx("section",{ref:e,className:"py-16 sm:py-20 px-4 sm:px-6",id:"how-it-works",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4",children:[a.jsx($A,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:1}
82)]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i(r?"hiw.step1.title.np":"hiw.step1.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step1.body.np":"hiw.step1.body")})]}),a.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[a.jsx(Hn,{delay:200,children:a.jsx(Xn,{className:"p-6 bg-card/50 backdrop-blur",children:a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[a.jsx(Tg,{className:"h-5 w-5 text-[#0A66C2]"}),a.jsx("h3",{className:"font-semibold text-foreground",children:i("hiw.step1.keywords")})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:l.map((m,h)=>a.jsx(Ao,{variant:"secondary",className:"transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.8)",transitionDelay:`${300+h*100}ms`},children:i(`hiw.keyword.${m}`)},m))})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[a.jsx(kA,{className:"h-5 w-5 text-[#0A66C2]"}),a.jsx("h3",{className:"font-semibold text-foreground",children:i("hiw.step1.jobTitles")})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:d.map((m,h)=>a.jsx(Ao,{variant:"outline",className:"transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.8)",transitionDelay:`${600+h*100}ms`},children:i(`hiw.role.${m}`)},m))})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[a.jsx(SA,{className:"h-5 w-5 text-[#0A66C2]"}),a.jsx("h3",{className:"font-semibold text-foreground",children:i("hiw.step1.locations")})]}),a.jsx("div",{className:"flex flex-wrap gap-2",children:p.map((m,h)=>a.jsx(Ao,{variant:"outline",className:"transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.8)",transitionDelay:`${900+h*100}ms`},children:i(`hiw.location.${m}`)},m))})]})]})})}),a.jsx(Hn,{delay:400,className:"overflow-visible",children:a.jsxs("div",{className:"relative overflow-visible inline-block",children:[a.jsx(ov,{author:"Sarah Chen",company:r?i("hiw.person.volunteerCoordinatorAt",{company:"BrightPath Foundation"}):i("hiw.person.marketingManagerAt",{company:"BrightPath"}),content:i(r?"hiw.step1.post.np":"hiw.step1.post"),reactions:12,highlight:n,avatar:"https://images.unsplash.com/photo-1628327330818-39c262dd950a?w=200&h=200&fit=crop&crop=face"}),a.jsx("div",{className:"absolute -top-4 end-2 sm:-end-4 bg-emerald-600 text-white px-3 py-1 rounded-full text-sm font-medium shadow-lg transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.5)",transitionDelay:"1200ms"},children:i("hiw.step1.match")})]})})]})]})})}function qs({icon:t,label:e,color:n}){return a.jsxs("div",{className:"flex flex-col items-center gap-1.5 min-w-0",children:[a.jsx("div",{className:`w-9 h-9 sm:w-12 sm:h-12 rounded-full ${n} flex items-center justify-center shadow-sm shrink-0`,children:a.jsx(t,{className:"w-4 h-4 sm:w-6 sm:h-6 text-white"})}),a.jsx("span",{className:"text-[10px] sm:text-xs text-muted-foreground text-center leading-tight",children:e})]})}function rU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),[l,d]=f.useState(156);return f.useEffect(()=>{if(n){const p=setTimeout(()=>d(157),2e3);return()=>clearTimeout(p)}},[n]),a.jsx("section",{ref:e,className:"py-16 sm:py-20 px-4 sm:px-6 bg-muted/30",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4",children:[a.jsx(fs,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:2})]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i("hiw.step2.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step2.body.np":"hiw.step2.body")})]}),a.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[a.jsx(Hn,{delay:200,className:"order-2 lg:order-1",children:a.jsxs("div",{className:"relative",children:[a.jsx(ov,{author:"Michael Roberts",company:r?i("hiw.person.directorAt",{company:"ScaleUp For Good"}):i("hiw.person.founderAt",{company:"ScaleUp Labs"}),content:i(r?"hiw.step2.post.np":"hiw.step2.post"),reactions:l,avatar:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=200&h=200&fit=crop&crop=face",comments:5}),a.jsx("div",{className:"absolute -bottom-4 start-2 sm:-start-4 bg-card border rounded-lg p-3 shadow-lg transition-all duration-700",style:{opacity:n?1:0,transform:n?"translateX(0)":"translateX(-50px)",transitionDelay:"1500ms"},children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("img",{src:wc,alt:"",className:"w-8 h-8 object-contain"}),a.jsxs("div",{children:[a.jsx("p",{className:"text-xs font-medium text-foreground",children:i(r?"hiw.yourNonprofit":"hiw.step2.yourPage")}),a.jsx("p",{className:"text-xs text-muted-foreground",children:i("hiw.step2.reactedWithLike")})]}),a.jsx(fs,{className:"w-4 h-4 text-[#0A66C2]"})]})})]})}),a.jsx(Hn,{delay:400,className:"order-1 lg:order-2",children:a.jsxs(Xn,{className:"p-6 bg-card/50 backdrop-blur",children:[a.jsx("h3",{className:"font-semibold text-foreground mb-6",children:i("hiw.step2.reactions")}),a.jsx("div",{className:"transition-all duration-700",style:{opacity:n?1:0,transform:n?"translateY(0)":"translateY(20px)",transitionDelay:"500ms"},children:a.jsxs("div",{className:"flex items-start justify-between gap-1 sm:gap-3",children:[a.jsx(qs,{icon:fs,label:i("hiw.reaction.like"),color:"bg-[#0A66C2]"}),a.jsx(qs,{icon:DA,label:i("hiw.reaction.celebrate"),color:"bg-emerald-600"}),a.jsx(qs,{icon:PA,label:i("hiw.reaction.support"),color:"bg-purple-500"}
82),a.jsx(qs,{icon:HA,label:i("hiw.reaction.funny"),color:"bg-amber-500"}),a.jsx(qs,{icon:Pg,label:i("hiw.reaction.love"),color:"bg-rose-500"}),a.jsx(qs,{icon:E0,label:i("hiw.reaction.insightful"),color:"bg-yellow-500"}),a.jsx(qs,{icon:Ng,label:i("hiw.reaction.curious"),color:"bg-cyan-500"})]})}),a.jsxs("div",{className:"mt-8 p-4 rounded-lg border bg-background",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[a.jsx(yp,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-400"}),a.jsx("span",{className:"text-sm font-medium",children:i("hiw.step2.human.title")})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:i("hiw.step2.human.body")})]})]})})]})]})})}function sU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),d=oU(1)[0]??"https://randomuser.me/api/portraits/women/88.jpg",p=r?[{name:i("hiw.notif.page",{name:"Hope Rising Foundation"}),action:"hiw.notif.liked",time:i("hiw.time.justNow"),avatar:y0,isPage:!0},{name:i("hiw.notif.profile",{name:i("hiw.step3.notif.programDirector")}),action:"hiw.notif.reacted",time:i("hiw.time.minutesAgo",{n:2}),avatar:d,isPage:!1},{name:i("hiw.notif.page",{name:"Community Impact Fund"}),action:"hiw.notif.celebrated",time:i("hiw.time.minutesAgo",{n:5}),avatar:wc,isPage:!0}]:[{name:i("hiw.notif.page",{name:i("hiw.step3.notif.greatOffer")}),action:"hiw.notif.liked",time:i("hiw.time.justNow"),avatar:y0,isPage:!0},{name:i("hiw.notif.profile",{name:i("hiw.step3.notif.relevantExpert")}),action:"hiw.notif.reacted",time:i("hiw.time.minutesAgo",{n:2}),avatar:d,isPage:!1},{name:i("hiw.notif.page",{name:i("hiw.step3.notif.expertProduct")}),action:"hiw.notif.celebrated",time:i("hiw.time.minutesAgo",{n:5}),avatar:wc,isPage:!0}];return a.jsx("section",{ref:e,className:"py-16 sm:py-20 px-4 sm:px-6",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4",children:[a.jsx($u,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:3})]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i(r?"hiw.step3.title.np":"hiw.step3.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step3.body.np":"hiw.step3.body")})]}),a.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[a.jsx(Hn,{delay:200,children:a.jsxs(Xn,{className:"p-6 bg-card/50 backdrop-blur overflow-visible",children:[a.jsx("h3",{className:"font-semibold text-foreground mb-4",children:i(r?"hiw.step3.feedTitle.np":"hiw.step3.feedTitle")}),a.jsx("div",{className:"space-y-3",children:p.map((m,h)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-muted/50 rounded-lg cursor-pointer transition-all duration-500",style:{opacity:n?1:0,transform:n?"translateX(0)":"translateX(-20px)",transitionDelay:`${500+h*200}ms`},children:[a.jsx("img",{src:m.avatar,alt:"",className:`w-10 h-10 object-cover ${m.isPage?"rounded-lg":"rounded-full"}`}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:pN(i(m.action),{name:a.jsx("span",{className:"font-medium text-foreground",children:m.name})})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:m.time})]}),a.jsx(fs,{className:"w-4 h-4 text-[#0A66C2]"})]},h))}),a.jsx("div",{className:"mt-4 p-3 border-2 border-dashed border-[#0A66C2]/30 rounded-lg text-center transition-all duration-500",style:{opacity:n?1:0,transitionDelay:"1200ms"},children:a.jsxs("p",{className:"text-sm text-[#0A66C2] dark:text-[#4a9eff]",children:[a.jsx($u,{className:"w-4 h-4 inline me-1"})," ",i(r?"hiw.step3.click.np":"hiw.step3.click")]})})]})}),a.jsx(Hn,{delay:400,children:a.jsxs("div",{className:"relative",children:[a.jsxs(Xn,{className:"p-6 bg-card border-2 border-[#0A66C2]/30",children:[a.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[a.jsx("img",{src:wc,alt:"",className:"w-16 h-16 rounded-lg object-contain"}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-bold text-foreground text-lg",children:i(r?"hiw.yourNonprofit":"hiw.step3.pageName")}
82),a.jsx("p",{className:"text-sm text-muted-foreground",children:i(r?"hiw.step3.pageType.np":"hiw.step3.pageType")}),a.jsx("p",{className:"text-xs text-muted-foreground",children:i("hiw.step3.followers",{count:"12,847"})})]})]}),a.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:i(r?"hiw.step3.tagline.np":"hiw.step3.tagline")}),a.jsxs("div",{className:"flex gap-2 flex-wrap",children:[a.jsxs(je,{size:"sm",className:"bg-[#0A66C2] hover:bg-[#08538f] text-white",children:[a.jsx(Eh,{className:"w-3 h-3 me-1"})," ",i("hiw.step3.btn.follow")]}),a.jsxs(je,{size:"sm",className:"bg-[#0A66C2] hover:bg-[#08538f] text-white",children:[a.jsx(Vu,{className:"w-3 h-3 me-1"})," ",i("hiw.step3.btn.message")]}),a.jsxs(je,{size:"sm",variant:"outline",children:[a.jsx(_c,{className:"w-3 h-3 me-1"})," ",i(r?"hiw.step3.btn.donate":"hiw.step3.btn.freeTrial")]})]})]}),a.jsx("div",{className:"absolute -top-4 end-2 sm:-end-4 bg-emerald-600 text-white px-3 py-1 rounded-full text-sm font-medium shadow-lg transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.5)",transitionDelay:"1500ms"},children:i(r?"hiw.step3.plusOne.np":"hiw.step3.plusOne")})]})})]})]})})}function iU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),l=["https://images.unsplash.com/photo-1560250097-0b93528c311a?w=96&h=96&fit=crop&crop=face","https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=96&h=96&fit=crop&crop=face","https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=96&h=96&fit=crop&crop=face","https://images.unsplash.com/photo-1580489944761-15a19d654956?w=96&h=96&fit=crop&crop=face","https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=96&h=96&fit=crop&crop=face","https://images.unsplash.com/photo-1544005313-94ddf0286df2?w=96&h=96&fit=crop&crop=face"],d=r?["donor","volunteer","boardMember","partnerOrg","journalist","foundation"]:["ceo","founder","vpSales","cmo","investor","director"];return a.jsx("section",{id:"how-it-works-step-4",ref:e,className:"py-16 sm:py-20 px-4 sm:px-6 bg-muted/30",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4 border-emerald-500 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",children:[a.jsx(qu,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:4})]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i(r?"hiw.step4.title.np":"hiw.step4.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step4.body.np":"hiw.step4.body")})]}),a.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[a.jsx(Hn,{delay:200,children:a.jsxs(Xn,{className:"p-6 bg-card/50 backdrop-blur",children:[a.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[a.jsx("span",{className:"inline-flex items-center justify-center bg-white rounded-[3px] p-[1px] shrink-0",children:a.jsx(rl,{className:"h-5 w-5 text-[#0A66C2]"})}),a.jsx("h3",{className:"font-semibold text-foreground",children:i(r?"hiw.step4.feedTitle.np":"hiw.step4.feedTitle")})]}),a.jsxs("div",{className:"flex items-center gap-2 mb-3 text-xs",style:{opacity:n?1:0,transition:"opacity 0.5s ease",transitionDelay:"400ms"},children:[a.jsx("img",{src:wc,alt:"",className:"w-5 h-5 object-contain"}),a.jsx("span",{className:"text-muted-foreground",children:pN(i("hiw.step4.reactedToThis"),{who:a.jsx("span",{className:"font-medium text-foreground",children:i(r?"hiw.yourNonprofit":"hiw.step4.yourProfilePage")})})}),a.jsx(fs,{className:"w-3 h-3 text-[#0A66C2]"})]}),a.jsx(ov,{author:"Sarah Chen",company:r?i("hiw.person.volunteerCoordinatorAt",{company:"BrightPath Foundation"}):i("hiw.person.marketingManagerAt",{company:"BrightPath"}),content:i(r?"hiw.step4.post.np":"hiw.step4.post"),reactions:13,comments:6,highlight:n,avatar:"https://images.unsplash.com/photo-1628327330818-39c262dd950a?w=200&h=200&fit=crop&crop=face"}),a.jsx("p",{className:"text-xs text-muted-foreground mt-4 text-center transition-all duration-500",style:{opacity:n?1:0,transitionDelay:"1100ms"},children:i("hiw.step4.surfaced",{name:"Sarah"})})]})}),a.jsx(Hn,{delay:400,children:a.jsxs(Xn,{className:"p-6 bg-card border-2 border-[#0A66C2]/30",children:[a.jsx("h3",{className:"font-semibold text-foreground mb-6 text-center",children:i(r?"hiw.step4.networkTitle.np":"hiw.step4.networkTitle")}),a.jsx("div",{className:"grid grid-cols-3 gap-4 mb-6",children:d.map((p,m)=>a.jsxs("div",{className:"flex flex-col items-center gap-2 transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.5)",transitionDelay:`${500+m*120}ms`},children:[l[m]?a.jsx("img",{src:l[m],alt:"",className:"w-12 h-12 rounded-full object-cover shadow-sm"}):a.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-[#0A66C2] to-[#004182] flex items-center justify-center shadow-sm",children:a.jsx(qu,{className:"w-5 h-5 text-white"})}),a.jsx("span",{className:"text-[10px] text-muted-foreground text-center leading-tight",children:i(`hiw.role.${p}`)})]},p))}),a.jsxs("div",{className:"p-4 rounded-lg bg-[#0A66C2]/10 border border-[#0A66C2]/20 text-center transition-all duration-500",style:{opacity:n?1:0,transitionDelay:"1300ms"},children:[a.jsxs("p",{className:"text-2xl font-bold text-[#0A66C2] dark:text-[#4a9eff]",children:["+1,200 ",a.jsx("span",{className:"text-sm font-normal text-muted-foreground",children:i("hiw.step4.impressions")})]}),a.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:i(r?"hiw.step4.perReaction.np":"hiw.step4.perReaction")})]})]})})]}),a.jsx(Hn,{delay:600,children:a.jsx(Xn,{className:"mt-8 sm:mt-12 p-6 sm:p-8 bg-gradient-to-r from-emerald-500/10 to-emerald-700/10 border-emerald-500/30 max-w-4xl mx-auto",children:a.jsxs("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:"w-12 h-12 rounded-full bg-emerald-600 flex items-center justify-center shrink-0",children:a.jsx(Tg,{className:"w-6 h-6 text-white"})}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-bold text-foreground mb-2 text-lg",children:i("hiw.step4.fit.title")}),a.jsx("p",{className:"text-sm sm:text-base text-muted-foreground",children:i(r?"hiw.step4.fit.body.np":"hiw.step4.fit.body")})]})]})})})]})})}function lU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),l=r?[{icon:Eh,label:"hiw.step5.action.newFollowers",color:"bg-[#0A66C2]",count:"+5"},{icon:fs,label:"hiw.step5.action.storyReactions",color:"bg-emerald-600",count:"+12"}
82,{icon:Vu,label:"hiw.step5.action.volunteerDms",color:"bg-amber-500",count:"+3"},{icon:_c,label:"hiw.step5.action.donateClicks",color:"bg-rose-500",count:"+8"}]:[{icon:Eh,label:"hiw.step5.action.follow",color:"bg-[#0A66C2]",count:"+5"},{icon:fs,label:"hiw.step5.action.likePosts",color:"bg-emerald-600",count:"+12"},{icon:Vu,label:"hiw.step5.action.messages",color:"bg-amber-500",count:"+3"},{icon:_c,label:"hiw.step5.action.visitWebsite",color:"bg-rose-500",count:"+8"}];return a.jsx("section",{ref:e,className:"py-16 sm:py-20 px-4 sm:px-6",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4",children:[a.jsx(Cc,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:5})]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i("hiw.step5.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step5.body.np":"hiw.step5.body")})]}),a.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 sm:gap-6 mb-8 sm:mb-12",children:l.map((d,p)=>a.jsx(Hn,{delay:200+p*150,children:a.jsxs(Xn,{className:"p-4 sm:p-6 text-center hover:shadow-md transition-shadow",children:[a.jsx("div",{className:`w-14 h-14 sm:w-16 sm:h-16 rounded-full ${d.color} flex items-center justify-center mx-auto mb-3 sm:mb-4 transition-all duration-500`,style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0)",transitionDelay:`${500+p*150}ms`},children:a.jsx(d.icon,{className:"w-7 h-7 sm:w-8 sm:h-8 text-white"})}),a.jsx("h3",{className:"font-semibold text-foreground mb-1 text-sm sm:text-base",children:i(d.label)}),a.jsx("p",{className:"text-2xl font-bold text-[#0A66C2] dark:text-[#4a9eff] transition-all duration-500",style:{opacity:n?1:0,transitionDelay:`${1e3+p*100}ms`},children:d.count}),a.jsx("p",{className:"text-xs text-muted-foreground",children:i("hiw.step5.perDay")})]})},d.label))}),a.jsx(Hn,{delay:800,children:a.jsx(Xn,{className:"p-6 bg-gradient-to-r from-[#0A66C2]/10 to-[#004182]/10 border-[#0A66C2]/30",children:a.jsxs("div",{className:"flex items-center justify-center gap-4 flex-wrap",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(MA,{className:"w-5 h-5 text-[#0A66C2]"}),a.jsx("span",{className:"text-sm text-foreground",children:i(r?"hiw.step5.flow.inbound.np":"hiw.step5.flow.inbound")})]}),a.jsx(Ys,{className:"w-4 h-4 text-muted-foreground hidden sm:block"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(qu,{className:"w-5 h-5 text-emerald-600"}),a.jsx("span",{className:"text-sm text-foreground",children:i(r?"hiw.step5.flow.warm.np":"hiw.step5.flow.warm")})]}),a.jsx(Ys,{className:"w-4 h-4 text-muted-foreground hidden sm:block"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Cc,{className:"w-5 h-5 text-rose-500"}),a.jsx("span",{className:"text-sm text-foreground",children:i(r?"hiw.step5.flow.result.np":"hiw.step5.flow.result")})]})]})})})]})})}function cU({variant:t="default"}){const e=f.useRef(null),n=fi(e),r=t==="nonprofit",i=Jt(),l=r?[{value:"300K+",label:"hiw.step6.stat.impressions.np",icon:Ow,color:"text-[#0A66C2]",bgColor:"bg-[#0A66C2]/20"},{value:"3,000+",label:"hiw.step6.stat.pageVisitors.np",icon:$u,color:"text-emerald-600",bgColor:"bg-emerald-600/20"},{value:"20+",label:"hiw.step6.stat.inboundSupporters.np",icon:Cc,color:"text-rose-500",bgColor:"bg-rose-500/20"}]:[{value:"300K+",label:"hiw.step6.stat.impressions",icon:Ow,color:"text-[#0A66C2]",bgColor:"bg-[#0A66C2]/20"},{value:"3,000+",label:"hiw.step6.stat.profileVisitors",icon:$u,color:"text-emerald-600",bgColor:"bg-emerald-600/20"},{value:"20+",label:"hiw.step6.stat.inboundLeads",icon:Cc,color:"text-rose-500",bgColor:"bg-rose-500/20"}];return a.jsx("section",{ref:e,className:"py-16 sm:py-20 px-4 sm:px-6 bg-muted/30",children:a.jsxs("div",{className:"max-w-6xl mx-auto w-full",children:[a.jsxs(Hn,{className:"text-center mb-12 sm:mb-16",children:[a.jsxs(Ao,{variant:"outline",className:"mb-4",children:[a.jsx(VA,{className:"h-3 w-3 me-2"})," ",i("hiw.stepLabel",{n:6})]}),a.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-foreground mb-4",children:i("hiw.step6.title")}),a.jsx("p",{className:"text-base sm:text-xl text-muted-foreground max-w-2xl mx-auto",children:i(r?"hiw.step6.body.np":"hiw.step6.body")})]}),a.jsx(Hn,{delay:200,children:a.jsxs(Xn,{className:"p-6 sm:p-8 bg-card/50 backdrop-blur max-w-4xl mx-auto",children:[a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 sm:gap-8 text-center",children:l.map((d,p)=>a.jsxs("div",{className:"transition-all duration-700",style:{opacity:n?1:0,transform:n?"translateY(0)":"translateY(20px)",transitionDelay:`${500+p*200}ms`},children:[a.jsx("div",{className:`w-20 h-20 rounded-full ${d.bgColor} flex items-center justify-center mx-auto mb-4`,children:a.jsx(d.icon,{className:`w-10 h-10 ${d.color}`})}),a.jsx("p",{className:"text-4xl font-bold text-foreground mb-1 transition-all duration-500",style:{opacity:n?1:0,transform:n?"scale(1)":"scale(0.5)",transitionDelay:`${800+p*200}ms`},children:d.value}),a.jsx("p",{className:"text-sm text-muted-foreground",children:i(d.label)})]},d.label))}),a.jsx("div",{className:"mt-8 h-2 bg-gradient-to-r from-[#0A66C2] via-emerald-600 to-rose-500 rounded-full transition-all duration-1000",style:{opacity:n?1:0,transform:n?"scaleX(1)":"scaleX(0)",transformOrigin:"left",transitionDelay:"1500ms"}}),a.jsx("p",{className:"text-center text-sm text-muted-foreground mt-4",children:i("hiw.step6.caseStudy")})]})})]})})}function dU({variant:t="default"}={}){return a.jsxs(a.Fragment,{children:[a.jsx(aU,{variant:t}),a.jsx(rU,{variant:t}),a.jsx(sU,{variant:t}),a.jsx(iU,{variant:t}),a.jsx(lU,{variant:t}),a.jsx(cU,{variant:t})]})}const v0="min-h-12 h-auto py-2 whitespace-normal leading-tight text-balance";function uU({onBook:t,testIdPrefix:e="hero"}){const{t:n,locale:r}=lr();return a.jsxs("div",{className:"flex w-full items-stretch gap-2","data-testid":`${e}-assistant-ctas`,children:[a.jsx("a",{href:ks(Xp,r),target:"_blank",rel:"noopener noreferrer","aria-label":n("lp.menu.addChatgpt"),title:n("lp.menu.addChatgpt"),className:"flex-1 min-w-0","data-testid":`${e}-add-chatgpt`,children:a.jsxs(je,{variant:"outline",className:"w-full h-full min-h-12 px-2 gap-1.5 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx(na,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),a.jsx(nv,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})]})}),a.jsx("a",{href:ks(Jp,r),target:"_blank",rel:"noopener noreferrer","aria-label":n("lp.menu.addClaude"),title:n("lp.menu.addClaude"),className:"flex-1 min-w-0","data-testid":`${e}-add-claude`,children:a.jsxs(je,{variant:"outline",className:"w-full h-full min-h-12 px-2 gap-1.5 text-xs sm:text-sm whitespace-nowrap",children:[a.jsx(na,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),a.jsx(Cy,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})]})}),a.jsx(je,{onClick:t,className:"flex-1 min-w-0 h-auto min-h-12 px-2 bg-emerald-600 hover:bg-emerald-700 text-white text-xs sm:text-sm whitespace-nowrap","data-testid":`${e}-book-call`,children:n("lp.cta.demo")})]})}function pU(){const{locale:t}=lr();return t===ja?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"sm:hidden absolute inset-0 bg-cover bg-top",style:{backgroundImage:"url(/explainer-poster-funnel-narrow.png)"}}),a.jsx("div",{className:"hidden sm:block absolute inset-0 bg-cover bg-center",style:{backgroundImage:"url(/explainer-poster-funnel.png)"}})]}):a.jsx("iframe",{src:`/how-it-works?embed=1&still=1&scene=8&theme=light&lang=${encodeURIComponent(t)}`,title:"","aria-hidden":"true",tabIndex:-1,loading:"lazy",className:"absolute inset-0 w-full h-full border-0 pointer-events-none","data-testid":"iframe-explainer-poster"},t)}const x0=12;function fU(){const t=f.useRef(null),e=f.useRef(null),[n,r]=f.useState(!0),i=f.useCallback(()=>{const l=t.current,d=e.current;if(!l||!d)return;if(getComputedStyle(d).display==="none")return r(!0);const p=Array.from(d.querySelectorAll("a, button")).map(y=>y.getBoundingClientRect()).filter(y=>y.width>0);if(p.length===0)return r(!0);const m=Math.min(...p.map(y=>y.left)),h=Math.max(...p.map(y=>y.right)),v=Array.from(l.children).some(y=>{if(y===d||y.contains(d))return!1;const x=y.getBoundingClientRect();return x.width>0&&x.left<h+x0&&x.right>m-x0});r(!v)},[]);return f.useLayoutEffect(i),f.useLayoutEffect(()=>{if(typeof ResizeObserver>"u")return;const l=new ResizeObserver(()=>i());if(t.current){l.observe(t.current);for(const d of Array.from(t.current.children))l.observe(d)}return document.fonts?.ready.then(i).catch(()=>{}),()=>l.disconnect()},[i]),{rowRef:t,navRef:e,fits:n}}let Ch=!1;function bc(){Ch||(Ch=!0,Ee(()=>import("./index-BAOj7ToG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])).catch(()=>{Ch=!1}))}function mU(){const t=navigator.connection;return!!t&&(t.saveData===!0||/(^|-)2g$|^3g$/.test(t.effectiveType??""))}function hU(){f.useEffect(()=>{if(mU())return;let t,e;const n=()=>{"requestIdleCallback"in window?t=window.requestIdleCallback(bc,{timeout:5e3}):e=setTimeout(bc,2e3)};return document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0}),()=>{window.removeEventListener("load",n),t!==void 0&&window.cancelIdleCallback?.(t),e!==void 0&&clearTimeout(e)}},[])}const Sh={onPointerEnter:bc,onFocus:bc,onTouchStart:bc},gU=["January","February","March","April","May","June","July","August","September","October","November","December"];function yU(t,e){const n=parseInt(e,10);return isNaN(n)||n<1||n>12?`${t}-${e}`:`${gU[n-1]} ${t}`}function vU(){const{locale:t}=lr(),{data:e}=Qt({queryKey:["/api/footer/links"],staleTime:300*1e3}),[n,r]=f.useState(!1),[i,l]=f.useState(!1),[d,p]=f.useState(!1);function m(x,_){if(_==="/#calculator"&&window.location.pathname==="/"){x.preventDefault();const S=document.getElementById("calculator");S&&S.scrollIntoView({behavior:"smooth",block:"start"})}}if(!e)return null;const h=[];if(h.push({title:"Top Voice",items:[{href:"/start",label:"Tour Guides"},{href:"/linkedin",label:"LinkedIn Booster"}]}),e.templates?.length&&h.push({title:"Boosting Templates",items:e.templates.map(x=>({href:`/templates/${x.slug}`,label:x.title}))}),h.push({title:"Compare Tools",items:[{href:"/#calculator",label:"LinkedIn Ads vs Top Voice"},...(e.comparisons??[]).map(x=>({href:`/compare/${x.slug}`,label:x.title}))]}),e.glossary?.length&&h.push({title:"LinkedIn Glossary",items:e.glossary.map(x=>({href:`/glossary/${x.slug}`,label:x.term}))}),e.topVoicesMonths?.length&&h.push({title:"Top Voices",items:e.topVoicesMonths.slice(0,12).map(x=>({href:`/top-voices/${x.year}/${x.month}`,label:yU(x.year,x.month)}))}),e.blog?.length&&h.push({title:"Top Voice Blog",items:e.blog.slice(0,12).map(x=>({href:`/blog/${x.slug}`,label:x.title}))}),!h.length)return null;const v="text-xs text-muted-foreground hover:underline hover:text-foreground line-clamp-1 text-start",y={"Top Voices":"/top-voices","Boosting Templates":"/templates","LinkedIn Glossary":"/glossary","Compare Tools":"/compare","Top Voice Blog":"/blog"};return a.jsxs("div",{className:"pb-8 border-border/40 grid gap-6 text-start sm:grid-cols-2 lg:grid-cols-6 border-t-[0px] mt-[0px] pt-[0px]","data-testid":"footer-resources",children:[h.map(x=>a.jsxs("div",{children:[a.jsx("div",{className:"text-xs font-semibold text-foreground
82/80 mb-2",children:y[x.title]?a.jsx("a",{href:y[x.title],className:"hover:underline hover:text-foreground","data-testid":`link-footer-res-header-${x.title.toLowerCase().replace(/\s+/g,"-")}`,children:x.title}):x.title}),a.jsxs("ul",{className:"space-y-1",children:[x.title==="Top Voice"&&a.jsxs(a.Fragment,{children:[a.jsx("li",{children:a.jsx("button",{type:"button",onClick:()=>l(!0),className:v,"data-testid":"link-footer-res-how-it-works",children:"How it works"})}),a.jsx("li",{children:a.jsx("a",{href:"/start",className:v,"data-testid":"link-footer-res--start",children:"Tour Guides"})}),a.jsx("li",{children:a.jsx("a",{href:"/linkedin",className:v,"data-testid":"link-footer-res--linkedin",children:"LinkedIn Booster"})}),a.jsx("li",{children:a.jsx("button",{type:"button",onClick:()=>r(!0),className:v,"data-testid":"link-footer-res-ai-setup",children:"AI Setup / Optimize"})}),a.jsx("li",{children:a.jsx("a",{href:ks(Xp,t),target:"_blank",rel:"noopener noreferrer",className:v,"data-testid":"link-footer-res-for-chatgpt",children:"For ChatGPT"})}),a.jsx("li",{children:a.jsx("a",{href:ks(Jp,t),target:"_blank",rel:"noopener noreferrer",className:v,"data-testid":"link-footer-res-for-claude",children:"For Claude"})})]}),x.items.filter(_=>!(x.title==="Top Voice"&&(_.href==="/start"||_.href==="/linkedin"))).map(_=>a.jsx("li",{children:a.jsx("a",{href:_.href,className:v,"data-testid":`link-footer-res-${_.href.replace(/[^a-z0-9]+/gi,"-")}`,onClick:S=>m(S,_.href),children:_.label})},_.href)),x.title==="Top Voice"&&a.jsxs(a.Fragment,{children:[a.jsx("li",{children:a.jsx("a",{href:"/startup",className:v,"data-testid":"link-footer-res-startup",children:"For Startups"})}),a.jsx("li",{children:a.jsx("a",{href:"/nonprofit",className:v,"data-testid":"link-footer-res-nonprofit",children:"For Nonprofits"})}),a.jsx("li",{children:a.jsx("a",{href:"/affiliate",className:v,"data-testid":"link-footer-res-affiliate",children:"Affiliate Program"})}),a.jsx("li",{children:a.jsx("button",{type:"button",onClick:()=>p(!0),className:v,"data-testid":"link-footer-res-partnership",children:"Contact us"})}),a.jsx("li",{children:a.jsx("a",{href:"/privacy",className:v,"data-testid":"link-footer-res-privacy",children:"Privacy Policy"})}),a.jsx("li",{children:a.jsx("a",{href:"/terms",className:v,"data-testid":"link-footer-res-terms",children:"Terms & Conditions"})})]})]})]},x.title)),a.jsxs("div",{className:"sm:col-span-2 lg:col-span-6 mt-2 border-t border-border/40 text-center text-xs text-muted-foreground pt-[25px]","data-testid":"text-footer-res-copyright",children:["2025â",new Date().getFullYear()," ©"," ",a.jsx("a",{href:"https://www.linkedin.com/company/top-voice-ai/",target:"_blank",rel:"noopener noreferrer",className:"hover:underline hover:text-foreground",children:"Top Voice"})]}),a.jsx(zy,{open:n,onOpenChange:r}),a.jsx(Ia,{open:i,onOpenChange:l,children:a.jsxs(ia,{className:"max-w-4xl w-full p-0 overflow-hidden",children:[a.jsx(la,{className:"sr-only",children:"How it works"}),a.jsx("div",{className:"aspect-video w-full",children:a.jsx("iframe",{src:i?`/how-it-works?embed=1&noautoplay=1&lang=${document.documentElement.lang||"en"}`:void 0,title:"How Top Voice Works",className:"w-full h-full border-0",allow:"autoplay"})})]})}),a.jsx(zp,{open:d,onOpenChange:p})]})}function w0(t,e){return t.split(/(\{\w+\})/).map((n,r)=>{const i=n.match(/^\{(\w+)\}$/)?.[1];return i&&i in e?a.jsx("span",{children:e[i]},r):n})}function xU({zeroCostPerSale:t}={}){const e=Jt(),{toast:n}=Oa(),[r,i]=f.useState(200),l=Nr(r),[d,p]=f.useState("3"),[m,h]=f.useState(!1),[v,y]=f.useState(""),[x,_]=f.useState(!1),[S,k]=f.useState(null),C=r,A=T4(l),P=Math.max(0,Math.min(100,parseFloat(d)||0))/100,j=C*P,E=A*P,F=l,z=A*Vp,q=j>0?F/j:null,re=E>0?z/E:null,ee=A>0?Math.round(C/A):null,se=Y=>"$"+Math.round(Y).toLocaleString(),ae=Y=>Math.round(Y).toLocaleString();async function J(){if(v.trim().length<10){n({title:e("toast.roi.tellUsBitMore.title"),description:e("toast.roi.tellUsBitMore.body"),variant:"default"});return}_(!0);try{const Y=await fetch("/api/estimate-conversion",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({businessDescription:v.trim()})}),ie=await Y.json().catch(()=>({}));Y.ok&&ie?.conversionRate?(p(String(ie.conversionRate)),k(ie.rationale||null),h(!1),n({title:e("toast.roi.aiEstimateConversionrateConversion.title",{conversionRate:ie.conversionRate}),description:ie.rationale||void 0})):n({title:e("toast.roi.couldntEstimate.title"),description:ie?.error||e("toast.common.tryAgainMoment"),variant:"destructive"})}catch(Y){n({title:e("toast.common.networkError"),description:Y?.message||e("toast.common.tryAgain2"),variant:"destructive"})}finally{_(!1)}}return a.jsxs("div",{id:"calculator",className:"max-w-3xl mx-auto mb-8 scroll-mt-20","data-testid":"roi-calculator",children:[a.jsxs(Xn,{className:"p-4 sm:p-5 text-start border-[#0A66C2]/20 bg-gradient-to-br from-[#0A66C2]/[0.04] to-emerald-500/[0.04]",children:[a.jsx("div",{className:"flex items-center justify-between gap-2 mb-3",children:a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(A0,{className:"w-4 h-4 text-[#0A66C2] shrink-0"}),a.jsx("span",{className:"text-sm font-semibold truncate",children:e("roi.title")})]})}),a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start gap-4 mb-4",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-1",children:[a.jsx(bn,{className:"text-xs text-muted-foreground",children:e(t?"roi.budget.affiliates":"roi.budget")}),a.jsx("span",{className:"text-base font-bold text-[#0A66C2] dark:text-[#4a9eff] tabular-nums","data-testid":"text-roi-budget",children:e("roi.perMonth",{amount:se(l)})})]}),a.jsx("input",{type:"range",min:100,max:1500,step:10,value:r,onChange:Y=>i(Number(Y.target.value)),"aria-label":e("roi.budget.aria"),"data-testid":"slider-roi-budget",className:"w-full accent-[#0A66C2] cursor-pointer"}),a.jsxs("div",{className:"flex justify-between text-[10px] text-muted-foreground mt-0.5",children:[a.jsx("span",{children:"$49"}),a.jsx("span",{children:"$245"}),a.jsx("span",{children:"$490"}),a.jsx("span",{children:"$735"})]})]}),a.jsxs("div",{className:"sm:shrink-0 text-center",children:[a.jsx(bn,{htmlFor:"roi-conv",className:"text-xs text-muted-foreground",children:w0(e("roi.conv"),{engagers:a.jsxs(Qi,{children:[a.jsx(Zi,{asChild:!0,children:a.jsx("span",{tabIndex:0,role:"button",className:"underline decoration-dotted underline-offset-2 cursor-help","data-testid":"hover-engagers-label",children:e("roi.conv.engagers")})}),a.jsx(Ks,{className:"w-72 text-xs leading-relaxed",children:a.jsx(DC,{})})]})})}),a.jsxs("div",{className:"flex items-center justify-center sm:justify-start gap-2 mt-1",children:[a.jsxs("div",{className:"relative w-28",children:[a.jsx(An,{id:"roi-conv",type:"number",min:0,max:100,step:.1,value:d,onChange:Y=>{p(Y.target.value),k(null)},className:"pe-7 h-9","data-testid":"input-roi-conversion"}),a.jsx("span",{className:"absolute end-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground",children:"%"})]}),a.jsxs(je,{type:"button",variant:"outline",onClick:()=>h(!0),className:"h-9 gap-1.5 border-violet-300 text-violet-700 dark:text-violet-300 hover:bg-violet-50 dark:hover:bg-violet-950/30","data-testid":"button-roi-ai-estimate",children:[a.jsx(Mn,{className:"w-4 h-4"})," ",e("roi.aiEstimate")]})]}),S&&a.jsxs("p",{className:"text-[11px] text-muted-foreground mt-1.5 flex items-start gap-1","data-testid":"text-roi-ai-rationale",children:[a.jsx(Mn,{className:"w-3 h-3 text-violet-500 mt-0.5 shrink-0"}
82)," ",S]})]})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/[0.06] p-3","data-testid":"roi-col-app",children:[a.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[a.jsx("img",{src:ei,alt:"Top Voice",className:"w-4 h-4 object-contain"}),a.jsx("span",{className:"text-xs font-semibold text-[#0A66C2] dark:text-[#4a9eff]",children:"Top Voice"})]}),a.jsx(qi,{label:a.jsxs(a.Fragment,{children:[a.jsx("span",{children:e("roi.row.engagers")}),a.jsxs("span",{className:"hidden sm:inline text-emerald-600 font-medium",children:[" ",e("roi.row.growsExp")]})]}),value:a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"hidden sm:inline",children:[e("roi.row.from")," "]}),C.toLocaleString()]}),testId:"roi-app-engagers",strong:!0}),a.jsx(qi,{label:e("roi.row.sales"),value:ae(j),testId:"roi-app-sales"}),a.jsx(qi,{label:e("roi.row.costPerSale"),value:t?"$0":q!=null?se(q):"â",testId:"roi-app-cps"})]}),a.jsxs("div",{className:"rounded-lg border border-rose-200 dark:border-rose-900/50 bg-rose-50/60 dark:bg-rose-950/20 p-3","data-testid":"roi-col-ads",children:[a.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[a.jsx(rl,{className:"w-4 h-4 text-rose-500"}),a.jsx("span",{className:"text-xs font-semibold text-rose-600 dar
82k:text-rose-400",children:"LinkedIn Ads"})]}),a.jsx(qi,{label:e("roi.row.engagers"),value:A.toLocaleString(),testId:"roi-ads-engagers",strong:!0}),a.jsx(qi,{label:e("roi.row.sales"),value:ae(E),testId:"roi-ads-sales"}),a.jsx(qi,{label:e("roi.row.costPerSale"),value:re!=null?se(re):"â",testId:"roi-ads-cps"})]})]}),ee!=null&&ee>1&&a.jsx("p",{className:"text-xs text-center text-muted-foreground mt-3","data-testid":"text-roi-summary",children:w0(e("roi.summary"),{budget:a.jsx("span",{className:"font-semibold text-foreground",children:e("roi.perMonth",{amount:se(l)})}),more:a.jsx("span",{className:"font-semibold text-[#0A66C2] dark:text-[#4a9eff]",children:e("roi.summary.more",{mult:ee})})})})]}),a.jsx(Ia,{open:m,onOpenChange:h,children:a.jsxs(ia,{className:"sm:max-w-md","data-testid":"dialog-roi-ai",children:[a.jsxs(ar,{children:[a.jsxs(la,{className:"flex items-center gap-2",children:[a.jsx(Mn,{className:"w-5 h-5 text-violet-500"})," ",e("roi.ai.title")]}),a.jsx(rr,{children:e("roi.ai.desc")})]}),a.jsx(Ic,{value:v,onChange:Y=>y(Y.target.value),placeholder:e("roi.ai.placeholder"),rows:5,className:"resize-none","data-testid":"textarea-roi-ai-desc"}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(je,{variant:"outline",onClick:()=>h(!1),disabled:x,"data-testid":"button-roi-ai-cancel",children:e("common.cancel")}),a.jsxs(je,{onClick:()=>{J()},disabled:x,className:"bg-violet-600 hover:bg-violet-700 text-white gap-1.5","data-testid":"button-roi-ai-run",children:[x?a.jsx(zt,{className:"w-4 h-4 animate-spin"}):a.jsx(Mn,{className:"w-4 h-4"}),e(x?"roi.ai.estimating":"roi.ai.estimate")]})]})]})})]})}function qi({label:t,value:e,testId:n,strong:r}){return a.jsxs("div",{className:"flex items-baseline justify-between gap-2 py-0.5",children:[a.jsx("span",{className:"text-[11px] text-muted-foreground",children:t}),a.jsx("span",{className:`tabular-nums ${r?"text-sm font-bold":"text-xs font-semibold"}`,"data-testid":`text-${n}`,children:e})]})}function fN({compact:t=!1}){const{locale:e,setLocale:n,t:r}=lr(),i=s_(e);return a.jsxs(pp,{children:[a.jsx(fp,{asChild:!0,children:a.jsxs(je,{variant:"ghost",size:"sm",className:"gap-2","aria-label":r("settings.language"),"data-testid":"button-language-switcher",children:[a.jsx(IA,{className:"h-4 w-4 shrink-0"}),!t&&a.jsx("span",{className:"truncate",children:i?.native??e})]})}),a.jsx(Yc,{align:"end",className:"max-h-[60vh] overflow-y-auto w-60",children:Lg.map(l=>a.jsxs(Nn,{onSelect:()=>n(l.code),className:"gap-2","data-testid":`language-option-${l.code}`,children:[a.jsx(Qc,{className:`h-4 w-4 shrink-0 ${l.code===e?"opacity-100":"opacity-0"}`,"aria-hidden":"true"}),a.jsx("span",{className:"flex-1 truncate",children:l.native}),l.native!==l.name&&a.jsx("span",{className:"text-xs text-muted-foreground truncate",children:l.name})]},l.code))})]})}const b0="/book";function wU(){const{isAuthenticated:t,isLoading:e,logout:n,isLoggingOut:r}=Fr();jo();const{theme:i,setTheme:l}=CS(),{t:d,locale:p}=lr(),{rowRef:m,navRef:h,fits:v}=fU();hU();const y=[{id:"calculator",label:d("lp.nav.calculator"),icon:A0,href:"/start"},{id:"how-it-works",label:d("lp.nav.howItWorks"),icon:EA},{id:"pricing",label:d("lp.nav.pricing"),icon:qA}],x=P=>document.getElementById(P)?.scrollIntoView({behavior:"smooth",block:"start"});f.useEffect(()=>(document.documentElement.classList.add("lp-route"),()=>{document.documentElement.classList.remove("lp-route")}),[]),f.useEffect(()=>{const P=window.location.hash.replace(/^#/,"");if(!P)return;const j=(()=>{try{return decodeURIComponent(P)}catch{return P}})();if(/^https?:\/\//i.test(j)||/^[a-zA-Z0-9_-]+$/.test(j)){const E=document.getElementById(j);if(E){E.scrollIntoView({behavior:"smooth",block:"start"});return}window.location.replace("/influence"+window.location.search+window.location.hash)}},[]);const{toast:_}=Oa();f.useEffect(()=>{document.title="Top Voice â LinkedIn® Organic Traffic for Your Profile or Page";const P=document.querySelector('meta[name="description"]');P&&P.setAttribute("content","See how a flow of relevant reactions (but never AI comments) boosts an exponential growth of inbound traffic, leads & sales â without outreach, pods, or risky automations. Book a free 20-min strategy call.")},[]);const S=()=>{window.open(b0,"_blank","noopener,noreferrer")||(window.location.href=b0)},k=()=>{fetch("/api/lp/leads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:"lp",bookedCalendar:!0})}).catch(()=>{}),S()},C=()=>{window.location.href=`${Sa()}${Sa().includes("?")?"&":"?"}aiSetup=1`},A=()=>{window.location.href=Sa()};return a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx("header",{className:"border-b sticky top-0 z-40 bg-background/90 backdrop-blur",children:a.jsxs("div",{ref:m,className:"max-w-6xl mx-auto px-4 sm:px-6 py-3 flex items-center justify-between gap-3 relative",children:[a.jsxs(Pn,{href:"/start",...Sh,className:"flex items-center gap-2 hover:opacity-80 transition-opacity shrink-0","data-testid":"link-header-home",children:[a.jsx("img",{src:ei,alt:"Top Voice",className:"w-8 h-8 object-contain mt-[0px] mb-[0px] pt-[-10px] pb-[-10px]"}),a.jsx("span",{className:"font-bold mt-[0px] mb-[0px] pt-[-10px] pb-[-10px] text-[25px]",children:"Top Voice"})]}),a.jsxs("nav",{ref:h,"aria-hidden":v?void 0:!0,className:`hidden lg:flex items-center gap-5 absolute left-1/2 -translate-x-1/2${v?"":" invisible pointer-events-none"}`,children:[y.map(P=>P.href?a.jsx(Pn,{href:P.href,...Sh,tabIndex:v?void 0:-1,className:"text-sm text-muted-foreground hover:text-foreground transition-colors whitespace-nowrap","data-testid":`nav-lp-${P.id}`,children:P.label},P.id):a.jsx("button",{type:"button",tabIndex:v?void 0:-1,onClick:()=>x(P.id),className:"text-sm text-muted-foreground hover:text-foreground transition-colors whitespace-nowrap","data-testid":`nav-lp-${P.id}`,children:P.label},P.id)),a.jsx("button",{type:"button",tabIndex:v?void 0:-1,onClick:k,className:"text-sm text-muted-foreground hover:text-foreground transition-colors whitespace-nowrap","data-testid":"nav-lp-book",children:d("lp.nav.book")})]}),a.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2",children:[a.jsx(W9,{}),a.jsxs(je,{onClick:C,size:"sm",className:"bg-[#0A66C2] hover:bg-[#08538f] text-white gap-1.5 h-9","data-testid":"button-header-cta",children:[a.jsx(ra,{className:"w-4 h-4"})," ",a.jsx("span",{className:"hidden sm:inline",children:d("lp.header.aiSetup")})]}),!e&&(t?a.jsx(je,{onClick:()=>n(),disabled:r,variant:"ghost",size:"sm",className:"hidden lg:inline-flex h-9 w-9 px-0","aria-label":d("lp.header.signOut"),title:d("lp.header.signOut"),"data-testid":"button-header-signout",children:a.jsx(Bu,{className:"w-4 h-4"})}):a.jsx(je,{onClick:()=>{window.location.href="/auth"},variant:"ghost",size:"sm",className:"hidden lg:inline-flex h-9 w-9 px-0","aria-label":d("lp.header.signIn"),title:d("lp.header.signIn"),"data-testid":"button-header-signin",children:a.jsx(zu,{className:"w-4 h-4"})})),a.jsx(fN,{compact:!0}),a.jsxs(pp,{children:[a.jsx(fp,{asChild:!0,children:a.jsx(je,{variant:"ghost",size:"sm",className:"hidden lg:inline-flex h-9 w-9 px-0","aria-label":d("lp.header.toggleTheme"),"data-testid":"button-header-theme",children:i==="system"?a.jsx(gc,{className:"w-4 h-4"}):i==="dark"?a.jsx(yc,{className:"w-4 h-4"}):a.jsx(vc,{className:"w-4 h-4"})})}),a.jsxs(Yc,{align:"end",children:[a.jsxs(Nn,{onClick:()=>l("light"),className:"cursor-pointer gap-2","data-testid":"button-theme-light",children:[a.jsx(vc,{className:"w-4 h-4"})," ",d("lp.theme.light")," ",i==="light"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]}),a.jsxs(Nn,{onClick:()=>l("dark"),className:"cursor-pointer gap-2","data-testid":"button-theme-dark",children:[a.jsx(yc,{className:"w-4 h-4"})," ",d("lp.theme.dark")," ",i==="dark"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]}),a.jsxs(Nn,{onClick:()=>l("system"),className:"cursor-pointer gap-2","data-testid":"button-theme-system",children:[a.jsx(gc,{className:"w-4 h-4"})," ",d("lp.theme.system")," ",i==="system"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]})]})]}),a.jsxs(pp,{children:[a.jsx(fp,{asChild:!0,children:a.jsx(je,{variant:"ghost",size:"sm",className:`${v?"lg:hidden ":""}h-9 w-9 px-0`,"aria-label":d("lp.header.openMenu"),"data-testid":"button-header-burger",children:a.jsx(OA,{className:"w-5 h-5"})})}),a.jsxs(Yc,{align:"end",className:"w-56",children:[y.map(P=>P.href?a.jsx(Nn,{asChild:!0,className:"cursor-pointer gap-2","data-testid":`menu-item-section-${P.id}`,children:a.jsxs(Pn,{href:P.href,...Sh,children:[a.jsx(P.icon,{className:"w-4 h-4"})," ",P.label]})},P.id):a.jsxs(Nn,{onClick:()=>x(P.id),className:"cursor-pointer gap-2","data-testid":`menu-item-section-${P.id}`,children:[a.jsx(P.icon,{className:"w-4 h-4"})," ",P.label]},P.id)),a.jsx(Uu,{}),a.jsxs(Nn,{onClick:A,className:"cursor-pointer gap-2","data-testid":"menu-item-manual",children:[a.jsx(Hu,{className:"w-4 h-4"})," ",d("lp.cta.manual")]}),a.jsxs(Nn,{onClick:C,className:"cursor-pointer gap-2","data-testid":"menu-item-instant-ai",children:[a.jsx(ra,{className:"w-4 h-4 text-[#0A66C2]"})," ",d("lp.cta.instantAi")]}),a.jsx(Nn,{asChild:!0,children:a.jsxs("a",{href:ks(Xp,p),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 cursor-pointer","data-testid":"menu-item-add-chatgpt",children:[a.jsx(nv,{className:"w-4 h-4"})," ",d("lp.menu.addChatgpt")]})}),a.jsx(Nn,{asChild:!0,children:a.jsxs("a",{href:ks(Jp,p),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 cursor-pointer","data-testid":"menu-item-add-claude",children:[a.jsx(Cy,{className:"w-4 h-4"})," ",d("lp.menu.addClaude")]})}),a.jsxs(Nn,{onClick:k,className:"cursor-pointer gap-2","data-testid":"menu-item-book-call",children:[a.jsx(vA,{className:"w-4 h-4 text-emerald-600"})," ",d("lp.nav.book")]}),!e&&a.jsxs(a.Fragment,{children:[a.jsx(Uu,{}),t?a.jsxs(Nn,{onClick:()=>n(),disabled:r,className:"cursor-pointer gap-2","data-testid":"menu-item-signout",children:[a.jsx(Bu,{className:"w-4 h-4"})," ",d("lp.header.signOut")]}):a.jsxs(Nn,{onClick:()=>{window.location.href="/auth"},className:"cursor-pointer gap-2","data-testid":"menu-item-signin",children:[a.jsx(zu,{className:"w-4 h-4"})," ",d("lp.header.signIn")]})]}),a.jsx(Uu,{}),a.jsx(QS,{className:"text-xs text-muted-foreground font-normal",children:d("lp.theme.label")}),a.jsxs(Nn,{onClick:()=>l("light"),className:"cursor-pointer gap-2","data-testid":"menu-item-theme-light",children:[a.jsx(vc,{className:"w-4 h-4"})," ",d("lp.theme.light")," ",i==="light"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]}),a.jsxs(Nn,{onClick:()=>l("dark"),className:"cursor-pointer gap-2","data-testid":"menu-item-theme-dark",children:[a.jsx(yc,{className:"w-4 h-4"})," ",d("lp.theme.dark")," ",i==="dark"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]}),a.jsxs(Nn,{onClick:()=>l("system"),className:"cursor-pointer gap-2","data-testid":"menu-item-theme-system",children:[a.jsx(gc,{className:"w-4 h-4"})," ",d("lp.theme.system")," ",i==="system"&&a.jsx("span",{className:"ms-auto text-xs",children:"â"})]})]})]})]})]})}),a.jsxs("section",{className:"max-w-6xl mx-auto px-4 sm:px-6 pt-12 sm:pt-10 pb-12 text-center",children:[a.jsxs("div",{className:"flex items-center justify-center gap-2 sm:gap-3 flex-wrap mb-6 sm:mb-8",children:[a.jsxs(Qi,{openDelay:120,closeDelay:120,children:[a.jsx(Zi,{asChild:!0,children:a.jsx("span",{className:"px-3 py-1.5 text-xs sm:text-sm font-medium rounded-md border border-rose-300 dark:border-rose-800/60 text-rose-600 dar
82k:text-rose-400 line-through bg-rose-50 dark:bg-rose-950/30 cursor-help decoration-rose-700/70 decoration-2",tabIndex:0,"data-testid":"badge-bulk-cold-outreach",children:d("lp.badge.outreach.title")})}),a.jsx(Ks,{side:"bottom",align:"center",className:"w-[300px] sm:w-[360px] text-xs sm:text-sm leading-relaxed text-start","data-testid":"hover-bulk-cold-outreach",children:a.jsx("p",{className:"no-underline",children:d("lp.badge.outreach.body")})})]}),a.jsxs(Qi,{openDelay:120,closeDelay:120,children:[a.jsx(Zi,{asChild:!0,children:a.jsx("span",{className:"px-3 py-1.5 text-xs sm:text-sm font-medium rounded-md border border-amber-300 dark:border-amber-700/60 text-amber-700 dark:text-amber-400 line-through bg-amber-50 dark:bg-amber-950/30 cursor-help decoration-amber-700/70 decoration-2",tabIndex:0,"data-testid":"badge-pods-violations-spam",children:d("lp.badge.pods.title")})}),a.jsx(Ks,{side:"bottom",align:"center",className:"w-[300px] sm:w-[360px] text-xs sm:text-sm leading-relaxed text-start","data-testid":"hover-pods-violations-spam",children:a.jsx("p",{className:"no-underline",children:d("lp.badge.pods.body")})})]}),a.jsxs(Qi,{openDelay:120,closeDelay:120,children:[a.jsx(Zi,{asChild:!0,children:a.jsx("span",{className:"px-3 py-1.5 text-xs sm:text-sm font-medium rounded-md border border-emerald-300 dark:border-emerald-800/60 text-emerald-700 dark:text-emerald-400 line-through bg-emerald-50 dark:bg-emerald-950/30 cursor-help decoration-emerald-700/70 decoration-2",tabIndex:0,"data-testid":"badge-account-connection",children:d("lp.badge.rental.title")})}),a.jsx(Ks,{side:"bottom",align:"center",className:"w-[300px] sm:w-[360px] text-xs sm:text-sm leading-relaxed text-start","data-testid":"hover-account-connection",children:a.jsx("p",{className:"no-underline",children:d("lp.badge.rental.body")})})]})]}),a.jsxs("h1",{className:"font-extrabold leading-tight tracking-tight mb-4 text-center hyphens-auto [overflow-wrap:anywhere] sm:text-6xl",children:[a.jsx("span",{className:"block sm:inline text-balance text-foreground sm:text-[60.5px] sm:whitespace-normal sm:[word-spacing:0.1em] text-[21px]",children:d("lp.hero.title1")}),a.jsx("br",{className:"hidden sm:inline"}),a.jsx("span",{className:"block sm:inline text-balance text-[#0A66C2] dark:text-[#4a9eff] text-[clamp(14px,calc((100vw_-_2rem)/16.6),36px)] sm:text-[length:inherit] sm:whitespace-normal sm:[word-spacing:0.05em]",children:d("lp.hero.title2")})]}),a.jsxs("p",{className:"max-w-[calc(42rem+3ch)] mx-auto text-muted-foreground mb-8 sm:text-[19px] [word-spacing:-1px] text-[clamp(12px,calc(4.615vw_-_5.31px),15px)]",children:[d("lp.hero.sub.lead")," ",a.jsxs(Qi,{openDelay:150,closeDelay:100,children:[a.jsx(Zi,{asChild:!0,children:a.jsx("button",{type:"button",onClick:()=>document.getElementById("how-it-works-step-4")?.scrollIntoView({behavior:"smooth"}),className:"underline decoration-dotted underline-offset-2 text-[#0A66C2] dark:text-[#4a9eff] hover:text-[#08538f] dark:hover:text-[#7ab8ff] font-medium cursor-pointer",children:d("lp.hero.sub.algoLink")})}),a.jsx(Ks,{side:"top",align:"center",className:"w-[300px] sm:w-[360px] p-0 border-emerald-500/30 bg-gradient-to-r from-emerald-500/10 to-emerald-700/10 backdrop-blur-sm",children:a.jsx("div",{className:"p-4 sm:p-5 cursor-pointer",onClick:()=>document.getElementById("how-it-works-step-4")?.scrollIntoView({behavior:"smooth"}),children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"w-10 h-10 rounded-full bg-emerald-600 flex items-center justify-center shrink-0",children:a.jsx(Tg,{className:"w-5 h-5 text-white"})}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-bold text-foreground mb-1 text-sm leading-snug",children:d("lp.hero.algo.title")}),a.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:d("lp.hero.algo.body")})]})]})})})]})," ",d("lp.hero.sub.tail")]}),a.jsx(xU,{}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 max-w-4xl mx-auto",children:[a.jsx(je,{onClick:C,className:`w-full bg-[#0A66C2] hover:bg-[#08538f] text-white px-4 text-base gap-2 ${v0}`,"data-testid":"button-hero-cta",children:d("lp.hero.cta")}),a.jsx(uU,{onBook:k,testIdPrefix:"lp-hero"}),a.jsx(je,{variant:"outline",onClick:()=>document.getElementById("how-it-works")?.scrollIntoView({behavior:"smooth"}),className:`w-full px-4 text-base ${v0}`,"data-testid":"button-how-it-works",children:d("lp.hero.howItWorks")})]}),a.jsx("p",{className:"text-center text-sm text-muted-foreground mt-3 mb-[10px]",children:d("lp.hero.cancelAnytime")})]}),a.jsx(bU,{}),a.jsx("section",{className:"max-w-5xl mx-auto px-4 sm:px-6 -mt-4 sm:-mt-6 pb-6"}),a.jsx(dU,{}),a.jsx("section",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-10",children:a.jsx(Xn,{className:"p-6 sm:p-8 bg-gradient-to-r from-[#0A66C2]/10 to-emerald-500/10 border-[#0A66C2]/20",children:a.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-between gap-4 text-center md:text-start",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-xl sm:text-2xl font-bold mb-1",children:d("lp.band.title")}),a.jsx("p",{className:"text-sm text-muted-foreground",children:d("lp.band.sub")})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 shrink-0",children:[a.jsxs(je,{onClick:C,className:"bg-[#0A66C2] hover:bg-[#08538f] text-white h-11 px-5 gap-2","data-testid":"button-band-instant-ai",children:[a.jsx(ra,{className:"w-4 h-4"})," ",d("lp.cta.instantAi")]}),a.jsxs(je,{variant:"outline",onClick:A,className:"h-11 px-5 gap-2 bg-background","data-testid":"button-band-manual",children:[a.jsx(Hu,{className:"w-4 h-4"})," ",d("lp.cta.manual")]})]})]})})}),a.jsx("section",{className:"bg-muted/30 border-y",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-14",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-center mb-2",children:d("lp.feelings.title")}),a.jsx("p",{className:"text-center text-muted-foreground mb-10 max-w-2xl mx-auto",children:d("lp.feelings.sub")}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:[a.jsx(Wi,{icon:a.jsx(fA,{className:"w-5 h-5 text-[#0A66C2]"}),title:d("lp.feeling.ripples.title"),body:d("lp.feeling.ripples.body")}),a.jsx(Wi,{icon:a.jsx(Cc,{className:"w-5 h-5 text-emerald-600"}),title:d("lp.feeling.momentum.title"),body:d("lp.feeling.momentum.body")}),a.jsx(Wi,{icon:a.jsx(Mn,{className:"w-5 h-5 text-violet-600"}),title:d("lp.feeling.reach.title"),body:d("lp.feeling.reach.body")}),a.jsx(Wi,{icon:a.jsx(Th,{className:"w-5 h-5 text-amber-500"}),title:d("lp.feeling.speed.title"),body:d("lp.feeling.speed.body")}),a.jsx(Wi,{icon:a.jsx(Pg,{className:"w-5 h-5 text-rose-500"}),title:d("lp.feeling.warmLeads.title"),body:d("lp.feeling.warmLeads.body")}),a.jsx(Wi,{icon:a.jsx(yp,{className:"w-5 h-5 text-emerald-600"}),title:d("lp.feeling.reputation.title"),body:d("lp.feeling.reputation.body")})]})]})}),a.jsxs("section",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-14",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-center mb-2",children:d("lp.different.title")}),a.jsx("p",{className:"text-center text-muted-foreground mb-10 max-w-2xl mx-auto",children:d("lp.different.sub")}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[a.jsx(Nh,{tone:"rose",badge:d("lp.badge.outreach.title"),body:d("lp.badge.outreach.body")}),a.jsx(Nh,{tone:"amber",badge:d("lp.badge.pods.title"),body:d("lp.badge.pods.body")}),a.jsx(Nh,{tone:"emerald",badge:d("lp.badge.rental.title"),body:d("lp.badge.rental.body")})]})]}),a.jsx("section",{id:"lp-form",className:"px-4 sm:px-6 py-14",children:a.jsxs("div",{className:"max-w-6xl mx-auto flex flex-col lg:flex-row lg:items-start gap-6 lg:gap-8",children:[a.jsxs(Xn,{className:"p-0 lg:flex-1 lg:min-w-0 order-2 overflow-hidden flex flex-col",children:[a.jsx("div",{className:"px-5 pt-5 pb-3 border-b",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-10 h-10 rounded-full bg-[#0A66C2]/10 flex items-center justify-center shrink-0",children:a.jsx(Mn,{className:"w-5 h-5 text-[#0A66C2]"})}),a.jsxs("div",{className:"min-w-0",children:[a.jsx("h2",{className:"text-lg sm:text-xl font-bold leading-tight",children:d("lp.copilot.title")}),a.jsx("p",{className:"text-sm text-muted-foreground",children:d("lp.copilot.sub")})]})]})}),a.jsx("div",{className:"flex-1 min-h-[420px] lg:min-h-[560px] flex flex-col ms-[10px] me-[10px]",children:a.jsx(f1,{consent:!1,onConsentChange:()=>{}})})]}),a.jsx("div",{id:"pricing",className:"order-1 lg:sticky lg:top-4 lg:flex-shrink-0",children:a.jsx(ig,{mode:"marketing",showAccountsSummary:!1,onSubmit:async(P,j)=>{try{const E=j?.rentedOnly??!1,F=j?.setupRental??!1;if(E){const se=await fetch("/api/rentals/checkout",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({successPath:"/grow?rental=success&setupAsset=1",cancelPath:"/"})});if(se.status===401){_({title:d("lp.toast.signUpFirst"),description:d("lp.toast.signUpFirst.rental"),variant:"default"}),C();return}const ae=await se.json().catch(()=>({}));ae?.url?window.location.href=ae.url:se.ok&&ae?.applied==="immediate"?window.location.href="/grow?rental=success&setupAsset=1&inPlace=1":_({title:d("lp.toast.checkout.failed"),description:ae?.error||d("lp.toast.checkout.retry"),variant:"destructive"});return}const z=j?.noTrial??E,re=await fetch("/api/performance-plan/checkout",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({engagers:P,noTrial:z,setupRental:F,successPath:F?"/grow?perfPlan=success&setupRental=1":"/grow?perfPlan=success",cancelPath:"/"})});if(re.status===401){_({title:d("lp.toast.signUpFirst"),description:d("lp.toast.signUpFirst.plan"),variant:"default"}),C();return}const ee=await re.json().catch(()=>({}));ee?.url?window.location.href=ee.url:_({title:d("lp.toast.checkout.failed"),description:ee?.error||d("lp.toast.checkout.retry"),variant:"destructive"})}catch(E){_({title:d("lp.toast.network"),description:E?.message||d("lp.toast.network.retry"),variant:"destructive"})}}})})]})}
82),a.jsx("footer",{className:"border-t mt-4",children:a.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 py-6 text-xs text-muted-foreground",children:a.jsx(vU,{})})}),a.jsx(q9,{})]})}function Wi({icon:t,title:e,body:n}){return a.jsxs(Xn,{className:"p-5",children:[a.jsx("div",{className:"w-9 h-9 rounded-md bg-background border flex items-center justify-center mb-3",children:t}),a.jsx("h3",{className:"font-semibold text-base mb-1",children:e}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n})]})}function Nh({badge:t,body:e,tone:n="rose"}){const r={rose:"border-rose-300 dark:border-rose-800/60 text-rose-600 dark:text-rose-400 bg-rose-50 dark:bg-rose-950/30",amber:"border-amber-300 dark:border-amber-700/60 text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-950/30",emerald:"border-emerald-300 dark:border-emerald-800/60 text-emerald-700 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-950/30"};return a.jsxs(Xn,{className:"p-5",children:[a.jsx("span",{className:`inline-block px-2.5 py-1 text-xs font-medium rounded-md border line-through mb-3 ${r[n]}`,children:t}),a.jsx("div",{className:"text-sm text-muted-foreground leading-relaxed",children:e})]})}function bU(){const t=Jt(),e=9,n=f.useRef(null),[r,i]=f.useState(!1),[l,d]=f.useState(1),[p,m]=f.useState(!1);f.useEffect(()=>{const v=y=>{y.source===n.current?.contentWindow&&(y.data?.type==="scene-change"&&d(y.data.scene+1),y.data?.type==="autoplay-state"&&m(y.data.playing))};return window.addEventListener("message",v),()=>window.removeEventListener("message",v)},[]);const h=f.useCallback(v=>{n.current?.contentWindow?.postMessage(v,"*")},[]);return a.jsx("section",{className:"max-w-5xl mx-auto px-4 sm:px-6 -mt-4 sm:-mt-6 pb-10",children:a.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-2xl ring-1 ring-border bg-background",children:[a.jsx("div",{className:"relative h-[78svh] max-h-[680px] sm:h-auto sm:max-h-none sm:aspect-[3420/1970]",children:r?a.jsx("iframe",{ref:n,src:`/how-it-works?embed=1&theme=${document.documentElement.classList.contains("dark")?"dark":"light"}&lang=${document.documentElement.lang||"en"}`,title:t("lp.explainer.iframeTitle"),className:"absolute inset-0 w-full h-full border-0",allow:"autoplay","data-testid":"iframe-hero-explainer"}):a.jsxs("button",{type:"button",onClick:()=>{i(!0),m(!0)},className:"absolute inset-0 w-full h-full flex items-center justify-center group bg-background","data-testid":"button-explainer-play",children:[a.jsx(pU,{}),a.jsx("div",{className:"absolute inset-0 bg-slate-950/55"}),a.jsxs("div",{className:"relative flex flex-col items-center gap-4 text-white",children:[a.jsx("div",{className:"w-20 h-20 sm:w-24 sm:h-24 rounded-full bg-white/95 flex items-center justify-center shadow-2xl group-hover:scale-110 transition-transform",children:a.jsx(Ih,{className:"w-10 h-10 sm:w-12 sm:h-12 text-[#0A66C2] ms-1",fill:"currentColor"})}),a.jsxs("div",{className:"text-center px-4",children:[a.jsx("div",{className:"text-lg sm:text-xl font-semibold mb-1",children:t("lp.explainer.watch")}),a.jsx("div",{className:"text-xs sm:text-sm text-white/80",children:t("lp.explainer.watchSub")})]})]})]})}),r&&a.jsxs("div",{className:"flex items-center justify-between px-3 py-2 sm:px-5 sm:py-3 bg-muted/40 border-t border-border",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:()=>h({type:"prev-scene"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-muted text-foreground transition-colors hover:bg-muted/60","data-testid":"button-explainer-prev","aria-label":t("lp.explainer.prev"),children:a.jsx(Sg,{size:16})}),a.jsx("button",{onClick:()=>h({type:"toggle-autoplay"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-primary text-primary-foreground transition-opacity hover:opacity-90","data-testid":"button-explainer-playpause","aria-label":t(p?"lp.explainer.pause":"lp.explainer.play"),children:p?a.jsx(R0,{size:14}):a.jsx(Ih,{size:14})}),a.jsx("button",{onClick:()=>h({type:"next-scene"}),className:"flex items-center justify-center w-8 h-8 rounded-md bg-muted text-foreground transition-colors hover:bg-muted/60","data-testid":"button-explainer-next","aria-label":t("lp.explainer.next"),children:a.jsx(gp,{size:16})}),a.jsxs("span",{className:"text-[11px] sm:text-xs ms-2 text-muted-foreground tabular-nums",children:[l," / ",e]})]}),a.jsx("button",{onClick:()=>{i(!1),m(!1),d(1)},className:"text-[11px] sm:text-xs px-3 py-1.5 rounded-md text-muted-foreground transition-colors hover:bg-muted","data-testid":"button-explainer-close",children:t("lp.explainer.close")})]})]})})}const av=["warmlike.com","warmliker.com","warmlikes.com"],_U=av[0],t7=`https://${_U}`;function kU(t){return(t||"").trim().toLowerCase().replace(/^https?:\/\//,"").replace(/\/.*$/,"").split(":")[0].replace(/\.+$/,"")}function CU(t){return av.some(e=>t===e||t.endsWith(`.${e}`))}function SU(t){const e=kU(t);return e?CU(e)?!0:av.some(n=>e.includes(`${n}.`))?!1:!!(e==="warmlike"||e.startsWith("warmlike.")):!1}const _0="wl_host_override";function NU(){try{const t=new URLSearchParams(window.location.search);if(t.has("wl")){const e=t.get("wl")!=="0"&&t.get("wl")!=="false";return window.sessionStorage.setItem(_0,e?"1":"0"),e}return window.sessionStorage.getItem(_0)==="1"}catch{return!1}}function PU(){try{if(SU(window.location.hostname))return!0}catch{}return NU()}const AU=[/^\/top-rated-voice-admin(\/|$)/i];function TU(t){try{return AU.some(e=>e.test(t||""))}catch{return!1}}function jU(t){return t?/Android/i.test(t)?"android":/iPhone|iPad|iPod/i.test(t)?"ios":"unknown":"unknown"}function IU(t,e){let n;try{n=new URL(t)}catch{return null}if(n.protocol!=="https:"&&n.protocol!=="http:")return null;/^\/hub\//.test(n.pathname)&&/^#[a-z]{2,20}$/i.test(n.hash)&&!n.searchParams.has("tab")&&n.searchParams.set("tab",n.hash.slice(1));const r=`${n.host}${n.pathname}${n.search}`;if(e==="android"){const i=encodeURIComponent(`${n.origin}${n.pathname}${n.search}`);return`intent://${r}#Intent;scheme=https;S.browser_fallback_url=${i};end`}return e==="ios"?`x-safari-https://${r}`:null}const mN="wl_webview_escape_tried",hN="wl_webview_stay_here";function EU(){try{return sessionStorage.getItem(mN)==="1"}catch{return!1}}
82function RU(){try{sessionStorage.setItem(mN,"1")}catch{}}function OU(){try{return sessionStorage.getItem(hN)==="1"}catch{return!1}}function MU(){try{sessionStorage.setItem(hN,"1")}catch{}}function LU(t){if(typeof document>"u")return()=>{};let e=null;try{e=document.createElement("iframe"),e.style.display="none",e.setAttribute("aria-hidden","true"),e.src=t,document.body.appendChild(e)}catch{e=null}return()=>{try{e?.parentNode?.removeChild(e)}catch{}}}const DU={linkedin:"LinkedIn",instagram:"Instagram",facebook:"Facebook",wechat:"WeChat"};function FU({testUa:t,testUrl:e,silentTimeoutMs:n=1200,tapTimeoutMs:r=1800,onPhaseChange:i}={}){const[l,d]=f.useState("hidden"),[p,m]=f.useState(null),[h,v]=f.useState(null),y=f.useRef(null),x=f.useRef(null),_=f.useRef(null),S=f.useCallback(j=>{d(j),i?.(j)},[i]),k=f.useCallback((j,E)=>{if(typeof window>"u"||typeof document>"u")return;_.current?.();const F=()=>{y.current!==null&&window.clearTimeout(y.current),y.current=null,_.current=null,document.removeEventListener("visibilitychange",z),window.removeEventListener("pagehide",q)};function z(){document.visibilityState==="hidden"&&F()}function q(){F()}_.current=F,document.addEventListener("visibilitychange",z),window.addEventListener("pagehide",q),y.current=window.setTimeout(()=>{F(),E()},j)},[]);f.useEffect(()=>{if(typeof navigator>"u"||typeof window>"u")return;const j=t??navigator.userAgent??"",E=m1(j);if(!E||OU())return;m(E);const F=e??window.location.href,z=IU(F,jU(j));if(v(z),!z){S("instruct");return}if(EU()){S("offer");return}RU(),S("silent"),x.current=LU(z),k(n,()=>S("offer"))},[t,e]),f.useEffect(()=>()=>{_.current?.(),_.current=null,x.current?.(),x.current=null},[]);const C=f.useCallback(()=>{k(r,()=>S("instruct"))},[k,r,S]),A=f.useCallback(()=>{_.current?.(),x.current?.(),x.current=null,MU(),S("hidden")},[S]);if(l==="hidden"||l==="silent")return null;const P=p?DU[p]:"this app";return a.jsx("div",{className:"wl-escape",role:"dialog","aria-modal":"true","aria-labelledby":"wl-escape-title","data-testid":"wl-escape","data-phase":l,"data-in-app-browser":p??void 0,children:a.jsxs("div",{className:"wl-escape__card",children:[a.jsxs("p",{className:"wl-escape__eyebrow",children:["You're in ",P,"'s built-in browser"]}),l==="offer"?a.jsxs(a.Fragment,{children:[a.jsx("h2",{className:"wl-escape__title",id:"wl-escape-title",children:"Open this page in your browser"}),a.jsx("p",{className:"wl-escape__body",children:"Links don't work in here â including the ones our chat sends you. One tap fixes it, and you'll land on this same page."}),a.jsx("a",{className:"wl-escape__cta",href:h??void 0,onClick:C,"data-testid":"wl-escape-open",children:"Open in browser"})]}):a.jsxs(a.Fragment,{children:[a.jsxs("h2",{className:"wl-escape__title",id:"wl-escape-title",children:[P," won't let us do it for you"]}),a.jsxs("p",{className:"wl-escape__body","data-testid":"wl-escape-instruct",children:["It takes two taps by hand: ",a.jsx("strong",{children:h1}),". The menu is at the top corner of this screen. This page will be waiting on the other side."]})]}),a.jsx("button",{className:"wl-escape__stay",onClick:A,"data-testid":"wl-escape-stay",children:"Continue here anyway"})]})})}class UU extends f.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error("[WebViewEscapeGate] suppressed",e)}render(){return this.state.failed?null:this.props.children}}function $U(t={}){return a.jsx(UU,{children:a.jsx(FU,{...t})})}function zU({children:t}){const e=Jt();return a.jsxs("div",{className:"min-h-dvh flex flex-col bg-background",children:[a.jsxs("header",{className:"flex items-center gap-2 border-b px-3 sm:px-4 h-14 shrink-0",children:[a.jsxs(Pn,{href:Sa(),className:"flex items-center gap-2 hover:opacity-80 transition-opacity","data-testid":"shell-logo",children:[a.jsx("img",{src:ei,alt:"Top Voice",className:"h-7 w-7 object-contain"}),a.jsx("span",{className:"font-bold text-[15px] hidden sm:inline",children:"Top Voice"})]}),a.jsxs("div",{className:"ms-auto flex items-center gap-1",children:[a.jsx(fN,{compact:!0}),a.jsx(ZS,{}),a.jsx(dN,{})]})]}),a.jsx("main",{className:"flex-1 min-h-0 overflow-auto flex flex-col","data-testid":"shell-main",children:t}),a.jsx("footer",{className:"border-t px-3 sm:px-4 py-2.5 shrink-0",children:a.jsx(je,{variant:"ghost",size:"sm",asChild:!0,className:"gap-1.5","data-testid":"shell-back",children:a.jsxs(Pn,{href:Sa(),children:[a.jsx(hA,{className:"h-3.5 w-3.5"}),e("shell.back")]})})})]})}const Ph=f.lazy(()=>Ee(()=>import("./chat-Cn4EOeGR.js"),__vite__mapDeps([12,5,13,14,10,15,16,17,18,19,20]))),BU=f.lazy(()=>Ee(()=>import("./welcome-R1TiMbwk.js"),[])),VU=f.lazy(()=>Ee(()=>import("./search-dNSpjCdB.js"),__vite__mapDeps([21,14,10,15,5,22,13,8,23,7,2,24,6,16,25,20,17,26]))),HU=f.lazy(()=>Ee(()=>import("./auth-DbyBSf7A.js"),__vite__mapDeps([27,28,25,29]))),qU=f.lazy(()=>Ee(()=>import("./verify-dPW8TKLb.js"),__vite__mapDeps([30,28,25,31,32]))),WU=f.lazy(()=>Ee(()=>import("./privacy-DVdtpu40.js"),__vite__mapDeps([33,5]))),GU=f.lazy(()=>Ee(()=>import("./terms-DrrTx6HO.js"),__vite__mapDeps([34,5]))),KU=f.lazy(()=>Ee(()=>import("./admin-Dmvc5nio.js"),__vite__mapDeps([35,5,13,8,36,26,37,10,38,32,39,20,25,40,17,18,15,7]))),YU=f.lazy(()=>Ee(()=>import("./managed-page-BOV1-hHS.js"),__vite__mapDeps([41,42,36,26,4,37,43]))
82),QU=f.lazy(()=>Ee(()=>import("./forgot-password-DBpMZi3P.js"),__vite__mapDeps([44,28,25]))),ZU=f.lazy(()=>Ee(()=>import("./reset-password-LWR62CQP.js"),__vite__mapDeps([45,28,25,29]))),XU=f.lazy(()=>Ee(()=>import("./affiliate-C9-C_3Ph.js"),__vite__mapDeps([46,39,10]))),gN=f.lazy(()=>Ee(()=>import("./visibility-B4bGoi_M.js"),__vite__mapDeps([47,1,2,3,4,5,6,7,48,10,22,25,40,8,16,17])));function JU(){const[,t]=jo(),{isAuthenticated:e,isLoading:n}=Fr(),r=Fg()==="classic";return f.useEffect(()=>{r&&e&&t(Sa()+window.location.search,{replace:!0})},[r,e,t]),r&&(n||e)?null:a.jsx(_r,{})}function e8(){const[,t]=jo(),e=Fg()==="classic";return f.useEffect(()=>{if(e)return;const n=new URLSearchParams(window.location.search),r=n.get("campaignId")||n.get("campaign");if(n.get("connect")==="1"||n.get("pendingSubscribe")==="trial"){const i=new URLSearchParams;n.get("connect")==="1"&&i.set("connect","1"),n.get("pendingSubscribe")==="trial"&&i.set("pendingSubscribe","trial");const l=n.get("setupCampaign")||r;l&&i.set("setupCampaign",l),t(`/account?${i.toString()}`,{replace:!0});return}if(n.get("subscribed")==="trial"){const i=new URLSearchParams({perfPlan:"success"}),l=n.get("session_id");l&&i.set("session_id",l),r&&i.set("trialCampaign",r),t(`/grow?${i.toString()}`,{replace:!0});return}t(r?`/funnel?campaign=${encodeURIComponent(r)}`:"/funnel",{replace:!0})},[e,t]),e?a.jsx(gN,{}):null}const _r=f.lazy(()=>Ee(()=>import("./index-BAOj7ToG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),t8=f.lazy(()=>Ee(()=>import("./ai-autopilot-C4CnIuDf.js"),__vite__mapDeps([49,48]))),n8=f.lazy(()=>Ee(()=>import("./video-preview-DPbUVcAU.js"),__vite__mapDeps([50,23,7]))),o8=f.lazy(()=>Ee(()=>import("./share-BS_qzYbh.js"),__vite__mapDeps([51,31,52,7]))),a8=f.lazy(()=>Ee(()=>import("./nonprofit-CYS8V7G1.js"),__vite__mapDeps([53,9,54,19]))),r8=f.lazy(()=>Ee(()=>import("./startup-BlAsEivG.js"),__vite__mapDeps([55,9,54,24]))),s8=f.lazy(()=>Ee(()=>import("./my-templates-xXdDpJGo.js"),__vite__mapDeps([56,5,13,32]))),i8=f.lazy(()=>Ee(()=>import("./WarmLikeApp-DpYPJzbb.js"),[])),l8=f.lazy(()=>Ee(()=>import("./hub-CUtNE3rb.js"),__vite__mapDeps([57,58,59,11,43,60,3,24])));function Ws(){return a.jsx("div",{className:"flex-1","aria-hidden":"true"})}class Ah extends f.Component{constructor(e){super(e),this.state={hasError:!1,errorMsg:"",retryCount:0}}static getDerivedStateFromError(e){return{hasError:!0,errorMsg:String(e?.message||e)}}componentDidMount(){}componentDidCatch(e,n){console.error("App error:",e,n),(e?.message?.includes("insertBefore")||e?.message?.includes("removeChild")||e?.message?.includes("appendChild")||e?.message?.includes("not a child"))&&this.state.retryCount<2&&setTimeout(()=>{this.setState(i=>({hasError:!1,errorMsg:"",retryCount:i.retryCount+1}))},500)}render(){return this.state.hasError?a.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100vh",fontFamily:"system-ui, sans-serif"},children:a.jsxs("div",{style:{textAlign:"center",padding:"2rem",maxWidth:"500px"},children:[a.jsx("h2",{style:{fontSize:"1.1rem",fontWeight:600,marginBottom:"0.5rem"},children:"Something went wrong"}),a.jsx("p",{style:{fontSize:"0.75rem",color:"#888",marginBottom:"1rem",wordBreak:"break-word"},children:this.state.errorMsg}),a.jsx("button",{style:{padding:"0.5rem 1.5rem",background:"#3b82f6",color:"#fff",border:"none",borderRadius:"6px",cursor:"pointer"},onClick:()=>{window.location.href=window.location.pathname},children:"Reload"})]})}):this.props.children}}function Au(){return a.jsxs(yT,{children:[a.jsx(At,{path:"/start",children:()=>a.jsx(JU,{})}),a.jsx(At,{path:"/ai-autopilot",component:t8}),a.jsx(At,{path:"/linkedin",component:e8}),a.jsx(At,{path:"/funnel",component:_r}),a.jsx(At,{path:"/react",component:_r}),a.jsx(At,{path:"/pull",component:_r}),a.jsx(At,{path:"/engage",component:_r}),a.jsx(At,{path:"/account",component:_r}),a.jsx(At,{path:"/grow",component:_r}),a.jsx(At,{path:"/grow/contentSettings",component:_r}),a.jsx(At,{path:"/grow/:stage",component:_r}),a.jsx(At,{path:"/visibility",children:()=>(window.location.replace("/linkedin"+window.location.search),null)}),a.jsx(At,{path:"/1",component:gN}),a.jsx(At,{path:"/",component:Ph}),a.jsx(At,{path:"/influence",component:Ph}),a.jsx(At,{path:"/flow",children:()=>(window.location.replace("/influence"+window.location.search+window.location.hash),null)}),a.jsx(At,{path:"/chat",children:()=>(window.location.replace("/influence"+window.location.search+window.location.hash),null)}),a.jsx(At,{path:"/clients",component:Ph}),a.jsx(At,{path:"/content",component:VU}),a.jsx(At,{path:"/video-preview",component:n8}),a.jsx(At,{path:"/share/:id",component:o8}),a.jsx(At,{path:"/search",children:()=>(window.location.replace("/content"),null)}),a.jsx(At,{path:"/auth",component:HU}),a.jsx(At,{path:"/verify",component:qU}),a.jsx(At,{path:"/privacy",component:WU}),a.jsx(At,{path:"/terms",component:GU}),a.jsx(At,{path:"/top-rated-voice-admin",component:KU}),a.jsx(At,{path:"/forgot-password",component:QU}),a.jsx(At,{path:"/reset-password",component:ZU}),a.jsx(At,{path:"/affiliate",component:XU}),a.jsx(At,{path:"/boosting",component:YU}),a.jsx(At,{path:"/templates/mine",component:s8}),a.jsx(At,{component:nU})]})}const c8={"--sidebar-width":"15rem","--sidebar-width-icon":"3rem"};function d8(){const{subtitle:t,subtitleHref:e,navItems:n,headerContent:r}=S9(),{user:i}
82=Fr(),l=ry(),[d]=jo(),p=n.length>0&&!r,m=l&&["/linkedin","/content","/search","/1","/2"].includes(d);return a.jsxs("header",{className:"relative flex items-center justify-between gap-2 p-2 border-b sticky top-0 z-50 bg-background",style:r?void 0:{minHeight:57},children:[a.jsxs("div",{className:`flex items-center gap-3 min-w-0 sm:flex-none sm:shrink-0 ${r?"shrink-0":"flex-1"}`,children:[a.jsx(ZR,{"data-testid":"button-sidebar-toggle",className:"shrink-0"}),t&&!m&&!r?e?a.jsx(Pn,{href:e,className:"text-xs text-muted-foreground line-clamp-2 leading-snug min-w-0 break-words hover:text-foreground transition-colors","data-testid":"text-header-subtitle",children:t}):a.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-snug min-w-0 break-words","data-testid":"text-header-subtitle",children:t}):null]}),r?a.jsx("div",{className:"flex-1 min-w-0 mx-2 flex justify-start overflow-hidden",children:r}):p?a.jsx("nav",{className:"absolute left-1/2 -translate-x-1/2 flex items-center gap-1","data-testid":l?"nav-header-mobile":"nav-header-desktop",children:n.map(h=>a.jsx("button",{type:"button",onClick:h.onClick,className:`text-[11px] sm:text-xs font-medium px-2 py-1 rounded-md transition-colors ${h.active?"text-[#0A66C2] bg-[#0A66C2]/10":"text-muted-foreground hover:text-foreground hover:bg-muted"}`,"data-testid":`nav-${h.label.toLowerCase()}`,children:l&&h.shortLabel||h.label},h.label))}):null,a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[(i?.isAdmin||i?.isSuperAdmin)&&a.jsx(yp,{className:"w-4 h-4 text-muted-foreground","data-testid":"icon-admin"}),a.jsx(dN,{}),a.jsx(ZS,{})]})]})}function u8(){const{activeTour:t,closeTour:e}=rN();return t?a.jsx($9,{tourId:t,open:!0,onClose:e},t):null}function p8(){return ry()?a.jsxs("p",{className:"text-[10px] text-muted-foreground text-center py-2 bg-sidebar","data-testid":"text-mobile-footer",children:["2025â",new Date().getFullYear()," ©"," ",a.jsx("a",{href:"https://www.linkedin.com/company/top-voice-ai/",target:"_blank",rel:"noopener noreferrer",className:"hover:text-primary transition-colors underline-offset-4 hover:underline",children:"Top Voice"})]}):null}function f8(){return PU()&&!TU(window.location.pathname)?a.jsx(Ah,{children:a.jsx(wh,{children:a.jsx(Bm,{children:a.jsx(Vm,{client:Qn,children:a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(i8,{})})})})})}):/^\/hub\/[^/]+/.test(window.location.pathname)?a.jsx(Ah,{children:a.jsx(wh,{children:a.jsx(Bm,{children:a.jsx(Vm,{client:Qn,children:a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(l8,{})})})})})}):a.jsx(Ah,{children:a.jsx(wh,{children:a.jsx(Bm,{children:a.jsx(Vm,{client:Qn,children:a.jsx(h8,{})})})})})}function m8(){return f.useEffect(()=>{cA()},[]),window.location.pathname==="/nonprofits"?(window.location.replace("/nonprofit"+window.location.search+window.location.hash),null):a.jsxs(a.Fragment,{children:[a.jsx($U,{}),a.jsx(f8,{})]})}function h8(){const t=typeof window<"u"?new URLSearchParams(window.location.search).get(Q1):null,e=t?rL(t)?.anchor??null:null,[n]=jo(),r=n||window.location.pathname,i=f.useRef(!0);f.useEffect(()=>{if(i.current){i.current=!1;return}window.location.hash||window.scrollTo(0,0)},[r]);const l=r==="/welcome",d=(()=>{try{return new URLSearchParams(window.location.search).has("c")}catch{return!1}})(),p=r==="/"&&!d||r==="/nonprofit"||r==="/startup"||l;if(u2(r))return a.jsxs(fc,{children:[a.jsxs(_h,{children:[a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(Au,{})}),a.jsx(HC,{}),a.jsx(f0,{})]}),a.jsx(Pu,{}),a.jsx(dc,{})]});if(t)return a.jsxs(fc,{children:[a.jsx(bh,{children:a.jsxs(u0,{children:[a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(Au,{})}),e?a.jsx(p6,{anchor:e}):null,a.jsx("style",{children:"#hubspot-messages-iframe-container{display:none!important}"})]})}),a.jsx(dc,{})]});if(p2(r))return a.jsxs(fc,{children:[a.jsx(bh,{children:a.jsx(_h,{children:a.jsx(zU,{children:a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(Au,{})})})})}),a.jsx(Pu,{}),a.jsx(dc,{})]});if(p){const m=r==="/nonprofit",h=r==="/startup";return a.jsxs(a.Fragment,{children:[a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:l?a.jsx(BU,{}):m?a.jsx(a8,{}):h?a.jsx(r8,{}):a.jsx(wU,{})}),a.jsx(Pu,{defaultVisible:!0}),a.jsx(dc,{})]})}return a.jsx(fc,{children:a.jsx(bh,{children:a.jsx(u0,{children:a.jsxs(_h,{children:[a.jsx(YR,{defaultOpen:!0,style:c8,children:a.jsxs("div",{className:"flex h-dvh w-full",children:[a.jsx(d6,{}),a.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[a.jsx(d8,{}),a.jsx("main",{className:"flex-1 overflow-auto flex flex-col",children:a.jsx(f.Suspense,{fallback:a.jsx(Ws,{}),children:a.jsx(Au,{})})}),a.jsx(p8,{})]})]})}),a.jsx(u8,{}),a.jsx(Pu,{}),a.jsx(Z9,{}),a.jsx(f0,{}),a.jsx(dc,{}),!1]})})})})}oA();rA();"scrollRestoration"in history&&(history.scrollRestoration="manual");const kg=document.getElementById("root");kg.querySelector("#public-landing-fallback")&&kg.replaceChildren();document.getElementById("public-landing-fallback-styles")?.remove();if(!window.location.hash){let t=!0;const e=()=>{t=!1},n=()=>{t&&window.scrollTo(0,0)};for(const r of["wheel","touchstart","keydown","pointerdown"])window.addEventListener(r,e,{once:!0,passive:!0});n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(n)}),window.addEventListener("load",n,{once:!0}),document.documentElement.style.overflowAnchor="none",window.setTimeout(e,1200)}tA.createRoot(kg).render(a.jsx(m8,{}));export{Vu as $,ia as A,je as B,_A as C,pp as D,_c as E,rl as F,SA as G,ar as H,la as I,$A as J,An as K,zt as L,Sg as M,Xn as N,Mb as O,na as P,gp as Q,ri as R,U8 as S,ds as T,IC as U,EC as V,Wu as W,tr as X,xy as Y,c1 as Z,Mn as _,Oa as a,v8 as a$,hy as a0,Eh as a1,Qc as a2,ei as a3,jg as a4,O0 as a5,vl as a6,kh as a7,HA as a8,jh as a9,Uy as aA,$y as aB,T0 as aC,VA as aD,Th as aE,MA as aF,IA as aG,kA as aH,ig as aI,rr as aJ,hA as aK,Bp as aL,ge as aM,Ag as aN,Mp as aO,Lp as aP,od as aQ,Nl as aR,Ng as aS,Pl as aT,Al as aU,E0 as aV,X9 as aW,J9 as aX,uN as aY,RA as aZ,CA as a_,j0 as aa,ry as ab,rN as ac,D5 as ad,M8 as ae,D4 as af,Q1 as ag,$u as ah,x8 as ai,qu as aj,Ow as ak,Pg as al,Cc as am,_O as an,r1 as ao,mc as ap,hc as aq,ra as ar,Ys as as,Ih as at,my as au,GA as av,yA as aw,j1 as ax,Fy as ay,I1 as az,S9 as b,Ee as b$,Pn as b0,bn as b1,jA as b2,zu as b3,Mw as b4,yp as b5,kc as b6,fA as b7,zA as b8,QM as b9,b8 as bA,TA as bB,Hu as bC,Tg as bD,Ju as bE,k5 as bF,ep as bG,fs as bH,DA as bI,R0 as bJ,Dm as bK,hS as bL,mS as bM,qy as bN,Wy as bO,wF as bP,Qa as bQ,R4 as bR,$C as bS,lr as bT,o2 as bU,Bu as bV,mC as bW,K4 as bX,zp as bY,L8 as bZ,I0 as b_,B1 as ba,V1 as bb,q1 as bc,W1 as bd,H1 as be,K1 as bf,G1 as bg,VO as bh,ct as bi,zo as bj,Ce as bk,rd as bl,Qe as bm,g1 as bn,cg as bo,qn as bp,Zc as bq,Tp as br,gc as bs,UA as bt,ps as bu,wA as bv,xA as bw,Qi as bx,Zi as by,Ks as bz,Te as c,$U as c$,_8 as c0,Uu as c1,Xp as c2,nv as c3,Jp as c4,Cy as c5,w8 as c6,OA as c7,QS as c8,fN as c9,op as cA,vA as cB,vU as cC,q9 as cD,xU as cE,pU as cF,Jn as cG,yT as cH,At as cI,dc as cJ,iN as cK,mT as cL,T8 as cM,j8 as cN,t7 as cO,SU as cP,oL as cQ,Q8 as cR,u5 as cS,lN as cT,H8 as cU,V8 as cV,BO as cW,h1 as cX,m1 as cY,B8 as cZ,IU as c_,ZS as ca,dN as cb,ks as cc,C8 as cd,xl as ce,CO as cf,C4 as cg,ch,sa as ci,lo as cj,Xt as ck,y8 as cl,k0 as cm,J0 as cn,zy as co,CS as cp,fU as cq,hU as cr,Sh as cs,W9 as ct,yc as cu,vc as cv,v0 as cw,uU as cx,dU as cy,Bb as cz,Fr as d,jU as d0,G8 as d1,Y8 as d2,nL as d3,jo as e,e7 as f,Qt as g,Ca as h,ls as i,a as j,us as k,kr as l,fp as m,Yc as n,Nn as o,du as p,Qn as q,f as r,FA as s,D8 as t,Jt as u,F8 as v,Ao as w,Ic as x,Cg as y,Ia as z};
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.