@sequenzy/cli 0.0.80 → 0.0.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +12 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -117,7 +117,7 @@ Check the render method of \``+N+"`."}return""}function Q5(N){if(N!==void 0){var
|
|
|
117
117
|
|
|
118
118
|
Check your code at `+d+":"+Y0+"."}return""}function kF(N){if(N!==null&&N!==void 0)return Q5(N.__source);return""}var U2={};function hS(N){var d=z4();if(!d){var Y0=typeof N==="string"?N:N.displayName||N.name;if(Y0)d=`
|
|
119
119
|
|
|
120
|
-
Check the top-level render call using <`+Y0+">."}return d}function xy(N,d){if(!N._store||N._store.validated||N.key!=null)return;N._store.validated=!0;var Y0=hS(d);if(U2[Y0])return;U2[Y0]=!0;var N0="";if(N&&N._owner&&N._owner!==Q0.current)N0=" It was passed a child from "+SA(N._owner.type)+".";d8(N),g0('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',Y0,N0),d8(null)}function vg(N,d){if(typeof N!=="object")return;if(Qx(N))for(var Y0=0;Y0<N.length;Y0++){var N0=N[Y0];if(Gx(N0))xy(N0,d)}else if(Gx(N)){if(N._store)N._store.validated=!0}else if(N){var QA=l(N);if(typeof QA==="function"){if(QA!==N.entries){var Dx=QA.call(N),uA;while(!(uA=Dx.next()).done)if(Gx(uA.value))xy(uA.value,d)}}}}function h5(N){{var d=N.type;if(d===null||d===void 0||typeof d==="string")return;var Y0;if(typeof d==="function")Y0=d.propTypes;else if(typeof d==="object"&&(d.$$typeof===$||d.$$typeof===M))Y0=d.propTypes;else return;if(Y0){var N0=SA(d);OE(Y0,N.props,"prop",N0,N)}else if(d.PropTypes!==void 0&&!H9){H9=!0;var QA=SA(d);g0("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",QA||"Unknown")}if(typeof d.getDefaultProps==="function"&&!d.getDefaultProps.isReactClassApproved)g0("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ey(N){{var d=Object.keys(N.props);for(var Y0=0;Y0<d.length;Y0++){var N0=d[Y0];if(N0!=="children"&&N0!=="key"){d8(N),g0("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",N0),d8(null);break}}if(N.ref!==null)d8(N),g0("Invalid attribute `ref` supplied to `React.Fragment`."),d8(null)}}function By(N,d,Y0){var N0=XA(N);if(!N0){var QA="";if(N===void 0||typeof N==="object"&&N!==null&&Object.keys(N).length===0)QA+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";var Dx=kF(d);if(Dx)QA+=Dx;else QA+=z4();var uA;if(N===null)uA="null";else if(Qx(N))uA="array";else if(N!==void 0&&N.$$typeof===x)uA="<"+(SA(N.type)||"Unknown")+" />",QA=" Did you accidentally export a JSX literal instead of a component?";else uA=typeof N;g0("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",uA,QA)}var Wx=G9.apply(this,arguments);if(Wx==null)return Wx;if(N0)for(var wE=2;wE<arguments.length;wE++)vg(arguments[wE],N);if(N===D)Ey(Wx);else h5(Wx);return Wx}var Dy=!1;function T6(N){var d=By.bind(null,N);d.type=N;{if(!Dy)Dy=!0,O0("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.");Object.defineProperty(d,"type",{enumerable:!1,get:function(){return O0("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:N}),N}})}return d}function Tg(N,d,Y0){var N0=DA.apply(this,arguments);for(var QA=2;QA<arguments.length;QA++)vg(arguments[QA],N0.type);return h5(N0),N0}function G7(N,d){var Y0=K0.transition;K0.transition={};var N0=K0.transition;K0.transition._updatedFibers=new Set;try{N()}finally{if(K0.transition=Y0,Y0===null&&N0._updatedFibers){var QA=N0._updatedFibers.size;if(QA>10)O0("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.");N0._updatedFibers.clear()}}}var kg=!1,I5=null;function uF(N){if(I5===null)try{var d=("require"+Math.random()).slice(0,7),Y0=Eq&&Eq[d];I5=Y0.call(Eq,"timers").setImmediate}catch(N0){I5=function(QA){if(kg===!1){if(kg=!0,typeof MessageChannel>"u")g0("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.")}var Dx=new MessageChannel;Dx.port1.onmessage=QA,Dx.port2.postMessage(void 0)}}return I5(N)}var hB=0,bF=!1;function q2(N){{var d=hB;if(hB++,B0.current===null)B0.current=[];var Y0=B0.isBatchingLegacy,N0;try{if(B0.isBatchingLegacy=!0,N0=N(),!Y0&&B0.didScheduleLegacyUpdate){var QA=B0.current;if(QA!==null)B0.didScheduleLegacyUpdate=!1,X2(QA)}}catch(U8){throw i1(d),U8}finally{B0.isBatchingLegacy=Y0}if(N0!==null&&typeof N0==="object"&&typeof N0.then==="function"){var Dx=N0,uA=!1,Wx={then:function(U8,N8){uA=!0,Dx.then(function(LB){if(i1(d),hB===0)ug(LB,U8,N8);else U8(LB)},function(LB){i1(d),N8(LB)})}};if(!bF&&typeof Promise<"u")Promise.resolve().then(function(){}).then(function(){if(!uA)bF=!0,g0("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);")});return Wx}else{var wE=N0;if(i1(d),hB===0){var B8=B0.current;if(B8!==null)X2(B8),B0.current=null;var oE={then:function(U8,N8){if(B0.current===null)B0.current=[],ug(wE,U8,N8);else U8(wE)}};return oE}else{var $8={then:function(U8,N8){U8(wE)}};return $8}}}}function i1(N){{if(N!==hB-1)g0("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. ");hB=N}}function ug(N,d,Y0){{var N0=B0.current;if(N0!==null)try{X2(N0),uF(function(){if(N0.length===0)B0.current=null,d(N);else ug(N,d,Y0)})}catch(QA){Y0(QA)}else d(N)}}var bg=!1;function X2(N){if(!bg){bg=!0;var d=0;try{for(;d<N.length;d++){var Y0=N[d];do Y0=Y0(!0);while(Y0!==null)}N.length=0}catch(N0){throw N=N.slice(d+1),N0}finally{bg=!1}}}var iF=By,gy=Tg,hF=T6,Cy={map:JB,forEach:n9,count:tx,toArray:p9,only:r9};if(bT0.Children=Cy,bT0.Component=o,bT0.Fragment=D,bT0.Profiler=g,bT0.PureComponent=Fx,bT0.StrictMode=B,bT0.Suspense=S,bT0.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=EA,bT0.act=q2,bT0.cloneElement=gy,bT0.createContext=eB,bT0.createElement=iF,bT0.createFactory=hF,bT0.createRef=KA,bT0.forwardRef=a,bT0.isValidElement=Gx,bT0.lazy=HB,bT0.memo=fx,bT0.startTransition=G7,bT0.unstable_act=q2,bT0.useCallback=RB,bT0.useContext=qE,bT0.useDebugValue=W4,bT0.useDeferredValue=K2,bT0.useEffect=dE,bT0.useId=Og,bT0.useImperativeHandle=_8,bT0.useInsertionEffect=E8,bT0.useLayoutEffect=a8,bT0.useMemo=S6,bT0.useReducer=Tx,bT0.useRef=r8,bT0.useState=Nx,bT0.useSyncExternalStore=Y2,bT0.useTransition=R4,bT0.version=A,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var Zx0=c((yJA,gq)=>{gq.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")gq.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")gq.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var Ov=c((wJA,V3)=>{var xB=global.process,ZF=function(A){return A&&typeof A==="object"&&typeof A.removeListener==="function"&&typeof A.emit==="function"&&typeof A.reallyExit==="function"&&typeof A.listeners==="function"&&typeof A.kill==="function"&&typeof A.pid==="number"&&typeof A.on==="function"};if(!ZF(xB))V3.exports=function(){return function(){}};else{if(Lv=zx("assert"),MF=Zx0(),jv=/^win/i.test(xB.platform),P3=zx("events"),typeof P3!=="function")P3=P3.EventEmitter;if(xB.__signal_exit_emitter__)S9=xB.__signal_exit_emitter__;else S9=xB.__signal_exit_emitter__=new P3,S9.count=0,S9.emitted={};if(!S9.infinite)S9.setMaxListeners(1/0),S9.infinite=!0;V3.exports=function(A,x){if(!ZF(global.process))return function(){};if(Lv.equal(typeof A,"function","a callback must be provided for exit handler"),WF===!1)Cq();var E="exit";if(x&&x.alwaysLast)E="afterexit";var D=function(){if(S9.removeListener(E,A),S9.listeners("exit").length===0&&S9.listeners("afterexit").length===0)yS()};return S9.on(E,A),D},yS=function(){if(!WF||!ZF(global.process))return;WF=!1,MF.forEach(function(x){try{xB.removeListener(x,wS[x])}catch(E){}}),xB.emit=$S,xB.reallyExit=Fq,S9.count-=1},V3.exports.unload=yS,Yg=function(x,E,D){if(S9.emitted[x])return;S9.emitted[x]=!0,S9.emit(x,E,D)},wS={},MF.forEach(function(A){wS[A]=function(){if(!ZF(global.process))return;var E=xB.listeners(A);if(E.length===S9.count){if(yS(),Yg("exit",null,A),Yg("afterexit",null,A),jv&&A==="SIGHUP")A="SIGINT";xB.kill(xB.pid,A)}}}),V3.exports.signals=function(){return MF},WF=!1,Cq=function(){if(WF||!ZF(global.process))return;WF=!0,S9.count+=1,MF=MF.filter(function(x){try{return xB.on(x,wS[x]),!0}catch(E){return!1}}),xB.emit=Nv,xB.reallyExit=zv},V3.exports.load=Cq,Fq=xB.reallyExit,zv=function(x){if(!ZF(global.process))return;xB.exitCode=x||0,Yg("exit",xB.exitCode,null),Yg("afterexit",xB.exitCode,null),Fq.call(xB,xB.exitCode)},$S=xB.emit,Nv=function(x,E){if(x==="exit"&&ZF(global.process)){if(E!==void 0)xB.exitCode=E;var D=$S.apply(this,arguments);return Yg("exit",xB.exitCode,null),Yg("afterexit",xB.exitCode,null),D}else return $S.apply(this,arguments)}}var Lv,MF,jv,P3,S9,yS,Yg,wS,WF,Cq,Fq,zv,$S,Nv});var Px0=c((Mk0)=>{(function(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var A=!1,x=!1,E=5;function D(V0,DA){var Gx=V0.length;V0.push(DA),C(V0,DA,Gx)}function B(V0){return V0.length===0?null:V0[0]}function g(V0){if(V0.length===0)return null;var DA=V0[0],Gx=V0.pop();if(Gx!==DA)V0[0]=Gx,I(V0,Gx,0);return DA}function C(V0,DA,Gx){var UE=Gx;while(UE>0){var RA=UE-1>>>1,ZA=V0[RA];if($(ZA,DA)>0)V0[RA]=DA,V0[UE]=ZA,UE=RA;else return}}function I(V0,DA,Gx){var UE=Gx,RA=V0.length,ZA=RA>>>1;while(UE<ZA){var _E=(UE+1)*2-1,ox=V0[_E],Ax=_E+1,kE=V0[Ax];if($(ox,DA)<0)if(Ax<RA&&$(kE,ox)<0)V0[UE]=kE,V0[Ax]=DA,UE=Ax;else V0[UE]=ox,V0[_E]=DA,UE=_E;else if(Ax<RA&&$(kE,DA)<0)V0[UE]=kE,V0[Ax]=DA,UE=Ax;else return}}function $(V0,DA){var Gx=V0.sortIndex-DA.sortIndex;return Gx!==0?Gx:V0.id-DA.id}var S=1,K=2,M=3,X=4,Z=5;function j(V0,DA){}var V=typeof performance==="object"&&typeof performance.now==="function";if(V){var l=performance;Mk0.unstable_now=function(){return l.now()}}else{var E0=Date,K0=E0.now();Mk0.unstable_now=function(){return E0.now()-K0}}var B0=1073741823,Q0=-1,F0=250,k0=5000,z0=1e4,JA=B0,U0=[],zA=[],cx=1,eA=null,EA=M,O0=!1,g0=!1,c0=!1,q0=typeof setTimeout==="function"?setTimeout:null,xA=typeof clearTimeout==="function"?clearTimeout:null,r0=typeof setImmediate<"u"?setImmediate:null,Mx=typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0?navigator.scheduling.isInputPending.bind(navigator.scheduling):null;function M0(V0){var DA=B(zA);while(DA!==null){if(DA.callback===null)g(zA);else if(DA.startTime<=V0)g(zA),DA.sortIndex=DA.expirationTime,D(U0,DA);else return;DA=B(zA)}}function o(V0){if(c0=!1,M0(V0),!g0)if(B(U0)!==null)g0=!0,bB(C0);else{var DA=B(zA);if(DA!==null)l9(o,DA.startTime-V0)}}function C0(V0,DA){if(g0=!1,c0)c0=!1,f6();O0=!0;var Gx=EA;try{if(x)try{return HA(V0,DA)}catch(RA){if(eA!==null){var UE=Mk0.unstable_now();j(eA,UE),eA.isQueued=!1}throw RA}else return HA(V0,DA)}finally{eA=null,EA=Gx,O0=!1}}function HA(V0,DA){var Gx=DA;M0(Gx),eA=B(U0);while(eA!==null&&!A){if(eA.expirationTime>Gx&&(!V0||Bx()))break;var UE=eA.callback;if(typeof UE==="function"){eA.callback=null,EA=eA.priorityLevel;var RA=eA.expirationTime<=Gx,ZA=UE(RA);if(Gx=Mk0.unstable_now(),typeof ZA==="function")eA.callback=ZA;else if(eA===B(U0))g(U0);M0(Gx)}else g(U0);eA=B(U0)}if(eA!==null)return!0;else{var _E=B(zA);if(_E!==null)l9(o,_E.startTime-Gx);return!1}}function i0(V0,DA){switch(V0){case S:case K:case M:case X:case Z:break;default:V0=M}var Gx=EA;EA=V0;try{return DA()}finally{EA=Gx}}function Ex(V0){var DA;switch(EA){case S:case K:case M:DA=M;break;default:DA=EA;break}var Gx=EA;EA=DA;try{return V0()}finally{EA=Gx}}function Fx(V0){var DA=EA;return function(){var Gx=EA;EA=DA;try{return V0.apply(this,arguments)}finally{EA=Gx}}}function DE(V0,DA,Gx){var UE=Mk0.unstable_now(),RA;if(typeof Gx==="object"&&Gx!==null){var ZA=Gx.delay;if(typeof ZA==="number"&&ZA>0)RA=UE+ZA;else RA=UE}else RA=UE;var _E;switch(V0){case S:_E=Q0;break;case K:_E=F0;break;case Z:_E=JA;break;case X:_E=z0;break;case M:default:_E=k0;break}var ox=RA+_E,Ax={id:cx++,callback:DA,priorityLevel:V0,startTime:RA,expirationTime:ox,sortIndex:-1};if(RA>UE){if(Ax.sortIndex=RA,D(zA,Ax),B(U0)===null&&Ax===B(zA)){if(c0)f6();else c0=!0;l9(o,RA-UE)}}else if(Ax.sortIndex=ox,D(U0,Ax),!g0&&!O0)g0=!0,bB(C0);return Ax}function KA(){}function wx(){if(!g0&&!O0)g0=!0,bB(C0)}function Qx(){return B(U0)}function bA(V0){V0.callback=null}function lx(){return EA}var kA=!1,_=null,j0=-1,FA=E,SA=-1;function Bx(){var V0=Mk0.unstable_now()-SA;if(V0<FA)return!1;return!0}function aA(){}function $x(V0){if(V0<0||V0>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}if(V0>0)FA=Math.floor(1000/V0);else FA=E}var w8=function(){if(_!==null){var V0=Mk0.unstable_now();SA=V0;var DA=!0,Gx=!0;try{Gx=_(DA,V0)}finally{if(Gx)rx();else kA=!1,_=null}}else kA=!1},rx;if(typeof r0==="function")rx=function(){r0(w8)};else if(typeof MessageChannel<"u"){var GB=new MessageChannel,sB=GB.port2;GB.port1.onmessage=w8,rx=function(){sB.postMessage(null)}}else rx=function(){q0(w8,0)};function bB(V0){if(_=V0,!kA)kA=!0,rx()}function l9(V0,DA){j0=q0(function(){V0(Mk0.unstable_now())},DA)}function f6(){xA(j0),j0=-1}var gE=aA,G9=null;if(Mk0.unstable_IdlePriority=Z,Mk0.unstable_ImmediatePriority=S,Mk0.unstable_LowPriority=X,Mk0.unstable_NormalPriority=M,Mk0.unstable_Profiling=G9,Mk0.unstable_UserBlockingPriority=K,Mk0.unstable_cancelCallback=bA,Mk0.unstable_continueExecution=wx,Mk0.unstable_forceFrameRate=$x,Mk0.unstable_getCurrentPriorityLevel=lx,Mk0.unstable_getFirstCallbackNode=Qx,Mk0.unstable_next=Ex,Mk0.unstable_pauseExecution=KA,Mk0.unstable_requestPaint=gE,Mk0.unstable_runWithPriority=i0,Mk0.unstable_scheduleCallback=DE,Mk0.unstable_shouldYield=Bx,Mk0.unstable_wrapCallback=Fx,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var vx0=c((cJA,Vx0)=>{var hv=Zx(z8()),EB=Zx(Px0());Vx0.exports=function(x){var E={},D=hv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,B=!1;function g(F){B=F}function C(F){if(!B){for(var Q=arguments.length,y=Array(Q>1?Q-1:0),f=1;f<Q;f++)y[f-1]=arguments[f];$("warn",F,y)}}function I(F){if(!B){for(var Q=arguments.length,y=Array(Q>1?Q-1:0),f=1;f<Q;f++)y[f-1]=arguments[f];$("error",F,y)}}function $(F,Q,y){{var f=D.ReactDebugCurrentFrame,G=f.getStackAddendum();if(G!=="")Q+="%s",y=y.concat([G]);var U=y.map(function(W){return String(W)});U.unshift("Warning: "+Q),Function.prototype.apply.call(console[F],console,U)}}var S=Object.assign;function K(F){return F._reactInternals}function M(F,Q){F._reactInternals=Q}var X=!1,Z=!1,j=!1,V=!1,l=!0,E0=!0,K0=!0,B0=!0,Q0=0,F0=1,k0=2,z0=3,JA=4,U0=5,zA=6,cx=7,eA=8,EA=9,O0=10,g0=11,c0=12,q0=13,xA=14,r0=15,Mx=16,M0=17,o=18,C0=19,HA=21,i0=22,Ex=23,Fx=24,DE=25,KA=Symbol.for("react.element"),wx=Symbol.for("react.portal"),Qx=Symbol.for("react.fragment"),bA=Symbol.for("react.strict_mode"),lx=Symbol.for("react.profiler"),kA=Symbol.for("react.provider"),_=Symbol.for("react.context"),j0=Symbol.for("react.forward_ref"),FA=Symbol.for("react.suspense"),SA=Symbol.for("react.suspense_list"),Bx=Symbol.for("react.memo"),aA=Symbol.for("react.lazy"),$x=Symbol.for("react.scope"),w8=Symbol.for("react.debug_trace_mode"),rx=Symbol.for("react.offscreen"),GB=Symbol.for("react.legacy_hidden"),sB=Symbol.for("react.cache"),bB=Symbol.for("react.tracing_marker"),l9=Symbol.iterator,f6="@@iterator";function gE(F){if(F===null||typeof F!=="object")return null;var Q=l9&&F[l9]||F[f6];if(typeof Q==="function")return Q;return null}function G9(F,Q,y){var f=F.displayName;if(f)return f;var G=Q.displayName||Q.name||"";return G!==""?y+"("+G+")":y}function V0(F){return F.displayName||"Context"}function DA(F){if(F==null)return null;if(typeof F.tag==="number")I("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");if(typeof F==="function")return F.displayName||F.name||null;if(typeof F==="string")return F;switch(F){case Qx:return"Fragment";case wx:return"Portal";case lx:return"Profiler";case bA:return"StrictMode";case FA:return"Suspense";case SA:return"SuspenseList"}if(typeof F==="object")switch(F.$$typeof){case _:var Q=F;return V0(Q)+".Consumer";case kA:var y=F;return V0(y._context)+".Provider";case j0:return G9(F,F.render,"ForwardRef");case Bx:var f=F.displayName||null;if(f!==null)return f;return DA(F.type)||"Memo";case aA:{var G=F,U=G._payload,W=G._init;try{return DA(W(U))}catch(P){return null}}}return null}function Gx(F,Q,y){var f=Q.displayName||Q.name||"";return F.displayName||(f!==""?y+"("+f+")":y)}function UE(F){return F.displayName||"Context"}function RA(F){var{tag:Q,type:y}=F;switch(Q){case Fx:return"Cache";case EA:var f=y;return UE(f)+".Consumer";case O0:var G=y;return UE(G._context)+".Provider";case o:return"DehydratedFragment";case g0:return Gx(y,y.render,"ForwardRef");case cx:return"Fragment";case U0:return y;case JA:return"Portal";case z0:return"Root";case zA:return"Text";case Mx:return DA(y);case eA:if(y===bA)return"StrictMode";return"Mode";case i0:return"Offscreen";case c0:return"Profiler";case HA:return"Scope";case q0:return"Suspense";case C0:return"SuspenseList";case DE:return"TracingMarker";case F0:case Q0:case M0:case k0:case xA:case r0:if(typeof y==="function")return y.displayName||y.name||null;if(typeof y==="string")return y;break}return null}var ZA=0,_E=1,ox=2,Ax=4,kE=16,J9=32,JB=64,tx=128,n9=256,p9=512,r9=1024,eB=2048,WB=4096,a9=8192,iB=16384,H2=eB|Ax|JB|p9|r9|iB,u1=32767,HB=32768,a=65536,a0=131072,XA=1048576,fx=2097152,Ix=4194304,qE=8388608,Nx=16777216,Tx=33554432,r8=Ax|r9|0,dE=ox|Ax|kE|J9|p9|WB|a9,E8=Ax|JB|p9|a9,a8=eB|kE,RB=Ix|qE|fx,S6=D.ReactCurrentOwner;function _8(F){var Q=F,y=F;if(!F.alternate){var f=Q;do{if(Q=f,(Q.flags&(ox|WB))!==ZA)y=Q.return;f=Q.return}while(f)}else while(Q.return)Q=Q.return;if(Q.tag===z0)return y;return null}function W4(F){return _8(F)===F}function R4(F){{var Q=S6.current;if(Q!==null&&Q.tag===F0){var y=Q,f=y.stateNode;if(!f._warnedAboutRefsInRender)I("%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",RA(y)||"A component");f._warnedAboutRefsInRender=!0}}var G=K(F);if(!G)return!1;return _8(G)===G}function K2(F){if(_8(F)!==F)throw Error("Unable to find node on an unmounted component.")}function Og(F){var Q=F.alternate;if(!Q){var y=_8(F);if(y===null)throw Error("Unable to find node on an unmounted component.");if(y!==F)return null;return F}var f=F,G=Q;while(!0){var U=f.return;if(U===null)break;var W=U.alternate;if(W===null){var P=U.return;if(P!==null){f=G=P;continue}break}if(U.child===W.child){var k=U.child;while(k){if(k===f)return K2(U),F;if(k===G)return K2(U),Q;k=k.sibling}throw Error("Unable to find node on an unmounted component.")}if(f.return!==G.return)f=U,G=W;else{var p=!1,e=U.child;while(e){if(e===f){p=!0,f=U,G=W;break}if(e===G){p=!0,G=U,f=W;break}e=e.sibling}if(!p){e=W.child;while(e){if(e===f){p=!0,f=W,G=U;break}if(e===G){p=!0,G=W,f=U;break}e=e.sibling}if(!p)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(f.alternate!==G)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(f.tag!==z0)throw Error("Unable to find node on an unmounted component.");if(f.stateNode.current===f)return F;return Q}function Y2(F){var Q=Og(F);return Q!==null?L4(Q):null}function L4(F){if(F.tag===U0||F.tag===zA)return F;var Q=F.child;while(Q!==null){var y=L4(Q);if(y!==null)return y;Q=Q.sibling}return null}function b1(F){var Q=Og(F);return Q!==null?j4(Q):null}function j4(F){if(F.tag===U0||F.tag===zA)return F;var Q=F.child;while(Q!==null){if(Q.tag!==JA){var y=j4(Q);if(y!==null)return y}Q=Q.sibling}return null}var Pg=Array.isArray;function A9(F){return Pg(F)}var{getPublicInstance:$7,getRootHostContext:f7,getChildHostContext:G6,prepareForCommit:S7,resetAfterCommit:Vg,createInstance:v,appendInitialChild:T,finalizeInitialChildren:t,prepareUpdate:D0,shouldSetTextContent:y0,createTextInstance:P0,scheduleTimeout:o0,cancelTimeout:t0,noTimeout:yA,isPrimaryRenderer:AA,warnsIfNotActing:MA,supportsMutation:vA,supportsPersistence:sx,supportsHydration:CE,getInstanceFromNode:OE,beforeActiveInstanceBlur:d8,afterActiveInstanceBlur:H9,preparePortalMount:z4,prepareScopeUpdate:Q5,getInstanceFromScope:kF,getCurrentEventPriority:U2,detachDeletedInstance:hS,supportsMicrotasks:xy,scheduleMicrotask:vg,supportsTestSelectors:h5,findFiberRoot:Ey,getBoundingRect:By,getTextContent:Dy,isHiddenSubtree:T6,matchAccessibilityRole:Tg,setFocusIfFocusable:G7,setupIntersectionObserver:kg,appendChild:I5,appendChildToContainer:uF,commitTextUpdate:hB,commitMount:bF,commitUpdate:q2,insertBefore:i1,insertInContainerBefore:ug,removeChild:bg,removeChildFromContainer:X2,resetTextContent:iF,hideInstance:gy,hideTextInstance:hF,unhideInstance:Cy,unhideTextInstance:N,clearContainer:d,cloneInstance:Y0,createContainerChildSet:N0,appendChildToContainerChildSet:QA,finalizeContainerChildren:Dx,replaceContainerChildren:uA,cloneHiddenInstance:Wx,cloneHiddenTextInstance:wE,canHydrateInstance:B8,canHydrateTextInstance:oE,canHydrateSuspenseInstance:$8,isSuspenseInstancePending:U8,isSuspenseInstanceFallback:N8,getSuspenseInstanceFallbackErrorDetails:LB,registerSuspenseInstanceRetry:h1,getNextHydratableSibling:m5,getFirstHydratableChild:Z2,getFirstHydratableChildWithinContainer:mF,getFirstHydratableChildWithinSuspenseInstance:ig,hydrateInstance:Fy,hydrateTextInstance:cF,hydrateSuspenseInstance:m1,getNextHydratableInstanceAfterSuspenseInstance:mS,commitHydratedContainer:lF,commitHydratedSuspenseInstance:gX,clearSuspenseBoundary:Qy,clearSuspenseBoundaryFromContainer:CX,shouldDeleteUnhydratedTailInstances:FX,didNotMatchHydratedContainerTextInstance:cS,didNotMatchHydratedTextInstance:QX,didNotHydrateInstanceWithinContainer:Iy,didNotHydrateInstanceWithinSuspenseInstance:oT,didNotHydrateInstance:tT,didNotFindHydratableInstanceWithinContainer:yy,didNotFindHydratableTextInstanceWithinContainer:IX,didNotFindHydratableSuspenseInstanceWithinContainer:sT,didNotFindHydratableInstanceWithinSuspenseInstance:lS,didNotFindHydratableTextInstanceWithinSuspenseInstance:eT,didNotFindHydratableSuspenseInstanceWithinSuspenseInstance:c5,didNotFindHydratableInstance:nF,didNotFindHydratableTextInstance:pF,didNotFindHydratableSuspenseInstance:rF,errorHydratingContainer:yX}=x,c1=0,nS,wy,l1,K9,ax,$y,wX;function $X(){}$X.__reactDisabledLog=!0;function pS(){{if(c1===0){nS=console.log,wy=console.info,l1=console.warn,K9=console.error,ax=console.group,$y=console.groupCollapsed,wX=console.groupEnd;var F={configurable:!0,enumerable:!0,value:$X,writable:!0};Object.defineProperties(console,{info:F,log:F,warn:F,error:F,group:F,groupCollapsed:F,groupEnd:F})}c1++}}function Ak(){{if(c1--,c1===0){var F={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},F,{value:nS}),info:S({},F,{value:wy}),warn:S({},F,{value:l1}),error:S({},F,{value:K9}),group:S({},F,{value:ax}),groupCollapsed:S({},F,{value:$y}),groupEnd:S({},F,{value:wX})})}if(c1<0)I("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var rS=D.ReactCurrentDispatcher,aS;function M2(F,Q,y){{if(aS===void 0)try{throw Error()}catch(G){var f=G.stack.trim().match(/\n( *(at )?)/);aS=f&&f[1]||""}return`
|
|
120
|
+
Check the top-level render call using <`+Y0+">."}return d}function xy(N,d){if(!N._store||N._store.validated||N.key!=null)return;N._store.validated=!0;var Y0=hS(d);if(U2[Y0])return;U2[Y0]=!0;var N0="";if(N&&N._owner&&N._owner!==Q0.current)N0=" It was passed a child from "+SA(N._owner.type)+".";d8(N),g0('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',Y0,N0),d8(null)}function vg(N,d){if(typeof N!=="object")return;if(Qx(N))for(var Y0=0;Y0<N.length;Y0++){var N0=N[Y0];if(Gx(N0))xy(N0,d)}else if(Gx(N)){if(N._store)N._store.validated=!0}else if(N){var QA=l(N);if(typeof QA==="function"){if(QA!==N.entries){var Dx=QA.call(N),uA;while(!(uA=Dx.next()).done)if(Gx(uA.value))xy(uA.value,d)}}}}function h5(N){{var d=N.type;if(d===null||d===void 0||typeof d==="string")return;var Y0;if(typeof d==="function")Y0=d.propTypes;else if(typeof d==="object"&&(d.$$typeof===$||d.$$typeof===M))Y0=d.propTypes;else return;if(Y0){var N0=SA(d);OE(Y0,N.props,"prop",N0,N)}else if(d.PropTypes!==void 0&&!H9){H9=!0;var QA=SA(d);g0("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",QA||"Unknown")}if(typeof d.getDefaultProps==="function"&&!d.getDefaultProps.isReactClassApproved)g0("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ey(N){{var d=Object.keys(N.props);for(var Y0=0;Y0<d.length;Y0++){var N0=d[Y0];if(N0!=="children"&&N0!=="key"){d8(N),g0("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",N0),d8(null);break}}if(N.ref!==null)d8(N),g0("Invalid attribute `ref` supplied to `React.Fragment`."),d8(null)}}function By(N,d,Y0){var N0=XA(N);if(!N0){var QA="";if(N===void 0||typeof N==="object"&&N!==null&&Object.keys(N).length===0)QA+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";var Dx=kF(d);if(Dx)QA+=Dx;else QA+=z4();var uA;if(N===null)uA="null";else if(Qx(N))uA="array";else if(N!==void 0&&N.$$typeof===x)uA="<"+(SA(N.type)||"Unknown")+" />",QA=" Did you accidentally export a JSX literal instead of a component?";else uA=typeof N;g0("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",uA,QA)}var Wx=G9.apply(this,arguments);if(Wx==null)return Wx;if(N0)for(var wE=2;wE<arguments.length;wE++)vg(arguments[wE],N);if(N===D)Ey(Wx);else h5(Wx);return Wx}var Dy=!1;function T6(N){var d=By.bind(null,N);d.type=N;{if(!Dy)Dy=!0,O0("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.");Object.defineProperty(d,"type",{enumerable:!1,get:function(){return O0("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:N}),N}})}return d}function Tg(N,d,Y0){var N0=DA.apply(this,arguments);for(var QA=2;QA<arguments.length;QA++)vg(arguments[QA],N0.type);return h5(N0),N0}function G7(N,d){var Y0=K0.transition;K0.transition={};var N0=K0.transition;K0.transition._updatedFibers=new Set;try{N()}finally{if(K0.transition=Y0,Y0===null&&N0._updatedFibers){var QA=N0._updatedFibers.size;if(QA>10)O0("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.");N0._updatedFibers.clear()}}}var kg=!1,I5=null;function uF(N){if(I5===null)try{var d=("require"+Math.random()).slice(0,7),Y0=Eq&&Eq[d];I5=Y0.call(Eq,"timers").setImmediate}catch(N0){I5=function(QA){if(kg===!1){if(kg=!0,typeof MessageChannel>"u")g0("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.")}var Dx=new MessageChannel;Dx.port1.onmessage=QA,Dx.port2.postMessage(void 0)}}return I5(N)}var hB=0,bF=!1;function q2(N){{var d=hB;if(hB++,B0.current===null)B0.current=[];var Y0=B0.isBatchingLegacy,N0;try{if(B0.isBatchingLegacy=!0,N0=N(),!Y0&&B0.didScheduleLegacyUpdate){var QA=B0.current;if(QA!==null)B0.didScheduleLegacyUpdate=!1,X2(QA)}}catch(U8){throw i1(d),U8}finally{B0.isBatchingLegacy=Y0}if(N0!==null&&typeof N0==="object"&&typeof N0.then==="function"){var Dx=N0,uA=!1,Wx={then:function(U8,N8){uA=!0,Dx.then(function(LB){if(i1(d),hB===0)ug(LB,U8,N8);else U8(LB)},function(LB){i1(d),N8(LB)})}};if(!bF&&typeof Promise<"u")Promise.resolve().then(function(){}).then(function(){if(!uA)bF=!0,g0("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);")});return Wx}else{var wE=N0;if(i1(d),hB===0){var B8=B0.current;if(B8!==null)X2(B8),B0.current=null;var oE={then:function(U8,N8){if(B0.current===null)B0.current=[],ug(wE,U8,N8);else U8(wE)}};return oE}else{var $8={then:function(U8,N8){U8(wE)}};return $8}}}}function i1(N){{if(N!==hB-1)g0("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. ");hB=N}}function ug(N,d,Y0){{var N0=B0.current;if(N0!==null)try{X2(N0),uF(function(){if(N0.length===0)B0.current=null,d(N);else ug(N,d,Y0)})}catch(QA){Y0(QA)}else d(N)}}var bg=!1;function X2(N){if(!bg){bg=!0;var d=0;try{for(;d<N.length;d++){var Y0=N[d];do Y0=Y0(!0);while(Y0!==null)}N.length=0}catch(N0){throw N=N.slice(d+1),N0}finally{bg=!1}}}var iF=By,gy=Tg,hF=T6,Cy={map:JB,forEach:n9,count:tx,toArray:p9,only:r9};if(bT0.Children=Cy,bT0.Component=o,bT0.Fragment=D,bT0.Profiler=g,bT0.PureComponent=Fx,bT0.StrictMode=B,bT0.Suspense=S,bT0.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=EA,bT0.act=q2,bT0.cloneElement=gy,bT0.createContext=eB,bT0.createElement=iF,bT0.createFactory=hF,bT0.createRef=KA,bT0.forwardRef=a,bT0.isValidElement=Gx,bT0.lazy=HB,bT0.memo=fx,bT0.startTransition=G7,bT0.unstable_act=q2,bT0.useCallback=RB,bT0.useContext=qE,bT0.useDebugValue=W4,bT0.useDeferredValue=K2,bT0.useEffect=dE,bT0.useId=Og,bT0.useImperativeHandle=_8,bT0.useInsertionEffect=E8,bT0.useLayoutEffect=a8,bT0.useMemo=S6,bT0.useReducer=Tx,bT0.useRef=r8,bT0.useState=Nx,bT0.useSyncExternalStore=Y2,bT0.useTransition=R4,bT0.version=A,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var Zx0=c((wJA,gq)=>{gq.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")gq.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")gq.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var Ov=c(($JA,V3)=>{var xB=global.process,ZF=function(A){return A&&typeof A==="object"&&typeof A.removeListener==="function"&&typeof A.emit==="function"&&typeof A.reallyExit==="function"&&typeof A.listeners==="function"&&typeof A.kill==="function"&&typeof A.pid==="number"&&typeof A.on==="function"};if(!ZF(xB))V3.exports=function(){return function(){}};else{if(Lv=zx("assert"),MF=Zx0(),jv=/^win/i.test(xB.platform),P3=zx("events"),typeof P3!=="function")P3=P3.EventEmitter;if(xB.__signal_exit_emitter__)S9=xB.__signal_exit_emitter__;else S9=xB.__signal_exit_emitter__=new P3,S9.count=0,S9.emitted={};if(!S9.infinite)S9.setMaxListeners(1/0),S9.infinite=!0;V3.exports=function(A,x){if(!ZF(global.process))return function(){};if(Lv.equal(typeof A,"function","a callback must be provided for exit handler"),WF===!1)Cq();var E="exit";if(x&&x.alwaysLast)E="afterexit";var D=function(){if(S9.removeListener(E,A),S9.listeners("exit").length===0&&S9.listeners("afterexit").length===0)yS()};return S9.on(E,A),D},yS=function(){if(!WF||!ZF(global.process))return;WF=!1,MF.forEach(function(x){try{xB.removeListener(x,wS[x])}catch(E){}}),xB.emit=$S,xB.reallyExit=Fq,S9.count-=1},V3.exports.unload=yS,Yg=function(x,E,D){if(S9.emitted[x])return;S9.emitted[x]=!0,S9.emit(x,E,D)},wS={},MF.forEach(function(A){wS[A]=function(){if(!ZF(global.process))return;var E=xB.listeners(A);if(E.length===S9.count){if(yS(),Yg("exit",null,A),Yg("afterexit",null,A),jv&&A==="SIGHUP")A="SIGINT";xB.kill(xB.pid,A)}}}),V3.exports.signals=function(){return MF},WF=!1,Cq=function(){if(WF||!ZF(global.process))return;WF=!0,S9.count+=1,MF=MF.filter(function(x){try{return xB.on(x,wS[x]),!0}catch(E){return!1}}),xB.emit=Nv,xB.reallyExit=zv},V3.exports.load=Cq,Fq=xB.reallyExit,zv=function(x){if(!ZF(global.process))return;xB.exitCode=x||0,Yg("exit",xB.exitCode,null),Yg("afterexit",xB.exitCode,null),Fq.call(xB,xB.exitCode)},$S=xB.emit,Nv=function(x,E){if(x==="exit"&&ZF(global.process)){if(E!==void 0)xB.exitCode=E;var D=$S.apply(this,arguments);return Yg("exit",xB.exitCode,null),Yg("afterexit",xB.exitCode,null),D}else return $S.apply(this,arguments)}}var Lv,MF,jv,P3,S9,yS,Yg,wS,WF,Cq,Fq,zv,$S,Nv});var Px0=c((Mk0)=>{(function(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var A=!1,x=!1,E=5;function D(V0,DA){var Gx=V0.length;V0.push(DA),C(V0,DA,Gx)}function B(V0){return V0.length===0?null:V0[0]}function g(V0){if(V0.length===0)return null;var DA=V0[0],Gx=V0.pop();if(Gx!==DA)V0[0]=Gx,I(V0,Gx,0);return DA}function C(V0,DA,Gx){var UE=Gx;while(UE>0){var RA=UE-1>>>1,ZA=V0[RA];if($(ZA,DA)>0)V0[RA]=DA,V0[UE]=ZA,UE=RA;else return}}function I(V0,DA,Gx){var UE=Gx,RA=V0.length,ZA=RA>>>1;while(UE<ZA){var _E=(UE+1)*2-1,ox=V0[_E],Ax=_E+1,kE=V0[Ax];if($(ox,DA)<0)if(Ax<RA&&$(kE,ox)<0)V0[UE]=kE,V0[Ax]=DA,UE=Ax;else V0[UE]=ox,V0[_E]=DA,UE=_E;else if(Ax<RA&&$(kE,DA)<0)V0[UE]=kE,V0[Ax]=DA,UE=Ax;else return}}function $(V0,DA){var Gx=V0.sortIndex-DA.sortIndex;return Gx!==0?Gx:V0.id-DA.id}var S=1,K=2,M=3,X=4,Z=5;function j(V0,DA){}var V=typeof performance==="object"&&typeof performance.now==="function";if(V){var l=performance;Mk0.unstable_now=function(){return l.now()}}else{var E0=Date,K0=E0.now();Mk0.unstable_now=function(){return E0.now()-K0}}var B0=1073741823,Q0=-1,F0=250,k0=5000,z0=1e4,JA=B0,U0=[],zA=[],cx=1,eA=null,EA=M,O0=!1,g0=!1,c0=!1,q0=typeof setTimeout==="function"?setTimeout:null,xA=typeof clearTimeout==="function"?clearTimeout:null,r0=typeof setImmediate<"u"?setImmediate:null,Mx=typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0?navigator.scheduling.isInputPending.bind(navigator.scheduling):null;function M0(V0){var DA=B(zA);while(DA!==null){if(DA.callback===null)g(zA);else if(DA.startTime<=V0)g(zA),DA.sortIndex=DA.expirationTime,D(U0,DA);else return;DA=B(zA)}}function o(V0){if(c0=!1,M0(V0),!g0)if(B(U0)!==null)g0=!0,bB(C0);else{var DA=B(zA);if(DA!==null)l9(o,DA.startTime-V0)}}function C0(V0,DA){if(g0=!1,c0)c0=!1,f6();O0=!0;var Gx=EA;try{if(x)try{return HA(V0,DA)}catch(RA){if(eA!==null){var UE=Mk0.unstable_now();j(eA,UE),eA.isQueued=!1}throw RA}else return HA(V0,DA)}finally{eA=null,EA=Gx,O0=!1}}function HA(V0,DA){var Gx=DA;M0(Gx),eA=B(U0);while(eA!==null&&!A){if(eA.expirationTime>Gx&&(!V0||Bx()))break;var UE=eA.callback;if(typeof UE==="function"){eA.callback=null,EA=eA.priorityLevel;var RA=eA.expirationTime<=Gx,ZA=UE(RA);if(Gx=Mk0.unstable_now(),typeof ZA==="function")eA.callback=ZA;else if(eA===B(U0))g(U0);M0(Gx)}else g(U0);eA=B(U0)}if(eA!==null)return!0;else{var _E=B(zA);if(_E!==null)l9(o,_E.startTime-Gx);return!1}}function i0(V0,DA){switch(V0){case S:case K:case M:case X:case Z:break;default:V0=M}var Gx=EA;EA=V0;try{return DA()}finally{EA=Gx}}function Ex(V0){var DA;switch(EA){case S:case K:case M:DA=M;break;default:DA=EA;break}var Gx=EA;EA=DA;try{return V0()}finally{EA=Gx}}function Fx(V0){var DA=EA;return function(){var Gx=EA;EA=DA;try{return V0.apply(this,arguments)}finally{EA=Gx}}}function DE(V0,DA,Gx){var UE=Mk0.unstable_now(),RA;if(typeof Gx==="object"&&Gx!==null){var ZA=Gx.delay;if(typeof ZA==="number"&&ZA>0)RA=UE+ZA;else RA=UE}else RA=UE;var _E;switch(V0){case S:_E=Q0;break;case K:_E=F0;break;case Z:_E=JA;break;case X:_E=z0;break;case M:default:_E=k0;break}var ox=RA+_E,Ax={id:cx++,callback:DA,priorityLevel:V0,startTime:RA,expirationTime:ox,sortIndex:-1};if(RA>UE){if(Ax.sortIndex=RA,D(zA,Ax),B(U0)===null&&Ax===B(zA)){if(c0)f6();else c0=!0;l9(o,RA-UE)}}else if(Ax.sortIndex=ox,D(U0,Ax),!g0&&!O0)g0=!0,bB(C0);return Ax}function KA(){}function wx(){if(!g0&&!O0)g0=!0,bB(C0)}function Qx(){return B(U0)}function bA(V0){V0.callback=null}function lx(){return EA}var kA=!1,_=null,j0=-1,FA=E,SA=-1;function Bx(){var V0=Mk0.unstable_now()-SA;if(V0<FA)return!1;return!0}function aA(){}function $x(V0){if(V0<0||V0>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}if(V0>0)FA=Math.floor(1000/V0);else FA=E}var w8=function(){if(_!==null){var V0=Mk0.unstable_now();SA=V0;var DA=!0,Gx=!0;try{Gx=_(DA,V0)}finally{if(Gx)rx();else kA=!1,_=null}}else kA=!1},rx;if(typeof r0==="function")rx=function(){r0(w8)};else if(typeof MessageChannel<"u"){var GB=new MessageChannel,sB=GB.port2;GB.port1.onmessage=w8,rx=function(){sB.postMessage(null)}}else rx=function(){q0(w8,0)};function bB(V0){if(_=V0,!kA)kA=!0,rx()}function l9(V0,DA){j0=q0(function(){V0(Mk0.unstable_now())},DA)}function f6(){xA(j0),j0=-1}var gE=aA,G9=null;if(Mk0.unstable_IdlePriority=Z,Mk0.unstable_ImmediatePriority=S,Mk0.unstable_LowPriority=X,Mk0.unstable_NormalPriority=M,Mk0.unstable_Profiling=G9,Mk0.unstable_UserBlockingPriority=K,Mk0.unstable_cancelCallback=bA,Mk0.unstable_continueExecution=wx,Mk0.unstable_forceFrameRate=$x,Mk0.unstable_getCurrentPriorityLevel=lx,Mk0.unstable_getFirstCallbackNode=Qx,Mk0.unstable_next=Ex,Mk0.unstable_pauseExecution=KA,Mk0.unstable_requestPaint=gE,Mk0.unstable_runWithPriority=i0,Mk0.unstable_scheduleCallback=DE,Mk0.unstable_shouldYield=Bx,Mk0.unstable_wrapCallback=Fx,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==="function")__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var vx0=c((lJA,Vx0)=>{var hv=Zx(z8()),EB=Zx(Px0());Vx0.exports=function(x){var E={},D=hv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,B=!1;function g(F){B=F}function C(F){if(!B){for(var Q=arguments.length,y=Array(Q>1?Q-1:0),f=1;f<Q;f++)y[f-1]=arguments[f];$("warn",F,y)}}function I(F){if(!B){for(var Q=arguments.length,y=Array(Q>1?Q-1:0),f=1;f<Q;f++)y[f-1]=arguments[f];$("error",F,y)}}function $(F,Q,y){{var f=D.ReactDebugCurrentFrame,G=f.getStackAddendum();if(G!=="")Q+="%s",y=y.concat([G]);var U=y.map(function(W){return String(W)});U.unshift("Warning: "+Q),Function.prototype.apply.call(console[F],console,U)}}var S=Object.assign;function K(F){return F._reactInternals}function M(F,Q){F._reactInternals=Q}var X=!1,Z=!1,j=!1,V=!1,l=!0,E0=!0,K0=!0,B0=!0,Q0=0,F0=1,k0=2,z0=3,JA=4,U0=5,zA=6,cx=7,eA=8,EA=9,O0=10,g0=11,c0=12,q0=13,xA=14,r0=15,Mx=16,M0=17,o=18,C0=19,HA=21,i0=22,Ex=23,Fx=24,DE=25,KA=Symbol.for("react.element"),wx=Symbol.for("react.portal"),Qx=Symbol.for("react.fragment"),bA=Symbol.for("react.strict_mode"),lx=Symbol.for("react.profiler"),kA=Symbol.for("react.provider"),_=Symbol.for("react.context"),j0=Symbol.for("react.forward_ref"),FA=Symbol.for("react.suspense"),SA=Symbol.for("react.suspense_list"),Bx=Symbol.for("react.memo"),aA=Symbol.for("react.lazy"),$x=Symbol.for("react.scope"),w8=Symbol.for("react.debug_trace_mode"),rx=Symbol.for("react.offscreen"),GB=Symbol.for("react.legacy_hidden"),sB=Symbol.for("react.cache"),bB=Symbol.for("react.tracing_marker"),l9=Symbol.iterator,f6="@@iterator";function gE(F){if(F===null||typeof F!=="object")return null;var Q=l9&&F[l9]||F[f6];if(typeof Q==="function")return Q;return null}function G9(F,Q,y){var f=F.displayName;if(f)return f;var G=Q.displayName||Q.name||"";return G!==""?y+"("+G+")":y}function V0(F){return F.displayName||"Context"}function DA(F){if(F==null)return null;if(typeof F.tag==="number")I("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");if(typeof F==="function")return F.displayName||F.name||null;if(typeof F==="string")return F;switch(F){case Qx:return"Fragment";case wx:return"Portal";case lx:return"Profiler";case bA:return"StrictMode";case FA:return"Suspense";case SA:return"SuspenseList"}if(typeof F==="object")switch(F.$$typeof){case _:var Q=F;return V0(Q)+".Consumer";case kA:var y=F;return V0(y._context)+".Provider";case j0:return G9(F,F.render,"ForwardRef");case Bx:var f=F.displayName||null;if(f!==null)return f;return DA(F.type)||"Memo";case aA:{var G=F,U=G._payload,W=G._init;try{return DA(W(U))}catch(P){return null}}}return null}function Gx(F,Q,y){var f=Q.displayName||Q.name||"";return F.displayName||(f!==""?y+"("+f+")":y)}function UE(F){return F.displayName||"Context"}function RA(F){var{tag:Q,type:y}=F;switch(Q){case Fx:return"Cache";case EA:var f=y;return UE(f)+".Consumer";case O0:var G=y;return UE(G._context)+".Provider";case o:return"DehydratedFragment";case g0:return Gx(y,y.render,"ForwardRef");case cx:return"Fragment";case U0:return y;case JA:return"Portal";case z0:return"Root";case zA:return"Text";case Mx:return DA(y);case eA:if(y===bA)return"StrictMode";return"Mode";case i0:return"Offscreen";case c0:return"Profiler";case HA:return"Scope";case q0:return"Suspense";case C0:return"SuspenseList";case DE:return"TracingMarker";case F0:case Q0:case M0:case k0:case xA:case r0:if(typeof y==="function")return y.displayName||y.name||null;if(typeof y==="string")return y;break}return null}var ZA=0,_E=1,ox=2,Ax=4,kE=16,J9=32,JB=64,tx=128,n9=256,p9=512,r9=1024,eB=2048,WB=4096,a9=8192,iB=16384,H2=eB|Ax|JB|p9|r9|iB,u1=32767,HB=32768,a=65536,a0=131072,XA=1048576,fx=2097152,Ix=4194304,qE=8388608,Nx=16777216,Tx=33554432,r8=Ax|r9|0,dE=ox|Ax|kE|J9|p9|WB|a9,E8=Ax|JB|p9|a9,a8=eB|kE,RB=Ix|qE|fx,S6=D.ReactCurrentOwner;function _8(F){var Q=F,y=F;if(!F.alternate){var f=Q;do{if(Q=f,(Q.flags&(ox|WB))!==ZA)y=Q.return;f=Q.return}while(f)}else while(Q.return)Q=Q.return;if(Q.tag===z0)return y;return null}function W4(F){return _8(F)===F}function R4(F){{var Q=S6.current;if(Q!==null&&Q.tag===F0){var y=Q,f=y.stateNode;if(!f._warnedAboutRefsInRender)I("%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",RA(y)||"A component");f._warnedAboutRefsInRender=!0}}var G=K(F);if(!G)return!1;return _8(G)===G}function K2(F){if(_8(F)!==F)throw Error("Unable to find node on an unmounted component.")}function Og(F){var Q=F.alternate;if(!Q){var y=_8(F);if(y===null)throw Error("Unable to find node on an unmounted component.");if(y!==F)return null;return F}var f=F,G=Q;while(!0){var U=f.return;if(U===null)break;var W=U.alternate;if(W===null){var P=U.return;if(P!==null){f=G=P;continue}break}if(U.child===W.child){var k=U.child;while(k){if(k===f)return K2(U),F;if(k===G)return K2(U),Q;k=k.sibling}throw Error("Unable to find node on an unmounted component.")}if(f.return!==G.return)f=U,G=W;else{var p=!1,e=U.child;while(e){if(e===f){p=!0,f=U,G=W;break}if(e===G){p=!0,G=U,f=W;break}e=e.sibling}if(!p){e=W.child;while(e){if(e===f){p=!0,f=W,G=U;break}if(e===G){p=!0,G=W,f=U;break}e=e.sibling}if(!p)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(f.alternate!==G)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(f.tag!==z0)throw Error("Unable to find node on an unmounted component.");if(f.stateNode.current===f)return F;return Q}function Y2(F){var Q=Og(F);return Q!==null?L4(Q):null}function L4(F){if(F.tag===U0||F.tag===zA)return F;var Q=F.child;while(Q!==null){var y=L4(Q);if(y!==null)return y;Q=Q.sibling}return null}function b1(F){var Q=Og(F);return Q!==null?j4(Q):null}function j4(F){if(F.tag===U0||F.tag===zA)return F;var Q=F.child;while(Q!==null){if(Q.tag!==JA){var y=j4(Q);if(y!==null)return y}Q=Q.sibling}return null}var Pg=Array.isArray;function A9(F){return Pg(F)}var{getPublicInstance:$7,getRootHostContext:f7,getChildHostContext:G6,prepareForCommit:S7,resetAfterCommit:Vg,createInstance:v,appendInitialChild:T,finalizeInitialChildren:t,prepareUpdate:D0,shouldSetTextContent:y0,createTextInstance:P0,scheduleTimeout:o0,cancelTimeout:t0,noTimeout:yA,isPrimaryRenderer:AA,warnsIfNotActing:MA,supportsMutation:vA,supportsPersistence:sx,supportsHydration:CE,getInstanceFromNode:OE,beforeActiveInstanceBlur:d8,afterActiveInstanceBlur:H9,preparePortalMount:z4,prepareScopeUpdate:Q5,getInstanceFromScope:kF,getCurrentEventPriority:U2,detachDeletedInstance:hS,supportsMicrotasks:xy,scheduleMicrotask:vg,supportsTestSelectors:h5,findFiberRoot:Ey,getBoundingRect:By,getTextContent:Dy,isHiddenSubtree:T6,matchAccessibilityRole:Tg,setFocusIfFocusable:G7,setupIntersectionObserver:kg,appendChild:I5,appendChildToContainer:uF,commitTextUpdate:hB,commitMount:bF,commitUpdate:q2,insertBefore:i1,insertInContainerBefore:ug,removeChild:bg,removeChildFromContainer:X2,resetTextContent:iF,hideInstance:gy,hideTextInstance:hF,unhideInstance:Cy,unhideTextInstance:N,clearContainer:d,cloneInstance:Y0,createContainerChildSet:N0,appendChildToContainerChildSet:QA,finalizeContainerChildren:Dx,replaceContainerChildren:uA,cloneHiddenInstance:Wx,cloneHiddenTextInstance:wE,canHydrateInstance:B8,canHydrateTextInstance:oE,canHydrateSuspenseInstance:$8,isSuspenseInstancePending:U8,isSuspenseInstanceFallback:N8,getSuspenseInstanceFallbackErrorDetails:LB,registerSuspenseInstanceRetry:h1,getNextHydratableSibling:m5,getFirstHydratableChild:Z2,getFirstHydratableChildWithinContainer:mF,getFirstHydratableChildWithinSuspenseInstance:ig,hydrateInstance:Fy,hydrateTextInstance:cF,hydrateSuspenseInstance:m1,getNextHydratableInstanceAfterSuspenseInstance:mS,commitHydratedContainer:lF,commitHydratedSuspenseInstance:gX,clearSuspenseBoundary:Qy,clearSuspenseBoundaryFromContainer:CX,shouldDeleteUnhydratedTailInstances:FX,didNotMatchHydratedContainerTextInstance:cS,didNotMatchHydratedTextInstance:QX,didNotHydrateInstanceWithinContainer:Iy,didNotHydrateInstanceWithinSuspenseInstance:oT,didNotHydrateInstance:tT,didNotFindHydratableInstanceWithinContainer:yy,didNotFindHydratableTextInstanceWithinContainer:IX,didNotFindHydratableSuspenseInstanceWithinContainer:sT,didNotFindHydratableInstanceWithinSuspenseInstance:lS,didNotFindHydratableTextInstanceWithinSuspenseInstance:eT,didNotFindHydratableSuspenseInstanceWithinSuspenseInstance:c5,didNotFindHydratableInstance:nF,didNotFindHydratableTextInstance:pF,didNotFindHydratableSuspenseInstance:rF,errorHydratingContainer:yX}=x,c1=0,nS,wy,l1,K9,ax,$y,wX;function $X(){}$X.__reactDisabledLog=!0;function pS(){{if(c1===0){nS=console.log,wy=console.info,l1=console.warn,K9=console.error,ax=console.group,$y=console.groupCollapsed,wX=console.groupEnd;var F={configurable:!0,enumerable:!0,value:$X,writable:!0};Object.defineProperties(console,{info:F,log:F,warn:F,error:F,group:F,groupCollapsed:F,groupEnd:F})}c1++}}function Ak(){{if(c1--,c1===0){var F={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},F,{value:nS}),info:S({},F,{value:wy}),warn:S({},F,{value:l1}),error:S({},F,{value:K9}),group:S({},F,{value:ax}),groupCollapsed:S({},F,{value:$y}),groupEnd:S({},F,{value:wX})})}if(c1<0)I("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var rS=D.ReactCurrentDispatcher,aS;function M2(F,Q,y){{if(aS===void 0)try{throw Error()}catch(G){var f=G.stack.trim().match(/\n( *(at )?)/);aS=f&&f[1]||""}return`
|
|
121
121
|
`+aS+F}}var aF=!1,_F;{var N4=typeof WeakMap==="function"?WeakMap:Map;_F=new N4}function n1(F,Q){if(!F||aF)return"";{var y=_F.get(F);if(y!==void 0)return y}var f;aF=!0;var G=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var U;U=rS.current,rS.current=null,pS();try{if(Q){var W=function(){throw Error()};if(Object.defineProperty(W.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(W,[])}catch(d0){f=d0}Reflect.construct(F,[],W)}else{try{W.call()}catch(d0){f=d0}F.call(W.prototype)}}else{try{throw Error()}catch(d0){f=d0}F()}}catch(d0){if(d0&&f&&typeof d0.stack==="string"){var P=d0.stack.split(`
|
|
122
122
|
`),k=f.stack.split(`
|
|
123
123
|
`),p=P.length-1,e=k.length-1;while(p>=1&&e>=0&&P[p]!==k[e])e--;for(;p>=1&&e>=0;p--,e--)if(P[p]!==k[e]){if(p!==1||e!==1)do if(p--,e--,e<0||P[p]!==k[e]){var f0=`
|
|
@@ -236,7 +236,7 @@ This ensures that you're testing the behavior the user would see in the browser.
|
|
|
236
236
|
|
|
237
237
|
Check the render method of \``+p+"`."}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) "+("but got: "+(F==null?F:typeof F)+"."+k))}}var e=R5(W,y,Q,G);return e.elementType=F,e.type=P,e.lanes=U,e._debugOwner=f,e}function dZ(F,Q,y){var f=null;f=F._owner;var{type:G,key:U,props:W}=F,P=_Z(G,U,W,f,Q,y);return P._debugSource=F._source,P._debugOwner=F._owner,P}function PD(F,Q,y,f){var G=R5(cx,F,f,Q);return G.lanes=y,G}function v60(F,Q,y,f){if(typeof F.id!=="string")I('Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',typeof F.id);var G=R5(c0,F,f,Q|ZE);return G.elementType=lx,G.lanes=y,G.stateNode={effectDuration:0,passiveEffectDuration:0},G}function T60(F,Q,y,f){var G=R5(q0,F,f,Q);return G.elementType=FA,G.lanes=y,G}function k60(F,Q,y,f){var G=R5(C0,F,f,Q);return G.elementType=SA,G.lanes=y,G}function rk(F,Q,y,f){var G=R5(i0,F,f,Q);G.elementType=rx,G.lanes=y;var U={isHidden:!1};return G.stateNode=U,G}function oZ(F,Q,y){var f=R5(zA,F,null,Q);return f.lanes=y,f}function u60(){var F=R5(U0,null,null,Kx);return F.elementType="DELETED",F}function b60(F){var Q=R5(o,null,null,Kx);return Q.stateNode=F,Q}function tZ(F,Q,y){var f=F.children!==null?F.children:[],G=R5(JA,f,F.key,Q);return G.lanes=y,G.stateNode={containerInfo:F.containerInfo,pendingChildren:null,implementation:F.implementation},G}function ak(F,Q){if(F===null)F=R5(k0,null,null,Kx);return F.tag=Q.tag,F.key=Q.key,F.elementType=Q.elementType,F.type=Q.type,F.stateNode=Q.stateNode,F.return=Q.return,F.child=Q.child,F.sibling=Q.sibling,F.index=Q.index,F.ref=Q.ref,F.pendingProps=Q.pendingProps,F.memoizedProps=Q.memoizedProps,F.updateQueue=Q.updateQueue,F.memoizedState=Q.memoizedState,F.dependencies=Q.dependencies,F.mode=Q.mode,F.flags=Q.flags,F.subtreeFlags=Q.subtreeFlags,F.deletions=Q.deletions,F.lanes=Q.lanes,F.childLanes=Q.childLanes,F.alternate=Q.alternate,F.actualDuration=Q.actualDuration,F.actualStartTime=Q.actualStartTime,F.selfBaseDuration=Q.selfBaseDuration,F.treeBaseDuration=Q.treeBaseDuration,F._debugSource=Q._debugSource,F._debugOwner=Q._debugOwner,F._debugNeedsRemount=Q._debugNeedsRemount,F._debugHookTypes=Q._debugHookTypes,F}function i60(F,Q,y,f,G){if(this.tag=Q,this.containerInfo=F,this.pendingChildren=null,this.current=null,this.pingCache=null,this.finishedWork=null,this.timeoutHandle=yA,this.context=null,this.pendingContext=null,this.callbackNode=null,this.callbackPriority=mB,this.eventTimes=zy(n0),this.expirationTimes=zy(q8),this.pendingLanes=n0,this.suspendedLanes=n0,this.pingedLanes=n0,this.expiredLanes=n0,this.mutableReadLanes=n0,this.finishedLanes=n0,this.entangledLanes=n0,this.entanglements=zy(n0),this.identifierPrefix=f,this.onRecoverableError=G,CE)this.mutableSourceEagerHydrationData=null;this.effectDuration=0,this.passiveEffectDuration=0;{this.memoizedUpdaters=new Set;var U=this.pendingUpdatersLaneMap=[];for(var W=0;W<r1;W++)U.push(new Set)}switch(Q){case Hy:this._debugRootType=y?"hydrateRoot()":"createRoot()";break;case W2:this._debugRootType=y?"hydrate()":"render()";break}}function _k(F,Q,y,f,G,U,W,P,k,p){var e=new i60(F,Q,y,P,k),f0=V60(Q,U);e.current=f0,f0.stateNode=e;{var X0={element:f,isDehydrated:y,cache:null,transitions:null,pendingSuspenseBoundaries:null};f0.memoizedState=X0}return l6(f0),e}var h60="18.3.1";function m60(F,Q,y){var f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return hG(f),{$$typeof:wx,key:f==null?null:""+f,children:F,containerInfo:Q,implementation:y}}var sZ,eZ;sZ=!1,eZ={};function dk(F){if(!F)return _9;var Q=K(F),y=oS(Q);if(Q.tag===F0){var f=Q.type;if(r5(f))return sF(Q,f,y)}return y}function c60(F){var Q=K(F);if(Q===void 0)if(typeof F.render==="function")throw Error("Unable to find node on an unmounted component.");else{var y=Object.keys(F).join(",");throw Error("Argument appears to not be a ReactComponent. Keys: "+y)}var f=Y2(Q);if(f===null)return null;return f.stateNode}function l60(F,Q){{var y=K(F);if(y===void 0)if(typeof F.render==="function")throw Error("Unable to find node on an unmounted component.");else{var f=Object.keys(F).join(",");throw Error("Argument appears to not be a ReactComponent. Keys: "+f)}var G=Y2(y);if(G===null)return null;if(G.mode&f8){var U=RA(y)||"Component";if(!eZ[U]){eZ[U]=!0;var W=e9;try{if(o8(G),y.mode&f8)I("%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node",Q,Q,U);else I("%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node",Q,Q,U)}finally{if(W)o8(W);else A6()}}}return G.stateNode}}function n60(F,Q,y,f,G,U,W,P){var k=!1,p=null;return _k(F,Q,k,p,y,f,G,U,W)}function p60(F,Q,y,f,G,U,W,P,k,p){var e=!0,f0=_k(y,f,e,F,G,U,W,P,k);f0.context=dk(null);var X0=f0.current,h0=D6(),d0=ND(X0),m0=u4(h0,d0);return m0.callback=Q!==void 0&&Q!==null?Q:null,W7(X0,m0,d0),n90(f0,d0,h0),f0}function ok(F,Q,y,f){LX(Q,F);var G=Q.current,U=D6(),W=ND(G);vX(W);var P=dk(y);if(Q.context===null)Q.context=P;else Q.pendingContext=P;if(xC&&e9!==null&&!sZ)sZ=!0,I(`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.
|
|
238
238
|
|
|
239
|
-
Check the render method of %s.`,RA(e9)||"Unknown");var k=u4(U,W);if(k.payload={element:F},f=f===void 0?null:f,f!==null){if(typeof f!=="function")I("render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",f);k.callback=f}var p=W7(G,k,W);if(p!==null)dB(p,G,W,U),NQ(p,G,W);return W}function r60(F){var Q=F.current;if(!Q.child)return null;switch(Q.child.tag){case U0:return $7(Q.child.stateNode);default:return Q.child.stateNode}}function a60(F){switch(F.tag){case z0:{var Q=F.stateNode;if(LG(Q)){var y=KX(Q);_90(Q,y)}break}case q0:{TJ(function(){var G=j9(F,Hx);if(G!==null){var U=D6();dB(G,F,Hx,U)}});var f=Hx;mJ(F,f);break}}}function tk(F,Q){var y=F.memoizedState;if(y!==null&&y.dehydrated!==null)y.retryLane=XX(y.retryLane,Q)}function mJ(F,Q){tk(F,Q);var y=F.alternate;if(y)tk(y,Q)}function _60(F){if(F.tag!==q0)return;var Q=Hx,y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function d60(F){if(F.tag!==q0)return;var Q=ag,y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function o60(F){if(F.tag!==q0)return;var Q=ND(F),y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function t60(F){var Q=b1(F);if(Q===null)return null;return Q.stateNode}var sk=function(F){return null};function ek(F){return sk(F)}var Au=function(F){return!1};function xu(F){return Au(F)}var Eu=null,Bu=null,Du=null,gu=null,Cu=null,Fu=null,Qu=null,Iu=null,yu=null;{var wu=function(F,Q,y){var f=Q[y],G=A9(F)?F.slice():S({},F);if(y+1===Q.length){if(A9(G))G.splice(f,1);else delete G[f];return G}return G[f]=wu(F[f],Q,y+1),G},$u=function(F,Q){return wu(F,Q,0)},fu=function(F,Q,y,f){var G=Q[f],U=A9(F)?F.slice():S({},F);if(f+1===Q.length){var W=y[f];if(U[W]=U[G],A9(U))U.splice(G,1);else delete U[G]}else U[G]=fu(F[G],Q,y,f+1);return U},Su=function(F,Q,y){if(Q.length!==y.length){C("copyWithRename() expects paths of the same length");return}else for(var f=0;f<y.length-1;f++)if(Q[f]!==y[f]){C("copyWithRename() expects paths to be the same except for the deepest key");return}return fu(F,Q,y,0)},Gu=function(F,Q,y,f){if(y>=Q.length)return f;var G=Q[y],U=A9(F)?F.slice():S({},F);return U[G]=Gu(F[G],Q,y+1,f),U},Ju=function(F,Q,y){return Gu(F,Q,0,y)},AM=function(F,Q){var y=F.memoizedState;while(y!==null&&Q>0)y=y.next,Q--;return y};Eu=function(F,Q,y,f){var G=AM(F,Q);if(G!==null){var U=Ju(G.memoizedState,y,f);G.memoizedState=U,G.baseState=U,F.memoizedProps=S({},F.memoizedProps);var W=j9(F,Hx);if(W!==null)dB(W,F,Hx,q8)}},Bu=function(F,Q,y){var f=AM(F,Q);if(f!==null){var G=$u(f.memoizedState,y);f.memoizedState=G,f.baseState=G,F.memoizedProps=S({},F.memoizedProps);var U=j9(F,Hx);if(U!==null)dB(U,F,Hx,q8)}},Du=function(F,Q,y,f){var G=AM(F,Q);if(G!==null){var U=Su(G.memoizedState,y,f);G.memoizedState=U,G.baseState=U,F.memoizedProps=S({},F.memoizedProps);var W=j9(F,Hx);if(W!==null)dB(W,F,Hx,q8)}},gu=function(F,Q,y){if(F.pendingProps=Ju(F.memoizedProps,Q,y),F.alternate)F.alternate.pendingProps=F.pendingProps;var f=j9(F,Hx);if(f!==null)dB(f,F,Hx,q8)},Cu=function(F,Q){if(F.pendingProps=$u(F.memoizedProps,Q),F.alternate)F.alternate.pendingProps=F.pendingProps;var y=j9(F,Hx);if(y!==null)dB(y,F,Hx,q8)},Fu=function(F,Q,y){if(F.pendingProps=Su(F.memoizedProps,Q,y),F.alternate)F.alternate.pendingProps=F.pendingProps;var f=j9(F,Hx);if(f!==null)dB(f,F,Hx,q8)},Qu=function(F){var Q=j9(F,Hx);if(Q!==null)dB(Q,F,Hx,q8)},Iu=function(F){sk=F},yu=function(F){Au=F}}function s60(F){var Q=Y2(F);if(Q===null)return null;return Q.stateNode}function e60(F){return null}function A50(){return e9}function x50(F){var Q=F.findFiberByHostInstance,y=D.ReactCurrentDispatcher;return $Q({bundleType:F.bundleType,version:F.version,rendererPackageName:F.rendererPackageName,rendererConfig:F.rendererConfig,overrideHookState:Eu,overrideHookStateDeletePath:Bu,overrideHookStateRenamePath:Du,overrideProps:gu,overridePropsDeletePath:Cu,overridePropsRenamePath:Fu,setErrorHandler:Iu,setSuspenseHandler:yu,scheduleUpdate:Qu,currentDispatcherRef:y,findHostInstanceByFiber:s60,findFiberByHostInstance:Q||e60,findHostInstancesForRefresh:R60,scheduleRefresh:M60,scheduleRoot:W60,setRefreshHandler:Z60,getCurrentFiber:A50,reconcilerVersion:h60})}return E.attemptContinuousHydration=d60,E.attemptDiscreteHydration=_60,E.attemptHydrationAtCurrentPriority=o60,E.attemptSynchronousHydration=a60,E.batchedUpdates=o90,E.createComponentSelector=R90,E.createContainer=n60,E.createHasPseudoClassSelector=L90,E.createHydrationContainer=p60,E.createPortal=m60,E.createRoleSelector=j90,E.createTestNameSelector=N90,E.createTextSelector=z90,E.deferredUpdates=d90,E.discreteUpdates=t90,E.findAllNodes=WJ,E.findBoundingRects=V90,E.findHostInstance=c60,E.findHostInstanceWithNoPortals=t60,E.findHostInstanceWithWarning=l60,E.flushControlled=e90,E.flushPassiveEffects=b7,E.flushSync=TJ,E.focusWithin=v90,E.getCurrentUpdatePriority=J5,E.getFindAllNodesFailureDescription=P90,E.getPublicRootInstance=r60,E.injectIntoDevTools=x50,E.isAlreadyRendering=s90,E.observeVisibleRects=k90,E.registerMutableSourceForHydration=JC,E.runWithPriority=yQ,E.shouldError=ek,E.shouldSuspend=xu,E.updateContainer=ok,E}});var Tx0=c((Wk0)=>{(function(){var A=1,x=4,E=16,D=536870912,B=A,g=x,C=E,I=D,$=0,S=1;Wk0.ConcurrentRoot=S,Wk0.ContinuousEventPriority=g,Wk0.DefaultEventPriority=C,Wk0.DiscreteEventPriority=B,Wk0.IdleEventPriority=I,Wk0.LegacyRoot=$})()});var ix0=c((CHA,bx0)=>{bx0.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var N1=c((bHA,BE0)=>{var xE0=["nodebuffer","arraybuffer","fragments"],EE0=typeof Blob<"u";if(EE0)xE0.push("blob");BE0.exports={BINARY_TYPES:xE0,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:EE0,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var US=c((iHA,Kq)=>{var{EMPTY_BUFFER:ek0}=N1(),tv=Buffer[Symbol.species];function Au0(A,x){if(A.length===0)return ek0;if(A.length===1)return A[0];let E=Buffer.allocUnsafe(x),D=0;for(let B=0;B<A.length;B++){let g=A[B];E.set(g,D),D+=g.length}if(D<x)return new tv(E.buffer,E.byteOffset,D);return E}function DE0(A,x,E,D,B){for(let g=0;g<B;g++)E[D+g]=A[g]^x[g&3]}function gE0(A,x){for(let E=0;E<A.length;E++)A[E]^=x[E&3]}function xu0(A){if(A.length===A.buffer.byteLength)return A.buffer;return A.buffer.slice(A.byteOffset,A.byteOffset+A.length)}function sv(A){if(sv.readOnly=!0,Buffer.isBuffer(A))return A;let x;if(A instanceof ArrayBuffer)x=new tv(A);else if(ArrayBuffer.isView(A))x=new tv(A.buffer,A.byteOffset,A.byteLength);else x=Buffer.from(A),sv.readOnly=!1;return x}Kq.exports={concat:Au0,mask:DE0,toArrayBuffer:xu0,toBuffer:sv,unmask:gE0};if(!process.env.WS_NO_BUFFER_UTIL)try{let A=(()=>{throw new Error("Cannot require module "+"bufferutil");})();Kq.exports.mask=function(x,E,D,B,g){if(g<48)DE0(x,E,D,B,g);else A.mask(x,E,D,B,g)},Kq.exports.unmask=function(x,E){if(x.length<32)gE0(x,E);else A.unmask(x,E)}}catch(A){}});var IE0=c((hHA,QE0)=>{var CE0=Symbol("kDone"),ev=Symbol("kRun");class FE0{constructor(A){this[CE0]=()=>{this.pending--,this[ev]()},this.concurrency=A||1/0,this.jobs=[],this.pending=0}add(A){this.jobs.push(A),this[ev]()}[ev](){if(this.pending===this.concurrency)return;if(this.jobs.length){let A=this.jobs.shift();this.pending++,A(this[CE0])}}}QE0.exports=FE0});var XS=c((mHA,SE0)=>{var qS=zx("zlib"),yE0=US(),Eu0=IE0(),{kStatusCode:wE0}=N1(),Bu0=Buffer[Symbol.species],Du0=Buffer.from([0,0,255,255]),Uq=Symbol("permessage-deflate"),O1=Symbol("total-length"),u3=Symbol("callback"),Ug=Symbol("buffers"),b3=Symbol("error"),Yq;class $E0{constructor(A,x,E){if(this._maxPayload=E|0,this._options=A||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!x,this._deflate=null,this._inflate=null,this.params=null,!Yq){let D=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Yq=new Eu0(D)}}static get extensionName(){return"permessage-deflate"}offer(){let A={};if(this._options.serverNoContextTakeover)A.server_no_context_takeover=!0;if(this._options.clientNoContextTakeover)A.client_no_context_takeover=!0;if(this._options.serverMaxWindowBits)A.server_max_window_bits=this._options.serverMaxWindowBits;if(this._options.clientMaxWindowBits)A.client_max_window_bits=this._options.clientMaxWindowBits;else if(this._options.clientMaxWindowBits==null)A.client_max_window_bits=!0;return A}accept(A){return A=this.normalizeParams(A),this.params=this._isServer?this.acceptAsServer(A):this.acceptAsClient(A),this.params}cleanup(){if(this._inflate)this._inflate.close(),this._inflate=null;if(this._deflate){let A=this._deflate[u3];if(this._deflate.close(),this._deflate=null,A)A(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(A){let x=this._options,E=A.find((D)=>{if(x.serverNoContextTakeover===!1&&D.server_no_context_takeover||D.server_max_window_bits&&(x.serverMaxWindowBits===!1||typeof x.serverMaxWindowBits==="number"&&x.serverMaxWindowBits>D.server_max_window_bits)||typeof x.clientMaxWindowBits==="number"&&!D.client_max_window_bits)return!1;return!0});if(!E)throw Error("None of the extension offers can be accepted");if(x.serverNoContextTakeover)E.server_no_context_takeover=!0;if(x.clientNoContextTakeover)E.client_no_context_takeover=!0;if(typeof x.serverMaxWindowBits==="number")E.server_max_window_bits=x.serverMaxWindowBits;if(typeof x.clientMaxWindowBits==="number")E.client_max_window_bits=x.clientMaxWindowBits;else if(E.client_max_window_bits===!0||x.clientMaxWindowBits===!1)delete E.client_max_window_bits;return E}acceptAsClient(A){let x=A[0];if(this._options.clientNoContextTakeover===!1&&x.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(!x.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number")x.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==="number"&&x.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"');return x}normalizeParams(A){return A.forEach((x)=>{Object.keys(x).forEach((E)=>{let D=x[E];if(D.length>1)throw Error(`Parameter "${E}" must have only a single value`);if(D=D[0],E==="client_max_window_bits"){if(D!==!0){let B=+D;if(!Number.isInteger(B)||B<8||B>15)throw TypeError(`Invalid value for parameter "${E}": ${D}`);D=B}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${E}": ${D}`)}else if(E==="server_max_window_bits"){let B=+D;if(!Number.isInteger(B)||B<8||B>15)throw TypeError(`Invalid value for parameter "${E}": ${D}`);D=B}else if(E==="client_no_context_takeover"||E==="server_no_context_takeover"){if(D!==!0)throw TypeError(`Invalid value for parameter "${E}": ${D}`)}else throw Error(`Unknown parameter "${E}"`);x[E]=D})}),A}decompress(A,x,E){Yq.add((D)=>{this._decompress(A,x,(B,g)=>{D(),E(B,g)})})}compress(A,x,E){Yq.add((D)=>{this._compress(A,x,(B,g)=>{D(),E(B,g)})})}_decompress(A,x,E){let D=this._isServer?"client":"server";if(!this._inflate){let B=`${D}_max_window_bits`,g=typeof this.params[B]!=="number"?qS.Z_DEFAULT_WINDOWBITS:this.params[B];this._inflate=qS.createInflateRaw({...this._options.zlibInflateOptions,windowBits:g}),this._inflate[Uq]=this,this._inflate[O1]=0,this._inflate[Ug]=[],this._inflate.on("error",Cu0),this._inflate.on("data",fE0)}if(this._inflate[u3]=E,this._inflate.write(A),x)this._inflate.write(Du0);this._inflate.flush(()=>{let B=this._inflate[b3];if(B){this._inflate.close(),this._inflate=null,E(B);return}let g=yE0.concat(this._inflate[Ug],this._inflate[O1]);if(this._inflate._readableState.endEmitted)this._inflate.close(),this._inflate=null;else if(this._inflate[O1]=0,this._inflate[Ug]=[],x&&this.params[`${D}_no_context_takeover`])this._inflate.reset();E(null,g)})}_compress(A,x,E){let D=this._isServer?"server":"client";if(!this._deflate){let B=`${D}_max_window_bits`,g=typeof this.params[B]!=="number"?qS.Z_DEFAULT_WINDOWBITS:this.params[B];this._deflate=qS.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:g}),this._deflate[O1]=0,this._deflate[Ug]=[],this._deflate.on("data",gu0)}this._deflate[u3]=E,this._deflate.write(A),this._deflate.flush(qS.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let B=yE0.concat(this._deflate[Ug],this._deflate[O1]);if(x)B=new Bu0(B.buffer,B.byteOffset,B.length-4);if(this._deflate[u3]=null,this._deflate[O1]=0,this._deflate[Ug]=[],x&&this.params[`${D}_no_context_takeover`])this._deflate.reset();E(null,B)})}}SE0.exports=$E0;function gu0(A){this[Ug].push(A),this[O1]+=A.length}function fE0(A){if(this[O1]+=A.length,this[Uq]._maxPayload<1||this[O1]<=this[Uq]._maxPayload){this[Ug].push(A);return}this[b3]=RangeError("Max payload size exceeded"),this[b3].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[b3][wE0]=1009,this.removeListener("data",fE0),this.reset()}function Cu0(A){if(this[Uq]._inflate=null,this[b3]){this[u3](this[b3]);return}A[wE0]=1007,this[u3](A)}});var i3=c((cHA,qq)=>{var{isUtf8:GE0}=zx("buffer"),{hasBlob:Fu0}=N1(),Qu0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Iu0(A){return A>=1000&&A<=1014&&A!==1004&&A!==1005&&A!==1006||A>=3000&&A<=4999}function AT(A){let x=A.length,E=0;while(E<x)if((A[E]&128)===0)E++;else if((A[E]&224)===192){if(E+1===x||(A[E+1]&192)!==128||(A[E]&254)===192)return!1;E+=2}else if((A[E]&240)===224){if(E+2>=x||(A[E+1]&192)!==128||(A[E+2]&192)!==128||A[E]===224&&(A[E+1]&224)===128||A[E]===237&&(A[E+1]&224)===160)return!1;E+=3}else if((A[E]&248)===240){if(E+3>=x||(A[E+1]&192)!==128||(A[E+2]&192)!==128||(A[E+3]&192)!==128||A[E]===240&&(A[E+1]&240)===128||A[E]===244&&A[E+1]>143||A[E]>244)return!1;E+=4}else return!1;return!0}function yu0(A){return Fu0&&typeof A==="object"&&typeof A.arrayBuffer==="function"&&typeof A.type==="string"&&typeof A.stream==="function"&&(A[Symbol.toStringTag]==="Blob"||A[Symbol.toStringTag]==="File")}qq.exports={isBlob:yu0,isValidStatusCode:Iu0,isValidUTF8:AT,tokenChars:Qu0};if(GE0)qq.exports.isValidUTF8=function(A){return A.length<24?AT(A):GE0(A)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let A=(()=>{throw new Error("Cannot require module "+"utf-8-validate");})();qq.exports.isValidUTF8=function(x){return x.length<32?AT(x):A(x)}}catch(A){}});var ET=c((lHA,UE0)=>{var{Writable:wu0}=zx("stream"),JE0=XS(),{BINARY_TYPES:$u0,EMPTY_BUFFER:HE0,kStatusCode:fu0,kWebSocket:Su0}=N1(),{concat:xT,toArrayBuffer:Gu0,unmask:Ju0}=US(),{isValidStatusCode:Hu0,isValidUTF8:KE0}=i3(),Xq=Buffer[Symbol.species];class YE0 extends wu0{constructor(A={}){super();this._allowSynchronousEvents=A.allowSynchronousEvents!==void 0?A.allowSynchronousEvents:!0,this._binaryType=A.binaryType||$u0[0],this._extensions=A.extensions||{},this._isServer=!!A.isServer,this._maxPayload=A.maxPayload|0,this._skipUTF8Validation=!!A.skipUTF8Validation,this[Su0]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(A,x,E){if(this._opcode===8&&this._state==0)return E();this._bufferedBytes+=A.length,this._buffers.push(A),this.startLoop(E)}consume(A){if(this._bufferedBytes-=A,A===this._buffers[0].length)return this._buffers.shift();if(A<this._buffers[0].length){let E=this._buffers[0];return this._buffers[0]=new Xq(E.buffer,E.byteOffset+A,E.length-A),new Xq(E.buffer,E.byteOffset,A)}let x=Buffer.allocUnsafe(A);do{let E=this._buffers[0],D=x.length-A;if(A>=E.length)x.set(this._buffers.shift(),D);else x.set(new Uint8Array(E.buffer,E.byteOffset,A),D),this._buffers[0]=new Xq(E.buffer,E.byteOffset+A,E.length-A);A-=E.length}while(A>0);return x}startLoop(A){this._loop=!0;do switch(this._state){case 0:this.getInfo(A);break;case 1:this.getPayloadLength16(A);break;case 2:this.getPayloadLength64(A);break;case 3:this.getMask();break;case 4:this.getData(A);break;case 5:case 6:this._loop=!1;return}while(this._loop);if(!this._errored)A()}getInfo(A){if(this._bufferedBytes<2){this._loop=!1;return}let x=this.consume(2);if((x[0]&48)!==0){let D=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");A(D);return}let E=(x[0]&64)===64;if(E&&!this._extensions[JE0.extensionName]){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(this._fin=(x[0]&128)===128,this._opcode=x[0]&15,this._payloadLength=x[1]&127,this._opcode===0){if(E){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(!this._fragmented){let D=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let D=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}this._compressed=E}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let D=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");A(D);return}if(E){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let D=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");A(D);return}}else{let D=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;if(this._masked=(x[1]&128)===128,this._isServer){if(!this._masked){let D=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");A(D);return}}else if(this._masked){let D=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");A(D);return}if(this._payloadLength===126)this._state=1;else if(this._payloadLength===127)this._state=2;else this.haveLength(A)}getPayloadLength16(A){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(A)}getPayloadLength64(A){if(this._bufferedBytes<8){this._loop=!1;return}let x=this.consume(8),E=x.readUInt32BE(0);if(E>Math.pow(2,21)-1){let D=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");A(D);return}this._payloadLength=E*Math.pow(2,32)+x.readUInt32BE(4),this.haveLength(A)}haveLength(A){if(this._payloadLength&&this._opcode<8){if(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){let x=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");A(x);return}}if(this._masked)this._state=3;else this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(A){let x=HE0;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}if(x=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0)Ju0(x,this._mask)}if(this._opcode>7){this.controlMessage(x,A);return}if(this._compressed){this._state=5,this.decompress(x,A);return}if(x.length)this._messageLength=this._totalPayloadLength,this._fragments.push(x);this.dataMessage(A)}decompress(A,x){this._extensions[JE0.extensionName].decompress(A,this._fin,(D,B)=>{if(D)return x(D);if(B.length){if(this._messageLength+=B.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let g=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");x(g);return}this._fragments.push(B)}if(this.dataMessage(x),this._state===0)this.startLoop(x)})}dataMessage(A){if(!this._fin){this._state=0;return}let x=this._messageLength,E=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let D;if(this._binaryType==="nodebuffer")D=xT(E,x);else if(this._binaryType==="arraybuffer")D=Gu0(xT(E,x));else if(this._binaryType==="blob")D=new Blob(E);else D=E;if(this._allowSynchronousEvents)this.emit("message",D,!0),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",D,!0),this._state=0,this.startLoop(A)})}else{let D=xT(E,x);if(!this._skipUTF8Validation&&!KE0(D)){let B=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");A(B);return}if(this._state===5||this._allowSynchronousEvents)this.emit("message",D,!1),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",D,!1),this._state=0,this.startLoop(A)})}}controlMessage(A,x){if(this._opcode===8){if(A.length===0)this._loop=!1,this.emit("conclude",1005,HE0),this.end();else{let E=A.readUInt16BE(0);if(!Hu0(E)){let B=this.createError(RangeError,`invalid status code ${E}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");x(B);return}let D=new Xq(A.buffer,A.byteOffset+2,A.length-2);if(!this._skipUTF8Validation&&!KE0(D)){let B=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");x(B);return}this._loop=!1,this.emit("conclude",E,D),this.end()}this._state=0;return}if(this._allowSynchronousEvents)this.emit(this._opcode===9?"ping":"pong",A),this._state=0;else this._state=6,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",A),this._state=0,this.startLoop(x)})}createError(A,x,E,D,B){this._loop=!1,this._errored=!0;let g=new A(E?`Invalid WebSocket frame: ${x}`:x);return Error.captureStackTrace(g,this.createError),g.code=B,g[fu0]=D,g}}UE0.exports=YE0});var DT=c((pHA,ZE0)=>{var{Duplex:nHA}=zx("stream"),{randomFillSync:Ku0}=zx("crypto"),qE0=XS(),{EMPTY_BUFFER:Yu0,kWebSocket:Uu0,NOOP:qu0}=N1(),{isBlob:h3,isValidStatusCode:Xu0}=i3(),{mask:XE0,toBuffer:jF}=US(),X4=Symbol("kByteLength"),Zu0=Buffer.alloc(4),zF,m3=8192,Q7=0,Mu0=1,Wu0=2;class qg{constructor(A,x,E){if(this._extensions=x||{},E)this._generateMask=E,this._maskBuffer=Buffer.alloc(4);this._socket=A,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Q7,this.onerror=qu0,this[Uu0]=void 0}static frame(A,x){let E,D=!1,B=2,g=!1;if(x.mask){if(E=x.maskBuffer||Zu0,x.generateMask)x.generateMask(E);else{if(m3===8192){if(zF===void 0)zF=Buffer.alloc(8192);Ku0(zF,0,8192),m3=0}E[0]=zF[m3++],E[1]=zF[m3++],E[2]=zF[m3++],E[3]=zF[m3++]}g=(E[0]|E[1]|E[2]|E[3])===0,B=6}let C;if(typeof A==="string")if((!x.mask||g)&&x[X4]!==void 0)C=x[X4];else A=Buffer.from(A),C=A.length;else C=A.length,D=x.mask&&x.readOnly&&!g;let I=C;if(C>=65536)B+=8,I=127;else if(C>125)B+=2,I=126;let $=Buffer.allocUnsafe(D?C+B:B);if($[0]=x.fin?x.opcode|128:x.opcode,x.rsv1)$[0]|=64;if($[1]=I,I===126)$.writeUInt16BE(C,2);else if(I===127)$[2]=$[3]=0,$.writeUIntBE(C,4,6);if(!x.mask)return[$,A];if($[1]|=128,$[B-4]=E[0],$[B-3]=E[1],$[B-2]=E[2],$[B-1]=E[3],g)return[$,A];if(D)return XE0(A,E,$,B,C),[$];return XE0(A,E,A,0,C),[$,A]}close(A,x,E,D){let B;if(A===void 0)B=Yu0;else if(typeof A!=="number"||!Xu0(A))throw TypeError("First argument must be a valid error code number");else if(x===void 0||!x.length)B=Buffer.allocUnsafe(2),B.writeUInt16BE(A,0);else{let C=Buffer.byteLength(x);if(C>123)throw RangeError("The message must not be greater than 123 bytes");if(B=Buffer.allocUnsafe(2+C),B.writeUInt16BE(A,0),typeof x==="string")B.write(x,2);else B.set(x,2)}let g={[X4]:B.length,fin:!0,generateMask:this._generateMask,mask:E,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};if(this._state!==Q7)this.enqueue([this.dispatch,B,!1,g,D]);else this.sendFrame(qg.frame(B,g),D)}ping(A,x,E){let D,B;if(typeof A==="string")D=Buffer.byteLength(A),B=!1;else if(h3(A))D=A.size,B=!1;else A=jF(A),D=A.length,B=jF.readOnly;if(D>125)throw RangeError("The data size must not be greater than 125 bytes");let g={[X4]:D,fin:!0,generateMask:this._generateMask,mask:x,maskBuffer:this._maskBuffer,opcode:9,readOnly:B,rsv1:!1};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,!1,g,E]);else this.getBlobData(A,!1,g,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,!1,g,E]);else this.sendFrame(qg.frame(A,g),E)}pong(A,x,E){let D,B;if(typeof A==="string")D=Buffer.byteLength(A),B=!1;else if(h3(A))D=A.size,B=!1;else A=jF(A),D=A.length,B=jF.readOnly;if(D>125)throw RangeError("The data size must not be greater than 125 bytes");let g={[X4]:D,fin:!0,generateMask:this._generateMask,mask:x,maskBuffer:this._maskBuffer,opcode:10,readOnly:B,rsv1:!1};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,!1,g,E]);else this.getBlobData(A,!1,g,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,!1,g,E]);else this.sendFrame(qg.frame(A,g),E)}send(A,x,E){let D=this._extensions[qE0.extensionName],B=x.binary?2:1,g=x.compress,C,I;if(typeof A==="string")C=Buffer.byteLength(A),I=!1;else if(h3(A))C=A.size,I=!1;else A=jF(A),C=A.length,I=jF.readOnly;if(this._firstFragment){if(this._firstFragment=!1,g&&D&&D.params[D._isServer?"server_no_context_takeover":"client_no_context_takeover"])g=C>=D._threshold;this._compress=g}else g=!1,B=0;if(x.fin)this._firstFragment=!0;let $={[X4]:C,fin:x.fin,generateMask:this._generateMask,mask:x.mask,maskBuffer:this._maskBuffer,opcode:B,readOnly:I,rsv1:g};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,this._compress,$,E]);else this.getBlobData(A,this._compress,$,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,this._compress,$,E]);else this.dispatch(A,this._compress,$,E)}getBlobData(A,x,E,D){this._bufferedBytes+=E[X4],this._state=Wu0,A.arrayBuffer().then((B)=>{if(this._socket.destroyed){let C=Error("The socket was closed while the blob was being read");process.nextTick(BT,this,C,D);return}this._bufferedBytes-=E[X4];let g=jF(B);if(!x)this._state=Q7,this.sendFrame(qg.frame(g,E),D),this.dequeue();else this.dispatch(g,x,E,D)}).catch((B)=>{process.nextTick(Ru0,this,B,D)})}dispatch(A,x,E,D){if(!x){this.sendFrame(qg.frame(A,E),D);return}let B=this._extensions[qE0.extensionName];this._bufferedBytes+=E[X4],this._state=Mu0,B.compress(A,E.fin,(g,C)=>{if(this._socket.destroyed){let I=Error("The socket was closed while data was being compressed");BT(this,I,D);return}this._bufferedBytes-=E[X4],this._state=Q7,E.readOnly=!1,this.sendFrame(qg.frame(C,E),D),this.dequeue()})}dequeue(){while(this._state===Q7&&this._queue.length){let A=this._queue.shift();this._bufferedBytes-=A[3][X4],Reflect.apply(A[0],this,A.slice(1))}}enqueue(A){this._bufferedBytes+=A[3][X4],this._queue.push(A)}sendFrame(A,x){if(A.length===2)this._socket.cork(),this._socket.write(A[0]),this._socket.write(A[1],x),this._socket.uncork();else this._socket.write(A[0],x)}}ZE0.exports=qg;function BT(A,x,E){if(typeof E==="function")E(x);for(let D=0;D<A._queue.length;D++){let B=A._queue[D],g=B[B.length-1];if(typeof g==="function")g(x)}}function Ru0(A,x,E){BT(A,x,E),A.onerror(x)}});var PE0=c((rHA,OE0)=>{var{kForOnEventAttribute:ZS,kListener:gT}=N1(),ME0=Symbol("kCode"),WE0=Symbol("kData"),RE0=Symbol("kError"),LE0=Symbol("kMessage"),jE0=Symbol("kReason"),c3=Symbol("kTarget"),zE0=Symbol("kType"),NE0=Symbol("kWasClean");class Xg{constructor(A){this[c3]=null,this[zE0]=A}get target(){return this[c3]}get type(){return this[zE0]}}Object.defineProperty(Xg.prototype,"target",{enumerable:!0});Object.defineProperty(Xg.prototype,"type",{enumerable:!0});class l3 extends Xg{constructor(A,x={}){super(A);this[ME0]=x.code===void 0?0:x.code,this[jE0]=x.reason===void 0?"":x.reason,this[NE0]=x.wasClean===void 0?!1:x.wasClean}get code(){return this[ME0]}get reason(){return this[jE0]}get wasClean(){return this[NE0]}}Object.defineProperty(l3.prototype,"code",{enumerable:!0});Object.defineProperty(l3.prototype,"reason",{enumerable:!0});Object.defineProperty(l3.prototype,"wasClean",{enumerable:!0});class MS extends Xg{constructor(A,x={}){super(A);this[RE0]=x.error===void 0?null:x.error,this[LE0]=x.message===void 0?"":x.message}get error(){return this[RE0]}get message(){return this[LE0]}}Object.defineProperty(MS.prototype,"error",{enumerable:!0});Object.defineProperty(MS.prototype,"message",{enumerable:!0});class Mq extends Xg{constructor(A,x={}){super(A);this[WE0]=x.data===void 0?null:x.data}get data(){return this[WE0]}}Object.defineProperty(Mq.prototype,"data",{enumerable:!0});var Lu0={addEventListener(A,x,E={}){for(let B of this.listeners(A))if(!E[ZS]&&B[gT]===x&&!B[ZS])return;let D;if(A==="message")D=function(g,C){let I=new Mq("message",{data:C?g:g.toString()});I[c3]=this,Zq(x,this,I)};else if(A==="close")D=function(g,C){let I=new l3("close",{code:g,reason:C.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});I[c3]=this,Zq(x,this,I)};else if(A==="error")D=function(g){let C=new MS("error",{error:g,message:g.message});C[c3]=this,Zq(x,this,C)};else if(A==="open")D=function(){let g=new Xg("open");g[c3]=this,Zq(x,this,g)};else return;if(D[ZS]=!!E[ZS],D[gT]=x,E.once)this.once(A,D);else this.on(A,D)},removeEventListener(A,x){for(let E of this.listeners(A))if(E[gT]===x&&!E[ZS]){this.removeListener(A,E);break}}};OE0.exports={CloseEvent:l3,ErrorEvent:MS,Event:Xg,EventTarget:Lu0,MessageEvent:Mq};function Zq(A,x,E){if(typeof A==="object"&&A.handleEvent)A.handleEvent.call(A,E);else A.call(x,E)}});var CT=c((aHA,VE0)=>{var{tokenChars:WS}=i3();function f2(A,x,E){if(A[x]===void 0)A[x]=[E];else A[x].push(E)}function ju0(A){let x=Object.create(null),E=Object.create(null),D=!1,B=!1,g=!1,C,I,$=-1,S=-1,K=-1,M=0;for(;M<A.length;M++)if(S=A.charCodeAt(M),C===void 0)if(K===-1&&WS[S]===1){if($===-1)$=M}else if(M!==0&&(S===32||S===9)){if(K===-1&&$!==-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;let Z=A.slice($,K);if(S===44)f2(x,Z,E),E=Object.create(null);else C=Z;$=K=-1}else throw SyntaxError(`Unexpected character at index ${M}`);else if(I===void 0)if(K===-1&&WS[S]===1){if($===-1)$=M}else if(S===32||S===9){if(K===-1&&$!==-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;if(f2(E,A.slice($,K),!0),S===44)f2(x,C,E),E=Object.create(null),C=void 0;$=K=-1}else if(S===61&&$!==-1&&K===-1)I=A.slice($,M),$=K=-1;else throw SyntaxError(`Unexpected character at index ${M}`);else if(B){if(WS[S]!==1)throw SyntaxError(`Unexpected character at index ${M}`);if($===-1)$=M;else if(!D)D=!0;B=!1}else if(g)if(WS[S]===1){if($===-1)$=M}else if(S===34&&$!==-1)g=!1,K=M;else if(S===92)B=!0;else throw SyntaxError(`Unexpected character at index ${M}`);else if(S===34&&A.charCodeAt(M-1)===61)g=!0;else if(K===-1&&WS[S]===1){if($===-1)$=M}else if($!==-1&&(S===32||S===9)){if(K===-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;let Z=A.slice($,K);if(D)Z=Z.replace(/\\/g,""),D=!1;if(f2(E,I,Z),S===44)f2(x,C,E),E=Object.create(null),C=void 0;I=void 0,$=K=-1}else throw SyntaxError(`Unexpected character at index ${M}`);if($===-1||g||S===32||S===9)throw SyntaxError("Unexpected end of input");if(K===-1)K=M;let X=A.slice($,K);if(C===void 0)f2(x,X,E);else{if(I===void 0)f2(E,X,!0);else if(D)f2(E,I,X.replace(/\\/g,""));else f2(E,I,X);f2(x,C,E)}return x}function zu0(A){return Object.keys(A).map((x)=>{let E=A[x];if(!Array.isArray(E))E=[E];return E.map((D)=>{return[x].concat(Object.keys(D).map((B)=>{let g=D[B];if(!Array.isArray(g))g=[g];return g.map((C)=>C===!0?B:`${B}=${C}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}VE0.exports={format:zu0,parse:ju0}});var jq=c((oHA,pE0)=>{var Nu0=zx("events"),Ou0=zx("https"),Pu0=zx("http"),kE0=zx("net"),Vu0=zx("tls"),{randomBytes:vu0,createHash:Tu0}=zx("crypto"),{Duplex:_HA,Readable:dHA}=zx("stream"),{URL:FT}=zx("url"),Zg=XS(),ku0=ET(),uu0=DT(),{isBlob:bu0}=i3(),{BINARY_TYPES:vE0,EMPTY_BUFFER:Wq,GUID:iu0,kForOnEventAttribute:QT,kListener:hu0,kStatusCode:mu0,kWebSocket:R9,NOOP:uE0}=N1(),{EventTarget:{addEventListener:cu0,removeEventListener:lu0}}=PE0(),{format:nu0,parse:pu0}=CT(),{toBuffer:ru0}=US(),bE0=Symbol("kAborted"),IT=[8,13],P1=["CONNECTING","OPEN","CLOSING","CLOSED"],au0=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class dx extends Nu0{constructor(A,x,E){super();if(this._binaryType=vE0[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Wq,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=dx.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,A!==null){if(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,x===void 0)x=[];else if(!Array.isArray(x))if(typeof x==="object"&&x!==null)E=x,x=[];else x=[x];iE0(this,A,x,E)}else this._autoPong=E.autoPong,this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(A){if(!vE0.includes(A))return;if(this._binaryType=A,this._receiver)this._receiver._binaryType=A}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(A,x,E){let D=new ku0({allowSynchronousEvents:E.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:E.maxPayload,skipUTF8Validation:E.skipUTF8Validation}),B=new uu0(A,this._extensions,E.generateMask);if(this._receiver=D,this._sender=B,this._socket=A,D[R9]=this,B[R9]=this,A[R9]=this,D.on("conclude",ou0),D.on("drain",tu0),D.on("error",su0),D.on("message",eu0),D.on("ping",Ab0),D.on("pong",xb0),B.onerror=Eb0,A.setTimeout)A.setTimeout(0);if(A.setNoDelay)A.setNoDelay();if(x.length>0)A.unshift(x);A.on("close",cE0),A.on("data",Lq),A.on("end",lE0),A.on("error",nE0),this._readyState=dx.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=dx.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[Zg.extensionName])this._extensions[Zg.extensionName].cleanup();this._receiver.removeAllListeners(),this._readyState=dx.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(A,x){if(this.readyState===dx.CLOSED)return;if(this.readyState===dx.CONNECTING){b5(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===dx.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted))this._socket.end();return}this._readyState=dx.CLOSING,this._sender.close(A,x,!this._isServer,(E)=>{if(E)return;if(this._closeFrameSent=!0,this._closeFrameReceived||this._receiver._writableState.errorEmitted)this._socket.end()}),mE0(this)}pause(){if(this.readyState===dx.CONNECTING||this.readyState===dx.CLOSED)return;this._paused=!0,this._socket.pause()}ping(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof A==="function")E=A,A=x=void 0;else if(typeof x==="function")E=x,x=void 0;if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}if(x===void 0)x=!this._isServer;this._sender.ping(A||Wq,x,E)}pong(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof A==="function")E=A,A=x=void 0;else if(typeof x==="function")E=x,x=void 0;if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}if(x===void 0)x=!this._isServer;this._sender.pong(A||Wq,x,E)}resume(){if(this.readyState===dx.CONNECTING||this.readyState===dx.CLOSED)return;if(this._paused=!1,!this._receiver._writableState.needDrain)this._socket.resume()}send(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof x==="function")E=x,x={};if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}let D={binary:typeof A!=="string",mask:!this._isServer,compress:!0,fin:!0,...x};if(!this._extensions[Zg.extensionName])D.compress=!1;this._sender.send(A||Wq,D,E)}terminate(){if(this.readyState===dx.CLOSED)return;if(this.readyState===dx.CONNECTING){b5(this,this._req,"WebSocket was closed before the connection was established");return}if(this._socket)this._readyState=dx.CLOSING,this._socket.destroy()}}Object.defineProperty(dx,"CONNECTING",{enumerable:!0,value:P1.indexOf("CONNECTING")});Object.defineProperty(dx.prototype,"CONNECTING",{enumerable:!0,value:P1.indexOf("CONNECTING")});Object.defineProperty(dx,"OPEN",{enumerable:!0,value:P1.indexOf("OPEN")});Object.defineProperty(dx.prototype,"OPEN",{enumerable:!0,value:P1.indexOf("OPEN")});Object.defineProperty(dx,"CLOSING",{enumerable:!0,value:P1.indexOf("CLOSING")});Object.defineProperty(dx.prototype,"CLOSING",{enumerable:!0,value:P1.indexOf("CLOSING")});Object.defineProperty(dx,"CLOSED",{enumerable:!0,value:P1.indexOf("CLOSED")});Object.defineProperty(dx.prototype,"CLOSED",{enumerable:!0,value:P1.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((A)=>{Object.defineProperty(dx.prototype,A,{enumerable:!0})});["open","error","close","message"].forEach((A)=>{Object.defineProperty(dx.prototype,`on${A}`,{enumerable:!0,get(){for(let x of this.listeners(A))if(x[QT])return x[hu0];return null},set(x){for(let E of this.listeners(A))if(E[QT]){this.removeListener(A,E);break}if(typeof x!=="function")return;this.addEventListener(A,x,{[QT]:!0})}})});dx.prototype.addEventListener=cu0;dx.prototype.removeEventListener=lu0;pE0.exports=dx;function iE0(A,x,E,D){let B={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:IT[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...D,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(A._autoPong=B.autoPong,!IT.includes(B.protocolVersion))throw RangeError(`Unsupported protocol version: ${B.protocolVersion} (supported versions: ${IT.join(", ")})`);let g;if(x instanceof FT)g=x;else try{g=new FT(x)}catch(V){throw SyntaxError(`Invalid URL: ${x}`)}if(g.protocol==="http:")g.protocol="ws:";else if(g.protocol==="https:")g.protocol="wss:";A._url=g.href;let C=g.protocol==="wss:",I=g.protocol==="ws+unix:",$;if(g.protocol!=="ws:"&&!C&&!I)$=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`;else if(I&&!g.pathname)$="The URL's pathname is empty";else if(g.hash)$="The URL contains a fragment identifier";if($){let V=SyntaxError($);if(A._redirects===0)throw V;else{Rq(A,V);return}}let S=C?443:80,K=vu0(16).toString("base64"),M=C?Ou0.request:Pu0.request,X=new Set,Z;if(B.createConnection=B.createConnection||(C?du0:_u0),B.defaultPort=B.defaultPort||S,B.port=g.port||S,B.host=g.hostname.startsWith("[")?g.hostname.slice(1,-1):g.hostname,B.headers={...B.headers,"Sec-WebSocket-Version":B.protocolVersion,"Sec-WebSocket-Key":K,Connection:"Upgrade",Upgrade:"websocket"},B.path=g.pathname+g.search,B.timeout=B.handshakeTimeout,B.perMessageDeflate)Z=new Zg(B.perMessageDeflate!==!0?B.perMessageDeflate:{},!1,B.maxPayload),B.headers["Sec-WebSocket-Extensions"]=nu0({[Zg.extensionName]:Z.offer()});if(E.length){for(let V of E){if(typeof V!=="string"||!au0.test(V)||X.has(V))throw SyntaxError("An invalid or duplicated subprotocol was specified");X.add(V)}B.headers["Sec-WebSocket-Protocol"]=E.join(",")}if(B.origin)if(B.protocolVersion<13)B.headers["Sec-WebSocket-Origin"]=B.origin;else B.headers.Origin=B.origin;if(g.username||g.password)B.auth=`${g.username}:${g.password}`;if(I){let V=B.path.split(":");B.socketPath=V[0],B.path=V[1]}let j;if(B.followRedirects){if(A._redirects===0){A._originalIpc=I,A._originalSecure=C,A._originalHostOrSocketPath=I?B.socketPath:g.host;let V=D&&D.headers;if(D={...D,headers:{}},V)for(let[l,E0]of Object.entries(V))D.headers[l.toLowerCase()]=E0}else if(A.listenerCount("redirect")===0){let V=I?A._originalIpc?B.socketPath===A._originalHostOrSocketPath:!1:A._originalIpc?!1:g.host===A._originalHostOrSocketPath;if(!V||A._originalSecure&&!C){if(delete B.headers.authorization,delete B.headers.cookie,!V)delete B.headers.host;B.auth=void 0}}if(B.auth&&!D.headers.authorization)D.headers.authorization="Basic "+Buffer.from(B.auth).toString("base64");if(j=A._req=M(B),A._redirects)A.emit("redirect",A.url,j)}else j=A._req=M(B);if(B.timeout)j.on("timeout",()=>{b5(A,j,"Opening handshake has timed out")});if(j.on("error",(V)=>{if(j===null||j[bE0])return;j=A._req=null,Rq(A,V)}),j.on("response",(V)=>{let l=V.headers.location,E0=V.statusCode;if(l&&B.followRedirects&&E0>=300&&E0<400){if(++A._redirects>B.maxRedirects){b5(A,j,"Maximum redirects exceeded");return}j.abort();let K0;try{K0=new FT(l,x)}catch(B0){let Q0=SyntaxError(`Invalid URL: ${l}`);Rq(A,Q0);return}iE0(A,K0,E,D)}else if(!A.emit("unexpected-response",j,V))b5(A,j,`Unexpected server response: ${V.statusCode}`)}),j.on("upgrade",(V,l,E0)=>{if(A.emit("upgrade",V),A.readyState!==dx.CONNECTING)return;j=A._req=null;let K0=V.headers.upgrade;if(K0===void 0||K0.toLowerCase()!=="websocket"){b5(A,l,"Invalid Upgrade header");return}let B0=Tu0("sha1").update(K+iu0).digest("base64");if(V.headers["sec-websocket-accept"]!==B0){b5(A,l,"Invalid Sec-WebSocket-Accept header");return}let Q0=V.headers["sec-websocket-protocol"],F0;if(Q0!==void 0){if(!X.size)F0="Server sent a subprotocol but none was requested";else if(!X.has(Q0))F0="Server sent an invalid subprotocol"}else if(X.size)F0="Server sent no subprotocol";if(F0){b5(A,l,F0);return}if(Q0)A._protocol=Q0;let k0=V.headers["sec-websocket-extensions"];if(k0!==void 0){if(!Z){b5(A,l,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let z0;try{z0=pu0(k0)}catch(U0){b5(A,l,"Invalid Sec-WebSocket-Extensions header");return}let JA=Object.keys(z0);if(JA.length!==1||JA[0]!==Zg.extensionName){b5(A,l,"Server indicated an extension that was not requested");return}try{Z.accept(z0[Zg.extensionName])}catch(U0){b5(A,l,"Invalid Sec-WebSocket-Extensions header");return}A._extensions[Zg.extensionName]=Z}A.setSocket(l,E0,{allowSynchronousEvents:B.allowSynchronousEvents,generateMask:B.generateMask,maxPayload:B.maxPayload,skipUTF8Validation:B.skipUTF8Validation})}),B.finishRequest)B.finishRequest(j,A);else j.end()}function Rq(A,x){A._readyState=dx.CLOSING,A._errorEmitted=!0,A.emit("error",x),A.emitClose()}function _u0(A){return A.path=A.socketPath,kE0.connect(A)}function du0(A){if(A.path=void 0,!A.servername&&A.servername!=="")A.servername=kE0.isIP(A.host)?"":A.host;return Vu0.connect(A)}function b5(A,x,E){A._readyState=dx.CLOSING;let D=Error(E);if(Error.captureStackTrace(D,b5),x.setHeader){if(x[bE0]=!0,x.abort(),x.socket&&!x.socket.destroyed)x.socket.destroy();process.nextTick(Rq,A,D)}else x.destroy(D),x.once("error",A.emit.bind(A,"error")),x.once("close",A.emitClose.bind(A))}function yT(A,x,E){if(x){let D=bu0(x)?x.size:ru0(x).length;if(A._socket)A._sender._bufferedBytes+=D;else A._bufferedAmount+=D}if(E){let D=Error(`WebSocket is not open: readyState ${A.readyState} (${P1[A.readyState]})`);process.nextTick(E,D)}}function ou0(A,x){let E=this[R9];if(E._closeFrameReceived=!0,E._closeMessage=x,E._closeCode=A,E._socket[R9]===void 0)return;if(E._socket.removeListener("data",Lq),process.nextTick(hE0,E._socket),A===1005)E.close();else E.close(A,x)}function tu0(){let A=this[R9];if(!A.isPaused)A._socket.resume()}function su0(A){let x=this[R9];if(x._socket[R9]!==void 0)x._socket.removeListener("data",Lq),process.nextTick(hE0,x._socket),x.close(A[mu0]);if(!x._errorEmitted)x._errorEmitted=!0,x.emit("error",A)}function TE0(){this[R9].emitClose()}function eu0(A,x){this[R9].emit("message",A,x)}function Ab0(A){let x=this[R9];if(x._autoPong)x.pong(A,!this._isServer,uE0);x.emit("ping",A)}function xb0(A){this[R9].emit("pong",A)}function hE0(A){A.resume()}function Eb0(A){let x=this[R9];if(x.readyState===dx.CLOSED)return;if(x.readyState===dx.OPEN)x._readyState=dx.CLOSING,mE0(x);if(this._socket.end(),!x._errorEmitted)x._errorEmitted=!0,x.emit("error",A)}function mE0(A){A._closeTimer=setTimeout(A._socket.destroy.bind(A._socket),30000)}function cE0(){let A=this[R9];this.removeListener("close",cE0),this.removeListener("data",Lq),this.removeListener("end",lE0),A._readyState=dx.CLOSING;let x;if(!this._readableState.endEmitted&&!A._closeFrameReceived&&!A._receiver._writableState.errorEmitted&&(x=A._socket.read())!==null)A._receiver.write(x);if(A._receiver.end(),this[R9]=void 0,clearTimeout(A._closeTimer),A._receiver._writableState.finished||A._receiver._writableState.errorEmitted)A.emitClose();else A._receiver.on("error",TE0),A._receiver.on("finish",TE0)}function Lq(A){if(!this[R9]._receiver.write(A))this.pause()}function lE0(){let A=this[R9];A._readyState=dx.CLOSING,A._receiver.end(),this.end()}function nE0(){let A=this[R9];if(this.removeListener("error",nE0),this.on("error",uE0),A)A._readyState=dx.CLOSING,this.destroy()}});var dE0=c((sHA,_E0)=>{var tHA=jq(),{Duplex:Bb0}=zx("stream");function rE0(A){A.emit("close")}function Db0(){if(!this.destroyed&&this._writableState.finished)this.destroy()}function aE0(A){if(this.removeListener("error",aE0),this.destroy(),this.listenerCount("error")===0)this.emit("error",A)}function gb0(A,x){let E=!0,D=new Bb0({...x,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return A.on("message",function(g,C){let I=!C&&D._readableState.objectMode?g.toString():g;if(!D.push(I))A.pause()}),A.once("error",function(g){if(D.destroyed)return;E=!1,D.destroy(g)}),A.once("close",function(){if(D.destroyed)return;D.push(null)}),D._destroy=function(B,g){if(A.readyState===A.CLOSED){g(B),process.nextTick(rE0,D);return}let C=!1;if(A.once("error",function($){C=!0,g($)}),A.once("close",function(){if(!C)g(B);process.nextTick(rE0,D)}),E)A.terminate()},D._final=function(B){if(A.readyState===A.CONNECTING){A.once("open",function(){D._final(B)});return}if(A._socket===null)return;if(A._socket._writableState.finished){if(B(),D._readableState.endEmitted)D.destroy()}else A._socket.once("finish",function(){B()}),A.close()},D._read=function(){if(A.isPaused)A.resume()},D._write=function(B,g,C){if(A.readyState===A.CONNECTING){A.once("open",function(){D._write(B,g,C)});return}A.send(B,C)},D.on("end",Db0),D.on("error",aE0),D}_E0.exports=gb0});var tE0=c((eHA,oE0)=>{var{tokenChars:Cb0}=i3();function Fb0(A){let x=new Set,E=-1,D=-1,B=0;for(B;B<A.length;B++){let C=A.charCodeAt(B);if(D===-1&&Cb0[C]===1){if(E===-1)E=B}else if(B!==0&&(C===32||C===9)){if(D===-1&&E!==-1)D=B}else if(C===44){if(E===-1)throw SyntaxError(`Unexpected character at index ${B}`);if(D===-1)D=B;let I=A.slice(E,D);if(x.has(I))throw SyntaxError(`The "${I}" subprotocol is duplicated`);x.add(I),E=D=-1}else throw SyntaxError(`Unexpected character at index ${B}`)}if(E===-1||D!==-1)throw SyntaxError("Unexpected end of input");let g=A.slice(E,B);if(x.has(g))throw SyntaxError(`The "${g}" subprotocol is duplicated`);return x.add(g),x}oE0.exports={parse:Fb0}});var E80=c((xKA,x80)=>{var Qb0=zx("events"),zq=zx("http"),{Duplex:AKA}=zx("stream"),{createHash:Ib0}=zx("crypto"),sE0=CT(),NF=XS(),yb0=tE0(),wb0=jq(),{GUID:$b0,kWebSocket:fb0}=N1(),Sb0=/^[+/0-9A-Za-z]{22}==$/;class A80 extends Qb0{constructor(A,x){super();if(A={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:wb0,...A},A.port==null&&!A.server&&!A.noServer||A.port!=null&&(A.server||A.noServer)||A.server&&A.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(A.port!=null)this._server=zq.createServer((E,D)=>{let B=zq.STATUS_CODES[426];D.writeHead(426,{"Content-Length":B.length,"Content-Type":"text/plain"}),D.end(B)}),this._server.listen(A.port,A.host,A.backlog,x);else if(A.server)this._server=A.server;if(this._server){let E=this.emit.bind(this,"connection");this._removeListeners=Gb0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(D,B,g)=>{this.handleUpgrade(D,B,g,E)}})}if(A.perMessageDeflate===!0)A.perMessageDeflate={};if(A.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=A,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');if(!this._server)return null;return this._server.address()}close(A){if(this._state===2){if(A)this.once("close",()=>{A(Error("The server is not running"))});process.nextTick(RS,this);return}if(A)this.once("close",A);if(this._state===1)return;if(this._state=1,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick(RS,this);else this._shouldEmitClose=!0;else process.nextTick(RS,this)}else{let x=this._server;this._removeListeners(),this._removeListeners=this._server=null,x.close(()=>{RS(this)})}}shouldHandle(A){if(this.options.path){let x=A.url.indexOf("?");if((x!==-1?A.url.slice(0,x):A.url)!==this.options.path)return!1}return!0}handleUpgrade(A,x,E,D){x.on("error",eE0);let B=A.headers["sec-websocket-key"],g=A.headers.upgrade,C=+A.headers["sec-websocket-version"];if(A.method!=="GET"){OF(this,A,x,405,"Invalid HTTP method");return}if(g===void 0||g.toLowerCase()!=="websocket"){OF(this,A,x,400,"Invalid Upgrade header");return}if(B===void 0||!Sb0.test(B)){OF(this,A,x,400,"Missing or invalid Sec-WebSocket-Key header");return}if(C!==13&&C!==8){OF(this,A,x,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(A)){LS(x,400);return}let I=A.headers["sec-websocket-protocol"],$=new Set;if(I!==void 0)try{$=yb0.parse(I)}catch(M){OF(this,A,x,400,"Invalid Sec-WebSocket-Protocol header");return}let S=A.headers["sec-websocket-extensions"],K={};if(this.options.perMessageDeflate&&S!==void 0){let M=new NF(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let X=sE0.parse(S);if(X[NF.extensionName])M.accept(X[NF.extensionName]),K[NF.extensionName]=M}catch(X){OF(this,A,x,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let M={origin:A.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(A.socket.authorized||A.socket.encrypted),req:A};if(this.options.verifyClient.length===2){this.options.verifyClient(M,(X,Z,j,V)=>{if(!X)return LS(x,Z||401,j,V);this.completeUpgrade(K,B,$,A,x,E,D)});return}if(!this.options.verifyClient(M))return LS(x,401)}this.completeUpgrade(K,B,$,A,x,E,D)}completeUpgrade(A,x,E,D,B,g,C){if(!B.readable||!B.writable)return B.destroy();if(B[fb0])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return LS(B,503);let $=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Ib0("sha1").update(x+$b0).digest("base64")}`],S=new this.options.WebSocket(null,void 0,this.options);if(E.size){let K=this.options.handleProtocols?this.options.handleProtocols(E,D):E.values().next().value;if(K)$.push(`Sec-WebSocket-Protocol: ${K}`),S._protocol=K}if(A[NF.extensionName]){let K=A[NF.extensionName].params,M=sE0.format({[NF.extensionName]:[K]});$.push(`Sec-WebSocket-Extensions: ${M}`),S._extensions=A}if(this.emit("headers",$,D),B.write($.concat(`\r
|
|
239
|
+
Check the render method of %s.`,RA(e9)||"Unknown");var k=u4(U,W);if(k.payload={element:F},f=f===void 0?null:f,f!==null){if(typeof f!=="function")I("render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",f);k.callback=f}var p=W7(G,k,W);if(p!==null)dB(p,G,W,U),NQ(p,G,W);return W}function r60(F){var Q=F.current;if(!Q.child)return null;switch(Q.child.tag){case U0:return $7(Q.child.stateNode);default:return Q.child.stateNode}}function a60(F){switch(F.tag){case z0:{var Q=F.stateNode;if(LG(Q)){var y=KX(Q);_90(Q,y)}break}case q0:{TJ(function(){var G=j9(F,Hx);if(G!==null){var U=D6();dB(G,F,Hx,U)}});var f=Hx;mJ(F,f);break}}}function tk(F,Q){var y=F.memoizedState;if(y!==null&&y.dehydrated!==null)y.retryLane=XX(y.retryLane,Q)}function mJ(F,Q){tk(F,Q);var y=F.alternate;if(y)tk(y,Q)}function _60(F){if(F.tag!==q0)return;var Q=Hx,y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function d60(F){if(F.tag!==q0)return;var Q=ag,y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function o60(F){if(F.tag!==q0)return;var Q=ND(F),y=j9(F,Q);if(y!==null){var f=D6();dB(y,F,Q,f)}mJ(F,Q)}function t60(F){var Q=b1(F);if(Q===null)return null;return Q.stateNode}var sk=function(F){return null};function ek(F){return sk(F)}var Au=function(F){return!1};function xu(F){return Au(F)}var Eu=null,Bu=null,Du=null,gu=null,Cu=null,Fu=null,Qu=null,Iu=null,yu=null;{var wu=function(F,Q,y){var f=Q[y],G=A9(F)?F.slice():S({},F);if(y+1===Q.length){if(A9(G))G.splice(f,1);else delete G[f];return G}return G[f]=wu(F[f],Q,y+1),G},$u=function(F,Q){return wu(F,Q,0)},fu=function(F,Q,y,f){var G=Q[f],U=A9(F)?F.slice():S({},F);if(f+1===Q.length){var W=y[f];if(U[W]=U[G],A9(U))U.splice(G,1);else delete U[G]}else U[G]=fu(F[G],Q,y,f+1);return U},Su=function(F,Q,y){if(Q.length!==y.length){C("copyWithRename() expects paths of the same length");return}else for(var f=0;f<y.length-1;f++)if(Q[f]!==y[f]){C("copyWithRename() expects paths to be the same except for the deepest key");return}return fu(F,Q,y,0)},Gu=function(F,Q,y,f){if(y>=Q.length)return f;var G=Q[y],U=A9(F)?F.slice():S({},F);return U[G]=Gu(F[G],Q,y+1,f),U},Ju=function(F,Q,y){return Gu(F,Q,0,y)},AM=function(F,Q){var y=F.memoizedState;while(y!==null&&Q>0)y=y.next,Q--;return y};Eu=function(F,Q,y,f){var G=AM(F,Q);if(G!==null){var U=Ju(G.memoizedState,y,f);G.memoizedState=U,G.baseState=U,F.memoizedProps=S({},F.memoizedProps);var W=j9(F,Hx);if(W!==null)dB(W,F,Hx,q8)}},Bu=function(F,Q,y){var f=AM(F,Q);if(f!==null){var G=$u(f.memoizedState,y);f.memoizedState=G,f.baseState=G,F.memoizedProps=S({},F.memoizedProps);var U=j9(F,Hx);if(U!==null)dB(U,F,Hx,q8)}},Du=function(F,Q,y,f){var G=AM(F,Q);if(G!==null){var U=Su(G.memoizedState,y,f);G.memoizedState=U,G.baseState=U,F.memoizedProps=S({},F.memoizedProps);var W=j9(F,Hx);if(W!==null)dB(W,F,Hx,q8)}},gu=function(F,Q,y){if(F.pendingProps=Ju(F.memoizedProps,Q,y),F.alternate)F.alternate.pendingProps=F.pendingProps;var f=j9(F,Hx);if(f!==null)dB(f,F,Hx,q8)},Cu=function(F,Q){if(F.pendingProps=$u(F.memoizedProps,Q),F.alternate)F.alternate.pendingProps=F.pendingProps;var y=j9(F,Hx);if(y!==null)dB(y,F,Hx,q8)},Fu=function(F,Q,y){if(F.pendingProps=Su(F.memoizedProps,Q,y),F.alternate)F.alternate.pendingProps=F.pendingProps;var f=j9(F,Hx);if(f!==null)dB(f,F,Hx,q8)},Qu=function(F){var Q=j9(F,Hx);if(Q!==null)dB(Q,F,Hx,q8)},Iu=function(F){sk=F},yu=function(F){Au=F}}function s60(F){var Q=Y2(F);if(Q===null)return null;return Q.stateNode}function e60(F){return null}function A50(){return e9}function x50(F){var Q=F.findFiberByHostInstance,y=D.ReactCurrentDispatcher;return $Q({bundleType:F.bundleType,version:F.version,rendererPackageName:F.rendererPackageName,rendererConfig:F.rendererConfig,overrideHookState:Eu,overrideHookStateDeletePath:Bu,overrideHookStateRenamePath:Du,overrideProps:gu,overridePropsDeletePath:Cu,overridePropsRenamePath:Fu,setErrorHandler:Iu,setSuspenseHandler:yu,scheduleUpdate:Qu,currentDispatcherRef:y,findHostInstanceByFiber:s60,findFiberByHostInstance:Q||e60,findHostInstancesForRefresh:R60,scheduleRefresh:M60,scheduleRoot:W60,setRefreshHandler:Z60,getCurrentFiber:A50,reconcilerVersion:h60})}return E.attemptContinuousHydration=d60,E.attemptDiscreteHydration=_60,E.attemptHydrationAtCurrentPriority=o60,E.attemptSynchronousHydration=a60,E.batchedUpdates=o90,E.createComponentSelector=R90,E.createContainer=n60,E.createHasPseudoClassSelector=L90,E.createHydrationContainer=p60,E.createPortal=m60,E.createRoleSelector=j90,E.createTestNameSelector=N90,E.createTextSelector=z90,E.deferredUpdates=d90,E.discreteUpdates=t90,E.findAllNodes=WJ,E.findBoundingRects=V90,E.findHostInstance=c60,E.findHostInstanceWithNoPortals=t60,E.findHostInstanceWithWarning=l60,E.flushControlled=e90,E.flushPassiveEffects=b7,E.flushSync=TJ,E.focusWithin=v90,E.getCurrentUpdatePriority=J5,E.getFindAllNodesFailureDescription=P90,E.getPublicRootInstance=r60,E.injectIntoDevTools=x50,E.isAlreadyRendering=s90,E.observeVisibleRects=k90,E.registerMutableSourceForHydration=JC,E.runWithPriority=yQ,E.shouldError=ek,E.shouldSuspend=xu,E.updateContainer=ok,E}});var Tx0=c((Wk0)=>{(function(){var A=1,x=4,E=16,D=536870912,B=A,g=x,C=E,I=D,$=0,S=1;Wk0.ConcurrentRoot=S,Wk0.ContinuousEventPriority=g,Wk0.DefaultEventPriority=C,Wk0.DiscreteEventPriority=B,Wk0.IdleEventPriority=I,Wk0.LegacyRoot=$})()});var ix0=c((FHA,bx0)=>{bx0.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var N1=c((iHA,BE0)=>{var xE0=["nodebuffer","arraybuffer","fragments"],EE0=typeof Blob<"u";if(EE0)xE0.push("blob");BE0.exports={BINARY_TYPES:xE0,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:EE0,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var US=c((hHA,Kq)=>{var{EMPTY_BUFFER:ek0}=N1(),tv=Buffer[Symbol.species];function Au0(A,x){if(A.length===0)return ek0;if(A.length===1)return A[0];let E=Buffer.allocUnsafe(x),D=0;for(let B=0;B<A.length;B++){let g=A[B];E.set(g,D),D+=g.length}if(D<x)return new tv(E.buffer,E.byteOffset,D);return E}function DE0(A,x,E,D,B){for(let g=0;g<B;g++)E[D+g]=A[g]^x[g&3]}function gE0(A,x){for(let E=0;E<A.length;E++)A[E]^=x[E&3]}function xu0(A){if(A.length===A.buffer.byteLength)return A.buffer;return A.buffer.slice(A.byteOffset,A.byteOffset+A.length)}function sv(A){if(sv.readOnly=!0,Buffer.isBuffer(A))return A;let x;if(A instanceof ArrayBuffer)x=new tv(A);else if(ArrayBuffer.isView(A))x=new tv(A.buffer,A.byteOffset,A.byteLength);else x=Buffer.from(A),sv.readOnly=!1;return x}Kq.exports={concat:Au0,mask:DE0,toArrayBuffer:xu0,toBuffer:sv,unmask:gE0};if(!process.env.WS_NO_BUFFER_UTIL)try{let A=(()=>{throw new Error("Cannot require module "+"bufferutil");})();Kq.exports.mask=function(x,E,D,B,g){if(g<48)DE0(x,E,D,B,g);else A.mask(x,E,D,B,g)},Kq.exports.unmask=function(x,E){if(x.length<32)gE0(x,E);else A.unmask(x,E)}}catch(A){}});var IE0=c((mHA,QE0)=>{var CE0=Symbol("kDone"),ev=Symbol("kRun");class FE0{constructor(A){this[CE0]=()=>{this.pending--,this[ev]()},this.concurrency=A||1/0,this.jobs=[],this.pending=0}add(A){this.jobs.push(A),this[ev]()}[ev](){if(this.pending===this.concurrency)return;if(this.jobs.length){let A=this.jobs.shift();this.pending++,A(this[CE0])}}}QE0.exports=FE0});var XS=c((cHA,SE0)=>{var qS=zx("zlib"),yE0=US(),Eu0=IE0(),{kStatusCode:wE0}=N1(),Bu0=Buffer[Symbol.species],Du0=Buffer.from([0,0,255,255]),Uq=Symbol("permessage-deflate"),O1=Symbol("total-length"),u3=Symbol("callback"),Ug=Symbol("buffers"),b3=Symbol("error"),Yq;class $E0{constructor(A,x,E){if(this._maxPayload=E|0,this._options=A||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!x,this._deflate=null,this._inflate=null,this.params=null,!Yq){let D=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Yq=new Eu0(D)}}static get extensionName(){return"permessage-deflate"}offer(){let A={};if(this._options.serverNoContextTakeover)A.server_no_context_takeover=!0;if(this._options.clientNoContextTakeover)A.client_no_context_takeover=!0;if(this._options.serverMaxWindowBits)A.server_max_window_bits=this._options.serverMaxWindowBits;if(this._options.clientMaxWindowBits)A.client_max_window_bits=this._options.clientMaxWindowBits;else if(this._options.clientMaxWindowBits==null)A.client_max_window_bits=!0;return A}accept(A){return A=this.normalizeParams(A),this.params=this._isServer?this.acceptAsServer(A):this.acceptAsClient(A),this.params}cleanup(){if(this._inflate)this._inflate.close(),this._inflate=null;if(this._deflate){let A=this._deflate[u3];if(this._deflate.close(),this._deflate=null,A)A(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(A){let x=this._options,E=A.find((D)=>{if(x.serverNoContextTakeover===!1&&D.server_no_context_takeover||D.server_max_window_bits&&(x.serverMaxWindowBits===!1||typeof x.serverMaxWindowBits==="number"&&x.serverMaxWindowBits>D.server_max_window_bits)||typeof x.clientMaxWindowBits==="number"&&!D.client_max_window_bits)return!1;return!0});if(!E)throw Error("None of the extension offers can be accepted");if(x.serverNoContextTakeover)E.server_no_context_takeover=!0;if(x.clientNoContextTakeover)E.client_no_context_takeover=!0;if(typeof x.serverMaxWindowBits==="number")E.server_max_window_bits=x.serverMaxWindowBits;if(typeof x.clientMaxWindowBits==="number")E.client_max_window_bits=x.clientMaxWindowBits;else if(E.client_max_window_bits===!0||x.clientMaxWindowBits===!1)delete E.client_max_window_bits;return E}acceptAsClient(A){let x=A[0];if(this._options.clientNoContextTakeover===!1&&x.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(!x.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number")x.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==="number"&&x.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"');return x}normalizeParams(A){return A.forEach((x)=>{Object.keys(x).forEach((E)=>{let D=x[E];if(D.length>1)throw Error(`Parameter "${E}" must have only a single value`);if(D=D[0],E==="client_max_window_bits"){if(D!==!0){let B=+D;if(!Number.isInteger(B)||B<8||B>15)throw TypeError(`Invalid value for parameter "${E}": ${D}`);D=B}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${E}": ${D}`)}else if(E==="server_max_window_bits"){let B=+D;if(!Number.isInteger(B)||B<8||B>15)throw TypeError(`Invalid value for parameter "${E}": ${D}`);D=B}else if(E==="client_no_context_takeover"||E==="server_no_context_takeover"){if(D!==!0)throw TypeError(`Invalid value for parameter "${E}": ${D}`)}else throw Error(`Unknown parameter "${E}"`);x[E]=D})}),A}decompress(A,x,E){Yq.add((D)=>{this._decompress(A,x,(B,g)=>{D(),E(B,g)})})}compress(A,x,E){Yq.add((D)=>{this._compress(A,x,(B,g)=>{D(),E(B,g)})})}_decompress(A,x,E){let D=this._isServer?"client":"server";if(!this._inflate){let B=`${D}_max_window_bits`,g=typeof this.params[B]!=="number"?qS.Z_DEFAULT_WINDOWBITS:this.params[B];this._inflate=qS.createInflateRaw({...this._options.zlibInflateOptions,windowBits:g}),this._inflate[Uq]=this,this._inflate[O1]=0,this._inflate[Ug]=[],this._inflate.on("error",Cu0),this._inflate.on("data",fE0)}if(this._inflate[u3]=E,this._inflate.write(A),x)this._inflate.write(Du0);this._inflate.flush(()=>{let B=this._inflate[b3];if(B){this._inflate.close(),this._inflate=null,E(B);return}let g=yE0.concat(this._inflate[Ug],this._inflate[O1]);if(this._inflate._readableState.endEmitted)this._inflate.close(),this._inflate=null;else if(this._inflate[O1]=0,this._inflate[Ug]=[],x&&this.params[`${D}_no_context_takeover`])this._inflate.reset();E(null,g)})}_compress(A,x,E){let D=this._isServer?"server":"client";if(!this._deflate){let B=`${D}_max_window_bits`,g=typeof this.params[B]!=="number"?qS.Z_DEFAULT_WINDOWBITS:this.params[B];this._deflate=qS.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:g}),this._deflate[O1]=0,this._deflate[Ug]=[],this._deflate.on("data",gu0)}this._deflate[u3]=E,this._deflate.write(A),this._deflate.flush(qS.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let B=yE0.concat(this._deflate[Ug],this._deflate[O1]);if(x)B=new Bu0(B.buffer,B.byteOffset,B.length-4);if(this._deflate[u3]=null,this._deflate[O1]=0,this._deflate[Ug]=[],x&&this.params[`${D}_no_context_takeover`])this._deflate.reset();E(null,B)})}}SE0.exports=$E0;function gu0(A){this[Ug].push(A),this[O1]+=A.length}function fE0(A){if(this[O1]+=A.length,this[Uq]._maxPayload<1||this[O1]<=this[Uq]._maxPayload){this[Ug].push(A);return}this[b3]=RangeError("Max payload size exceeded"),this[b3].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[b3][wE0]=1009,this.removeListener("data",fE0),this.reset()}function Cu0(A){if(this[Uq]._inflate=null,this[b3]){this[u3](this[b3]);return}A[wE0]=1007,this[u3](A)}});var i3=c((lHA,qq)=>{var{isUtf8:GE0}=zx("buffer"),{hasBlob:Fu0}=N1(),Qu0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Iu0(A){return A>=1000&&A<=1014&&A!==1004&&A!==1005&&A!==1006||A>=3000&&A<=4999}function AT(A){let x=A.length,E=0;while(E<x)if((A[E]&128)===0)E++;else if((A[E]&224)===192){if(E+1===x||(A[E+1]&192)!==128||(A[E]&254)===192)return!1;E+=2}else if((A[E]&240)===224){if(E+2>=x||(A[E+1]&192)!==128||(A[E+2]&192)!==128||A[E]===224&&(A[E+1]&224)===128||A[E]===237&&(A[E+1]&224)===160)return!1;E+=3}else if((A[E]&248)===240){if(E+3>=x||(A[E+1]&192)!==128||(A[E+2]&192)!==128||(A[E+3]&192)!==128||A[E]===240&&(A[E+1]&240)===128||A[E]===244&&A[E+1]>143||A[E]>244)return!1;E+=4}else return!1;return!0}function yu0(A){return Fu0&&typeof A==="object"&&typeof A.arrayBuffer==="function"&&typeof A.type==="string"&&typeof A.stream==="function"&&(A[Symbol.toStringTag]==="Blob"||A[Symbol.toStringTag]==="File")}qq.exports={isBlob:yu0,isValidStatusCode:Iu0,isValidUTF8:AT,tokenChars:Qu0};if(GE0)qq.exports.isValidUTF8=function(A){return A.length<24?AT(A):GE0(A)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let A=(()=>{throw new Error("Cannot require module "+"utf-8-validate");})();qq.exports.isValidUTF8=function(x){return x.length<32?AT(x):A(x)}}catch(A){}});var ET=c((nHA,UE0)=>{var{Writable:wu0}=zx("stream"),JE0=XS(),{BINARY_TYPES:$u0,EMPTY_BUFFER:HE0,kStatusCode:fu0,kWebSocket:Su0}=N1(),{concat:xT,toArrayBuffer:Gu0,unmask:Ju0}=US(),{isValidStatusCode:Hu0,isValidUTF8:KE0}=i3(),Xq=Buffer[Symbol.species];class YE0 extends wu0{constructor(A={}){super();this._allowSynchronousEvents=A.allowSynchronousEvents!==void 0?A.allowSynchronousEvents:!0,this._binaryType=A.binaryType||$u0[0],this._extensions=A.extensions||{},this._isServer=!!A.isServer,this._maxPayload=A.maxPayload|0,this._skipUTF8Validation=!!A.skipUTF8Validation,this[Su0]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(A,x,E){if(this._opcode===8&&this._state==0)return E();this._bufferedBytes+=A.length,this._buffers.push(A),this.startLoop(E)}consume(A){if(this._bufferedBytes-=A,A===this._buffers[0].length)return this._buffers.shift();if(A<this._buffers[0].length){let E=this._buffers[0];return this._buffers[0]=new Xq(E.buffer,E.byteOffset+A,E.length-A),new Xq(E.buffer,E.byteOffset,A)}let x=Buffer.allocUnsafe(A);do{let E=this._buffers[0],D=x.length-A;if(A>=E.length)x.set(this._buffers.shift(),D);else x.set(new Uint8Array(E.buffer,E.byteOffset,A),D),this._buffers[0]=new Xq(E.buffer,E.byteOffset+A,E.length-A);A-=E.length}while(A>0);return x}startLoop(A){this._loop=!0;do switch(this._state){case 0:this.getInfo(A);break;case 1:this.getPayloadLength16(A);break;case 2:this.getPayloadLength64(A);break;case 3:this.getMask();break;case 4:this.getData(A);break;case 5:case 6:this._loop=!1;return}while(this._loop);if(!this._errored)A()}getInfo(A){if(this._bufferedBytes<2){this._loop=!1;return}let x=this.consume(2);if((x[0]&48)!==0){let D=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");A(D);return}let E=(x[0]&64)===64;if(E&&!this._extensions[JE0.extensionName]){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(this._fin=(x[0]&128)===128,this._opcode=x[0]&15,this._payloadLength=x[1]&127,this._opcode===0){if(E){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(!this._fragmented){let D=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let D=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}this._compressed=E}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let D=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");A(D);return}if(E){let D=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");A(D);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let D=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");A(D);return}}else{let D=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");A(D);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;if(this._masked=(x[1]&128)===128,this._isServer){if(!this._masked){let D=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");A(D);return}}else if(this._masked){let D=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");A(D);return}if(this._payloadLength===126)this._state=1;else if(this._payloadLength===127)this._state=2;else this.haveLength(A)}getPayloadLength16(A){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(A)}getPayloadLength64(A){if(this._bufferedBytes<8){this._loop=!1;return}let x=this.consume(8),E=x.readUInt32BE(0);if(E>Math.pow(2,21)-1){let D=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");A(D);return}this._payloadLength=E*Math.pow(2,32)+x.readUInt32BE(4),this.haveLength(A)}haveLength(A){if(this._payloadLength&&this._opcode<8){if(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){let x=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");A(x);return}}if(this._masked)this._state=3;else this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(A){let x=HE0;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}if(x=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0)Ju0(x,this._mask)}if(this._opcode>7){this.controlMessage(x,A);return}if(this._compressed){this._state=5,this.decompress(x,A);return}if(x.length)this._messageLength=this._totalPayloadLength,this._fragments.push(x);this.dataMessage(A)}decompress(A,x){this._extensions[JE0.extensionName].decompress(A,this._fin,(D,B)=>{if(D)return x(D);if(B.length){if(this._messageLength+=B.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let g=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");x(g);return}this._fragments.push(B)}if(this.dataMessage(x),this._state===0)this.startLoop(x)})}dataMessage(A){if(!this._fin){this._state=0;return}let x=this._messageLength,E=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let D;if(this._binaryType==="nodebuffer")D=xT(E,x);else if(this._binaryType==="arraybuffer")D=Gu0(xT(E,x));else if(this._binaryType==="blob")D=new Blob(E);else D=E;if(this._allowSynchronousEvents)this.emit("message",D,!0),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",D,!0),this._state=0,this.startLoop(A)})}else{let D=xT(E,x);if(!this._skipUTF8Validation&&!KE0(D)){let B=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");A(B);return}if(this._state===5||this._allowSynchronousEvents)this.emit("message",D,!1),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",D,!1),this._state=0,this.startLoop(A)})}}controlMessage(A,x){if(this._opcode===8){if(A.length===0)this._loop=!1,this.emit("conclude",1005,HE0),this.end();else{let E=A.readUInt16BE(0);if(!Hu0(E)){let B=this.createError(RangeError,`invalid status code ${E}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");x(B);return}let D=new Xq(A.buffer,A.byteOffset+2,A.length-2);if(!this._skipUTF8Validation&&!KE0(D)){let B=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");x(B);return}this._loop=!1,this.emit("conclude",E,D),this.end()}this._state=0;return}if(this._allowSynchronousEvents)this.emit(this._opcode===9?"ping":"pong",A),this._state=0;else this._state=6,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",A),this._state=0,this.startLoop(x)})}createError(A,x,E,D,B){this._loop=!1,this._errored=!0;let g=new A(E?`Invalid WebSocket frame: ${x}`:x);return Error.captureStackTrace(g,this.createError),g.code=B,g[fu0]=D,g}}UE0.exports=YE0});var DT=c((rHA,ZE0)=>{var{Duplex:pHA}=zx("stream"),{randomFillSync:Ku0}=zx("crypto"),qE0=XS(),{EMPTY_BUFFER:Yu0,kWebSocket:Uu0,NOOP:qu0}=N1(),{isBlob:h3,isValidStatusCode:Xu0}=i3(),{mask:XE0,toBuffer:jF}=US(),X4=Symbol("kByteLength"),Zu0=Buffer.alloc(4),zF,m3=8192,Q7=0,Mu0=1,Wu0=2;class qg{constructor(A,x,E){if(this._extensions=x||{},E)this._generateMask=E,this._maskBuffer=Buffer.alloc(4);this._socket=A,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Q7,this.onerror=qu0,this[Uu0]=void 0}static frame(A,x){let E,D=!1,B=2,g=!1;if(x.mask){if(E=x.maskBuffer||Zu0,x.generateMask)x.generateMask(E);else{if(m3===8192){if(zF===void 0)zF=Buffer.alloc(8192);Ku0(zF,0,8192),m3=0}E[0]=zF[m3++],E[1]=zF[m3++],E[2]=zF[m3++],E[3]=zF[m3++]}g=(E[0]|E[1]|E[2]|E[3])===0,B=6}let C;if(typeof A==="string")if((!x.mask||g)&&x[X4]!==void 0)C=x[X4];else A=Buffer.from(A),C=A.length;else C=A.length,D=x.mask&&x.readOnly&&!g;let I=C;if(C>=65536)B+=8,I=127;else if(C>125)B+=2,I=126;let $=Buffer.allocUnsafe(D?C+B:B);if($[0]=x.fin?x.opcode|128:x.opcode,x.rsv1)$[0]|=64;if($[1]=I,I===126)$.writeUInt16BE(C,2);else if(I===127)$[2]=$[3]=0,$.writeUIntBE(C,4,6);if(!x.mask)return[$,A];if($[1]|=128,$[B-4]=E[0],$[B-3]=E[1],$[B-2]=E[2],$[B-1]=E[3],g)return[$,A];if(D)return XE0(A,E,$,B,C),[$];return XE0(A,E,A,0,C),[$,A]}close(A,x,E,D){let B;if(A===void 0)B=Yu0;else if(typeof A!=="number"||!Xu0(A))throw TypeError("First argument must be a valid error code number");else if(x===void 0||!x.length)B=Buffer.allocUnsafe(2),B.writeUInt16BE(A,0);else{let C=Buffer.byteLength(x);if(C>123)throw RangeError("The message must not be greater than 123 bytes");if(B=Buffer.allocUnsafe(2+C),B.writeUInt16BE(A,0),typeof x==="string")B.write(x,2);else B.set(x,2)}let g={[X4]:B.length,fin:!0,generateMask:this._generateMask,mask:E,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};if(this._state!==Q7)this.enqueue([this.dispatch,B,!1,g,D]);else this.sendFrame(qg.frame(B,g),D)}ping(A,x,E){let D,B;if(typeof A==="string")D=Buffer.byteLength(A),B=!1;else if(h3(A))D=A.size,B=!1;else A=jF(A),D=A.length,B=jF.readOnly;if(D>125)throw RangeError("The data size must not be greater than 125 bytes");let g={[X4]:D,fin:!0,generateMask:this._generateMask,mask:x,maskBuffer:this._maskBuffer,opcode:9,readOnly:B,rsv1:!1};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,!1,g,E]);else this.getBlobData(A,!1,g,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,!1,g,E]);else this.sendFrame(qg.frame(A,g),E)}pong(A,x,E){let D,B;if(typeof A==="string")D=Buffer.byteLength(A),B=!1;else if(h3(A))D=A.size,B=!1;else A=jF(A),D=A.length,B=jF.readOnly;if(D>125)throw RangeError("The data size must not be greater than 125 bytes");let g={[X4]:D,fin:!0,generateMask:this._generateMask,mask:x,maskBuffer:this._maskBuffer,opcode:10,readOnly:B,rsv1:!1};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,!1,g,E]);else this.getBlobData(A,!1,g,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,!1,g,E]);else this.sendFrame(qg.frame(A,g),E)}send(A,x,E){let D=this._extensions[qE0.extensionName],B=x.binary?2:1,g=x.compress,C,I;if(typeof A==="string")C=Buffer.byteLength(A),I=!1;else if(h3(A))C=A.size,I=!1;else A=jF(A),C=A.length,I=jF.readOnly;if(this._firstFragment){if(this._firstFragment=!1,g&&D&&D.params[D._isServer?"server_no_context_takeover":"client_no_context_takeover"])g=C>=D._threshold;this._compress=g}else g=!1,B=0;if(x.fin)this._firstFragment=!0;let $={[X4]:C,fin:x.fin,generateMask:this._generateMask,mask:x.mask,maskBuffer:this._maskBuffer,opcode:B,readOnly:I,rsv1:g};if(h3(A))if(this._state!==Q7)this.enqueue([this.getBlobData,A,this._compress,$,E]);else this.getBlobData(A,this._compress,$,E);else if(this._state!==Q7)this.enqueue([this.dispatch,A,this._compress,$,E]);else this.dispatch(A,this._compress,$,E)}getBlobData(A,x,E,D){this._bufferedBytes+=E[X4],this._state=Wu0,A.arrayBuffer().then((B)=>{if(this._socket.destroyed){let C=Error("The socket was closed while the blob was being read");process.nextTick(BT,this,C,D);return}this._bufferedBytes-=E[X4];let g=jF(B);if(!x)this._state=Q7,this.sendFrame(qg.frame(g,E),D),this.dequeue();else this.dispatch(g,x,E,D)}).catch((B)=>{process.nextTick(Ru0,this,B,D)})}dispatch(A,x,E,D){if(!x){this.sendFrame(qg.frame(A,E),D);return}let B=this._extensions[qE0.extensionName];this._bufferedBytes+=E[X4],this._state=Mu0,B.compress(A,E.fin,(g,C)=>{if(this._socket.destroyed){let I=Error("The socket was closed while data was being compressed");BT(this,I,D);return}this._bufferedBytes-=E[X4],this._state=Q7,E.readOnly=!1,this.sendFrame(qg.frame(C,E),D),this.dequeue()})}dequeue(){while(this._state===Q7&&this._queue.length){let A=this._queue.shift();this._bufferedBytes-=A[3][X4],Reflect.apply(A[0],this,A.slice(1))}}enqueue(A){this._bufferedBytes+=A[3][X4],this._queue.push(A)}sendFrame(A,x){if(A.length===2)this._socket.cork(),this._socket.write(A[0]),this._socket.write(A[1],x),this._socket.uncork();else this._socket.write(A[0],x)}}ZE0.exports=qg;function BT(A,x,E){if(typeof E==="function")E(x);for(let D=0;D<A._queue.length;D++){let B=A._queue[D],g=B[B.length-1];if(typeof g==="function")g(x)}}function Ru0(A,x,E){BT(A,x,E),A.onerror(x)}});var PE0=c((aHA,OE0)=>{var{kForOnEventAttribute:ZS,kListener:gT}=N1(),ME0=Symbol("kCode"),WE0=Symbol("kData"),RE0=Symbol("kError"),LE0=Symbol("kMessage"),jE0=Symbol("kReason"),c3=Symbol("kTarget"),zE0=Symbol("kType"),NE0=Symbol("kWasClean");class Xg{constructor(A){this[c3]=null,this[zE0]=A}get target(){return this[c3]}get type(){return this[zE0]}}Object.defineProperty(Xg.prototype,"target",{enumerable:!0});Object.defineProperty(Xg.prototype,"type",{enumerable:!0});class l3 extends Xg{constructor(A,x={}){super(A);this[ME0]=x.code===void 0?0:x.code,this[jE0]=x.reason===void 0?"":x.reason,this[NE0]=x.wasClean===void 0?!1:x.wasClean}get code(){return this[ME0]}get reason(){return this[jE0]}get wasClean(){return this[NE0]}}Object.defineProperty(l3.prototype,"code",{enumerable:!0});Object.defineProperty(l3.prototype,"reason",{enumerable:!0});Object.defineProperty(l3.prototype,"wasClean",{enumerable:!0});class MS extends Xg{constructor(A,x={}){super(A);this[RE0]=x.error===void 0?null:x.error,this[LE0]=x.message===void 0?"":x.message}get error(){return this[RE0]}get message(){return this[LE0]}}Object.defineProperty(MS.prototype,"error",{enumerable:!0});Object.defineProperty(MS.prototype,"message",{enumerable:!0});class Mq extends Xg{constructor(A,x={}){super(A);this[WE0]=x.data===void 0?null:x.data}get data(){return this[WE0]}}Object.defineProperty(Mq.prototype,"data",{enumerable:!0});var Lu0={addEventListener(A,x,E={}){for(let B of this.listeners(A))if(!E[ZS]&&B[gT]===x&&!B[ZS])return;let D;if(A==="message")D=function(g,C){let I=new Mq("message",{data:C?g:g.toString()});I[c3]=this,Zq(x,this,I)};else if(A==="close")D=function(g,C){let I=new l3("close",{code:g,reason:C.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});I[c3]=this,Zq(x,this,I)};else if(A==="error")D=function(g){let C=new MS("error",{error:g,message:g.message});C[c3]=this,Zq(x,this,C)};else if(A==="open")D=function(){let g=new Xg("open");g[c3]=this,Zq(x,this,g)};else return;if(D[ZS]=!!E[ZS],D[gT]=x,E.once)this.once(A,D);else this.on(A,D)},removeEventListener(A,x){for(let E of this.listeners(A))if(E[gT]===x&&!E[ZS]){this.removeListener(A,E);break}}};OE0.exports={CloseEvent:l3,ErrorEvent:MS,Event:Xg,EventTarget:Lu0,MessageEvent:Mq};function Zq(A,x,E){if(typeof A==="object"&&A.handleEvent)A.handleEvent.call(A,E);else A.call(x,E)}});var CT=c((_HA,VE0)=>{var{tokenChars:WS}=i3();function f2(A,x,E){if(A[x]===void 0)A[x]=[E];else A[x].push(E)}function ju0(A){let x=Object.create(null),E=Object.create(null),D=!1,B=!1,g=!1,C,I,$=-1,S=-1,K=-1,M=0;for(;M<A.length;M++)if(S=A.charCodeAt(M),C===void 0)if(K===-1&&WS[S]===1){if($===-1)$=M}else if(M!==0&&(S===32||S===9)){if(K===-1&&$!==-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;let Z=A.slice($,K);if(S===44)f2(x,Z,E),E=Object.create(null);else C=Z;$=K=-1}else throw SyntaxError(`Unexpected character at index ${M}`);else if(I===void 0)if(K===-1&&WS[S]===1){if($===-1)$=M}else if(S===32||S===9){if(K===-1&&$!==-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;if(f2(E,A.slice($,K),!0),S===44)f2(x,C,E),E=Object.create(null),C=void 0;$=K=-1}else if(S===61&&$!==-1&&K===-1)I=A.slice($,M),$=K=-1;else throw SyntaxError(`Unexpected character at index ${M}`);else if(B){if(WS[S]!==1)throw SyntaxError(`Unexpected character at index ${M}`);if($===-1)$=M;else if(!D)D=!0;B=!1}else if(g)if(WS[S]===1){if($===-1)$=M}else if(S===34&&$!==-1)g=!1,K=M;else if(S===92)B=!0;else throw SyntaxError(`Unexpected character at index ${M}`);else if(S===34&&A.charCodeAt(M-1)===61)g=!0;else if(K===-1&&WS[S]===1){if($===-1)$=M}else if($!==-1&&(S===32||S===9)){if(K===-1)K=M}else if(S===59||S===44){if($===-1)throw SyntaxError(`Unexpected character at index ${M}`);if(K===-1)K=M;let Z=A.slice($,K);if(D)Z=Z.replace(/\\/g,""),D=!1;if(f2(E,I,Z),S===44)f2(x,C,E),E=Object.create(null),C=void 0;I=void 0,$=K=-1}else throw SyntaxError(`Unexpected character at index ${M}`);if($===-1||g||S===32||S===9)throw SyntaxError("Unexpected end of input");if(K===-1)K=M;let X=A.slice($,K);if(C===void 0)f2(x,X,E);else{if(I===void 0)f2(E,X,!0);else if(D)f2(E,I,X.replace(/\\/g,""));else f2(E,I,X);f2(x,C,E)}return x}function zu0(A){return Object.keys(A).map((x)=>{let E=A[x];if(!Array.isArray(E))E=[E];return E.map((D)=>{return[x].concat(Object.keys(D).map((B)=>{let g=D[B];if(!Array.isArray(g))g=[g];return g.map((C)=>C===!0?B:`${B}=${C}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}VE0.exports={format:zu0,parse:ju0}});var jq=c((tHA,pE0)=>{var Nu0=zx("events"),Ou0=zx("https"),Pu0=zx("http"),kE0=zx("net"),Vu0=zx("tls"),{randomBytes:vu0,createHash:Tu0}=zx("crypto"),{Duplex:dHA,Readable:oHA}=zx("stream"),{URL:FT}=zx("url"),Zg=XS(),ku0=ET(),uu0=DT(),{isBlob:bu0}=i3(),{BINARY_TYPES:vE0,EMPTY_BUFFER:Wq,GUID:iu0,kForOnEventAttribute:QT,kListener:hu0,kStatusCode:mu0,kWebSocket:R9,NOOP:uE0}=N1(),{EventTarget:{addEventListener:cu0,removeEventListener:lu0}}=PE0(),{format:nu0,parse:pu0}=CT(),{toBuffer:ru0}=US(),bE0=Symbol("kAborted"),IT=[8,13],P1=["CONNECTING","OPEN","CLOSING","CLOSED"],au0=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class dx extends Nu0{constructor(A,x,E){super();if(this._binaryType=vE0[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Wq,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=dx.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,A!==null){if(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,x===void 0)x=[];else if(!Array.isArray(x))if(typeof x==="object"&&x!==null)E=x,x=[];else x=[x];iE0(this,A,x,E)}else this._autoPong=E.autoPong,this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(A){if(!vE0.includes(A))return;if(this._binaryType=A,this._receiver)this._receiver._binaryType=A}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(A,x,E){let D=new ku0({allowSynchronousEvents:E.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:E.maxPayload,skipUTF8Validation:E.skipUTF8Validation}),B=new uu0(A,this._extensions,E.generateMask);if(this._receiver=D,this._sender=B,this._socket=A,D[R9]=this,B[R9]=this,A[R9]=this,D.on("conclude",ou0),D.on("drain",tu0),D.on("error",su0),D.on("message",eu0),D.on("ping",Ab0),D.on("pong",xb0),B.onerror=Eb0,A.setTimeout)A.setTimeout(0);if(A.setNoDelay)A.setNoDelay();if(x.length>0)A.unshift(x);A.on("close",cE0),A.on("data",Lq),A.on("end",lE0),A.on("error",nE0),this._readyState=dx.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=dx.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[Zg.extensionName])this._extensions[Zg.extensionName].cleanup();this._receiver.removeAllListeners(),this._readyState=dx.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(A,x){if(this.readyState===dx.CLOSED)return;if(this.readyState===dx.CONNECTING){b5(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===dx.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted))this._socket.end();return}this._readyState=dx.CLOSING,this._sender.close(A,x,!this._isServer,(E)=>{if(E)return;if(this._closeFrameSent=!0,this._closeFrameReceived||this._receiver._writableState.errorEmitted)this._socket.end()}),mE0(this)}pause(){if(this.readyState===dx.CONNECTING||this.readyState===dx.CLOSED)return;this._paused=!0,this._socket.pause()}ping(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof A==="function")E=A,A=x=void 0;else if(typeof x==="function")E=x,x=void 0;if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}if(x===void 0)x=!this._isServer;this._sender.ping(A||Wq,x,E)}pong(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof A==="function")E=A,A=x=void 0;else if(typeof x==="function")E=x,x=void 0;if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}if(x===void 0)x=!this._isServer;this._sender.pong(A||Wq,x,E)}resume(){if(this.readyState===dx.CONNECTING||this.readyState===dx.CLOSED)return;if(this._paused=!1,!this._receiver._writableState.needDrain)this._socket.resume()}send(A,x,E){if(this.readyState===dx.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof x==="function")E=x,x={};if(typeof A==="number")A=A.toString();if(this.readyState!==dx.OPEN){yT(this,A,E);return}let D={binary:typeof A!=="string",mask:!this._isServer,compress:!0,fin:!0,...x};if(!this._extensions[Zg.extensionName])D.compress=!1;this._sender.send(A||Wq,D,E)}terminate(){if(this.readyState===dx.CLOSED)return;if(this.readyState===dx.CONNECTING){b5(this,this._req,"WebSocket was closed before the connection was established");return}if(this._socket)this._readyState=dx.CLOSING,this._socket.destroy()}}Object.defineProperty(dx,"CONNECTING",{enumerable:!0,value:P1.indexOf("CONNECTING")});Object.defineProperty(dx.prototype,"CONNECTING",{enumerable:!0,value:P1.indexOf("CONNECTING")});Object.defineProperty(dx,"OPEN",{enumerable:!0,value:P1.indexOf("OPEN")});Object.defineProperty(dx.prototype,"OPEN",{enumerable:!0,value:P1.indexOf("OPEN")});Object.defineProperty(dx,"CLOSING",{enumerable:!0,value:P1.indexOf("CLOSING")});Object.defineProperty(dx.prototype,"CLOSING",{enumerable:!0,value:P1.indexOf("CLOSING")});Object.defineProperty(dx,"CLOSED",{enumerable:!0,value:P1.indexOf("CLOSED")});Object.defineProperty(dx.prototype,"CLOSED",{enumerable:!0,value:P1.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((A)=>{Object.defineProperty(dx.prototype,A,{enumerable:!0})});["open","error","close","message"].forEach((A)=>{Object.defineProperty(dx.prototype,`on${A}`,{enumerable:!0,get(){for(let x of this.listeners(A))if(x[QT])return x[hu0];return null},set(x){for(let E of this.listeners(A))if(E[QT]){this.removeListener(A,E);break}if(typeof x!=="function")return;this.addEventListener(A,x,{[QT]:!0})}})});dx.prototype.addEventListener=cu0;dx.prototype.removeEventListener=lu0;pE0.exports=dx;function iE0(A,x,E,D){let B={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:IT[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...D,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(A._autoPong=B.autoPong,!IT.includes(B.protocolVersion))throw RangeError(`Unsupported protocol version: ${B.protocolVersion} (supported versions: ${IT.join(", ")})`);let g;if(x instanceof FT)g=x;else try{g=new FT(x)}catch(V){throw SyntaxError(`Invalid URL: ${x}`)}if(g.protocol==="http:")g.protocol="ws:";else if(g.protocol==="https:")g.protocol="wss:";A._url=g.href;let C=g.protocol==="wss:",I=g.protocol==="ws+unix:",$;if(g.protocol!=="ws:"&&!C&&!I)$=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`;else if(I&&!g.pathname)$="The URL's pathname is empty";else if(g.hash)$="The URL contains a fragment identifier";if($){let V=SyntaxError($);if(A._redirects===0)throw V;else{Rq(A,V);return}}let S=C?443:80,K=vu0(16).toString("base64"),M=C?Ou0.request:Pu0.request,X=new Set,Z;if(B.createConnection=B.createConnection||(C?du0:_u0),B.defaultPort=B.defaultPort||S,B.port=g.port||S,B.host=g.hostname.startsWith("[")?g.hostname.slice(1,-1):g.hostname,B.headers={...B.headers,"Sec-WebSocket-Version":B.protocolVersion,"Sec-WebSocket-Key":K,Connection:"Upgrade",Upgrade:"websocket"},B.path=g.pathname+g.search,B.timeout=B.handshakeTimeout,B.perMessageDeflate)Z=new Zg(B.perMessageDeflate!==!0?B.perMessageDeflate:{},!1,B.maxPayload),B.headers["Sec-WebSocket-Extensions"]=nu0({[Zg.extensionName]:Z.offer()});if(E.length){for(let V of E){if(typeof V!=="string"||!au0.test(V)||X.has(V))throw SyntaxError("An invalid or duplicated subprotocol was specified");X.add(V)}B.headers["Sec-WebSocket-Protocol"]=E.join(",")}if(B.origin)if(B.protocolVersion<13)B.headers["Sec-WebSocket-Origin"]=B.origin;else B.headers.Origin=B.origin;if(g.username||g.password)B.auth=`${g.username}:${g.password}`;if(I){let V=B.path.split(":");B.socketPath=V[0],B.path=V[1]}let j;if(B.followRedirects){if(A._redirects===0){A._originalIpc=I,A._originalSecure=C,A._originalHostOrSocketPath=I?B.socketPath:g.host;let V=D&&D.headers;if(D={...D,headers:{}},V)for(let[l,E0]of Object.entries(V))D.headers[l.toLowerCase()]=E0}else if(A.listenerCount("redirect")===0){let V=I?A._originalIpc?B.socketPath===A._originalHostOrSocketPath:!1:A._originalIpc?!1:g.host===A._originalHostOrSocketPath;if(!V||A._originalSecure&&!C){if(delete B.headers.authorization,delete B.headers.cookie,!V)delete B.headers.host;B.auth=void 0}}if(B.auth&&!D.headers.authorization)D.headers.authorization="Basic "+Buffer.from(B.auth).toString("base64");if(j=A._req=M(B),A._redirects)A.emit("redirect",A.url,j)}else j=A._req=M(B);if(B.timeout)j.on("timeout",()=>{b5(A,j,"Opening handshake has timed out")});if(j.on("error",(V)=>{if(j===null||j[bE0])return;j=A._req=null,Rq(A,V)}),j.on("response",(V)=>{let l=V.headers.location,E0=V.statusCode;if(l&&B.followRedirects&&E0>=300&&E0<400){if(++A._redirects>B.maxRedirects){b5(A,j,"Maximum redirects exceeded");return}j.abort();let K0;try{K0=new FT(l,x)}catch(B0){let Q0=SyntaxError(`Invalid URL: ${l}`);Rq(A,Q0);return}iE0(A,K0,E,D)}else if(!A.emit("unexpected-response",j,V))b5(A,j,`Unexpected server response: ${V.statusCode}`)}),j.on("upgrade",(V,l,E0)=>{if(A.emit("upgrade",V),A.readyState!==dx.CONNECTING)return;j=A._req=null;let K0=V.headers.upgrade;if(K0===void 0||K0.toLowerCase()!=="websocket"){b5(A,l,"Invalid Upgrade header");return}let B0=Tu0("sha1").update(K+iu0).digest("base64");if(V.headers["sec-websocket-accept"]!==B0){b5(A,l,"Invalid Sec-WebSocket-Accept header");return}let Q0=V.headers["sec-websocket-protocol"],F0;if(Q0!==void 0){if(!X.size)F0="Server sent a subprotocol but none was requested";else if(!X.has(Q0))F0="Server sent an invalid subprotocol"}else if(X.size)F0="Server sent no subprotocol";if(F0){b5(A,l,F0);return}if(Q0)A._protocol=Q0;let k0=V.headers["sec-websocket-extensions"];if(k0!==void 0){if(!Z){b5(A,l,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let z0;try{z0=pu0(k0)}catch(U0){b5(A,l,"Invalid Sec-WebSocket-Extensions header");return}let JA=Object.keys(z0);if(JA.length!==1||JA[0]!==Zg.extensionName){b5(A,l,"Server indicated an extension that was not requested");return}try{Z.accept(z0[Zg.extensionName])}catch(U0){b5(A,l,"Invalid Sec-WebSocket-Extensions header");return}A._extensions[Zg.extensionName]=Z}A.setSocket(l,E0,{allowSynchronousEvents:B.allowSynchronousEvents,generateMask:B.generateMask,maxPayload:B.maxPayload,skipUTF8Validation:B.skipUTF8Validation})}),B.finishRequest)B.finishRequest(j,A);else j.end()}function Rq(A,x){A._readyState=dx.CLOSING,A._errorEmitted=!0,A.emit("error",x),A.emitClose()}function _u0(A){return A.path=A.socketPath,kE0.connect(A)}function du0(A){if(A.path=void 0,!A.servername&&A.servername!=="")A.servername=kE0.isIP(A.host)?"":A.host;return Vu0.connect(A)}function b5(A,x,E){A._readyState=dx.CLOSING;let D=Error(E);if(Error.captureStackTrace(D,b5),x.setHeader){if(x[bE0]=!0,x.abort(),x.socket&&!x.socket.destroyed)x.socket.destroy();process.nextTick(Rq,A,D)}else x.destroy(D),x.once("error",A.emit.bind(A,"error")),x.once("close",A.emitClose.bind(A))}function yT(A,x,E){if(x){let D=bu0(x)?x.size:ru0(x).length;if(A._socket)A._sender._bufferedBytes+=D;else A._bufferedAmount+=D}if(E){let D=Error(`WebSocket is not open: readyState ${A.readyState} (${P1[A.readyState]})`);process.nextTick(E,D)}}function ou0(A,x){let E=this[R9];if(E._closeFrameReceived=!0,E._closeMessage=x,E._closeCode=A,E._socket[R9]===void 0)return;if(E._socket.removeListener("data",Lq),process.nextTick(hE0,E._socket),A===1005)E.close();else E.close(A,x)}function tu0(){let A=this[R9];if(!A.isPaused)A._socket.resume()}function su0(A){let x=this[R9];if(x._socket[R9]!==void 0)x._socket.removeListener("data",Lq),process.nextTick(hE0,x._socket),x.close(A[mu0]);if(!x._errorEmitted)x._errorEmitted=!0,x.emit("error",A)}function TE0(){this[R9].emitClose()}function eu0(A,x){this[R9].emit("message",A,x)}function Ab0(A){let x=this[R9];if(x._autoPong)x.pong(A,!this._isServer,uE0);x.emit("ping",A)}function xb0(A){this[R9].emit("pong",A)}function hE0(A){A.resume()}function Eb0(A){let x=this[R9];if(x.readyState===dx.CLOSED)return;if(x.readyState===dx.OPEN)x._readyState=dx.CLOSING,mE0(x);if(this._socket.end(),!x._errorEmitted)x._errorEmitted=!0,x.emit("error",A)}function mE0(A){A._closeTimer=setTimeout(A._socket.destroy.bind(A._socket),30000)}function cE0(){let A=this[R9];this.removeListener("close",cE0),this.removeListener("data",Lq),this.removeListener("end",lE0),A._readyState=dx.CLOSING;let x;if(!this._readableState.endEmitted&&!A._closeFrameReceived&&!A._receiver._writableState.errorEmitted&&(x=A._socket.read())!==null)A._receiver.write(x);if(A._receiver.end(),this[R9]=void 0,clearTimeout(A._closeTimer),A._receiver._writableState.finished||A._receiver._writableState.errorEmitted)A.emitClose();else A._receiver.on("error",TE0),A._receiver.on("finish",TE0)}function Lq(A){if(!this[R9]._receiver.write(A))this.pause()}function lE0(){let A=this[R9];A._readyState=dx.CLOSING,A._receiver.end(),this.end()}function nE0(){let A=this[R9];if(this.removeListener("error",nE0),this.on("error",uE0),A)A._readyState=dx.CLOSING,this.destroy()}});var dE0=c((eHA,_E0)=>{var sHA=jq(),{Duplex:Bb0}=zx("stream");function rE0(A){A.emit("close")}function Db0(){if(!this.destroyed&&this._writableState.finished)this.destroy()}function aE0(A){if(this.removeListener("error",aE0),this.destroy(),this.listenerCount("error")===0)this.emit("error",A)}function gb0(A,x){let E=!0,D=new Bb0({...x,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return A.on("message",function(g,C){let I=!C&&D._readableState.objectMode?g.toString():g;if(!D.push(I))A.pause()}),A.once("error",function(g){if(D.destroyed)return;E=!1,D.destroy(g)}),A.once("close",function(){if(D.destroyed)return;D.push(null)}),D._destroy=function(B,g){if(A.readyState===A.CLOSED){g(B),process.nextTick(rE0,D);return}let C=!1;if(A.once("error",function($){C=!0,g($)}),A.once("close",function(){if(!C)g(B);process.nextTick(rE0,D)}),E)A.terminate()},D._final=function(B){if(A.readyState===A.CONNECTING){A.once("open",function(){D._final(B)});return}if(A._socket===null)return;if(A._socket._writableState.finished){if(B(),D._readableState.endEmitted)D.destroy()}else A._socket.once("finish",function(){B()}),A.close()},D._read=function(){if(A.isPaused)A.resume()},D._write=function(B,g,C){if(A.readyState===A.CONNECTING){A.once("open",function(){D._write(B,g,C)});return}A.send(B,C)},D.on("end",Db0),D.on("error",aE0),D}_E0.exports=gb0});var tE0=c((AKA,oE0)=>{var{tokenChars:Cb0}=i3();function Fb0(A){let x=new Set,E=-1,D=-1,B=0;for(B;B<A.length;B++){let C=A.charCodeAt(B);if(D===-1&&Cb0[C]===1){if(E===-1)E=B}else if(B!==0&&(C===32||C===9)){if(D===-1&&E!==-1)D=B}else if(C===44){if(E===-1)throw SyntaxError(`Unexpected character at index ${B}`);if(D===-1)D=B;let I=A.slice(E,D);if(x.has(I))throw SyntaxError(`The "${I}" subprotocol is duplicated`);x.add(I),E=D=-1}else throw SyntaxError(`Unexpected character at index ${B}`)}if(E===-1||D!==-1)throw SyntaxError("Unexpected end of input");let g=A.slice(E,B);if(x.has(g))throw SyntaxError(`The "${g}" subprotocol is duplicated`);return x.add(g),x}oE0.exports={parse:Fb0}});var E80=c((EKA,x80)=>{var Qb0=zx("events"),zq=zx("http"),{Duplex:xKA}=zx("stream"),{createHash:Ib0}=zx("crypto"),sE0=CT(),NF=XS(),yb0=tE0(),wb0=jq(),{GUID:$b0,kWebSocket:fb0}=N1(),Sb0=/^[+/0-9A-Za-z]{22}==$/;class A80 extends Qb0{constructor(A,x){super();if(A={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:wb0,...A},A.port==null&&!A.server&&!A.noServer||A.port!=null&&(A.server||A.noServer)||A.server&&A.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(A.port!=null)this._server=zq.createServer((E,D)=>{let B=zq.STATUS_CODES[426];D.writeHead(426,{"Content-Length":B.length,"Content-Type":"text/plain"}),D.end(B)}),this._server.listen(A.port,A.host,A.backlog,x);else if(A.server)this._server=A.server;if(this._server){let E=this.emit.bind(this,"connection");this._removeListeners=Gb0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(D,B,g)=>{this.handleUpgrade(D,B,g,E)}})}if(A.perMessageDeflate===!0)A.perMessageDeflate={};if(A.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=A,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');if(!this._server)return null;return this._server.address()}close(A){if(this._state===2){if(A)this.once("close",()=>{A(Error("The server is not running"))});process.nextTick(RS,this);return}if(A)this.once("close",A);if(this._state===1)return;if(this._state=1,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick(RS,this);else this._shouldEmitClose=!0;else process.nextTick(RS,this)}else{let x=this._server;this._removeListeners(),this._removeListeners=this._server=null,x.close(()=>{RS(this)})}}shouldHandle(A){if(this.options.path){let x=A.url.indexOf("?");if((x!==-1?A.url.slice(0,x):A.url)!==this.options.path)return!1}return!0}handleUpgrade(A,x,E,D){x.on("error",eE0);let B=A.headers["sec-websocket-key"],g=A.headers.upgrade,C=+A.headers["sec-websocket-version"];if(A.method!=="GET"){OF(this,A,x,405,"Invalid HTTP method");return}if(g===void 0||g.toLowerCase()!=="websocket"){OF(this,A,x,400,"Invalid Upgrade header");return}if(B===void 0||!Sb0.test(B)){OF(this,A,x,400,"Missing or invalid Sec-WebSocket-Key header");return}if(C!==13&&C!==8){OF(this,A,x,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(A)){LS(x,400);return}let I=A.headers["sec-websocket-protocol"],$=new Set;if(I!==void 0)try{$=yb0.parse(I)}catch(M){OF(this,A,x,400,"Invalid Sec-WebSocket-Protocol header");return}let S=A.headers["sec-websocket-extensions"],K={};if(this.options.perMessageDeflate&&S!==void 0){let M=new NF(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let X=sE0.parse(S);if(X[NF.extensionName])M.accept(X[NF.extensionName]),K[NF.extensionName]=M}catch(X){OF(this,A,x,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let M={origin:A.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(A.socket.authorized||A.socket.encrypted),req:A};if(this.options.verifyClient.length===2){this.options.verifyClient(M,(X,Z,j,V)=>{if(!X)return LS(x,Z||401,j,V);this.completeUpgrade(K,B,$,A,x,E,D)});return}if(!this.options.verifyClient(M))return LS(x,401)}this.completeUpgrade(K,B,$,A,x,E,D)}completeUpgrade(A,x,E,D,B,g,C){if(!B.readable||!B.writable)return B.destroy();if(B[fb0])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return LS(B,503);let $=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Ib0("sha1").update(x+$b0).digest("base64")}`],S=new this.options.WebSocket(null,void 0,this.options);if(E.size){let K=this.options.handleProtocols?this.options.handleProtocols(E,D):E.values().next().value;if(K)$.push(`Sec-WebSocket-Protocol: ${K}`),S._protocol=K}if(A[NF.extensionName]){let K=A[NF.extensionName].params,M=sE0.format({[NF.extensionName]:[K]});$.push(`Sec-WebSocket-Extensions: ${M}`),S._extensions=A}if(this.emit("headers",$,D),B.write($.concat(`\r
|
|
240
240
|
`).join(`\r
|
|
241
241
|
`)),B.removeListener("error",eE0),S.setSocket(B,g,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients)this.clients.add(S),S.on("close",()=>{if(this.clients.delete(S),this._shouldEmitClose&&!this.clients.size)process.nextTick(RS,this)});C(S,D)}}x80.exports=A80;function Gb0(A,x){for(let E of Object.keys(x))A.on(E,x[E]);return function(){for(let D of Object.keys(x))A.removeListener(D,x[D])}}function RS(A){A._state=2,A.emit("close")}function eE0(){this.destroy()}function LS(A,x,E,D){E=E||zq.STATUS_CODES[x],D={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(E),...D},A.once("finish",A.destroy),A.end(`HTTP/1.1 ${x} ${zq.STATUS_CODES[x]}\r
|
|
242
242
|
`+Object.keys(D).map((B)=>`${B}: ${D[B]}`).join(`\r
|
|
@@ -312,9 +312,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
312
312
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ew(w,H){if(!w)return;if(typeof w==="string")return i2(w,H);var J=Object.prototype.toString.call(w).slice(8,-1);if(J==="Object"&&w.constructor)J=w.constructor.name;if(J==="Map"||J==="Set")return Array.from(w);if(J==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(J))return i2(w,H)}function i2(w,H){if(H==null||H>w.length)H=w.length;for(var J=0,Y=Array(H);J<H;J++)Y[J]=w[J];return Y}function R7(w,H){if(typeof Symbol>"u"||!(Symbol.iterator in Object(w)))return;var J=[],Y=!0,R=!1,u=void 0;try{for(var n=w[Symbol.iterator](),O;!(Y=(O=n.next()).done);Y=!0)if(J.push(O.value),H&&J.length===H)break}catch(h){R=!0,u=h}finally{try{if(!Y&&n.return!=null)n.return()}finally{if(R)throw u}}return J}function $C(w){if(Array.isArray(w))return w}function fC(w){for(var H=arguments.length,J=Array(H>1?H-1:0),Y=1;Y<H;Y++)J[Y-1]=arguments[Y];if(J.length===0||typeof w!=="string")return[w].concat(J);var R=J.slice(),u="",n=0;for(var O=0;O<w.length;++O){var h=w[O];if(h!=="%"){u+=h;continue}var A0=w[O+1];switch(++O,A0){case"c":case"O":case"o":{++n,u+="%".concat(A0);break}case"d":case"i":{var m=R.splice(n,1),x0=PQ(m,1),w0=x0[0];u+=parseInt(w0,10).toString();break}case"f":{var v0=R.splice(n,1),L0=PQ(v0,1),$0=L0[0];u+=parseFloat($0).toString();break}case"s":{var _0=R.splice(n,1),NA=PQ(_0,1),nA=NA[0];u+=String(nA);break}default:u+="%".concat(A0)}}return[u].concat(xw(R))}function vQ(w,H){var J;if(typeof Symbol>"u"||w[Symbol.iterator]==null){if(Array.isArray(w)||(J=h2(w))||H&&w&&typeof w.length==="number"){if(J)w=J;var Y=0,R=function(){};return{s:R,n:function(){if(Y>=w.length)return{done:!0};return{done:!1,value:w[Y++]}},e:function(A0){throw A0},f:R}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
313
313
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u=!0,n=!1,O;return{s:function(){J=w[Symbol.iterator]()},n:function(){var A0=J.next();return u=A0.done,A0},e:function(A0){n=!0,O=A0},f:function(){try{if(!u&&J.return!=null)J.return()}finally{if(n)throw O}}}}function TQ(w){return aG(w)||SC(w)||h2(w)||Bw()}function Bw(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
314
314
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h2(w,H){if(!w)return;if(typeof w==="string")return GC(w,H);var J=Object.prototype.toString.call(w).slice(8,-1);if(J==="Object"&&w.constructor)J=w.constructor.name;if(J==="Map"||J==="Set")return Array.from(w);if(J==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(J))return GC(w,H)}function SC(w){if(typeof Symbol<"u"&&Symbol.iterator in Object(w))return Array.from(w)}function aG(w){if(Array.isArray(w))return GC(w)}function GC(w,H){if(H==null||H>w.length)H=w.length;for(var J=0,Y=Array(H);J<H;J++)Y[J]=w[J];return Y}var eX=/\s{4}(in|at)\s{1}/,_G=/:\d+:\d+(\n|$)/;function dG(w){return eX.test(w)||_G.test(w)}var fD=/ \(\<anonymous\>\)$|\@unknown\:0\:0$|\(|\)|\[|\]/gm;function q5(w,H){return w.replace(fD,"")===H.replace(fD,"")}var L7=console,SD={recordChangeDescriptions:!1,recordTimeline:!1};function Dw(w,H){var J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,Y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:SD;if(w.hasOwnProperty("__REACT_DEVTOOLS_GLOBAL_HOOK__"))return null;function R(qA){try{if(typeof qA.version==="string"){if(qA.bundleType>0)return"development";return"production"}var jA=Function.prototype.toString;if(qA.Mount&&qA.Mount._renderNewRootComponent){var pA=jA.call(qA.Mount._renderNewRootComponent);if(pA.indexOf("function")!==0)return"production";if(pA.indexOf("storedMeasure")!==-1)return"development";if(pA.indexOf("should be a pure function")!==-1){if(pA.indexOf("NODE_ENV")!==-1)return"development";if(pA.indexOf("development")!==-1)return"development";if(pA.indexOf("true")!==-1)return"development";if(pA.indexOf("nextElement")!==-1||pA.indexOf("nextComponent")!==-1)return"unminified";else return"development"}if(pA.indexOf("nextElement")!==-1||pA.indexOf("nextComponent")!==-1)return"unminified";return"outdated"}}catch(mE){}return"production"}function u(qA){try{var jA=Function.prototype.toString,pA=jA.call(qA);if(pA.indexOf("^_^")>-1)A0=!0,setTimeout(function(){throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://react.dev/link/perf-use-production-build")})}catch(mE){}}var n=J,O=0;function h(qA){var jA=++O;rE.set(jA,qA);var pA=A0?"deadcode":R(qA);tA.emit("renderer",{id:jA,renderer:qA,reactBuildType:pA});var mE=NQ(tA,jA,qA,w,n,Y);if(mE!=null)tA.rendererInterfaces.set(jA,mE),tA.emit("renderer-attached",{id:jA,rendererInterface:mE});else tA.hasUnsupportedRendererAttached=!0,tA.emit("unsupported-renderer-version");return jA}var A0=!1;function m(qA,jA){return tA.on(qA,jA),function(){return tA.off(qA,jA)}}function x0(qA,jA){if(!S8[qA])S8[qA]=[];S8[qA].push(jA)}function w0(qA,jA){if(!S8[qA])return;var pA=S8[qA].indexOf(jA);if(pA!==-1)S8[qA].splice(pA,1);if(!S8[qA].length)delete S8[qA]}function v0(qA,jA){if(S8[qA])S8[qA].map(function(pA){return pA(jA)})}function L0(qA){var jA=N9;if(!jA[qA])jA[qA]=new Set;return jA[qA]}function $0(qA,jA){var pA=t8.get(qA);if(pA!=null)pA.handleCommitFiberUnmount(jA)}function _0(qA,jA,pA){var mE=tA.getFiberRoots(qA),lB=jA.current,s8=mE.has(jA),FB=lB.memoizedState==null||lB.memoizedState.element==null;if(!s8&&!FB)mE.add(jA);else if(s8&&FB)mE.delete(jA);var u8=t8.get(qA);if(u8!=null)u8.handleCommitFiberRoot(jA,pA)}function NA(qA,jA){var pA=t8.get(qA);if(pA!=null)pA.handlePostCommitFiberRoot(jA)}var nA=!1;function uE(qA,jA){if(nA=jA,jA)Rx();else ex()}var fA=[];function Rx(){if(!tA.settings)return;if(fA.length>0)return;var qA=["group","groupCollapsed","info","log"],jA=function(){var s8=mE[pA],FB=L7[s8],u8=function(){var b8=tA.settings;for(var Z8=arguments.length,PE=Array(Z8),O8=0;O8<Z8;O8++)PE[O8]=arguments[O8];if(b8==null){FB.apply(void 0,PE);return}if(b8.hideConsoleLogsInStrictMode)return;FB.apply(void 0,[M0].concat(TQ(fC.apply(void 0,PE))))};L7[s8]=u8,fA.push(function(){L7[s8]=FB})};for(var pA=0,mE=qA;pA<mE.length;pA++)jA()}function ex(){fA.forEach(function(qA){return qA()}),fA.length=0}var vx=[],ME=[];function kx(qA){var jA=qA.stack.split(`
|
|
315
|
-
`),pA=jA.length>1?jA[1]:null;return pA}function bE(){return ME}function $E(qA){var jA=kx(qA);if(jA!==null)vx.push(jA)}function OB(qA){if(vx.length>0){var jA=vx.pop(),pA=kx(qA);if(pA!==null)ME.push([jA,pA])}}function X8(){if(!tA.settings)return;var qA=["error","trace","warn"],jA=function(){var s8=mE[pA],FB=L7[s8],u8=function(){var b8=tA.settings;for(var Z8=arguments.length,PE=Array(Z8),O8=0;O8<Z8;O8++)PE[O8]=arguments[O8];if(b8==null){FB.apply(void 0,PE);return}if(nA&&b8.hideConsoleLogsInStrictMode)return;var F9=!1,p6=!1;if(b8.appendComponentStack){var K6=PE.length>0?PE[PE.length-1]:null;p6=typeof K6==="string"&&dG(K6)}var M5=b8.showInlineWarningsAndErrors&&(s8==="error"||s8==="warn"),YA=vQ(tA.rendererInterfaces.values()),iA;try{for(YA.s();!(iA=YA.n()).done;){var ux=iA.value,JE=ux.onErrorOrWarning,sE=ux.getComponentStack;try{if(M5){if(JE!=null)JE(s8,PE.slice())}}catch(b0){setTimeout(function(){throw b0},0)}try{if(b8.appendComponentStack&&sE!=null){var D8=Error("react-stack-top-frame"),QB=sE(D8);if(QB!==null){var{enableOwnerStacks:PB,componentStack:Q8}=QB;if(Q8!==""){var e8=Error("");if(e8.name=PB?"Stack":"Component Stack",e8.stack=(PB?"Error Stack:":"Error Component Stack:")+Q8,p6){if(q5(PE[PE.length-1],Q8)){var g8=PE[0];if(PE.length>1&&typeof g8==="string"&&g8.endsWith("%s"))PE[0]=g8.slice(0,g8.length-2);PE[PE.length-1]=e8,F9=!0}}else PE.push(e8),F9=!0}break}}}catch(b0){setTimeout(function(){throw b0},0)}}}catch(b0){YA.e(b0)}finally{YA.f()}if(b8.breakOnConsoleErrors)debugger;if(nA)if(!1)var u0;else FB.apply(void 0,[F9?o:M0].concat(TQ(fC.apply(void 0,PE))));else FB.apply(void 0,PE)};L7[s8]=u8};for(var pA=0,mE=qA;pA<mE.length;pA++)jA()}var N9={},t8=new Map,S8={},rE=new Map,F8=new Map,tA={rendererInterfaces:t8,listeners:S8,backends:F8,renderers:rE,hasUnsupportedRendererAttached:!1,emit:v0,getFiberRoots:L0,inject:h,on:x0,off:w0,sub:m,supportsFiber:!0,supportsFlight:!0,checkDCE:u,onCommitFiberUnmount:$0,onCommitFiberRoot:_0,onPostCommitFiberRoot:NA,setStrictMode:uE,getInternalModuleRanges:bE,registerInternalModuleStart:$E,registerInternalModuleStop:OB};if(H==null)tA.settings={appendComponentStack:!0,breakOnConsoleErrors:!1,showInlineWarningsAndErrors:!0,hideConsoleLogsInStrictMode:!1},X8();else Promise.resolve(H).then(function(qA){tA.settings=qA,tA.emit("settingsInitialized",qA),X8()}).catch(function(){L7.error("React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work.")});return Object.defineProperty(w,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return tA}}),tA}function oG(w,H,J,Y){if(w==null)return function(){};function R(O,h){H.registerRendererInterface(O,h),h.flushInitialOperations()}var u=[w.sub("renderer-attached",function(O){var{id:h,rendererInterface:A0}=O;R(h,A0)}),w.sub("unsupported-renderer-version",function(){H.onUnsupportedRenderer()}),w.sub("fastRefreshScheduled",H.onFastRefreshScheduled),w.sub("operations",H.onHookOperations),w.sub("traceUpdates",H.onTraceUpdates),w.sub("settingsInitialized",H.onHookSettings)];H.addListener("getIfHasUnsupportedRendererVersion",function(){if(w.hasUnsupportedRendererAttached)H.onUnsupportedRenderer()}),w.rendererInterfaces.forEach(function(O,h){R(h,O)}),w.emit("react-devtools",H),w.reactDevtoolsAgent=H;var n=function(){u.forEach(function(h){return h()}),w.rendererInterfaces.forEach(function(h){h.cleanup()}),w.reactDevtoolsAgent=null};if(H.addListener("shutdown",n),H.addListener("updateHookSettings",function(O){w.settings=O}),H.addListener("getHookSettings",function(){if(w.settings!=null)H.onHookSettings(w.settings)}),Y)H.onReloadAndProfileSupportedByHost();return function(){u.forEach(function(O){return O()})}}function b4(w,H){var J=!1,Y={bottom:0,left:0,right:0,top:0},R=H[w];if(R!=null){for(var u=0,n=Object.keys(Y);u<n.length;u++){var O=n[u];Y[O]=R}J=!0}var h=H[w+"Horizontal"];if(h!=null)Y.left=h,Y.right=h,J=!0;else{var A0=H[w+"Left"];if(A0!=null)Y.left=A0,J=!0;var m=H[w+"Right"];if(m!=null)Y.right=m,J=!0;var x0=H[w+"End"];if(x0!=null)Y.right=x0,J=!0;var w0=H[w+"Start"];if(w0!=null)Y.left=w0,J=!0}var v0=H[w+"Vertical"];if(v0!=null)Y.bottom=v0,Y.top=v0,J=!0;else{var L0=H[w+"Bottom"];if(L0!=null)Y.bottom=L0,J=!0;var $0=H[w+"Top"];if($0!=null)Y.top=$0,J=!0}return J?Y:null}function X5(w){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")X5=function(J){return typeof J};else X5=function(J){return J&&typeof Symbol==="function"&&J.constructor===Symbol&&J!==Symbol.prototype?"symbol":typeof J};return X5(w)}function kQ(w,H,J){if(H in w)Object.defineProperty(w,H,{value:J,enumerable:!0,configurable:!0,writable:!0});else w[H]=J;return w}function GD(w,H,J,Y){w.addListener("NativeStyleEditor_measure",function(R){var{id:u,rendererID:n}=R;n6(H,w,J,u,n)}),w.addListener("NativeStyleEditor_renameAttribute",function(R){var{id:u,rendererID:n,oldName:O,newName:h,value:A0}=R;C9(H,u,n,O,h,A0),setTimeout(function(){return n6(H,w,J,u,n)})}),w.addListener("NativeStyleEditor_setValue",function(R){var{id:u,rendererID:n,name:O,value:h}=R;gw(H,u,n,O,h),setTimeout(function(){return n6(H,w,J,u,n)})}),w.send("isNativeStyleEditorSupported",{isSupported:!0,validAttributes:Y})}var z9={top:0,left:0,right:0,bottom:0},k8=new Map;function n6(w,H,J,Y,R){var u=w.getInstanceAndStyle({id:Y,rendererID:R});if(!u||!u.style){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:null});return}var{instance:n,style:O}=u,h=J(O),A0=k8.get(Y);if(A0!=null)h=Object.assign({},h,A0);if(!n||typeof n.measure!=="function"){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:h||null});return}n.measure(function(m,x0,w0,v0,L0,$0){if(typeof m!=="number"){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:h||null});return}var _0=h!=null&&b4("margin",h)||z9,NA=h!=null&&b4("padding",h)||z9;H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:{x:m,y:x0,width:w0,height:v0,left:L0,top:$0,margin:_0,padding:NA},style:h||null})})}function YB(w){var H={};for(var J in w)H[J]=w[J];return H}function C9(w,H,J,Y,R,u){var n,O=w.getInstanceAndStyle({id:H,rendererID:J});if(!O||!O.style)return;var{instance:h,style:A0}=O,m=R?(n={},kQ(n,Y,void 0),kQ(n,R,u),n):kQ({},Y,void 0),x0;if(h!==null&&typeof h.setNativeProps==="function"){var w0=k8.get(H);if(!w0)k8.set(H,m);else Object.assign(w0,m);h.setNativeProps({style:m})}else if(Dx(A0)){var v0=A0.length-1;if(X5(A0[v0])==="object"&&!Dx(A0[v0])){if(x0=YB(A0[v0]),delete x0[Y],R)x0[R]=u;else x0[Y]=void 0;w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style",v0],value:x0})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:A0.concat([m])})}else if(X5(A0)==="object"){if(x0=YB(A0),delete x0[Y],R)x0[R]=u;else x0[Y]=void 0;w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:x0})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:[A0,m]});w.emit("hideNativeHighlight")}function gw(w,H,J,Y,R){var u=w.getInstanceAndStyle({id:H,rendererID:J});if(!u||!u.style)return;var{instance:n,style:O}=u,h=kQ({},Y,R);if(n!==null&&typeof n.setNativeProps==="function"){var A0=k8.get(H);if(!A0)k8.set(H,h);else Object.assign(A0,h);n.setNativeProps({style:h})}else if(Dx(O)){var m=O.length-1;if(X5(O[m])==="object"&&!Dx(O[m]))w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style",m,Y],value:R});else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:O.concat([h])})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:[O,h]});w.emit("hideNativeHighlight")}var JD=Iy();function JC(w){if(X){var H;for(var J=arguments.length,Y=Array(J>1?J-1:0),R=1;R<J;R++)Y[R-1]=arguments[R];(H=console).log.apply(H,["%c[core/backend] %c".concat(w),"color: teal; font-weight: bold;","font-weight: bold;"].concat(Y))}}function LA(w){var H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,J=arguments.length>2?arguments[2]:void 0;Dw(window,w,H,J)}function HD(w){var H=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(H==null)return;var J=w||{},Y=J.host,R=Y===void 0?"localhost":Y,u=J.nativeStyleEditorValidAttributes,n=J.useHttps,O=n===void 0?!1:n,h=J.port,A0=h===void 0?8097:h,m=J.websocket,x0=J.resolveRNStyle,w0=x0===void 0?null:x0,v0=J.retryConnectionDelay,L0=v0===void 0?2000:v0,$0=J.isAppActive,_0=$0===void 0?function(){return!0}:$0,NA=J.onSettingsUpdated,nA=J.isReloadAndProfileSupported,uE=nA===void 0?pS():nA,fA=J.isProfiling,Rx=J.onReloadAndProfile,ex=J.onReloadAndProfileFlagsReset,vx=O?"wss":"ws",ME=null;function kx(){if(ME===null)ME=setTimeout(function(){return HD(w)},L0)}if(!_0()){kx();return}var bE=null,$E=[],OB=vx+"://"+R+":"+A0,X8=m?m:new window.WebSocket(OB);X8.onclose=N9,X8.onerror=t8,X8.onmessage=S8,X8.onopen=function(){if(bE=new wG({listen:function(pA){return $E.push(pA),function(){var mE=$E.indexOf(pA);if(mE>=0)$E.splice(mE,1)}},send:function(pA,mE,lB){if(X8.readyState===X8.OPEN){if(X)JC("wall.send()",pA,mE);X8.send(JSON.stringify({event:pA,payload:mE}))}else{if(X)JC("wall.send()","Shutting down bridge because of closed WebSocket connection");if(bE!==null)bE.shutdown();kx()}}}),bE.addListener("updateComponentFilters",function(jA){JD=jA}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)bE.send("overrideComponentFilters",JD);var rE=new zB(bE,fA,Rx);if(typeof ex==="function")ex();if(NA!=null)rE.addListener("updateHookSettings",NA);if(rE.addListener("shutdown",function(){if(NA!=null)rE.removeListener("updateHookSettings",NA);H.emit("shutdown")}),oG(H,rE,window,uE),w0!=null||H.resolveRNStyle!=null)GD(bE,rE,w0||H.resolveRNStyle,u||H.nativeStyleEditorValidAttributes||null);else{var F8,tA,qA=function(){if(bE!==null)GD(bE,rE,F8,tA)};if(!H.hasOwnProperty("resolveRNStyle"))Object.defineProperty(H,"resolveRNStyle",{enumerable:!1,get:function(){return F8},set:function(pA){F8=pA,qA()}});if(!H.hasOwnProperty("nativeStyleEditorValidAttributes"))Object.defineProperty(H,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return tA},set:function(pA){tA=pA,qA()}})}};function N9(){if(X)JC("WebSocket.onclose");if(bE!==null)bE.emit("shutdown");kx()}function t8(){if(X)JC("WebSocket.onerror");kx()}function S8(rE){var F8;try{if(typeof rE.data==="string"){if(F8=JSON.parse(rE.data),X)JC("WebSocket.onmessage",F8)}else throw Error()}catch(tA){console.error("[React DevTools] Failed to parse JSON: "+rE.data);return}$E.forEach(function(tA){try{tA(F8)}catch(qA){throw console.log("[React DevTools] Error calling listener",F8),console.log("error:",qA),qA}})}}function Cw(w){var{onSubscribe:H,onUnsubscribe:J,onMessage:Y,nativeStyleEditorValidAttributes:R,resolveRNStyle:u,onSettingsUpdated:n,isReloadAndProfileSupported:O}=w,h=O===void 0?pS():O,A0=w.isProfiling,m=w.onReloadAndProfile,x0=w.onReloadAndProfileFlagsReset,w0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(w0==null)return;var v0={listen:function(fA){return H(fA),function(){J(fA)}},send:function(fA,Rx){Y(fA,Rx)}},L0=new wG(v0);if(L0.addListener("updateComponentFilters",function(uE){JD=uE}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)L0.send("overrideComponentFilters",JD);var $0=new zB(L0,A0,m);if(typeof x0==="function")x0();if(n!=null)$0.addListener("updateHookSettings",n);$0.addListener("shutdown",function(){if(n!=null)$0.removeListener("updateHookSettings",n);w0.emit("shutdown")});var _0=oG(w0,$0,window,h),NA=u||w0.resolveRNStyle;if(NA!=null){var nA=R||w0.nativeStyleEditorValidAttributes||null;GD(L0,$0,NA,nA)}return _0}})(),D})()})});var Ub0={};var Q80;var I80=EM(()=>{C80();Q80=Zx(F80(),1);Q80.default.connectToDevTools()});var G80=c((fKA,Zb0)=>{Zb0.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var H80=c((SKA,fT)=>{var J80=G80();fT.exports=J80;fT.exports.default=J80});var m80=c((MYA,LT)=>{var h80=(A,x)=>{for(let E of Reflect.ownKeys(x))Object.defineProperty(A,E,Object.getOwnPropertyDescriptor(x,E));return A};LT.exports=h80;LT.exports.default=h80});var l80=c((WYA,iq)=>{var gi0=m80(),bq=new WeakMap,c80=(A,x={})=>{if(typeof A!=="function")throw TypeError("Expected a function");let E,D=0,B=A.displayName||A.name||"<anonymous>",g=function(...C){if(bq.set(g,++D),D===1)E=A.apply(this,C),A=null;else if(x.throw===!0)throw Error(`Function \`${B}\` can only be called once`);return E};return gi0(g,A),bq.set(g,D),g};iq.exports=c80;iq.exports.default=c80;iq.exports.callCount=(A)=>{if(!bq.has(A))throw Error(`The given function \`${A.name}\` is not wrapped by the \`onetime\` package`);return bq.get(A)}});var CB0=c((nYA,gB0)=>{var Gi0=/[|\\{}()[\]^$+*?.-]/g;gB0.exports=(A)=>{if(typeof A!=="string")throw TypeError("Expected a string");return A.replace(Gi0,"\\$&")}});var yB0=c((pYA,IB0)=>{var Ji0=CB0(),Hi0=typeof process==="object"&&process&&typeof process.cwd==="function"?process.cwd():".",QB0=[].concat(zx("module").builtinModules,"bootstrap_node","node").map((A)=>new RegExp(`(?:\\((?:node:)?${A}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${A}(?:\\.js)?:\\d+:\\d+$)`));QB0.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);class PT{constructor(A){if(A={ignoredPackages:[],...A},"internals"in A===!1)A.internals=PT.nodeInternals();if("cwd"in A===!1)A.cwd=Hi0;this._cwd=A.cwd.replace(/\\/g,"/"),this._internals=[].concat(A.internals,Ki0(A.ignoredPackages)),this._wrapCallSite=A.wrapCallSite||!1}static nodeInternals(){return[...QB0]}clean(A,x=0){if(x=" ".repeat(x),!Array.isArray(A))A=A.split(`
|
|
315
|
+
`),pA=jA.length>1?jA[1]:null;return pA}function bE(){return ME}function $E(qA){var jA=kx(qA);if(jA!==null)vx.push(jA)}function OB(qA){if(vx.length>0){var jA=vx.pop(),pA=kx(qA);if(pA!==null)ME.push([jA,pA])}}function X8(){if(!tA.settings)return;var qA=["error","trace","warn"],jA=function(){var s8=mE[pA],FB=L7[s8],u8=function(){var b8=tA.settings;for(var Z8=arguments.length,PE=Array(Z8),O8=0;O8<Z8;O8++)PE[O8]=arguments[O8];if(b8==null){FB.apply(void 0,PE);return}if(nA&&b8.hideConsoleLogsInStrictMode)return;var F9=!1,p6=!1;if(b8.appendComponentStack){var K6=PE.length>0?PE[PE.length-1]:null;p6=typeof K6==="string"&&dG(K6)}var M5=b8.showInlineWarningsAndErrors&&(s8==="error"||s8==="warn"),YA=vQ(tA.rendererInterfaces.values()),iA;try{for(YA.s();!(iA=YA.n()).done;){var ux=iA.value,JE=ux.onErrorOrWarning,sE=ux.getComponentStack;try{if(M5){if(JE!=null)JE(s8,PE.slice())}}catch(b0){setTimeout(function(){throw b0},0)}try{if(b8.appendComponentStack&&sE!=null){var D8=Error("react-stack-top-frame"),QB=sE(D8);if(QB!==null){var{enableOwnerStacks:PB,componentStack:Q8}=QB;if(Q8!==""){var e8=Error("");if(e8.name=PB?"Stack":"Component Stack",e8.stack=(PB?"Error Stack:":"Error Component Stack:")+Q8,p6){if(q5(PE[PE.length-1],Q8)){var g8=PE[0];if(PE.length>1&&typeof g8==="string"&&g8.endsWith("%s"))PE[0]=g8.slice(0,g8.length-2);PE[PE.length-1]=e8,F9=!0}}else PE.push(e8),F9=!0}break}}}catch(b0){setTimeout(function(){throw b0},0)}}}catch(b0){YA.e(b0)}finally{YA.f()}if(b8.breakOnConsoleErrors)debugger;if(nA)if(!1)var u0;else FB.apply(void 0,[F9?o:M0].concat(TQ(fC.apply(void 0,PE))));else FB.apply(void 0,PE)};L7[s8]=u8};for(var pA=0,mE=qA;pA<mE.length;pA++)jA()}var N9={},t8=new Map,S8={},rE=new Map,F8=new Map,tA={rendererInterfaces:t8,listeners:S8,backends:F8,renderers:rE,hasUnsupportedRendererAttached:!1,emit:v0,getFiberRoots:L0,inject:h,on:x0,off:w0,sub:m,supportsFiber:!0,supportsFlight:!0,checkDCE:u,onCommitFiberUnmount:$0,onCommitFiberRoot:_0,onPostCommitFiberRoot:NA,setStrictMode:uE,getInternalModuleRanges:bE,registerInternalModuleStart:$E,registerInternalModuleStop:OB};if(H==null)tA.settings={appendComponentStack:!0,breakOnConsoleErrors:!1,showInlineWarningsAndErrors:!0,hideConsoleLogsInStrictMode:!1},X8();else Promise.resolve(H).then(function(qA){tA.settings=qA,tA.emit("settingsInitialized",qA),X8()}).catch(function(){L7.error("React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work.")});return Object.defineProperty(w,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return tA}}),tA}function oG(w,H,J,Y){if(w==null)return function(){};function R(O,h){H.registerRendererInterface(O,h),h.flushInitialOperations()}var u=[w.sub("renderer-attached",function(O){var{id:h,rendererInterface:A0}=O;R(h,A0)}),w.sub("unsupported-renderer-version",function(){H.onUnsupportedRenderer()}),w.sub("fastRefreshScheduled",H.onFastRefreshScheduled),w.sub("operations",H.onHookOperations),w.sub("traceUpdates",H.onTraceUpdates),w.sub("settingsInitialized",H.onHookSettings)];H.addListener("getIfHasUnsupportedRendererVersion",function(){if(w.hasUnsupportedRendererAttached)H.onUnsupportedRenderer()}),w.rendererInterfaces.forEach(function(O,h){R(h,O)}),w.emit("react-devtools",H),w.reactDevtoolsAgent=H;var n=function(){u.forEach(function(h){return h()}),w.rendererInterfaces.forEach(function(h){h.cleanup()}),w.reactDevtoolsAgent=null};if(H.addListener("shutdown",n),H.addListener("updateHookSettings",function(O){w.settings=O}),H.addListener("getHookSettings",function(){if(w.settings!=null)H.onHookSettings(w.settings)}),Y)H.onReloadAndProfileSupportedByHost();return function(){u.forEach(function(O){return O()})}}function b4(w,H){var J=!1,Y={bottom:0,left:0,right:0,top:0},R=H[w];if(R!=null){for(var u=0,n=Object.keys(Y);u<n.length;u++){var O=n[u];Y[O]=R}J=!0}var h=H[w+"Horizontal"];if(h!=null)Y.left=h,Y.right=h,J=!0;else{var A0=H[w+"Left"];if(A0!=null)Y.left=A0,J=!0;var m=H[w+"Right"];if(m!=null)Y.right=m,J=!0;var x0=H[w+"End"];if(x0!=null)Y.right=x0,J=!0;var w0=H[w+"Start"];if(w0!=null)Y.left=w0,J=!0}var v0=H[w+"Vertical"];if(v0!=null)Y.bottom=v0,Y.top=v0,J=!0;else{var L0=H[w+"Bottom"];if(L0!=null)Y.bottom=L0,J=!0;var $0=H[w+"Top"];if($0!=null)Y.top=$0,J=!0}return J?Y:null}function X5(w){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")X5=function(J){return typeof J};else X5=function(J){return J&&typeof Symbol==="function"&&J.constructor===Symbol&&J!==Symbol.prototype?"symbol":typeof J};return X5(w)}function kQ(w,H,J){if(H in w)Object.defineProperty(w,H,{value:J,enumerable:!0,configurable:!0,writable:!0});else w[H]=J;return w}function GD(w,H,J,Y){w.addListener("NativeStyleEditor_measure",function(R){var{id:u,rendererID:n}=R;n6(H,w,J,u,n)}),w.addListener("NativeStyleEditor_renameAttribute",function(R){var{id:u,rendererID:n,oldName:O,newName:h,value:A0}=R;C9(H,u,n,O,h,A0),setTimeout(function(){return n6(H,w,J,u,n)})}),w.addListener("NativeStyleEditor_setValue",function(R){var{id:u,rendererID:n,name:O,value:h}=R;gw(H,u,n,O,h),setTimeout(function(){return n6(H,w,J,u,n)})}),w.send("isNativeStyleEditorSupported",{isSupported:!0,validAttributes:Y})}var z9={top:0,left:0,right:0,bottom:0},k8=new Map;function n6(w,H,J,Y,R){var u=w.getInstanceAndStyle({id:Y,rendererID:R});if(!u||!u.style){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:null});return}var{instance:n,style:O}=u,h=J(O),A0=k8.get(Y);if(A0!=null)h=Object.assign({},h,A0);if(!n||typeof n.measure!=="function"){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:h||null});return}n.measure(function(m,x0,w0,v0,L0,$0){if(typeof m!=="number"){H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:null,style:h||null});return}var _0=h!=null&&b4("margin",h)||z9,NA=h!=null&&b4("padding",h)||z9;H.send("NativeStyleEditor_styleAndLayout",{id:Y,layout:{x:m,y:x0,width:w0,height:v0,left:L0,top:$0,margin:_0,padding:NA},style:h||null})})}function YB(w){var H={};for(var J in w)H[J]=w[J];return H}function C9(w,H,J,Y,R,u){var n,O=w.getInstanceAndStyle({id:H,rendererID:J});if(!O||!O.style)return;var{instance:h,style:A0}=O,m=R?(n={},kQ(n,Y,void 0),kQ(n,R,u),n):kQ({},Y,void 0),x0;if(h!==null&&typeof h.setNativeProps==="function"){var w0=k8.get(H);if(!w0)k8.set(H,m);else Object.assign(w0,m);h.setNativeProps({style:m})}else if(Dx(A0)){var v0=A0.length-1;if(X5(A0[v0])==="object"&&!Dx(A0[v0])){if(x0=YB(A0[v0]),delete x0[Y],R)x0[R]=u;else x0[Y]=void 0;w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style",v0],value:x0})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:A0.concat([m])})}else if(X5(A0)==="object"){if(x0=YB(A0),delete x0[Y],R)x0[R]=u;else x0[Y]=void 0;w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:x0})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:[A0,m]});w.emit("hideNativeHighlight")}function gw(w,H,J,Y,R){var u=w.getInstanceAndStyle({id:H,rendererID:J});if(!u||!u.style)return;var{instance:n,style:O}=u,h=kQ({},Y,R);if(n!==null&&typeof n.setNativeProps==="function"){var A0=k8.get(H);if(!A0)k8.set(H,h);else Object.assign(A0,h);n.setNativeProps({style:h})}else if(Dx(O)){var m=O.length-1;if(X5(O[m])==="object"&&!Dx(O[m]))w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style",m,Y],value:R});else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:O.concat([h])})}else w.overrideValueAtPath({type:"props",id:H,rendererID:J,path:["style"],value:[O,h]});w.emit("hideNativeHighlight")}var JD=Iy();function JC(w){if(X){var H;for(var J=arguments.length,Y=Array(J>1?J-1:0),R=1;R<J;R++)Y[R-1]=arguments[R];(H=console).log.apply(H,["%c[core/backend] %c".concat(w),"color: teal; font-weight: bold;","font-weight: bold;"].concat(Y))}}function LA(w){var H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,J=arguments.length>2?arguments[2]:void 0;Dw(window,w,H,J)}function HD(w){var H=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(H==null)return;var J=w||{},Y=J.host,R=Y===void 0?"localhost":Y,u=J.nativeStyleEditorValidAttributes,n=J.useHttps,O=n===void 0?!1:n,h=J.port,A0=h===void 0?8097:h,m=J.websocket,x0=J.resolveRNStyle,w0=x0===void 0?null:x0,v0=J.retryConnectionDelay,L0=v0===void 0?2000:v0,$0=J.isAppActive,_0=$0===void 0?function(){return!0}:$0,NA=J.onSettingsUpdated,nA=J.isReloadAndProfileSupported,uE=nA===void 0?pS():nA,fA=J.isProfiling,Rx=J.onReloadAndProfile,ex=J.onReloadAndProfileFlagsReset,vx=O?"wss":"ws",ME=null;function kx(){if(ME===null)ME=setTimeout(function(){return HD(w)},L0)}if(!_0()){kx();return}var bE=null,$E=[],OB=vx+"://"+R+":"+A0,X8=m?m:new window.WebSocket(OB);X8.onclose=N9,X8.onerror=t8,X8.onmessage=S8,X8.onopen=function(){if(bE=new wG({listen:function(pA){return $E.push(pA),function(){var mE=$E.indexOf(pA);if(mE>=0)$E.splice(mE,1)}},send:function(pA,mE,lB){if(X8.readyState===X8.OPEN){if(X)JC("wall.send()",pA,mE);X8.send(JSON.stringify({event:pA,payload:mE}))}else{if(X)JC("wall.send()","Shutting down bridge because of closed WebSocket connection");if(bE!==null)bE.shutdown();kx()}}}),bE.addListener("updateComponentFilters",function(jA){JD=jA}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)bE.send("overrideComponentFilters",JD);var rE=new zB(bE,fA,Rx);if(typeof ex==="function")ex();if(NA!=null)rE.addListener("updateHookSettings",NA);if(rE.addListener("shutdown",function(){if(NA!=null)rE.removeListener("updateHookSettings",NA);H.emit("shutdown")}),oG(H,rE,window,uE),w0!=null||H.resolveRNStyle!=null)GD(bE,rE,w0||H.resolveRNStyle,u||H.nativeStyleEditorValidAttributes||null);else{var F8,tA,qA=function(){if(bE!==null)GD(bE,rE,F8,tA)};if(!H.hasOwnProperty("resolveRNStyle"))Object.defineProperty(H,"resolveRNStyle",{enumerable:!1,get:function(){return F8},set:function(pA){F8=pA,qA()}});if(!H.hasOwnProperty("nativeStyleEditorValidAttributes"))Object.defineProperty(H,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return tA},set:function(pA){tA=pA,qA()}})}};function N9(){if(X)JC("WebSocket.onclose");if(bE!==null)bE.emit("shutdown");kx()}function t8(){if(X)JC("WebSocket.onerror");kx()}function S8(rE){var F8;try{if(typeof rE.data==="string"){if(F8=JSON.parse(rE.data),X)JC("WebSocket.onmessage",F8)}else throw Error()}catch(tA){console.error("[React DevTools] Failed to parse JSON: "+rE.data);return}$E.forEach(function(tA){try{tA(F8)}catch(qA){throw console.log("[React DevTools] Error calling listener",F8),console.log("error:",qA),qA}})}}function Cw(w){var{onSubscribe:H,onUnsubscribe:J,onMessage:Y,nativeStyleEditorValidAttributes:R,resolveRNStyle:u,onSettingsUpdated:n,isReloadAndProfileSupported:O}=w,h=O===void 0?pS():O,A0=w.isProfiling,m=w.onReloadAndProfile,x0=w.onReloadAndProfileFlagsReset,w0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(w0==null)return;var v0={listen:function(fA){return H(fA),function(){J(fA)}},send:function(fA,Rx){Y(fA,Rx)}},L0=new wG(v0);if(L0.addListener("updateComponentFilters",function(uE){JD=uE}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null)L0.send("overrideComponentFilters",JD);var $0=new zB(L0,A0,m);if(typeof x0==="function")x0();if(n!=null)$0.addListener("updateHookSettings",n);$0.addListener("shutdown",function(){if(n!=null)$0.removeListener("updateHookSettings",n);w0.emit("shutdown")});var _0=oG(w0,$0,window,h),NA=u||w0.resolveRNStyle;if(NA!=null){var nA=R||w0.nativeStyleEditorValidAttributes||null;GD(L0,$0,NA,nA)}return _0}})(),D})()})});var Ub0={};var Q80;var I80=EM(()=>{C80();Q80=Zx(F80(),1);Q80.default.connectToDevTools()});var G80=c((SKA,Zb0)=>{Zb0.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var H80=c((GKA,fT)=>{var J80=G80();fT.exports=J80;fT.exports.default=J80});var m80=c((WYA,LT)=>{var h80=(A,x)=>{for(let E of Reflect.ownKeys(x))Object.defineProperty(A,E,Object.getOwnPropertyDescriptor(x,E));return A};LT.exports=h80;LT.exports.default=h80});var l80=c((RYA,iq)=>{var gi0=m80(),bq=new WeakMap,c80=(A,x={})=>{if(typeof A!=="function")throw TypeError("Expected a function");let E,D=0,B=A.displayName||A.name||"<anonymous>",g=function(...C){if(bq.set(g,++D),D===1)E=A.apply(this,C),A=null;else if(x.throw===!0)throw Error(`Function \`${B}\` can only be called once`);return E};return gi0(g,A),bq.set(g,D),g};iq.exports=c80;iq.exports.default=c80;iq.exports.callCount=(A)=>{if(!bq.has(A))throw Error(`The given function \`${A.name}\` is not wrapped by the \`onetime\` package`);return bq.get(A)}});var CB0=c((pYA,gB0)=>{var Gi0=/[|\\{}()[\]^$+*?.-]/g;gB0.exports=(A)=>{if(typeof A!=="string")throw TypeError("Expected a string");return A.replace(Gi0,"\\$&")}});var yB0=c((rYA,IB0)=>{var Ji0=CB0(),Hi0=typeof process==="object"&&process&&typeof process.cwd==="function"?process.cwd():".",QB0=[].concat(zx("module").builtinModules,"bootstrap_node","node").map((A)=>new RegExp(`(?:\\((?:node:)?${A}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${A}(?:\\.js)?:\\d+:\\d+$)`));QB0.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);class PT{constructor(A){if(A={ignoredPackages:[],...A},"internals"in A===!1)A.internals=PT.nodeInternals();if("cwd"in A===!1)A.cwd=Hi0;this._cwd=A.cwd.replace(/\\/g,"/"),this._internals=[].concat(A.internals,Ki0(A.ignoredPackages)),this._wrapCallSite=A.wrapCallSite||!1}static nodeInternals(){return[...QB0]}clean(A,x=0){if(x=" ".repeat(x),!Array.isArray(A))A=A.split(`
|
|
316
316
|
`);if(!/^\s*at /.test(A[0])&&/^\s*at /.test(A[1]))A=A.slice(1);let E=!1,D=null,B=[];return A.forEach((g)=>{if(g=g.replace(/\\/g,"/"),this._internals.some((I)=>I.test(g)))return;let C=/^\s*at /.test(g);if(E)g=g.trimEnd().replace(/^(\s+)at /,"$1");else if(g=g.trim(),C)g=g.slice(3);if(g=g.replace(`${this._cwd}/`,""),g)if(C){if(D)B.push(D),D=null;B.push(g)}else E=!0,D=g}),B.map((g)=>`${x}${g}
|
|
317
|
-
`).join("")}captureString(A,x=this.captureString){if(typeof A==="function")x=A,A=1/0;let{stackTraceLimit:E}=Error;if(A)Error.stackTraceLimit=A;let D={};Error.captureStackTrace(D,x);let{stack:B}=D;return Error.stackTraceLimit=E,this.clean(B)}capture(A,x=this.capture){if(typeof A==="function")x=A,A=1/0;let{prepareStackTrace:E,stackTraceLimit:D}=Error;if(Error.prepareStackTrace=(C,I)=>{if(this._wrapCallSite)return I.map(this._wrapCallSite);return I},A)Error.stackTraceLimit=A;let B={};Error.captureStackTrace(B,x);let{stack:g}=B;return Object.assign(Error,{prepareStackTrace:E,stackTraceLimit:D}),g}at(A=this.at){let[x]=this.capture(1,A);if(!x)return{};let E={line:x.getLineNumber(),column:x.getColumnNumber()};if(FB0(E,x.getFileName(),this._cwd),x.isConstructor())Object.defineProperty(E,"constructor",{value:!0,configurable:!0});if(x.isEval())E.evalOrigin=x.getEvalOrigin();if(x.isNative())E.native=!0;let D;try{D=x.getTypeName()}catch(C){}if(D&&D!=="Object"&&D!=="[object Object]")E.type=D;let B=x.getFunctionName();if(B)E.function=B;let g=x.getMethodName();if(g&&B!==g)E.method=g;return E}parseLine(A){let x=A&&A.match(Yi0);if(!x)return null;let E=x[1]==="new",D=x[2],B=x[3],g=x[4],C=Number(x[5]),I=Number(x[6]),$=x[7],S=x[8],K=x[9],M=x[10]==="native",X=x[11]===")",Z,j={};if(S)j.line=Number(S);if(K)j.column=Number(K);if(X&&$){let V=0;for(let l=$.length-1;l>0;l--)if($.charAt(l)===")")V++;else if($.charAt(l)==="("&&$.charAt(l-1)===" "){if(V--,V===-1&&$.charAt(l-1)===" "){let E0=$.slice(0,l-1);$=$.slice(l+1),D+=` (${E0}`;break}}}if(D){let V=D.match(Ui0);if(V)D=V[1],Z=V[2]}if(FB0(j,$,this._cwd),E)Object.defineProperty(j,"constructor",{value:!0,configurable:!0});if(B)j.evalOrigin=B,j.evalLine=C,j.evalColumn=I,j.evalFile=g&&g.replace(/\\/g,"/");if(M)j.native=!0;if(D)j.function=D;if(Z&&D!==Z)j.method=Z;return j}}function FB0(A,x,E){if(x){if(x=x.replace(/\\/g,"/"),x.startsWith(`${E}/`))x=x.slice(E.length+1);A.file=x}}function Ki0(A){if(A.length===0)return[];let x=A.map((E)=>Ji0(E));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${x.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var Yi0=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),Ui0=/^(.*?) \[as (.*?)\]$/;IB0.exports=PT});var qB0=c((NqA,pi0)=>{pi0.exports={dots:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},dots2:{interval:80,frames:["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},dots3:{interval:80,frames:["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},dots4:{interval:80,frames:["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},dots5:{interval:80,frames:["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},dots6:{interval:80,frames:["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},dots7:{interval:80,frames:["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},dots8:{interval:80,frames:["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},dots9:{interval:80,frames:["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},dots10:{interval:80,frames:["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},dots11:{interval:100,frames:["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},dots12:{interval:80,frames:["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},dots13:{interval:80,frames:["⣼","⣹","⢻","⠿","⡟","⣏","⣧","⣶"]},dots8Bit:{interval:80,frames:["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},sand:{interval:80,frames:["⠁","⠂","⠄","⡀","⡈","⡐","⡠","⣀","⣁","⣂","⣄","⣌","⣔","⣤","⣥","⣦","⣮","⣶","⣷","⣿","⡿","⠿","⢟","⠟","⡛","⠛","⠫","⢋","⠋","⠍","⡉","⠉","⠑","⠡","⢁"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["⠂","-","–","—","–","-"]},pipe:{interval:100,frames:["┤","┘","┴","└","├","┌","┬","┐"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["✶","✸","✹","✺","✹","✷"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","´","-","_","_","_"]},hamburger:{interval:100,frames:["☱","☲","☴"]},growVertical:{interval:120,frames:["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},growHorizontal:{interval:120,frames:["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","°","O","o","."]},noise:{interval:100,frames:["▓","▒","░"]},bounce:{interval:120,frames:["⠁","⠂","⠄","⠂"]},boxBounce:{interval:120,frames:["▖","▘","▝","▗"]},boxBounce2:{interval:100,frames:["▌","▀","▐","▄"]},triangle:{interval:50,frames:["◢","◣","◤","◥"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["◜","◠","◝","◞","◡","◟"]},circle:{interval:120,frames:["◡","⊙","◠"]},squareCorners:{interval:180,frames:["◰","◳","◲","◱"]},circleQuarters:{interval:120,frames:["◴","◷","◶","◵"]},circleHalves:{interval:50,frames:["◐","◓","◑","◒"]},squish:{interval:100,frames:["╫","╪"]},toggle:{interval:250,frames:["⊶","⊷"]},toggle2:{interval:80,frames:["▫","▪"]},toggle3:{interval:120,frames:["□","■"]},toggle4:{interval:100,frames:["■","□","▪","▫"]},toggle5:{interval:100,frames:["▮","▯"]},toggle6:{interval:300,frames:["ဝ","၀"]},toggle7:{interval:80,frames:["⦾","⦿"]},toggle8:{interval:100,frames:["◍","◌"]},toggle9:{interval:100,frames:["◉","◎"]},toggle10:{interval:100,frames:["㊂","㊀","㊁"]},toggle11:{interval:50,frames:["⧇","⧆"]},toggle12:{interval:120,frames:["☗","☖"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["←","↖","↑","↗","→","↘","↓","↙"]},arrow2:{interval:80,frames:["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},arrow3:{interval:120,frames:["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},smiley:{interval:200,frames:["😄 ","😝 "]},monkey:{interval:300,frames:["🙈 ","🙈 ","🙉 ","🙊 "]},hearts:{interval:100,frames:["💛 ","💙 ","💜 ","💚 ","❤️ "]},clock:{interval:100,frames:["🕛 ","🕐 ","🕑 ","🕒 ","🕓 ","🕔 ","🕕 ","🕖 ","🕗 ","🕘 ","🕙 ","🕚 "]},earth:{interval:180,frames:["🌍 ","🌎 ","🌏 "]},material:{interval:17,frames:["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},moon:{interval:80,frames:["🌑 ","🌒 ","🌓 ","🌔 ","🌕 ","🌖 ","🌗 ","🌘 "]},runner:{interval:140,frames:["🚶 ","🏃 "]},pong:{interval:80,frames:["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},shark:{interval:120,frames:["▐|\\____________▌","▐_|\\___________▌","▐__|\\__________▌","▐___|\\_________▌","▐____|\\________▌","▐_____|\\_______▌","▐______|\\______▌","▐_______|\\_____▌","▐________|\\____▌","▐_________|\\___▌","▐__________|\\__▌","▐___________|\\_▌","▐____________|\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["☀️ ","☀️ ","☀️ ","🌤 ","⛅️ ","🌥 ","☁️ ","🌧 ","🌨 ","🌧 ","🌨 ","🌧 ","🌨 ","⛈ ","🌨 ","🌧 ","🌨 ","☁️ ","🌥 ","⛅️ ","🌤 ","☀️ ","☀️ "]},christmas:{interval:400,frames:["🌲","🎄"]},grenade:{interval:80,frames:["، ","′ "," ´ "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},point:{interval:125,frames:["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},layer:{interval:150,frames:["-","=","≡"]},betaWave:{interval:80,frames:["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},fingerDance:{interval:160,frames:["🤘 ","🤟 ","🖖 ","✋ ","🤚 ","👆 "]},fistBump:{interval:80,frames:["🤜 🤛 ","🤜 🤛 ","🤜 🤛 "," 🤜 🤛 "," 🤜🤛 "," 🤜✨🤛 ","🤜 ✨ 🤛 "]},soccerHeader:{interval:80,frames:[" 🧑⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 "]},mindblown:{interval:160,frames:["😐 ","😐 ","😮 ","😮 ","😦 ","😦 ","😧 ","😧 ","🤯 ","💥 ","✨ "," "," "," "]},speaker:{interval:160,frames:["🔈 ","🔉 ","🔊 ","🔉 "]},orangePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 "]},bluePulse:{interval:100,frames:["🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},orangeBluePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 ","🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},timeTravel:{interval:100,frames:["🕛 ","🕚 ","🕙 ","🕘 ","🕗 ","🕖 ","🕕 ","🕔 ","🕓 ","🕒 ","🕑 ","🕐 "]},aesthetic:{interval:80,frames:["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]},dwarfFortress:{interval:80,frames:[" ██████£££ ","☺██████£££ ","☺██████£££ ","☺▓█████£££ ","☺▓█████£££ ","☺▒█████£££ ","☺▒█████£££ ","☺░█████£££ ","☺░█████£££ ","☺ █████£££ "," ☺█████£££ "," ☺█████£££ "," ☺▓████£££ "," ☺▓████£££ "," ☺▒████£££ "," ☺▒████£££ "," ☺░████£££ "," ☺░████£££ "," ☺ ████£££ "," ☺████£££ "," ☺████£££ "," ☺▓███£££ "," ☺▓███£££ "," ☺▒███£££ "," ☺▒███£££ "," ☺░███£££ "," ☺░███£££ "," ☺ ███£££ "," ☺███£££ "," ☺███£££ "," ☺▓██£££ "," ☺▓██£££ "," ☺▒██£££ "," ☺▒██£££ "," ☺░██£££ "," ☺░██£££ "," ☺ ██£££ "," ☺██£££ "," ☺██£££ "," ☺▓█£££ "," ☺▓█£££ "," ☺▒█£££ "," ☺▒█£££ "," ☺░█£££ "," ☺░█£££ "," ☺ █£££ "," ☺█£££ "," ☺█£££ "," ☺▓£££ "," ☺▓£££ "," ☺▒£££ "," ☺▒£££ "," ☺░£££ "," ☺░£££ "," ☺ £££ "," ☺£££ "," ☺£££ "," ☺▓££ "," ☺▓££ "," ☺▒££ "," ☺▒££ "," ☺░££ "," ☺░££ "," ☺ ££ "," ☺££ "," ☺££ "," ☺▓£ "," ☺▓£ "," ☺▒£ "," ☺▒£ "," ☺░£ "," ☺░£ "," ☺ £ "," ☺£ "," ☺£ "," ☺▓ "," ☺▓ "," ☺▒ "," ☺▒ "," ☺░ "," ☺░ "," ☺ "," ☺ &"," ☺ ☼&"," ☺ ☼ &"," ☺☼ &"," ☺☼ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & ","‼ & "," & "," & "," & ░ "," & ▒ "," & ▓ "," & £ "," & ░£ "," & ▒£ "," & ▓£ "," & ££ "," & ░££ "," & ▒££ ","& ▓££ ","& £££ "," ░£££ "," ▒£££ "," ▓£££ "," █£££ "," ░█£££ "," ▒█£££ "," ▓█£££ "," ██£££ "," ░██£££ "," ▒██£££ "," ▓██£££ "," ███£££ "," ░███£££ "," ▒███£££ "," ▓███£££ "," ████£££ "," ░████£££ "," ▒████£££ "," ▓████£££ "," █████£££ "," ░█████£££ "," ▒█████£££ "," ▓█████£££ "," ██████£££ "," ██████£££ "]}}});var MB0=c((OqA,ZB0)=>{var _q=Object.assign({},qB0()),XB0=Object.keys(_q);Object.defineProperty(_q,"random",{get(){let A=Math.floor(Math.random()*XB0.length),x=XB0[A];return _q[x]}});ZB0.exports=_q});var VS=c((ai0)=>{var uT=Zx(z8());(function(){var A=Symbol.for("react.element"),x=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),C=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),$=Symbol.for("react.suspense"),S=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),X=Symbol.for("react.offscreen"),Z=Symbol.iterator,j="@@iterator";function V(a){if(a===null||typeof a!=="object")return null;var a0=Z&&a[Z]||a[j];if(typeof a0==="function")return a0;return null}var l=uT.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function E0(a){{for(var a0=arguments.length,XA=Array(a0>1?a0-1:0),fx=1;fx<a0;fx++)XA[fx-1]=arguments[fx];K0("error",a,XA)}}function K0(a,a0,XA){{var fx=l.ReactDebugCurrentFrame,Ix=fx.getStackAddendum();if(Ix!=="")a0+="%s",XA=XA.concat([Ix]);var qE=XA.map(function(Nx){return String(Nx)});qE.unshift("Warning: "+a0),Function.prototype.apply.call(console[a],console,qE)}}var B0=!1,Q0=!1,F0=!1,k0=!1,z0=!1,JA;JA=Symbol.for("react.module.reference");function U0(a){if(typeof a==="string"||typeof a==="function")return!0;if(a===E||a===B||z0||a===D||a===$||a===S||k0||a===X||B0||Q0||F0)return!0;if(typeof a==="object"&&a!==null){if(a.$$typeof===M||a.$$typeof===K||a.$$typeof===g||a.$$typeof===C||a.$$typeof===I||a.$$typeof===JA||a.getModuleId!==void 0)return!0}return!1}function zA(a,a0,XA){var fx=a.displayName;if(fx)return fx;var Ix=a0.displayName||a0.name||"";return Ix!==""?XA+"("+Ix+")":XA}function cx(a){return a.displayName||"Context"}function eA(a){if(a==null)return null;if(typeof a.tag==="number")E0("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");if(typeof a==="function")return a.displayName||a.name||null;if(typeof a==="string")return a;switch(a){case E:return"Fragment";case x:return"Portal";case B:return"Profiler";case D:return"StrictMode";case $:return"Suspense";case S:return"SuspenseList"}if(typeof a==="object")switch(a.$$typeof){case C:var a0=a;return cx(a0)+".Consumer";case g:var XA=a;return cx(XA._context)+".Provider";case I:return zA(a,a.render,"ForwardRef");case K:var fx=a.displayName||null;if(fx!==null)return fx;return eA(a.type)||"Memo";case M:{var Ix=a,qE=Ix._payload,Nx=Ix._init;try{return eA(Nx(qE))}catch(Tx){return null}}}return null}var EA=Object.assign,O0=0,g0,c0,q0,xA,r0,Mx,M0;function o(){}o.__reactDisabledLog=!0;function C0(){{if(O0===0){g0=console.log,c0=console.info,q0=console.warn,xA=console.error,r0=console.group,Mx=console.groupCollapsed,M0=console.groupEnd;var a={configurable:!0,enumerable:!0,value:o,writable:!0};Object.defineProperties(console,{info:a,log:a,warn:a,error:a,group:a,groupCollapsed:a,groupEnd:a})}O0++}}function HA(){{if(O0--,O0===0){var a={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:EA({},a,{value:g0}),info:EA({},a,{value:c0}),warn:EA({},a,{value:q0}),error:EA({},a,{value:xA}),group:EA({},a,{value:r0}),groupCollapsed:EA({},a,{value:Mx}),groupEnd:EA({},a,{value:M0})})}if(O0<0)E0("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var i0=l.ReactCurrentDispatcher,Ex;function Fx(a,a0,XA){{if(Ex===void 0)try{throw Error()}catch(Ix){var fx=Ix.stack.trim().match(/\n( *(at )?)/);Ex=fx&&fx[1]||""}return`
|
|
317
|
+
`).join("")}captureString(A,x=this.captureString){if(typeof A==="function")x=A,A=1/0;let{stackTraceLimit:E}=Error;if(A)Error.stackTraceLimit=A;let D={};Error.captureStackTrace(D,x);let{stack:B}=D;return Error.stackTraceLimit=E,this.clean(B)}capture(A,x=this.capture){if(typeof A==="function")x=A,A=1/0;let{prepareStackTrace:E,stackTraceLimit:D}=Error;if(Error.prepareStackTrace=(C,I)=>{if(this._wrapCallSite)return I.map(this._wrapCallSite);return I},A)Error.stackTraceLimit=A;let B={};Error.captureStackTrace(B,x);let{stack:g}=B;return Object.assign(Error,{prepareStackTrace:E,stackTraceLimit:D}),g}at(A=this.at){let[x]=this.capture(1,A);if(!x)return{};let E={line:x.getLineNumber(),column:x.getColumnNumber()};if(FB0(E,x.getFileName(),this._cwd),x.isConstructor())Object.defineProperty(E,"constructor",{value:!0,configurable:!0});if(x.isEval())E.evalOrigin=x.getEvalOrigin();if(x.isNative())E.native=!0;let D;try{D=x.getTypeName()}catch(C){}if(D&&D!=="Object"&&D!=="[object Object]")E.type=D;let B=x.getFunctionName();if(B)E.function=B;let g=x.getMethodName();if(g&&B!==g)E.method=g;return E}parseLine(A){let x=A&&A.match(Yi0);if(!x)return null;let E=x[1]==="new",D=x[2],B=x[3],g=x[4],C=Number(x[5]),I=Number(x[6]),$=x[7],S=x[8],K=x[9],M=x[10]==="native",X=x[11]===")",Z,j={};if(S)j.line=Number(S);if(K)j.column=Number(K);if(X&&$){let V=0;for(let l=$.length-1;l>0;l--)if($.charAt(l)===")")V++;else if($.charAt(l)==="("&&$.charAt(l-1)===" "){if(V--,V===-1&&$.charAt(l-1)===" "){let E0=$.slice(0,l-1);$=$.slice(l+1),D+=` (${E0}`;break}}}if(D){let V=D.match(Ui0);if(V)D=V[1],Z=V[2]}if(FB0(j,$,this._cwd),E)Object.defineProperty(j,"constructor",{value:!0,configurable:!0});if(B)j.evalOrigin=B,j.evalLine=C,j.evalColumn=I,j.evalFile=g&&g.replace(/\\/g,"/");if(M)j.native=!0;if(D)j.function=D;if(Z&&D!==Z)j.method=Z;return j}}function FB0(A,x,E){if(x){if(x=x.replace(/\\/g,"/"),x.startsWith(`${E}/`))x=x.slice(E.length+1);A.file=x}}function Ki0(A){if(A.length===0)return[];let x=A.map((E)=>Ji0(E));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${x.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var Yi0=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),Ui0=/^(.*?) \[as (.*?)\]$/;IB0.exports=PT});var qB0=c((OqA,pi0)=>{pi0.exports={dots:{interval:80,frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},dots2:{interval:80,frames:["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},dots3:{interval:80,frames:["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},dots4:{interval:80,frames:["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},dots5:{interval:80,frames:["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},dots6:{interval:80,frames:["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},dots7:{interval:80,frames:["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},dots8:{interval:80,frames:["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},dots9:{interval:80,frames:["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},dots10:{interval:80,frames:["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},dots11:{interval:100,frames:["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},dots12:{interval:80,frames:["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},dots13:{interval:80,frames:["⣼","⣹","⢻","⠿","⡟","⣏","⣧","⣶"]},dots8Bit:{interval:80,frames:["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},sand:{interval:80,frames:["⠁","⠂","⠄","⡀","⡈","⡐","⡠","⣀","⣁","⣂","⣄","⣌","⣔","⣤","⣥","⣦","⣮","⣶","⣷","⣿","⡿","⠿","⢟","⠟","⡛","⠛","⠫","⢋","⠋","⠍","⡉","⠉","⠑","⠡","⢁"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["⠂","-","–","—","–","-"]},pipe:{interval:100,frames:["┤","┘","┴","└","├","┌","┬","┐"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["✶","✸","✹","✺","✹","✷"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","´","-","_","_","_"]},hamburger:{interval:100,frames:["☱","☲","☴"]},growVertical:{interval:120,frames:["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},growHorizontal:{interval:120,frames:["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","°","O","o","."]},noise:{interval:100,frames:["▓","▒","░"]},bounce:{interval:120,frames:["⠁","⠂","⠄","⠂"]},boxBounce:{interval:120,frames:["▖","▘","▝","▗"]},boxBounce2:{interval:100,frames:["▌","▀","▐","▄"]},triangle:{interval:50,frames:["◢","◣","◤","◥"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["◜","◠","◝","◞","◡","◟"]},circle:{interval:120,frames:["◡","⊙","◠"]},squareCorners:{interval:180,frames:["◰","◳","◲","◱"]},circleQuarters:{interval:120,frames:["◴","◷","◶","◵"]},circleHalves:{interval:50,frames:["◐","◓","◑","◒"]},squish:{interval:100,frames:["╫","╪"]},toggle:{interval:250,frames:["⊶","⊷"]},toggle2:{interval:80,frames:["▫","▪"]},toggle3:{interval:120,frames:["□","■"]},toggle4:{interval:100,frames:["■","□","▪","▫"]},toggle5:{interval:100,frames:["▮","▯"]},toggle6:{interval:300,frames:["ဝ","၀"]},toggle7:{interval:80,frames:["⦾","⦿"]},toggle8:{interval:100,frames:["◍","◌"]},toggle9:{interval:100,frames:["◉","◎"]},toggle10:{interval:100,frames:["㊂","㊀","㊁"]},toggle11:{interval:50,frames:["⧇","⧆"]},toggle12:{interval:120,frames:["☗","☖"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["←","↖","↑","↗","→","↘","↓","↙"]},arrow2:{interval:80,frames:["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},arrow3:{interval:120,frames:["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},smiley:{interval:200,frames:["😄 ","😝 "]},monkey:{interval:300,frames:["🙈 ","🙈 ","🙉 ","🙊 "]},hearts:{interval:100,frames:["💛 ","💙 ","💜 ","💚 ","❤️ "]},clock:{interval:100,frames:["🕛 ","🕐 ","🕑 ","🕒 ","🕓 ","🕔 ","🕕 ","🕖 ","🕗 ","🕘 ","🕙 ","🕚 "]},earth:{interval:180,frames:["🌍 ","🌎 ","🌏 "]},material:{interval:17,frames:["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},moon:{interval:80,frames:["🌑 ","🌒 ","🌓 ","🌔 ","🌕 ","🌖 ","🌗 ","🌘 "]},runner:{interval:140,frames:["🚶 ","🏃 "]},pong:{interval:80,frames:["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},shark:{interval:120,frames:["▐|\\____________▌","▐_|\\___________▌","▐__|\\__________▌","▐___|\\_________▌","▐____|\\________▌","▐_____|\\_______▌","▐______|\\______▌","▐_______|\\_____▌","▐________|\\____▌","▐_________|\\___▌","▐__________|\\__▌","▐___________|\\_▌","▐____________|\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["☀️ ","☀️ ","☀️ ","🌤 ","⛅️ ","🌥 ","☁️ ","🌧 ","🌨 ","🌧 ","🌨 ","🌧 ","🌨 ","⛈ ","🌨 ","🌧 ","🌨 ","☁️ ","🌥 ","⛅️ ","🌤 ","☀️ ","☀️ "]},christmas:{interval:400,frames:["🌲","🎄"]},grenade:{interval:80,frames:["، ","′ "," ´ "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},point:{interval:125,frames:["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},layer:{interval:150,frames:["-","=","≡"]},betaWave:{interval:80,frames:["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},fingerDance:{interval:160,frames:["🤘 ","🤟 ","🖖 ","✋ ","🤚 ","👆 "]},fistBump:{interval:80,frames:["🤜 🤛 ","🤜 🤛 ","🤜 🤛 "," 🤜 🤛 "," 🤜🤛 "," 🤜✨🤛 ","🤜 ✨ 🤛 "]},soccerHeader:{interval:80,frames:[" 🧑⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 "]},mindblown:{interval:160,frames:["😐 ","😐 ","😮 ","😮 ","😦 ","😦 ","😧 ","😧 ","🤯 ","💥 ","✨ "," "," "," "]},speaker:{interval:160,frames:["🔈 ","🔉 ","🔊 ","🔉 "]},orangePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 "]},bluePulse:{interval:100,frames:["🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},orangeBluePulse:{interval:100,frames:["🔸 ","🔶 ","🟠 ","🟠 ","🔶 ","🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},timeTravel:{interval:100,frames:["🕛 ","🕚 ","🕙 ","🕘 ","🕗 ","🕖 ","🕕 ","🕔 ","🕓 ","🕒 ","🕑 ","🕐 "]},aesthetic:{interval:80,frames:["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]},dwarfFortress:{interval:80,frames:[" ██████£££ ","☺██████£££ ","☺██████£££ ","☺▓█████£££ ","☺▓█████£££ ","☺▒█████£££ ","☺▒█████£££ ","☺░█████£££ ","☺░█████£££ ","☺ █████£££ "," ☺█████£££ "," ☺█████£££ "," ☺▓████£££ "," ☺▓████£££ "," ☺▒████£££ "," ☺▒████£££ "," ☺░████£££ "," ☺░████£££ "," ☺ ████£££ "," ☺████£££ "," ☺████£££ "," ☺▓███£££ "," ☺▓███£££ "," ☺▒███£££ "," ☺▒███£££ "," ☺░███£££ "," ☺░███£££ "," ☺ ███£££ "," ☺███£££ "," ☺███£££ "," ☺▓██£££ "," ☺▓██£££ "," ☺▒██£££ "," ☺▒██£££ "," ☺░██£££ "," ☺░██£££ "," ☺ ██£££ "," ☺██£££ "," ☺██£££ "," ☺▓█£££ "," ☺▓█£££ "," ☺▒█£££ "," ☺▒█£££ "," ☺░█£££ "," ☺░█£££ "," ☺ █£££ "," ☺█£££ "," ☺█£££ "," ☺▓£££ "," ☺▓£££ "," ☺▒£££ "," ☺▒£££ "," ☺░£££ "," ☺░£££ "," ☺ £££ "," ☺£££ "," ☺£££ "," ☺▓££ "," ☺▓££ "," ☺▒££ "," ☺▒££ "," ☺░££ "," ☺░££ "," ☺ ££ "," ☺££ "," ☺££ "," ☺▓£ "," ☺▓£ "," ☺▒£ "," ☺▒£ "," ☺░£ "," ☺░£ "," ☺ £ "," ☺£ "," ☺£ "," ☺▓ "," ☺▓ "," ☺▒ "," ☺▒ "," ☺░ "," ☺░ "," ☺ "," ☺ &"," ☺ ☼&"," ☺ ☼ &"," ☺☼ &"," ☺☼ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & "," ‼ & "," ☺ & ","‼ & "," & "," & "," & ░ "," & ▒ "," & ▓ "," & £ "," & ░£ "," & ▒£ "," & ▓£ "," & ££ "," & ░££ "," & ▒££ ","& ▓££ ","& £££ "," ░£££ "," ▒£££ "," ▓£££ "," █£££ "," ░█£££ "," ▒█£££ "," ▓█£££ "," ██£££ "," ░██£££ "," ▒██£££ "," ▓██£££ "," ███£££ "," ░███£££ "," ▒███£££ "," ▓███£££ "," ████£££ "," ░████£££ "," ▒████£££ "," ▓████£££ "," █████£££ "," ░█████£££ "," ▒█████£££ "," ▓█████£££ "," ██████£££ "," ██████£££ "]}}});var MB0=c((PqA,ZB0)=>{var _q=Object.assign({},qB0()),XB0=Object.keys(_q);Object.defineProperty(_q,"random",{get(){let A=Math.floor(Math.random()*XB0.length),x=XB0[A];return _q[x]}});ZB0.exports=_q});var VS=c((ai0)=>{var uT=Zx(z8());(function(){var A=Symbol.for("react.element"),x=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),C=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),$=Symbol.for("react.suspense"),S=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),X=Symbol.for("react.offscreen"),Z=Symbol.iterator,j="@@iterator";function V(a){if(a===null||typeof a!=="object")return null;var a0=Z&&a[Z]||a[j];if(typeof a0==="function")return a0;return null}var l=uT.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function E0(a){{for(var a0=arguments.length,XA=Array(a0>1?a0-1:0),fx=1;fx<a0;fx++)XA[fx-1]=arguments[fx];K0("error",a,XA)}}function K0(a,a0,XA){{var fx=l.ReactDebugCurrentFrame,Ix=fx.getStackAddendum();if(Ix!=="")a0+="%s",XA=XA.concat([Ix]);var qE=XA.map(function(Nx){return String(Nx)});qE.unshift("Warning: "+a0),Function.prototype.apply.call(console[a],console,qE)}}var B0=!1,Q0=!1,F0=!1,k0=!1,z0=!1,JA;JA=Symbol.for("react.module.reference");function U0(a){if(typeof a==="string"||typeof a==="function")return!0;if(a===E||a===B||z0||a===D||a===$||a===S||k0||a===X||B0||Q0||F0)return!0;if(typeof a==="object"&&a!==null){if(a.$$typeof===M||a.$$typeof===K||a.$$typeof===g||a.$$typeof===C||a.$$typeof===I||a.$$typeof===JA||a.getModuleId!==void 0)return!0}return!1}function zA(a,a0,XA){var fx=a.displayName;if(fx)return fx;var Ix=a0.displayName||a0.name||"";return Ix!==""?XA+"("+Ix+")":XA}function cx(a){return a.displayName||"Context"}function eA(a){if(a==null)return null;if(typeof a.tag==="number")E0("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");if(typeof a==="function")return a.displayName||a.name||null;if(typeof a==="string")return a;switch(a){case E:return"Fragment";case x:return"Portal";case B:return"Profiler";case D:return"StrictMode";case $:return"Suspense";case S:return"SuspenseList"}if(typeof a==="object")switch(a.$$typeof){case C:var a0=a;return cx(a0)+".Consumer";case g:var XA=a;return cx(XA._context)+".Provider";case I:return zA(a,a.render,"ForwardRef");case K:var fx=a.displayName||null;if(fx!==null)return fx;return eA(a.type)||"Memo";case M:{var Ix=a,qE=Ix._payload,Nx=Ix._init;try{return eA(Nx(qE))}catch(Tx){return null}}}return null}var EA=Object.assign,O0=0,g0,c0,q0,xA,r0,Mx,M0;function o(){}o.__reactDisabledLog=!0;function C0(){{if(O0===0){g0=console.log,c0=console.info,q0=console.warn,xA=console.error,r0=console.group,Mx=console.groupCollapsed,M0=console.groupEnd;var a={configurable:!0,enumerable:!0,value:o,writable:!0};Object.defineProperties(console,{info:a,log:a,warn:a,error:a,group:a,groupCollapsed:a,groupEnd:a})}O0++}}function HA(){{if(O0--,O0===0){var a={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:EA({},a,{value:g0}),info:EA({},a,{value:c0}),warn:EA({},a,{value:q0}),error:EA({},a,{value:xA}),group:EA({},a,{value:r0}),groupCollapsed:EA({},a,{value:Mx}),groupEnd:EA({},a,{value:M0})})}if(O0<0)E0("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var i0=l.ReactCurrentDispatcher,Ex;function Fx(a,a0,XA){{if(Ex===void 0)try{throw Error()}catch(Ix){var fx=Ix.stack.trim().match(/\n( *(at )?)/);Ex=fx&&fx[1]||""}return`
|
|
318
318
|
`+Ex+a}}var DE=!1,KA;{var wx=typeof WeakMap==="function"?WeakMap:Map;KA=new wx}function Qx(a,a0){if(!a||DE)return"";{var XA=KA.get(a);if(XA!==void 0)return XA}var fx;DE=!0;var Ix=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var qE;qE=i0.current,i0.current=null,C0();try{if(a0){var Nx=function(){throw Error()};if(Object.defineProperty(Nx.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(Nx,[])}catch(_8){fx=_8}Reflect.construct(a,[],Nx)}else{try{Nx.call()}catch(_8){fx=_8}a.call(Nx.prototype)}}else{try{throw Error()}catch(_8){fx=_8}a()}}catch(_8){if(_8&&fx&&typeof _8.stack==="string"){var Tx=_8.stack.split(`
|
|
319
319
|
`),r8=fx.stack.split(`
|
|
320
320
|
`),dE=Tx.length-1,E8=r8.length-1;while(dE>=1&&E8>=0&&Tx[dE]!==r8[E8])E8--;for(;dE>=1&&E8>=0;dE--,E8--)if(Tx[dE]!==r8[E8]){if(dE!==1||E8!==1)do if(dE--,E8--,E8<0||Tx[dE]!==r8[E8]){var a8=`
|
|
@@ -329,7 +329,7 @@ Check the top-level render call using <`+XA+">."}return a0}}function eB(a,a0){{i
|
|
|
329
329
|
<%s {...props} />
|
|
330
330
|
React keys must be passed directly to JSX without using spread:
|
|
331
331
|
let props = %s;
|
|
332
|
-
<%s key={someKey} {...props} />`,W4,S6,R4,S6),H2[S6+W4]=!0}}if(a===E)iB(E8);else a9(E8);return E8}}var HB=u1;ai0.Fragment=E,ai0.jsxDEV=HB})()});var Ou=Zx(Nu(),1),{program:Zl0,createCommand:Ml0,createArgument:Wl0,createOption:Rl0,CommanderError:Ll0,InvalidArgumentError:jl0,InvalidOptionArgumentError:zl0,Command:Pu,Argument:Nl0,Option:Ol0,Help:Pl0}=Ou.default;var Vu={name:"@sequenzy/cli",version:"0.0.80",description:"Sequenzy CLI for email marketing from the terminal",type:"module",bin:{sequenzy:"./dist/index.js"},main:"./src/index.tsx",types:"./src/index.tsx",exports:{".":"./src/index.tsx"},scripts:{dev:"bun --watch src/index.tsx",build:"bun build src/index.tsx --outdir dist --target node --minify --define 'process.env.DEV=false'",start:"node dist/index.js","type-check":"tsc --noEmit",test:"bun test","test:watch":"bun test --watch",prepublishOnly:"bun run build"},dependencies:{commander:"^12.1.0",ink:"^5.0.1","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","ink-table":"^3.1.0",open:"^10.1.0",react:"^18.3.1",conf:"^13.0.0"},devDependencies:{"@emailer/shared":"workspace:*","@types/bun":"latest","@types/node":"^22.0.0","@types/react":"^18.3.0","bun-types":"latest",typescript:"^7.0.2"},files:["dist"],keywords:["sequenzy","email","cli","marketing"],license:"MIT",repository:{type:"git",url:"https://github.com/sequenzy/sequenzy"}};import{isDeepStrictEqual as D$0}from"node:util";import yp from"node:process";import pC from"node:fs";import wp from"node:path";import R$ from"node:crypto";import g$0 from"node:assert";var TC=(A)=>{let x=typeof A;return A!==null&&(x==="object"||x==="function")};var wM=new Set(["__proto__","prototype","constructor"]),B40=new Set("0123456789");function lJ(A){let x=[],E="",D="start",B=!1;for(let g of A)switch(g){case"\\":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd")throw Error("Invalid character after an index");if(B)E+=g;D="property",B=!B;break}case".":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd"){D="property";break}if(B){B=!1,E+=g;break}if(wM.has(E))return[];x.push(E),E="",D="property";break}case"[":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd"){D="index";break}if(B){B=!1,E+=g;break}if(D==="property"){if(wM.has(E))return[];x.push(E),E=""}D="index";break}case"]":{if(D==="index"){x.push(Number.parseInt(E,10)),E="",D="indexEnd";break}if(D==="indexEnd")throw Error("Invalid character after an index")}default:{if(D==="index"&&!B40.has(g))throw Error("Invalid character in an index");if(D==="indexEnd")throw Error("Invalid character after an index");if(D==="start")D="property";if(B)B=!1,E+="\\";E+=g}}if(B)E+="\\";switch(D){case"property":{if(wM.has(E))return[];x.push(E);break}case"index":throw Error("Index was not closed");case"start":{x.push("");break}}return x}function $M(A,x){if(typeof x!=="number"&&Array.isArray(A)){let E=Number.parseInt(x,10);return Number.isInteger(E)&&A[E]===A[x]}return!1}function vu(A,x){if($M(A,x))throw Error("Cannot use string index")}function Tu(A,x,E){if(!TC(A)||typeof x!=="string")return E===void 0?A:E;let D=lJ(x);if(D.length===0)return E;for(let B=0;B<D.length;B++){let g=D[B];if($M(A,g))A=B===D.length-1?void 0:null;else A=A[g];if(A===void 0||A===null){if(B!==D.length-1)return E;break}}return A===void 0?E:A}function fM(A,x,E){if(!TC(A)||typeof x!=="string")return A;let D=A,B=lJ(x);for(let g=0;g<B.length;g++){let C=B[g];if(vu(A,C),g===B.length-1)A[C]=E;else if(!TC(A[C]))A[C]=typeof B[g+1]==="number"?[]:{};A=A[C]}return D}function ku(A,x){if(!TC(A)||typeof x!=="string")return!1;let E=lJ(x);for(let D=0;D<E.length;D++){let B=E[D];if(vu(A,B),D===E.length-1)return delete A[B],!0;if(A=A[B],!TC(A))return!1}}function uu(A,x){if(!TC(A)||typeof x!=="string")return!1;let E=lJ(x);if(E.length===0)return!1;for(let D of E){if(!TC(A)||!(D in A)||$M(A,D))return!1;A=A[D]}return!0}import fB from"node:path";import bu from"node:os";import SM from"node:process";var vD=bu.homedir(),GM=bu.tmpdir(),{env:UI}=SM,D40=(A)=>{let x=fB.join(vD,"Library");return{data:fB.join(x,"Application Support",A),config:fB.join(x,"Preferences",A),cache:fB.join(x,"Caches",A),log:fB.join(x,"Logs",A),temp:fB.join(GM,A)}},g40=(A)=>{let x=UI.APPDATA||fB.join(vD,"AppData","Roaming"),E=UI.LOCALAPPDATA||fB.join(vD,"AppData","Local");return{data:fB.join(E,A,"Data"),config:fB.join(x,A,"Config"),cache:fB.join(E,A,"Cache"),log:fB.join(E,A,"Log"),temp:fB.join(GM,A)}},C40=(A)=>{let x=fB.basename(vD);return{data:fB.join(UI.XDG_DATA_HOME||fB.join(vD,".local","share"),A),config:fB.join(UI.XDG_CONFIG_HOME||fB.join(vD,".config"),A),cache:fB.join(UI.XDG_CACHE_HOME||fB.join(vD,".cache"),A),log:fB.join(UI.XDG_STATE_HOME||fB.join(vD,".local","state"),A),temp:fB.join(GM,x,A)}};function JM(A,{suffix:x="nodejs"}={}){if(typeof A!=="string")throw TypeError(`Expected a string, got ${typeof A}`);if(x)A+=`-${x}`;if(SM.platform==="darwin")return D40(A);if(SM.platform==="win32")return g40(A);return C40(A)}import S40 from"node:path";import aE from"node:fs";import{promisify as F6}from"node:util";var F40=(A,x)=>{let{onError:E}=x;return function(...B){return A.apply(void 0,B).catch(E)}},h7=F40;var Q40=(A,x)=>{let{onError:E}=x;return function(...B){try{return A.apply(void 0,B)}catch(g){return E(g)}}},p4=Q40;var iu=250;var I40=(A,x)=>{let{isRetriable:E}=x;return function(B){let{timeout:g}=B,C=B.interval??iu,I=Date.now()+g;return function $(...S){return A.apply(void 0,S).catch((K)=>{if(!E(K))throw K;if(Date.now()>=I)throw K;let M=Math.round(C*Math.random());if(M>0)return new Promise((Z)=>setTimeout(Z,M)).then(()=>$.apply(void 0,S));else return $.apply(void 0,S)})}}},m7=I40;var y40=(A,x)=>{let{isRetriable:E}=x;return function(B){let{timeout:g}=B,C=Date.now()+g;return function(...$){while(!0)try{return A.apply(void 0,$)}catch(S){if(!E(S))throw S;if(Date.now()>=C)throw S;continue}}}},c7=y40;import mu from"node:process";var pw={isChangeErrorOk:(A)=>{if(!pw.isNodeError(A))return!1;let{code:x}=A;if(x==="ENOSYS")return!0;if(!hu&&(x==="EINVAL"||x==="EPERM"))return!0;return!1},isNodeError:(A)=>{return A instanceof Error},isRetriableError:(A)=>{if(!pw.isNodeError(A))return!1;let{code:x}=A;if(x==="EMFILE"||x==="ENFILE"||x==="EAGAIN"||x==="EBUSY"||x==="EACCESS"||x==="EACCES"||x==="EACCS"||x==="EPERM")return!0;return!1},onChangeError:(A)=>{if(!pw.isNodeError(A))throw A;if(pw.isChangeErrorOk(A))return;throw A}},HM=pw;var rw={onError:HM.onChangeError},d6={onError:()=>{return}},hu=mu.getuid?!mu.getuid():!1,u9={isRetriable:HM.isRetriableError};var w40={attempt:{chmod:h7(F6(aE.chmod),rw),chown:h7(F6(aE.chown),rw),close:h7(F6(aE.close),d6),fsync:h7(F6(aE.fsync),d6),mkdir:h7(F6(aE.mkdir),d6),realpath:h7(F6(aE.realpath),d6),stat:h7(F6(aE.stat),d6),unlink:h7(F6(aE.unlink),d6),chmodSync:p4(aE.chmodSync,rw),chownSync:p4(aE.chownSync,rw),closeSync:p4(aE.closeSync,d6),existsSync:p4(aE.existsSync,d6),fsyncSync:p4(aE.fsync,d6),mkdirSync:p4(aE.mkdirSync,d6),realpathSync:p4(aE.realpathSync,d6),statSync:p4(aE.statSync,d6),unlinkSync:p4(aE.unlinkSync,d6)},retry:{close:m7(F6(aE.close),u9),fsync:m7(F6(aE.fsync),u9),open:m7(F6(aE.open),u9),readFile:m7(F6(aE.readFile),u9),rename:m7(F6(aE.rename),u9),stat:m7(F6(aE.stat),u9),write:m7(F6(aE.write),u9),writeFile:m7(F6(aE.writeFile),u9),closeSync:c7(aE.closeSync,u9),fsyncSync:c7(aE.fsyncSync,u9),openSync:c7(aE.openSync,u9),readFileSync:c7(aE.readFileSync,u9),renameSync:c7(aE.renameSync,u9),statSync:c7(aE.statSync,u9),writeSync:c7(aE.writeSync,u9),writeFileSync:c7(aE.writeFileSync,u9)}},X9=w40;import kC from"node:process";var cu="utf8",KM=438,lu=511;var nu={},pu=kC.geteuid?kC.geteuid():-1,ru=kC.getegid?kC.getegid():-1;var au=1000,_u=!!kC.getuid,In0=kC.getuid?!kC.getuid():!1,YM=128;var du=(A)=>{return A instanceof Error&&"code"in A};var UM=(A)=>{return typeof A==="string"},nJ=(A)=>{return A===void 0};import f40 from"node:path";import qI from"node:process";import ou from"node:process";var tu=ou.platform==="linux",pJ=ou.platform==="win32";var qM=["SIGHUP","SIGINT","SIGTERM"];if(!pJ)qM.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(tu)qM.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var su=qM;class eu{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(A)=>{if(this.exited)return;this.exited=!0;for(let x of this.callbacks)x();if(A)if(pJ&&(A!=="SIGINT"&&A!=="SIGTERM"&&A!=="SIGKILL"))qI.kill(qI.pid,"SIGTERM");else qI.kill(qI.pid,A)},this.hook=()=>{qI.once("exit",()=>this.exit());for(let A of su)try{qI.once(A,()=>this.exit(A))}catch{}},this.register=(A)=>{return this.callbacks.add(A),()=>{this.callbacks.delete(A)}},this.hook()}}var Ab=new eu;var $40=Ab.register,xb=$40;var j5={store:{},create:(A)=>{let x=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),E=Date.now().toString().slice(-10),D="tmp-",B=`.tmp-${E}${x}`;return`${A}${B}`},get:(A,x,E=!0)=>{let D=j5.truncate(x(A));if(D in j5.store)return j5.get(A,x,E);return j5.store[D]=E,[D,()=>delete j5.store[D]]},purge:(A)=>{if(!j5.store[A])return;delete j5.store[A],X9.attempt.unlink(A)},purgeSync:(A)=>{if(!j5.store[A])return;delete j5.store[A],X9.attempt.unlinkSync(A)},purgeSyncAll:()=>{for(let A in j5.store)j5.purgeSync(A)},truncate:(A)=>{let x=f40.basename(A);if(x.length<=YM)return A;let E=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(x);if(!E)return A;let D=x.length-YM;return`${A.slice(0,-x.length)}${E[1]}${E[2].slice(0,-D)}${E[3]}`}};xb(j5.purgeSyncAll);var aw=j5;function XM(A,x,E=nu){if(UM(E))return XM(A,x,{encoding:E});let B={timeout:E.timeout??au},g=null,C=null,I=null;try{let $=X9.attempt.realpathSync(A),S=!!$;A=$||A,[C,g]=aw.get(A,E.tmpCreate||aw.create,E.tmpPurge!==!1);let K=_u&&nJ(E.chown),M=nJ(E.mode);if(S&&(K||M)){let X=X9.attempt.statSync(A);if(X){if(E={...E},K)E.chown={uid:X.uid,gid:X.gid};if(M)E.mode=X.mode}}if(!S){let X=S40.dirname(A);X9.attempt.mkdirSync(X,{mode:lu,recursive:!0})}if(I=X9.retry.openSync(B)(C,"w",E.mode||KM),E.tmpCreated)E.tmpCreated(C);if(UM(x))X9.retry.writeSync(B)(I,x,0,E.encoding||cu);else if(!nJ(x))X9.retry.writeSync(B)(I,x,0,x.length,0);if(E.fsync!==!1)if(E.fsyncWait!==!1)X9.retry.fsyncSync(B)(I);else X9.attempt.fsync(I);if(X9.retry.closeSync(B)(I),I=null,E.chown&&(E.chown.uid!==pu||E.chown.gid!==ru))X9.attempt.chownSync(C,E.chown.uid,E.chown.gid);if(E.mode&&E.mode!==KM)X9.attempt.chmodSync(C,E.mode);try{X9.retry.renameSync(B)(C,A)}catch(X){if(!du(X))throw X;if(X.code!=="ENAMETOOLONG")throw X;X9.retry.renameSync(B)(C,aw.truncate(A))}g(),C=null}finally{if(I)X9.attempt.closeSync(I);if(C)aw.purge(C)}}var fp=Zx(ac(),1),Sp=Zx(Gl(),1);var tI0=(A,x,E,D)=>{if(E==="length"||E==="prototype")return;if(E==="arguments"||E==="caller")return;let B=Object.getOwnPropertyDescriptor(A,E),g=Object.getOwnPropertyDescriptor(x,E);if(!sI0(B,g)&&D)return;Object.defineProperty(A,E,g)},sI0=function(A,x){return A===void 0||A.configurable||A.writable===x.writable&&A.enumerable===x.enumerable&&A.configurable===x.configurable&&(A.writable||A.value===x.value)},eI0=(A,x)=>{let E=Object.getPrototypeOf(x);if(E===Object.getPrototypeOf(A))return;Object.setPrototypeOf(A,E)},A30=(A,x)=>`/* Wrapped ${A}*/
|
|
332
|
+
<%s key={someKey} {...props} />`,W4,S6,R4,S6),H2[S6+W4]=!0}}if(a===E)iB(E8);else a9(E8);return E8}}var HB=u1;ai0.Fragment=E,ai0.jsxDEV=HB})()});var Ou=Zx(Nu(),1),{program:Zl0,createCommand:Ml0,createArgument:Wl0,createOption:Rl0,CommanderError:Ll0,InvalidArgumentError:jl0,InvalidOptionArgumentError:zl0,Command:Pu,Argument:Nl0,Option:Ol0,Help:Pl0}=Ou.default;var Vu={name:"@sequenzy/cli",version:"0.0.81",description:"Sequenzy CLI for email marketing from the terminal",type:"module",bin:{sequenzy:"./dist/index.js"},main:"./src/index.tsx",types:"./src/index.tsx",exports:{".":"./src/index.tsx"},scripts:{dev:"bun --watch src/index.tsx",build:"bun build src/index.tsx --outdir dist --target node --minify --define 'process.env.DEV=false'",start:"node dist/index.js","type-check":"tsc --noEmit",test:"bun test","test:watch":"bun test --watch",prepublishOnly:"bun run build"},dependencies:{commander:"^12.1.0",ink:"^5.0.1","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","ink-table":"^3.1.0",open:"^10.1.0",react:"^18.3.1",conf:"^13.0.0"},devDependencies:{"@emailer/shared":"workspace:*","@types/bun":"latest","@types/node":"^22.0.0","@types/react":"^18.3.0","bun-types":"latest",typescript:"^7.0.2"},files:["dist"],keywords:["sequenzy","email","cli","marketing"],license:"MIT",repository:{type:"git",url:"https://github.com/sequenzy/sequenzy"}};import{isDeepStrictEqual as D$0}from"node:util";import yp from"node:process";import pC from"node:fs";import wp from"node:path";import R$ from"node:crypto";import g$0 from"node:assert";var TC=(A)=>{let x=typeof A;return A!==null&&(x==="object"||x==="function")};var wM=new Set(["__proto__","prototype","constructor"]),B40=new Set("0123456789");function lJ(A){let x=[],E="",D="start",B=!1;for(let g of A)switch(g){case"\\":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd")throw Error("Invalid character after an index");if(B)E+=g;D="property",B=!B;break}case".":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd"){D="property";break}if(B){B=!1,E+=g;break}if(wM.has(E))return[];x.push(E),E="",D="property";break}case"[":{if(D==="index")throw Error("Invalid character in an index");if(D==="indexEnd"){D="index";break}if(B){B=!1,E+=g;break}if(D==="property"){if(wM.has(E))return[];x.push(E),E=""}D="index";break}case"]":{if(D==="index"){x.push(Number.parseInt(E,10)),E="",D="indexEnd";break}if(D==="indexEnd")throw Error("Invalid character after an index")}default:{if(D==="index"&&!B40.has(g))throw Error("Invalid character in an index");if(D==="indexEnd")throw Error("Invalid character after an index");if(D==="start")D="property";if(B)B=!1,E+="\\";E+=g}}if(B)E+="\\";switch(D){case"property":{if(wM.has(E))return[];x.push(E);break}case"index":throw Error("Index was not closed");case"start":{x.push("");break}}return x}function $M(A,x){if(typeof x!=="number"&&Array.isArray(A)){let E=Number.parseInt(x,10);return Number.isInteger(E)&&A[E]===A[x]}return!1}function vu(A,x){if($M(A,x))throw Error("Cannot use string index")}function Tu(A,x,E){if(!TC(A)||typeof x!=="string")return E===void 0?A:E;let D=lJ(x);if(D.length===0)return E;for(let B=0;B<D.length;B++){let g=D[B];if($M(A,g))A=B===D.length-1?void 0:null;else A=A[g];if(A===void 0||A===null){if(B!==D.length-1)return E;break}}return A===void 0?E:A}function fM(A,x,E){if(!TC(A)||typeof x!=="string")return A;let D=A,B=lJ(x);for(let g=0;g<B.length;g++){let C=B[g];if(vu(A,C),g===B.length-1)A[C]=E;else if(!TC(A[C]))A[C]=typeof B[g+1]==="number"?[]:{};A=A[C]}return D}function ku(A,x){if(!TC(A)||typeof x!=="string")return!1;let E=lJ(x);for(let D=0;D<E.length;D++){let B=E[D];if(vu(A,B),D===E.length-1)return delete A[B],!0;if(A=A[B],!TC(A))return!1}}function uu(A,x){if(!TC(A)||typeof x!=="string")return!1;let E=lJ(x);if(E.length===0)return!1;for(let D of E){if(!TC(A)||!(D in A)||$M(A,D))return!1;A=A[D]}return!0}import fB from"node:path";import bu from"node:os";import SM from"node:process";var vD=bu.homedir(),GM=bu.tmpdir(),{env:UI}=SM,D40=(A)=>{let x=fB.join(vD,"Library");return{data:fB.join(x,"Application Support",A),config:fB.join(x,"Preferences",A),cache:fB.join(x,"Caches",A),log:fB.join(x,"Logs",A),temp:fB.join(GM,A)}},g40=(A)=>{let x=UI.APPDATA||fB.join(vD,"AppData","Roaming"),E=UI.LOCALAPPDATA||fB.join(vD,"AppData","Local");return{data:fB.join(E,A,"Data"),config:fB.join(x,A,"Config"),cache:fB.join(E,A,"Cache"),log:fB.join(E,A,"Log"),temp:fB.join(GM,A)}},C40=(A)=>{let x=fB.basename(vD);return{data:fB.join(UI.XDG_DATA_HOME||fB.join(vD,".local","share"),A),config:fB.join(UI.XDG_CONFIG_HOME||fB.join(vD,".config"),A),cache:fB.join(UI.XDG_CACHE_HOME||fB.join(vD,".cache"),A),log:fB.join(UI.XDG_STATE_HOME||fB.join(vD,".local","state"),A),temp:fB.join(GM,x,A)}};function JM(A,{suffix:x="nodejs"}={}){if(typeof A!=="string")throw TypeError(`Expected a string, got ${typeof A}`);if(x)A+=`-${x}`;if(SM.platform==="darwin")return D40(A);if(SM.platform==="win32")return g40(A);return C40(A)}import S40 from"node:path";import aE from"node:fs";import{promisify as F6}from"node:util";var F40=(A,x)=>{let{onError:E}=x;return function(...B){return A.apply(void 0,B).catch(E)}},h7=F40;var Q40=(A,x)=>{let{onError:E}=x;return function(...B){try{return A.apply(void 0,B)}catch(g){return E(g)}}},p4=Q40;var iu=250;var I40=(A,x)=>{let{isRetriable:E}=x;return function(B){let{timeout:g}=B,C=B.interval??iu,I=Date.now()+g;return function $(...S){return A.apply(void 0,S).catch((K)=>{if(!E(K))throw K;if(Date.now()>=I)throw K;let M=Math.round(C*Math.random());if(M>0)return new Promise((Z)=>setTimeout(Z,M)).then(()=>$.apply(void 0,S));else return $.apply(void 0,S)})}}},m7=I40;var y40=(A,x)=>{let{isRetriable:E}=x;return function(B){let{timeout:g}=B,C=Date.now()+g;return function(...$){while(!0)try{return A.apply(void 0,$)}catch(S){if(!E(S))throw S;if(Date.now()>=C)throw S;continue}}}},c7=y40;import mu from"node:process";var pw={isChangeErrorOk:(A)=>{if(!pw.isNodeError(A))return!1;let{code:x}=A;if(x==="ENOSYS")return!0;if(!hu&&(x==="EINVAL"||x==="EPERM"))return!0;return!1},isNodeError:(A)=>{return A instanceof Error},isRetriableError:(A)=>{if(!pw.isNodeError(A))return!1;let{code:x}=A;if(x==="EMFILE"||x==="ENFILE"||x==="EAGAIN"||x==="EBUSY"||x==="EACCESS"||x==="EACCES"||x==="EACCS"||x==="EPERM")return!0;return!1},onChangeError:(A)=>{if(!pw.isNodeError(A))throw A;if(pw.isChangeErrorOk(A))return;throw A}},HM=pw;var rw={onError:HM.onChangeError},d6={onError:()=>{return}},hu=mu.getuid?!mu.getuid():!1,u9={isRetriable:HM.isRetriableError};var w40={attempt:{chmod:h7(F6(aE.chmod),rw),chown:h7(F6(aE.chown),rw),close:h7(F6(aE.close),d6),fsync:h7(F6(aE.fsync),d6),mkdir:h7(F6(aE.mkdir),d6),realpath:h7(F6(aE.realpath),d6),stat:h7(F6(aE.stat),d6),unlink:h7(F6(aE.unlink),d6),chmodSync:p4(aE.chmodSync,rw),chownSync:p4(aE.chownSync,rw),closeSync:p4(aE.closeSync,d6),existsSync:p4(aE.existsSync,d6),fsyncSync:p4(aE.fsync,d6),mkdirSync:p4(aE.mkdirSync,d6),realpathSync:p4(aE.realpathSync,d6),statSync:p4(aE.statSync,d6),unlinkSync:p4(aE.unlinkSync,d6)},retry:{close:m7(F6(aE.close),u9),fsync:m7(F6(aE.fsync),u9),open:m7(F6(aE.open),u9),readFile:m7(F6(aE.readFile),u9),rename:m7(F6(aE.rename),u9),stat:m7(F6(aE.stat),u9),write:m7(F6(aE.write),u9),writeFile:m7(F6(aE.writeFile),u9),closeSync:c7(aE.closeSync,u9),fsyncSync:c7(aE.fsyncSync,u9),openSync:c7(aE.openSync,u9),readFileSync:c7(aE.readFileSync,u9),renameSync:c7(aE.renameSync,u9),statSync:c7(aE.statSync,u9),writeSync:c7(aE.writeSync,u9),writeFileSync:c7(aE.writeFileSync,u9)}},X9=w40;import kC from"node:process";var cu="utf8",KM=438,lu=511;var nu={},pu=kC.geteuid?kC.geteuid():-1,ru=kC.getegid?kC.getegid():-1;var au=1000,_u=!!kC.getuid,In0=kC.getuid?!kC.getuid():!1,YM=128;var du=(A)=>{return A instanceof Error&&"code"in A};var UM=(A)=>{return typeof A==="string"},nJ=(A)=>{return A===void 0};import f40 from"node:path";import qI from"node:process";import ou from"node:process";var tu=ou.platform==="linux",pJ=ou.platform==="win32";var qM=["SIGHUP","SIGINT","SIGTERM"];if(!pJ)qM.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(tu)qM.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var su=qM;class eu{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(A)=>{if(this.exited)return;this.exited=!0;for(let x of this.callbacks)x();if(A)if(pJ&&(A!=="SIGINT"&&A!=="SIGTERM"&&A!=="SIGKILL"))qI.kill(qI.pid,"SIGTERM");else qI.kill(qI.pid,A)},this.hook=()=>{qI.once("exit",()=>this.exit());for(let A of su)try{qI.once(A,()=>this.exit(A))}catch{}},this.register=(A)=>{return this.callbacks.add(A),()=>{this.callbacks.delete(A)}},this.hook()}}var Ab=new eu;var $40=Ab.register,xb=$40;var j5={store:{},create:(A)=>{let x=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),E=Date.now().toString().slice(-10),D="tmp-",B=`.tmp-${E}${x}`;return`${A}${B}`},get:(A,x,E=!0)=>{let D=j5.truncate(x(A));if(D in j5.store)return j5.get(A,x,E);return j5.store[D]=E,[D,()=>delete j5.store[D]]},purge:(A)=>{if(!j5.store[A])return;delete j5.store[A],X9.attempt.unlink(A)},purgeSync:(A)=>{if(!j5.store[A])return;delete j5.store[A],X9.attempt.unlinkSync(A)},purgeSyncAll:()=>{for(let A in j5.store)j5.purgeSync(A)},truncate:(A)=>{let x=f40.basename(A);if(x.length<=YM)return A;let E=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(x);if(!E)return A;let D=x.length-YM;return`${A.slice(0,-x.length)}${E[1]}${E[2].slice(0,-D)}${E[3]}`}};xb(j5.purgeSyncAll);var aw=j5;function XM(A,x,E=nu){if(UM(E))return XM(A,x,{encoding:E});let B={timeout:E.timeout??au},g=null,C=null,I=null;try{let $=X9.attempt.realpathSync(A),S=!!$;A=$||A,[C,g]=aw.get(A,E.tmpCreate||aw.create,E.tmpPurge!==!1);let K=_u&&nJ(E.chown),M=nJ(E.mode);if(S&&(K||M)){let X=X9.attempt.statSync(A);if(X){if(E={...E},K)E.chown={uid:X.uid,gid:X.gid};if(M)E.mode=X.mode}}if(!S){let X=S40.dirname(A);X9.attempt.mkdirSync(X,{mode:lu,recursive:!0})}if(I=X9.retry.openSync(B)(C,"w",E.mode||KM),E.tmpCreated)E.tmpCreated(C);if(UM(x))X9.retry.writeSync(B)(I,x,0,E.encoding||cu);else if(!nJ(x))X9.retry.writeSync(B)(I,x,0,x.length,0);if(E.fsync!==!1)if(E.fsyncWait!==!1)X9.retry.fsyncSync(B)(I);else X9.attempt.fsync(I);if(X9.retry.closeSync(B)(I),I=null,E.chown&&(E.chown.uid!==pu||E.chown.gid!==ru))X9.attempt.chownSync(C,E.chown.uid,E.chown.gid);if(E.mode&&E.mode!==KM)X9.attempt.chmodSync(C,E.mode);try{X9.retry.renameSync(B)(C,A)}catch(X){if(!du(X))throw X;if(X.code!=="ENAMETOOLONG")throw X;X9.retry.renameSync(B)(C,aw.truncate(A))}g(),C=null}finally{if(I)X9.attempt.closeSync(I);if(C)aw.purge(C)}}var fp=Zx(ac(),1),Sp=Zx(Gl(),1);var tI0=(A,x,E,D)=>{if(E==="length"||E==="prototype")return;if(E==="arguments"||E==="caller")return;let B=Object.getOwnPropertyDescriptor(A,E),g=Object.getOwnPropertyDescriptor(x,E);if(!sI0(B,g)&&D)return;Object.defineProperty(A,E,g)},sI0=function(A,x){return A===void 0||A.configurable||A.writable===x.writable&&A.enumerable===x.enumerable&&A.configurable===x.configurable&&(A.writable||A.value===x.value)},eI0=(A,x)=>{let E=Object.getPrototypeOf(x);if(E===Object.getPrototypeOf(A))return;Object.setPrototypeOf(A,E)},A30=(A,x)=>`/* Wrapped ${A}*/
|
|
333
333
|
${x}`,x30=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),E30=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),B30=(A,x,E)=>{let D=E===""?"":`with ${E.trim()}() `,B=A30.bind(null,D,x.toString());Object.defineProperty(B,"name",E30);let{writable:g,enumerable:C,configurable:I}=x30;Object.defineProperty(A,"toString",{value:B,writable:g,enumerable:C,configurable:I})};function uW(A,x,{ignoreNonConfigurable:E=!1}={}){let{name:D}=A;for(let B of Reflect.ownKeys(x))tI0(A,x,B,E);return eI0(A,x),B30(A,x,D),A}var D30=(A,x={})=>{if(typeof A!=="function")throw TypeError(`Expected the first argument to be a function, got \`${typeof A}\``);let{wait:E=0,maxWait:D=Number.POSITIVE_INFINITY,before:B=!1,after:g=!0}=x;if(E<0||D<0)throw RangeError("`wait` and `maxWait` must not be negative.");if(!B&&!g)throw Error("Both `before` and `after` are false, function wouldn't be called.");let C,I,$,S=function(...K){let M=this,X=()=>{if(C=void 0,I)clearTimeout(I),I=void 0;if(g)$=A.apply(M,K)},Z=()=>{if(I=void 0,C)clearTimeout(C),C=void 0;if(g)$=A.apply(M,K)},j=B&&!C;if(clearTimeout(C),C=setTimeout(X,E),D>0&&D!==Number.POSITIVE_INFINITY&&!I)I=setTimeout(Z,D);if(j)$=A.apply(M,K);return $};return uW(S,A),S.cancel=()=>{if(C)clearTimeout(C),C=void 0;if(I)clearTimeout(I),I=void 0},S},bW=D30;var rC=Zx(Cp(),1);var tw0=Object.prototype.toString;function Qp(A,x,E){if(!A)return!1;if(A.constructor===x)return!0;return tw0.call(A)===E}function Ip(A){return Qp(A,Uint8Array,"[object Uint8Array]")}function sw0(A){return Qp(A,ArrayBuffer,"[object ArrayBuffer]")}function ew0(A){return Ip(A)||sw0(A)}function A$0(A){if(!Ip(A))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof A}\``)}function x$0(A){if(!ew0(A))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof A}\``)}function AR(A,x){if(A.length===0)return new Uint8Array(0);x??=A.reduce((B,g)=>B+g.length,0);let E=new Uint8Array(x),D=0;for(let B of A)A$0(B),E.set(B,D),D+=B.length;return E}var Fp={utf8:new globalThis.TextDecoder("utf8")};function xR(A,x="utf8"){return x$0(A),Fp[x]??=new globalThis.TextDecoder(x),Fp[x].decode(A)}function E$0(A){if(typeof A!=="string")throw TypeError(`Expected \`string\`, got \`${typeof A}\``)}var B$0=new globalThis.TextEncoder;function lH(A){return E$0(A),B$0.encode(A)}var oa0=Array.from({length:256},(A,x)=>x.toString(16).padStart(2,"0"));var C$0=Sp.default.default,$p="aes-256-cbc",uI=()=>Object.create(null),F$0=(A)=>A!==void 0&&A!==null,Q$0=(A,x)=>{let E=new Set(["undefined","symbol","function"]),D=typeof x;if(E.has(D))throw TypeError(`Setting a value of type \`${D}\` for key \`${A}\` is not allowed as it's not supported by JSON`)},nH="__internal__",ER=`${nH}.migrations.version`;class pH{path;events;#B;#x;#A;#E={};constructor(A={}){let x={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...A};if(!x.cwd){if(!x.projectName)throw Error("Please specify the `projectName` option.");x.cwd=JM(x.projectName,{suffix:x.projectSuffix}).config}if(this.#A=x,x.schema??x.ajvOptions??x.rootSchema){if(x.schema&&typeof x.schema!=="object")throw TypeError("The `schema` option must be an object.");let g=new fp.Ajv2020({allErrors:!0,useDefaults:!0,...x.ajvOptions});C$0(g);let C={...x.rootSchema,type:"object",properties:x.schema};this.#B=g.compile(C);for(let[I,$]of Object.entries(x.schema??{}))if($?.default)this.#E[I]=$.default}if(x.defaults)this.#E={...this.#E,...x.defaults};if(x.serialize)this._serialize=x.serialize;if(x.deserialize)this._deserialize=x.deserialize;this.events=new EventTarget,this.#x=x.encryptionKey;let E=x.fileExtension?`.${x.fileExtension}`:"";this.path=wp.resolve(x.cwd,`${x.configName??"config"}${E}`);let D=this.store,B=Object.assign(uI(),x.defaults,D);if(x.migrations){if(!x.projectVersion)throw Error("Please specify the `projectVersion` option.");this._migrate(x.migrations,x.projectVersion,x.beforeEachMigration)}this._validate(B);try{g$0.deepEqual(D,B)}catch{this.store=B}if(x.watch)this._watch()}get(A,x){if(this.#A.accessPropertiesByDotNotation)return this._get(A,x);let{store:E}=this;return A in E?E[A]:x}set(A,x){if(typeof A!=="string"&&typeof A!=="object")throw TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof A}`);if(typeof A!=="object"&&x===void 0)throw TypeError("Use `delete()` to clear values");if(this._containsReservedKey(A))throw TypeError(`Please don't use the ${nH} key, as it's used to manage this module internal operations.`);let{store:E}=this,D=(B,g)=>{if(Q$0(B,g),this.#A.accessPropertiesByDotNotation)fM(E,B,g);else E[B]=g};if(typeof A==="object"){let B=A;for(let[g,C]of Object.entries(B))D(g,C)}else D(A,x);this.store=E}has(A){if(this.#A.accessPropertiesByDotNotation)return uu(this.store,A);return A in this.store}reset(...A){for(let x of A)if(F$0(this.#E[x]))this.set(x,this.#E[x])}delete(A){let{store:x}=this;if(this.#A.accessPropertiesByDotNotation)ku(x,A);else delete x[A];this.store=x}clear(){this.store=uI();for(let A of Object.keys(this.#E))this.reset(A)}onDidChange(A,x){if(typeof A!=="string")throw TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof A}`);if(typeof x!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof x}`);return this._handleChange(()=>this.get(A),x)}onDidAnyChange(A){if(typeof A!=="function")throw TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof A}`);return this._handleChange(()=>this.store,A)}get size(){return Object.keys(this.store).length}get store(){try{let A=pC.readFileSync(this.path,this.#x?null:"utf8"),x=this._encryptData(A),E=this._deserialize(x);return this._validate(E),Object.assign(uI(),E)}catch(A){if(A?.code==="ENOENT")return this._ensureDirectory(),uI();if(this.#A.clearInvalidConfig&&A.name==="SyntaxError")return uI();throw A}}set store(A){this._ensureDirectory(),this._validate(A),this._write(A),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(let[A,x]of Object.entries(this.store))yield[A,x]}_encryptData(A){if(!this.#x)return typeof A==="string"?A:xR(A);try{let x=A.slice(0,16),E=R$.pbkdf2Sync(this.#x,x.toString(),1e4,32,"sha512"),D=R$.createDecipheriv($p,E,x),B=A.slice(17),g=typeof B==="string"?lH(B):B;return xR(AR([D.update(g),D.final()]))}catch{}return A.toString()}_handleChange(A,x){let E=A(),D=()=>{let B=E,g=A();if(D$0(g,B))return;E=g,x.call(this,g,B)};return this.events.addEventListener("change",D),()=>{this.events.removeEventListener("change",D)}}_deserialize=(A)=>JSON.parse(A);_serialize=(A)=>JSON.stringify(A,void 0,"\t");_validate(A){if(!this.#B)return;if(this.#B(A)||!this.#B.errors)return;let E=this.#B.errors.map(({instancePath:D,message:B=""})=>`\`${D.slice(1)}\` ${B}`);throw Error("Config schema violation: "+E.join("; "))}_ensureDirectory(){pC.mkdirSync(wp.dirname(this.path),{recursive:!0})}_write(A){let x=this._serialize(A);if(this.#x){let E=R$.randomBytes(16),D=R$.pbkdf2Sync(this.#x,E.toString(),1e4,32,"sha512"),B=R$.createCipheriv($p,D,E);x=AR([E,lH(":"),B.update(lH(x)),B.final()])}if(yp.env.SNAP)pC.writeFileSync(this.path,x,{mode:this.#A.configFileMode});else try{XM(this.path,x,{mode:this.#A.configFileMode})}catch(E){if(E?.code==="EXDEV"){pC.writeFileSync(this.path,x,{mode:this.#A.configFileMode});return}throw E}}_watch(){if(this._ensureDirectory(),!pC.existsSync(this.path))this._write(uI());if(yp.platform==="win32")pC.watch(this.path,{persistent:!1},bW(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100}));else pC.watchFile(this.path,{persistent:!1},bW(()=>{this.events.dispatchEvent(new Event("change"))},{wait:5000}))}_migrate(A,x,E){let D=this._get(ER,"0.0.0"),B=Object.keys(A).filter((C)=>this._shouldPerformMigration(C,D,x)),g={...this.store};for(let C of B)try{if(E)E(this,{fromVersion:D,toVersion:C,finalVersion:x,versions:B});let I=A[C];I?.(this),this._set(ER,C),D=C,g={...this.store}}catch(I){throw this.store=g,Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${I}`)}if(this._isVersionInRangeFormat(D)||!rC.default.eq(D,x))this._set(ER,x)}_containsReservedKey(A){if(typeof A==="object"){if(Object.keys(A)[0]===nH)return!0}if(typeof A!=="string")return!1;if(this.#A.accessPropertiesByDotNotation){if(A.startsWith(`${nH}.`))return!0;return!1}return!1}_isVersionInRangeFormat(A){return rC.default.clean(A)===null}_shouldPerformMigration(A,x,E){if(this._isVersionInRangeFormat(A)){if(x!=="0.0.0"&&rC.default.satisfies(x,A))return!1;return rC.default.satisfies(E,A)}if(rC.default.lte(A,x))return!1;if(rC.default.gt(A,E))return!1;return!0}_get(A,x){return Tu(this.store,A,x)}_set(A,x){let{store:E}=this;fM(E,A,x),this.store=E}}var BR="com.sequenzy.cli",DR="api-key",gR=typeof globalThis.Bun<"u",lD=new pH({projectName:"sequenzy",schema:{userId:{type:"string"},userEmail:{type:"string"},_apiKey:{type:"string"}}});async function CR(){let A=process.env.SEQUENZY_API_KEY;if(A)return A;if(gR)try{let x=await globalThis.Bun.secrets.get({service:BR,name:DR});if(x)return x}catch{}return lD.get("_apiKey")}async function Gp(A){if(gR)try{await globalThis.Bun.secrets.set({service:BR,name:DR,value:A,allowUnrestrictedAccess:!1});return}catch{}lD.set("_apiKey",A)}async function Jp(){if(gR)try{await globalThis.Bun.secrets.delete({service:BR,name:DR})}catch{}lD.delete("_apiKey")}async function cA(){return!!await CR()}function rH(){return{userId:lD.get("userId"),userEmail:lD.get("userEmail")}}function Hp(A){if(A.userId!==void 0)lD.set("userId",A.userId);if(A.userEmail!==void 0)lD.set("userEmail",A.userEmail)}function Kp(){lD.clear()}var I$0=process.env.SEQUENZY_API_URL??"https://api.sequenzy.com";class r extends Error{statusCode;rawDetails;code;constructor(A,x,E,D){super(A);this.statusCode=x;this.rawDetails=E;this.code=D;this.name="ApiError"}}function y$0(A){if(!A.trim())return{message:"Request failed"};try{let x=JSON.parse(A);if(typeof x==="string")return{message:x};if(typeof x.error==="string")return{message:x.error,code:x.code};if(x.error&&typeof x.error==="object")return{message:x.error.message??x.message??A,code:x.error.code??x.code};return{message:x.message??A,code:x.code}}catch{return{message:A}}}async function G0(A,x,E,D){let B=await CR();if(!B)throw new r("Not logged in. Run `sequenzy login` first.",401);let g={"Content-Type":"application/json",Authorization:`Bearer ${B}`};if(D)g["x-company-id"]=D;let C;try{C=await fetch(`${I$0}${x}`,{method:A,headers:g,body:E?JSON.stringify(E):void 0})}catch(I){throw new r(I instanceof Error?I.message:"Failed to reach Sequenzy API",0,void 0,"NETWORK_ERROR")}if(!C.ok){let I=await C.text(),$=y$0(I);throw new r($.message,C.status,I,$.code)}return C.json()}var Up="https://docs.sequenzy.com",nD=`${Up}/concepts/cli`,Yp=`${Up}/authentication`;function w$0(A){if(A instanceof r)return{message:A.message,statusCode:A.statusCode,code:A.code,rawDetails:A.rawDetails};if(A instanceof Error)return{message:A.message};return{message:String(A)}}function $$0(A){let x=w$0(A),E=x.message.trim()||"Unknown error",D=E.toLowerCase(),B=x.rawDetails?.trim()||E;if(x.code==="CLI_AUTH_REQUIRED"||D.includes("not logged in"))return{title:"Authentication required",description:"This command needs a Sequenzy API key, but the CLI could not find one in your local login state or environment.",howToFix:"Run `sequenzy login` and approve the session, or set `SEQUENZY_API_KEY` for non-interactive environments.",docsUrl:nD,details:B};if(D.includes("already logged in"))return{title:"CLI already authenticated",description:"The CLI already has a saved Sequenzy login for this machine.",howToFix:"Run `sequenzy logout` first if you want to switch accounts, then run `sequenzy login` again.",docsUrl:nD,details:B};if(x.statusCode===401||x.code==="UNAUTHORIZED")return{title:"Authentication failed",description:"The request reached Sequenzy, but the current API key was rejected.",howToFix:"Run `sequenzy login` again, or replace the key with a valid personal API key that still has access to your account.",docsUrl:Yp,details:B};if(x.statusCode===403||D.includes("access denied"))return{title:"Access denied",description:"The current API key is valid, but it does not have permission to perform this action or access the requested company.",howToFix:"Use an API key with access to the target company, or switch to a company you can access before retrying.",docsUrl:Yp,details:B};if(x.statusCode===404||D.includes("not found"))return{title:"Requested resource not found",description:"Sequenzy could not find the company, template, campaign, sequence, or subscriber you asked for.",howToFix:"Double-check the ID or email value and list the resource first before retrying the command.",docsUrl:nD,details:B};if(x.statusCode===429||D.includes("rate limit"))return{title:"Rate limited",description:"Sequenzy temporarily slowed this request because too many requests were sent in a short period.",howToFix:"Wait a moment and retry. If an agent is looping, reduce the retry frequency before calling the CLI again.",docsUrl:nD,details:B};if(D.includes("--subject")||D.includes("--template")||D.includes("is required"))return{title:"Invalid command input",description:"The CLI command arguments are incomplete or incompatible for this action.",howToFix:"Review the flags you passed, add the missing values, and run the command again.",docsUrl:nD,details:B};if(x.code==="NETWORK_ERROR"||D.includes("fetch failed")||D.includes("failed to initiate login"))return{title:"Network or configuration error",description:"The CLI could not reach the Sequenzy API or app URL from this environment.",howToFix:"Check your network connection and verify `SEQUENZY_API_URL` or `SEQUENZY_APP_URL` if you override them locally.",docsUrl:nD,details:B};if(x.statusCode&&x.statusCode>=500)return{title:"Sequenzy server error",description:"The request reached Sequenzy, but the server could not complete it successfully.",howToFix:"Retry once. If the error persists, keep the details below and check the docs before escalating.",docsUrl:nD,details:B};return{title:"Command failed",description:"The CLI could not complete the requested operation.",howToFix:"Review the details below, adjust the command or credentials, and retry.",docsUrl:nD,details:B}}function dA(){return new r("Not logged in. Run `sequenzy login` first.",401,void 0,"CLI_AUTH_REQUIRED")}function L$(A){let x=$$0(A);return[`Sequenzy CLI error: ${x.title}`,`Description: ${x.description}`,`How to fix: ${x.howToFix}`,`Docs: ${x.docsUrl}`,`Details: ${x.details}`].join(`
|
|
334
334
|
`)}function e0(A){console.error(L$(A))}import{readFileSync as f$0}from"node:fs";import{createInterface as S$0}from"node:readline/promises";function Z0(A){console.log(JSON.stringify(A,null,2))}function VA(A){if(!A)return"None";let x=A instanceof Date?A:new Date(A);if(Number.isNaN(x.getTime()))return String(A);return x.toISOString()}function e4(A,x,E){if(A&&x)throw new r(`Provide either --${E} or --${E}-file, not both`,400);if(!x)return A;try{return f$0(x,"utf8")}catch(D){throw new r(`Failed to read ${E} file '${x}': ${D instanceof Error?D.message:"Unknown error"}`,400)}}function YE(A,x,E){let D=e4(A,x,E);if(!D)return;try{return JSON.parse(D)}catch(B){throw new r(`Invalid ${E} JSON: ${B instanceof Error?B.message:"Unknown error"}`,400)}}function pD(A){let x=e4(A.html,A.htmlFile,"html"),E=YE(A.blocksJson,A.blocksFile,"blocks");if(x!==void 0&&E!==void 0)throw new r("Provide either --html/--html-file or --blocks-json/--blocks-file, not both",400);if(E!==void 0&&!Array.isArray(E))throw new r("blocks JSON must be an array",400);if(A.required&&x===void 0&&E===void 0)throw new r(A.requiredMessage??"Provide either --html/--html-file or --blocks-json/--blocks-file",400);return{...x!==void 0&&{html:x},...E!==void 0&&{blocks:E}}}function K8(A,x){if(A===void 0)return;let E=A.trim();if(!/^[+-]?\d+$/.test(E))throw new r(`${x} must be an integer`,400);let D=Number(E);if(!Number.isInteger(D))throw new r(`${x} must be an integer`,400);return D}async function N6(A,x){if(x.yes===!0)return!0;if(!process.stdin.isTTY)throw new r(`${A} Confirmation is required: re-run with --yes when stdin is not interactive`,400);let E=S$0({input:process.stdin,output:process.stdout});try{let D=(await E.question(`${A} [y/N] `)).trim().toLowerCase();return D==="y"||D==="yes"}finally{E.close()}}function rD(A,x){if(!A||A.trim()==="")throw new r(`${x} is required`,400);return A}var G$0=new Set(["open_rate","click_rate"]);function J$0(A,x){if(typeof A!=="object"||A===null)throw new r(`${x} must be an object with a subject field`,400);let E=A;if(typeof E.subject!=="string"||E.subject.trim()==="")throw new r(`${x}.subject must be a non-empty string`,400);if(E.previewText!==void 0&&typeof E.previewText!=="string")throw new r(`${x}.previewText must be a string`,400);if(E.blocks!==void 0&&!Array.isArray(E.blocks))throw new r(`${x}.blocks must be an array`,400);return{subject:E.subject,...E.previewText!==void 0&&{previewText:E.previewText},...Array.isArray(E.blocks)&&{blocks:E.blocks}}}function H$0(A){if(!A.campaignId)throw new r("Campaign ID is required",400);let x=K8(A.testPercentage,"--test-percentage");if(x!==void 0&&(x<5||x>50))throw new r("--test-percentage must be an integer between 5 and 50",400);let E=K8(A.durationMinutes,"--duration-minutes");if(E!==void 0&&(E<15||E>1440))throw new r("--duration-minutes must be an integer between 15 and 1440",400);if(A.winnerCriteria!==void 0&&!G$0.has(A.winnerCriteria))throw new r("--winner-criteria must be open_rate or click_rate",400);let D=YE(A.variantsJson,A.variantsFile,"variants"),B;if(D!==void 0){if(!Array.isArray(D))throw new r("variants JSON must be an array",400);B=D.map((g,C)=>J$0(g,`variants[${C}]`))}return{campaignId:A.campaignId,...A.name!==void 0&&{name:A.name},...x!==void 0&&{testPercentage:x},...E!==void 0&&{testDurationMinutes:E},...A.winnerCriteria!==void 0&&{winnerCriteria:A.winnerCriteria},...B!==void 0&&{variants:B}}}function K$0(A){if(!A.subject||A.subject.trim()==="")throw new r("--subject is required",400);let x=YE(A.blocksJson,A.blocksFile,"blocks");if(x!==void 0&&!Array.isArray(x))throw new r("blocks JSON must be an array",400);return{subject:A.subject,...A.previewText!==void 0&&{previewText:A.previewText},...x!==void 0&&{blocks:x}}}function Y$0(A){let x=A.isWinner?" winner":"";return` - Variant ${A.label} [${A.id}]${x}`}function j$(A){if(console.log(`${A.name??"A/B Test"} [${A.id}]`),console.log(`Status: ${A.status}`),console.log(`Winner criteria: ${A.winnerCriteria}`),console.log(`Updated: ${VA(A.updatedAt)}`),A.campaignId)console.log(`Campaign: ${A.campaignId}`);if(A.automationNodeId)console.log(`Automation node: ${A.automationNodeId}`);console.log(`Variants: ${A.variants.length}`);for(let x of A.variants)console.log(Y$0(x)),console.log(` Email: ${x.emailId}`),console.log(` Subject: ${x.subject||"(no subject)"}`),console.log(` Preview: ${x.previewText??"None"}`),console.log(` Blocks: ${x.blocks.length}`)}function aH(A){return`${A.toFixed(1)}%`}function U$0(A){let x=A.period??(A.start&&A.end?`${A.start} - ${A.end}`:"all time");console.log(`A/B test stats (${x})`),console.log(`Sent: ${A.stats.sent.toLocaleString()}`),console.log(`Delivered: ${A.stats.delivered.toLocaleString()}`),console.log(`Opened: ${A.stats.opened.toLocaleString()} (${aH(A.stats.openRate)})`),console.log(`Clicked: ${A.stats.clicked.toLocaleString()} (${aH(A.stats.clickRate)})`),console.log(),console.log("Variants:");for(let E of A.variants){let D=E.isWinner?" winner":"";console.log(`- Variant ${E.label} [${E.id}]${D}`),console.log(` Subject: ${E.subject||"(no subject)"}`),console.log(` Sent ${E.stats.sent.toLocaleString()}, opened ${E.stats.opened.toLocaleString()} (${aH(E.stats.openRate)}), clicked ${E.stats.clicked.toLocaleString()} (${aH(E.stats.clickRate)})`)}}async function a7(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=new URLSearchParams;if(x.sequence)B.set("sequenceId",x.sequence);let g=await G0("GET",`/api/v1/ab-tests${B.size>0?`?${B.toString()}`:""}`,void 0,x.company);if(x.json){Z0(g);return}console.log(`A/B tests (${g.abTests.length})`);for(let C of g.abTests)console.log(`- ${C.name??"A/B Test"} [${C.id}]`),console.log(` Status: ${C.status}`),console.log(` Variants: ${C.variants.length}`);return}if(A==="create"){let B=await G0("POST","/api/v1/ab-tests",H$0(x),x.company);if(x.json){Z0(B);return}console.log("Created A/B test"),j$(B.abTest);return}if(!x.id)throw new r("A/B test ID is required",400);if(A==="add-variant"){let B=await G0("POST",`/api/v1/ab-tests/${x.id}/variants`,K$0(x),x.company);if(x.json){Z0(B);return}console.log(`Added variant to A/B test ${x.id}`),j$(B.abTest);return}if(A==="delete-variant"){if(!x.variantId)throw new r("Variant ID is required",400);if(!await N6(`Delete variant ${x.variantId} from A/B test ${x.id}?`,x)){console.log("Aborted.");return}let B=await G0("DELETE",`/api/v1/ab-tests/${x.id}/variants/${x.variantId}`,void 0,x.company);if(x.json){Z0(B);return}console.log(`Removed variant ${x.variantId}`),j$(B.abTest);return}if(A==="delete"){if(!await N6(`Delete A/B test ${x.id}?`,x)){console.log("Aborted.");return}let B=await G0("DELETE",`/api/v1/ab-tests/${x.id}`,void 0,x.company);if(x.json){Z0(B);return}console.log(`Deleted A/B test: ${x.id}`);return}if(A==="get"){let B=await G0("GET",`/api/v1/ab-tests/${x.id}`,void 0,x.company);if(x.json){Z0(B);return}j$(B.abTest);return}if(A==="stats"){let B=new URLSearchParams;if(x.period)B.set("period",x.period);if(x.start)B.set("start",x.start);if(x.end)B.set("end",x.end);if(x.includeBots)B.set("includeMachineEngagement","true");let g=await G0("GET",`/api/v1/ab-tests/${x.id}/stats${B.size>0?`?${B.toString()}`:""}`,void 0,x.company);if(x.json){Z0(g);return}U$0(g);return}if(A==="restart"){if(x.testType!==void 0&&x.testType!=="subject"&&x.testType!=="content")throw new r("--test-type must be subject or content",400);let B=x.testType,g;if(x.variantCount!==void 0)g=Number.parseInt(x.variantCount,10);let C;if(x.winnerThreshold!==void 0)C=Number.parseInt(x.winnerThreshold,10);if(g!==void 0&&(!Number.isInteger(g)||g<2||g>4))throw new r("--variant-count must be an integer from 2 to 4",400);if(C!==void 0&&(!Number.isInteger(C)||C<10||C>1000))throw new r("--winner-threshold must be an integer from 10 to 1000",400);let I=await G0("POST",`/api/v1/ab-tests/${x.id}/restart`,{sourceVariantId:x.sourceVariant,testType:B,winnerThreshold:C,variantCount:g},x.company);if(x.json){Z0(I);return}console.log(`Started new A/B test: ${I.abTest.id}`),console.log(`Previous test: ${I.previousAbTestId}`),console.log(`Control variant: ${I.sourceVariantId}`),j$(I.abTest);return}if(!x.variantId)throw new r("Variant ID is required",400);let E=pD({html:x.html,htmlFile:x.htmlFile,blocksJson:x.blocksJson,blocksFile:x.blocksFile});if(x.subject===void 0&&x.previewText===void 0&&E.html===void 0&&E.blocks===void 0)throw new r("Provide at least one of: --subject, --preview-text, --html, --html-file, --blocks-json, --blocks-file",400);let D=await G0("PATCH",`/api/v1/ab-tests/${x.id}/variants/${x.variantId}`,{subject:x.subject,previewText:x.previewText,html:E.html,blocks:E.blocks},x.company);if(x.json){Z0(D);return}console.log(`Updated variant ${D.variant.label}`),console.log(`ID: ${D.variant.id}`),console.log(`Email: ${D.variant.emailId}`),console.log(`Subject: ${D.variant.subject}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var FR=["product-info","domain","tracking","localization","integrations","products","events","tags","labels","goals","sync-rules","api-keys","widgets","team","danger"],qp={dashboard:"/dashboard/company/{companyId}",campaigns:"/dashboard/company/{companyId}/campaign",campaign:"/dashboard/company/{companyId}/campaign/{campaignId}",campaignPreview:"/dashboard/company/{companyId}/campaign/{campaignId}?step=review",campaignList:"/dashboard/company/{companyId}/campaign/list/{status}",landingPages:"/dashboard/company/{companyId}/landing-pages",landingPage:"/dashboard/company/{companyId}/landing-pages/{landingPageId}",sequences:"/dashboard/company/{companyId}/sequences",sequence:"/dashboard/company/{companyId}/sequences/{sequenceId}",sequenceList:"/dashboard/company/{companyId}/sequences/list/{status}",settings:"/dashboard/company/{companyId}/settings",settingsTab:"/dashboard/company/{companyId}/settings?tab={tab}",emails:"/dashboard/company/{companyId}/emails",email:"/dashboard/company/{companyId}/emails/{emailId}",subscribers:"/dashboard/company/{companyId}/subscribers",sentEmails:"/dashboard/company/{companyId}/sent-emails",emailSend:"/dashboard/company/{companyId}/sent-emails/{emailSendId}",segments:"/dashboard/company/{companyId}/segments",metrics:"/dashboard/company/{companyId}/metrics",transactional:"/dashboard/company/{companyId}/transactional",transactionalEmail:"/dashboard/company/{companyId}/transactional/{transactionalId}",domain:"/dashboard/company/{companyId}/settings/domain/{domainId}",domainVerify:"/dashboard/company/{companyId}/settings/domain/{domainId}/verify"};function q$0(A){let E=(A??process.env.SEQUENZY_APP_URL??"https://sequenzy.com").trim().replace(/\/+$/,"");return E.length>0?E:"https://sequenzy.com"}function A7(A){let x=A?.trim();return x?x:void 0}function _7(A){return encodeURIComponent(A)}function TB(A,x){return`${A}${x}`}function kB(A,x=""){return`/dashboard/company/${_7(A)}${x}`}function Xp(A,x,E){return TB(A,`${kB(x,"/settings")}?tab=${encodeURIComponent(E)}`)}function X$0(A,x){let E=FR.map((D)=>[D,x?Xp(A,x,D):""]);return Object.fromEntries(E)}function yE(A={},x){let E=q$0(x),D=A7(A.companyId),B={},g=X$0(E,D);if(!D)return{appUrl:E,routeTemplates:qp,settingsTabValues:FR,urls:B,settingsUrls:g};B.dashboard=TB(E,kB(D)),B.campaigns=TB(E,kB(D,"/campaign")),B.landingPages=TB(E,kB(D,"/landing-pages")),B.sequences=TB(E,kB(D,"/sequences")),B.settings=TB(E,kB(D,"/settings")),B.emails=TB(E,kB(D,"/emails")),B.subscribers=TB(E,kB(D,"/subscribers")),B.sentEmails=TB(E,kB(D,"/sent-emails")),B.segments=TB(E,kB(D,"/segments")),B.metrics=TB(E,kB(D,"/metrics")),B.transactional=TB(E,kB(D,"/transactional"));let C=A7(A.campaignId);if(C)B.campaign=TB(E,kB(D,`/campaign/${_7(C)}`)),B.campaignPreview=`${B.campaign}?step=review`;let I=A7(A.landingPageId);if(I)B.landingPage=TB(E,kB(D,`/landing-pages/${_7(I)}`));let $=A7(A.sequenceId);if($)B.sequence=TB(E,kB(D,`/sequences/${_7($)}`));let S=A7(A.emailId)??A7(A.templateId);if(S)B.email=TB(E,kB(D,`/emails/${_7(S)}`)),B.template=B.email;let K=A7(A.transactionalId);if(K)B.transactionalEmail=TB(E,kB(D,`/transactional/${_7(K)}`));let M=A7(A.emailSendId);if(M)B.emailSend=TB(E,kB(D,`/sent-emails/${_7(M)}`));let X=A7(A.domainId);if(X)B.domain=TB(E,kB(D,`/settings/domain/${_7(X)}`)),B.domainVerify=`${B.domain}/verify`;let Z=A7(A.status);if(Z)B.campaignList=TB(E,kB(D,`/campaign/list/${_7(Z)}`)),B.sequenceList=TB(E,kB(D,`/sequences/list/${_7(Z)}`));let j=A7(A.settingsTab);if(j)B.settingsTab=Xp(E,D,j);return{appUrl:E,routeTemplates:qp,settingsTabValues:FR,urls:B,settingsUrls:g}}async function c8(A){if(A?.trim())return A.trim();try{return(await G0("GET","/api/v1/account")).currentCompanyId??void 0}catch{return}}async function Z$0(A,x){let E=await c8(x);return yE({...A,companyId:E})}function Sx(A,x){if(x)console.log(`${A}: ${x}`)}function aC(A,x,E,D){let g=yE({...x,companyId:D}).urls[E];return{...A,...g!==void 0&&{url:g}}}async function Zp(A){if(!await cA())e0(dA()),process.exit(1);try{let x=await Z$0({campaignId:A.campaign,landingPageId:A.landingPage,sequenceId:A.sequence,emailId:A.email,templateId:A.template,transactionalId:A.transactional,emailSendId:A.emailSend,domainId:A.domain,status:A.status,settingsTab:A.settingsTab},A.company);if(A.company&&!x.urls.dashboard)throw new r("Company ID is required to build dashboard URLs",400);if(A.json){Z0(x);return}if(console.log(`App: ${x.appUrl}`),console.log(""),Object.keys(x.urls).length===0){console.log("No company selected. Pass --company or run `sequenzy account` to find the current company ID."),console.log(""),console.log("Route templates:");for(let[E,D]of Object.entries(x.routeTemplates))console.log(`- ${E}: ${D}`);return}console.log("URLs:");for(let[E,D]of Object.entries(x.urls))console.log(`- ${E}: ${D}`);console.log(""),console.log("Settings tabs:");for(let[E,D]of Object.entries(x.settingsUrls))console.log(`- ${E}: ${D}`)}catch(x){e0(x instanceof r?x:x),process.exit(1)}}async function Mp(A){if(!await cA())e0(dA()),process.exit(1);try{let x=await G0("GET","/api/v1/account"),E=x.currentCompanyId!==null?yE({companyId:x.currentCompanyId}):void 0,D=x.companies.map((B)=>{let g=yE({companyId:B.id});return{...B,url:g.urls.dashboard,settingsUrl:g.urls.settings}});if(A.json){console.log(JSON.stringify({...x,companies:D,...E!==void 0&&{appUrls:E.urls,settingsUrls:E.settingsUrls}},null,2));return}if(console.log(`User ID: ${x.user?.id??"Unknown"}`),console.log(`Current company: ${x.currentCompanyId??"None"}`),Sx("Current company URL",E?.urls.dashboard),Sx("Current company settings",E?.urls.settings),console.log(""),x.companies.length===0){console.log(x.message??"No companies found.");return}console.log(`Companies (${x.companies.length})`);for(let B of D){let g=B.id===x.currentCompanyId?" (current)":"";console.log(`- ${B.name} [${B.id}]${g}`),Sx(" URL",B.url),Sx(" Settings",B.settingsUrl)}}catch(x){e0(x instanceof r?x:x),process.exit(1)}}function M$0(A){if(A===void 0)return;return A.split(",").map((x)=>x.trim()).filter((x)=>x.length>0)}async function Wp(A,x){if(!await cA())e0(dA()),process.exit(1);try{let E=M$0(x.scopes),D=await G0("POST","/api/v1/api-keys",{name:x.name,...x.preset!==void 0&&{preset:x.preset},...E!==void 0&&{scopes:E}},x.company);if(x.json){Z0(D);return}console.log(`Created API key: ${D.apiKey.name}`),console.log(`ID: ${D.apiKey.id}`),console.log(`Prefix: ${D.apiKey.prefix}`),console.log(`Permissions: ${D.apiKey.scopes?.join(", ")??"full access"}`),console.log(`Created: ${VA(D.apiKey.createdAt)}`),console.log(""),console.log(D.message),console.log(`Key: ${D.apiKey.key}`),console.log(`Env: ${D.instructions.example}`),console.log(D.instructions.note)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var Rp=["hourly","daily","weekly"];function W$0(A){let x=A.syncStatus==="disconnected"?"disconnected":!A.isActive?"paused":A.syncStatus==="error"?"error":A.syncStatus;if(console.log(`- ${A.segmentName??A.segmentId} -> "${A.audienceName}" (${A.adAccountId})`),console.log(` id: ${A.id} | ${A.frequency} | status: ${x} | last sync: ${A.lastSyncAt??"never"} | uploaded: ${A.lastSyncedCount}`),A.lastSyncError)console.log(` last error: ${A.lastSyncError}`)}function Lp(A){if(A===void 0)return"daily";if(!Rp.includes(A))console.error(`Invalid frequency "${A}". Use one of: ${Rp.join(", ")}.`),process.exit(1);return A}function QR(A,x){if(!A||A.trim().length===0)console.error(`${x} is required.`),process.exit(1);return A.trim()}async function _C(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=await G0("GET","/api/v1/audience-syncs",void 0,x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Audience syncs (${B.audienceSyncs.length})`);for(let g of B.audienceSyncs)W$0(g);return}if(A==="ad-accounts"){let B=await G0("GET","/api/v1/ad-accounts",void 0,x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Ad accounts (${B.adAccounts.length})`);for(let g of B.adAccounts)console.log(`- ${g.name} (${g.id})`);return}if(A==="create"){if(x.segment&&x.template)console.error("Provide either --segment or --template, not both."),process.exit(1);if(!x.segment&&!x.template)console.error("Provide --segment <id> or --template <id> (for example --template recent-buyers)."),process.exit(1);let B=await G0("POST","/api/v1/audience-syncs",{...x.segment?{segmentId:x.segment}:{},...x.template?{predefinedSegmentId:x.template}:{},adAccountId:QR(x.adAccount,"--ad-account"),audienceName:QR(x.name,"--name"),frequency:Lp(x.frequency)},x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Created audience sync: ${B.audienceSync.segmentName??B.audienceSync.segmentId} -> "${B.audienceSync.audienceName}"`),console.log(`ID: ${B.audienceSync.id}`),console.log(`Frequency: ${B.audienceSync.frequency}`),console.log("The first upload to Meta is running now.");return}let E=QR(x.id,"--id");if(A==="update"){let B={};if(x.frequency!==void 0)B.frequency=Lp(x.frequency);if(x.active!==void 0){if(x.active!=="true"&&x.active!=="false")console.error('--active must be "true" or "false".'),process.exit(1);B.isActive=x.active==="true"}if(Object.keys(B).length===0)console.error("Provide --frequency and/or --active to update."),process.exit(1);let g=await G0("PATCH",`/api/v1/audience-syncs/${encodeURIComponent(E)}`,B,x.company);if(x.json){console.log(JSON.stringify(g,null,2));return}console.log(`Updated audience sync ${g.audienceSync.id}: ${g.audienceSync.frequency}, ${g.audienceSync.isActive?"active":"paused"}`);return}if(A==="delete"){let B=await G0("DELETE",`/api/v1/audience-syncs/${encodeURIComponent(E)}`,void 0,x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Removed audience sync ${E}. The Meta audience itself is kept.`);return}let D=await G0("POST",`/api/v1/audience-syncs/${encodeURIComponent(E)}/sync`,void 0,x.company);if(x.json){console.log(JSON.stringify(D,null,2));return}console.log(`Queued sync for ${E}.`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function zp(A){let x=A?.trim();return x?x:void 0}function Np(A){if(A.previewText!==void 0&&A.preheaderText!==void 0)throw new r("Provide either --preview-text or --preheader-text, not both",400);return A.previewText??A.preheaderText}function R$0(A,x){if(!A.name)throw new r("Campaign name is required",400);let E=zp(A.prompt);if(A.prompt!==void 0&&E===void 0)throw new r("--prompt cannot be empty",400);if(E!==void 0&&(x.html!==void 0||x.blocks!==void 0))throw new r("Provide either --prompt, --html/--html-file, or --blocks-json/--blocks-file, not multiple content sources",400);if(E===void 0&&(A.style!==void 0||A.tone!==void 0))throw new r("--style and --tone require --prompt",400);if(!A.subject&&E===void 0)throw new r("Campaign subject is required unless --prompt is provided",400)}function L$0(A,x,E={}){if(A.replyTo!==void 0&&A.replyProfile!==void 0)throw new r("Provide either --reply-to or --reply-profile, not both",400);let D=Np(A);if(A.name===void 0&&A.subject===void 0&&D===void 0&&A.trackingCode===void 0&&x.html===void 0&&x.blocks===void 0&&A.replyTo===void 0&&A.replyProfile===void 0&&A.label===void 0&&E.campaignData===void 0&&E.computedLists===void 0)throw new r("Provide at least one of: --name, --subject, --preview-text, --preheader-text, --tracking-code, --html, --html-file, --blocks-json, --blocks-file, --reply-to, --reply-profile, --label, --campaign-data-json, --campaign-data-file, --computed-lists-json, --computed-lists-file",400);return{name:A.name,subject:A.subject,...D!==void 0&&{previewText:D},...A.trackingCode!==void 0&&{trackingCode:A.trackingCode},html:x.html,blocks:x.blocks,replyTo:A.replyTo,replyProfileId:A.replyProfile,labels:A.label,...E.campaignData!==void 0&&{campaignData:E.campaignData},...E.computedLists!==void 0&&{computedLists:E.computedLists}}}function j$0(A){let x=YE(A.campaignDataJson,A.campaignDataFile,"campaign-data"),E=YE(A.computedListsJson,A.computedListsFile,"computed-lists");if(x!==void 0&&x!==null&&(typeof x!=="object"||Array.isArray(x)))throw new r("campaign-data JSON must be an object or null",400);if(E!==void 0&&!Array.isArray(E))throw new r("computed-lists JSON must be an array",400);return{...x!==void 0&&{campaignData:x},...E!==void 0&&{computedLists:E}}}function z$0(A){let x=YE(A.targetListsJson,A.targetListsFile,"target-lists");if(x!==void 0&&(typeof x!=="object"||x===null||Array.isArray(x)))throw new r("target-lists JSON must be an object",400);return x}function Op(A){if(A===void 0)return;let x=Number(A);if(!Number.isInteger(x)||x<1||x>72)throw new r("--spread-over-hours must be an integer between 1 and 72",400);return x}var N$0=new Set(["campaign","ab_test","variant"]);function O$0(A){let x=Op(A.spreadOverHours);return{...x!==void 0&&{spreadOverHours:x}}}function P$0(A){let x=A.mode??"campaign";if(!N$0.has(x))throw new r("--mode must be one of: campaign, ab_test, variant",400);if(x==="variant"&&!A.variantId)throw new r("--variant-id is required when --mode is variant",400);if(x!=="variant"&&A.variantId!==void 0)throw new r("--variant-id requires --mode variant",400);return{mode:x,...A.variantId!==void 0&&{variantId:A.variantId}}}function V$0(A){if(A===void 0)return;if(A!=="weekly"&&A!=="monthly")throw new r("--repeat must be one of: weekly, monthly",400);return A}function v$0(A,x){if(!A.at?.trim())throw new r("--at is required",400);let E=Op(A.spreadOverHours),D=V$0(A.repeat);return{scheduledAt:A.at,...x!==void 0&&{targetLists:x},...A.sendTimeOptimization!==void 0&&{sendTimeOptimization:A.sendTimeOptimization},...E!==void 0&&{spreadOverHours:E},...D!==void 0&&{recurringInterval:D}}}function jp(A){if(!A.replyToEmail)return"None";return A.replyToName?`${A.replyToName} <${A.replyToEmail}>`:A.replyToEmail}function _H(A){return A&&A.length>0?A.join(", "):"None"}function T$0(A,x){if(x===void 0)return A;let E=yE({companyId:x,campaignId:A.id});return{...A,...E.urls.campaign!==void 0&&{url:E.urls.campaign},...E.urls.campaignPreview!==void 0&&{previewUrl:E.urls.campaignPreview}}}async function z5(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let I=new URLSearchParams;if(x.status)I.set("status",x.status);if(x.label)for(let X of x.label)I.append("label",X);let $=await G0("GET",`/api/v1/campaigns${I.size>0?`?${I.toString()}`:""}`,void 0,x.company),S=await c8(x.company),K=S!==void 0?yE({companyId:S,status:x.status}):void 0,M=$.campaigns.map((X)=>T$0(X,S));if(x.json){Z0({...$,campaigns:M,...K!==void 0&&{appUrls:K.urls}});return}console.log(`Campaigns (${$.campaigns.length})`);for(let X of M){if(console.log(`- ${X.name} [${X.id}]`),console.log(` Subject: ${X.subject}`),console.log(` Status: ${X.status}`),console.log(` Labels: ${_H(X.labels)}`),console.log(` Created: ${VA(X.createdAt)}`),Sx(" URL",X.url),Sx(" Preview URL",X.previewUrl),X.scheduledAt)console.log(` Scheduled: ${VA(X.scheduledAt)}`);if(X.sentAt)console.log(` Sent: ${VA(X.sentAt)}`)}return}let E=pD({html:x.html,htmlFile:x.htmlFile,blocksJson:x.blocksJson,blocksFile:x.blocksFile});if(A==="create"){R$0(x,E);let I=zp(x.prompt),$=Np(x),S=await G0("POST","/api/v1/campaigns",{name:x.name,...x.subject!==void 0&&{subject:x.subject},...$!==void 0&&{previewText:$},...I!==void 0&&{prompt:I},...x.style!==void 0&&{style:x.style},...x.tone!==void 0&&{tone:x.tone},...E.html!==void 0&&{html:E.html},...E.blocks!==void 0&&{blocks:E.blocks},...x.label!==void 0&&{labels:x.label},...x.trackingCode!==void 0&&{trackingCode:x.trackingCode},...x.status!==void 0&&{status:x.status},...x.sentAt!==void 0&&{sentAt:x.sentAt}},x.company),K=await c8(x.company),M=S.campaign?.id??S.campaignId,X=K!==void 0&&M!==void 0?yE({companyId:K,campaignId:M}):void 0;if(x.json){Z0({...S,...S.campaign!==void 0&&X?.urls.campaign!==void 0&&{campaign:{...S.campaign,url:X.urls.campaign,previewUrl:X.urls.campaignPreview}},...X!==void 0&&{appUrls:X.urls}});return}if(console.log(`Created campaign: ${S.campaign?.name??x.name}`),console.log(`ID: ${S.campaign?.id??"Unknown"}`),console.log(`Status: ${S.campaign?.status??"Unknown"}`),S.campaign?.sentAt)console.log(`Sent: ${VA(S.campaign.sentAt)}`);if(console.log(`Subject: ${S.campaign?.subject??x.subject??"Generated"}`),console.log(`Labels: ${_H(S.campaign?.labels)}`),I!==void 0)console.log("Content: generated from prompt");Sx("URL",X?.urls.campaign??S.campaign?.url),Sx("Preview URL",X?.urls.campaignPreview??S.campaign?.previewUrl);return}if(!x.id)throw new r("Campaign ID is required",400);if(A==="cancel"||A==="pause"){let I=await G0("POST",`/api/v1/campaigns/${x.id}/${A}`,void 0,x.company);if(x.json){Z0(I);return}let $=A==="cancel"?"cancelled":"paused";console.log(`Campaign ${$}: ${I.campaign?.name??x.id}`),console.log(`ID: ${I.campaign?.id??x.id}`),console.log(`Status: ${I.campaign?.status??$}`),Sx("URL",I.campaign?.url);return}if(A==="resume"){let I=await G0("POST",`/api/v1/campaigns/${x.id}/resume`,O$0(x),x.company);if(x.json){Z0(I);return}console.log(`Campaign resumed: ${I.campaign?.name??x.id}`),console.log(`ID: ${I.campaign?.id??x.id}`),console.log(`Status: ${I.campaign?.status??"sending"}`),Sx("URL",I.campaign?.url);return}if(A==="delete"){if(!await N6(`Delete campaign ${x.id}?`,x)){console.log("Aborted.");return}let I=await G0("DELETE",`/api/v1/campaigns/${x.id}`,void 0,x.company);if(x.json){Z0(I);return}console.log(`Deleted campaign: ${x.id}`);return}if(A==="duplicate"){let I=await G0("POST",`/api/v1/campaigns/${x.id}/duplicate`,P$0(x),x.company);if(x.json){Z0(I);return}if(console.log(`Duplicated campaign: ${I.campaign?.name??x.id}`),console.log(`New campaign ID: ${I.campaign?.id??"Unknown"}`),console.log(`Status: ${I.campaign?.status??"draft"}`),I.emailId!==void 0)console.log(`New email ID: ${I.emailId}`);Sx("URL",I.campaign?.url),Sx("Preview URL",I.campaign?.previewUrl);return}if(A==="resend-to-non-openers"){let I=await G0("POST",`/api/v1/campaigns/${x.id}/resend-to-non-openers`,void 0,x.company);if(x.json){Z0(I);return}if(console.log(`Created non-opener resend draft: ${I.campaign?.name??x.id}`),console.log(`New campaign ID: ${I.campaign?.id??"Unknown"}`),console.log(`Status: ${I.campaign?.status??"draft"}`),I.estimatedNonOpenerCount!==void 0)console.log(`Estimated recipients: ~${I.estimatedNonOpenerCount}`);Sx("URL",I.campaign?.url);return}if(A==="schedule"){let I=z$0(x),$=await G0("POST",`/api/v1/campaigns/${x.id}/schedule`,v$0(x,I),x.company),S=await c8(x.company),K=S!==void 0?yE({companyId:S,campaignId:x.id}):void 0;if(x.json){Z0({...$,...$.campaign!==void 0&&K?.urls.campaign!==void 0&&{campaign:{...$.campaign,url:K.urls.campaign,previewUrl:K.urls.campaignPreview}},previewUrl:$.previewUrl??K?.urls.campaignPreview??void 0,...K!==void 0&&{appUrls:K.urls}});return}console.log(`Scheduled campaign: ${$.campaign?.name??x.id}`),console.log(`ID: ${$.campaign?.id??x.id}`),console.log(`Status: ${$.campaign?.status??"scheduled"}`),console.log(`Scheduled: ${VA($.scheduledAt??$.campaign?.scheduledAt??null)}`),Sx("URL",K?.urls.campaign??$.campaign?.url),Sx("Preview URL",$.previewUrl??K?.urls.campaignPreview??$.campaign?.previewUrl);return}if(A==="update"){let I=j$0(x),$=L$0(x,E,I),S=await G0("PUT",`/api/v1/campaigns/${x.id}`,$,x.company),K=await c8(x.company),M=K!==void 0?yE({companyId:K,campaignId:x.id}):void 0;if(x.json){Z0({...S,...S.campaign!==void 0&&M?.urls.campaign!==void 0&&{campaign:{...S.campaign,url:M.urls.campaign,previewUrl:M.urls.campaignPreview}},...M!==void 0&&{appUrls:M.urls}});return}if(console.log(`Updated campaign: ${S.campaign?.name??x.id}`),console.log(`ID: ${S.campaign?.id??x.id}`),console.log(`Status: ${S.campaign?.status??"Unknown"}`),console.log(`Labels: ${_H(S.campaign?.labels)}`),Sx("URL",M?.urls.campaign??S.campaign?.url),Sx("Preview URL",M?.urls.campaignPreview??S.campaign?.previewUrl),S.campaign)console.log(`Reply-To: ${jp(S.campaign)}`);return}if(A==="test"){if(!x.to)throw new r("--to is required",400);let I=await G0("POST",`/api/v1/campaigns/${x.id}/test`,{to:x.to},x.company),$=await c8(x.company),S=$!==void 0?yE({companyId:$,campaignId:x.id}):void 0;if(x.json){Z0({...I,...S!==void 0&&{appUrls:S.urls}});return}console.log(I.message??`Test requested for ${x.id}`),Sx("URL",S?.urls.campaign),Sx("Preview URL",S?.urls.campaignPreview);return}let D=await G0("GET",`/api/v1/campaigns/${x.id}`,void 0,x.company),B=await c8(x.company),g=B!==void 0?yE({companyId:B,campaignId:x.id}):void 0;if(x.json){Z0({...D,...g?.urls.campaign!==void 0&&{campaign:{...D.campaign,url:g.urls.campaign,previewUrl:g.urls.campaignPreview}},...g!==void 0&&{appUrls:g.urls}});return}let C=D.campaign;if(console.log(C.name),console.log(`ID: ${C.id}`),Sx("URL",g?.urls.campaign??C.url),Sx("Preview URL",g?.urls.campaignPreview??C.previewUrl),console.log(`Status: ${C.status}`),console.log(`Subject: ${C.subject}`),C.trackingCode)console.log(`Tracking code: ${C.trackingCode}`);if(console.log(`Labels: ${_H(C.labels)}`),console.log(`Preheader: ${C.preheader||"None"}`),C.replyToEmail||C.replyProfileId)console.log(`Reply-To: ${jp(C)}`);console.log(`Blocks: ${C.blocks.length}`),console.log(`Created: ${VA(C.createdAt)}`),console.log(`Scheduled: ${VA(C.scheduledAt)}`),console.log(`Sent: ${VA(C.sentAt)}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function Vp(A){let x=A.supportedLocales.join(", "),E=A.subscriberLocaleAttribute??"not configured";return`${A.primaryLocale} -> [${x}] | fallback ${A.fallbackLocale} | attr ${E} | sync ${A.autoSyncMode}`}function k$0(A){let x=e4(A.description,A.descriptionFile,"description"),E=e4(A.companyContext,A.companyContextFile,"company-context"),D=YE(A.brandColorsJson,A.brandColorsFile,"brand-colors"),B=YE(A.valuePropsJson,A.valuePropsFile,"value-props"),g=YE(A.testimonialsJson,A.testimonialsFile,"testimonials"),C=YE(A.socialLinksJson,A.socialLinksFile,"social-links"),I=YE(A.pricingJson,A.pricingFile,"pricing");if(D!==void 0&&(typeof D!=="object"||Array.isArray(D)||D===null))throw new r("brand-colors JSON must be an object",400);if(B!==void 0&&!Array.isArray(B))throw new r("value-props JSON must be an array",400);if(g!==void 0&&!Array.isArray(g))throw new r("testimonials JSON must be an array",400);if(C!==void 0&&(typeof C!=="object"||Array.isArray(C)||C===null))throw new r("social-links JSON must be an object",400);if(I!==void 0&&(typeof I!=="object"||Array.isArray(I)||I===null))throw new r("pricing JSON must be an object",400);let $={},S=[["name","name"],["logoUrl","logoUrl"],["founderName","founderName"],["primaryColor","primaryColor"],["toneVoice","toneVoice"],["emailLengthPreference","emailLengthPreference"],["privacyPolicyUrl","privacyPolicyUrl"],["termsUrl","termsUrl"],["address","address"],["language","language"],["fontFamily","fontFamily"],["emailDirection","emailDirection"]];for(let[K,M]of S){let X=A[K];if(typeof X==="string")$[M]=X}if(x!==void 0)$.description=x;if(E!==void 0)$.companyContext=E;if(D!==void 0)$.brandColors=D;if(B!==void 0)$.valueProps=B;if(g!==void 0)$.testimonials=g;if(C!==void 0)$.socialLinks=C;if(I!==void 0)$.pricing=I;if(Object.keys($).length===0)throw new r("Provide at least one company product info update option",400);return $}function Pp(A){console.log(A.name),console.log(`ID: ${A.id}`),console.log(`Status: ${A.status}`),console.log(`Website: ${A.websiteUrl??"Not set"}`),console.log(`Logo: ${A.logoUrl??"Not set"}`),console.log(`Primary color: ${A.primaryColor??"Not set"}`),console.log(`Founder: ${A.founderName??"Not set"}`),console.log(`Description: ${A.description??"Not set"}`),console.log(`Tone: ${A.toneVoice??"Not set"}`),console.log(`Context: ${A.companyContext??"Not set"}`),console.log(`Email length: ${A.emailLengthPreference}`),console.log(`Primary language: ${A.language}`),console.log(`Email direction: ${A.emailDirection}`),console.log(`Font family: ${A.fontFamily??"Not set"}`),console.log(`Address: ${A.address??"Not set"}`),console.log(`Privacy policy: ${A.privacyPolicyUrl??"Not set"}`),console.log(`Terms: ${A.termsUrl??"Not set"}`),console.log(`Created: ${VA(A.createdAt)}`),console.log(`Localization: ${Vp(A.emailLocalizationConfig)}`)}async function z$(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let C=await G0("GET","/api/v1/companies"),I=C.companies.map((S)=>{let K=yE({companyId:S.id});return{...S,url:K.urls.dashboard,settingsUrl:K.urls.settings}}),$=C.currentCompanyId!==null?yE({companyId:C.currentCompanyId}):void 0;if(x.json){Z0({...C,companies:I,...$!==void 0&&{appUrls:$.urls}});return}console.log(`Companies (${C.companies.length})`);for(let S of I){let K=S.id===C.currentCompanyId?" (current)":"";console.log(`- ${S.name} [${S.id}]${K}`),console.log(` Status: ${S.status}`),console.log(` Website: ${S.websiteUrl??"Not set"}`),Sx(" URL",S.url),Sx(" Settings",S.settingsUrl),console.log(` Localization: ${Vp(S.emailLocalizationConfig)}`)}return}if(!x.id){if(A!=="create")throw new r("Company ID is required",400)}if(A==="create"){if(!x.domain)throw new r("Domain is required",400);let C=await G0("POST","/api/v1/companies",{domain:x.domain,name:x.name}),I=yE({companyId:C.company.id});if(x.json){Z0({...C,company:{...C.company,url:I.urls.dashboard,settingsUrl:I.urls.settings},appUrls:I.urls,settingsUrls:I.settingsUrls});return}console.log(C.company.name),console.log(`ID: ${C.company.id}`),Sx("URL",I.urls.dashboard),Sx("Settings",I.urls.settings),console.log(`Status: ${C.company.status}`),console.log(`Website: ${C.company.websiteUrl??"Not set"}`),console.log(""),console.log(C.message);return}if(A==="update"){let C=x.id;if(!C)throw new r("Company ID is required",400);let I=await G0("PATCH",`/api/v1/companies/${C}`,k$0(x)),$=yE({companyId:C});if(x.json){Z0({...I,company:{...I.company,url:$.urls.dashboard,settingsUrl:$.urls.settings},appUrls:$.urls,settingsUrls:$.settingsUrls});return}console.log("Company updated"),Pp(I.company),Sx("URL",$.urls.dashboard),Sx("Settings",$.urls.settings);return}let E=await G0("GET",`/api/v1/companies/${x.id}`),D=yE({companyId:x.id});if(x.json){Z0({...E,company:{...E.company,url:D.urls.dashboard,settingsUrl:D.urls.settings},appUrls:D.urls,settingsUrls:D.settingsUrls});return}let B=E.company;Sx("URL",D.urls.dashboard),Sx("Settings",D.urls.settings),Pp(B);let g=Object.entries(B.emailLocalizationConfig.valueMappings);if(g.length>0){console.log("Mappings:");for(let[C,I]of g)console.log(`- ${C} -> ${I}`)}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var u$0=[{scope:"account:read",label:"Read account",description:"View account and workspace metadata.",group:"account"},{scope:"companies:manage",label:"Manage workspaces",description:"Create and update workspaces available to the key owner.",group:"account"},{scope:"subscribers:read",label:"Read subscribers",description:"View subscriber profiles, notes, list memberships, and activity.",group:"contacts"},{scope:"subscribers:write",label:"Write subscribers",description:"Create, update, tag, and unsubscribe subscribers.",group:"contacts"},{scope:"subscribers:delete",label:"Delete subscribers",description:"Permanently delete subscriber records.",group:"contacts",destructive:!0},{scope:"events:write",label:"Write events",description:"Record subscriber events and event properties.",group:"contacts"},{scope:"automations:trigger",label:"Trigger automations",description:"Allow subscriber, event, commerce, and tag changes to start or continue live automations and opt-in emails.",group:"contacts",liveDelivery:!0},{scope:"tags:read",label:"Read tags",description:"View tag definitions.",group:"contacts"},{scope:"tags:write",label:"Write tags",description:"Create and update tag definitions.",group:"contacts"},{scope:"tags:delete",label:"Delete tags",description:"Delete tag definitions and remove them from subscribers.",group:"contacts",destructive:!0},{scope:"lists:read",label:"Read lists",description:"View subscriber lists.",group:"contacts"},{scope:"lists:write",label:"Write lists",description:"Create, update, and manage subscriber lists.",group:"contacts"},{scope:"lists:delete",label:"Delete lists",description:"Delete subscriber lists.",group:"contacts",destructive:!0},{scope:"segments:read",label:"Read segments",description:"View saved segments and counts.",group:"contacts"},{scope:"segments:write",label:"Write segments",description:"Create and update saved segments.",group:"contacts"},{scope:"segments:delete",label:"Delete segments",description:"Delete saved segments.",group:"contacts",destructive:!0},{scope:"templates:read",label:"Read templates",description:"View reusable email templates.",group:"content"},{scope:"templates:write",label:"Write templates",description:"Create and update reusable email templates.",group:"content"},{scope:"templates:delete",label:"Delete templates",description:"Delete reusable email templates.",group:"content",destructive:!0},{scope:"emails:read",label:"Read emails",description:"View email content and render previews.",group:"content"},{scope:"emails:write",label:"Write emails",description:"Create and update email content.",group:"content"},{scope:"emails:delete",label:"Delete emails",description:"Delete email content records.",group:"content",destructive:!0},{scope:"landing_pages:read",label:"Read landing pages",description:"View landing pages and landing page domains.",group:"content"},{scope:"landing_pages:write",label:"Write landing pages",description:"Create, update, and verify landing pages and domains.",group:"content"},{scope:"landing_pages:delete",label:"Delete landing pages",description:"Delete landing pages and landing page domains.",group:"content",destructive:!0},{scope:"websites:read",label:"Read websites",description:"View discovered website and brand data.",group:"content"},{scope:"websites:write",label:"Write websites",description:"Create and process website records.",group:"content"},{scope:"websites:delete",label:"Delete websites",description:"Delete website records.",group:"content",destructive:!0},{scope:"campaigns:read",label:"Read campaigns",description:"View campaigns and campaign details.",group:"campaigns"},{scope:"campaigns:write",label:"Write campaigns",description:"Create, edit, and duplicate draft campaigns.",group:"campaigns"},{scope:"campaigns:delete",label:"Delete campaigns",description:"Delete campaigns.",group:"campaigns",destructive:!0},{scope:"campaigns:send",label:"Send campaigns",description:"Schedule, resume, pause, cancel, or test live campaign delivery.",group:"campaigns",liveDelivery:!0},{scope:"ab_tests:read",label:"Read A/B tests",description:"View campaign A/B tests and metrics.",group:"campaigns"},{scope:"ab_tests:write",label:"Write A/B tests",description:"Create, update, and run campaign A/B tests.",group:"campaigns"},{scope:"ab_tests:delete",label:"Delete A/B tests",description:"Delete campaign A/B tests and variants.",group:"campaigns",destructive:!0},{scope:"sequences:read",label:"Read sequences",description:"View sequences, steps, and sequence stats.",group:"sequences"},{scope:"sequences:write",label:"Write sequences",description:"Create and edit sequence drafts and steps.",group:"sequences"},{scope:"sequences:delete",label:"Delete sequences",description:"Delete sequences.",group:"sequences",destructive:!0},{scope:"sequences:activate",label:"Activate sequences",description:"Enable, disable, pause, and resume live sequence enrollment.",group:"sequences",liveDelivery:!0},{scope:"sequences:enroll",label:"Enroll subscribers",description:"Manually enroll or cancel subscribers in sequences.",group:"sequences",liveDelivery:!0},{scope:"transactional:read",label:"Read transactional emails",description:"View transactional email templates.",group:"transactional"},{scope:"transactional:write",label:"Write transactional emails",description:"Create and update transactional email templates.",group:"transactional"},{scope:"transactional:delete",label:"Delete transactional emails",description:"Delete transactional email templates.",group:"transactional",destructive:!0},{scope:"transactional:send",label:"Send transactional emails",description:"Send live transactional emails to recipients.",group:"transactional",liveDelivery:!0},{scope:"commerce:read",label:"Read commerce data",description:"View products and commerce records.",group:"commerce"},{scope:"commerce:write",label:"Write commerce data",description:"Push products, customers, orders, checkouts, and stock requests.",group:"commerce"},{scope:"commerce:delete",label:"Delete commerce data",description:"Delete products and commerce records.",group:"commerce",destructive:!0},{scope:"analytics:read",label:"Read analytics",description:"View campaign, sequence, subscriber, and email event analytics.",group:"analytics"},{scope:"audience_syncs:read",label:"Read audience syncs",description:"View external audience sync configuration.",group:"integrations"},{scope:"audience_syncs:write",label:"Write audience syncs",description:"Create, update, and run external audience syncs.",group:"integrations"},{scope:"audience_syncs:delete",label:"Delete audience syncs",description:"Delete external audience syncs.",group:"integrations",destructive:!0},{scope:"integrations:manage",label:"Manage integrations",description:"Manage integration, migration, and connected service setup.",group:"integrations"},{scope:"webhooks:read",label:"Read webhooks",description:"View outbound webhooks and deliveries.",group:"integrations"},{scope:"webhooks:write",label:"Write webhooks",description:"Create, update, and test outbound webhooks.",group:"integrations"},{scope:"webhooks:delete",label:"Delete webhooks",description:"Delete outbound webhooks.",group:"integrations",destructive:!0},{scope:"widgets:read",label:"Read widgets",description:"View widget configuration.",group:"integrations"},{scope:"widgets:write",label:"Write widgets",description:"Create and update widget configuration.",group:"integrations"},{scope:"widgets:delete",label:"Delete widgets",description:"Delete widget configuration.",group:"integrations",destructive:!0},{scope:"conversations:read",label:"Read conversations",description:"View inbound reply conversations.",group:"integrations"},{scope:"conversations:write",label:"Write conversations",description:"Update conversation state and send conversation replies.",group:"integrations",liveDelivery:!0},{scope:"team:read",label:"Read team",description:"View team members and invitations.",group:"admin"},{scope:"team:manage",label:"Manage team",description:"Invite, remove, and update team members.",group:"admin",liveDelivery:!0},{scope:"api_keys:manage",label:"Manage API keys",description:"Create API keys through the public API.",group:"admin"}],b$0=u$0.map((A)=>A.scope),Qd0=new Set(b$0);var vE;(function(A){A[A.AM=0]="AM",A[A.PM=1]="PM"})(vE||(vE={}));var L8;(function(A){A[A.SUNDAY=0]="SUNDAY",A[A.MONDAY=1]="MONDAY",A[A.TUESDAY=2]="TUESDAY",A[A.WEDNESDAY=3]="WEDNESDAY",A[A.THURSDAY=4]="THURSDAY",A[A.FRIDAY=5]="FRIDAY",A[A.SATURDAY=6]="SATURDAY"})(L8||(L8={}));var N5;(function(A){A[A.JANUARY=1]="JANUARY",A[A.FEBRUARY=2]="FEBRUARY",A[A.MARCH=3]="MARCH",A[A.APRIL=4]="APRIL",A[A.MAY=5]="MAY",A[A.JUNE=6]="JUNE",A[A.JULY=7]="JULY",A[A.AUGUST=8]="AUGUST",A[A.SEPTEMBER=9]="SEPTEMBER",A[A.OCTOBER=10]="OCTOBER",A[A.NOVEMBER=11]="NOVEMBER",A[A.DECEMBER=12]="DECEMBER"})(N5||(N5={}));function x7(A,x){A.assign("day",x.getDate()),A.assign("month",x.getMonth()+1),A.assign("year",x.getFullYear())}function dH(A,x){A.assign("hour",x.getHours()),A.assign("minute",x.getMinutes()),A.assign("second",x.getSeconds()),A.assign("millisecond",x.getMilliseconds()),A.assign("meridiem",x.getHours()<12?vE.AM:vE.PM)}function Q1(A,x){A.imply("day",x.getDate()),A.imply("month",x.getMonth()+1),A.imply("year",x.getFullYear())}function N$(A,x){A.imply("hour",x.getHours()),A.imply("minute",x.getMinutes()),A.imply("second",x.getSeconds()),A.imply("millisecond",x.getMilliseconds()),A.imply("meridiem",x.getHours()<12?vE.AM:vE.PM)}var h$0={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:{timezoneOffsetDuringDst:120,timezoneOffsetNonDst:60,dstStart:(A)=>vp(A,N5.MARCH,L8.SUNDAY,2),dstEnd:(A)=>vp(A,N5.OCTOBER,L8.SUNDAY,3)},CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CT:{timezoneOffsetDuringDst:-300,timezoneOffsetNonDst:-360,dstStart:(A)=>aD(A,N5.MARCH,L8.SUNDAY,2,2),dstEnd:(A)=>aD(A,N5.NOVEMBER,L8.SUNDAY,1,2)},CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:{timezoneOffsetDuringDst:-240,timezoneOffsetNonDst:-300,dstStart:(A)=>aD(A,N5.MARCH,L8.SUNDAY,2,2),dstEnd:(A)=>aD(A,N5.NOVEMBER,L8.SUNDAY,1,2)},FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:180,MST:-420,MT:{timezoneOffsetDuringDst:-360,timezoneOffsetNonDst:-420,dstStart:(A)=>aD(A,N5.MARCH,L8.SUNDAY,2,2),dstEnd:(A)=>aD(A,N5.NOVEMBER,L8.SUNDAY,1,2)},MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:{timezoneOffsetDuringDst:-420,timezoneOffsetNonDst:-480,dstStart:(A)=>aD(A,N5.MARCH,L8.SUNDAY,2,2),dstEnd:(A)=>aD(A,N5.NOVEMBER,L8.SUNDAY,1,2)},PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360};function aD(A,x,E,D,B=0){let g=0,C=0;while(C<D)if(g++,new Date(A,x-1,g).getDay()===E)C++;return new Date(A,x-1,g,B)}function vp(A,x,E,D=0){let B=E===0?7:E,g=new Date(A,x-1+1,1,12),C=g.getDay()===0?7:g.getDay(),I;if(C===B)I=7;else if(C<B)I=7+C-B;else I=C-B;return g.setDate(g.getDate()-I),new Date(A,x-1,g.getDate(),D)}function oH(A,x,E={}){if(A==null)return null;if(typeof A==="number")return A;let D=E[A]??h$0[A];if(D==null)return null;if(typeof D=="number")return D;if(x==null)return null;if(x>D.dstStart(x.getFullYear())&&!(x>D.dstEnd(x.getFullYear())))return D.timezoneOffsetDuringDst;return D.timezoneOffsetNonDst}var Tp={day:0,second:0,millisecond:0};function Z9(A,x){let E=new Date(A);if(x.y)x.year=x.y,delete x.y;if(x.mo)x.month=x.mo,delete x.mo;if(x.M)x.month=x.M,delete x.M;if(x.w)x.week=x.w,delete x.w;if(x.d)x.day=x.d,delete x.d;if(x.h)x.hour=x.h,delete x.h;if(x.m)x.minute=x.m,delete x.m;if(x.s)x.second=x.s,delete x.s;if(x.ms)x.millisecond=x.ms,delete x.ms;if("year"in x){let D=Math.floor(x.year);E.setFullYear(E.getFullYear()+D);let B=x.year-D;if(B>0)x.month=x?.month??0,x.month+=B*12}if("quarter"in x){let D=Math.floor(x.quarter);E.setMonth(E.getMonth()+D*3)}if("month"in x){let D=Math.floor(x.month);E.setMonth(E.getMonth()+D);let B=x.month-D;if(B>0)x.week=x?.week??0,x.week+=B*4}if("week"in x){let D=Math.floor(x.week);E.setDate(E.getDate()+D*7);let B=x.week-D;if(B>0)x.day=x?.day??0,x.day+=Math.round(B*7)}if("day"in x){let D=Math.floor(x.day);E.setDate(E.getDate()+D);let B=x.day-D;if(B>0)x.hour=x?.hour??0,x.hour+=Math.round(B*24)}if("hour"in x){let D=Math.floor(x.hour);E.setHours(E.getHours()+D);let B=x.hour-D;if(B>0)x.minute=x?.minute??0,x.minute+=Math.round(B*60)}if("minute"in x){let D=Math.floor(x.minute);E.setMinutes(E.getMinutes()+D);let B=x.minute-D;if(B>0)x.second=x?.second??0,x.second+=Math.round(B*60)}if("second"in x){let D=Math.floor(x.second);E.setSeconds(E.getSeconds()+D);let B=x.second-D;if(B>0)x.millisecond=x?.millisecond??0,x.millisecond+=Math.round(B*1000)}if("millisecond"in x){let D=Math.floor(x.millisecond);E.setMilliseconds(E.getMilliseconds()+D)}return E}function _D(A){let x={};for(let E in A)x[E]=-A[E];return x}class d7{instant;timezoneOffset;constructor(A,x){this.instant=A??new Date,this.timezoneOffset=x??null}static fromDate(A){return new d7(A)}static fromInput(A,x){if(A instanceof Date)return d7.fromDate(A);let E=A?.instant??new Date,D=oH(A?.timezone,E,x);return new d7(E,D)}getDateWithAdjustedTimezone(){let A=new Date(this.instant);if(this.timezoneOffset!==null)A.setMinutes(A.getMinutes()-this.getSystemTimezoneAdjustmentMinute(this.instant));return A}getSystemTimezoneAdjustmentMinute(A,x){if(!A||A.getTime()<0)A=new Date;let E=-A.getTimezoneOffset(),D=x??this.timezoneOffset??E;return E-D}getTimezoneOffset(){return this.timezoneOffset??-this.instant.getTimezoneOffset()}}class hE{knownValues;impliedValues;reference;_tags=new Set;constructor(A,x){if(this.reference=A,this.knownValues={},this.impliedValues={},x)for(let D in x)this.knownValues[D]=x[D];let E=A.getDateWithAdjustedTimezone();this.imply("day",E.getDate()),this.imply("month",E.getMonth()+1),this.imply("year",E.getFullYear()),this.imply("hour",12),this.imply("minute",0),this.imply("second",0),this.imply("millisecond",0)}static createRelativeFromReference(A,x=Tp){let E=Z9(A.getDateWithAdjustedTimezone(),x),D=new hE(A);if(D.addTag("result/relativeDate"),"hour"in x||"minute"in x||"second"in x||"millisecond"in x)D.addTag("result/relativeDateAndTime"),dH(D,E),x7(D,E),D.assign("timezoneOffset",A.getTimezoneOffset());else if(N$(D,E),D.imply("timezoneOffset",A.getTimezoneOffset()),"day"in x)D.assign("day",E.getDate()),D.assign("month",E.getMonth()+1),D.assign("year",E.getFullYear()),D.assign("weekday",E.getDay());else if("week"in x)D.assign("day",E.getDate()),D.assign("month",E.getMonth()+1),D.assign("year",E.getFullYear()),D.imply("weekday",E.getDay());else if(D.imply("day",E.getDate()),"month"in x)D.assign("month",E.getMonth()+1),D.assign("year",E.getFullYear());else if(D.imply("month",E.getMonth()+1),"year"in x)D.assign("year",E.getFullYear());else D.imply("year",E.getFullYear());return D}get(A){if(A in this.knownValues)return this.knownValues[A];if(A in this.impliedValues)return this.impliedValues[A];return null}isCertain(A){return A in this.knownValues}getCertainComponents(){return Object.keys(this.knownValues)}imply(A,x){if(A in this.knownValues)return this;return this.impliedValues[A]=x,this}assign(A,x){return this.knownValues[A]=x,delete this.impliedValues[A],this}addDurationAsImplied(A){let x=this.dateWithoutTimezoneAdjustment(),E=Z9(x,A);if("day"in A||"week"in A||"month"in A||"year"in A)this.delete(["day","weekday","month","year"]),this.imply("day",E.getDate()),this.imply("weekday",E.getDay()),this.imply("month",E.getMonth()+1),this.imply("year",E.getFullYear());if("second"in A||"minute"in A||"hour"in A)this.delete(["second","minute","hour"]),this.imply("second",E.getSeconds()),this.imply("minute",E.getMinutes()),this.imply("hour",E.getHours());return this}delete(A){if(typeof A==="string")A=[A];for(let x of A)delete this.knownValues[x],delete this.impliedValues[x]}clone(){let A=new hE(this.reference);A.knownValues={},A.impliedValues={};for(let x in this.knownValues)A.knownValues[x]=this.knownValues[x];for(let x in this.impliedValues)A.impliedValues[x]=this.impliedValues[x];return A}isOnlyDate(){return!this.isCertain("hour")&&!this.isCertain("minute")&&!this.isCertain("second")}isOnlyTime(){return!this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")&&!this.isCertain("year")}isOnlyWeekdayComponent(){return this.isCertain("weekday")&&!this.isCertain("day")&&!this.isCertain("month")}isDateWithUnknownYear(){return this.isCertain("month")&&!this.isCertain("year")}isValidDate(){let A=this.dateWithoutTimezoneAdjustment();if(A.getFullYear()!==this.get("year"))return!1;if(A.getMonth()!==this.get("month")-1)return!1;if(A.getDate()!==this.get("day"))return!1;if(this.get("hour")!=null&&A.getHours()!=this.get("hour"))return!1;if(this.get("minute")!=null&&A.getMinutes()!=this.get("minute"))return!1;return!0}toString(){return`[ParsingComponents {
|
|
335
335
|
tags: ${JSON.stringify(Array.from(this._tags).sort())},
|
|
@@ -377,10 +377,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
377
377
|
`)}`);else if(A.bodyHtml)console.log(" (HTML body; use --json for the full content)")}async function KF(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=oV0(x),g=await G0("GET",`/api/v1/conversations${B.size>0?`?${B.toString()}`:""}`,void 0,x.company);if(x.json){Z0(g);return}console.log(`Conversations (${g.conversations.length} of ${g.pagination.total})`);for(let C of g.conversations)sV0(C);console.log(`Page ${g.pagination.page} of ${Math.max(g.pagination.totalPages,1)}`);return}if(!x.conversationId)throw new r("Conversation ID is required",400);let E=`/api/v1/conversations/${encodeURIComponent(x.conversationId)}`;if(A==="get"){let B=await G0("GET",E,void 0,x.company);if(x.json){Z0(B);return}let g=B.conversation;console.log(`${g.subject??"(no subject)"} [${g.id}]`),console.log(`Status: ${g.status}`);let C=g.subscriberName?`${g.subscriberName} <${g.subscriberEmail??"unknown"}>`:g.subscriberEmail??"Unknown";if(console.log(`Subscriber: ${C}`),console.log(`Messages: ${g.messageCount}`),console.log(`Unread: ${g.hasUnread?"yes":"no"}`),console.log(`Created: ${VA(g.createdAt)}`),g.messages.length>0){console.log("Messages:");for(let I of g.messages)eV0(I)}return}if(A==="reply"){let B=tV0(x),g=await G0("POST",`${E}/messages`,B,x.company);if(x.json){Z0(g);return}if(console.log(B.type==="note"?`Note added to conversation: ${x.conversationId}`:`Reply sent in conversation: ${x.conversationId}`),console.log(`Message ID: ${g.message.id}`),g.message.deliveryStatus)console.log(`Delivery: ${g.message.deliveryStatus}`);return}if(A==="close"||A==="reopen"){let B=A==="close"?"closed":"open",g=await G0("POST",`${E}/status`,{status:B},x.company);if(x.json){Z0(g);return}console.log(`Conversation ${B==="closed"?"closed":"reopened"}: ${g.conversation.id}`);return}let D=await G0("POST",`${E}/read`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Marked ${D.updated} message(s) as read in conversation: ${x.conversationId}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function Av0(A){return YE(A.contentJson,A.contentFile,"content")}function vA0(A){let x=Av0(A);return{...A.name!==void 0&&{name:A.name},...A.slug!==void 0&&{slug:A.slug},...A.template!==void 0&&{template:A.template},...x!==void 0&&{content:x}}}function PA0(A,x){let E=vA0(A);if(x==="update"&&E.name===void 0&&E.slug===void 0&&E.content===void 0)throw new r("Provide at least one of --name, --slug, or --content.",400);return E}function sU(A){if(console.log(`${A.name} [${A.id}]`),console.log(`Status: ${A.status}`),console.log(`Slug: ${A.slug}`),console.log(`Views: ${A.viewCount}`),console.log(`Conversions: ${A.conversionCount}`),console.log(`Created: ${VA(A.createdAt)}`),console.log(`Updated: ${VA(A.updatedAt)}`),A.publishedAt)console.log(`Published: ${VA(A.publishedAt)}`);Sx("URL",A.url),Sx("Public URL",A.publicUrl??void 0),Sx("App Public URL",A.appPublicUrl??void 0)}function VA0(A){let x=A.domain;if(console.log(x.domain??"No landing page domain connected"),console.log(`Status: ${x.domainStatus}`),console.log(`CNAME Target: ${x.cnameTarget}`),x.verifiedAt)console.log(`Verified: ${VA(x.verifiedAt)}`);if(x.lastCheckedAt)console.log(`Last checked: ${VA(x.lastCheckedAt)}`);if(x.message??A.message)console.log(x.message??A.message);if(x.error)console.log(`Error: ${x.error}`);if(x.verificationRecords.length>0)console.log("Verification records:"),Z0(x.verificationRecords);if(x.actualValues&&x.actualValues.length>0)console.log("Actual DNS values:"),Z0(x.actualValues)}async function y2(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=await G0("GET","/api/v1/landing-pages",void 0,x.company),B=D.landingPages.map((g)=>aC(g,{landingPageId:g.id},"landingPage",g.companyId));if(x.json){Z0({...D,landingPages:B});return}console.log(`Landing pages (${B.length})`);for(let g of B)console.log(`- ${g.name} [${g.id}]`),console.log(` Status: ${g.status}`),console.log(` Slug: ${g.slug}`),console.log(` Updated: ${VA(g.updatedAt)}`),Sx(" URL",g.url),Sx(" Public URL",g.publicUrl??void 0);return}if(A==="connect-domain"){if(!x.domain)throw new r("Domain is required",400);let D=await G0("POST","/api/v1/landing-pages/domain",{domain:x.domain},x.company);if(x.json){Z0(D);return}VA0(D);return}if(A==="update-domain-settings"){if(!x.domain&&!x.verify)throw new r("Provide --domain or --verify",400);let D=await G0("PUT","/api/v1/landing-pages/domain",{...x.domain!==void 0&&{domain:x.domain},...x.verify!==void 0&&{verify:x.verify}},x.company);if(x.json){Z0(D);return}VA0(D);return}if(!x.id&&A!=="create")throw new r("Landing page ID is required",400);if(A==="get"){let D=await G0("GET",`/api/v1/landing-pages/${encodeURIComponent(x.id??"")}`,void 0,x.company),B=aC(D.landingPage,{landingPageId:D.landingPage.id},"landingPage",D.landingPage.companyId);if(x.json){Z0({...D,landingPage:B});return}sU(B);return}if(A==="create"){let D=vA0(x),B=await G0("POST","/api/v1/landing-pages",D,x.company),g=await c8(x.company),C=g!==void 0?yE({companyId:g,landingPageId:B.landingPage.id}):void 0,I=C?.urls.landingPage!==void 0?{...B.landingPage,url:C.urls.landingPage}:B.landingPage;if(x.json){Z0({...B,landingPage:I,...C!==void 0&&{appUrls:C.urls}});return}if(sU(I),B.message)console.log(B.message);return}if(A==="update"){let D=PA0(x,A),B=await G0("PUT",`/api/v1/landing-pages/${encodeURIComponent(x.id??"")}`,D,x.company);if(x.json){Z0(B);return}sU(B.landingPage);return}if(A==="publish"||A==="unpublish"){let D=PA0(x,A),B=await G0("POST",`/api/v1/landing-pages/${encodeURIComponent(x.id??"")}/${A}`,D,x.company);if(x.json){Z0(B);return}sU(B.landingPage);return}let E=await G0("DELETE",`/api/v1/landing-pages/${encodeURIComponent(x.id??"")}`,void 0,x.company);if(x.json){Z0(E);return}console.log(E.message??`Deleted landing page ${E.landingPageId}.`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var xv0=new Set(["skip","merge","overwrite"]),Ev0=new Set(["default","confirmed","double_opt_in"]),TA0=500;function Bv0(A){return Array.isArray(A)?A:[]}function uA0(A,x){let E=Array.isArray(A)?A:typeof A==="object"&&A!==null&&Array.isArray(A.emails)?A.emails:typeof A==="object"&&A!==null&&Array.isArray(A.subscribers)?A.subscribers:null;if(!E)throw new r(`${x} must be a JSON array, or an object with an emails or subscribers array`,400);return E.map((D,B)=>{if(typeof D==="string")return D;if(typeof D==="object"&&D!==null){let g=D;if(typeof g.email==="string")return g.email}throw new r(`${x} item ${B+1} must be an email string or object with an email field`,400)})}function Dv0(A){let x=!1;for(let E=0;E<A.length;E+=1){let D=A[E];if(D==='"'){if(x&&A[E+1]==='"'){E+=1;continue}x=!x;continue}if((D===`
|
|
378
378
|
`||D==="\r")&&!x)return A.slice(0,E)}return A}function gv0(A){let x=[",",";","\t"],E=",",D=0;for(let B of x){let g=0,C=!1;for(let I=0;I<A.length;I+=1){let $=A[I];if($==='"'){if(C&&A[I+1]==='"'){I+=1;continue}C=!C}else if($===B&&!C)g+=1}if(g>D)D=g,E=B}return E}function Cv0(A){let x=A.replace(/^\uFEFF/,"");if(!x.trim())return[];let E=gv0(Dv0(x.trimStart())),D=[],B=[],g="",C=!1,I=()=>{B.push(g.trim()),g=""},$=()=>{if(I(),B.some((S)=>S.trim()!==""))D.push(B);B=[]};for(let S=0;S<x.length;S+=1){let K=x[S];if(K==='"'){if(C&&x[S+1]==='"')g+='"',S+=1;else C=!C;continue}if(K===E&&!C){I();continue}if((K===`
|
|
379
379
|
`||K==="\r")&&!C){if(K==="\r"&&x[S+1]===`
|
|
380
|
-
`)S+=1;$();continue}g+=K}return $(),D}function Fv0(A){let x=A.findIndex((E)=>/^(email|e-mail|email address|mail)$/i.test(E.trim()));return x===-1?void 0:x}function Qv0(A){let x=A.trim();if(x.startsWith("[")||x.startsWith("{"))return uA0(JSON.parse(x),"emails-file");let E=Cv0(A);if(E.length===0)return[];let D=E[0]??[],B=Fv0(D);if(B!==void 0)return E.slice(1).map((g)=>g[B]??"");return E.map((g)=>g[0]??"")}function eU(A){let x=Bv0(A.email);if((x.length>0?1:0)+(A.emailsJson!==void 0?1:0)+(A.emailsFile!==void 0?1:0)!==1)throw new r("Provide exactly one email source: --email, --emails-json, or --emails-file",400);if(x.length>0)return x;if(A.emailsJson!==void 0){let B=YE(A.emailsJson,void 0,"emails");return uA0(B,"emails")}let D=e4(void 0,A.emailsFile,"emails");if(D!==void 0)try{return Qv0(D)}catch(B){throw new r(`Invalid emails file: ${B instanceof Error?B.message:"Unknown error"}`,400)}return[]}function Iv0(A){let x=eU(A),E=A.duplicateStrategy??"skip",D=A.optInMode??"default";if(x.length===0)throw new r("Provide at least one email address",400);if(!xv0.has(E))throw new r("--duplicate-strategy must be one of: skip, merge, overwrite",400);if(!Ev0.has(D))throw new r("--opt-in-mode must be one of: default, confirmed, double_opt_in",400);return{emails:x,duplicateStrategy:E,enrollInSequences:A.enrollSequences===!0,optInMode:D}}function yv0(A){if(console.log(`Added subscribers to list: ${A.listId}`),console.log(`Processed: ${A.processed} of ${A.total}`),console.log(`Created: ${A.created}`),console.log(`Updated or added to list: ${A.updated}`),console.log(`Already present/skipped: ${A.skipped}`),console.log(`New list memberships: ${A.addedToList}`),console.log(`Failed: ${A.failed}`),A.duplicateInputCount>0)console.log(`Duplicate input rows ignored: ${A.duplicateInputCount}`);if(A.ignoredBlankCount>0)console.log(`Blank input rows ignored: ${A.ignoredBlankCount}`);let x=A.results.filter((E)=>!E.success);for(let E of x.slice(0,10))console.log(`- ${E.email}: ${E.error??"Failed"}`);if(x.length>10)console.log(`...and ${x.length-10} more failures`)}function kA0(A){let x=[];for(let E=0;E<A.length;E+=TA0)x.push(A.slice(E,E+TA0));return x}function wv0(A){if(A.name!==void 0&&A.name.trim()==="")throw new r("List name cannot be empty",400);let x={...A.name!==void 0&&{name:A.name},...A.description!==void 0&&{description:A.description},...A.private!==void 0&&{isPrivate:A.private}};if(Object.keys(x).length===0)throw new r("Provide at least one of: --name, --description, --private/--no-private",400);return x}function $v0(A){let x=eU(A);if(x.length===0)throw new r("Provide at least one email address",400);return{emails:x}}function fv0(A,x){return x.reduce((E,D)=>({success:E.success&&D.success,listId:A,total:E.total+D.total,processed:E.processed+D.processed,created:E.created+D.created,updated:E.updated+D.updated,skipped:E.skipped+D.skipped,addedToList:E.addedToList+D.addedToList,failed:E.failed+D.failed,duplicateInputCount:E.duplicateInputCount+D.duplicateInputCount,ignoredBlankCount:E.ignoredBlankCount+D.ignoredBlankCount,results:[...E.results,...D.results]}),{success:!0,listId:A,total:0,processed:0,created:0,updated:0,skipped:0,addedToList:0,failed:0,duplicateInputCount:0,ignoredBlankCount:0,results:[]})}async function Kg(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=await G0("GET","/api/v1/lists",void 0,x.company);if(x.json){Z0(D);return}console.log(`Lists (${D.lists.length})`);for(let B of D.lists){let g=B.isPrivate?"private":"public";console.log(`- ${B.name} [${B.id}]`),console.log(` Visibility: ${g}`),console.log(` Description: ${B.description??"None"}`),console.log(` Created: ${VA(B.createdAt)}`)}return}if(A==="add-subscribers"){if(!x.listId)throw new r("List ID is required",400);let D=Iv0(x),B=kA0(D.emails),g=[];for(let I of B)g.push(await G0("POST",`/api/v1/lists/${encodeURIComponent(x.listId)}/subscribers`,{...D,emails:I},x.company));let C=fv0(x.listId,g);if(x.json){Z0(C);return}yv0(C);return}if(A==="remove-subscribers"){if(!x.listId)throw new r("List ID is required",400);let D=$v0(x),B=kA0(D.emails),g=0,C=[];for(let I of B){let $=await G0("POST",`/api/v1/lists/${encodeURIComponent(x.listId)}/subscribers/remove`,{emails:I},x.company);g+=$.removed,C.push(...$.notFound)}if(x.json){Z0({success:!0,listId:x.listId,removed:g,notFound:C});return}if(console.log(`Removed ${g} subscriber(s) from list: ${x.listId}`),C.length>0){console.log(`Not found: ${C.length}`);for(let I of C.slice(0,10))console.log(`- ${I}`);if(C.length>10)console.log(`...and ${C.length-10} more`)}return}if(A==="update"){if(!x.listId)throw new r("List ID is required",400);let D=wv0(x),B=await G0("PATCH",`/api/v1/lists/${encodeURIComponent(x.listId)}`,D,x.company);if(x.json){Z0(B);return}console.log(`Updated list: ${B.list.name}`),console.log(`ID: ${B.list.id}`),console.log(`Visibility: ${B.list.isPrivate?"private":"public"}`),console.log(`Description: ${B.list.description??"None"}`);return}if(A==="delete"){if(!x.listId)throw new r("List ID is required",400);if(!await N6(`Delete list ${x.listId}? This removes the list and all of its memberships.`,x)){console.log("Aborted.");return}let D=await G0("DELETE",`/api/v1/lists/${encodeURIComponent(x.listId)}`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Deleted list: ${x.listId}`),console.log(`Removed memberships: ${D.removedMemberships}`);return}if(!x.name)throw new r("List name is required",400);let E=await G0("POST","/api/v1/lists",{name:x.name,description:x.description,isPrivate:x.private},x.company);if(x.json){Z0(E);return}console.log(`Created list: ${E.list.name}`),console.log(`ID: ${E.list.id}`),console.log(`Visibility: ${E.list.isPrivate?"private":"public"}`),console.log(`Description: ${E.list.description??"None"}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}import Sv0 from"node:os";var bA0=process.env.SEQUENZY_API_URL??"https://api.sequenzy.com",Gv0=process.env.SEQUENZY_APP_URL??"https://sequenzy.com",Jv0=5;function Hv0(A){return new Promise((x)=>{setTimeout(x,A)})}function Kv0(A,x,E=`${Gv0}/setup/auth`){let D=A&&A.trim().length>0?A:E,B=new URL(D);return B.searchParams.set("code",x),B.toString()}async function Yv0(){let A=`${process.platform}-${Sv0.hostname()}`,x=await fetch(`${bA0}/api/device-auth/initiate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceName:A,clientType:"cli"})}),E=await x.json();if(!x.ok||!E.success||!E.data)throw Error(E.error??"Failed to initiate login.");return E.data}async function Uv0(A){let x=Date.now()+A.expiresIn*1000,E=Math.max(A.pollInterval,Jv0)*1000;while(Date.now()<x){await Hv0(E);let D;try{D=await(await fetch(`${bA0}/api/device-auth/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:A.deviceCode})})).json()}catch{continue}if(D.success&&D.data)return D.data;if(D.error==="authorization_pending")continue;if(D.error==="access_denied")throw Error("Authorization denied.");if(D.error==="expired_token")throw Error("Authorization expired. Please try again.");throw Error(D.error??"Failed to complete login.")}throw Error("Authorization timed out. Please try again.")}async function qv0(){if(await cA())throw Error("Already logged in. Run `sequenzy logout` first to switch accounts.");let A=await Yv0(),x=Kv0(A.verificationUrl,A.userCode);console.log("Sequenzy Login"),console.log(""),console.log("Open this link in a browser to approve this CLI session:"),console.log(x),console.log(""),console.log(`Code: ${A.userCode}`),console.log(`Waiting for approval... leave this terminal open for up to ${Math.ceil(A.expiresIn/60)} minutes.`);let E=await Uv0({deviceCode:A.deviceCode,pollInterval:A.pollInterval,expiresIn:A.expiresIn});await Gp(E.apiKey),Hp({userId:E.userId,userEmail:E.userEmail}),console.log(""),console.log(`Logged in as ${E.userEmail??E.userId}.`),console.log("Run `sequenzy --help` to see available commands.")}async function iA0(){await qv0().catch((A)=>{e0(A instanceof Error&&A.message.includes("Not logged in")?dA():A),process.exitCode=1})}async function hA0(){if(!await cA()){e0(dA());return}await Jp(),Kp(),console.log("Logged out successfully.")}import{readFileSync as UT0,statSync as qT0}from"node:fs";import{basename as XT0}from"node:path";var Xv0=q.object({tags:q.array(q.string()).optional(),collectionIds:q.array(q.string()).optional(),productTypes:q.array(q.string()).optional(),vendors:q.array(q.string()).optional()}),Zv0=q.object({requiresTags:q.array(q.string()).optional(),requiresNotTags:q.array(q.string()).optional(),purchasedProduct:Xv0.optional()}),Mv0=q.object({triggerEvent:q.string().min(1),actions:q.object({addTags:q.array(q.string()),removeTags:q.array(q.string())}),conditions:Zv0.optional()}),v1A=q.array(Mv0).nullable();var Wv0=1,mA0=262144,cA0=500,Rv0=20,Lv0=50,nA0=20,pA0=5,jv0=["equals","not_equals","in","not_in","contains","exists","gt","gte","lt","lte"];function zv0(A){return new TextEncoder().encode(JSON.stringify(A)).length}var Nv0=q.record(q.string(),q.unknown()).superRefine((A,x)=>{if(zv0(A)>mA0)x.addIssue({code:q.ZodIssueCode.custom,message:`Campaign data must be ${mA0} bytes or smaller.`});for(let[D,B]of Object.entries(A))if(Array.isArray(B)&&B.length>cA0)x.addIssue({code:q.ZodIssueCode.custom,path:[D],message:`Campaign data array "${D}" can contain at most ${cA0} items.`})}),rA0=q.object({itemField:q.string().trim().min(1).max(200),operator:q.enum(jv0).default("equals"),subscriberField:q.string().trim().min(1).max(200).optional(),value:q.unknown().optional()}).refine((A)=>A.operator==="exists"||A.subscriberField!==void 0||A.value!==void 0,{message:"Rule must provide subscriberField or value unless operator is exists"}),aA0=q.object({field:q.string().trim().min(1).max(200),direction:q.enum(["asc","desc"]).default("asc")}),Ov0=q.object({strategy:q.enum(["none","fill_from_source"]).default("none"),rules:q.array(rA0).max(nA0).default([]),sort:q.array(aA0).max(pA0).default([])}),Pv0=q.string().trim().min(1).max(120).regex(/^[A-Za-z_][A-Za-z0-9_.]*$/,"Use letters, numbers, underscores, or dots; start with a letter or underscore").refine((A)=>{return!["campaign","subscriber","company","variables","event","discount"].some((E)=>A===E||A.startsWith(`${E}.`))},{message:"Computed list key uses a reserved variable name"}),lA0=q.number().int().min(0).max(Lv0),Vv0=q.object({key:Pv0,source:q.string().trim().min(1).max(200),itemAlias:q.string().trim().min(1).max(80).optional(),limit:lA0.optional(),maxItems:lA0.optional(),rules:q.array(rA0).max(nA0).default([]),sort:q.array(aA0).max(pA0).default([]),fallback:Ov0.optional()}).refine((A)=>A.limit===void 0||A.maxItems===void 0||A.limit===A.maxItems,{message:"Use either limit or maxItems, not conflicting values.",path:["maxItems"]}).transform(({maxItems:A,limit:x,...E})=>({...E,limit:A??x??5})),vv0=q.array(Vv0).max(Rv0).superRefine((A,x)=>{let E=new Set;A.forEach((D,B)=>{if(E.has(D.key)){x.addIssue({code:q.ZodIssueCode.custom,path:[B,"key"],message:`Computed list key "${D.key}" must be unique.`});return}E.add(D.key)})}),b1A=q.object({version:q.literal(Wv0).default(1),campaignData:Nv0.nullable().default(null),computedLists:vv0.default([])});var _A0=["from-scratch","waitlist","lead-magnet","launch","demo-request","webinar","newsletter","product-hunt","pricing-offer","agency-lead-gen","feature-announcement"];var Tv0=["hero","form","body","footer"],kv0=["modern-sans","editorial-serif","classic-serif","friendly-rounded","commerce-sans","technical-mono"],uv0=["compact","balanced","spacious"],bv0=["pill","underline","bar","badge"],iv0=["soft","outlined","solid","minimal"],dA0={enabled:!0,duplicateStrategy:"skip",listMode:"default",listIds:[],tagIds:[],showFirstName:!0,showLastName:!1,firstNameRequired:!1,lastNameRequired:!1,emailPlaceholder:"you@example.com",firstNamePlaceholder:"First name",lastNamePlaceholder:"Last name",buttonText:"Join the list",successMessage:"You're on the list."},oA0={accentColor:"#f97316",backgroundColor:"#ffffff",textColor:"#111827",mutedTextColor:"#6b7280",cardColor:"#ffffff",borderRadius:8,fontPair:"modern-sans",headingFontFamily:"",bodyFontFamily:"",density:"balanced",accentStyle:"pill",surfaceStyle:"soft"};var hv0=24,mv0=96,tA0=36,sA0={enabled:!0,showLogo:!0,logoUrl:"",logoSize:tA0,showName:!0,name:""},eA0={id:"landing-page-footer",kind:"footer",slot:"footer",brandText:"Built by Sequenzy",showBrandText:!0,showPrivacyLink:!0,privacyLabel:"Privacy",privacyUrl:"",showTermsLink:!0,termsLabel:"Terms",termsUrl:""},Ax0=q.object({title:q.string().trim().max(120),description:q.string().trim().max(300)}),cv0=q.object({value:q.string().trim().min(1).max(40),label:q.string().trim().min(1).max(120)}),lv0=q.object({quote:q.string().trim().min(1).max(500),name:q.string().trim().min(1).max(120),role:q.string().trim().max(160).default(""),avatarUrl:q.string().trim().max(1000).default("").optional()}),nv0=q.object({name:q.string().trim().min(1).max(80)}),pv0=q.object({question:q.string().trim().min(1).max(160),answer:q.string().trim().min(1).max(500)}),xx0=q.object({enabled:q.boolean().default(!0),duplicateStrategy:q.enum(["skip","merge","overwrite"]).default("skip"),listMode:q.enum(["default","none","specific"]).default("default"),listIds:q.array(q.string()).default([]),tagIds:q.array(q.string()).default([]),showFirstName:q.boolean().default(!0),showLastName:q.boolean().default(!1),firstNameRequired:q.boolean().default(!1),lastNameRequired:q.boolean().default(!1),emailPlaceholder:q.string().trim().max(120).default("you@example.com"),firstNamePlaceholder:q.string().trim().max(120).default("First name"),lastNamePlaceholder:q.string().trim().max(120).default("Last name"),buttonText:q.string().trim().min(1).max(80).default("Join the list"),successMessage:q.string().trim().min(1).max(240).default("You're on the list."),redirectUrl:q.string().trim().max(500).optional()}),CS=q.string().trim().regex(/^#[0-9a-fA-F]{6}$/),Ex0=q.object({accentColor:CS.default("#f97316"),backgroundColor:CS.default("#ffffff"),textColor:CS.default("#111827"),mutedTextColor:CS.default("#6b7280"),cardColor:CS.default("#ffffff"),borderRadius:q.number().int().min(0).max(24).default(8),fontPair:q.enum(kv0).default("modern-sans"),headingFontFamily:q.string().trim().max(160).default(""),bodyFontFamily:q.string().trim().max(160).default(""),density:q.enum(uv0).default("balanced"),accentStyle:q.enum(bv0).default("pill"),surfaceStyle:q.enum(iv0).default("soft")}),rv0=q.object({enabled:q.boolean().default(!0),showLogo:q.boolean().default(!0),logoUrl:q.string().trim().max(1000).default(""),logoSize:q.number().int().min(hv0).max(mv0).default(tA0),showName:q.boolean().default(!0),name:q.string().trim().max(120).default("")}),Zv=q.object({sectionId:q.string().trim().min(1).max(128).optional(),sectionKind:q.string().trim().min(1).max(80).optional(),sectionLabel:q.string().trim().min(1).max(120).optional(),sectionVariant:q.string().trim().max(80).optional(),sectionLayout:q.enum(["stack","split","center"]).optional(),sectionAlign:q.enum(["left","center","right"]).optional()}),w2=q.enum(["left","center","right"]),u5=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.enum(Tv0)}),av0=u5.extend({kind:q.literal("heading"),level:q.union([q.literal(1),q.literal(2),q.literal(3)]).default(2),content:q.string().trim().min(1).max(180),align:w2.optional()}),_v0=u5.extend({kind:q.literal("text"),variant:q.enum(["paragraph","eyebrow","caption"]).default("paragraph"),content:q.string().trim().max(700),align:w2.optional()}),dv0=q.object({src:q.string().trim().max(1000).default(""),alt:q.string().trim().max(160).default(""),linkUrl:q.string().trim().max(500).optional()}),ov0=["cover","contain"],tv0=25,sv0=80,ev0=640,AT0=u5.extend({kind:q.literal("image"),src:q.string().trim().max(1000).default(""),alt:q.string().trim().max(160).default(""),images:q.array(dv0).max(3).default([]).optional(),align:w2.optional(),width:q.number().int().min(tv0).max(100).optional(),height:q.number().int().min(sv0).max(ev0).optional(),fit:q.enum(ov0).optional()}),xT0=u5.extend({kind:q.literal("button"),text:q.string().trim().min(1).max(80),url:q.string().trim().max(500).default(""),variant:q.enum(["primary","secondary"]).default("primary"),align:w2.optional()}),ET0=u5.extend({kind:q.literal("custom-html"),html:q.string().max(20000).default(""),height:q.number().int().min(40).max(1200).default(320)}),Aq=q.number().int().min(1).max(6),BT0=u5.extend({kind:q.literal("feature-grid"),features:q.array(Ax0).min(1).max(6),align:w2.optional(),columns:Aq.optional(),layout:q.enum(["row","column"]).optional()}),DT0=u5.extend({kind:q.literal("stats"),stats:q.array(cv0).min(1).max(6),align:w2.optional(),columns:Aq.optional()}),gT0=u5.extend({kind:q.literal("testimonial"),testimonials:q.array(lv0).min(1).max(3),align:w2.optional(),columns:Aq.optional(),layout:q.enum(["row","column"]).optional()}),CT0=u5.extend({kind:q.literal("logo-cloud"),heading:q.string().trim().max(120).default("Trusted by teams building faster"),logos:q.array(nv0).min(1).max(8),align:w2.optional(),columns:Aq.optional()}),FT0=u5.extend({kind:q.literal("faq"),heading:q.string().trim().max(120).default("Common questions"),items:q.array(pv0).min(1).max(8),align:w2.optional()}),QT0=u5.extend({kind:q.literal("pricing"),eyebrow:q.string().trim().max(80).default("Simple pricing"),heading:q.string().trim().min(1).max(140),description:q.string().trim().max(300).default(""),price:q.string().trim().min(1).max(80),period:q.string().trim().max(80).default(""),buttonText:q.string().trim().min(1).max(80),buttonUrl:q.string().trim().max(500).default(""),features:q.array(q.string().trim().min(1).max(160)).min(1).max(8),align:w2.optional()}),IT0=-3,yT0=3,wT0=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.literal("form"),kind:q.literal("form"),heading:q.string().trim().max(120).default("Get early access"),description:q.string().trim().max(240).default(""),form:xx0.default(dA0),cardTilt:q.number().int().min(IT0).max(yT0).optional()}),$T0=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.literal("footer"),kind:q.literal("footer"),brandText:q.string().trim().max(120).default("Built by Sequenzy"),showBrandText:q.boolean().default(!0),showPrivacyLink:q.boolean().default(!0),privacyLabel:q.string().trim().max(80).default("Privacy"),privacyUrl:q.string().trim().max(500).default(""),showTermsLink:q.boolean().default(!0),termsLabel:q.string().trim().max(80).default("Terms"),termsUrl:q.string().trim().max(500).default("")}),fT0=u5.extend({kind:q.literal("spacer"),height:q.number().int().min(8).max(160).default(32)}),ST0=u5.extend({kind:q.literal("divider")}),GT0=q.discriminatedUnion("kind",[av0,_v0,AT0,xT0,ET0,BT0,DT0,gT0,CT0,FT0,QT0,wT0,$T0,fT0,ST0]),JT0=q.object({title:q.string().trim().max(70).optional(),description:q.string().trim().max(160).optional()}),Bx0=q.object({version:q.literal(2),template:q.enum(_A0).default("waitlist"),seo:JT0.default({}),header:rv0.default(sA0),theme:Ex0.default(oA0),blocks:q.array(GT0).min(1)}).superRefine((A,x)=>{let E=A.blocks.filter((B)=>B.kind==="form").length,D=A.blocks.filter((B)=>B.kind==="footer").length;if(E>1)x.addIssue({code:"custom",message:"Landing pages can contain at most one form block.",path:["blocks"]});if(D!==1)x.addIssue({code:"custom",message:"Landing pages must contain exactly one footer block.",path:["blocks"]})}),HT0=q.object({template:q.enum(_A0).default("waitlist"),eyebrow:q.string().trim().max(80).default("Coming soon"),title:q.string().trim().min(1).max(160),description:q.string().trim().max(500).default(""),formHeading:q.string().trim().max(120).default("Get early access"),formDescription:q.string().trim().max(240).default(""),secondaryCtaText:q.string().trim().max(80).optional(),secondaryCtaUrl:q.string().trim().max(500).optional(),imageUrl:q.string().trim().max(1000).optional(),socialProof:q.string().trim().max(180).optional(),features:q.array(Ax0).max(6).default([]),form:xx0.default(dA0),theme:Ex0.default(oA0),seoTitle:q.string().trim().max(70).optional(),seoDescription:q.string().trim().max(160).optional()}),m1A=q.preprocess((A)=>{if(typeof A==="object"&&A!==null&&"version"in A&&A.version===2)return YT0(A);let x=HT0.safeParse(A);if(!x.success)return A;return KT0(x.data)},Bx0);function KT0(A){let x=[{id:"hero-eyebrow",kind:"text",slot:"hero",variant:"eyebrow",content:A.eyebrow},{id:"hero-title",kind:"heading",slot:"hero",level:1,content:A.title},{id:"hero-description",kind:"text",slot:"hero",variant:"paragraph",content:A.description}];if(A.secondaryCtaText&&A.secondaryCtaUrl)x.push({id:"hero-secondary-cta",kind:"button",slot:"hero",text:A.secondaryCtaText,url:A.secondaryCtaUrl,variant:"secondary"});if(A.imageUrl)x.push({id:"form-image",kind:"image",slot:"form",src:A.imageUrl,alt:A.title});if(x.push({id:"signup-form",kind:"form",slot:"form",heading:A.formHeading,description:A.formDescription,form:A.form}),A.features.length>0)x.push({id:"body-feature-grid",kind:"feature-grid",slot:"body",features:A.features});if(A.socialProof)x.push({id:"body-social-proof",kind:"text",slot:"body",variant:"caption",content:A.socialProof});return x.push({...eA0}),Bx0.parse({version:2,template:A.template,seo:{title:A.seoTitle,description:A.seoDescription},header:sA0,theme:A.theme,blocks:x})}function YT0(A){if(typeof A!=="object"||A===null)return A;let x=A;if(!Array.isArray(x.blocks))return A;if(x.blocks.some((D)=>typeof D==="object"&&D!==null&&("kind"in D)&&D.kind==="footer"))return A;return{...A,blocks:[...x.blocks,{...eA0}]}}var Mv=["email.sent","email.delivered","email.delivery_delayed","email.bounced","email.complained","email.opened","email.clicked","email.replied","email.unsubscribed","sms.sent","sms.delivered","sms.failed","sms.opted_out","subscriber.invalid","subscriber.updated","subscriber.unsubscribed","subscriber.list_subscribed","subscriber.list_unsubscribed","sequence.finished","sequence.failed","poll.answered"];var ZT0={pdf:"application/pdf",epub:"application/epub+zip",zip:"application/zip",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",mp3:"audio/mpeg",wav:"audio/wav",mp4:"video/mp4",txt:"text/plain",csv:"text/csv"};function MT0(A){let x=A.split(".").pop()?.toLowerCase()??"";return ZT0[x]??null}function WT0(A){if(A>RR){let x=Math.round(A/1048576),E=RR/1048576;throw new r(`File is too large (${x}MB). Delivery files must be ${E}MB or smaller.`,400)}}function RT0(A){if(A.price===null)return null;return`${(A.price/100).toFixed(2)} ${A.currency??"USD"}`}function Dx0(A){let x=[A.provider];if(A.inStock===!1)x.push("archived");console.log(`- ${A.title} [${A.id}] (${x.join(", ")})`);let E=RT0(A);if(E)console.log(` Price: ${E}`);if(A.providerProductId)console.log(` Provider product ID: ${A.providerProductId}`);if(A.digitalDelivery){let D=A.digitalDelivery.fileName??A.digitalDelivery.url;console.log(` Delivery file: ${D} (${A.digitalDelivery.source})`)}}function LT0(A,x){let E=YE(x.productsJson,x.productsFile,"products");if(E!==void 0){if(A!==void 0)throw new r("Provide either a product ID with flags or --products-json/--products-file, not both",400);if(!Array.isArray(E)||E.length===0)throw new r("products JSON must be a non-empty array",400);return{products:E}}if(!A)throw new r("Product ID is required (or use --products-json/--products-file for bulk upserts)",400);if(!x.title)throw new r("--title is required when upserting a single product",400);if(x.inStock===!0&&x.outOfStock===!0)throw new r("Use either --in-stock or --out-of-stock, not both",400);let D=K8(x.priceCents,"--price-cents");return{products:[{productId:A,title:x.title,...x.description!==void 0&&{description:x.description},...x.imageUrl!==void 0&&{imageUrl:x.imageUrl},...x.productUrl!==void 0&&{url:x.productUrl},...D!==void 0&&{priceCents:D},...x.currency!==void 0&&{currency:x.currency},...x.inStock===!0&&{inStock:!0},...x.outOfStock===!0&&{inStock:!1}}]}}async function jT0(A,x){let E=MT0(A);if(!E)throw new r("Unsupported file type. Use PDF, ePub, ZIP, image, audio, video, or text files.",400);let D=qT0(A).size;WT0(D);let B=UT0(A),g=await G0("POST","/api/v1/products/delivery/upload-url",{filename:XT0(A),contentType:E,fileSizeBytes:D},x),C=await fetch(g.uploadUrl,{method:"PUT",headers:{"Content-Type":E},body:B});if(!C.ok)throw new r(`File upload failed (${C.status})`,C.status);return{publicUrl:g.publicUrl,fileName:g.fileName,fileSizeBytes:D,mimeType:E}}async function gx0(A){if(A.file){let x=await jT0(A.file,A.company);return{url:x.publicUrl,source:"upload",fileName:A.name??x.fileName,fileSizeBytes:x.fileSizeBytes,mimeType:x.mimeType}}if(A.url)return{url:A.url,source:"url",...A.name?{fileName:A.name}:{}};return null}async function Cx0(A,x,E){return G0("PUT",`/api/v1/products/${encodeURIComponent(A)}/delivery`,x,E)}async function YF(A,x,E){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=new URLSearchParams;if(x.provider)D.set("provider",x.provider);if(x.search)D.set("search",x.search);let B=D.size>0?`?${D.toString()}`:"",g=await G0("GET",`/api/v1/products${B}`,void 0,x.company);if(x.json){Z0(g);return}console.log(`Products (${g.products.length})`);for(let C of g.products)Dx0(C);return}if(A==="sync"){let D=await G0("POST","/api/v1/products/sync",void 0,x.company);if(x.json){Z0(D);return}console.log("Stripe product sync queued.");return}if(A==="upsert"){let D=LT0(E,x),B=!!x.file||!!x.url;if(B&&D.products.length!==1)throw new r("--file/--url can only be combined with a single-product upsert",400);let g=await G0("POST","/api/v1/products",D,x.company),C=null,I=g.products[0];if(B&&I){let $=await gx0(x);if($)C=await Cx0(I.id,$,x.company)}if(x.json){Z0(C?{...g,delivery:C.product}:g);return}console.log(`Upserted ${g.upserted} product${g.upserted===1?"":"s"}.`);for(let $ of C?[C.product]:g.products)Dx0($);if(C?.product.digitalDelivery)console.log("Reference the file in purchase sequence emails with {{event.download.url}}.");return}if(!E)e0(new r("Product ID is required",400)),process.exit(1);if(A==="delete"){let D=await G0("DELETE",`/api/v1/products/${encodeURIComponent(E)}`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Deleted product ${E}.`);return}if(A==="attach-file"){let D=await gx0(x);if(!D)e0(new r("Provide --file <path> to upload a file, or --url <link> to attach an external link.",400)),process.exit(1);let B=await Cx0(E,D,x.company);if(x.json){Z0(B);return}let g=B.product.digitalDelivery;console.log(`Attached ${g?.fileName??g?.url??"file"} to ${B.product.title}.`),console.log("Reference it in purchase sequence emails with {{event.download.url}}.");return}if(A==="detach-file"){let D=await G0("DELETE",`/api/v1/products/${encodeURIComponent(E)}/delivery`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Removed delivery file from ${D.product.title}.`)}}catch(D){e0(D instanceof r?D:D),process.exit(1)}}var Qx0=["status","phone","smsStatus","tag","email","added","firstName","lastName","list","event","segment","emailSent","emailOpened","emailClicked","emailBounced","emailComplained","attribute","stripeProduct","stripeCurrentProduct","stripeTrialProduct","commerceProduct"],zT0=new Set(["shopify","woocommerce","api"]),NT0=new Set(["emailSent","emailOpened","emailClicked","emailBounced","emailComplained"]),OT0={emailSent:{yes:"was sent",no:"was not sent"},emailOpened:{yes:"opened",no:"didn't open"},emailClicked:{yes:"clicked",no:"didn't click"},emailBounced:{yes:"bounced",no:"hasn't bounced"},emailComplained:{yes:"complained",no:"hasn't complained"}},Ix0=["is","is_not","is_empty","is_not_empty","contains","not_contains","less_than","more_than","at_least","less_than_count","gte","lte","gt","lt"];function PT0(A){return Qx0.includes(A)}function VT0(A){return Ix0.includes(A)}function xq(A,x){if(!A)throw new r(`${x} is required for this operator`,400);let E=Number.parseInt(A,10);if(!Number.isInteger(E)||E<=0)throw new r(`${x} must be a positive integer`,400);return E}function L1(A,x){if(typeof A!=="string"||A.trim()==="")throw new r(`${x} must be a non-empty string`,400);return A}function vT0(A){let x=L1(A.productId,"Stripe product ID");switch(A.purchaseOperator??"bought"){case"bought":return{id:crypto.randomUUID(),field:"stripeProduct",operator:"is",value:x};case"didnt-buy":return{id:crypto.randomUUID(),field:"stripeProduct",operator:"is_not",value:x};case"at-least":{let D=xq(A.payments,"--payments");return{id:crypto.randomUUID(),field:"stripeProduct",operator:"at_least",value:`${x}:${D}`}}case"less-than":{let D=xq(A.payments,"--payments");return{id:crypto.randomUUID(),field:"stripeProduct",operator:"less_than_count",value:`${x}:${D}`}}default:throw new r("`--purchase-operator` must be one of: bought, didnt-buy, at-least, less-than",400)}}function TT0(A){let x=L1(A.productId,"Commerce product ID");switch(A.purchaseOperator??"bought"){case"bought":return{id:crypto.randomUUID(),field:"commerceProduct",operator:"is",value:x};case"didnt-buy":return{id:crypto.randomUUID(),field:"commerceProduct",operator:"is_not",value:x};case"at-least":{let D=xq(A.orders,"--orders");return{id:crypto.randomUUID(),field:"commerceProduct",operator:"at_least",value:`${x}:${D}`}}case"less-than":{let D=xq(A.orders,"--orders");return{id:crypto.randomUUID(),field:"commerceProduct",operator:"less_than_count",value:`${x}:${D}`}}default:throw new r("`--purchase-operator` must be one of: bought, didnt-buy, at-least, less-than",400)}}function yx0(A,x){if(typeof A!=="object"||A===null)throw new r(`Filter at ${x} must be an object with field/operator/value`,400);let E=A,D=L1(E.field,`${x}.field`),B=L1(E.operator,`${x}.operator`);if(!PT0(D))throw new r(`${x}.field must be one of: ${Qx0.join(", ")}`,400);if(!VT0(B))throw new r(`${x}.operator must be one of: ${Ix0.join(", ")}`,400);let g;if(B==="is_empty"||B==="is_not_empty"){if(typeof E.value!=="string")throw new r(`${x}.value must be a string`,400);if(D==="attribute"&&!E.value.includes(":"))throw new r(`${x}.value must use the format "attributeName:" when field is "attribute" (e.g. "last_logged_in:")`,400);g=E.value}else g=L1(E.value,`${x}.value`);return{id:typeof E.id==="string"&&E.id.trim()!==""?E.id:crypto.randomUUID(),field:D,operator:B,value:g}}function wx0(A,x){if(typeof A!=="object"||A===null)throw new r(`${x} must be a filter or group object`,400);let E=A;if(E.kind==="group"){let D=fx0(E.joinOperator==="or"?"any":"all");if(!Array.isArray(E.children)||E.children.length===0)throw new r(`${x}.children must be a non-empty array`,400);return{kind:"group",id:typeof E.id==="string"&&E.id.trim()!==""?E.id:crypto.randomUUID(),joinOperator:D,children:E.children.map((B,g)=>wx0(B,`${x}.children[${g}]`))}}return{kind:"filter",...yx0(A,x)}}function $x0(A,x="--filter-json"){let E;try{E=JSON.parse(A)}catch{throw new r(`\`${x}\` must be valid JSON`,400)}if(Array.isArray(E)){if(E.length===0)throw new r(`\`${x}\` must be a non-empty JSON array`,400);return{filters:E.map((D,B)=>yx0(D,`filters[${B}]`))}}if(typeof E==="object"&&E!==null){let D=E,B=D.kind==="group"?D:D.root??(D.version===2?D.root:void 0);if(B){let g=wx0(B,"root");if(g.kind!=="group")throw new r(`\`${x}\` root must be a group`,400);return{root:g}}}throw new r(`\`${x}\` must be a non-empty filter array or an object with a root group`,400)}function fx0(A){if(A===void 0||A==="all")return"and";if(A==="any")return"or";throw new r("`--match` must be either `all` or `any`",400)}function kT0(A){if([A.filterJson,A.stripeProduct,A.commerceProduct].filter(Boolean).length>1)throw new r("Use only one of `--filter-json`, `--stripe-product`, or `--commerce-product`",400);if(A.filterJson)return $x0(A.filterJson);if(A.stripeProduct)return{filters:[vT0({productId:A.stripeProduct,purchaseOperator:A.purchaseOperator,payments:A.payments})]};if(A.commerceProduct)return{filters:[TT0({productId:A.commerceProduct,purchaseOperator:A.purchaseOperator,orders:A.orders})]};throw new r("Provide `--stripe-product`, `--commerce-product`, or `--filter-json` when creating a segment",400)}function uT0(A){if(A.name!==void 0&&A.name.trim()==="")throw new r("Segment name cannot be empty",400);let x=e4(A.filtersJson,A.filtersFile,"filters-json"),E=x!==void 0?$x0(x,"--filters-json"):void 0,D;if(A.joinOperator!==void 0){if(A.joinOperator!=="and"&&A.joinOperator!=="or")throw new r("`--join-operator` must be either `and` or `or`",400);D=A.joinOperator}if(A.name===void 0&&E===void 0&&D===void 0)throw new r("Provide at least one of: --name, --filters-json, --filters-file, --join-operator",400);return{...A.name!==void 0&&{name:A.name},...E?.filters!==void 0&&{filters:E.filters},...E?.root!==void 0&&{root:E.root},...D!==void 0&&{filterJoinOperator:D}}}function Sx0(A){if(A.field==="stripeProduct"){let[x,E]=A.value.split(":",2);if(A.operator==="is")return`Stripe product bought ${x}`;if(A.operator==="is_not")return`Stripe product didn't buy ${x}`;if(A.operator==="at_least"&&E)return`Stripe product payments at least ${E} for ${x}`;if(A.operator==="less_than_count"&&E)return`Stripe product payments less than ${E} for ${x}`}if(A.field==="commerceProduct"){let x=A.value.split(":"),E=zT0.has(x[0]??"")?x.shift():null,B=(A.operator==="at_least"||A.operator==="less_than_count")&&x.length>1?x.pop():null,g=x.join(":"),C=E?`${E} product`:"product";if(A.operator==="is")return`Purchased ${C} ${g}`;if(A.operator==="is_not")return`Didn't purchase ${C} ${g}`;if(A.operator==="at_least")return`Orders at least ${B??1} for ${C} ${g}`;if(A.operator==="less_than_count")return`Orders less than ${B??1} for ${C} ${g}`}if(A.field==="event")return`event ${A.operator} ${A.value}`;if(A.field==="segment")return`segment ${A.operator} ${A.value}`;if(NT0.has(A.field)){let x=OT0[A.field],E=A.operator==="is_not"?x?.no:x?.yes??A.field;if(A.value.startsWith("campaign:")){let D=A.value.slice(9);return`${E} in campaign ${D}`}if(A.operator==="at_least"||A.operator==="less_than_count"){let[D,B]=A.value.split(":",2);if(D&&B){let g=A.operator==="at_least"?"at least":"less than";return`${x?.yes??A.field} ${g} ${D} times (${B})`}}return`${E} (${A.value})`}return`${A.field} ${A.operator} ${A.value}`}function Fx0(A){if(console.log(`- ${A.name} [${A.id}]`),console.log(` Match: ${(A.filterJoinOperator??"and")==="or"?"any condition":"all conditions"}`),console.log(` Filters: ${A.filters.length}`),A.createdAt)console.log(` Created: ${A.createdAt}`);for(let x of A.filters)console.log(` - ${Sx0(x)}`)}async function L3(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=await G0("GET","/api/v1/segments",void 0,x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Segments (${B.segments.length})`);for(let g of B.segments)Fx0(g);return}if(A==="create"){let B=L1(x.name,"Segment name"),g=kT0(x),C=fx0(x.match),I=await G0("POST","/api/v1/segments",{name:B,...g,...g.root?{}:{filterJoinOperator:C}},x.company);if(x.json){console.log(JSON.stringify(I,null,2));return}console.log(`Created segment: ${I.segment.name}`),console.log(`ID: ${I.segment.id}`),console.log(`Match: ${(I.segment.filterJoinOperator??"and")==="or"?"any condition":"all conditions"}`);for(let $ of I.segment.filters)console.log(`- ${Sx0($)}`);return}if(A==="update"){let B=L1(x.id,"Segment ID"),g=uT0(x),C=await G0("PATCH",`/api/v1/segments/${encodeURIComponent(B)}`,g,x.company);if(x.json){console.log(JSON.stringify(C,null,2));return}console.log(`Updated segment: ${C.segment.name}`),Fx0(C.segment);return}if(A==="delete"){let B=L1(x.id,"Segment ID");if(!await N6(`Delete segment ${B}?`,x)){console.log("Aborted.");return}let g=await G0("DELETE",`/api/v1/segments/${encodeURIComponent(B)}`,void 0,x.company);if(x.json){console.log(JSON.stringify(g,null,2));return}console.log(`Deleted segment: ${B}`);return}let E=L1(x.id,"Segment ID"),D=await G0("GET",`/api/v1/segments/${E}/count`,void 0,x.company);if(x.json){console.log(JSON.stringify(D,null,2));return}console.log(`Segment ${D.segmentId}: ${D.count} subscribers`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}import{readFileSync as _i0}from"node:fs";import{Stream as Ni0}from"node:stream";import rq from"node:process";var KB0=Zx(z8(),1);import zi0 from"node:process";function Gx0(A,x,{signal:E,edges:D}={}){let B=void 0,g=null,C=D!=null&&D.includes("leading"),I=D==null||D.includes("trailing"),$=()=>{if(g!==null)A.apply(B,g),B=void 0,g=null},S=()=>{if(I)$();Z()},K=null,M=()=>{if(K!=null)clearTimeout(K);K=setTimeout(()=>{K=null,S()},x)},X=()=>{if(K!==null)clearTimeout(K),K=null},Z=()=>{X(),B=void 0,g=null},j=()=>{$()},V=function(...l){if(E?.aborted)return;B=this,g=l;let E0=K==null;if(M(),C&&E0)$()};return V.schedule=M,V.cancel=Z,V.flush=j,E?.addEventListener("abort",Z,{once:!0}),V}function Jx0(A,x=0,E={}){if(typeof E!=="object")E={};let{leading:D=!1,trailing:B=!0,maxWait:g}=E,C=Array(2);if(D)C[0]="leading";if(B)C[1]="trailing";let I=void 0,$=null,S=Gx0(function(...X){I=A.apply(this,X),$=null},x,{edges:C}),K=function(...X){if(g!=null){if($===null)$=Date.now();if(Date.now()-$>=g)return I=A.apply(this,X),$=Date.now(),S.cancel(),S.schedule(),I}return S.apply(this,X),I},M=()=>{return S.flush(),I};return K.cancel=S.cancel,K.flush=M,K}function Bq(A,x=0,E={}){let{leading:D=!0,trailing:B=!0}=E;return Jx0(A,x,{leading:D,maxWait:x,trailing:B})}var qF={};VD(qF,{setCwd:()=>Jk0,scrollUp:()=>gk0,scrollDown:()=>Ck0,link:()=>Sk0,image:()=>Gk0,iTerm:()=>qx0,exitAlternativeScreen:()=>$k0,eraseUp:()=>Dk0,eraseStartLine:()=>Ek0,eraseScreen:()=>Dq,eraseLines:()=>Ak0,eraseLine:()=>Ux0,eraseEndLine:()=>xk0,eraseDown:()=>Bk0,enterAlternativeScreen:()=>wk0,cursorUp:()=>Kx0,cursorTo:()=>cT0,cursorShow:()=>eT0,cursorSavePosition:()=>aT0,cursorRestorePosition:()=>_T0,cursorPrevLine:()=>tT0,cursorNextLine:()=>oT0,cursorMove:()=>lT0,cursorLeft:()=>Yx0,cursorHide:()=>sT0,cursorGetPosition:()=>dT0,cursorForward:()=>pT0,cursorDown:()=>nT0,cursorBackward:()=>rT0,clearViewport:()=>Qk0,clearTerminal:()=>yk0,clearScreen:()=>Fk0,beep:()=>fk0,ConEmu:()=>Xx0});import z3 from"node:process";import iT0 from"node:os";var j3=globalThis.window?.document!==void 0,mGA=globalThis.process?.versions?.node!==void 0,cGA=globalThis.process?.versions?.bun!==void 0,lGA=globalThis.Deno?.version?.deno!==void 0,nGA=globalThis.process?.versions?.electron!==void 0,pGA=globalThis.navigator?.userAgent?.includes("jsdom")===!0,rGA=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,aGA=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,_GA=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,dGA=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,FS=globalThis.navigator?.userAgentData?.platform,oGA=FS==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",tGA=FS==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",sGA=FS==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",eGA=FS==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),AJA=FS==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var x8="\x1B[",N3="\x1B]",UF="\x07",QS=";",Hx0=!j3&&z3.env.TERM_PROGRAM==="Apple_Terminal",hT0=!j3&&z3.platform==="win32",mT0=!j3&&(z3.env.TERM?.startsWith("screen")||z3.env.TERM?.startsWith("tmux")||z3.env.TMUX!==void 0),Wv=j3?()=>{throw Error("`process.cwd()` only works in Node.js, not the browser.")}:z3.cwd,O3=(A)=>{if(mT0)return"\x1BPtmux;"+A.replaceAll("\x1B","\x1B\x1B")+"\x1B\\";return A},cT0=(A,x)=>{if(typeof A!=="number")throw TypeError("The `x` argument is required");if(typeof x!=="number")return x8+(A+1)+"G";return x8+(x+1)+QS+(A+1)+"H"},lT0=(A,x)=>{if(typeof A!=="number")throw TypeError("The `x` argument is required");let E="";if(A<0)E+=x8+-A+"D";else if(A>0)E+=x8+A+"C";if(x<0)E+=x8+-x+"A";else if(x>0)E+=x8+x+"B";return E},Kx0=(A=1)=>x8+A+"A",nT0=(A=1)=>x8+A+"B",pT0=(A=1)=>x8+A+"C",rT0=(A=1)=>x8+A+"D",Yx0=x8+"G",aT0=Hx0?"\x1B7":x8+"s",_T0=Hx0?"\x1B8":x8+"u",dT0=x8+"6n",oT0=x8+"E",tT0=x8+"F",sT0=x8+"?25l",eT0=x8+"?25h",Ak0=(A)=>{let x="";for(let E=0;E<A;E++)x+=Ux0+(E<A-1?Kx0():"");if(A)x+=Yx0;return x},xk0=x8+"K",Ek0=x8+"1K",Ux0=x8+"2K",Bk0=x8+"J",Dk0=x8+"1J",Dq=x8+"2J",gk0=x8+"S",Ck0=x8+"T",Fk0="\x1Bc",Qk0=`${Dq}${x8}H`,Ik0=()=>{if(j3||!hT0)return!1;let A=iT0.release().split("."),x=Number(A[0]),E=Number(A[2]??0);if(x<10)return!0;if(x===10&&E<10586)return!0;return!1},yk0=Ik0()?`${Dq}${x8}0f`:`${Dq}${x8}3J${x8}H`,wk0=x8+"?1049h",$k0=x8+"?1049l",fk0=UF,Sk0=(A,x)=>{let E=O3(`${N3}8${QS}${QS}${x}${UF}`),D=O3(`${N3}8${QS}${QS}${UF}`);return E+A+D},Gk0=(A,x={})=>{let E=`${N3}1337;File=inline=1`;if(x.width)E+=`;width=${x.width}`;if(x.height)E+=`;height=${x.height}`;if(x.preserveAspectRatio===!1)E+=";preserveAspectRatio=0";let D=Buffer.from(A);return O3(E+`;size=${D.byteLength}:`+D.toString("base64")+UF)},qx0={setCwd:(A=Wv())=>O3(`${N3}50;CurrentDir=${A}${UF}`),annotation(A,x={}){let E=`${N3}1337;`,D=x.x!==void 0,B=x.y!==void 0;if((D||B)&&!(D&&B&&x.length!==void 0))throw Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");if(A=A.replaceAll("|",""),E+=x.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",x.length>0)E+=(D?[A,x.length,x.x,x.y]:[x.length,A]).join("|");else E+=A;return O3(E+UF)}},Xx0={setCwd:(A=Wv())=>O3(`${N3}9;9;${A}${UF}`)},Jk0=(A=Wv())=>qx0.setCwd(A)+Xx0.setCwd(A);import{env as IS}from"node:process";var Hk0=IS.CI!=="0"&&IS.CI!=="false"&&(("CI"in IS)||("CONTINUOUS_INTEGRATION"in IS)||Object.keys(IS).some((A)=>A.startsWith("CI_"))),XF=Hk0;var Kk0=(A)=>{let x=new Set;do for(let E of Reflect.ownKeys(A))x.add([A,E]);while((A=Reflect.getPrototypeOf(A))&&A!==Object.prototype);return x};function Rv(A,{include:x,exclude:E}={}){let D=(B)=>{let g=(C)=>typeof C==="string"?B===C:C.test(B);if(x)return x.some(g);if(E)return!E.some(g);return!0};for(let[B,g]of Kk0(A.constructor.prototype)){if(g==="constructor"||!D(g))continue;let C=Reflect.getOwnPropertyDescriptor(B,g);if(C&&typeof C.value==="function")A[g]=A[g].bind(A)}return A}var YB0=Zx(Ov(),1);import{PassThrough as Mx0}from"node:stream";var Wx0=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Pv={},Yk0=(A)=>{let x=new Mx0,E=new Mx0;x.write=(B)=>{A("stdout",B)},E.write=(B)=>{A("stderr",B)};let D=new console.Console(x,E);for(let B of Wx0)Pv[B]=console[B],console[B]=D[B];return()=>{for(let B of Wx0)console[B]=Pv[B];Pv={}}},Rx0=Yk0;var Uk0=(()=>{var A=import.meta.url;return function(x){x=x||{};var E;E||(E=typeof x<"u"?x:{});var D,B;E.ready=new Promise(function(v,T){D=v,B=T});var g=Object.assign({},E),C="";typeof document<"u"&&document.currentScript&&(C=document.currentScript.src),A&&(C=A),C.indexOf("blob:")!==0?C=C.substr(0,C.replace(/[?#].*/,"").lastIndexOf("/")+1):C="";var I=E.print||console.log.bind(console),$=E.printErr||console.warn.bind(console);Object.assign(E,g),g=null;var S;E.wasmBinary&&(S=E.wasmBinary);var K=E.noExitRuntime||!0;typeof WebAssembly!="object"&&c0("no native wasm support detected");var M,X=!1;function Z(v,T,t){t=T+t;for(var D0="";!(T>=t);){var y0=v[T++];if(!y0)break;if(y0&128){var P0=v[T++]&63;if((y0&224)==192)D0+=String.fromCharCode((y0&31)<<6|P0);else{var o0=v[T++]&63;y0=(y0&240)==224?(y0&15)<<12|P0<<6|o0:(y0&7)<<18|P0<<12|o0<<6|v[T++]&63,65536>y0?D0+=String.fromCharCode(y0):(y0-=65536,D0+=String.fromCharCode(55296|y0>>10,56320|y0&1023))}}else D0+=String.fromCharCode(y0)}return D0}var j,V,l,E0,K0,B0,Q0,F0,k0;function z0(){var v=M.buffer;j=v,E.HEAP8=V=new Int8Array(v),E.HEAP16=E0=new Int16Array(v),E.HEAP32=B0=new Int32Array(v),E.HEAPU8=l=new Uint8Array(v),E.HEAPU16=K0=new Uint16Array(v),E.HEAPU32=Q0=new Uint32Array(v),E.HEAPF32=F0=new Float32Array(v),E.HEAPF64=k0=new Float64Array(v)}var JA,U0=[],zA=[],cx=[];function eA(){var v=E.preRun.shift();U0.unshift(v)}var EA=0,O0=null,g0=null;function c0(v){if(E.onAbort)E.onAbort(v);throw v="Aborted("+v+")",$(v),X=!0,v=new WebAssembly.RuntimeError(v+". Build with -sASSERTIONS for more info."),B(v),v}function q0(v){return v.startsWith("data:application/octet-stream;base64,")}var xA="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!q0(xA)){var r0=xA;xA=E.locateFile?E.locateFile(r0,C):C+r0}function Mx(){var v=xA;try{if(v==xA&&S)return new Uint8Array(S);if(q0(v))try{var T=Pg(v.slice(37)),t=new Uint8Array(T.length);for(v=0;v<T.length;++v)t[v]=T.charCodeAt(v);var D0=t}catch(P0){throw Error("Converting base64 string to bytes failed.")}else D0=void 0;var y0=D0;if(y0)return y0;throw"both async and sync fetching of the wasm failed"}catch(P0){c0(P0)}}function M0(){return S||typeof fetch!="function"?Promise.resolve().then(function(){return Mx()}):fetch(xA,{credentials:"same-origin"}).then(function(v){if(!v.ok)throw"failed to load wasm binary file at '"+xA+"'";return v.arrayBuffer()}).catch(function(){return Mx()})}function o(v){for(;0<v.length;)v.shift()(E)}function C0(v){if(v===void 0)return"_unknown";v=v.replace(/[^a-zA-Z0-9_]/g,"$");var T=v.charCodeAt(0);return 48<=T&&57>=T?"_"+v:v}function HA(v,T){return v=C0(v),function(){return T.apply(this,arguments)}}var i0=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ex=[];function Fx(v){var T=Error,t=HA(v,function(D0){this.name=v,this.message=D0,D0=Error(D0).stack,D0!==void 0&&(this.stack=this.toString()+`
|
|
380
|
+
`)S+=1;$();continue}g+=K}return $(),D}function Fv0(A){let x=A.findIndex((E)=>/^(email|e-mail|email address|mail)$/i.test(E.trim()));return x===-1?void 0:x}function Qv0(A){let x=A.trim();if(x.startsWith("[")||x.startsWith("{"))return uA0(JSON.parse(x),"emails-file");let E=Cv0(A);if(E.length===0)return[];let D=E[0]??[],B=Fv0(D);if(B!==void 0)return E.slice(1).map((g)=>g[B]??"");return E.map((g)=>g[0]??"")}function eU(A){let x=Bv0(A.email);if((x.length>0?1:0)+(A.emailsJson!==void 0?1:0)+(A.emailsFile!==void 0?1:0)!==1)throw new r("Provide exactly one email source: --email, --emails-json, or --emails-file",400);if(x.length>0)return x;if(A.emailsJson!==void 0){let B=YE(A.emailsJson,void 0,"emails");return uA0(B,"emails")}let D=e4(void 0,A.emailsFile,"emails");if(D!==void 0)try{return Qv0(D)}catch(B){throw new r(`Invalid emails file: ${B instanceof Error?B.message:"Unknown error"}`,400)}return[]}function Iv0(A){let x=eU(A),E=A.duplicateStrategy??"skip",D=A.optInMode??"default";if(x.length===0)throw new r("Provide at least one email address",400);if(!xv0.has(E))throw new r("--duplicate-strategy must be one of: skip, merge, overwrite",400);if(!Ev0.has(D))throw new r("--opt-in-mode must be one of: default, confirmed, double_opt_in",400);return{emails:x,duplicateStrategy:E,enrollInSequences:A.enrollSequences===!0,optInMode:D}}function yv0(A){if(console.log(`Added subscribers to list: ${A.listId}`),console.log(`Processed: ${A.processed} of ${A.total}`),console.log(`Created: ${A.created}`),console.log(`Updated or added to list: ${A.updated}`),console.log(`Already present/skipped: ${A.skipped}`),console.log(`New list memberships: ${A.addedToList}`),console.log(`Failed: ${A.failed}`),A.duplicateInputCount>0)console.log(`Duplicate input rows ignored: ${A.duplicateInputCount}`);if(A.ignoredBlankCount>0)console.log(`Blank input rows ignored: ${A.ignoredBlankCount}`);let x=A.results.filter((E)=>!E.success);for(let E of x.slice(0,10))console.log(`- ${E.email}: ${E.error??"Failed"}`);if(x.length>10)console.log(`...and ${x.length-10} more failures`)}function kA0(A){let x=[];for(let E=0;E<A.length;E+=TA0)x.push(A.slice(E,E+TA0));return x}function wv0(A){if(A.name!==void 0&&A.name.trim()==="")throw new r("List name cannot be empty",400);let x={...A.name!==void 0&&{name:A.name},...A.description!==void 0&&{description:A.description},...A.private!==void 0&&{isPrivate:A.private}};if(Object.keys(x).length===0)throw new r("Provide at least one of: --name, --description, --private/--no-private",400);return x}function $v0(A){let x=eU(A);if(x.length===0)throw new r("Provide at least one email address",400);return{emails:x}}function fv0(A,x){return x.reduce((E,D)=>({success:E.success&&D.success,listId:A,total:E.total+D.total,processed:E.processed+D.processed,created:E.created+D.created,updated:E.updated+D.updated,skipped:E.skipped+D.skipped,addedToList:E.addedToList+D.addedToList,failed:E.failed+D.failed,duplicateInputCount:E.duplicateInputCount+D.duplicateInputCount,ignoredBlankCount:E.ignoredBlankCount+D.ignoredBlankCount,results:[...E.results,...D.results]}),{success:!0,listId:A,total:0,processed:0,created:0,updated:0,skipped:0,addedToList:0,failed:0,duplicateInputCount:0,ignoredBlankCount:0,results:[]})}async function Kg(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=await G0("GET","/api/v1/lists",void 0,x.company);if(x.json){Z0(D);return}console.log(`Lists (${D.lists.length})`);for(let B of D.lists){let g=B.isPrivate?"private":"public";console.log(`- ${B.name} [${B.id}]`),console.log(` Visibility: ${g}`),console.log(` Description: ${B.description??"None"}`),console.log(` Created: ${VA(B.createdAt)}`)}return}if(A==="add-subscribers"){if(!x.listId)throw new r("List ID is required",400);let D=Iv0(x),B=kA0(D.emails),g=[];for(let I of B)g.push(await G0("POST",`/api/v1/lists/${encodeURIComponent(x.listId)}/subscribers`,{...D,emails:I},x.company));let C=fv0(x.listId,g);if(x.json){Z0(C);return}yv0(C);return}if(A==="remove-subscribers"){if(!x.listId)throw new r("List ID is required",400);let D=$v0(x),B=kA0(D.emails),g=0,C=[];for(let I of B){let $=await G0("POST",`/api/v1/lists/${encodeURIComponent(x.listId)}/subscribers/remove`,{emails:I},x.company);g+=$.removed,C.push(...$.notFound)}if(x.json){Z0({success:!0,listId:x.listId,removed:g,notFound:C});return}if(console.log(`Removed ${g} subscriber(s) from list: ${x.listId}`),C.length>0){console.log(`Not found: ${C.length}`);for(let I of C.slice(0,10))console.log(`- ${I}`);if(C.length>10)console.log(`...and ${C.length-10} more`)}return}if(A==="update"){if(!x.listId)throw new r("List ID is required",400);let D=wv0(x),B=await G0("PATCH",`/api/v1/lists/${encodeURIComponent(x.listId)}`,D,x.company);if(x.json){Z0(B);return}console.log(`Updated list: ${B.list.name}`),console.log(`ID: ${B.list.id}`),console.log(`Visibility: ${B.list.isPrivate?"private":"public"}`),console.log(`Description: ${B.list.description??"None"}`);return}if(A==="delete"){if(!x.listId)throw new r("List ID is required",400);if(!await N6(`Delete list ${x.listId}? This removes the list and all of its memberships.`,x)){console.log("Aborted.");return}let D=await G0("DELETE",`/api/v1/lists/${encodeURIComponent(x.listId)}`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Deleted list: ${x.listId}`),console.log(`Removed memberships: ${D.removedMemberships}`);return}if(!x.name)throw new r("List name is required",400);let E=await G0("POST","/api/v1/lists",{name:x.name,description:x.description,isPrivate:x.private},x.company);if(x.json){Z0(E);return}console.log(`Created list: ${E.list.name}`),console.log(`ID: ${E.list.id}`),console.log(`Visibility: ${E.list.isPrivate?"private":"public"}`),console.log(`Description: ${E.list.description??"None"}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}import Sv0 from"node:os";var bA0=process.env.SEQUENZY_API_URL??"https://api.sequenzy.com",Gv0=process.env.SEQUENZY_APP_URL??"https://sequenzy.com",Jv0=5;function Hv0(A){return new Promise((x)=>{setTimeout(x,A)})}function Kv0(A,x,E=`${Gv0}/setup/auth`){let D=A&&A.trim().length>0?A:E,B=new URL(D);return B.searchParams.set("code",x),B.toString()}async function Yv0(){let A=`${process.platform}-${Sv0.hostname()}`,x=await fetch(`${bA0}/api/device-auth/initiate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceName:A,clientType:"cli"})}),E=await x.json();if(!x.ok||!E.success||!E.data)throw Error(E.error??"Failed to initiate login.");return E.data}async function Uv0(A){let x=Date.now()+A.expiresIn*1000,E=Math.max(A.pollInterval,Jv0)*1000;while(Date.now()<x){await Hv0(E);let D;try{D=await(await fetch(`${bA0}/api/device-auth/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:A.deviceCode})})).json()}catch{continue}if(D.success&&D.data)return D.data;if(D.error==="authorization_pending")continue;if(D.error==="access_denied")throw Error("Authorization denied.");if(D.error==="expired_token")throw Error("Authorization expired. Please try again.");throw Error(D.error??"Failed to complete login.")}throw Error("Authorization timed out. Please try again.")}async function qv0(){if(await cA())throw Error("Already logged in. Run `sequenzy logout` first to switch accounts.");let A=await Yv0(),x=Kv0(A.verificationUrl,A.userCode);console.log("Sequenzy Login"),console.log(""),console.log("Open this link in a browser to approve this CLI session:"),console.log(x),console.log(""),console.log(`Code: ${A.userCode}`),console.log(`Waiting for approval... leave this terminal open for up to ${Math.ceil(A.expiresIn/60)} minutes.`);let E=await Uv0({deviceCode:A.deviceCode,pollInterval:A.pollInterval,expiresIn:A.expiresIn});await Gp(E.apiKey),Hp({userId:E.userId,userEmail:E.userEmail}),console.log(""),console.log(`Logged in as ${E.userEmail??E.userId}.`),console.log("Run `sequenzy --help` to see available commands.")}async function iA0(){await qv0().catch((A)=>{e0(A instanceof Error&&A.message.includes("Not logged in")?dA():A),process.exitCode=1})}async function hA0(){if(!await cA()){e0(dA());return}await Jp(),Kp(),console.log("Logged out successfully.")}import{readFileSync as UT0,statSync as qT0}from"node:fs";import{basename as XT0}from"node:path";var Xv0=q.object({tags:q.array(q.string()).optional(),collectionIds:q.array(q.string()).optional(),productTypes:q.array(q.string()).optional(),vendors:q.array(q.string()).optional()}),Zv0=q.object({requiresTags:q.array(q.string()).optional(),requiresNotTags:q.array(q.string()).optional(),purchasedProduct:Xv0.optional()}),Mv0=q.object({triggerEvent:q.string().min(1),actions:q.object({addTags:q.array(q.string()),removeTags:q.array(q.string())}),conditions:Zv0.optional()}),v1A=q.array(Mv0).nullable();var Wv0=1,mA0=262144,cA0=500,Rv0=20,Lv0=50,nA0=20,pA0=5,jv0=["equals","not_equals","in","not_in","contains","exists","gt","gte","lt","lte"];function zv0(A){return new TextEncoder().encode(JSON.stringify(A)).length}var Nv0=q.record(q.string(),q.unknown()).superRefine((A,x)=>{if(zv0(A)>mA0)x.addIssue({code:q.ZodIssueCode.custom,message:`Campaign data must be ${mA0} bytes or smaller.`});for(let[D,B]of Object.entries(A))if(Array.isArray(B)&&B.length>cA0)x.addIssue({code:q.ZodIssueCode.custom,path:[D],message:`Campaign data array "${D}" can contain at most ${cA0} items.`})}),rA0=q.object({itemField:q.string().trim().min(1).max(200),operator:q.enum(jv0).default("equals"),subscriberField:q.string().trim().min(1).max(200).optional(),value:q.unknown().optional()}).refine((A)=>A.operator==="exists"||A.subscriberField!==void 0||A.value!==void 0,{message:"Rule must provide subscriberField or value unless operator is exists"}),aA0=q.object({field:q.string().trim().min(1).max(200),direction:q.enum(["asc","desc"]).default("asc")}),Ov0=q.object({strategy:q.enum(["none","fill_from_source"]).default("none"),rules:q.array(rA0).max(nA0).default([]),sort:q.array(aA0).max(pA0).default([])}),Pv0=q.string().trim().min(1).max(120).regex(/^[A-Za-z_][A-Za-z0-9_.]*$/,"Use letters, numbers, underscores, or dots; start with a letter or underscore").refine((A)=>{return!["campaign","subscriber","company","variables","event","discount"].some((E)=>A===E||A.startsWith(`${E}.`))},{message:"Computed list key uses a reserved variable name"}),lA0=q.number().int().min(0).max(Lv0),Vv0=q.object({key:Pv0,source:q.string().trim().min(1).max(200),itemAlias:q.string().trim().min(1).max(80).optional(),limit:lA0.optional(),maxItems:lA0.optional(),rules:q.array(rA0).max(nA0).default([]),sort:q.array(aA0).max(pA0).default([]),fallback:Ov0.optional()}).refine((A)=>A.limit===void 0||A.maxItems===void 0||A.limit===A.maxItems,{message:"Use either limit or maxItems, not conflicting values.",path:["maxItems"]}).transform(({maxItems:A,limit:x,...E})=>({...E,limit:A??x??5})),vv0=q.array(Vv0).max(Rv0).superRefine((A,x)=>{let E=new Set;A.forEach((D,B)=>{if(E.has(D.key)){x.addIssue({code:q.ZodIssueCode.custom,path:[B,"key"],message:`Computed list key "${D.key}" must be unique.`});return}E.add(D.key)})}),b1A=q.object({version:q.literal(Wv0).default(1),campaignData:Nv0.nullable().default(null),computedLists:vv0.default([])});var _A0=["from-scratch","waitlist","lead-magnet","launch","demo-request","webinar","newsletter","product-hunt","pricing-offer","agency-lead-gen","feature-announcement"];var Tv0=["hero","form","body","footer"],kv0=["modern-sans","editorial-serif","classic-serif","friendly-rounded","commerce-sans","technical-mono"],uv0=["compact","balanced","spacious"],bv0=["pill","underline","bar","badge"],iv0=["soft","outlined","solid","minimal"],dA0={enabled:!0,duplicateStrategy:"skip",listMode:"default",listIds:[],tagIds:[],showFirstName:!0,showLastName:!1,firstNameRequired:!1,lastNameRequired:!1,emailPlaceholder:"you@example.com",firstNamePlaceholder:"First name",lastNamePlaceholder:"Last name",buttonText:"Join the list",successMessage:"You're on the list."},oA0={accentColor:"#f97316",backgroundColor:"#ffffff",textColor:"#111827",mutedTextColor:"#6b7280",cardColor:"#ffffff",borderRadius:8,fontPair:"modern-sans",headingFontFamily:"",bodyFontFamily:"",density:"balanced",accentStyle:"pill",surfaceStyle:"soft"};var hv0=24,mv0=96,tA0=36,sA0={enabled:!0,showLogo:!0,logoUrl:"",logoSize:tA0,showName:!0,name:""},eA0={id:"landing-page-footer",kind:"footer",slot:"footer",brandText:"Built by Sequenzy",showBrandText:!0,showPrivacyLink:!0,privacyLabel:"Privacy",privacyUrl:"",showTermsLink:!0,termsLabel:"Terms",termsUrl:""},Ax0=q.object({title:q.string().trim().max(120),description:q.string().trim().max(300)}),cv0=q.object({value:q.string().trim().min(1).max(40),label:q.string().trim().min(1).max(120)}),lv0=q.object({quote:q.string().trim().min(1).max(500),name:q.string().trim().min(1).max(120),role:q.string().trim().max(160).default(""),avatarUrl:q.string().trim().max(1000).default("").optional()}),nv0=q.object({name:q.string().trim().min(1).max(80)}),pv0=q.object({question:q.string().trim().min(1).max(160),answer:q.string().trim().min(1).max(500)}),xx0=q.object({enabled:q.boolean().default(!0),duplicateStrategy:q.enum(["skip","merge","overwrite"]).default("skip"),listMode:q.enum(["default","none","specific"]).default("default"),listIds:q.array(q.string()).default([]),tagIds:q.array(q.string()).default([]),showFirstName:q.boolean().default(!0),showLastName:q.boolean().default(!1),firstNameRequired:q.boolean().default(!1),lastNameRequired:q.boolean().default(!1),emailPlaceholder:q.string().trim().max(120).default("you@example.com"),firstNamePlaceholder:q.string().trim().max(120).default("First name"),lastNamePlaceholder:q.string().trim().max(120).default("Last name"),buttonText:q.string().trim().min(1).max(80).default("Join the list"),successMessage:q.string().trim().min(1).max(240).default("You're on the list."),redirectUrl:q.string().trim().max(500).optional()}),CS=q.string().trim().regex(/^#[0-9a-fA-F]{6}$/),Ex0=q.object({accentColor:CS.default("#f97316"),backgroundColor:CS.default("#ffffff"),textColor:CS.default("#111827"),mutedTextColor:CS.default("#6b7280"),cardColor:CS.default("#ffffff"),borderRadius:q.number().int().min(0).max(24).default(8),fontPair:q.enum(kv0).default("modern-sans"),headingFontFamily:q.string().trim().max(160).default(""),bodyFontFamily:q.string().trim().max(160).default(""),density:q.enum(uv0).default("balanced"),accentStyle:q.enum(bv0).default("pill"),surfaceStyle:q.enum(iv0).default("soft")}),rv0=q.object({enabled:q.boolean().default(!0),showLogo:q.boolean().default(!0),logoUrl:q.string().trim().max(1000).default(""),logoSize:q.number().int().min(hv0).max(mv0).default(tA0),showName:q.boolean().default(!0),name:q.string().trim().max(120).default("")}),Zv=q.object({sectionId:q.string().trim().min(1).max(128).optional(),sectionKind:q.string().trim().min(1).max(80).optional(),sectionLabel:q.string().trim().min(1).max(120).optional(),sectionVariant:q.string().trim().max(80).optional(),sectionLayout:q.enum(["stack","split","center"]).optional(),sectionAlign:q.enum(["left","center","right"]).optional()}),w2=q.enum(["left","center","right"]),u5=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.enum(Tv0)}),av0=u5.extend({kind:q.literal("heading"),level:q.union([q.literal(1),q.literal(2),q.literal(3)]).default(2),content:q.string().trim().min(1).max(180),align:w2.optional()}),_v0=u5.extend({kind:q.literal("text"),variant:q.enum(["paragraph","eyebrow","caption"]).default("paragraph"),content:q.string().trim().max(700),align:w2.optional()}),dv0=q.object({src:q.string().trim().max(1000).default(""),alt:q.string().trim().max(160).default(""),linkUrl:q.string().trim().max(500).optional()}),ov0=["cover","contain"],tv0=25,sv0=80,ev0=640,AT0=u5.extend({kind:q.literal("image"),src:q.string().trim().max(1000).default(""),alt:q.string().trim().max(160).default(""),images:q.array(dv0).max(3).default([]).optional(),align:w2.optional(),width:q.number().int().min(tv0).max(100).optional(),height:q.number().int().min(sv0).max(ev0).optional(),fit:q.enum(ov0).optional()}),xT0=u5.extend({kind:q.literal("button"),text:q.string().trim().min(1).max(80),url:q.string().trim().max(500).default(""),variant:q.enum(["primary","secondary"]).default("primary"),align:w2.optional()}),ET0=u5.extend({kind:q.literal("custom-html"),html:q.string().max(20000).default(""),height:q.number().int().min(40).max(1200).default(320)}),Aq=q.number().int().min(1).max(6),BT0=u5.extend({kind:q.literal("feature-grid"),features:q.array(Ax0).min(1).max(6),align:w2.optional(),columns:Aq.optional(),layout:q.enum(["row","column"]).optional()}),DT0=u5.extend({kind:q.literal("stats"),stats:q.array(cv0).min(1).max(6),align:w2.optional(),columns:Aq.optional()}),gT0=u5.extend({kind:q.literal("testimonial"),testimonials:q.array(lv0).min(1).max(3),align:w2.optional(),columns:Aq.optional(),layout:q.enum(["row","column"]).optional()}),CT0=u5.extend({kind:q.literal("logo-cloud"),heading:q.string().trim().max(120).default("Trusted by teams building faster"),logos:q.array(nv0).min(1).max(8),align:w2.optional(),columns:Aq.optional()}),FT0=u5.extend({kind:q.literal("faq"),heading:q.string().trim().max(120).default("Common questions"),items:q.array(pv0).min(1).max(8),align:w2.optional()}),QT0=u5.extend({kind:q.literal("pricing"),eyebrow:q.string().trim().max(80).default("Simple pricing"),heading:q.string().trim().min(1).max(140),description:q.string().trim().max(300).default(""),price:q.string().trim().min(1).max(80),period:q.string().trim().max(80).default(""),buttonText:q.string().trim().min(1).max(80),buttonUrl:q.string().trim().max(500).default(""),features:q.array(q.string().trim().min(1).max(160)).min(1).max(8),align:w2.optional()}),IT0=-3,yT0=3,wT0=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.literal("form"),kind:q.literal("form"),heading:q.string().trim().max(120).default("Get early access"),description:q.string().trim().max(240).default(""),form:xx0.default(dA0),cardTilt:q.number().int().min(IT0).max(yT0).optional()}),$T0=Zv.extend({id:q.string().trim().min(1).max(128),slot:q.literal("footer"),kind:q.literal("footer"),brandText:q.string().trim().max(120).default("Built by Sequenzy"),showBrandText:q.boolean().default(!0),showPrivacyLink:q.boolean().default(!0),privacyLabel:q.string().trim().max(80).default("Privacy"),privacyUrl:q.string().trim().max(500).default(""),showTermsLink:q.boolean().default(!0),termsLabel:q.string().trim().max(80).default("Terms"),termsUrl:q.string().trim().max(500).default("")}),fT0=u5.extend({kind:q.literal("spacer"),height:q.number().int().min(8).max(160).default(32)}),ST0=u5.extend({kind:q.literal("divider")}),GT0=q.discriminatedUnion("kind",[av0,_v0,AT0,xT0,ET0,BT0,DT0,gT0,CT0,FT0,QT0,wT0,$T0,fT0,ST0]),JT0=q.object({title:q.string().trim().max(70).optional(),description:q.string().trim().max(160).optional()}),Bx0=q.object({version:q.literal(2),template:q.enum(_A0).default("waitlist"),seo:JT0.default({}),header:rv0.default(sA0),theme:Ex0.default(oA0),blocks:q.array(GT0).min(1)}).superRefine((A,x)=>{let E=A.blocks.filter((B)=>B.kind==="form").length,D=A.blocks.filter((B)=>B.kind==="footer").length;if(E>1)x.addIssue({code:"custom",message:"Landing pages can contain at most one form block.",path:["blocks"]});if(D!==1)x.addIssue({code:"custom",message:"Landing pages must contain exactly one footer block.",path:["blocks"]})}),HT0=q.object({template:q.enum(_A0).default("waitlist"),eyebrow:q.string().trim().max(80).default("Coming soon"),title:q.string().trim().min(1).max(160),description:q.string().trim().max(500).default(""),formHeading:q.string().trim().max(120).default("Get early access"),formDescription:q.string().trim().max(240).default(""),secondaryCtaText:q.string().trim().max(80).optional(),secondaryCtaUrl:q.string().trim().max(500).optional(),imageUrl:q.string().trim().max(1000).optional(),socialProof:q.string().trim().max(180).optional(),features:q.array(Ax0).max(6).default([]),form:xx0.default(dA0),theme:Ex0.default(oA0),seoTitle:q.string().trim().max(70).optional(),seoDescription:q.string().trim().max(160).optional()}),m1A=q.preprocess((A)=>{if(typeof A==="object"&&A!==null&&"version"in A&&A.version===2)return YT0(A);let x=HT0.safeParse(A);if(!x.success)return A;return KT0(x.data)},Bx0);function KT0(A){let x=[{id:"hero-eyebrow",kind:"text",slot:"hero",variant:"eyebrow",content:A.eyebrow},{id:"hero-title",kind:"heading",slot:"hero",level:1,content:A.title},{id:"hero-description",kind:"text",slot:"hero",variant:"paragraph",content:A.description}];if(A.secondaryCtaText&&A.secondaryCtaUrl)x.push({id:"hero-secondary-cta",kind:"button",slot:"hero",text:A.secondaryCtaText,url:A.secondaryCtaUrl,variant:"secondary"});if(A.imageUrl)x.push({id:"form-image",kind:"image",slot:"form",src:A.imageUrl,alt:A.title});if(x.push({id:"signup-form",kind:"form",slot:"form",heading:A.formHeading,description:A.formDescription,form:A.form}),A.features.length>0)x.push({id:"body-feature-grid",kind:"feature-grid",slot:"body",features:A.features});if(A.socialProof)x.push({id:"body-social-proof",kind:"text",slot:"body",variant:"caption",content:A.socialProof});return x.push({...eA0}),Bx0.parse({version:2,template:A.template,seo:{title:A.seoTitle,description:A.seoDescription},header:sA0,theme:A.theme,blocks:x})}function YT0(A){if(typeof A!=="object"||A===null)return A;let x=A;if(!Array.isArray(x.blocks))return A;if(x.blocks.some((D)=>typeof D==="object"&&D!==null&&("kind"in D)&&D.kind==="footer"))return A;return{...A,blocks:[...x.blocks,{...eA0}]}}var Mv=["email.sent","email.delivered","email.delivery_delayed","email.bounced","email.complained","email.opened","email.clicked","email.replied","email.unsubscribed","sms.sent","sms.delivered","sms.failed","sms.opted_out","subscriber.invalid","subscriber.updated","subscriber.unsubscribed","subscriber.list_subscribed","subscriber.list_unsubscribed","sequence.finished","sequence.failed","poll.answered"];var ZT0={pdf:"application/pdf",epub:"application/epub+zip",zip:"application/zip",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",mp3:"audio/mpeg",wav:"audio/wav",mp4:"video/mp4",txt:"text/plain",csv:"text/csv"};function MT0(A){let x=A.split(".").pop()?.toLowerCase()??"";return ZT0[x]??null}function WT0(A){if(A>RR){let x=Math.round(A/1048576),E=RR/1048576;throw new r(`File is too large (${x}MB). Delivery files must be ${E}MB or smaller.`,400)}}function RT0(A){if(A.price===null)return null;return`${(A.price/100).toFixed(2)} ${A.currency??"USD"}`}function Dx0(A){let x=[A.provider];if(A.inStock===!1)x.push("archived");console.log(`- ${A.title} [${A.id}] (${x.join(", ")})`);let E=RT0(A);if(E)console.log(` Price: ${E}`);if(A.providerProductId)console.log(` Provider product ID: ${A.providerProductId}`);if(A.digitalDelivery){let D=A.digitalDelivery.fileName??A.digitalDelivery.url;console.log(` Delivery file: ${D} (${A.digitalDelivery.source})`)}}function LT0(A,x){let E=YE(x.productsJson,x.productsFile,"products");if(E!==void 0){if(A!==void 0)throw new r("Provide either a product ID with flags or --products-json/--products-file, not both",400);if(!Array.isArray(E)||E.length===0)throw new r("products JSON must be a non-empty array",400);return{products:E}}if(!A)throw new r("Product ID is required (or use --products-json/--products-file for bulk upserts)",400);if(!x.title)throw new r("--title is required when upserting a single product",400);if(x.inStock===!0&&x.outOfStock===!0)throw new r("Use either --in-stock or --out-of-stock, not both",400);let D=K8(x.priceCents,"--price-cents");return{products:[{productId:A,title:x.title,...x.description!==void 0&&{description:x.description},...x.imageUrl!==void 0&&{imageUrl:x.imageUrl},...x.productUrl!==void 0&&{url:x.productUrl},...D!==void 0&&{priceCents:D},...x.currency!==void 0&&{currency:x.currency},...x.inStock===!0&&{inStock:!0},...x.outOfStock===!0&&{inStock:!1}}]}}async function jT0(A,x){let E=MT0(A);if(!E)throw new r("Unsupported file type. Use PDF, ePub, ZIP, image, audio, video, or text files.",400);let D=qT0(A).size;WT0(D);let B=UT0(A),g=await G0("POST","/api/v1/products/delivery/upload-url",{filename:XT0(A),contentType:E,fileSizeBytes:D},x),C=await fetch(g.uploadUrl,{method:"PUT",headers:{"Content-Type":E},body:B});if(!C.ok)throw new r(`File upload failed (${C.status})`,C.status);return{publicUrl:g.publicUrl,fileName:g.fileName,fileSizeBytes:D,mimeType:E}}async function gx0(A){if(A.file){let x=await jT0(A.file,A.company);return{url:x.publicUrl,source:"upload",fileName:A.name??x.fileName,fileSizeBytes:x.fileSizeBytes,mimeType:x.mimeType}}if(A.url)return{url:A.url,source:"url",...A.name?{fileName:A.name}:{}};return null}async function Cx0(A,x,E){return G0("PUT",`/api/v1/products/${encodeURIComponent(A)}/delivery`,x,E)}async function YF(A,x,E){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=new URLSearchParams;if(x.provider)D.set("provider",x.provider);if(x.search)D.set("search",x.search);let B=D.size>0?`?${D.toString()}`:"",g=await G0("GET",`/api/v1/products${B}`,void 0,x.company);if(x.json){Z0(g);return}console.log(`Products (${g.products.length})`);for(let C of g.products)Dx0(C);return}if(A==="sync"){let D=await G0("POST","/api/v1/products/sync",void 0,x.company);if(x.json){Z0(D);return}console.log("Stripe product sync queued.");return}if(A==="upsert"){let D=LT0(E,x),B=!!x.file||!!x.url;if(B&&D.products.length!==1)throw new r("--file/--url can only be combined with a single-product upsert",400);let g=await G0("POST","/api/v1/products",D,x.company),C=null,I=g.products[0];if(B&&I){let $=await gx0(x);if($)C=await Cx0(I.id,$,x.company)}if(x.json){Z0(C?{...g,delivery:C.product}:g);return}console.log(`Upserted ${g.upserted} product${g.upserted===1?"":"s"}.`);for(let $ of C?[C.product]:g.products)Dx0($);if(C?.product.digitalDelivery)console.log("Reference the file in purchase sequence emails with {{event.download.url}}.");return}if(!E)e0(new r("Product ID is required",400)),process.exit(1);if(A==="delete"){let D=await G0("DELETE",`/api/v1/products/${encodeURIComponent(E)}`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Deleted product ${E}.`);return}if(A==="attach-file"){let D=await gx0(x);if(!D)e0(new r("Provide --file <path> to upload a file, or --url <link> to attach an external link.",400)),process.exit(1);let B=await Cx0(E,D,x.company);if(x.json){Z0(B);return}let g=B.product.digitalDelivery;console.log(`Attached ${g?.fileName??g?.url??"file"} to ${B.product.title}.`),console.log("Reference it in purchase sequence emails with {{event.download.url}}.");return}if(A==="detach-file"){let D=await G0("DELETE",`/api/v1/products/${encodeURIComponent(E)}/delivery`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Removed delivery file from ${D.product.title}.`)}}catch(D){e0(D instanceof r?D:D),process.exit(1)}}var Qx0=["status","phone","smsStatus","tag","email","added","firstName","lastName","list","event","segment","emailSent","emailOpened","emailClicked","emailBounced","emailComplained","attribute","stripeProduct","stripeCurrentProduct","stripeTrialProduct","commerceProduct"],zT0=new Set(["shopify","woocommerce","api"]),NT0=new Set(["emailSent","emailOpened","emailClicked","emailBounced","emailComplained"]),OT0={emailSent:{yes:"was sent",no:"was not sent"},emailOpened:{yes:"opened",no:"didn't open"},emailClicked:{yes:"clicked",no:"didn't click"},emailBounced:{yes:"bounced",no:"hasn't bounced"},emailComplained:{yes:"complained",no:"hasn't complained"}},Ix0=["is","is_not","is_empty","is_not_empty","contains","not_contains","less_than","more_than","at_least","less_than_count","gte","lte","gt","lt"];function PT0(A){return Qx0.includes(A)}function VT0(A){return Ix0.includes(A)}function xq(A,x){if(!A)throw new r(`${x} is required for this operator`,400);let E=Number.parseInt(A,10);if(!Number.isInteger(E)||E<=0)throw new r(`${x} must be a positive integer`,400);return E}function L1(A,x){if(typeof A!=="string"||A.trim()==="")throw new r(`${x} must be a non-empty string`,400);return A}function vT0(A){let x=L1(A.productId,"Stripe product ID");switch(A.purchaseOperator??"bought"){case"bought":return{id:crypto.randomUUID(),field:"stripeProduct",operator:"is",value:x};case"didnt-buy":return{id:crypto.randomUUID(),field:"stripeProduct",operator:"is_not",value:x};case"at-least":{let D=xq(A.payments,"--payments");return{id:crypto.randomUUID(),field:"stripeProduct",operator:"at_least",value:`${x}:${D}`}}case"less-than":{let D=xq(A.payments,"--payments");return{id:crypto.randomUUID(),field:"stripeProduct",operator:"less_than_count",value:`${x}:${D}`}}default:throw new r("`--purchase-operator` must be one of: bought, didnt-buy, at-least, less-than",400)}}function TT0(A){let x=L1(A.productId,"Commerce product ID");switch(A.purchaseOperator??"bought"){case"bought":return{id:crypto.randomUUID(),field:"commerceProduct",operator:"is",value:x};case"didnt-buy":return{id:crypto.randomUUID(),field:"commerceProduct",operator:"is_not",value:x};case"at-least":{let D=xq(A.orders,"--orders");return{id:crypto.randomUUID(),field:"commerceProduct",operator:"at_least",value:`${x}:${D}`}}case"less-than":{let D=xq(A.orders,"--orders");return{id:crypto.randomUUID(),field:"commerceProduct",operator:"less_than_count",value:`${x}:${D}`}}default:throw new r("`--purchase-operator` must be one of: bought, didnt-buy, at-least, less-than",400)}}function yx0(A,x){if(typeof A!=="object"||A===null)throw new r(`Filter at ${x} must be an object with field/operator/value`,400);let E=A,D=L1(E.field,`${x}.field`),B=L1(E.operator,`${x}.operator`);if(!PT0(D))throw new r(`${x}.field must be one of: ${Qx0.join(", ")}`,400);if(!VT0(B))throw new r(`${x}.operator must be one of: ${Ix0.join(", ")}`,400);let g;if(B==="is_empty"||B==="is_not_empty"){if(typeof E.value!=="string")throw new r(`${x}.value must be a string`,400);if(D==="attribute"&&!E.value.includes(":"))throw new r(`${x}.value must use the format "attributeName:" when field is "attribute" (e.g. "last_logged_in:")`,400);g=E.value}else g=L1(E.value,`${x}.value`);return{id:typeof E.id==="string"&&E.id.trim()!==""?E.id:crypto.randomUUID(),field:D,operator:B,value:g}}function wx0(A,x){if(typeof A!=="object"||A===null)throw new r(`${x} must be a filter or group object`,400);let E=A;if(E.kind==="group"){let D=fx0(E.joinOperator==="or"?"any":"all");if(!Array.isArray(E.children)||E.children.length===0)throw new r(`${x}.children must be a non-empty array`,400);return{kind:"group",id:typeof E.id==="string"&&E.id.trim()!==""?E.id:crypto.randomUUID(),joinOperator:D,children:E.children.map((B,g)=>wx0(B,`${x}.children[${g}]`))}}return{kind:"filter",...yx0(A,x)}}function $x0(A,x="--filter-json"){let E;try{E=JSON.parse(A)}catch{throw new r(`\`${x}\` must be valid JSON`,400)}if(Array.isArray(E)){if(E.length===0)throw new r(`\`${x}\` must be a non-empty JSON array`,400);return{filters:E.map((D,B)=>yx0(D,`filters[${B}]`))}}if(typeof E==="object"&&E!==null){let D=E,B=D.kind==="group"?D:D.root??(D.version===2?D.root:void 0);if(B){let g=wx0(B,"root");if(g.kind!=="group")throw new r(`\`${x}\` root must be a group`,400);return{root:g}}}throw new r(`\`${x}\` must be a non-empty filter array or an object with a root group`,400)}function fx0(A){if(A===void 0||A==="all")return"and";if(A==="any")return"or";throw new r("`--match` must be either `all` or `any`",400)}function kT0(A){if([A.filterJson,A.stripeProduct,A.commerceProduct].filter(Boolean).length>1)throw new r("Use only one of `--filter-json`, `--stripe-product`, or `--commerce-product`",400);if(A.filterJson)return $x0(A.filterJson);if(A.stripeProduct)return{filters:[vT0({productId:A.stripeProduct,purchaseOperator:A.purchaseOperator,payments:A.payments})]};if(A.commerceProduct)return{filters:[TT0({productId:A.commerceProduct,purchaseOperator:A.purchaseOperator,orders:A.orders})]};throw new r("Provide `--stripe-product`, `--commerce-product`, or `--filter-json` when creating a segment",400)}function uT0(A){if(A.name!==void 0&&A.name.trim()==="")throw new r("Segment name cannot be empty",400);let x=e4(A.filtersJson,A.filtersFile,"filters-json"),E=x!==void 0?$x0(x,"--filters-json"):void 0,D;if(A.joinOperator!==void 0){if(A.joinOperator!=="and"&&A.joinOperator!=="or")throw new r("`--join-operator` must be either `and` or `or`",400);D=A.joinOperator}if(A.name===void 0&&E===void 0&&D===void 0)throw new r("Provide at least one of: --name, --filters-json, --filters-file, --join-operator",400);return{...A.name!==void 0&&{name:A.name},...E?.filters!==void 0&&{filters:E.filters},...E?.root!==void 0&&{root:E.root},...D!==void 0&&{filterJoinOperator:D}}}function Sx0(A){if(A.field==="stripeProduct"){let[x,E]=A.value.split(":",2);if(A.operator==="is")return`Stripe product bought ${x}`;if(A.operator==="is_not")return`Stripe product didn't buy ${x}`;if(A.operator==="at_least"&&E)return`Stripe product payments at least ${E} for ${x}`;if(A.operator==="less_than_count"&&E)return`Stripe product payments less than ${E} for ${x}`}if(A.field==="commerceProduct"){let x=A.value.split(":"),E=zT0.has(x[0]??"")?x.shift():null,B=(A.operator==="at_least"||A.operator==="less_than_count")&&x.length>1?x.pop():null,g=x.join(":"),C=E?`${E} product`:"product";if(A.operator==="is")return`Purchased ${C} ${g}`;if(A.operator==="is_not")return`Didn't purchase ${C} ${g}`;if(A.operator==="at_least")return`Orders at least ${B??1} for ${C} ${g}`;if(A.operator==="less_than_count")return`Orders less than ${B??1} for ${C} ${g}`}if(A.field==="event")return`event ${A.operator} ${A.value}`;if(A.field==="segment")return`segment ${A.operator} ${A.value}`;if(NT0.has(A.field)){let x=OT0[A.field],E=A.operator==="is_not"?x?.no:x?.yes??A.field;if(A.value.startsWith("campaign:")){let D=A.value.slice(9);return`${E} in campaign ${D}`}if(A.operator==="at_least"||A.operator==="less_than_count"){let[D,B]=A.value.split(":",2);if(D&&B){let g=A.operator==="at_least"?"at least":"less than";return`${x?.yes??A.field} ${g} ${D} times (${B})`}}return`${E} (${A.value})`}return`${A.field} ${A.operator} ${A.value}`}function Fx0(A){if(console.log(`- ${A.name} [${A.id}]`),console.log(` Match: ${(A.filterJoinOperator??"and")==="or"?"any condition":"all conditions"}`),console.log(` Filters: ${A.filters.length}`),A.createdAt)console.log(` Created: ${A.createdAt}`);for(let x of A.filters)console.log(` - ${Sx0(x)}`)}async function L3(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=await G0("GET","/api/v1/segments",void 0,x.company);if(x.json){console.log(JSON.stringify(B,null,2));return}console.log(`Segments (${B.segments.length})`);for(let g of B.segments)Fx0(g);return}if(A==="create"){let B=L1(x.name,"Segment name"),g=kT0(x),C=fx0(x.match),I=await G0("POST","/api/v1/segments",{name:B,...g,...g.root?{}:{filterJoinOperator:C}},x.company);if(x.json){console.log(JSON.stringify(I,null,2));return}console.log(`Created segment: ${I.segment.name}`),console.log(`ID: ${I.segment.id}`),console.log(`Match: ${(I.segment.filterJoinOperator??"and")==="or"?"any condition":"all conditions"}`);for(let $ of I.segment.filters)console.log(`- ${Sx0($)}`);return}if(A==="update"){let B=L1(x.id,"Segment ID"),g=uT0(x),C=await G0("PATCH",`/api/v1/segments/${encodeURIComponent(B)}`,g,x.company);if(x.json){console.log(JSON.stringify(C,null,2));return}console.log(`Updated segment: ${C.segment.name}`),Fx0(C.segment);return}if(A==="delete"){let B=L1(x.id,"Segment ID");if(!await N6(`Delete segment ${B}?`,x)){console.log("Aborted.");return}let g=await G0("DELETE",`/api/v1/segments/${encodeURIComponent(B)}`,void 0,x.company);if(x.json){console.log(JSON.stringify(g,null,2));return}console.log(`Deleted segment: ${B}`);return}let E=L1(x.id,"Segment ID"),D=await G0("GET",`/api/v1/segments/${E}/count`,void 0,x.company);if(x.json){console.log(JSON.stringify(D,null,2));return}console.log(`Segment ${D.segmentId}: ${D.count} subscribers`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}import{readFileSync as _i0}from"node:fs";import{Stream as Ni0}from"node:stream";import rq from"node:process";var KB0=Zx(z8(),1);import zi0 from"node:process";function Gx0(A,x,{signal:E,edges:D}={}){let B=void 0,g=null,C=D!=null&&D.includes("leading"),I=D==null||D.includes("trailing"),$=()=>{if(g!==null)A.apply(B,g),B=void 0,g=null},S=()=>{if(I)$();Z()},K=null,M=()=>{if(K!=null)clearTimeout(K);K=setTimeout(()=>{K=null,S()},x)},X=()=>{if(K!==null)clearTimeout(K),K=null},Z=()=>{X(),B=void 0,g=null},j=()=>{$()},V=function(...l){if(E?.aborted)return;B=this,g=l;let E0=K==null;if(M(),C&&E0)$()};return V.schedule=M,V.cancel=Z,V.flush=j,E?.addEventListener("abort",Z,{once:!0}),V}function Jx0(A,x=0,E={}){if(typeof E!=="object")E={};let{leading:D=!1,trailing:B=!0,maxWait:g}=E,C=Array(2);if(D)C[0]="leading";if(B)C[1]="trailing";let I=void 0,$=null,S=Gx0(function(...X){I=A.apply(this,X),$=null},x,{edges:C}),K=function(...X){if(g!=null){if($===null)$=Date.now();if(Date.now()-$>=g)return I=A.apply(this,X),$=Date.now(),S.cancel(),S.schedule(),I}return S.apply(this,X),I},M=()=>{return S.flush(),I};return K.cancel=S.cancel,K.flush=M,K}function Bq(A,x=0,E={}){let{leading:D=!0,trailing:B=!0}=E;return Jx0(A,x,{leading:D,maxWait:x,trailing:B})}var qF={};VD(qF,{setCwd:()=>Jk0,scrollUp:()=>gk0,scrollDown:()=>Ck0,link:()=>Sk0,image:()=>Gk0,iTerm:()=>qx0,exitAlternativeScreen:()=>$k0,eraseUp:()=>Dk0,eraseStartLine:()=>Ek0,eraseScreen:()=>Dq,eraseLines:()=>Ak0,eraseLine:()=>Ux0,eraseEndLine:()=>xk0,eraseDown:()=>Bk0,enterAlternativeScreen:()=>wk0,cursorUp:()=>Kx0,cursorTo:()=>cT0,cursorShow:()=>eT0,cursorSavePosition:()=>aT0,cursorRestorePosition:()=>_T0,cursorPrevLine:()=>tT0,cursorNextLine:()=>oT0,cursorMove:()=>lT0,cursorLeft:()=>Yx0,cursorHide:()=>sT0,cursorGetPosition:()=>dT0,cursorForward:()=>pT0,cursorDown:()=>nT0,cursorBackward:()=>rT0,clearViewport:()=>Qk0,clearTerminal:()=>yk0,clearScreen:()=>Fk0,beep:()=>fk0,ConEmu:()=>Xx0});import z3 from"node:process";import iT0 from"node:os";var j3=globalThis.window?.document!==void 0,cGA=globalThis.process?.versions?.node!==void 0,lGA=globalThis.process?.versions?.bun!==void 0,nGA=globalThis.Deno?.version?.deno!==void 0,pGA=globalThis.process?.versions?.electron!==void 0,rGA=globalThis.navigator?.userAgent?.includes("jsdom")===!0,aGA=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,_GA=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,dGA=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,oGA=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,FS=globalThis.navigator?.userAgentData?.platform,tGA=FS==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",sGA=FS==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",eGA=FS==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",AJA=FS==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),xJA=FS==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var x8="\x1B[",N3="\x1B]",UF="\x07",QS=";",Hx0=!j3&&z3.env.TERM_PROGRAM==="Apple_Terminal",hT0=!j3&&z3.platform==="win32",mT0=!j3&&(z3.env.TERM?.startsWith("screen")||z3.env.TERM?.startsWith("tmux")||z3.env.TMUX!==void 0),Wv=j3?()=>{throw Error("`process.cwd()` only works in Node.js, not the browser.")}:z3.cwd,O3=(A)=>{if(mT0)return"\x1BPtmux;"+A.replaceAll("\x1B","\x1B\x1B")+"\x1B\\";return A},cT0=(A,x)=>{if(typeof A!=="number")throw TypeError("The `x` argument is required");if(typeof x!=="number")return x8+(A+1)+"G";return x8+(x+1)+QS+(A+1)+"H"},lT0=(A,x)=>{if(typeof A!=="number")throw TypeError("The `x` argument is required");let E="";if(A<0)E+=x8+-A+"D";else if(A>0)E+=x8+A+"C";if(x<0)E+=x8+-x+"A";else if(x>0)E+=x8+x+"B";return E},Kx0=(A=1)=>x8+A+"A",nT0=(A=1)=>x8+A+"B",pT0=(A=1)=>x8+A+"C",rT0=(A=1)=>x8+A+"D",Yx0=x8+"G",aT0=Hx0?"\x1B7":x8+"s",_T0=Hx0?"\x1B8":x8+"u",dT0=x8+"6n",oT0=x8+"E",tT0=x8+"F",sT0=x8+"?25l",eT0=x8+"?25h",Ak0=(A)=>{let x="";for(let E=0;E<A;E++)x+=Ux0+(E<A-1?Kx0():"");if(A)x+=Yx0;return x},xk0=x8+"K",Ek0=x8+"1K",Ux0=x8+"2K",Bk0=x8+"J",Dk0=x8+"1J",Dq=x8+"2J",gk0=x8+"S",Ck0=x8+"T",Fk0="\x1Bc",Qk0=`${Dq}${x8}H`,Ik0=()=>{if(j3||!hT0)return!1;let A=iT0.release().split("."),x=Number(A[0]),E=Number(A[2]??0);if(x<10)return!0;if(x===10&&E<10586)return!0;return!1},yk0=Ik0()?`${Dq}${x8}0f`:`${Dq}${x8}3J${x8}H`,wk0=x8+"?1049h",$k0=x8+"?1049l",fk0=UF,Sk0=(A,x)=>{let E=O3(`${N3}8${QS}${QS}${x}${UF}`),D=O3(`${N3}8${QS}${QS}${UF}`);return E+A+D},Gk0=(A,x={})=>{let E=`${N3}1337;File=inline=1`;if(x.width)E+=`;width=${x.width}`;if(x.height)E+=`;height=${x.height}`;if(x.preserveAspectRatio===!1)E+=";preserveAspectRatio=0";let D=Buffer.from(A);return O3(E+`;size=${D.byteLength}:`+D.toString("base64")+UF)},qx0={setCwd:(A=Wv())=>O3(`${N3}50;CurrentDir=${A}${UF}`),annotation(A,x={}){let E=`${N3}1337;`,D=x.x!==void 0,B=x.y!==void 0;if((D||B)&&!(D&&B&&x.length!==void 0))throw Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");if(A=A.replaceAll("|",""),E+=x.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",x.length>0)E+=(D?[A,x.length,x.x,x.y]:[x.length,A]).join("|");else E+=A;return O3(E+UF)}},Xx0={setCwd:(A=Wv())=>O3(`${N3}9;9;${A}${UF}`)},Jk0=(A=Wv())=>qx0.setCwd(A)+Xx0.setCwd(A);import{env as IS}from"node:process";var Hk0=IS.CI!=="0"&&IS.CI!=="false"&&(("CI"in IS)||("CONTINUOUS_INTEGRATION"in IS)||Object.keys(IS).some((A)=>A.startsWith("CI_"))),XF=Hk0;var Kk0=(A)=>{let x=new Set;do for(let E of Reflect.ownKeys(A))x.add([A,E]);while((A=Reflect.getPrototypeOf(A))&&A!==Object.prototype);return x};function Rv(A,{include:x,exclude:E}={}){let D=(B)=>{let g=(C)=>typeof C==="string"?B===C:C.test(B);if(x)return x.some(g);if(E)return!E.some(g);return!0};for(let[B,g]of Kk0(A.constructor.prototype)){if(g==="constructor"||!D(g))continue;let C=Reflect.getOwnPropertyDescriptor(B,g);if(C&&typeof C.value==="function")A[g]=A[g].bind(A)}return A}var YB0=Zx(Ov(),1);import{PassThrough as Mx0}from"node:stream";var Wx0=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Pv={},Yk0=(A)=>{let x=new Mx0,E=new Mx0;x.write=(B)=>{A("stdout",B)},E.write=(B)=>{A("stderr",B)};let D=new console.Console(x,E);for(let B of Wx0)Pv[B]=console[B],console[B]=D[B];return()=>{for(let B of Wx0)console[B]=Pv[B];Pv={}}},Rx0=Yk0;var Uk0=(()=>{var A=import.meta.url;return function(x){x=x||{};var E;E||(E=typeof x<"u"?x:{});var D,B;E.ready=new Promise(function(v,T){D=v,B=T});var g=Object.assign({},E),C="";typeof document<"u"&&document.currentScript&&(C=document.currentScript.src),A&&(C=A),C.indexOf("blob:")!==0?C=C.substr(0,C.replace(/[?#].*/,"").lastIndexOf("/")+1):C="";var I=E.print||console.log.bind(console),$=E.printErr||console.warn.bind(console);Object.assign(E,g),g=null;var S;E.wasmBinary&&(S=E.wasmBinary);var K=E.noExitRuntime||!0;typeof WebAssembly!="object"&&c0("no native wasm support detected");var M,X=!1;function Z(v,T,t){t=T+t;for(var D0="";!(T>=t);){var y0=v[T++];if(!y0)break;if(y0&128){var P0=v[T++]&63;if((y0&224)==192)D0+=String.fromCharCode((y0&31)<<6|P0);else{var o0=v[T++]&63;y0=(y0&240)==224?(y0&15)<<12|P0<<6|o0:(y0&7)<<18|P0<<12|o0<<6|v[T++]&63,65536>y0?D0+=String.fromCharCode(y0):(y0-=65536,D0+=String.fromCharCode(55296|y0>>10,56320|y0&1023))}}else D0+=String.fromCharCode(y0)}return D0}var j,V,l,E0,K0,B0,Q0,F0,k0;function z0(){var v=M.buffer;j=v,E.HEAP8=V=new Int8Array(v),E.HEAP16=E0=new Int16Array(v),E.HEAP32=B0=new Int32Array(v),E.HEAPU8=l=new Uint8Array(v),E.HEAPU16=K0=new Uint16Array(v),E.HEAPU32=Q0=new Uint32Array(v),E.HEAPF32=F0=new Float32Array(v),E.HEAPF64=k0=new Float64Array(v)}var JA,U0=[],zA=[],cx=[];function eA(){var v=E.preRun.shift();U0.unshift(v)}var EA=0,O0=null,g0=null;function c0(v){if(E.onAbort)E.onAbort(v);throw v="Aborted("+v+")",$(v),X=!0,v=new WebAssembly.RuntimeError(v+". Build with -sASSERTIONS for more info."),B(v),v}function q0(v){return v.startsWith("data:application/octet-stream;base64,")}var xA="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";if(!q0(xA)){var r0=xA;xA=E.locateFile?E.locateFile(r0,C):C+r0}function Mx(){var v=xA;try{if(v==xA&&S)return new Uint8Array(S);if(q0(v))try{var T=Pg(v.slice(37)),t=new Uint8Array(T.length);for(v=0;v<T.length;++v)t[v]=T.charCodeAt(v);var D0=t}catch(P0){throw Error("Converting base64 string to bytes failed.")}else D0=void 0;var y0=D0;if(y0)return y0;throw"both async and sync fetching of the wasm failed"}catch(P0){c0(P0)}}function M0(){return S||typeof fetch!="function"?Promise.resolve().then(function(){return Mx()}):fetch(xA,{credentials:"same-origin"}).then(function(v){if(!v.ok)throw"failed to load wasm binary file at '"+xA+"'";return v.arrayBuffer()}).catch(function(){return Mx()})}function o(v){for(;0<v.length;)v.shift()(E)}function C0(v){if(v===void 0)return"_unknown";v=v.replace(/[^a-zA-Z0-9_]/g,"$");var T=v.charCodeAt(0);return 48<=T&&57>=T?"_"+v:v}function HA(v,T){return v=C0(v),function(){return T.apply(this,arguments)}}var i0=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ex=[];function Fx(v){var T=Error,t=HA(v,function(D0){this.name=v,this.message=D0,D0=Error(D0).stack,D0!==void 0&&(this.stack=this.toString()+`
|
|
381
381
|
`+D0.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(T.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},t}var DE=void 0;function KA(v){throw new DE(v)}var wx=(v)=>{return v||KA("Cannot use deleted val. handle = "+v),i0[v].value},Qx=(v)=>{switch(v){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var T=Ex.length?Ex.pop():i0.length;return i0[T]={ga:1,value:v},T}},bA=void 0,lx=void 0;function kA(v){for(var T="";l[v];)T+=lx[l[v++]];return T}var _=[];function j0(){for(;_.length;){var v=_.pop();v.M.$=!1,v.delete()}}var FA=void 0,SA={};function Bx(v,T){for(T===void 0&&KA("ptr should not be undefined");v.R;)T=v.ba(T),v=v.R;return T}var aA={};function $x(v){v=$7(v);var T=kA(v);return G6(v),T}function w8(v,T){var t=aA[v];return t===void 0&&KA(T+" has unknown type "+$x(v)),t}function rx(){}var GB=!1;function sB(v){--v.count.value,v.count.value===0&&(v.T?v.U.W(v.T):v.P.N.W(v.O))}function bB(v,T,t){if(T===t)return v;if(t.R===void 0)return null;return v=bB(v,T,t.R),v===null?null:t.na(v)}var l9={};function f6(v,T){return T=Bx(v,T),SA[T]}var gE=void 0;function G9(v){throw new gE(v)}function V0(v,T){return T.P&&T.O||G9("makeClassHandle requires ptr and ptrType"),!!T.U!==!!T.T&&G9("Both smartPtrType and smartPtr must be specified"),T.count={value:1},DA(Object.create(v,{M:{value:T}}))}function DA(v){if(typeof FinalizationRegistry>"u")return DA=(T)=>T,v;return GB=new FinalizationRegistry((T)=>{sB(T.M)}),DA=(T)=>{var t=T.M;return t.T&&GB.register(T,{M:t},T),T},rx=(T)=>{GB.unregister(T)},DA(v)}var Gx={};function UE(v){for(;v.length;){var T=v.pop();v.pop()(T)}}function RA(v){return this.fromWireType(B0[v>>2])}var ZA={},_E={};function ox(v,T,t){function D0(t0){t0=t(t0),t0.length!==v.length&&G9("Mismatched type converter count");for(var yA=0;yA<v.length;++yA)kE(v[yA],t0[yA])}v.forEach(function(t0){_E[t0]=T});var y0=Array(T.length),P0=[],o0=0;T.forEach((t0,yA)=>{aA.hasOwnProperty(t0)?y0[yA]=aA[t0]:(P0.push(t0),ZA.hasOwnProperty(t0)||(ZA[t0]=[]),ZA[t0].push(()=>{y0[yA]=aA[t0],++o0,o0===P0.length&&D0(y0)}))}),P0.length===0&&D0(y0)}function Ax(v){switch(v){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError("Unknown type size: "+v)}}function kE(v,T,t={}){if(!("argPackAdvance"in T))throw TypeError("registerType registeredInstance requires argPackAdvance");var D0=T.name;if(v||KA('type "'+D0+'" must have a positive integer typeid pointer'),aA.hasOwnProperty(v)){if(t.ua)return;KA("Cannot register type '"+D0+"' twice")}aA[v]=T,delete _E[v],ZA.hasOwnProperty(v)&&(T=ZA[v],delete ZA[v],T.forEach((y0)=>y0()))}function J9(v){KA(v.M.P.N.name+" instance already deleted")}function JB(){}function tx(v,T,t){if(v[T].S===void 0){var D0=v[T];v[T]=function(){return v[T].S.hasOwnProperty(arguments.length)||KA("Function '"+t+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+v[T].S+")!"),v[T].S[arguments.length].apply(this,arguments)},v[T].S=[],v[T].S[D0.Z]=D0}}function n9(v,T){E.hasOwnProperty(v)?(KA("Cannot register public name '"+v+"' twice"),tx(E,v,v),E.hasOwnProperty(void 0)&&KA("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),E[v].S[void 0]=T):E[v]=T}function p9(v,T,t,D0,y0,P0,o0,t0){this.name=v,this.constructor=T,this.X=t,this.W=D0,this.R=y0,this.pa=P0,this.ba=o0,this.na=t0,this.ja=[]}function r9(v,T,t){for(;T!==t;)T.ba||KA("Expected null or instance of "+t.name+", got an instance of "+T.name),v=T.ba(v),T=T.R;return v}function eB(v,T){if(T===null)return this.ea&&KA("null is not a valid "+this.name),0;return T.M||KA('Cannot pass "'+qE(T)+'" as a '+this.name),T.M.O||KA("Cannot pass deleted object as a pointer of type "+this.name),r9(T.M.O,T.M.P.N,this.N)}function WB(v,T){if(T===null){if(this.ea&&KA("null is not a valid "+this.name),this.da){var t=this.fa();return v!==null&&v.push(this.W,t),t}return 0}if(T.M||KA('Cannot pass "'+qE(T)+'" as a '+this.name),T.M.O||KA("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&T.M.P.ca&&KA("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name),t=r9(T.M.O,T.M.P.N,this.N),this.da)switch(T.M.T===void 0&&KA("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:T.M.U===this?t=T.M.T:KA("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name);break;case 1:t=T.M.T;break;case 2:if(T.M.U===this)t=T.M.T;else{var D0=T.clone();t=this.xa(t,Qx(function(){D0.delete()})),v!==null&&v.push(this.W,t)}break;default:KA("Unsupporting sharing policy")}return t}function a9(v,T){if(T===null)return this.ea&&KA("null is not a valid "+this.name),0;return T.M||KA('Cannot pass "'+qE(T)+'" as a '+this.name),T.M.O||KA("Cannot pass deleted object as a pointer of type "+this.name),T.M.P.ca&&KA("Cannot convert argument of type "+T.M.P.name+" to parameter type "+this.name),r9(T.M.O,T.M.P.N,this.N)}function iB(v,T,t,D0){this.name=v,this.N=T,this.ea=t,this.ca=D0,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,T.R!==void 0?this.toWireType=WB:(this.toWireType=D0?eB:a9,this.V=null)}function H2(v,T){E.hasOwnProperty(v)||G9("Replacing nonexistant public symbol"),E[v]=T,E[v].Z=void 0}function u1(v,T){var t=[];return function(){if(t.length=0,Object.assign(t,arguments),v.includes("j")){var D0=E["dynCall_"+v];D0=t&&t.length?D0.apply(null,[T].concat(t)):D0.call(null,T)}else D0=JA.get(T).apply(null,t);return D0}}function HB(v,T){v=kA(v);var t=v.includes("j")?u1(v,T):JA.get(T);return typeof t!="function"&&KA("unknown function pointer with signature "+v+": "+T),t}var a=void 0;function a0(v,T){function t(P0){y0[P0]||aA[P0]||(_E[P0]?_E[P0].forEach(t):(D0.push(P0),y0[P0]=!0))}var D0=[],y0={};throw T.forEach(t),new a(v+": "+D0.map($x).join([", "]))}function XA(v,T,t,D0,y0){var P0=T.length;2>P0&&KA("argTypes array size mismatch! Must at least get return value and 'this' types!");var o0=T[1]!==null&&t!==null,t0=!1;for(t=1;t<T.length;++t)if(T[t]!==null&&T[t].V===void 0){t0=!0;break}var yA=T[0].name!=="void",AA=P0-2,MA=Array(AA),vA=[],sx=[];return function(){if(arguments.length!==AA&&KA("function "+v+" called with "+arguments.length+" arguments, expected "+AA+" args!"),sx.length=0,vA.length=o0?2:1,vA[0]=y0,o0){var CE=T[1].toWireType(sx,this);vA[1]=CE}for(var OE=0;OE<AA;++OE)MA[OE]=T[OE+2].toWireType(sx,arguments[OE]),vA.push(MA[OE]);if(OE=D0.apply(null,vA),t0)UE(sx);else for(var d8=o0?1:2;d8<T.length;d8++){var H9=d8===1?CE:MA[d8-2];T[d8].V!==null&&T[d8].V(H9)}return CE=yA?T[0].fromWireType(OE):void 0,CE}}function fx(v,T){for(var t=[],D0=0;D0<v;D0++)t.push(Q0[T+4*D0>>2]);return t}function Ix(v){4<v&&--i0[v].ga===0&&(i0[v]=void 0,Ex.push(v))}function qE(v){if(v===null)return"null";var T=typeof v;return T==="object"||T==="array"||T==="function"?v.toString():""+v}function Nx(v,T){switch(T){case 2:return function(t){return this.fromWireType(F0[t>>2])};case 3:return function(t){return this.fromWireType(k0[t>>3])};default:throw TypeError("Unknown float type: "+v)}}function Tx(v,T,t){switch(T){case 0:return t?function(D0){return V[D0]}:function(D0){return l[D0]};case 1:return t?function(D0){return E0[D0>>1]}:function(D0){return K0[D0>>1]};case 2:return t?function(D0){return B0[D0>>2]}:function(D0){return Q0[D0>>2]};default:throw TypeError("Unknown integer type: "+v)}}function r8(v,T){for(var t="",D0=0;!(D0>=T/2);++D0){var y0=E0[v+2*D0>>1];if(y0==0)break;t+=String.fromCharCode(y0)}return t}function dE(v,T,t){if(t===void 0&&(t=2147483647),2>t)return 0;t-=2;var D0=T;t=t<2*v.length?t/2:v.length;for(var y0=0;y0<t;++y0)E0[T>>1]=v.charCodeAt(y0),T+=2;return E0[T>>1]=0,T-D0}function E8(v){return 2*v.length}function a8(v,T){for(var t=0,D0="";!(t>=T/4);){var y0=B0[v+4*t>>2];if(y0==0)break;++t,65536<=y0?(y0-=65536,D0+=String.fromCharCode(55296|y0>>10,56320|y0&1023)):D0+=String.fromCharCode(y0)}return D0}function RB(v,T,t){if(t===void 0&&(t=2147483647),4>t)return 0;var D0=T;t=D0+t-4;for(var y0=0;y0<v.length;++y0){var P0=v.charCodeAt(y0);if(55296<=P0&&57343>=P0){var o0=v.charCodeAt(++y0);P0=65536+((P0&1023)<<10)|o0&1023}if(B0[T>>2]=P0,T+=4,T+4>t)break}return B0[T>>2]=0,T-D0}function S6(v){for(var T=0,t=0;t<v.length;++t){var D0=v.charCodeAt(t);55296<=D0&&57343>=D0&&++t,T+=4}return T}var _8={};function W4(v){var T=_8[v];return T===void 0?kA(v):T}var R4=[];function K2(v){var T=R4.length;return R4.push(v),T}function Og(v,T){for(var t=Array(v),D0=0;D0<v;++D0)t[D0]=w8(Q0[T+4*D0>>2],"parameter "+D0);return t}var Y2=[],L4=[null,[],[]];DE=E.BindingError=Fx("BindingError"),E.count_emval_handles=function(){for(var v=0,T=5;T<i0.length;++T)i0[T]!==void 0&&++v;return v},E.get_first_emval=function(){for(var v=5;v<i0.length;++v)if(i0[v]!==void 0)return i0[v];return null},bA=E.PureVirtualError=Fx("PureVirtualError");for(var b1=Array(256),j4=0;256>j4;++j4)b1[j4]=String.fromCharCode(j4);lx=b1,E.getInheritedInstanceCount=function(){return Object.keys(SA).length},E.getLiveInheritedInstances=function(){var v=[],T;for(T in SA)SA.hasOwnProperty(T)&&v.push(SA[T]);return v},E.flushPendingDeletes=j0,E.setDelayFunction=function(v){FA=v,_.length&&FA&&FA(j0)},gE=E.InternalError=Fx("InternalError"),JB.prototype.isAliasOf=function(v){if(!(this instanceof JB&&v instanceof JB))return!1;var T=this.M.P.N,t=this.M.O,D0=v.M.P.N;for(v=v.M.O;T.R;)t=T.ba(t),T=T.R;for(;D0.R;)v=D0.ba(v),D0=D0.R;return T===D0&&t===v},JB.prototype.clone=function(){if(this.M.O||J9(this),this.M.aa)return this.M.count.value+=1,this;var v=DA,T=Object,t=T.create,D0=Object.getPrototypeOf(this),y0=this.M;return v=v(t.call(T,D0,{M:{value:{count:y0.count,$:y0.$,aa:y0.aa,O:y0.O,P:y0.P,T:y0.T,U:y0.U}}})),v.M.count.value+=1,v.M.$=!1,v},JB.prototype.delete=function(){this.M.O||J9(this),this.M.$&&!this.M.aa&&KA("Object already scheduled for deletion"),rx(this),sB(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},JB.prototype.isDeleted=function(){return!this.M.O},JB.prototype.deleteLater=function(){return this.M.O||J9(this),this.M.$&&!this.M.aa&&KA("Object already scheduled for deletion"),_.push(this),_.length===1&&FA&&FA(j0),this.M.$=!0,this},iB.prototype.qa=function(v){return this.ka&&(v=this.ka(v)),v},iB.prototype.ha=function(v){this.W&&this.W(v)},iB.prototype.argPackAdvance=8,iB.prototype.readValueFromPointer=RA,iB.prototype.deleteObject=function(v){if(v!==null)v.delete()},iB.prototype.fromWireType=function(v){function T(){return this.da?V0(this.N.X,{P:this.wa,O:t,U:this,T:v}):V0(this.N.X,{P:this,O:v})}var t=this.qa(v);if(!t)return this.ha(v),null;var D0=f6(this.N,t);if(D0!==void 0){if(D0.M.count.value===0)return D0.M.O=t,D0.M.T=v,D0.clone();return D0=D0.clone(),this.ha(v),D0}if(D0=this.N.pa(t),D0=l9[D0],!D0)return T.call(this);D0=this.ca?D0.la:D0.pointerType;var y0=bB(t,this.N,D0.N);return y0===null?T.call(this):this.da?V0(D0.N.X,{P:D0,O:y0,U:this,T:v}):V0(D0.N.X,{P:D0,O:y0})},a=E.UnboundTypeError=Fx("UnboundTypeError");var Pg=typeof atob=="function"?atob:function(v){var T="",t=0;v=v.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var D0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(t++)),y0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(t++)),P0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(t++)),o0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(t++));D0=D0<<2|y0>>4,y0=(y0&15)<<4|P0>>2;var t0=(P0&3)<<6|o0;T+=String.fromCharCode(D0),P0!==64&&(T+=String.fromCharCode(y0)),o0!==64&&(T+=String.fromCharCode(t0))}while(t<v.length);return T},A9={l:function(v,T,t,D0){c0("Assertion failed: "+(v?Z(l,v):"")+", at: "+[T?T?Z(l,T):"":"unknown filename",t,D0?D0?Z(l,D0):"":"unknown function"])},q:function(v,T,t){v=kA(v),T=w8(T,"wrapper"),t=wx(t);var D0=[].slice,y0=T.N,P0=y0.X,o0=y0.R.X,t0=y0.R.constructor;v=HA(v,function(){y0.R.ja.forEach(function(AA){if(this[AA]===o0[AA])throw new bA("Pure virtual function "+AA+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:P0}),this.__construct.apply(this,D0.call(arguments))}),P0.__construct=function(){this===P0&&KA("Pass correct 'this' to __construct");var AA=t0.implement.apply(void 0,[this].concat(D0.call(arguments)));rx(AA);var MA=AA.M;AA.notifyOnDestruction(),MA.aa=!0,Object.defineProperties(this,{M:{value:MA}}),DA(this),AA=MA.O,AA=Bx(y0,AA),SA.hasOwnProperty(AA)?KA("Tried to register registered instance: "+AA):SA[AA]=this},P0.__destruct=function(){this===P0&&KA("Pass correct 'this' to __destruct"),rx(this);var AA=this.M.O;AA=Bx(y0,AA),SA.hasOwnProperty(AA)?delete SA[AA]:KA("Tried to unregister unregistered instance: "+AA)},v.prototype=Object.create(P0);for(var yA in t)v.prototype[yA]=t[yA];return Qx(v)},j:function(v){var T=Gx[v];delete Gx[v];var{fa:t,W:D0,ia:y0}=T,P0=y0.map((o0)=>o0.ta).concat(y0.map((o0)=>o0.za));ox([v],P0,(o0)=>{var t0={};return y0.forEach((yA,AA)=>{var MA=o0[AA],vA=yA.ra,sx=yA.sa,CE=o0[AA+y0.length],OE=yA.ya,d8=yA.Aa;t0[yA.oa]={read:(H9)=>MA.fromWireType(vA(sx,H9)),write:(H9,z4)=>{var Q5=[];OE(d8,H9,CE.toWireType(Q5,z4)),UE(Q5)}}}),[{name:T.name,fromWireType:function(yA){var AA={},MA;for(MA in t0)AA[MA]=t0[MA].read(yA);return D0(yA),AA},toWireType:function(yA,AA){for(var MA in t0)if(!(MA in AA))throw TypeError('Missing field: "'+MA+'"');var vA=t();for(MA in t0)t0[MA].write(vA,AA[MA]);return yA!==null&&yA.push(D0,vA),vA},argPackAdvance:8,readValueFromPointer:RA,V:D0}]})},v:function(){},B:function(v,T,t,D0,y0){var P0=Ax(t);T=kA(T),kE(v,{name:T,fromWireType:function(o0){return!!o0},toWireType:function(o0,t0){return t0?D0:y0},argPackAdvance:8,readValueFromPointer:function(o0){if(t===1)var t0=V;else if(t===2)t0=E0;else if(t===4)t0=B0;else throw TypeError("Unknown boolean type size: "+T);return this.fromWireType(t0[o0>>P0])},V:null})},f:function(v,T,t,D0,y0,P0,o0,t0,yA,AA,MA,vA,sx){MA=kA(MA),P0=HB(y0,P0),t0&&(t0=HB(o0,t0)),AA&&(AA=HB(yA,AA)),sx=HB(vA,sx);var CE=C0(MA);n9(CE,function(){a0("Cannot construct "+MA+" due to unbound types",[D0])}),ox([v,T,t],D0?[D0]:[],function(OE){if(OE=OE[0],D0)var d8=OE.N,H9=d8.X;else H9=JB.prototype;OE=HA(CE,function(){if(Object.getPrototypeOf(this)!==z4)throw new DE("Use 'new' to construct "+MA);if(Q5.Y===void 0)throw new DE(MA+" has no accessible constructor");var U2=Q5.Y[arguments.length];if(U2===void 0)throw new DE("Tried to invoke ctor of "+MA+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Q5.Y).toString()+") parameters instead!");return U2.apply(this,arguments)});var z4=Object.create(H9,{constructor:{value:OE}});OE.prototype=z4;var Q5=new p9(MA,OE,z4,sx,d8,P0,t0,AA);d8=new iB(MA,Q5,!0,!1),H9=new iB(MA+"*",Q5,!1,!1);var kF=new iB(MA+" const*",Q5,!1,!0);return l9[v]={pointerType:H9,la:kF},H2(CE,OE),[d8,H9,kF]})},d:function(v,T,t,D0,y0,P0,o0){var t0=fx(t,D0);T=kA(T),P0=HB(y0,P0),ox([],[v],function(yA){function AA(){a0("Cannot call "+MA+" due to unbound types",t0)}yA=yA[0];var MA=yA.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]);var vA=yA.N.constructor;return vA[T]===void 0?(AA.Z=t-1,vA[T]=AA):(tx(vA,T,MA),vA[T].S[t-1]=AA),ox([],t0,function(sx){return sx=XA(MA,[sx[0],null].concat(sx.slice(1)),null,P0,o0),vA[T].S===void 0?(sx.Z=t-1,vA[T]=sx):vA[T].S[t-1]=sx,[]}),[]})},p:function(v,T,t,D0,y0,P0){0<T||c0();var o0=fx(T,t);y0=HB(D0,y0),ox([],[v],function(t0){t0=t0[0];var yA="constructor "+t0.name;if(t0.N.Y===void 0&&(t0.N.Y=[]),t0.N.Y[T-1]!==void 0)throw new DE("Cannot register multiple constructors with identical number of parameters ("+(T-1)+") for class '"+t0.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t0.N.Y[T-1]=()=>{a0("Cannot construct "+t0.name+" due to unbound types",o0)},ox([],o0,function(AA){return AA.splice(1,0,null),t0.N.Y[T-1]=XA(yA,AA,null,y0,P0),[]}),[]})},a:function(v,T,t,D0,y0,P0,o0,t0){var yA=fx(t,D0);T=kA(T),P0=HB(y0,P0),ox([],[v],function(AA){function MA(){a0("Cannot call "+vA+" due to unbound types",yA)}AA=AA[0];var vA=AA.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]),t0&&AA.N.ja.push(T);var sx=AA.N.X,CE=sx[T];return CE===void 0||CE.S===void 0&&CE.className!==AA.name&&CE.Z===t-2?(MA.Z=t-2,MA.className=AA.name,sx[T]=MA):(tx(sx,T,vA),sx[T].S[t-2]=MA),ox([],yA,function(OE){return OE=XA(vA,OE,AA,P0,o0),sx[T].S===void 0?(OE.Z=t-2,sx[T]=OE):sx[T].S[t-2]=OE,[]}),[]})},A:function(v,T){T=kA(T),kE(v,{name:T,fromWireType:function(t){var D0=wx(t);return Ix(t),D0},toWireType:function(t,D0){return Qx(D0)},argPackAdvance:8,readValueFromPointer:RA,V:null})},n:function(v,T,t){t=Ax(t),T=kA(T),kE(v,{name:T,fromWireType:function(D0){return D0},toWireType:function(D0,y0){return y0},argPackAdvance:8,readValueFromPointer:Nx(T,t),V:null})},e:function(v,T,t,D0,y0){T=kA(T),y0===-1&&(y0=4294967295),y0=Ax(t);var P0=(t0)=>t0;if(D0===0){var o0=32-8*t;P0=(t0)=>t0<<o0>>>o0}t=T.includes("unsigned")?function(t0,yA){return yA>>>0}:function(t0,yA){return yA},kE(v,{name:T,fromWireType:P0,toWireType:t,argPackAdvance:8,readValueFromPointer:Tx(T,y0,D0!==0),V:null})},b:function(v,T,t){function D0(P0){P0>>=2;var o0=Q0;return new y0(j,o0[P0+1],o0[P0])}var y0=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][T];t=kA(t),kE(v,{name:t,fromWireType:D0,argPackAdvance:8,readValueFromPointer:D0},{ua:!0})},o:function(v,T){T=kA(T);var t=T==="std::string";kE(v,{name:T,fromWireType:function(D0){var y0=Q0[D0>>2],P0=D0+4;if(t)for(var o0=P0,t0=0;t0<=y0;++t0){var yA=P0+t0;if(t0==y0||l[yA]==0){if(o0=o0?Z(l,o0,yA-o0):"",AA===void 0)var AA=o0;else AA+=String.fromCharCode(0),AA+=o0;o0=yA+1}}else{AA=Array(y0);for(t0=0;t0<y0;++t0)AA[t0]=String.fromCharCode(l[P0+t0]);AA=AA.join("")}return G6(D0),AA},toWireType:function(D0,y0){y0 instanceof ArrayBuffer&&(y0=new Uint8Array(y0));var P0,o0=typeof y0=="string";if(o0||y0 instanceof Uint8Array||y0 instanceof Uint8ClampedArray||y0 instanceof Int8Array||KA("Cannot pass non-string to std::string"),t&&o0){var t0=0;for(P0=0;P0<y0.length;++P0){var yA=y0.charCodeAt(P0);127>=yA?t0++:2047>=yA?t0+=2:55296<=yA&&57343>=yA?(t0+=4,++P0):t0+=3}P0=t0}else P0=y0.length;if(t0=f7(4+P0+1),yA=t0+4,Q0[t0>>2]=P0,t&&o0){if(o0=yA,yA=P0+1,P0=l,0<yA){yA=o0+yA-1;for(var AA=0;AA<y0.length;++AA){var MA=y0.charCodeAt(AA);if(55296<=MA&&57343>=MA){var vA=y0.charCodeAt(++AA);MA=65536+((MA&1023)<<10)|vA&1023}if(127>=MA){if(o0>=yA)break;P0[o0++]=MA}else{if(2047>=MA){if(o0+1>=yA)break;P0[o0++]=192|MA>>6}else{if(65535>=MA){if(o0+2>=yA)break;P0[o0++]=224|MA>>12}else{if(o0+3>=yA)break;P0[o0++]=240|MA>>18,P0[o0++]=128|MA>>12&63}P0[o0++]=128|MA>>6&63}P0[o0++]=128|MA&63}}P0[o0]=0}}else if(o0)for(o0=0;o0<P0;++o0)AA=y0.charCodeAt(o0),255<AA&&(G6(yA),KA("String has UTF-16 code units that do not fit in 8 bits")),l[yA+o0]=AA;else for(o0=0;o0<P0;++o0)l[yA+o0]=y0[o0];return D0!==null&&D0.push(G6,t0),t0},argPackAdvance:8,readValueFromPointer:RA,V:function(D0){G6(D0)}})},i:function(v,T,t){if(t=kA(t),T===2)var D0=r8,y0=dE,P0=E8,o0=()=>K0,t0=1;else T===4&&(D0=a8,y0=RB,P0=S6,o0=()=>Q0,t0=2);kE(v,{name:t,fromWireType:function(yA){for(var AA=Q0[yA>>2],MA=o0(),vA,sx=yA+4,CE=0;CE<=AA;++CE){var OE=yA+4+CE*T;if(CE==AA||MA[OE>>t0]==0)sx=D0(sx,OE-sx),vA===void 0?vA=sx:(vA+=String.fromCharCode(0),vA+=sx),sx=OE+T}return G6(yA),vA},toWireType:function(yA,AA){typeof AA!="string"&&KA("Cannot pass non-string to C++ string type "+t);var MA=P0(AA),vA=f7(4+MA+T);return Q0[vA>>2]=MA>>t0,y0(AA,vA+4,MA+T),yA!==null&&yA.push(G6,vA),vA},argPackAdvance:8,readValueFromPointer:RA,V:function(yA){G6(yA)}})},k:function(v,T,t,D0,y0,P0){Gx[v]={name:kA(T),fa:HB(t,D0),W:HB(y0,P0),ia:[]}},h:function(v,T,t,D0,y0,P0,o0,t0,yA,AA){Gx[v].ia.push({oa:kA(T),ta:t,ra:HB(D0,y0),sa:P0,za:o0,ya:HB(t0,yA),Aa:AA})},C:function(v,T){T=kA(T),kE(v,{va:!0,name:T,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(v,T,t,D0,y0){v=R4[v],T=wx(T),t=W4(t);var P0=[];return Q0[D0>>2]=Qx(P0),v(T,t,P0,y0)},t:function(v,T,t,D0){v=R4[v],T=wx(T),t=W4(t),v(T,t,null,D0)},g:Ix,m:function(v,T){var t=Og(v,T),D0=t[0];T=D0.name+"_$"+t.slice(1).map(function(o0){return o0.name}).join("_")+"$";var y0=Y2[T];if(y0!==void 0)return y0;var P0=Array(v-1);return y0=K2((o0,t0,yA,AA)=>{for(var MA=0,vA=0;vA<v-1;++vA)P0[vA]=t[vA+1].readValueFromPointer(AA+MA),MA+=t[vA+1].argPackAdvance;o0=o0[t0].apply(o0,P0);for(vA=0;vA<v-1;++vA)t[vA+1].ma&&t[vA+1].ma(P0[vA]);if(!D0.va)return D0.toWireType(yA,o0)}),Y2[T]=y0},D:function(v){4<v&&(i0[v].ga+=1)},r:function(v){var T=wx(v);UE(T),Ix(v)},c:function(){c0("")},x:function(v,T,t){l.copyWithin(v,T,T+t)},w:function(v){var T=l.length;if(v>>>=0,2147483648<v)return!1;for(var t=1;4>=t;t*=2){var D0=T*(1+0.2/t);D0=Math.min(D0,v+100663296);var y0=Math;D0=Math.max(v,D0),y0=y0.min.call(y0,2147483648,D0+(65536-D0%65536)%65536);A:{try{M.grow(y0-j.byteLength+65535>>>16),z0();var P0=1;break A}catch(o0){}P0=void 0}if(P0)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(v,T,t,D0){for(var y0=0,P0=0;P0<t;P0++){var o0=Q0[T>>2],t0=Q0[T+4>>2];T+=8;for(var yA=0;yA<t0;yA++){var AA=l[o0+yA],MA=L4[v];AA===0||AA===10?((v===1?I:$)(Z(MA,0)),MA.length=0):MA.push(AA)}y0+=t0}return Q0[D0>>2]=y0,0}};(function(){function v(y0){E.asm=y0.exports,M=E.asm.E,z0(),JA=E.asm.J,zA.unshift(E.asm.F),EA--,E.monitorRunDependencies&&E.monitorRunDependencies(EA),EA==0&&(O0!==null&&(clearInterval(O0),O0=null),g0&&(y0=g0,g0=null,y0()))}function T(y0){v(y0.instance)}function t(y0){return M0().then(function(P0){return WebAssembly.instantiate(P0,D0)}).then(function(P0){return P0}).then(y0,function(P0){$("failed to asynchronously prepare wasm: "+P0),c0(P0)})}var D0={a:A9};if(EA++,E.monitorRunDependencies&&E.monitorRunDependencies(EA),E.instantiateWasm)try{return E.instantiateWasm(D0,v)}catch(y0){$("Module.instantiateWasm callback failed with error: "+y0),B(y0)}return function(){return S||typeof WebAssembly.instantiateStreaming!="function"||q0(xA)||typeof fetch!="function"?t(T):fetch(xA,{credentials:"same-origin"}).then(function(y0){return WebAssembly.instantiateStreaming(y0,D0).then(T,function(P0){return $("wasm streaming compile failed: "+P0),$("falling back to ArrayBuffer instantiation"),t(T)})})}().catch(B),{}})(),E.___wasm_call_ctors=function(){return(E.___wasm_call_ctors=E.asm.F).apply(null,arguments)};var $7=E.___getTypeName=function(){return($7=E.___getTypeName=E.asm.G).apply(null,arguments)};E.__embind_initialize_bindings=function(){return(E.__embind_initialize_bindings=E.asm.H).apply(null,arguments)};var f7=E._malloc=function(){return(f7=E._malloc=E.asm.I).apply(null,arguments)},G6=E._free=function(){return(G6=E._free=E.asm.K).apply(null,arguments)};E.dynCall_jiji=function(){return(E.dynCall_jiji=E.asm.L).apply(null,arguments)};var S7;g0=function v(){S7||Vg(),S7||(g0=v)};function Vg(){function v(){if(!S7&&(S7=!0,E.calledRun=!0,!X)){if(o(zA),D(E),E.onRuntimeInitialized)E.onRuntimeInitialized();if(E.postRun)for(typeof E.postRun=="function"&&(E.postRun=[E.postRun]);E.postRun.length;){var T=E.postRun.shift();cx.unshift(T)}o(cx)}}if(!(0<EA)){if(E.preRun)for(typeof E.preRun=="function"&&(E.preRun=[E.preRun]);E.preRun.length;)eA();o(U0),0<EA||(E.setStatus?(E.setStatus("Running..."),setTimeout(function(){setTimeout(function(){E.setStatus("")},1),v()},1)):v())}}if(E.preInit)for(typeof E.preInit=="function"&&(E.preInit=[E.preInit]);0<E.preInit.length;)E.preInit.pop()();return Vg(),x.ready}})(),Lx0=Uk0;var j1=function(A){return A[A.Auto=0]="Auto",A[A.FlexStart=1]="FlexStart",A[A.Center=2]="Center",A[A.FlexEnd=3]="FlexEnd",A[A.Stretch=4]="Stretch",A[A.Baseline=5]="Baseline",A[A.SpaceBetween=6]="SpaceBetween",A[A.SpaceAround=7]="SpaceAround",A[A.SpaceEvenly=8]="SpaceEvenly",A}({}),jx0=function(A){return A[A.BorderBox=0]="BorderBox",A[A.ContentBox=1]="ContentBox",A}({}),zx0=function(A){return A[A.Width=0]="Width",A[A.Height=1]="Height",A}({}),fS=function(A){return A[A.Inherit=0]="Inherit",A[A.LTR=1]="LTR",A[A.RTL=2]="RTL",A}({}),Vv=function(A){return A[A.Flex=0]="Flex",A[A.None=1]="None",A[A.Contents=2]="Contents",A}({}),z1=function(A){return A[A.Left=0]="Left",A[A.Top=1]="Top",A[A.Right=2]="Right",A[A.Bottom=3]="Bottom",A[A.Start=4]="Start",A[A.End=5]="End",A[A.Horizontal=6]="Horizontal",A[A.Vertical=7]="Vertical",A[A.All=8]="All",A}({}),v3=function(A){return A[A.None=0]="None",A[A.StretchFlexBasis=1]="StretchFlexBasis",A[A.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",A[A.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",A[A.All=2147483647]="All",A[A.Classic=2147483646]="Classic",A}({}),qk0=function(A){return A[A.WebFlexBasis=0]="WebFlexBasis",A}({}),Qq=function(A){return A[A.Column=0]="Column",A[A.ColumnReverse=1]="ColumnReverse",A[A.Row=2]="Row",A[A.RowReverse=3]="RowReverse",A}({}),vv=function(A){return A[A.Column=0]="Column",A[A.Row=1]="Row",A[A.All=2]="All",A}({}),T3=function(A){return A[A.FlexStart=0]="FlexStart",A[A.Center=1]="Center",A[A.FlexEnd=2]="FlexEnd",A[A.SpaceBetween=3]="SpaceBetween",A[A.SpaceAround=4]="SpaceAround",A[A.SpaceEvenly=5]="SpaceEvenly",A}({}),k3=function(A){return A[A.Error=0]="Error",A[A.Warn=1]="Warn",A[A.Info=2]="Info",A[A.Debug=3]="Debug",A[A.Verbose=4]="Verbose",A[A.Fatal=5]="Fatal",A}({}),Tv=function(A){return A[A.Undefined=0]="Undefined",A[A.Exactly=1]="Exactly",A[A.AtMost=2]="AtMost",A}({}),Nx0=function(A){return A[A.Default=0]="Default",A[A.Text=1]="Text",A}({}),kv=function(A){return A[A.Visible=0]="Visible",A[A.Hidden=1]="Hidden",A[A.Scroll=2]="Scroll",A}({}),uv=function(A){return A[A.Static=0]="Static",A[A.Relative=1]="Relative",A[A.Absolute=2]="Absolute",A}({}),F7=function(A){return A[A.Undefined=0]="Undefined",A[A.Point=1]="Point",A[A.Percent=2]="Percent",A[A.Auto=3]="Auto",A}({}),bv=function(A){return A[A.NoWrap=0]="NoWrap",A[A.Wrap=1]="Wrap",A[A.WrapReverse=2]="WrapReverse",A}({}),Xk0={ALIGN_AUTO:j1.Auto,ALIGN_FLEX_START:j1.FlexStart,ALIGN_CENTER:j1.Center,ALIGN_FLEX_END:j1.FlexEnd,ALIGN_STRETCH:j1.Stretch,ALIGN_BASELINE:j1.Baseline,ALIGN_SPACE_BETWEEN:j1.SpaceBetween,ALIGN_SPACE_AROUND:j1.SpaceAround,ALIGN_SPACE_EVENLY:j1.SpaceEvenly,BOX_SIZING_BORDER_BOX:jx0.BorderBox,BOX_SIZING_CONTENT_BOX:jx0.ContentBox,DIMENSION_WIDTH:zx0.Width,DIMENSION_HEIGHT:zx0.Height,DIRECTION_INHERIT:fS.Inherit,DIRECTION_LTR:fS.LTR,DIRECTION_RTL:fS.RTL,DISPLAY_FLEX:Vv.Flex,DISPLAY_NONE:Vv.None,DISPLAY_CONTENTS:Vv.Contents,EDGE_LEFT:z1.Left,EDGE_TOP:z1.Top,EDGE_RIGHT:z1.Right,EDGE_BOTTOM:z1.Bottom,EDGE_START:z1.Start,EDGE_END:z1.End,EDGE_HORIZONTAL:z1.Horizontal,EDGE_VERTICAL:z1.Vertical,EDGE_ALL:z1.All,ERRATA_NONE:v3.None,ERRATA_STRETCH_FLEX_BASIS:v3.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:v3.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:v3.AbsolutePercentAgainstInnerSize,ERRATA_ALL:v3.All,ERRATA_CLASSIC:v3.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:qk0.WebFlexBasis,FLEX_DIRECTION_COLUMN:Qq.Column,FLEX_DIRECTION_COLUMN_REVERSE:Qq.ColumnReverse,FLEX_DIRECTION_ROW:Qq.Row,FLEX_DIRECTION_ROW_REVERSE:Qq.RowReverse,GUTTER_COLUMN:vv.Column,GUTTER_ROW:vv.Row,GUTTER_ALL:vv.All,JUSTIFY_FLEX_START:T3.FlexStart,JUSTIFY_CENTER:T3.Center,JUSTIFY_FLEX_END:T3.FlexEnd,JUSTIFY_SPACE_BETWEEN:T3.SpaceBetween,JUSTIFY_SPACE_AROUND:T3.SpaceAround,JUSTIFY_SPACE_EVENLY:T3.SpaceEvenly,LOG_LEVEL_ERROR:k3.Error,LOG_LEVEL_WARN:k3.Warn,LOG_LEVEL_INFO:k3.Info,LOG_LEVEL_DEBUG:k3.Debug,LOG_LEVEL_VERBOSE:k3.Verbose,LOG_LEVEL_FATAL:k3.Fatal,MEASURE_MODE_UNDEFINED:Tv.Undefined,MEASURE_MODE_EXACTLY:Tv.Exactly,MEASURE_MODE_AT_MOST:Tv.AtMost,NODE_TYPE_DEFAULT:Nx0.Default,NODE_TYPE_TEXT:Nx0.Text,OVERFLOW_VISIBLE:kv.Visible,OVERFLOW_HIDDEN:kv.Hidden,OVERFLOW_SCROLL:kv.Scroll,POSITION_TYPE_STATIC:uv.Static,POSITION_TYPE_RELATIVE:uv.Relative,POSITION_TYPE_ABSOLUTE:uv.Absolute,UNIT_UNDEFINED:F7.Undefined,UNIT_POINT:F7.Point,UNIT_PERCENT:F7.Percent,UNIT_AUTO:F7.Auto,WRAP_NO_WRAP:bv.NoWrap,WRAP_WRAP:bv.Wrap,WRAP_WRAP_REVERSE:bv.WrapReverse},Ox0=Xk0;function iv(A){function x(B,g,C){let I=B[g];B[g]=function(){for(var $=arguments.length,S=Array($),K=0;K<$;K++)S[K]=arguments[K];return C.call(this,I,...S)}}for(let B of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let g={[F7.Point]:A.Node.prototype[B],[F7.Percent]:A.Node.prototype[`${B}Percent`],[F7.Auto]:A.Node.prototype[`${B}Auto`]};x(A.Node.prototype,B,function(C){for(var I=arguments.length,$=Array(I>1?I-1:0),S=1;S<I;S++)$[S-1]=arguments[S];let K=$.pop(),M,X;if(K==="auto")M=F7.Auto,X=void 0;else if(typeof K==="object")M=K.unit,X=K.valueOf();else if(M=typeof K==="string"&&K.endsWith("%")?F7.Percent:F7.Point,X=parseFloat(K),K!==void 0&&!Number.isNaN(K)&&Number.isNaN(X))throw Error(`Invalid value ${K} for ${B}`);if(!g[M])throw Error(`Failed to execute "${B}": Unsupported unit '${K}'`);if(X!==void 0)return g[M].call(this,...$,X);else return g[M].call(this,...$)})}function E(B){return A.MeasureCallback.implement({measure:function(){let{width:g,height:C}=B(...arguments);return{width:g??NaN,height:C??NaN}}})}x(A.Node.prototype,"setMeasureFunc",function(B,g){if(g)return B.call(this,E(g));else return this.unsetMeasureFunc()});function D(B){return A.DirtiedCallback.implement({dirtied:B})}return x(A.Node.prototype,"setDirtiedFunc",function(B,g){B.call(this,D(g))}),x(A.Config.prototype,"free",function(){A.Config.destroy(this)}),x(A.Node,"create",(B,g)=>{return g?A.Node.createWithConfig(g):A.Node.createDefault()}),x(A.Node.prototype,"free",function(){A.Node.destroy(this)}),x(A.Node.prototype,"freeRecursive",function(){for(let B=0,g=this.getChildCount();B<g;++B)this.getChild(0).freeRecursive();this.free()}),x(A.Node.prototype,"calculateLayout",function(B){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:fS.LTR;return B.call(this,g,C,I)}),{Config:A.Config,Node:A.Node,...Ox0}}var Zk0=iv(await Lx0()),sA=Zk0;var $80=Zx(vx0(),1),f80=Zx(Tx0(),1);import qb0 from"node:process";function mv({onlyFirst:A=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",A?void 0:"g")}var Rk0=mv();function SS(A){if(typeof A!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof A}\``);return A.replace(Rk0,"")}function kx0(A){return A===161||A===164||A===167||A===168||A===170||A===173||A===174||A>=176&&A<=180||A>=182&&A<=186||A>=188&&A<=191||A===198||A===208||A===215||A===216||A>=222&&A<=225||A===230||A>=232&&A<=234||A===236||A===237||A===240||A===242||A===243||A>=247&&A<=250||A===252||A===254||A===257||A===273||A===275||A===283||A===294||A===295||A===299||A>=305&&A<=307||A===312||A>=319&&A<=322||A===324||A>=328&&A<=331||A===333||A===338||A===339||A===358||A===359||A===363||A===462||A===464||A===466||A===468||A===470||A===472||A===474||A===476||A===593||A===609||A===708||A===711||A>=713&&A<=715||A===717||A===720||A>=728&&A<=731||A===733||A===735||A>=768&&A<=879||A>=913&&A<=929||A>=931&&A<=937||A>=945&&A<=961||A>=963&&A<=969||A===1025||A>=1040&&A<=1103||A===1105||A===8208||A>=8211&&A<=8214||A===8216||A===8217||A===8220||A===8221||A>=8224&&A<=8226||A>=8228&&A<=8231||A===8240||A===8242||A===8243||A===8245||A===8251||A===8254||A===8308||A===8319||A>=8321&&A<=8324||A===8364||A===8451||A===8453||A===8457||A===8467||A===8470||A===8481||A===8482||A===8486||A===8491||A===8531||A===8532||A>=8539&&A<=8542||A>=8544&&A<=8555||A>=8560&&A<=8569||A===8585||A>=8592&&A<=8601||A===8632||A===8633||A===8658||A===8660||A===8679||A===8704||A===8706||A===8707||A===8711||A===8712||A===8715||A===8719||A===8721||A===8725||A===8730||A>=8733&&A<=8736||A===8739||A===8741||A>=8743&&A<=8748||A===8750||A>=8756&&A<=8759||A===8764||A===8765||A===8776||A===8780||A===8786||A===8800||A===8801||A>=8804&&A<=8807||A===8810||A===8811||A===8814||A===8815||A===8834||A===8835||A===8838||A===8839||A===8853||A===8857||A===8869||A===8895||A===8978||A>=9312&&A<=9449||A>=9451&&A<=9547||A>=9552&&A<=9587||A>=9600&&A<=9615||A>=9618&&A<=9621||A===9632||A===9633||A>=9635&&A<=9641||A===9650||A===9651||A===9654||A===9655||A===9660||A===9661||A===9664||A===9665||A>=9670&&A<=9672||A===9675||A>=9678&&A<=9681||A>=9698&&A<=9701||A===9711||A===9733||A===9734||A===9737||A===9742||A===9743||A===9756||A===9758||A===9792||A===9794||A===9824||A===9825||A>=9827&&A<=9829||A>=9831&&A<=9834||A===9836||A===9837||A===9839||A===9886||A===9887||A===9919||A>=9926&&A<=9933||A>=9935&&A<=9939||A>=9941&&A<=9953||A===9955||A===9960||A===9961||A>=9963&&A<=9969||A===9972||A>=9974&&A<=9977||A===9979||A===9980||A===9982||A===9983||A===10045||A>=10102&&A<=10111||A>=11094&&A<=11097||A>=12872&&A<=12879||A>=57344&&A<=63743||A>=65024&&A<=65039||A===65533||A>=127232&&A<=127242||A>=127248&&A<=127277||A>=127280&&A<=127337||A>=127344&&A<=127373||A===127375||A===127376||A>=127387&&A<=127404||A>=917760&&A<=917999||A>=983040&&A<=1048573||A>=1048576&&A<=1114109}function GS(A){return A===12288||A>=65281&&A<=65376||A>=65504&&A<=65510}function JS(A){return A>=4352&&A<=4447||A===8986||A===8987||A===9001||A===9002||A>=9193&&A<=9196||A===9200||A===9203||A===9725||A===9726||A===9748||A===9749||A>=9776&&A<=9783||A>=9800&&A<=9811||A===9855||A>=9866&&A<=9871||A===9875||A===9889||A===9898||A===9899||A===9917||A===9918||A===9924||A===9925||A===9934||A===9940||A===9962||A===9970||A===9971||A===9973||A===9978||A===9981||A===9989||A===9994||A===9995||A===10024||A===10060||A===10062||A>=10067&&A<=10069||A===10071||A>=10133&&A<=10135||A===10160||A===10175||A===11035||A===11036||A===11088||A===11093||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12287||A>=12289&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12591||A>=12593&&A<=12686||A>=12688&&A<=12773||A>=12783&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=94176&&A<=94180||A>=94192&&A<=94198||A>=94208&&A<=101589||A>=101631&&A<=101662||A>=101760&&A<=101874||A>=110576&&A<=110579||A>=110581&&A<=110587||A===110589||A===110590||A>=110592&&A<=110882||A===110898||A>=110928&&A<=110930||A===110933||A>=110948&&A<=110951||A>=110960&&A<=111355||A>=119552&&A<=119638||A>=119648&&A<=119670||A===126980||A===127183||A===127374||A>=127377&&A<=127386||A>=127488&&A<=127490||A>=127504&&A<=127547||A>=127552&&A<=127560||A===127568||A===127569||A>=127584&&A<=127589||A>=127744&&A<=127776||A>=127789&&A<=127797||A>=127799&&A<=127868||A>=127870&&A<=127891||A>=127904&&A<=127946||A>=127951&&A<=127955||A>=127968&&A<=127984||A===127988||A>=127992&&A<=128062||A===128064||A>=128066&&A<=128252||A>=128255&&A<=128317||A>=128331&&A<=128334||A>=128336&&A<=128359||A===128378||A===128405||A===128406||A===128420||A>=128507&&A<=128591||A>=128640&&A<=128709||A===128716||A>=128720&&A<=128722||A>=128725&&A<=128728||A>=128732&&A<=128735||A===128747||A===128748||A>=128756&&A<=128764||A>=128992&&A<=129003||A===129008||A>=129292&&A<=129338||A>=129340&&A<=129349||A>=129351&&A<=129535||A>=129648&&A<=129660||A>=129664&&A<=129674||A>=129678&&A<=129734||A===129736||A>=129741&&A<=129756||A>=129759&&A<=129770||A>=129775&&A<=129784||A>=131072&&A<=196605||A>=196608&&A<=262141}function Lk0(A){if(!Number.isSafeInteger(A))throw TypeError(`Expected a code point, got \`${typeof A}\`.`)}function ux0(A,{ambiguousAsWide:x=!1}={}){if(Lk0(A),GS(A)||JS(A)||x&&kx0(A))return 2;return 1}var hx0=Zx(ix0(),1),jk0=new Intl.Segmenter,zk0=/^\p{Default_Ignorable_Code_Point}$/u;function w6(A,x={}){if(typeof A!=="string"||A.length===0)return 0;let{ambiguousIsNarrow:E=!0,countAnsiEscapeCodes:D=!1}=x;if(!D)A=SS(A);if(A.length===0)return 0;let B=0,g={ambiguousAsWide:!E};for(let{segment:C}of jk0.segment(A)){let I=C.codePointAt(0);if(I<=31||I>=127&&I<=159)continue;if(I>=8203&&I<=8207||I===65279)continue;if(I>=768&&I<=879||I>=6832&&I<=6911||I>=7616&&I<=7679||I>=8400&&I<=8447||I>=65056&&I<=65071)continue;if(I>=55296&&I<=57343)continue;if(I>=65024&&I<=65039)continue;if(zk0.test(C))continue;if(hx0.default().test(C)){B+=2;continue}B+=ux0(I,g)}return B}function LF(A){let x=0;for(let E of A.split(`
|
|
382
382
|
`))x=Math.max(x,w6(E));return x}var mx0={},Nk0=(A)=>{if(A.length===0)return{width:0,height:0};let x=mx0[A];if(x)return x;let E=LF(A),D=A.split(`
|
|
383
|
-
`).length;return mx0[A]={width:E,height:D},{width:E,height:D}},cv=Nk0;var cx0=(A=0)=>(x)=>`\x1B[${x+A}m`,lx0=(A=0)=>(x)=>`\x1B[${38+A};5;${x}m`,nx0=(A=0)=>(x,E,D)=>`\x1B[${38+A};2;${x};${E};${D}m`,BB={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},
|
|
383
|
+
`).length;return mx0[A]={width:E,height:D},{width:E,height:D}},cv=Nk0;var cx0=(A=0)=>(x)=>`\x1B[${x+A}m`,lx0=(A=0)=>(x)=>`\x1B[${38+A};5;${x}m`,nx0=(A=0)=>(x,E,D)=>`\x1B[${38+A};2;${x};${E};${D}m`,BB={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},GHA=Object.keys(BB.modifier),Ok0=Object.keys(BB.color),Pk0=Object.keys(BB.bgColor),JHA=[...Ok0,...Pk0];function Vk0(){let A=new Map;for(let[x,E]of Object.entries(BB)){for(let[D,B]of Object.entries(E))BB[D]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},E[D]=BB[D],A.set(B[0],B[1]);Object.defineProperty(BB,x,{value:E,enumerable:!1})}return Object.defineProperty(BB,"codes",{value:A,enumerable:!1}),BB.color.close="\x1B[39m",BB.bgColor.close="\x1B[49m",BB.color.ansi=cx0(),BB.color.ansi256=lx0(),BB.color.ansi16m=nx0(),BB.bgColor.ansi=cx0(10),BB.bgColor.ansi256=lx0(10),BB.bgColor.ansi16m=nx0(10),Object.defineProperties(BB,{rgbToAnsi256:{value(x,E,D){if(x===E&&E===D){if(x<8)return 16;if(x>248)return 231;return Math.round((x-8)/247*24)+232}return 16+36*Math.round(x/255*5)+6*Math.round(E/255*5)+Math.round(D/255*5)},enumerable:!1},hexToRgb:{value(x){let E=/[a-f\d]{6}|[a-f\d]{3}/i.exec(x.toString(16));if(!E)return[0,0,0];let[D]=E;if(D.length===3)D=[...D].map((g)=>g+g).join("");let B=Number.parseInt(D,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(x)=>BB.rgbToAnsi256(...BB.hexToRgb(x)),enumerable:!1},ansi256ToAnsi:{value(x){if(x<8)return 30+x;if(x<16)return 90+(x-8);let E,D,B;if(x>=232)E=((x-232)*10+8)/255,D=E,B=E;else{x-=16;let I=x%36;E=Math.floor(x/36)/5,D=Math.floor(I/6)/5,B=I%6/5}let g=Math.max(E,D,B)*2;if(g===0)return 30;let C=30+(Math.round(B)<<2|Math.round(D)<<1|Math.round(E));if(g===2)C+=60;return C},enumerable:!1},rgbToAnsi:{value:(x,E,D)=>BB.ansi256ToAnsi(BB.rgbToAnsi256(x,E,D)),enumerable:!1},hexToAnsi:{value:(x)=>BB.ansi256ToAnsi(BB.hexToAnsi256(x)),enumerable:!1}}),BB}var vk0=Vk0(),DB=vk0;var yq=new Set(["\x1B",""]),Tk0=39,nv="\x07",ax0="[",kk0="]",_x0="m",Iq=`${kk0}8;;`,px0=(A)=>`${yq.values().next().value}${ax0}${A}${_x0}`,rx0=(A)=>`${yq.values().next().value}${Iq}${A}${nv}`,uk0=(A)=>A.split(" ").map((x)=>w6(x)),lv=(A,x,E)=>{let D=[...x],B=!1,g=!1,C=w6(SS(A.at(-1)));for(let[I,$]of D.entries()){let S=w6($);if(C+S<=E)A[A.length-1]+=$;else A.push($),C=0;if(yq.has($))B=!0,g=D.slice(I+1,I+1+Iq.length).join("")===Iq;if(B){if(g){if($===nv)B=!1,g=!1}else if($===_x0)B=!1;continue}if(C+=S,C===E&&I<D.length-1)A.push(""),C=0}if(!C&&A.at(-1).length>0&&A.length>1)A[A.length-2]+=A.pop()},bk0=(A)=>{let x=A.split(" "),E=x.length;while(E>0){if(w6(x[E-1])>0)break;E--}if(E===x.length)return A;return x.slice(0,E).join(" ")+x.slice(E).join("")},ik0=(A,x,E={})=>{if(E.trim!==!1&&A.trim()==="")return"";let D="",B,g,C=uk0(A),I=[""];for(let[M,X]of A.split(" ").entries()){if(E.trim!==!1)I[I.length-1]=I.at(-1).trimStart();let Z=w6(I.at(-1));if(M!==0){if(Z>=x&&(E.wordWrap===!1||E.trim===!1))I.push(""),Z=0;if(Z>0||E.trim===!1)I[I.length-1]+=" ",Z++}if(E.hard&&C[M]>x){let j=x-Z,V=1+Math.floor((C[M]-j-1)/x);if(Math.floor((C[M]-1)/x)<V)I.push("");lv(I,X,x);continue}if(Z+C[M]>x&&Z>0&&C[M]>0){if(E.wordWrap===!1&&Z<x){lv(I,X,x);continue}I.push("")}if(Z+C[M]>x&&E.wordWrap===!1){lv(I,X,x);continue}I[I.length-1]+=X}if(E.trim!==!1)I=I.map((M)=>bk0(M));let $=I.join(`
|
|
384
384
|
`),S=[...$],K=0;for(let[M,X]of S.entries()){if(D+=X,yq.has(X)){let{groups:j}=new RegExp(`(?:\\${ax0}(?<code>\\d+)m|\\${Iq}(?<uri>.*)${nv})`).exec($.slice(K))||{groups:{}};if(j.code!==void 0){let V=Number.parseFloat(j.code);B=V===Tk0?void 0:V}else if(j.uri!==void 0)g=j.uri.length===0?void 0:j.uri}let Z=DB.codes.get(Number(B));if(S[M+1]===`
|
|
385
385
|
`){if(g)D+=rx0("");if(B&&Z)D+=px0(Z)}else if(X===`
|
|
386
386
|
`){if(B&&Z)D+=px0(B);if(g)D+=rx0(g)}K+=X.length}return D};function pv(A,x,E){return String(A).normalize().replaceAll(`\r
|
|
@@ -395,14 +395,14 @@ To install use this command:
|
|
|
395
395
|
|
|
396
396
|
$ npm install --save-dev react-devtools-core
|
|
397
397
|
`.trim()+`
|
|
398
|
-
`);else throw A}var y80=(A,x)=>{if(A===x)return;if(!A)return x;let E={},D=!1;for(let B of Object.keys(A))if(x?!Object.hasOwn(x,B):!0)E[B]=void 0,D=!0;if(x){for(let B of Object.keys(x))if(x[B]!==A[B])E[B]=x[B],D=!0}return D?E:void 0},w80=(A)=>{A?.unsetMeasureFunc(),A?.freeRecursive()},n3=$80.default({getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,resetAfterCommit(A){if(typeof A.onComputeLayout==="function")A.onComputeLayout();if(A.isStaticDirty){if(A.isStaticDirty=!1,typeof A.onImmediateRender==="function")A.onImmediateRender();return}if(typeof A.onRender==="function")A.onRender()},getChildHostContext(A,x){let E=A.isInsideText,D=x==="ink-text"||x==="ink-virtual-text";if(E===D)return A;return{isInsideText:D}},shouldSetTextContent:()=>!1,createInstance(A,x,E,D){if(D.isInsideText&&A==="ink-box")throw Error("<Box> can’t be nested inside <Text> component");let B=A==="ink-text"&&D.isInsideText?"ink-virtual-text":A,g=Gq(B);for(let[C,I]of Object.entries(x)){if(C==="children")continue;if(C==="style"){if(dv(g,I),g.yogaNode)ov(g.yogaNode,I);continue}if(C==="internal_transform"){g.internal_transform=I;continue}if(C==="internal_static"){g.internal_static=!0;continue}_v(g,C,I)}return g},createTextInstance(A,x,E){if(!E.isInsideText)throw Error(`Text string "${A}" must be rendered inside <Text> component`);return ex0(A)},resetTextContent(){},hideTextInstance(A){YS(A,"")},unhideTextInstance(A,x){YS(A,x)},getPublicInstance:(A)=>A,hideInstance(A){A.yogaNode?.setDisplay(sA.DISPLAY_NONE)},unhideInstance(A){A.yogaNode?.setDisplay(sA.DISPLAY_FLEX)},appendInitialChild:Jq,appendChild:Jq,insertBefore:av,finalizeInitialChildren(A,x,E,D){if(A.internal_static)D.isStaticDirty=!0,D.staticNode=A;return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentEventPriority:()=>f80.DefaultEventPriority,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:()=>null,prepareScopeUpdate(){},getInstanceFromScope:()=>null,appendChildToContainer:Jq,insertInContainerBefore:av,removeChildFromContainer(A,x){KS(A,x),w80(x.yogaNode)},prepareUpdate(A,x,E,D,B){if(A.internal_static)B.isStaticDirty=!0;let g=y80(E,D),C=y80(E.style,D.style);if(!g&&!C)return null;return{props:g,style:C}},commitUpdate(A,{props:x,style:E}){if(x)for(let[D,B]of Object.entries(x)){if(D==="style"){dv(A,B);continue}if(D==="internal_transform"){A.internal_transform=B;continue}if(D==="internal_static"){A.internal_static=!0;continue}_v(A,D,B)}if(E&&A.yogaNode)ov(A.yogaNode,E)},commitTextUpdate(A,x,E){YS(A,E)},removeChild(A,x){KS(A,x),w80(x.yogaNode)}});function $T(A,x=1,E={}){let{indent:D=" ",includeEmptyLines:B=!1}=E;if(typeof A!=="string")throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof A}\``);if(typeof x!=="number")throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof x}\``);if(x<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${x}\``);if(typeof D!=="string")throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof D}\``);if(x===0)return A;let g=B?/^/gm:/^(?!\s*$)/gm;return A.replace(g,D.repeat(x))}var Xb0=(A)=>{return A.getComputedWidth()-A.getComputedPadding(sA.EDGE_LEFT)-A.getComputedPadding(sA.EDGE_RIGHT)-A.getComputedBorder(sA.EDGE_LEFT)-A.getComputedBorder(sA.EDGE_RIGHT)},S80=Xb0;var z80=Zx(H80(),1);var K80=(A=0)=>(x)=>`\x1B[${x+A}m`,Y80=(A=0)=>(x)=>`\x1B[${38+A};5;${x}m`,U80=(A=0)=>(x,E,D)=>`\x1B[${38+A};2;${x};${E};${D}m`,gB={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},
|
|
398
|
+
`);else throw A}var y80=(A,x)=>{if(A===x)return;if(!A)return x;let E={},D=!1;for(let B of Object.keys(A))if(x?!Object.hasOwn(x,B):!0)E[B]=void 0,D=!0;if(x){for(let B of Object.keys(x))if(x[B]!==A[B])E[B]=x[B],D=!0}return D?E:void 0},w80=(A)=>{A?.unsetMeasureFunc(),A?.freeRecursive()},n3=$80.default({getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,resetAfterCommit(A){if(typeof A.onComputeLayout==="function")A.onComputeLayout();if(A.isStaticDirty){if(A.isStaticDirty=!1,typeof A.onImmediateRender==="function")A.onImmediateRender();return}if(typeof A.onRender==="function")A.onRender()},getChildHostContext(A,x){let E=A.isInsideText,D=x==="ink-text"||x==="ink-virtual-text";if(E===D)return A;return{isInsideText:D}},shouldSetTextContent:()=>!1,createInstance(A,x,E,D){if(D.isInsideText&&A==="ink-box")throw Error("<Box> can’t be nested inside <Text> component");let B=A==="ink-text"&&D.isInsideText?"ink-virtual-text":A,g=Gq(B);for(let[C,I]of Object.entries(x)){if(C==="children")continue;if(C==="style"){if(dv(g,I),g.yogaNode)ov(g.yogaNode,I);continue}if(C==="internal_transform"){g.internal_transform=I;continue}if(C==="internal_static"){g.internal_static=!0;continue}_v(g,C,I)}return g},createTextInstance(A,x,E){if(!E.isInsideText)throw Error(`Text string "${A}" must be rendered inside <Text> component`);return ex0(A)},resetTextContent(){},hideTextInstance(A){YS(A,"")},unhideTextInstance(A,x){YS(A,x)},getPublicInstance:(A)=>A,hideInstance(A){A.yogaNode?.setDisplay(sA.DISPLAY_NONE)},unhideInstance(A){A.yogaNode?.setDisplay(sA.DISPLAY_FLEX)},appendInitialChild:Jq,appendChild:Jq,insertBefore:av,finalizeInitialChildren(A,x,E,D){if(A.internal_static)D.isStaticDirty=!0,D.staticNode=A;return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentEventPriority:()=>f80.DefaultEventPriority,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:()=>null,prepareScopeUpdate(){},getInstanceFromScope:()=>null,appendChildToContainer:Jq,insertInContainerBefore:av,removeChildFromContainer(A,x){KS(A,x),w80(x.yogaNode)},prepareUpdate(A,x,E,D,B){if(A.internal_static)B.isStaticDirty=!0;let g=y80(E,D),C=y80(E.style,D.style);if(!g&&!C)return null;return{props:g,style:C}},commitUpdate(A,{props:x,style:E}){if(x)for(let[D,B]of Object.entries(x)){if(D==="style"){dv(A,B);continue}if(D==="internal_transform"){A.internal_transform=B;continue}if(D==="internal_static"){A.internal_static=!0;continue}_v(A,D,B)}if(E&&A.yogaNode)ov(A.yogaNode,E)},commitTextUpdate(A,x,E){YS(A,E)},removeChild(A,x){KS(A,x),w80(x.yogaNode)}});function $T(A,x=1,E={}){let{indent:D=" ",includeEmptyLines:B=!1}=E;if(typeof A!=="string")throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof A}\``);if(typeof x!=="number")throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof x}\``);if(x<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${x}\``);if(typeof D!=="string")throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof D}\``);if(x===0)return A;let g=B?/^/gm:/^(?!\s*$)/gm;return A.replace(g,D.repeat(x))}var Xb0=(A)=>{return A.getComputedWidth()-A.getComputedPadding(sA.EDGE_LEFT)-A.getComputedPadding(sA.EDGE_RIGHT)-A.getComputedBorder(sA.EDGE_LEFT)-A.getComputedBorder(sA.EDGE_RIGHT)},S80=Xb0;var z80=Zx(H80(),1);var K80=(A=0)=>(x)=>`\x1B[${x+A}m`,Y80=(A=0)=>(x)=>`\x1B[${38+A};5;${x}m`,U80=(A=0)=>(x,E,D)=>`\x1B[${38+A};2;${x};${E};${D}m`,gB={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},JKA=Object.keys(gB.modifier),Mb0=Object.keys(gB.color),Wb0=Object.keys(gB.bgColor),HKA=[...Mb0,...Wb0];function Rb0(){let A=new Map;for(let[x,E]of Object.entries(gB)){for(let[D,B]of Object.entries(E))gB[D]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},E[D]=gB[D],A.set(B[0],B[1]);Object.defineProperty(gB,x,{value:E,enumerable:!1})}return Object.defineProperty(gB,"codes",{value:A,enumerable:!1}),gB.color.close="\x1B[39m",gB.bgColor.close="\x1B[49m",gB.color.ansi=K80(),gB.color.ansi256=Y80(),gB.color.ansi16m=U80(),gB.bgColor.ansi=K80(10),gB.bgColor.ansi256=Y80(10),gB.bgColor.ansi16m=U80(10),Object.defineProperties(gB,{rgbToAnsi256:{value(x,E,D){if(x===E&&E===D){if(x<8)return 16;if(x>248)return 231;return Math.round((x-8)/247*24)+232}return 16+36*Math.round(x/255*5)+6*Math.round(E/255*5)+Math.round(D/255*5)},enumerable:!1},hexToRgb:{value(x){let E=/[a-f\d]{6}|[a-f\d]{3}/i.exec(x.toString(16));if(!E)return[0,0,0];let[D]=E;if(D.length===3)D=[...D].map((g)=>g+g).join("");let B=Number.parseInt(D,16);return[B>>16&255,B>>8&255,B&255]},enumerable:!1},hexToAnsi256:{value:(x)=>gB.rgbToAnsi256(...gB.hexToRgb(x)),enumerable:!1},ansi256ToAnsi:{value(x){if(x<8)return 30+x;if(x<16)return 90+(x-8);let E,D,B;if(x>=232)E=((x-232)*10+8)/255,D=E,B=E;else{x-=16;let I=x%36;E=Math.floor(x/36)/5,D=Math.floor(I/6)/5,B=I%6/5}let g=Math.max(E,D,B)*2;if(g===0)return 30;let C=30+(Math.round(B)<<2|Math.round(D)<<1|Math.round(E));if(g===2)C+=60;return C},enumerable:!1},rgbToAnsi:{value:(x,E,D)=>gB.ansi256ToAnsi(gB.rgbToAnsi256(x,E,D)),enumerable:!1},hexToAnsi:{value:(x)=>gB.ansi256ToAnsi(gB.hexToAnsi256(x)),enumerable:!1}}),gB}var Lb0=Rb0(),I7=Lb0;import ST from"node:process";import jb0 from"node:os";import q80 from"node:tty";function Z4(A,x=globalThis.Deno?globalThis.Deno.args:ST.argv){let E=A.startsWith("-")?"":A.length===1?"-":"--",D=x.indexOf(E+A),B=x.indexOf("--");return D!==-1&&(B===-1||D<B)}var{env:CB}=ST,Pq;if(Z4("no-color")||Z4("no-colors")||Z4("color=false")||Z4("color=never"))Pq=0;else if(Z4("color")||Z4("colors")||Z4("color=true")||Z4("color=always"))Pq=1;function zb0(){if("FORCE_COLOR"in CB){if(CB.FORCE_COLOR==="true")return 1;if(CB.FORCE_COLOR==="false")return 0;return CB.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(CB.FORCE_COLOR,10),3)}}function Nb0(A){if(A===0)return!1;return{level:A,hasBasic:!0,has256:A>=2,has16m:A>=3}}function Ob0(A,{streamIsTTY:x,sniffFlags:E=!0}={}){let D=zb0();if(D!==void 0)Pq=D;let B=E?Pq:D;if(B===0)return 0;if(E){if(Z4("color=16m")||Z4("color=full")||Z4("color=truecolor"))return 3;if(Z4("color=256"))return 2}if("TF_BUILD"in CB&&"AGENT_NAME"in CB)return 1;if(A&&!x&&B===void 0)return 0;let g=B||0;if(CB.TERM==="dumb")return g;if(ST.platform==="win32"){let C=jb0.release().split(".");if(Number(C[0])>=10&&Number(C[2])>=10586)return Number(C[2])>=14931?3:2;return 1}if("CI"in CB){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((C)=>(C in CB)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((C)=>(C in CB))||CB.CI_NAME==="codeship")return 1;return g}if("TEAMCITY_VERSION"in CB)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(CB.TEAMCITY_VERSION)?1:0;if(CB.COLORTERM==="truecolor")return 3;if(CB.TERM==="xterm-kitty")return 3;if(CB.TERM==="xterm-ghostty")return 3;if(CB.TERM==="wezterm")return 3;if("TERM_PROGRAM"in CB){let C=Number.parseInt((CB.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(CB.TERM_PROGRAM){case"iTerm.app":return C>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(CB.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(CB.TERM))return 1;if("COLORTERM"in CB)return 1;return g}function X80(A,x={}){let E=Ob0(A,{streamIsTTY:A&&A.isTTY,...x});return Nb0(E)}var Pb0={stdout:X80({isTTY:q80.isatty(1)}),stderr:X80({isTTY:q80.isatty(2)})},Z80=Pb0;function M80(A,x,E){let D=A.indexOf(x);if(D===-1)return A;let B=x.length,g=0,C="";do C+=A.slice(g,D)+x+E,g=D+B,D=A.indexOf(x,g);while(D!==-1);return C+=A.slice(g),C}function W80(A,x,E,D){let B=0,g="";do{let C=A[D-1]==="\r";g+=A.slice(B,C?D-1:D)+x+(C?`\r
|
|
399
399
|
`:`
|
|
400
400
|
`)+E,B=D+1,D=A.indexOf(`
|
|
401
401
|
`,B)}while(D!==-1);return g+=A.slice(B),g}var{stdout:R80,stderr:L80}=Z80,GT=Symbol("GENERATOR"),p3=Symbol("STYLER"),jS=Symbol("IS_EMPTY"),j80=["ansi","ansi","ansi256","ansi16m"],r3=Object.create(null),Vb0=(A,x={})=>{if(x.level&&!(Number.isInteger(x.level)&&x.level>=0&&x.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let E=R80?R80.level:0;A.level=x.level===void 0?E:x.level};var vb0=(A)=>{let x=(...E)=>E.join(" ");return Vb0(x,A),Object.setPrototypeOf(x,zS.prototype),x};function zS(A){return vb0(A)}Object.setPrototypeOf(zS.prototype,Function.prototype);for(let[A,x]of Object.entries(I7))r3[A]={get(){let E=Vq(this,HT(x.open,x.close,this[p3]),this[jS]);return Object.defineProperty(this,A,{value:E}),E}};r3.visible={get(){let A=Vq(this,this[p3],!0);return Object.defineProperty(this,"visible",{value:A}),A}};var JT=(A,x,E,...D)=>{if(A==="rgb"){if(x==="ansi16m")return I7[E].ansi16m(...D);if(x==="ansi256")return I7[E].ansi256(I7.rgbToAnsi256(...D));return I7[E].ansi(I7.rgbToAnsi(...D))}if(A==="hex")return JT("rgb",x,E,...I7.hexToRgb(...D));return I7[E][A](...D)},Tb0=["rgb","hex","ansi256"];for(let A of Tb0){r3[A]={get(){let{level:E}=this;return function(...D){let B=HT(JT(A,j80[E],"color",...D),I7.color.close,this[p3]);return Vq(this,B,this[jS])}}};let x="bg"+A[0].toUpperCase()+A.slice(1);r3[x]={get(){let{level:E}=this;return function(...D){let B=HT(JT(A,j80[E],"bgColor",...D),I7.bgColor.close,this[p3]);return Vq(this,B,this[jS])}}}}var kb0=Object.defineProperties(()=>{},{...r3,level:{enumerable:!0,get(){return this[GT].level},set(A){this[GT].level=A}}}),HT=(A,x,E)=>{let D,B;if(E===void 0)D=A,B=x;else D=E.openAll+A,B=x+E.closeAll;return{open:A,close:x,openAll:D,closeAll:B,parent:E}},Vq=(A,x,E)=>{let D=(...B)=>ub0(D,B.length===1?""+B[0]:B.join(" "));return Object.setPrototypeOf(D,kb0),D[GT]=A,D[p3]=x,D[jS]=E,D},ub0=(A,x)=>{if(A.level<=0||!x)return A[jS]?"":x;let E=A[p3];if(E===void 0)return x;let{openAll:D,closeAll:B}=E;if(x.includes("\x1B"))while(E!==void 0)x=M80(x,E.close,E.open),E=E.parent;let g=x.indexOf(`
|
|
402
|
-
`);if(g!==-1)x=W80(x,B,D,g);return D+x+B};Object.defineProperties(zS.prototype,r3);var bb0=zS(),
|
|
402
|
+
`);if(g!==-1)x=W80(x,B,D,g);return D+x+B};Object.defineProperties(zS.prototype,r3);var bb0=zS(),LKA=zS({level:L80?L80.level:0});var MB=bb0;var ib0=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,hb0=/^ansi256\(\s?(\d+)\s?\)$/,mb0=(A)=>{return A in MB},cb0=(A,x,E)=>{if(!x)return A;if(mb0(x)){if(E==="foreground")return MB[x](A);let D=`bg${x[0].toUpperCase()+x.slice(1)}`;return MB[D](A)}if(x.startsWith("#"))return E==="foreground"?MB.hex(x)(A):MB.bgHex(x)(A);if(x.startsWith("ansi256")){let D=hb0.exec(x);if(!D)return A;let B=Number(D[1]);return E==="foreground"?MB.ansi256(B)(A):MB.bgAnsi256(B)(A)}if(x.startsWith("rgb")){let D=ib0.exec(x);if(!D)return A;let B=Number(D[1]),g=Number(D[2]),C=Number(D[3]);return E==="foreground"?MB.rgb(B,g,C)(A):MB.bgRgb(B,g,C)(A)}return A},Mg=cb0;var lb0=(A,x,E,D)=>{if(E.style.borderStyle){let B=E.yogaNode.getComputedWidth(),g=E.yogaNode.getComputedHeight(),C=typeof E.style.borderStyle==="string"?z80.default[E.style.borderStyle]:E.style.borderStyle,I=E.style.borderTopColor??E.style.borderColor,$=E.style.borderBottomColor??E.style.borderColor,S=E.style.borderLeftColor??E.style.borderColor,K=E.style.borderRightColor??E.style.borderColor,M=E.style.borderTopDimColor??E.style.borderDimColor,X=E.style.borderBottomDimColor??E.style.borderDimColor,Z=E.style.borderLeftDimColor??E.style.borderDimColor,j=E.style.borderRightDimColor??E.style.borderDimColor,V=E.style.borderTop!==!1,l=E.style.borderBottom!==!1,E0=E.style.borderLeft!==!1,K0=E.style.borderRight!==!1,B0=B-(E0?1:0)-(K0?1:0),Q0=V?Mg((E0?C.topLeft:"")+C.top.repeat(B0)+(K0?C.topRight:""),I,"foreground"):void 0;if(V&&M)Q0=MB.dim(Q0);let F0=g;if(V)F0-=1;if(l)F0-=1;let k0=(Mg(C.left,S,"foreground")+`
|
|
403
403
|
`).repeat(F0);if(Z)k0=MB.dim(k0);let z0=(Mg(C.right,K,"foreground")+`
|
|
404
404
|
`).repeat(F0);if(j)z0=MB.dim(z0);let JA=l?Mg((E0?C.bottomLeft:"")+C.bottom.repeat(B0)+(K0?C.bottomRight:""),$,"foreground"):void 0;if(l&&X)JA=MB.dim(JA);let U0=V?1:0;if(Q0)D.write(A,x,Q0,{transformers:[]});if(E0)D.write(A,x+U0,k0,{transformers:[]});if(K0)D.write(A+B-1,x+U0,z0,{transformers:[]});if(JA)D.write(A,x+g-1,JA,{transformers:[]})}},N80=lb0;var nb0=(A,x)=>{let E=A.childNodes[0]?.yogaNode;if(E){let D=E.getComputedLeft(),B=E.getComputedTop();x=`
|
|
405
|
-
`.repeat(B)+$T(x,D)}return x},O80=(A,x,E)=>{let{offsetX:D=0,offsetY:B=0,transformers:g=[],skipStaticElements:C}=E;if(C&&A.internal_static)return;let{yogaNode:I}=A;if(I){if(I.getDisplay()===sA.DISPLAY_NONE)return;let $=D+I.getComputedLeft(),S=B+I.getComputedTop(),K=g;if(typeof A.internal_transform==="function")K=[A.internal_transform,...g];if(A.nodeName==="ink-text"){let X=Sq(A);if(X.length>0){let Z=LF(X),j=S80(I);if(Z>j){let V=A.style.textWrap??"wrap";X=fq(X,j,V)}X=nb0(A,X),x.write($,S,X,{transformers:K})}return}let M=!1;if(A.nodeName==="ink-box"){N80($,S,A,x);let X=A.style.overflowX==="hidden"||A.style.overflow==="hidden",Z=A.style.overflowY==="hidden"||A.style.overflow==="hidden";if(X||Z){let j=X?$+I.getComputedBorder(sA.EDGE_LEFT):void 0,V=X?$+I.getComputedWidth()-I.getComputedBorder(sA.EDGE_RIGHT):void 0,l=Z?S+I.getComputedBorder(sA.EDGE_TOP):void 0,E0=Z?S+I.getComputedHeight()-I.getComputedBorder(sA.EDGE_BOTTOM):void 0;x.clip({x1:j,x2:V,y1:l,y2:E0}),M=!0}}if(A.nodeName==="ink-root"||A.nodeName==="ink-box"){for(let X of A.childNodes)O80(X,x,{offsetX:$,offsetY:S,transformers:K,skipStaticElements:C});if(M)x.unclip()}}},KT=O80;function YT(A){if(!Number.isInteger(A))return!1;return GS(A)||JS(A)}var pb0=new Set([27,155]),rb0="0".codePointAt(0),ab0="9".codePointAt(0),_b0=19,qT=new Set,UT=new Map;for(let[A,x]of DB.codes)qT.add(DB.color.ansi(x)),UT.set(DB.color.ansi(A),DB.color.ansi(x));function db0(A){if(qT.has(A))return A;if(UT.has(A))return UT.get(A);if(A=A.slice(2),A.includes(";"))A=A[0]+"0";let x=DB.codes.get(Number.parseInt(A,10));if(x)return DB.color.ansi(x);return DB.reset.open}function ob0(A){for(let x=0;x<A.length;x++){let E=A.codePointAt(x);if(E>=rb0&&E<=ab0)return x}return-1}function tb0(A,x){A=A.slice(x,x+_b0);let E=ob0(A);if(E!==-1){let D=A.indexOf("m",E);if(D===-1)D=A.length;return A.slice(0,D+1)}}function sb0(A,x=Number.POSITIVE_INFINITY){let E=[],D=0,B=0;while(D<A.length){let g=A.codePointAt(D);if(pb0.has(g)){let $=tb0(A,D);if($){E.push({type:"ansi",code:$,endCode:db0($)}),D+=$.length;continue}}let C=YT(g),I=String.fromCodePoint(g);if(E.push({type:"character",value:I,isFullWidth:C}),D+=I.length,B+=C?2:I.length,B>=x)break}return E}function P80(A){let x=[];for(let E of A)if(E.code===DB.reset.open)x=[];else if(qT.has(E.code))x=x.filter((D)=>D.endCode!==E.code);else x=x.filter((D)=>D.endCode!==E.endCode),x.push(E);return x}function eb0(A){return P80(A).map(({endCode:D})=>D).reverse().join("")}function XT(A,x,E){let D=sb0(A,E),B=[],g=0,C="",I=!1;for(let $ of D){if(E!==void 0&&g>=E)break;if($.type==="ansi"){if(B.push($),I)C+=$.code}else{if(!I&&g>=x)I=!0,B=P80(B),C=B.map(({code:S})=>S).join("");if(I)C+=$.value;g+=$.isFullWidth?2:$.value.length}}return C+=eb0(B),C}var V80=new Set([27,155]),vq=new Set,ZT=new Map;for(let[A,x]of DB.codes)vq.add(DB.color.ansi(x)),ZT.set(DB.color.ansi(A),DB.color.ansi(x));var Tq="\x1B]8;;",MT=Tq.split("").map((A)=>A.charCodeAt(0)),v80="\x07",
|
|
405
|
+
`.repeat(B)+$T(x,D)}return x},O80=(A,x,E)=>{let{offsetX:D=0,offsetY:B=0,transformers:g=[],skipStaticElements:C}=E;if(C&&A.internal_static)return;let{yogaNode:I}=A;if(I){if(I.getDisplay()===sA.DISPLAY_NONE)return;let $=D+I.getComputedLeft(),S=B+I.getComputedTop(),K=g;if(typeof A.internal_transform==="function")K=[A.internal_transform,...g];if(A.nodeName==="ink-text"){let X=Sq(A);if(X.length>0){let Z=LF(X),j=S80(I);if(Z>j){let V=A.style.textWrap??"wrap";X=fq(X,j,V)}X=nb0(A,X),x.write($,S,X,{transformers:K})}return}let M=!1;if(A.nodeName==="ink-box"){N80($,S,A,x);let X=A.style.overflowX==="hidden"||A.style.overflow==="hidden",Z=A.style.overflowY==="hidden"||A.style.overflow==="hidden";if(X||Z){let j=X?$+I.getComputedBorder(sA.EDGE_LEFT):void 0,V=X?$+I.getComputedWidth()-I.getComputedBorder(sA.EDGE_RIGHT):void 0,l=Z?S+I.getComputedBorder(sA.EDGE_TOP):void 0,E0=Z?S+I.getComputedHeight()-I.getComputedBorder(sA.EDGE_BOTTOM):void 0;x.clip({x1:j,x2:V,y1:l,y2:E0}),M=!0}}if(A.nodeName==="ink-root"||A.nodeName==="ink-box"){for(let X of A.childNodes)O80(X,x,{offsetX:$,offsetY:S,transformers:K,skipStaticElements:C});if(M)x.unclip()}}},KT=O80;function YT(A){if(!Number.isInteger(A))return!1;return GS(A)||JS(A)}var pb0=new Set([27,155]),rb0="0".codePointAt(0),ab0="9".codePointAt(0),_b0=19,qT=new Set,UT=new Map;for(let[A,x]of DB.codes)qT.add(DB.color.ansi(x)),UT.set(DB.color.ansi(A),DB.color.ansi(x));function db0(A){if(qT.has(A))return A;if(UT.has(A))return UT.get(A);if(A=A.slice(2),A.includes(";"))A=A[0]+"0";let x=DB.codes.get(Number.parseInt(A,10));if(x)return DB.color.ansi(x);return DB.reset.open}function ob0(A){for(let x=0;x<A.length;x++){let E=A.codePointAt(x);if(E>=rb0&&E<=ab0)return x}return-1}function tb0(A,x){A=A.slice(x,x+_b0);let E=ob0(A);if(E!==-1){let D=A.indexOf("m",E);if(D===-1)D=A.length;return A.slice(0,D+1)}}function sb0(A,x=Number.POSITIVE_INFINITY){let E=[],D=0,B=0;while(D<A.length){let g=A.codePointAt(D);if(pb0.has(g)){let $=tb0(A,D);if($){E.push({type:"ansi",code:$,endCode:db0($)}),D+=$.length;continue}}let C=YT(g),I=String.fromCodePoint(g);if(E.push({type:"character",value:I,isFullWidth:C}),D+=I.length,B+=C?2:I.length,B>=x)break}return E}function P80(A){let x=[];for(let E of A)if(E.code===DB.reset.open)x=[];else if(qT.has(E.code))x=x.filter((D)=>D.endCode!==E.code);else x=x.filter((D)=>D.endCode!==E.endCode),x.push(E);return x}function eb0(A){return P80(A).map(({endCode:D})=>D).reverse().join("")}function XT(A,x,E){let D=sb0(A,E),B=[],g=0,C="",I=!1;for(let $ of D){if(E!==void 0&&g>=E)break;if($.type==="ansi"){if(B.push($),I)C+=$.code}else{if(!I&&g>=x)I=!0,B=P80(B),C=B.map(({code:S})=>S).join("");if(I)C+=$.value;g+=$.isFullWidth?2:$.value.length}}return C+=eb0(B),C}var V80=new Set([27,155]),vq=new Set,ZT=new Map;for(let[A,x]of DB.codes)vq.add(DB.color.ansi(x)),ZT.set(DB.color.ansi(A),DB.color.ansi(x));var Tq="\x1B]8;;",MT=Tq.split("").map((A)=>A.charCodeAt(0)),v80="\x07",_KA=v80.charCodeAt(0),Ai0=`\x1B]8;;${v80}`;function T80(A){if(vq.has(A))return A;if(ZT.has(A))return ZT.get(A);if(A.startsWith(Tq))return Ai0;if(A=A.slice(2),A.includes(";"))A=A[0]+"0";let x=DB.codes.get(parseInt(A,10));if(x)return DB.color.ansi(x);else return DB.reset.open}function NS(A){return A.map((x)=>x.code).join("")}function WT(A){return kq([],A)}function kq(A,x){let E=[...A];for(let D of x)if(D.code===DB.reset.open)E=[];else if(vq.has(D.code))E=E.filter((B)=>B.endCode!==D.code);else E=E.filter((B)=>B.endCode!==D.endCode),E.push(D);return E}function RT(A){return WT(A).reverse().map((x)=>({...x,code:x.endCode}))}function uq(A,x){let E=new Set(x.map((B)=>B.endCode)),D=new Set(A.map((B)=>B.code));return[...RT(A.filter((B)=>!E.has(B.endCode))),...x.filter((B)=>!D.has(B.code))]}function k80(A){let x=[],E=[];for(let D of A)if(D.type==="ansi")x=kq(x,[D]);else if(D.type==="char")E.push({...D,styles:[...x]});return E}function u80(A){let x="";for(let E=0;E<A.length;E++){let D=A[E];if(E===0)x+=NS(D.styles);else x+=NS(uq(A[E-1].styles,D.styles));if(x+=D.value,E===A.length-1)x+=NS(uq(D.styles,[]))}return x}function xi0(A){for(let x=0;x<A.length;x++){let E=A.charCodeAt(x);if(E>=48&&E<=57)return x}return-1}function Ei0(A,x){A=A.slice(x);for(let D=1;D<MT.length;D++)if(A.charCodeAt(D)!==MT[D])return;let E=A.indexOf("\x07",Tq.length);if(E===-1)return;return A.slice(0,E+1)}function Bi0(A,x){A=A.slice(x,x+19);let E=xi0(A);if(E!==-1){let D=A.indexOf("m",E);if(D===-1)D=A.length;return A.slice(0,D+1)}}function b80(A,x=Number.POSITIVE_INFINITY){let E=[],D=0,B=0;while(D<A.length){let g=A.codePointAt(D);if(V80.has(g)){let $=Ei0(A,D)||Bi0(A,D);if($){E.push({type:"ansi",code:$,endCode:T80($)}),D+=$.length;continue}}let C=HS(g),I=String.fromCodePoint(g);if(E.push({type:"char",value:I,fullWidth:C}),D+=I.length,B+=C?2:I.length,B>=x)break}return E}class OS{width;height;operations=[];constructor(A){let{width:x,height:E}=A;this.width=x,this.height=E}write(A,x,E,D){let{transformers:B}=D;if(!E)return;this.operations.push({type:"write",x:A,y:x,text:E,transformers:B})}clip(A){this.operations.push({type:"clip",clip:A})}unclip(){this.operations.push({type:"unclip"})}get(){let A=[];for(let D=0;D<this.height;D++){let B=[];for(let g=0;g<this.width;g++)B.push({type:"char",value:" ",fullWidth:!1,styles:[]});A.push(B)}let x=[];for(let D of this.operations){if(D.type==="clip")x.push(D.clip);if(D.type==="unclip")x.pop();if(D.type==="write"){let{text:B,transformers:g}=D,{x:C,y:I}=D,$=B.split(`
|
|
406
406
|
`),S=x.at(-1);if(S){let M=typeof S?.x1==="number"&&typeof S?.x2==="number",X=typeof S?.y1==="number"&&typeof S?.y2==="number";if(M){let Z=LF(B);if(C+Z<S.x1||C>S.x2)continue}if(X){let Z=$.length;if(I+Z<S.y1||I>S.y2)continue}if(M){if($=$.map((Z)=>{let j=C<S.x1?S.x1-C:0,V=w6(Z),l=C+V>S.x2?S.x2-C:V;return XT(Z,j,l)}),C<S.x1)C=S.x1}if(X){let Z=I<S.y1?S.y1-I:0,j=$.length,V=I+j>S.y2?S.y2-I:j;if($=$.slice(Z,V),I<S.y1)I=S.y1}}let K=0;for(let[M,X]of $.entries()){let Z=A[I+K];if(!Z)continue;for(let l of g)X=l(X,M);let j=k80(b80(X)),V=C;for(let l of j){Z[V]=l;let E0=l.fullWidth||l.value.length>1;if(E0)Z[V+1]={type:"char",value:"",fullWidth:!1,styles:l.styles};V+=E0?2:1}K++}}}return{output:A.map((D)=>{let B=D.filter((g)=>g!==void 0);return u80(B).trimEnd()}).join(`
|
|
407
407
|
`),height:A.length}}}var Di0=(A)=>{if(A.yogaNode){let x=new OS({width:A.yogaNode.getComputedWidth(),height:A.yogaNode.getComputedHeight()});KT(A,x,{skipStaticElements:!0});let E;if(A.staticNode?.yogaNode)E=new OS({width:A.staticNode.yogaNode.getComputedWidth(),height:A.staticNode.yogaNode.getComputedHeight()}),KT(A.staticNode,E,{skipStaticElements:!1});let{output:D,height:B}=x.get();return{output:D,outputHeight:B,staticOutput:E?`${E.get().output}
|
|
408
408
|
`:""}}return{output:"",outputHeight:0,staticOutput:""}},i80=Di0;import a80 from"node:process";var n80=Zx(l80(),1),p80=Zx(Ov(),1);import Ci0 from"node:process";var Fi0=n80.default(()=>{p80.default(()=>{Ci0.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),r80=Fi0;var hq=!1,a3={};a3.show=(A=a80.stderr)=>{if(!A.isTTY)return;hq=!1,A.write("\x1B[?25h")};a3.hide=(A=a80.stderr)=>{if(!A.isTTY)return;r80(),hq=!0,A.write("\x1B[?25l")};a3.toggle=(A,x)=>{if(A!==void 0)hq=A;if(hq)a3.show(x);else a3.hide(x)};var _3=a3;var Qi0=(A,{showCursor:x=!1}={})=>{let E=0,D="",B=!1,g=(C)=>{if(!x&&!B)_3.hide(),B=!0;let I=C+`
|
|
@@ -413,7 +413,7 @@ $ npm install --save-dev react-devtools-core
|
|
|
413
413
|
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);else throw Error(`Raw mode is not supported on the stdin provided to Ink.
|
|
414
414
|
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(x.setEncoding("utf8"),A){if(this.rawModeEnabledCount===0)x.ref(),x.setRawMode(!0),x.addListener("readable",this.handleReadable);this.rawModeEnabledCount++;return}if(--this.rawModeEnabledCount===0)x.setRawMode(!1),x.removeListener("readable",this.handleReadable),x.unref()};handleReadable=()=>{let A;while((A=this.props.stdin.read())!==null)this.handleInput(A),this.internal_eventEmitter.emit("input",A)};handleInput=(A)=>{if(A==="\x03"&&this.props.exitOnCtrlC)this.handleExit();if(A===ji0&&this.state.activeFocusId)this.setState({activeFocusId:void 0});if(this.state.isFocusEnabled&&this.state.focusables.length>0){if(A===Ri0)this.focusNext();if(A===Li0)this.focusPrevious()}};handleExit=(A)=>{if(this.isRawModeSupported())this.handleSetRawMode(!1);this.props.onExit(A)};enableFocus=()=>{this.setState({isFocusEnabled:!0})};disableFocus=()=>{this.setState({isFocusEnabled:!1})};focus=(A)=>{this.setState((x)=>{if(!x.focusables.some((D)=>D?.id===A))return x;return{activeFocusId:A}})};focusNext=()=>{this.setState((A)=>{let x=A.focusables.find((D)=>D.isActive)?.id;return{activeFocusId:this.findNextFocusable(A)??x}})};focusPrevious=()=>{this.setState((A)=>{let x=A.focusables.findLast((D)=>D.isActive)?.id;return{activeFocusId:this.findPreviousFocusable(A)??x}})};addFocusable=(A,{autoFocus:x})=>{this.setState((E)=>{let D=E.activeFocusId;if(!D&&x)D=A;return{activeFocusId:D,focusables:[...E.focusables,{id:A,isActive:!0}]}})};removeFocusable=(A)=>{this.setState((x)=>({activeFocusId:x.activeFocusId===A?void 0:x.activeFocusId,focusables:x.focusables.filter((E)=>{return E.id!==A})}))};activateFocusable=(A)=>{this.setState((x)=>({focusables:x.focusables.map((E)=>{if(E.id!==A)return E;return{id:A,isActive:!0}})}))};deactivateFocusable=(A)=>{this.setState((x)=>({activeFocusId:x.activeFocusId===A?void 0:x.activeFocusId,focusables:x.focusables.map((E)=>{if(E.id!==A)return E;return{id:A,isActive:!1}})}))};findNextFocusable=(A)=>{let x=A.focusables.findIndex((E)=>{return E.id===A.activeFocusId});for(let E=x+1;E<A.focusables.length;E++){let D=A.focusables[E];if(D?.isActive)return D.id}return};findPreviousFocusable=(A)=>{let x=A.focusables.findIndex((E)=>{return E.id===A.activeFocusId});for(let E=x-1;E>=0;E--){let D=A.focusables[E];if(D?.isActive)return D.id}return}}var HB0=()=>{};class pq{options;log;throttledLog;isUnmounted;lastOutput;container;rootNode;fullStaticOutput;exitPromise;restoreConsole;unsubscribeResize;constructor(A){if(Rv(this),this.options=A,this.rootNode=Gq("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.rootNode.onRender=A.debug?this.onRender:Bq(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=_80.create(A.stdout),this.throttledLog=A.debug?this.log:Bq(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=n3.createContainer(this.rootNode,0,null,!1,null,"id",()=>{},null),this.unsubscribeExit=YB0.default(this.unmount,{alwaysLast:!1}),zi0.env.DEV==="true")n3.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"});if(A.patchConsole)this.patchConsole();if(!XF)A.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{A.stdout.off("resize",this.resized)}}resized=()=>{this.calculateLayout(),this.onRender()};resolveExitPromise=()=>{};rejectExitPromise=()=>{};unsubscribeExit=()=>{};calculateLayout=()=>{let A=this.options.stdout.columns||80;this.rootNode.yogaNode.setWidth(A),this.rootNode.yogaNode.calculateLayout(void 0,void 0,sA.DIRECTION_LTR)};onRender=()=>{if(this.isUnmounted)return;let{output:A,outputHeight:x,staticOutput:E}=i80(this.rootNode),D=E&&E!==`
|
|
415
415
|
`;if(this.options.debug){if(D)this.fullStaticOutput+=E;this.options.stdout.write(this.fullStaticOutput+A);return}if(XF){if(D)this.options.stdout.write(E);this.lastOutput=A;return}if(D)this.fullStaticOutput+=E;if(x>=this.options.stdout.rows){this.options.stdout.write(qF.clearTerminal+this.fullStaticOutput+A),this.lastOutput=A;return}if(D)this.log.clear(),this.options.stdout.write(E),this.log(A);if(!D&&A!==this.lastOutput)this.throttledLog(A);this.lastOutput=A};render(A){let x=KB0.default.createElement(nq,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},A);n3.updateContainer(x,this.container,null,HB0)}writeToStdout(A){if(this.isUnmounted)return;if(this.options.debug){this.options.stdout.write(A+this.fullStaticOutput+this.lastOutput);return}if(XF){this.options.stdout.write(A);return}this.log.clear(),this.options.stdout.write(A),this.log(this.lastOutput)}writeToStderr(A){if(this.isUnmounted)return;if(this.options.debug){this.options.stderr.write(A),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(XF){this.options.stderr.write(A);return}this.log.clear(),this.options.stderr.write(A),this.log(this.lastOutput)}unmount(A){if(this.isUnmounted)return;if(this.calculateLayout(),this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole==="function")this.restoreConsole();if(typeof this.unsubscribeResize==="function")this.unsubscribeResize();if(XF)this.options.stdout.write(this.lastOutput+`
|
|
416
|
-
`);else if(!this.options.debug)this.log.done();if(this.isUnmounted=!0,n3.updateContainer(null,this.container,null,HB0),d3.delete(this.options.stdout),A instanceof Error)this.rejectExitPromise(A);else this.resolveExitPromise()}async waitUntilExit(){return this.exitPromise||=new Promise((A,x)=>{this.resolveExitPromise=A,this.rejectExitPromise=x}),this.exitPromise}clear(){if(!XF&&!this.options.debug)this.log.clear()}patchConsole(){if(this.options.debug)return;this.restoreConsole=Rx0((A,x)=>{if(A==="stdout")this.writeToStdout(x);if(A==="stderr"){if(!x.startsWith("The above error occurred"))this.writeToStderr(x)}})}}var Oi0=(A,x)=>{let E={stdout:rq.stdout,stdin:rq.stdin,stderr:rq.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0,...Pi0(x)},D=Vi0(E.stdout,()=>new pq(E));return D.render(A),{rerender:D.render,unmount(){D.unmount()},waitUntilExit:D.waitUntilExit,cleanup:()=>d3.delete(E.stdout),clear:D.clear}},PS=Oi0,Pi0=(A={})=>{if(A instanceof Ni0)return{stdout:A,stdin:rq.stdin};return A},Vi0=(A,x)=>{let E=d3.get(A);if(!E)E=x(),d3.set(A,E);return E};var aq=Zx(z8(),1);var vi0=Zx(z8(),1);var Ti0=Zx(z8(),1);var ki0=Zx(z8(),1);var hi0=Zx(z8(),1);var ui0={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},bi0=[...Object.values(ui0),"backspace"];var ii0=Zx(z8(),1);var mi0=Zx(z8(),1);var ci0=Zx(z8(),1);var li0=Zx(z8(),1);var kT=Zx(z8(),1);var ni0=Zx(z8(),1);var o3=Zx(z8(),1);var WB0=Zx(MB0(),1);function ri0({type:A="dots"}){let[x,E]=o3.useState(0),D=WB0.default[A];return o3.useEffect(()=>{let B=setInterval(()=>{E((g)=>{return g===D.frames.length-1?0:g+1})},D.interval);return()=>{clearInterval(B)}},[D]),o3.default.createElement(Ux,null,D.frames[x])}var dq=ri0;var PF=Zx(z8(),1);var S2=Zx(VS(),1);function di0(A){return A!==null&&typeof A==="object"&&!Array.isArray(A)}function oi0(A){let x={};if(A.varsJson){let E;try{E=JSON.parse(A.varsJson)}catch{throw Error("--vars-json must be valid JSON")}if(!di0(E))throw Error("--vars-json must be a JSON object");x=E}for(let E of A.var??[]){let[D,B]=E.split("=");if(D&&B)x[D]=B}return x}function ti0(A,x){let E=oi0(x),D=x.html;if(x.htmlFile)D=_i0(x.htmlFile,"utf-8");if(x.template&&D)throw Error("Use either --template or --html/--html-file, not both");if(!x.template&&!D)throw Error("Either --template or --html/--html-file is required");if(!x.template&&!x.subject)throw Error("--subject is required when using --html");return x.template?{to:A,slug:x.template,variables:E}:{to:A,subject:x.subject,body:D,variables:E}}function si0({email:A,options:x}){let[E,D]=PF.useState(!0),[B,g]=PF.useState(""),[C,I]=PF.useState(!1);if(PF.useEffect(()=>{async function $(){try{await G0("POST","/api/v1/transactional/send",ti0(A,x)),I(!0)}catch(S){g(L$(S))}finally{D(!1)}}$()},[A,x]),PF.useEffect(()=>{if(!E)setTimeout(()=>process.exit(B?1:0),100)},[E,B]),E)return S2.jsxDEV(BE,{padding:1,children:[S2.jsxDEV(Ux,{color:"cyan",children:S2.jsxDEV(dq,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),S2.jsxDEV(Ux,{children:[" Sending email to ",A,"..."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(B)return S2.jsxDEV(BE,{padding:1,children:S2.jsxDEV(Ux,{color:"red",children:[" ",B]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return S2.jsxDEV(BE,{padding:1,children:S2.jsxDEV(Ux,{color:"green",children:[" Email sent to ",A]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}async function RB0(A,x){if(!await cA())e0(dA()),process.exit(1);await PS(S2.jsxDEV(si0,{email:A,options:x},void 0,!1,void 0,this)).waitUntilExit()}var LB0=10,jB0=500,ei0=new Set(["unlimited","one_time","matching_field"]),Ah0={all:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],everyday:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],weekdays:["monday","tuesday","wednesday","thursday","friday"],"working-days":["monday","tuesday","wednesday","thursday","friday"],weekends:["saturday","sunday"]};function zB0(A){if(A===void 0)return;if(!ei0.has(A))throw new r("--enrollment-mode must be one of: unlimited, one_time, matching_field",400);return A}function xh0(A){if(A===void 0)return;let x=[];for(let E of A.split(",")){let D=E.trim().toLowerCase();if(!D)continue;let B=Ah0[D];if(B){for(let g of B)if(!x.includes(g))x.push(g);continue}if(!x.includes(D))x.push(D)}if(x.length===0)throw new r("--sending-window-days must include at least one day",400);return x}function Eh0(A){let x=A.sendingWindowStart!==void 0||A.sendingWindowEnd!==void 0||A.sendingWindowTimezone!==void 0||A.sendingWindowDays!==void 0;if(A.clearSendingWindow&&x)throw new r("Use either --clear-sending-window or --sending-window-* options, not both",400);if(A.clearSendingWindow)return null;if(!x)return;let E=A.sendingWindowStart?.trim(),D=A.sendingWindowEnd?.trim(),B=A.sendingWindowTimezone?.trim();if(!E||!D||!B)throw new r("--sending-window-start, --sending-window-end, and --sending-window-timezone are required together",400);let g=xh0(A.sendingWindowDays);return{enabled:!0,timezone:B,startTime:E,endTime:D,...g!==void 0&&{days:g}}}function oq(A){if(!A)return"Not restricted";return`${A.startTime}-${A.endTime} ${A.timezone} (${(A.days??["every day"]).join(", ")})`}function Bh0(A){if(A.clearBccEmails&&A.bccEmails!==void 0)throw new r("Use either --clear-bcc-emails or --bcc-emails, not both",400);if(A.clearBccEmails)return null;if(A.bccEmails===void 0)return;let x=Array.from(new Set(A.bccEmails.split(",").map((E)=>E.trim()).filter((E)=>E.length>0)));return x.length>0?x:null}function bT(A,x){let E=A??"Unknown";return x===!0?`${E} (new enrollments paused)`:E}function NB0(A){if(A.pauseNewEnrollments&&A.resumeNewEnrollments)throw new r("Provide either --pause-new-enrollments or --resume-new-enrollments, not both",400);if((A.branchJson!==void 0||A.branchFile!==void 0)&&(A.insertStepsJson!==void 0||A.insertStepsFile!==void 0))throw new r("Provide either --branch-json/--branch-file or --insert-steps-json/--insert-steps-file, not both",400);let x=Eh0(A),E=Bh0(A);return{...A.name!==void 0&&{name:A.name},...A.trigger!==void 0&&{trigger:A.trigger},...A.goal!==void 0&&A.goal.trim().length>0&&{goal:A.goal.trim()},...K8(A.emailCount,"--email-count")!==void 0&&{emailCount:K8(A.emailCount,"--email-count")},...K8(A.durationDays,"--duration-days")!==void 0&&{durationDays:K8(A.durationDays,"--duration-days")},...A.pauseNewEnrollments===!0&&{enrollmentPaused:!0},...A.resumeNewEnrollments===!0&&{enrollmentPaused:!1},...A.confirmStructuralChange===!0&&{confirmStructuralChange:!0},...zB0(A.enrollmentMode)!==void 0&&{enrollmentMode:zB0(A.enrollmentMode)},...A.enrollmentFieldPath!==void 0&&{enrollmentFieldPath:A.enrollmentFieldPath},...x!==void 0&&{sendingWindow:x},...E!==void 0&&{bccEmails:E},...A.listId!==void 0&&{listId:A.listId},...A.tagName!==void 0&&{tagName:A.tagName},...A.segmentId!==void 0&&{segmentId:A.segmentId},...A.eventName!==void 0&&{eventName:A.eventName},...YE(A.propertyFiltersJson,A.propertyFiltersFile,"propertyFilters")!==void 0&&{propertyFilters:YE(A.propertyFiltersJson,A.propertyFiltersFile,"propertyFilters")},...K8(A.inactiveDays,"--inactive-days")!==void 0&&{inactiveDays:K8(A.inactiveDays,"--inactive-days")},...K8(A.minCount,"--min-count")!==void 0&&{minCount:K8(A.minCount,"--min-count")},...K8(A.timeWindowDays,"--time-window-days")!==void 0&&{timeWindowDays:K8(A.timeWindowDays,"--time-window-days")},...YE(A.stepsJson,A.stepsFile,"steps")!==void 0&&{steps:YE(A.stepsJson,A.stepsFile,"steps")},...YE(A.emailsJson,A.emailsFile,"emails")!==void 0&&{emails:YE(A.emailsJson,A.emailsFile,"emails")},...YE(A.smsStepsJson,A.smsStepsFile,"smsSteps")!==void 0&&{smsSteps:YE(A.smsStepsJson,A.smsStepsFile,"smsSteps")},...YE(A.subscriberUpdateStepsJson,A.subscriberUpdateStepsFile,"subscriberUpdateSteps")!==void 0&&{subscriberUpdateSteps:YE(A.subscriberUpdateStepsJson,A.subscriberUpdateStepsFile,"subscriberUpdateSteps")},...YE(A.branchJson,A.branchFile,"branch")!==void 0&&{branch:YE(A.branchJson,A.branchFile,"branch")},...YE(A.insertStepsJson,A.insertStepsFile,"insertSteps")!==void 0&&{insertSteps:YE(A.insertStepsJson,A.insertStepsFile,"insertSteps")},...YE(A.stopConditionJson,A.stopConditionFile,"stopCondition")!==void 0&&{stopCondition:YE(A.stopConditionJson,A.stopConditionFile,"stopCondition")}}}function Dh0(A){return Array.from(new Set((A??"").split(",").map((x)=>x.trim()).filter((x)=>x.length>0)))}function gh0(A){let x=A.subscriberId?.trim(),E=Dh0(A.fieldValues),D=x!==void 0&&x.length>0,B=E.length>0;if(D===B)throw new r("Provide exactly one target: --subscriber-id or --field-values",400);return{...D&&{subscriberId:x},...A.fieldPath!==void 0&&A.fieldPath.trim().length>0&&{fieldPath:A.fieldPath.trim()},...B&&{fieldValues:E},dryRun:A.apply!==!0,...A.reason!==void 0&&A.reason.trim().length>0&&{reason:A.reason.trim()}}}function Ch0(A){let E=Array.isArray(A.email)&&A.email.length>0||A.emailsJson!==void 0||A.emailsFile!==void 0?eU(A):[],D=Array.from(new Set((A.subscriberIds??[]).map((B)=>B.trim()).filter((B)=>B.length>0)));if(E.length===0&&D.length===0)throw new r("Provide at least one email address or subscriber ID",400);return{...E.length>0&&{emails:E},...D.length>0&&{subscriberIds:D},...A.targetNodeId!==void 0&&{targetNodeId:A.targetNodeId}}}function Fh0(A){let x=[],E=A.emails??[],D=A.subscriberIds??[],B=0,g=0;while(B<E.length||g<D.length){let C=E.slice(B,B+jB0);B+=C.length;let I=jB0-C.length,$=D.slice(g,g+I);g+=$.length,x.push({...C.length>0&&{emails:C},...$.length>0&&{subscriberIds:$},...A.targetNodeId!==void 0&&{targetNodeId:A.targetNodeId}})}return x}function Qh0(A){let x=A.goal?.trim(),E=!!x,D=!!A.stepsJson||!!A.stepsFile;if(E&&D)throw new r("Provide either --goal or --steps-json/--steps-file, not both",400);if(!E&&!D)throw new r("Provide sequence content with --goal or --steps-json/--steps-file",400);if(A.emailCount!==void 0&&!E)throw new r("--email-count requires --goal",400);if(A.durationDays!==void 0&&!E)throw new r("--duration-days requires --goal",400);let B=K8(A.emailCount,"--email-count");if(B!==void 0&&B>LB0)throw new r(`--email-count must be no more than ${LB0}`,400);let g=K8(A.durationDays,"--duration-days");if(g!==void 0&&g<1)throw new r("--duration-days must be at least 1",400);return E?{mode:"goal",goal:x}:{mode:"steps"}}async function M4(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let C=await G0("GET","/api/v1/sequences",void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I}):void 0,S=C.sequences.map((K)=>I!==void 0?aC(K,{sequenceId:K.id},"sequence",I):{...K,url:void 0});if(x.json){Z0({...C,sequences:S,...$!==void 0&&{appUrls:$.urls}});return}console.log(`Sequences (${C.sequences.length})`);for(let K of S)console.log(`- ${K.name} [${K.id}]`),console.log(` Status: ${bT(K.status,K.enrollmentPaused)}`),console.log(` Trigger: ${K.trigger??"Unknown"}`),console.log(` Sending window: ${oq(K.sendingWindow)}`),console.log(` Created: ${VA(K.createdAt)}`),Sx(" URL",K.url);return}if(A==="create"){if(!x.name)throw new r("Sequence name is required",400);if(!x.trigger)throw new r("Sequence trigger is required",400);let C=Qh0(x),I=await G0("POST","/api/v1/sequences",NB0({...x,...C.goal!==void 0&&{goal:C.goal}}),x.company),$=await c8(x.company),S=I.sequence?.id??I.sequenceId,K=$!==void 0&&S!==void 0?yE({companyId:$,sequenceId:S}):void 0;if(x.json){Z0({...I,...I.sequence!==void 0&&K?.urls.sequence!==void 0&&{sequence:{...I.sequence,url:K.urls.sequence}},...K!==void 0&&{appUrls:K.urls}});return}if(console.log(`Created sequence: ${I.sequence?.name??x.name}`),console.log(`ID: ${I.sequence?.id??"Unknown"}`),Sx("URL",K?.urls.sequence),console.log(`Status: ${bT(I.sequence?.status,I.sequence?.enrollmentPaused)}`),I.sequence?.emailCount!==void 0)console.log(`Emails: ${I.sequence.emailCount}`);if(I.sequence?.discountCount!==void 0)console.log(`Discount actions: ${I.sequence.discountCount}`);if("sendingWindow"in(I.sequence??{}))console.log(`Sending window: ${oq(I.sequence?.sendingWindow)}`);if(C.mode==="goal")console.log("Mode: AI-generated");if(I.message)console.log(I.message);return}if(!x.id)throw new r("Sequence ID is required",400);if(A==="update"){if(x.name===void 0&&x.enrollmentMode===void 0&&x.enrollmentFieldPath===void 0&&x.pauseNewEnrollments!==!0&&x.resumeNewEnrollments!==!0&&x.sendingWindowStart===void 0&&x.sendingWindowEnd===void 0&&x.sendingWindowTimezone===void 0&&x.sendingWindowDays===void 0&&x.clearSendingWindow!==!0&&x.bccEmails===void 0&&x.clearBccEmails!==!0&&!x.stepsJson&&!x.stepsFile&&!x.emailsJson&&!x.emailsFile&&!x.smsStepsJson&&!x.smsStepsFile&&!x.subscriberUpdateStepsJson&&!x.subscriberUpdateStepsFile&&!x.branchJson&&!x.branchFile&&!x.insertStepsJson&&!x.insertStepsFile&&!x.stopConditionJson&&!x.stopConditionFile)throw new r("Provide at least one of: --name, --enrollment-mode, --enrollment-field-path, --pause-new-enrollments, --resume-new-enrollments, --sending-window-*, --clear-sending-window, --bcc-emails, --clear-bcc-emails, --steps-json, --steps-file, --emails-json, --emails-file, --sms-steps-json, --sms-steps-file, --subscriber-update-steps-json, --subscriber-update-steps-file, --branch-json, --branch-file, --insert-steps-json, --insert-steps-file, --stop-condition-json, --stop-condition-file",400);let C=await G0("PUT",`/api/v1/sequences/${x.id}`,NB0(x),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...C.sequence!==void 0&&$?.urls.sequence!==void 0&&{sequence:{...C.sequence,url:$.urls.sequence}},...$!==void 0&&{appUrls:$.urls}});return}if(console.log(`Updated sequence: ${C.sequence?.name??x.id}`),console.log(`ID: ${C.sequence?.id??x.id}`),Sx("URL",$?.urls.sequence),console.log(`Status: ${C.sequence?.status??"Unknown"}`),"sendingWindow"in(C.sequence??{}))console.log(`Sending window: ${oq(C.sequence?.sendingWindow)}`);if("bccEmails"in(C.sequence??{}))console.log(`BCC: ${C.sequence?.bccEmails?.join(", ")||"None"}`);return}if(A==="pause-enrollments"||A==="resume-enrollments"){let C=await G0("POST",`/api/v1/sequences/${x.id}/${A}`,void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(C.message??`Updated sequence ${x.id}`),Sx("URL",$?.urls.sequence);return}if(A==="enable"||A==="disable"){let C=await G0("POST",`/api/v1/sequences/${x.id}/${A}`,void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(C.message??`${A}d sequence ${x.id}`),Sx("URL",$?.urls.sequence);return}if(A==="enroll"){let C=Ch0(x),I=Fh0(C),$=0,S=0,K=[],M,X;for(let Z of I){let j=await G0("POST",`/api/v1/sequences/${x.id}/enroll`,Z,x.company);$+=j.enrolled,S+=j.skipped,K.push(...j.notFound),M??=j.targetNodeId,X??=j.scheduledFor}if(x.json){Z0({success:!0,sequenceId:x.id,enrolled:$,skipped:S,notFound:K,...M!==void 0&&{targetNodeId:M},...X!==void 0&&{scheduledFor:X}});return}if(console.log(`Enrolled ${$} subscriber(s) in sequence: ${x.id}`),console.log(`Skipped (already enrolled, inactive, or unavailable): ${S}`),K.length>0){console.log(`Not found: ${K.length}`);for(let Z of K.slice(0,10))console.log(`- ${Z}`);if(K.length>10)console.log(`...and ${K.length-10} more`)}if(M!==void 0)console.log(`Target node: ${M}`);if(X!==void 0)console.log(`Scheduled for: ${VA(X)}`);return}if(A==="cancel-enrollments"){let C=await G0("POST",`/api/v1/sequences/${x.id}/enrollments/cancel`,gh0(x),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}if(console.log(C.message??"Sequence enrollment cancellation done"),console.log(`Matched: ${C.matchedCount}`),console.log(`Cancelled: ${C.cancelledCount}`),console.log(`Dry run: ${C.dryRun?"yes":"no"}`),C.hasMore)console.log("Only the first matching enrollments are shown.");if((C.enrollments?.length??0)>0){console.log("Enrollments:");for(let S of C.enrollments??[])console.log(`- ${S.tokenId} | ${S.subscriberEmail??S.subscriberId} [${S.status}]`)}Sx("URL",$?.urls.sequence);return}if(A==="delete"){let C=await G0("DELETE",`/api/v1/sequences/${x.id}`,void 0,x.company);if(x.json){Z0(C);return}console.log(C.message??`Deleted sequence ${x.id}`);return}let E=await G0("GET",`/api/v1/sequences/${x.id}`,void 0,x.company),D=await c8(x.company),B=D!==void 0?yE({companyId:D,sequenceId:x.id}):void 0;if(x.json){Z0({...E,...B?.urls.sequence!==void 0&&{sequence:{...E.sequence,url:B.urls.sequence}},...B!==void 0&&{appUrls:B.urls}});return}let g=E.sequence;if(console.log(g.name),console.log(`ID: ${g.id}`),Sx("URL",B?.urls.sequence),console.log(`Status: ${bT(g.status,g.enrollmentPaused)}`),console.log(`Trigger: ${g.trigger??"Unknown"}`),console.log(`Sending window: ${oq(g.sendingWindow)}`),console.log(`BCC: ${g.bccEmails?.join(", ")||"None"}`),console.log(`Created: ${VA(g.createdAt)}`),console.log(`Enrichment: ${g.enrichmentStatus} (${g.enrichedCount}/${g.emailCount})`),g.emails.length>0){console.log("Emails:");for(let C of g.emails){let I=C.stepNumber!==null?`Step ${C.stepNumber}`:`Node ${C.nodeId}`;console.log(`- ${I}`),console.log(` Email ID: ${C.emailId??"None"}`),console.log(` Name: ${C.name??"None"}`),console.log(` Subject: ${C.subject??"None"}`),console.log(` Preview: ${C.previewText??"None"}`),console.log(` Blocks: ${C.blocks.length}`)}}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function OB0(A,x){if(A===void 0)return;let E=A.trim().toLowerCase();if(["on","true","yes","enabled"].includes(E))return!0;if(["off","false","no","disabled"].includes(E))return!1;throw new r(`${x} must be "on" or "off"`,400)}function vS(A,x){if(A===void 0)return;let E=Number(A);if(!Number.isFinite(E)||E<=0)throw new r(`${x} must be a positive number`,400);return E}function Ih0(A){let x={};if(A.resetBrowseAbandonment){if(A.browseAbandonment!==void 0||A.browseDelayHours!==void 0||A.browseCooldownHours!==void 0)throw new r("--reset-browse-abandonment cannot be combined with other browse flags",400);x.browseAbandonment=null}else{let E={},D=OB0(A.browseAbandonment,"--browse-abandonment");if(D!==void 0)E.enabled=D;let B=vS(A.browseDelayHours,"--browse-delay-hours");if(B!==void 0)E.delayHours=B;let g=vS(A.browseCooldownHours,"--browse-cooldown-hours");if(g!==void 0)E.cooldownHours=g;if(Object.keys(E).length>0)x.browseAbandonment=E}if(A.resetPriceDrop){if(A.priceDrop!==void 0||A.priceDropMinPercent!==void 0||A.priceDropLookbackDays!==void 0||A.priceDropCooldownDays!==void 0)throw new r("--reset-price-drop cannot be combined with other price-drop flags",400);x.priceDrop=null}else{let E={},D=OB0(A.priceDrop,"--price-drop");if(D!==void 0)E.enabled=D;let B=vS(A.priceDropMinPercent,"--price-drop-min-percent");if(B!==void 0)E.minPercent=B;let g=vS(A.priceDropLookbackDays,"--price-drop-lookback-days");if(g!==void 0)E.lookbackDays=g;let C=vS(A.priceDropCooldownDays,"--price-drop-cooldown-days");if(C!==void 0)E.cooldownDays=C;if(Object.keys(E).length>0)x.priceDrop=E}if(Object.keys(x).length===0)throw new r("Provide at least one settings flag (see --help for the full list)",400);return x}function PB0(A){let{browseAbandonment:x,priceDrop:E}=A;console.log(`Shopify automation settings (${A.shopDomain})`),console.log(""),console.log(`Browse abandonment: ${x.enabled?"on":"off"}`),console.log(" Emails shoppers who view a product but don't buy, add to cart, or start checkout."),console.log(` Waits ${x.delayHours}h after the view - at most one email per subscriber per ${x.cooldownHours}h`),console.log(""),console.log(`Price drop alerts: ${E.enabled?"on":"off"}`),console.log(` Emails recent viewers when a product's price falls by ${E.minPercent}% or more.`),console.log(` Audience: viewers from the last ${E.lookbackDays} days - at most one email per product per subscriber per ${E.cooldownDays} days`)}async function iT(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="get"){let B=await G0("GET","/api/v1/shopify/automation-settings",void 0,x.company);if(x.json){Z0(B);return}PB0(B);return}let E=Ih0(x),D=await G0("PUT","/api/v1/shopify/automation-settings",E,x.company);if(x.json){Z0(D);return}if(D.message)console.log(D.message),console.log("");PB0(D)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function yh0(A){let{sms:x}=A;if(console.log(`SMS add-on: ${x.enabled?"enabled":"not enabled"}`),console.log(`Plan eligible: ${x.planEligible?"yes":"no"}`),console.log(`Credits balance: ${x.creditsBalance}`),console.log(`Brand prefix: ${x.brandPrefix??"(not set)"}`),x.numbers.length===0)console.log("Numbers: none");else{console.log("Numbers:");for(let E of x.numbers)console.log(` ${E.e164} (${E.status})`)}console.log(),console.log(A.message)}function wh0(A){return{to:rD(A.phone??"","Phone number").trim(),text:rD(A.text??"","--text").trim(),...A.imageUrl&&A.imageUrl.length>0?{imageUrls:A.imageUrl}:{}}}async function hT(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="settings"){let E=await G0("GET","/api/v1/sms/settings",void 0,x.company);if(x.json){Z0(E);return}yh0(E);return}if(A==="send-test"){let E=await G0("POST","/api/v1/sms/test",wh0(x),x.company);if(x.json){Z0(E);return}console.log(E.message)}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var VF=Zx(z8(),1);var Cx=Zx(VS(),1);function $h0(A){let x=A.stats;return{sent:x.sent,delivered:x.delivered,opened:x.opened,clicked:x.clicked,unsubscribed:x.unsubscribed,openRate:x.openRate,clickRate:x.clickRate,conversions:x.conversions,revenueCents:x.revenueCents,steps:A.steps,clickedLinks:A.clickedLinks,polls:A.polls}}function mT(A){let x=new URLSearchParams;if(!A.campaign&&!A.sequence)x.set("period",A.period??"7d");if(A.includeBots)x.set("includeMachineEngagement","true");let E=x.toString();return E?`?${E}`:""}async function VB0(A){if(A.campaign)return G0("GET",`/api/v1/metrics/campaigns/${A.campaign}${mT(A)}`,void 0,A.company);if(A.sequence)return G0("GET",`/api/v1/metrics/sequences/${A.sequence}${mT(A)}`,void 0,A.company);return G0("GET",`/api/v1/metrics${mT(A)}`,void 0,A.company)}function fh0({options:A}){let[x,E]=VF.useState(!0),[D,B]=VF.useState(""),[g,C]=VF.useState(null);if(VF.useEffect(()=>{async function K(){try{let M=await VB0(A);C($h0(M))}catch(M){B(L$(M instanceof r?M:M))}finally{E(!1)}}K()},[A]),VF.useEffect(()=>{if(!x)setTimeout(()=>process.exit(D?1:0),100)},[x,D]),x)return Cx.jsxDEV(BE,{padding:1,children:[Cx.jsxDEV(Ux,{color:"cyan",children:Cx.jsxDEV(dq,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:" Loading stats..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(D)return Cx.jsxDEV(BE,{padding:1,children:Cx.jsxDEV(Ux,{color:"red",children:[" ",D]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if(!g)return Cx.jsxDEV(BE,{padding:1,children:Cx.jsxDEV(Ux,{dimColor:!0,children:"No stats available"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let I=A.period??"7d",$=A.campaign?"Campaign Stats":A.sequence?"Sequence Stats":`Stats (${I})`,S=A.sequence&&g.steps?g.steps.filter((K)=>(K.failedCount??0)>0):[];return Cx.jsxDEV(BE,{flexDirection:"column",padding:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:[Cx.jsxDEV(Ux,{bold:!0,color:"green",children:$},void 0,!1,void 0,this),A.includeBots&&Cx.jsxDEV(Ux,{dimColor:!0,children:" including bot/scanner engagement"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{flexDirection:"column",children:[Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Sent: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.sent.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Delivered: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.delivered.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Opened: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.opened.toLocaleString()},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{dimColor:!0,children:[" (",g.openRate.toFixed(1),"%)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Clicked: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.clicked.toLocaleString()},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{dimColor:!0,children:[" (",g.clickRate.toFixed(1),"%)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Unsubscribed: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.unsubscribed.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),g.conversions!==void 0&&Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Conversions: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.conversions.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),g.revenueCents!==void 0&&Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Revenue: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:["$",(g.revenueCents/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),S.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Step Failures"},void 0,!1,void 0,this)},void 0,!1,void 0,this),S.map((K)=>Cx.jsxDEV(BE,{flexDirection:"column",marginBottom:1,children:[Cx.jsxDEV(Ux,{children:["Step ",K.step,": ",K.subject??K.nodeId," (",K.failedCount," failed",")"]},void 0,!0,void 0,this),(K.failedSubscribers??[]).map((M)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",M.email??M.subscriberId,":"," ",M.failedReason??"Reason unavailable"]},void 0,!0,void 0,this)},`${K.nodeId}-${M.subscriberId}`,!1,void 0,this)),(K.failedCount??0)>(K.failedSubscribers?.length??0)&&Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{dimColor:!0,children:["Showing first ",K.failedSubscribers?.length??0," of"," ",K.failedCount," failed subscribers"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},K.nodeId,!0,void 0,this))]},void 0,!0,void 0,this),g.clickedLinks&&g.clickedLinks.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Clicked Links"},void 0,!1,void 0,this)},void 0,!1,void 0,this),g.clickedLinks.map((K)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",K.url,": ",K.clicks.toLocaleString()," (",K.percentage.toFixed(1),"%)"]},void 0,!0,void 0,this)},K.url,!1,void 0,this))]},void 0,!0,void 0,this),g.polls&&g.polls.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Poll & NPS Results"},void 0,!1,void 0,this)},void 0,!1,void 0,this),g.polls.map((K)=>Cx.jsxDEV(BE,{flexDirection:"column",marginBottom:1,children:[Cx.jsxDEV(Ux,{children:[K.question||"Poll"," (",K.totalResponses," ",K.totalResponses===1?"response":"responses",")"]},void 0,!0,void 0,this),K.nps&&Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:`NPS: ${K.nps.score>0?"+":""}${K.nps.score} · Average: ${K.nps.average.toFixed(1)} · ${K.nps.promoters} promoters · ${K.nps.passives} passives · ${K.nps.detractors} detractors`},void 0,!1,void 0,this)},void 0,!1,void 0,this),K.answers.map((M)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",M.answer,": ",M.responses.toLocaleString()," (",M.percentage,"%)"]},void 0,!0,void 0,this)},M.value,!1,void 0,this))]},K.blockId,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}async function vB0(A){if(!await cA())e0(dA()),process.exit(1);if(A.json){try{Z0(await VB0(A))}catch(E){e0(E),process.exitCode=1}return}await PS(Cx.jsxDEV(fh0,{options:A},void 0,!1,void 0,this)).waitUntilExit()}function cT(A){if(!A)return[];return Array.isArray(A)?A:[A]}function TB0(A){if(!A)return[];return Array.isArray(A)?A:[A]}function tq(A){let x={};for(let E of A??[]){let[D,...B]=E.split("="),g=B.join("=");if(D&&g)x[D]=g}return Object.keys(x).length>0?x:void 0}function Sh0(A){let x=A.email?.trim()||void 0,E=A.externalId?.trim()||void 0;return{...x?{email:x}:{},...E?{externalId:E}:{}}}function vF(A){let x=Sh0(A);if(!x.email&&!x.externalId)throw Error("Provide an email or --external-id.");return x}function lT(A,x){let E=new URLSearchParams;if(x?.includeBots)E.set("includeMachineEngagement","true");let D=E.toString(),B=D?`?${D}`:"";if(A.email)return`/api/v1/subscribers/${encodeURIComponent(A.email)}${B}`;return E.set("externalId",String(A.externalId)),`/api/v1/subscribers/external?${E.toString()}`}function kB0(A){if(A.email)return`/api/v1/subscribers/${encodeURIComponent(A.email)}/notes`;let x=new URLSearchParams;return x.set("externalId",String(A.externalId)),`/api/v1/subscribers/external/notes?${x.toString()}`}function Gh0(A){let x=new URLSearchParams;if(A.segment)x.set("segmentId",A.segment);let E=cT(A.tag);if(E.length>0)x.set("tags",E.join(","));let D=TB0(A.list);if(D.length>0&&D[0])x.set("list",D[0]);return x.set("page",String(A.page)),x.set("limit",String(A.pageSize)),x}async function Jh0(A){let x=K8(A.limit,"--limit"),E=Math.min(100,Math.max(1,x??100)),D=[],B=1,g=0,C=0,I=0;while(!0){let S=Gh0({segment:A.segment,tag:A.tag,list:A.list,page:B,pageSize:E}),K=await G0("GET",`/api/v1/subscribers?${S.toString()}`,void 0,A.company);g=K.pagination?.total??K.subscribers.length,C=K.pagination?.totalPages??1,I+=1,D.push(...K.subscribers??[]);let M=x!==void 0&&D.length>=x,X=K.pagination?B>=K.pagination.totalPages:(K.subscribers??[]).length<E;if(M||X)break;B+=1}let $=x!==void 0?D.slice(0,x):D;return{success:!0,subscribers:$,pagination:{page:1,limit:E,total:g,totalPages:C,fetchedPages:I},returned:$.length,truncated:x!==void 0&&g>0&&$.length<g}}function uB0(A){let x=[A.firstName,A.lastName].map((E)=>E?.trim()).filter((E)=>!!E);return x.length>0?x.join(" "):null}function Hh0(A){let x=A.machine===!0?` [bot:${A.engagementQuality??"machine"}]`:"",E=`${VA(A.eventTime)} ${A.eventType}${x}`;if(A.eventType==="custom"){let D=A.eventName??"unknown",B=A.properties&&Object.keys(A.properties).length>0?` ${JSON.stringify(A.properties)}`:"";return`${E} ${D}${B}`}if(A.clickedUrl)return`${E} ${A.clickedUrl}`;if(A.bounceType)return`${E} ${A.bounceType}`;if(A.campaignId)return`${E} campaign:${A.campaignId}`;return E}function Kh0(A){if(A.subscribers.length===0){console.log("No subscribers found");return}console.log(`Subscribers (${A.returned})`),console.log(A.truncated?`Showing ${A.returned} of ${A.pagination.total} matching subscribers.`:`Fetched ${A.returned} matching subscribers across ${A.pagination.fetchedPages} page(s).`);for(let x of A.subscribers){if(console.log(`- ${x.email} [${x.status}]`),x.externalId)console.log(` External ID: ${x.externalId}`);let E=uB0(x);if(E)console.log(` Name: ${E}`);if(x.tags.length>0)console.log(` Tags: ${x.tags.join(", ")}`);if(x.emailProvider)console.log(` Email provider: ${x.emailProvider}`);console.log(` Created: ${VA(x.createdAt)}`)}}function bB0(A){if(console.log(`Notes (${A.length})`),A.length===0){console.log(" None");return}for(let x of A){let E=x.author?.name??x.author?.email??x.authorId??"Unknown";console.log(` - ${x.id} by ${E} at ${VA(x.createdAt)}`);for(let D of x.body.split(`
|
|
416
|
+
`);else if(!this.options.debug)this.log.done();if(this.isUnmounted=!0,n3.updateContainer(null,this.container,null,HB0),d3.delete(this.options.stdout),A instanceof Error)this.rejectExitPromise(A);else this.resolveExitPromise()}async waitUntilExit(){return this.exitPromise||=new Promise((A,x)=>{this.resolveExitPromise=A,this.rejectExitPromise=x}),this.exitPromise}clear(){if(!XF&&!this.options.debug)this.log.clear()}patchConsole(){if(this.options.debug)return;this.restoreConsole=Rx0((A,x)=>{if(A==="stdout")this.writeToStdout(x);if(A==="stderr"){if(!x.startsWith("The above error occurred"))this.writeToStderr(x)}})}}var Oi0=(A,x)=>{let E={stdout:rq.stdout,stdin:rq.stdin,stderr:rq.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0,...Pi0(x)},D=Vi0(E.stdout,()=>new pq(E));return D.render(A),{rerender:D.render,unmount(){D.unmount()},waitUntilExit:D.waitUntilExit,cleanup:()=>d3.delete(E.stdout),clear:D.clear}},PS=Oi0,Pi0=(A={})=>{if(A instanceof Ni0)return{stdout:A,stdin:rq.stdin};return A},Vi0=(A,x)=>{let E=d3.get(A);if(!E)E=x(),d3.set(A,E);return E};var aq=Zx(z8(),1);var vi0=Zx(z8(),1);var Ti0=Zx(z8(),1);var ki0=Zx(z8(),1);var hi0=Zx(z8(),1);var ui0={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},bi0=[...Object.values(ui0),"backspace"];var ii0=Zx(z8(),1);var mi0=Zx(z8(),1);var ci0=Zx(z8(),1);var li0=Zx(z8(),1);var kT=Zx(z8(),1);var ni0=Zx(z8(),1);var o3=Zx(z8(),1);var WB0=Zx(MB0(),1);function ri0({type:A="dots"}){let[x,E]=o3.useState(0),D=WB0.default[A];return o3.useEffect(()=>{let B=setInterval(()=>{E((g)=>{return g===D.frames.length-1?0:g+1})},D.interval);return()=>{clearInterval(B)}},[D]),o3.default.createElement(Ux,null,D.frames[x])}var dq=ri0;var PF=Zx(z8(),1);var S2=Zx(VS(),1);function di0(A){return A!==null&&typeof A==="object"&&!Array.isArray(A)}function oi0(A){let x={};if(A.varsJson){let E;try{E=JSON.parse(A.varsJson)}catch{throw Error("--vars-json must be valid JSON")}if(!di0(E))throw Error("--vars-json must be a JSON object");x=E}for(let E of A.var??[]){let[D,B]=E.split("=");if(D&&B)x[D]=B}return x}function ti0(A,x){let E=oi0(x);if(x.template!==void 0&&(x.subject!==void 0||x.html!==void 0||x.htmlFile!==void 0))throw Error("Use either --template or --subject with --html/--html-file, not both");let D=x.html;if(x.htmlFile)D=_i0(x.htmlFile,"utf-8");if(!x.template&&!D)throw Error("Either --template or --html/--html-file is required");if(!x.template&&!x.subject)throw Error("--subject is required when using --html");return x.template?{to:A,slug:x.template,variables:E}:{to:A,subject:x.subject,body:D,variables:E}}function si0({email:A,options:x}){let[E,D]=PF.useState(!0),[B,g]=PF.useState(""),[C,I]=PF.useState(!1);if(PF.useEffect(()=>{async function $(){try{await G0("POST","/api/v1/transactional/send",ti0(A,x)),I(!0)}catch(S){g(L$(S))}finally{D(!1)}}$()},[A,x]),PF.useEffect(()=>{if(!E)setTimeout(()=>process.exit(B?1:0),100)},[E,B]),E)return S2.jsxDEV(BE,{padding:1,children:[S2.jsxDEV(Ux,{color:"cyan",children:S2.jsxDEV(dq,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),S2.jsxDEV(Ux,{children:[" Sending email to ",A,"..."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(B)return S2.jsxDEV(BE,{padding:1,children:S2.jsxDEV(Ux,{color:"red",children:[" ",B]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return S2.jsxDEV(BE,{padding:1,children:S2.jsxDEV(Ux,{color:"green",children:[" Email sent to ",A]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}async function RB0(A,x){if(!await cA())e0(dA()),process.exit(1);await PS(S2.jsxDEV(si0,{email:A,options:x},void 0,!1,void 0,this)).waitUntilExit()}var LB0=10,jB0=500,ei0=new Set(["unlimited","one_time","matching_field"]),Ah0={all:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],everyday:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],weekdays:["monday","tuesday","wednesday","thursday","friday"],"working-days":["monday","tuesday","wednesday","thursday","friday"],weekends:["saturday","sunday"]};function zB0(A){if(A===void 0)return;if(!ei0.has(A))throw new r("--enrollment-mode must be one of: unlimited, one_time, matching_field",400);return A}function xh0(A){if(A===void 0)return;let x=[];for(let E of A.split(",")){let D=E.trim().toLowerCase();if(!D)continue;let B=Ah0[D];if(B){for(let g of B)if(!x.includes(g))x.push(g);continue}if(!x.includes(D))x.push(D)}if(x.length===0)throw new r("--sending-window-days must include at least one day",400);return x}function Eh0(A){let x=A.sendingWindowStart!==void 0||A.sendingWindowEnd!==void 0||A.sendingWindowTimezone!==void 0||A.sendingWindowDays!==void 0;if(A.clearSendingWindow&&x)throw new r("Use either --clear-sending-window or --sending-window-* options, not both",400);if(A.clearSendingWindow)return null;if(!x)return;let E=A.sendingWindowStart?.trim(),D=A.sendingWindowEnd?.trim(),B=A.sendingWindowTimezone?.trim();if(!E||!D||!B)throw new r("--sending-window-start, --sending-window-end, and --sending-window-timezone are required together",400);let g=xh0(A.sendingWindowDays);return{enabled:!0,timezone:B,startTime:E,endTime:D,...g!==void 0&&{days:g}}}function oq(A){if(!A)return"Not restricted";return`${A.startTime}-${A.endTime} ${A.timezone} (${(A.days??["every day"]).join(", ")})`}function Bh0(A){if(A.clearBccEmails&&A.bccEmails!==void 0)throw new r("Use either --clear-bcc-emails or --bcc-emails, not both",400);if(A.clearBccEmails)return null;if(A.bccEmails===void 0)return;let x=Array.from(new Set(A.bccEmails.split(",").map((E)=>E.trim()).filter((E)=>E.length>0)));return x.length>0?x:null}function bT(A,x){let E=A??"Unknown";return x===!0?`${E} (new enrollments paused)`:E}function NB0(A){if(A.pauseNewEnrollments&&A.resumeNewEnrollments)throw new r("Provide either --pause-new-enrollments or --resume-new-enrollments, not both",400);if((A.branchJson!==void 0||A.branchFile!==void 0)&&(A.insertStepsJson!==void 0||A.insertStepsFile!==void 0))throw new r("Provide either --branch-json/--branch-file or --insert-steps-json/--insert-steps-file, not both",400);let x=Eh0(A),E=Bh0(A);return{...A.name!==void 0&&{name:A.name},...A.trigger!==void 0&&{trigger:A.trigger},...A.goal!==void 0&&A.goal.trim().length>0&&{goal:A.goal.trim()},...K8(A.emailCount,"--email-count")!==void 0&&{emailCount:K8(A.emailCount,"--email-count")},...K8(A.durationDays,"--duration-days")!==void 0&&{durationDays:K8(A.durationDays,"--duration-days")},...A.pauseNewEnrollments===!0&&{enrollmentPaused:!0},...A.resumeNewEnrollments===!0&&{enrollmentPaused:!1},...A.confirmStructuralChange===!0&&{confirmStructuralChange:!0},...zB0(A.enrollmentMode)!==void 0&&{enrollmentMode:zB0(A.enrollmentMode)},...A.enrollmentFieldPath!==void 0&&{enrollmentFieldPath:A.enrollmentFieldPath},...x!==void 0&&{sendingWindow:x},...E!==void 0&&{bccEmails:E},...A.listId!==void 0&&{listId:A.listId},...A.tagName!==void 0&&{tagName:A.tagName},...A.segmentId!==void 0&&{segmentId:A.segmentId},...A.eventName!==void 0&&{eventName:A.eventName},...YE(A.propertyFiltersJson,A.propertyFiltersFile,"propertyFilters")!==void 0&&{propertyFilters:YE(A.propertyFiltersJson,A.propertyFiltersFile,"propertyFilters")},...K8(A.inactiveDays,"--inactive-days")!==void 0&&{inactiveDays:K8(A.inactiveDays,"--inactive-days")},...K8(A.minCount,"--min-count")!==void 0&&{minCount:K8(A.minCount,"--min-count")},...K8(A.timeWindowDays,"--time-window-days")!==void 0&&{timeWindowDays:K8(A.timeWindowDays,"--time-window-days")},...YE(A.stepsJson,A.stepsFile,"steps")!==void 0&&{steps:YE(A.stepsJson,A.stepsFile,"steps")},...YE(A.emailsJson,A.emailsFile,"emails")!==void 0&&{emails:YE(A.emailsJson,A.emailsFile,"emails")},...YE(A.smsStepsJson,A.smsStepsFile,"smsSteps")!==void 0&&{smsSteps:YE(A.smsStepsJson,A.smsStepsFile,"smsSteps")},...YE(A.subscriberUpdateStepsJson,A.subscriberUpdateStepsFile,"subscriberUpdateSteps")!==void 0&&{subscriberUpdateSteps:YE(A.subscriberUpdateStepsJson,A.subscriberUpdateStepsFile,"subscriberUpdateSteps")},...YE(A.branchJson,A.branchFile,"branch")!==void 0&&{branch:YE(A.branchJson,A.branchFile,"branch")},...YE(A.insertStepsJson,A.insertStepsFile,"insertSteps")!==void 0&&{insertSteps:YE(A.insertStepsJson,A.insertStepsFile,"insertSteps")},...YE(A.stopConditionJson,A.stopConditionFile,"stopCondition")!==void 0&&{stopCondition:YE(A.stopConditionJson,A.stopConditionFile,"stopCondition")}}}function Dh0(A){return Array.from(new Set((A??"").split(",").map((x)=>x.trim()).filter((x)=>x.length>0)))}function gh0(A){let x=A.subscriberId?.trim(),E=Dh0(A.fieldValues),D=x!==void 0&&x.length>0,B=E.length>0;if(D===B)throw new r("Provide exactly one target: --subscriber-id or --field-values",400);return{...D&&{subscriberId:x},...A.fieldPath!==void 0&&A.fieldPath.trim().length>0&&{fieldPath:A.fieldPath.trim()},...B&&{fieldValues:E},dryRun:A.apply!==!0,...A.reason!==void 0&&A.reason.trim().length>0&&{reason:A.reason.trim()}}}function Ch0(A){let E=Array.isArray(A.email)&&A.email.length>0||A.emailsJson!==void 0||A.emailsFile!==void 0?eU(A):[],D=Array.from(new Set((A.subscriberIds??[]).map((B)=>B.trim()).filter((B)=>B.length>0)));if(E.length===0&&D.length===0)throw new r("Provide at least one email address or subscriber ID",400);return{...E.length>0&&{emails:E},...D.length>0&&{subscriberIds:D},...A.targetNodeId!==void 0&&{targetNodeId:A.targetNodeId}}}function Fh0(A){let x=[],E=A.emails??[],D=A.subscriberIds??[],B=0,g=0;while(B<E.length||g<D.length){let C=E.slice(B,B+jB0);B+=C.length;let I=jB0-C.length,$=D.slice(g,g+I);g+=$.length,x.push({...C.length>0&&{emails:C},...$.length>0&&{subscriberIds:$},...A.targetNodeId!==void 0&&{targetNodeId:A.targetNodeId}})}return x}function Qh0(A){let x=A.goal?.trim(),E=!!x,D=!!A.stepsJson||!!A.stepsFile;if(E&&D)throw new r("Provide either --goal or --steps-json/--steps-file, not both",400);if(!E&&!D)throw new r("Provide sequence content with --goal or --steps-json/--steps-file",400);if(A.emailCount!==void 0&&!E)throw new r("--email-count requires --goal",400);if(A.durationDays!==void 0&&!E)throw new r("--duration-days requires --goal",400);let B=K8(A.emailCount,"--email-count");if(B!==void 0&&B>LB0)throw new r(`--email-count must be no more than ${LB0}`,400);let g=K8(A.durationDays,"--duration-days");if(g!==void 0&&g<1)throw new r("--duration-days must be at least 1",400);return E?{mode:"goal",goal:x}:{mode:"steps"}}async function M4(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let C=await G0("GET","/api/v1/sequences",void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I}):void 0,S=C.sequences.map((K)=>I!==void 0?aC(K,{sequenceId:K.id},"sequence",I):{...K,url:void 0});if(x.json){Z0({...C,sequences:S,...$!==void 0&&{appUrls:$.urls}});return}console.log(`Sequences (${C.sequences.length})`);for(let K of S)console.log(`- ${K.name} [${K.id}]`),console.log(` Status: ${bT(K.status,K.enrollmentPaused)}`),console.log(` Trigger: ${K.trigger??"Unknown"}`),console.log(` Sending window: ${oq(K.sendingWindow)}`),console.log(` Created: ${VA(K.createdAt)}`),Sx(" URL",K.url);return}if(A==="create"){if(!x.name)throw new r("Sequence name is required",400);if(!x.trigger)throw new r("Sequence trigger is required",400);let C=Qh0(x),I=await G0("POST","/api/v1/sequences",NB0({...x,...C.goal!==void 0&&{goal:C.goal}}),x.company),$=await c8(x.company),S=I.sequence?.id??I.sequenceId,K=$!==void 0&&S!==void 0?yE({companyId:$,sequenceId:S}):void 0;if(x.json){Z0({...I,...I.sequence!==void 0&&K?.urls.sequence!==void 0&&{sequence:{...I.sequence,url:K.urls.sequence}},...K!==void 0&&{appUrls:K.urls}});return}if(console.log(`Created sequence: ${I.sequence?.name??x.name}`),console.log(`ID: ${I.sequence?.id??"Unknown"}`),Sx("URL",K?.urls.sequence),console.log(`Status: ${bT(I.sequence?.status,I.sequence?.enrollmentPaused)}`),I.sequence?.emailCount!==void 0)console.log(`Emails: ${I.sequence.emailCount}`);if(I.sequence?.discountCount!==void 0)console.log(`Discount actions: ${I.sequence.discountCount}`);if("sendingWindow"in(I.sequence??{}))console.log(`Sending window: ${oq(I.sequence?.sendingWindow)}`);if(C.mode==="goal")console.log("Mode: AI-generated");if(I.message)console.log(I.message);return}if(!x.id)throw new r("Sequence ID is required",400);if(A==="update"){if(x.name===void 0&&x.enrollmentMode===void 0&&x.enrollmentFieldPath===void 0&&x.pauseNewEnrollments!==!0&&x.resumeNewEnrollments!==!0&&x.sendingWindowStart===void 0&&x.sendingWindowEnd===void 0&&x.sendingWindowTimezone===void 0&&x.sendingWindowDays===void 0&&x.clearSendingWindow!==!0&&x.bccEmails===void 0&&x.clearBccEmails!==!0&&!x.stepsJson&&!x.stepsFile&&!x.emailsJson&&!x.emailsFile&&!x.smsStepsJson&&!x.smsStepsFile&&!x.subscriberUpdateStepsJson&&!x.subscriberUpdateStepsFile&&!x.branchJson&&!x.branchFile&&!x.insertStepsJson&&!x.insertStepsFile&&!x.stopConditionJson&&!x.stopConditionFile)throw new r("Provide at least one of: --name, --enrollment-mode, --enrollment-field-path, --pause-new-enrollments, --resume-new-enrollments, --sending-window-*, --clear-sending-window, --bcc-emails, --clear-bcc-emails, --steps-json, --steps-file, --emails-json, --emails-file, --sms-steps-json, --sms-steps-file, --subscriber-update-steps-json, --subscriber-update-steps-file, --branch-json, --branch-file, --insert-steps-json, --insert-steps-file, --stop-condition-json, --stop-condition-file",400);let C=await G0("PUT",`/api/v1/sequences/${x.id}`,NB0(x),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...C.sequence!==void 0&&$?.urls.sequence!==void 0&&{sequence:{...C.sequence,url:$.urls.sequence}},...$!==void 0&&{appUrls:$.urls}});return}if(console.log(`Updated sequence: ${C.sequence?.name??x.id}`),console.log(`ID: ${C.sequence?.id??x.id}`),Sx("URL",$?.urls.sequence),console.log(`Status: ${C.sequence?.status??"Unknown"}`),"sendingWindow"in(C.sequence??{}))console.log(`Sending window: ${oq(C.sequence?.sendingWindow)}`);if("bccEmails"in(C.sequence??{}))console.log(`BCC: ${C.sequence?.bccEmails?.join(", ")||"None"}`);return}if(A==="pause-enrollments"||A==="resume-enrollments"){let C=await G0("POST",`/api/v1/sequences/${x.id}/${A}`,void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(C.message??`Updated sequence ${x.id}`),Sx("URL",$?.urls.sequence);return}if(A==="enable"||A==="disable"){let C=await G0("POST",`/api/v1/sequences/${x.id}/${A}`,void 0,x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(C.message??`${A}d sequence ${x.id}`),Sx("URL",$?.urls.sequence);return}if(A==="enroll"){let C=Ch0(x),I=Fh0(C),$=0,S=0,K=[],M,X;for(let Z of I){let j=await G0("POST",`/api/v1/sequences/${x.id}/enroll`,Z,x.company);$+=j.enrolled,S+=j.skipped,K.push(...j.notFound),M??=j.targetNodeId,X??=j.scheduledFor}if(x.json){Z0({success:!0,sequenceId:x.id,enrolled:$,skipped:S,notFound:K,...M!==void 0&&{targetNodeId:M},...X!==void 0&&{scheduledFor:X}});return}if(console.log(`Enrolled ${$} subscriber(s) in sequence: ${x.id}`),console.log(`Skipped (already enrolled, inactive, or unavailable): ${S}`),K.length>0){console.log(`Not found: ${K.length}`);for(let Z of K.slice(0,10))console.log(`- ${Z}`);if(K.length>10)console.log(`...and ${K.length-10} more`)}if(M!==void 0)console.log(`Target node: ${M}`);if(X!==void 0)console.log(`Scheduled for: ${VA(X)}`);return}if(A==="cancel-enrollments"){let C=await G0("POST",`/api/v1/sequences/${x.id}/enrollments/cancel`,gh0(x),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,sequenceId:x.id}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}if(console.log(C.message??"Sequence enrollment cancellation done"),console.log(`Matched: ${C.matchedCount}`),console.log(`Cancelled: ${C.cancelledCount}`),console.log(`Dry run: ${C.dryRun?"yes":"no"}`),C.hasMore)console.log("Only the first matching enrollments are shown.");if((C.enrollments?.length??0)>0){console.log("Enrollments:");for(let S of C.enrollments??[])console.log(`- ${S.tokenId} | ${S.subscriberEmail??S.subscriberId} [${S.status}]`)}Sx("URL",$?.urls.sequence);return}if(A==="delete"){let C=await G0("DELETE",`/api/v1/sequences/${x.id}`,void 0,x.company);if(x.json){Z0(C);return}console.log(C.message??`Deleted sequence ${x.id}`);return}let E=await G0("GET",`/api/v1/sequences/${x.id}`,void 0,x.company),D=await c8(x.company),B=D!==void 0?yE({companyId:D,sequenceId:x.id}):void 0;if(x.json){Z0({...E,...B?.urls.sequence!==void 0&&{sequence:{...E.sequence,url:B.urls.sequence}},...B!==void 0&&{appUrls:B.urls}});return}let g=E.sequence;if(console.log(g.name),console.log(`ID: ${g.id}`),Sx("URL",B?.urls.sequence),console.log(`Status: ${bT(g.status,g.enrollmentPaused)}`),console.log(`Trigger: ${g.trigger??"Unknown"}`),console.log(`Sending window: ${oq(g.sendingWindow)}`),console.log(`BCC: ${g.bccEmails?.join(", ")||"None"}`),console.log(`Created: ${VA(g.createdAt)}`),console.log(`Enrichment: ${g.enrichmentStatus} (${g.enrichedCount}/${g.emailCount})`),g.emails.length>0){console.log("Emails:");for(let C of g.emails){let I=C.stepNumber!==null?`Step ${C.stepNumber}`:`Node ${C.nodeId}`;console.log(`- ${I}`),console.log(` Email ID: ${C.emailId??"None"}`),console.log(` Name: ${C.name??"None"}`),console.log(` Subject: ${C.subject??"None"}`),console.log(` Preview: ${C.previewText??"None"}`),console.log(` Blocks: ${C.blocks.length}`)}}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function OB0(A,x){if(A===void 0)return;let E=A.trim().toLowerCase();if(["on","true","yes","enabled"].includes(E))return!0;if(["off","false","no","disabled"].includes(E))return!1;throw new r(`${x} must be "on" or "off"`,400)}function vS(A,x){if(A===void 0)return;let E=Number(A);if(!Number.isFinite(E)||E<=0)throw new r(`${x} must be a positive number`,400);return E}function Ih0(A){let x={};if(A.resetBrowseAbandonment){if(A.browseAbandonment!==void 0||A.browseDelayHours!==void 0||A.browseCooldownHours!==void 0)throw new r("--reset-browse-abandonment cannot be combined with other browse flags",400);x.browseAbandonment=null}else{let E={},D=OB0(A.browseAbandonment,"--browse-abandonment");if(D!==void 0)E.enabled=D;let B=vS(A.browseDelayHours,"--browse-delay-hours");if(B!==void 0)E.delayHours=B;let g=vS(A.browseCooldownHours,"--browse-cooldown-hours");if(g!==void 0)E.cooldownHours=g;if(Object.keys(E).length>0)x.browseAbandonment=E}if(A.resetPriceDrop){if(A.priceDrop!==void 0||A.priceDropMinPercent!==void 0||A.priceDropLookbackDays!==void 0||A.priceDropCooldownDays!==void 0)throw new r("--reset-price-drop cannot be combined with other price-drop flags",400);x.priceDrop=null}else{let E={},D=OB0(A.priceDrop,"--price-drop");if(D!==void 0)E.enabled=D;let B=vS(A.priceDropMinPercent,"--price-drop-min-percent");if(B!==void 0)E.minPercent=B;let g=vS(A.priceDropLookbackDays,"--price-drop-lookback-days");if(g!==void 0)E.lookbackDays=g;let C=vS(A.priceDropCooldownDays,"--price-drop-cooldown-days");if(C!==void 0)E.cooldownDays=C;if(Object.keys(E).length>0)x.priceDrop=E}if(Object.keys(x).length===0)throw new r("Provide at least one settings flag (see --help for the full list)",400);return x}function PB0(A){let{browseAbandonment:x,priceDrop:E}=A;console.log(`Shopify automation settings (${A.shopDomain})`),console.log(""),console.log(`Browse abandonment: ${x.enabled?"on":"off"}`),console.log(" Emails shoppers who view a product but don't buy, add to cart, or start checkout."),console.log(` Waits ${x.delayHours}h after the view - at most one email per subscriber per ${x.cooldownHours}h`),console.log(""),console.log(`Price drop alerts: ${E.enabled?"on":"off"}`),console.log(` Emails recent viewers when a product's price falls by ${E.minPercent}% or more.`),console.log(` Audience: viewers from the last ${E.lookbackDays} days - at most one email per product per subscriber per ${E.cooldownDays} days`)}async function iT(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="get"){let B=await G0("GET","/api/v1/shopify/automation-settings",void 0,x.company);if(x.json){Z0(B);return}PB0(B);return}let E=Ih0(x),D=await G0("PUT","/api/v1/shopify/automation-settings",E,x.company);if(x.json){Z0(D);return}if(D.message)console.log(D.message),console.log("");PB0(D)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function yh0(A){let{sms:x}=A;if(console.log(`SMS add-on: ${x.enabled?"enabled":"not enabled"}`),console.log(`Plan eligible: ${x.planEligible?"yes":"no"}`),console.log(`Credits balance: ${x.creditsBalance}`),console.log(`Brand prefix: ${x.brandPrefix??"(not set)"}`),x.numbers.length===0)console.log("Numbers: none");else{console.log("Numbers:");for(let E of x.numbers)console.log(` ${E.e164} (${E.status})`)}console.log(),console.log(A.message)}function wh0(A){return{to:rD(A.phone??"","Phone number").trim(),text:rD(A.text??"","--text").trim(),...A.imageUrl&&A.imageUrl.length>0?{imageUrls:A.imageUrl}:{}}}async function hT(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="settings"){let E=await G0("GET","/api/v1/sms/settings",void 0,x.company);if(x.json){Z0(E);return}yh0(E);return}if(A==="send-test"){let E=await G0("POST","/api/v1/sms/test",wh0(x),x.company);if(x.json){Z0(E);return}console.log(E.message)}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var VF=Zx(z8(),1);var Cx=Zx(VS(),1);function $h0(A){let x=A.stats;return{sent:x.sent,delivered:x.delivered,opened:x.opened,clicked:x.clicked,unsubscribed:x.unsubscribed,openRate:x.openRate,clickRate:x.clickRate,conversions:x.conversions,revenueCents:x.revenueCents,steps:A.steps,clickedLinks:A.clickedLinks,polls:A.polls}}function mT(A){let x=new URLSearchParams;if(!A.campaign&&!A.sequence)x.set("period",A.period??"7d");if(A.includeBots)x.set("includeMachineEngagement","true");let E=x.toString();return E?`?${E}`:""}async function VB0(A){if(A.campaign)return G0("GET",`/api/v1/metrics/campaigns/${A.campaign}${mT(A)}`,void 0,A.company);if(A.sequence)return G0("GET",`/api/v1/metrics/sequences/${A.sequence}${mT(A)}`,void 0,A.company);return G0("GET",`/api/v1/metrics${mT(A)}`,void 0,A.company)}function fh0({options:A}){let[x,E]=VF.useState(!0),[D,B]=VF.useState(""),[g,C]=VF.useState(null);if(VF.useEffect(()=>{async function K(){try{let M=await VB0(A);C($h0(M))}catch(M){B(L$(M instanceof r?M:M))}finally{E(!1)}}K()},[A]),VF.useEffect(()=>{if(!x)setTimeout(()=>process.exit(D?1:0),100)},[x,D]),x)return Cx.jsxDEV(BE,{padding:1,children:[Cx.jsxDEV(Ux,{color:"cyan",children:Cx.jsxDEV(dq,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:" Loading stats..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(D)return Cx.jsxDEV(BE,{padding:1,children:Cx.jsxDEV(Ux,{color:"red",children:[" ",D]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if(!g)return Cx.jsxDEV(BE,{padding:1,children:Cx.jsxDEV(Ux,{dimColor:!0,children:"No stats available"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let I=A.period??"7d",$=A.campaign?"Campaign Stats":A.sequence?"Sequence Stats":`Stats (${I})`,S=A.sequence&&g.steps?g.steps.filter((K)=>(K.failedCount??0)>0):[];return Cx.jsxDEV(BE,{flexDirection:"column",padding:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:[Cx.jsxDEV(Ux,{bold:!0,color:"green",children:$},void 0,!1,void 0,this),A.includeBots&&Cx.jsxDEV(Ux,{dimColor:!0,children:" including bot/scanner engagement"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{flexDirection:"column",children:[Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Sent: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.sent.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Delivered: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.delivered.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Opened: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.opened.toLocaleString()},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{dimColor:!0,children:[" (",g.openRate.toFixed(1),"%)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Clicked: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.clicked.toLocaleString()},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{dimColor:!0,children:[" (",g.clickRate.toFixed(1),"%)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Unsubscribed: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.unsubscribed.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),g.conversions!==void 0&&Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Conversions: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:g.conversions.toLocaleString()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),g.revenueCents!==void 0&&Cx.jsxDEV(BE,{children:[Cx.jsxDEV(Ux,{dimColor:!0,children:"Revenue: "},void 0,!1,void 0,this),Cx.jsxDEV(Ux,{children:["$",(g.revenueCents/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),S.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Step Failures"},void 0,!1,void 0,this)},void 0,!1,void 0,this),S.map((K)=>Cx.jsxDEV(BE,{flexDirection:"column",marginBottom:1,children:[Cx.jsxDEV(Ux,{children:["Step ",K.step,": ",K.subject??K.nodeId," (",K.failedCount," failed",")"]},void 0,!0,void 0,this),(K.failedSubscribers??[]).map((M)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",M.email??M.subscriberId,":"," ",M.failedReason??"Reason unavailable"]},void 0,!0,void 0,this)},`${K.nodeId}-${M.subscriberId}`,!1,void 0,this)),(K.failedCount??0)>(K.failedSubscribers?.length??0)&&Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{dimColor:!0,children:["Showing first ",K.failedSubscribers?.length??0," of"," ",K.failedCount," failed subscribers"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},K.nodeId,!0,void 0,this))]},void 0,!0,void 0,this),g.clickedLinks&&g.clickedLinks.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Clicked Links"},void 0,!1,void 0,this)},void 0,!1,void 0,this),g.clickedLinks.map((K)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",K.url,": ",K.clicks.toLocaleString()," (",K.percentage.toFixed(1),"%)"]},void 0,!0,void 0,this)},K.url,!1,void 0,this))]},void 0,!0,void 0,this),g.polls&&g.polls.length>0&&Cx.jsxDEV(BE,{flexDirection:"column",marginTop:1,children:[Cx.jsxDEV(BE,{marginBottom:1,children:Cx.jsxDEV(Ux,{bold:!0,children:"Poll & NPS Results"},void 0,!1,void 0,this)},void 0,!1,void 0,this),g.polls.map((K)=>Cx.jsxDEV(BE,{flexDirection:"column",marginBottom:1,children:[Cx.jsxDEV(Ux,{children:[K.question||"Poll"," (",K.totalResponses," ",K.totalResponses===1?"response":"responses",")"]},void 0,!0,void 0,this),K.nps&&Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:`NPS: ${K.nps.score>0?"+":""}${K.nps.score} · Average: ${K.nps.average.toFixed(1)} · ${K.nps.promoters} promoters · ${K.nps.passives} passives · ${K.nps.detractors} detractors`},void 0,!1,void 0,this)},void 0,!1,void 0,this),K.answers.map((M)=>Cx.jsxDEV(BE,{marginLeft:2,children:Cx.jsxDEV(Ux,{children:["- ",M.answer,": ",M.responses.toLocaleString()," (",M.percentage,"%)"]},void 0,!0,void 0,this)},M.value,!1,void 0,this))]},K.blockId,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}async function vB0(A){if(!await cA())e0(dA()),process.exit(1);if(A.json){try{Z0(await VB0(A))}catch(E){e0(E),process.exitCode=1}return}await PS(Cx.jsxDEV(fh0,{options:A},void 0,!1,void 0,this)).waitUntilExit()}function cT(A){if(!A)return[];return Array.isArray(A)?A:[A]}function TB0(A){if(!A)return[];return Array.isArray(A)?A:[A]}function tq(A){let x={};for(let E of A??[]){let[D,...B]=E.split("="),g=B.join("=");if(D&&g)x[D]=g}return Object.keys(x).length>0?x:void 0}function Sh0(A){let x=A.email?.trim()||void 0,E=A.externalId?.trim()||void 0;return{...x?{email:x}:{},...E?{externalId:E}:{}}}function vF(A){let x=Sh0(A);if(!x.email&&!x.externalId)throw Error("Provide an email or --external-id.");return x}function lT(A,x){let E=new URLSearchParams;if(x?.includeBots)E.set("includeMachineEngagement","true");let D=E.toString(),B=D?`?${D}`:"";if(A.email)return`/api/v1/subscribers/${encodeURIComponent(A.email)}${B}`;return E.set("externalId",String(A.externalId)),`/api/v1/subscribers/external?${E.toString()}`}function kB0(A){if(A.email)return`/api/v1/subscribers/${encodeURIComponent(A.email)}/notes`;let x=new URLSearchParams;return x.set("externalId",String(A.externalId)),`/api/v1/subscribers/external/notes?${x.toString()}`}function Gh0(A){let x=new URLSearchParams;if(A.segment)x.set("segmentId",A.segment);let E=cT(A.tag);if(E.length>0)x.set("tags",E.join(","));let D=TB0(A.list);if(D.length>0&&D[0])x.set("list",D[0]);return x.set("page",String(A.page)),x.set("limit",String(A.pageSize)),x}async function Jh0(A){let x=K8(A.limit,"--limit"),E=Math.min(100,Math.max(1,x??100)),D=[],B=1,g=0,C=0,I=0;while(!0){let S=Gh0({segment:A.segment,tag:A.tag,list:A.list,page:B,pageSize:E}),K=await G0("GET",`/api/v1/subscribers?${S.toString()}`,void 0,A.company);g=K.pagination?.total??K.subscribers.length,C=K.pagination?.totalPages??1,I+=1,D.push(...K.subscribers??[]);let M=x!==void 0&&D.length>=x,X=K.pagination?B>=K.pagination.totalPages:(K.subscribers??[]).length<E;if(M||X)break;B+=1}let $=x!==void 0?D.slice(0,x):D;return{success:!0,subscribers:$,pagination:{page:1,limit:E,total:g,totalPages:C,fetchedPages:I},returned:$.length,truncated:x!==void 0&&g>0&&$.length<g}}function uB0(A){let x=[A.firstName,A.lastName].map((E)=>E?.trim()).filter((E)=>!!E);return x.length>0?x.join(" "):null}function Hh0(A){let x=A.machine===!0?` [bot:${A.engagementQuality??"machine"}]`:"",E=`${VA(A.eventTime)} ${A.eventType}${x}`;if(A.eventType==="custom"){let D=A.eventName??"unknown",B=A.properties&&Object.keys(A.properties).length>0?` ${JSON.stringify(A.properties)}`:"";return`${E} ${D}${B}`}if(A.clickedUrl)return`${E} ${A.clickedUrl}`;if(A.bounceType)return`${E} ${A.bounceType}`;if(A.campaignId)return`${E} campaign:${A.campaignId}`;return E}function Kh0(A){if(A.subscribers.length===0){console.log("No subscribers found");return}console.log(`Subscribers (${A.returned})`),console.log(A.truncated?`Showing ${A.returned} of ${A.pagination.total} matching subscribers.`:`Fetched ${A.returned} matching subscribers across ${A.pagination.fetchedPages} page(s).`);for(let x of A.subscribers){if(console.log(`- ${x.email} [${x.status}]`),x.externalId)console.log(` External ID: ${x.externalId}`);let E=uB0(x);if(E)console.log(` Name: ${E}`);if(x.tags.length>0)console.log(` Tags: ${x.tags.join(", ")}`);if(x.emailProvider)console.log(` Email provider: ${x.emailProvider}`);console.log(` Created: ${VA(x.createdAt)}`)}}function bB0(A){if(console.log(`Notes (${A.length})`),A.length===0){console.log(" None");return}for(let x of A){let E=x.author?.name??x.author?.email??x.authorId??"Unknown";console.log(` - ${x.id} by ${E} at ${VA(x.createdAt)}`);for(let D of x.body.split(`
|
|
417
417
|
`))console.log(` ${D}`)}}function Yh0(A){if(console.log(`Subscriber: ${A.email}`),console.log(`Status: ${A.status}`),A.externalId)console.log(`External ID: ${A.externalId}`);let x=uB0(A);if(x)console.log(`Name: ${x}`);if(console.log(`ID: ${A.id}`),console.log(`Created: ${VA(A.createdAt)}`),console.log(`Updated: ${VA(A.updatedAt)}`),console.log(`Email provider: ${A.emailProvider??"None"}`),console.log(`Tags: ${A.tags.length>0?A.tags.join(", "):"None"}`),bB0(A.notes??[]),console.log("Lists:"),(A.lists?.length??0)===0)console.log(" None");else for(let E of A.lists??[])console.log(` - ${E.name}${E.unsubscribedAt?" [inactive]":" [active]"}`),console.log(` Joined: ${VA(E.subscribedAt)}${E.unsubscribedAt?` | Unsubscribed: ${VA(E.unsubscribedAt)}`:""}`);if(console.log("Sequence Enrollments:"),(A.sequenceEnrollments?.length??0)===0)console.log(" None");else for(let E of A.sequenceEnrollments??[])if(console.log(` - ${E.sequenceName} [${E.enrollmentStatus}]`),console.log(` Sequence ID: ${E.sequenceId} | Status: ${E.sequenceStatus}`),console.log(` Current node: ${E.currentNodeLabel??E.currentNodeType??"Unknown"}`),console.log(` Entered: ${VA(E.enteredAt)} | Updated: ${VA(E.updatedAt)}`),E.scheduledFor)console.log(` Scheduled: ${VA(E.scheduledFor)}`);if(console.log("Email Stats:"),!A.emailStats)console.log(" None");else console.log(` Sent ${A.emailStats.sent}, delivered ${A.emailStats.delivered}, opened ${A.emailStats.opened}, clicked ${A.emailStats.clicked}, bounced ${A.emailStats.bounced}, unsubscribed ${A.emailStats.unsubscribed}, complained ${A.emailStats.complained}`);if(console.log("Recent Activity:"),(A.activity?.length??0)===0)console.log(" None");else for(let E of A.activity??[])console.log(` - ${Hh0(E)}`);if(console.log("Custom Attributes:"),!A.customAttributes||Object.keys(A.customAttributes).length===0)console.log(" None");else console.log(JSON.stringify(A.customAttributes,null,2))}async function Uh0(A){let x=await Jh0(A);if(A.json){Z0(x);return}Kh0(x)}async function qh0(A){let x=vF(A),E=TB0(A.list),D=await G0("POST","/api/v1/subscribers",{...x,firstName:A.firstName,lastName:A.lastName,tags:cT(A.tag),...A.noLists?{lists:[]}:E.length>0?{lists:E}:{},...A.skipSequences?{enrollInSequences:!1}:{},customAttributes:tq(A.attr)},A.company);if(A.json){Z0(D);return}console.log(`Added subscriber: ${x.email??`external:${x.externalId}`}`)}async function Xh0(A){let x=vF(A),E=cT(A.tag),D=tq(A.attr);if(!(A.status!==void 0||E.length>0||D!==void 0))throw Error("Provide at least one of --status, --tag, or --attr.");let g=await G0("PATCH",lT(x),{...A.status!==void 0&&{status:A.status},...E.length>0&&{tags:E},...D!==void 0&&{customAttributes:D},...A.merge&&D!==void 0?{customAttributesStrategy:"merge"}:{}},A.company);if(A.json){Z0(g);return}console.log(`Updated subscriber: ${x.email??`external:${x.externalId}`}`)}async function Zh0(A){let x=vF(A),E=await G0("GET",lT(x,{includeBots:A.includeBots}),void 0,A.company);if(A.json){Z0(E);return}Yh0(E.subscriber)}async function Mh0(A){let x=vF(A),E=await G0("GET",kB0(x),void 0,A.company);if(A.json){Z0(E);return}bB0(E.notes)}async function Wh0(A){let x=vF(A),E=A.body?.trim();if(!E)throw Error("--body is required.");let D=await G0("POST",kB0(x),{body:E},A.company);if(A.json){Z0(D);return}console.log(`Added note: ${D.note.id}`)}async function Rh0(A){let x=A.noteId?.trim();if(!x)throw Error("Provide a note ID.");let E=await G0("DELETE",`/api/v1/subscribers/notes/${encodeURIComponent(x)}`,void 0,A.company);if(A.json){Z0(E);return}console.log(`Deleted note: ${x}`)}async function Lh0(A){let x=vF(A),E=lT(x),D=x.email??`external:${x.externalId}`;if(A.hard){let g=await G0("DELETE",E,void 0,A.company);if(A.json){Z0(g);return}console.log(`Deleted subscriber: ${D}`);return}let B=await G0("PATCH",E,{status:"unsubscribed"},A.company);if(A.json){Z0(B);return}console.log(`Unsubscribed: ${D}`)}async function jh0(A){let x=vF(A),E=A.name?.trim();if(!E)throw Error("--name is required.");let D=await G0("POST","/api/v1/subscribers/events",{...x,event:E,properties:tq(A.property),customAttributes:tq(A.attr)},A.company);if(A.json){Z0(D);return}console.log(`Triggered event: ${E} for ${x.email??`external:${x.externalId}`}`)}async function G2(A,x){if(!await cA())e0(dA()),process.exit(1);try{switch(A){case"list":await Uh0(x);return;case"add":await qh0(x);return;case"update":await Xh0(x);return;case"get":await Zh0(x);return;case"notes:list":await Mh0(x);return;case"notes:add":await Wh0(x);return;case"notes:delete":await Rh0(x);return;case"event":await jh0(x);return;case"remove":await Lh0(x);return}}catch(E){let D=E instanceof r?E:new r(E instanceof Error?E.message:"Unknown error",500);e0(D),process.exit(1)}}function zh0(A){if(A.reset){if(A.rulesJson!==void 0||A.rulesFile!==void 0)throw new r("--reset cannot be combined with --rules",400);return{syncRules:null}}let x=YE(A.rulesJson,A.rulesFile,"rules");if(x===void 0)throw new r("Provide --rules-json, --rules-file, or --reset",400);if(!Array.isArray(x))throw new r("rules JSON must be an array of sync rules",400);return{syncRules:x}}function Nh0(A){let x=[],E=A.conditions;if(!E)return x;if(E.requiresTags?.length)x.push(` Requires tags: ${E.requiresTags.join(", ")}`);if(E.requiresNotTags?.length)x.push(` Excluded tags: ${E.requiresNotTags.join(", ")}`);let D=E.purchasedProduct;if(D){let B=[];if(D.tags?.length)B.push(`tags ${D.tags.join("|")}`);if(D.collectionIds?.length)B.push(`collections ${D.collectionIds.join("|")}`);if(D.productTypes?.length)B.push(`types ${D.productTypes.join("|")}`);if(D.vendors?.length)B.push(`vendors ${D.vendors.join("|")}`);if(B.length>0)x.push(` Product match: ${B.join("; ")}`)}return x}function iB0(A){console.log(`Sync rules (${A.syncRules.length})${A.isDefault?" - platform defaults":""}`);for(let x of A.syncRules){let E=x.actions.addTags.length?`+${x.actions.addTags.join(", +")}`:"",D=x.actions.removeTags.length?`-${x.actions.removeTags.join(", -")}`:"",B=[E,D].filter(Boolean).join(" ")||"(no-op)";console.log(`- ${x.triggerEvent}: ${B}`);for(let g of Nh0(x))console.log(g)}}async function nT(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="get"){let B=await G0("GET","/api/v1/sync-rules",void 0,x.company);if(x.json){Z0(B);return}iB0(B);return}let E=zh0(x),D=await G0("PUT","/api/v1/sync-rules",E,x.company);if(x.json){Z0(D);return}if(D.message)console.log(D.message);iB0(D)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function Oh0(A){let x=A.isSystem?" [system]":"";console.log(`- ${A.name} [${A.id}]${x}`),console.log(` Color: ${A.color??"Default"}`)}function Ph0(A){if(!A.name||A.name.trim()==="")throw new r("Tag name is required",400);return{name:A.name,...A.color!==void 0&&{color:A.color}}}async function t3(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=await G0("GET","/api/v1/tags",void 0,x.company);if(x.json){Z0(D);return}console.log(`Tags (${D.tags.length})`);for(let B of D.tags)Oh0(B);return}if(A==="create"){let D=Ph0(x),B=await G0("POST","/api/v1/tags",D,x.company);if(x.json){Z0(B);return}if(console.log(`Created tag: ${B.tag?.name??D.name}`),B.tag)console.log(`ID: ${B.tag.id}`),console.log(`Color: ${B.tag.color??"Default"}`);return}if(!x.tagId)throw new r("Tag ID is required",400);if(A==="update"){if(!x.color||x.color.trim()==="")throw new r("--color is required",400);let D=await G0("PATCH",`/api/v1/tags/${encodeURIComponent(x.tagId)}`,{color:x.color},x.company);if(x.json){Z0(D);return}if(console.log(`Updated tag: ${D.tag?.name??x.tagId}`),D.tag)console.log(`ID: ${D.tag.id}`),console.log(`Color: ${D.tag.color??"Default"}`);return}if(!await N6(`Delete tag ${x.tagId}? It will be removed from all subscribers.`,x)){console.log("Aborted.");return}let E=await G0("DELETE",`/api/v1/tags/${encodeURIComponent(x.tagId)}`,void 0,x.company);if(x.json){Z0(E);return}console.log(`Deleted tag: ${x.tagId}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}var Vh0=new Set(["admin","viewer","restricted"]);function vh0(A){if(!A.email||A.email.trim()==="")throw new r("Email is required",400);if(!A.role||!Vh0.has(A.role))throw new r("--role must be admin, viewer, or restricted",400);return{email:A.email.trim(),role:A.role,...A.billingAccess===!0&&{canManageBilling:!0}}}function Th0(A){let x=A.user.name?`${A.user.name} <${A.user.email}>`:A.user.email;if(console.log(`- ${x} [${A.id}]`),console.log(` Kind: ${A.kind}`),console.log(` Role: ${A.role}`),console.log(` Status: ${A.status}`),console.log(` Billing access: ${A.canManageBilling?"yes":"no"}`),A.invitedAt)console.log(` Invited: ${VA(A.invitedAt)}`);if(A.expiresAt)console.log(` Expires: ${VA(A.expiresAt)}`);if(A.invitedBy)console.log(` Invited by: ${A.invitedBy.name??A.invitedBy.email}`)}async function sq(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let D=await G0("GET","/api/v1/team",void 0,x.company);if(x.json){Z0(D);return}console.log(`Team members (${D.members.length})`);for(let B of D.members)Th0(B);return}if(A==="invite"){let D=vh0(x),B=await G0("POST","/api/v1/team/invitations",D,x.company);if(x.json){Z0(B);return}if(B.invitation){console.log(`Invitation sent to ${B.invitation.email}`),console.log(`ID: ${B.invitation.id}`),console.log(`Role: ${B.invitation.role}`),console.log(`Billing access: ${B.invitation.canManageBilling?"yes":"no"}`),console.log(`Status: ${B.invitation.status}`),console.log(`Expires: ${VA(B.invitation.expiresAt)}`);return}console.log(`Added team member: ${B.member?.email??D.email}`),console.log(`Role: ${B.member?.role??D.role}`),console.log(`Billing access: ${B.member?.canManageBilling?"yes":"no"}`);return}if(!x.invitationId)throw new r("Invitation ID is required",400);if(!await N6(`Cancel invitation ${x.invitationId}?`,x)){console.log("Aborted.");return}let E=await G0("DELETE",`/api/v1/team/invitations/${encodeURIComponent(x.invitationId)}`,void 0,x.company);if(x.json){Z0(E);return}console.log(`Cancelled invitation: ${x.invitationId}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function hB0(A){if(A.length===0)return"none";return A.map((x)=>`${x.locale}:${x.status}`).join(", ")}function eq(A){return A&&A.length>0?A.join(", "):"None"}function kh0(A,x){if(A.name===void 0&&A.subject===void 0&&A.label===void 0&&x.html===void 0&&x.blocks===void 0)throw new r("Provide at least one of: --name, --subject, --label, --html, --html-file, --blocks-json, --blocks-file",400);return{name:A.name,subject:A.subject,html:x.html,blocks:x.blocks,labels:A.label}}function uh0(A,x){let E=A.subject?.trim();if(!E)throw new r("Localization subject is required",400);if(x.html===void 0&&x.blocks===void 0)throw new r("Provide localized content with --html, --html-file, --blocks-json, or --blocks-file",400);return{subject:E,previewText:A.previewText,html:x.html,blocks:x.blocks}}async function Wg(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let C=new URLSearchParams;if(x.label)for(let K of x.label)C.append("label",K);let I=await G0("GET",`/api/v1/templates${C.size>0?`?${C.toString()}`:""}`,void 0,x.company),$=yE({companyId:I.companyId}),S=I.templates.map((K)=>aC(K,{emailId:K.id},"email",I.companyId));if(x.json){Z0({...I,templates:S,appUrls:$.urls});return}if(console.log(`Templates (${I.templates.length})`),I.emailLocalizationConfig)console.log(`Primary locale: ${I.emailLocalizationConfig.primaryLocale}`);for(let K of S)console.log(`- ${K.name} [${K.id}]`),console.log(` Subject: ${K.subject}`),console.log(` Labels: ${eq(K.labels)}`),Sx(" URL",K.url),console.log(` Localizations: ${hB0(K.localizations)}`);return}let E=pD({html:x.html,htmlFile:x.htmlFile,blocksJson:x.blocksJson,blocksFile:x.blocksFile});if(A==="create"){if(!x.name)throw new r("Template name is required",400);let C=x.prompt?.trim()||void 0;if([C,E.html,E.blocks].filter((X)=>X!==void 0).length!==1)throw new r("Provide exactly one of --prompt, --html/--html-file, or --blocks-json/--blocks-file",400);if(!C&&(x.style!==void 0||x.tone!==void 0))throw new r("--style and --tone require --prompt",400);if(!x.subject&&!C)throw new r("Template subject is required unless --prompt is provided",400);let $=await G0("POST","/api/v1/templates",{name:x.name,subject:x.subject,previewText:x.previewText,prompt:C,style:x.style,tone:x.tone,html:E.html,blocks:E.blocks,labels:x.label},x.company),S=await c8(x.company),K=$.template?.id??$.templateId,M=S!==void 0&&K!==void 0?yE({companyId:S,emailId:K}):void 0;if(x.json){Z0({...$,...$.template!==void 0&&M?.urls.email!==void 0&&{template:{...$.template,url:M.urls.email}},...M!==void 0&&{appUrls:M.urls}});return}console.log(`Created template: ${$.template?.name??x.name}`),console.log(`ID: ${$.template?.id??"Unknown"}`),Sx("URL",M?.urls.email),console.log(`Labels: ${eq($.template?.labels)}`),console.log(`Subject: ${$.template?.subject??x.subject??"Unknown"}`);return}if(!x.id)throw new r("Template ID is required",400);if(A==="set-localization"){if(!x.locale)throw new r("Localization locale is required",400);let C=await G0("PUT",`/api/v1/templates/${x.id}/localizations/${encodeURIComponent(x.locale)}`,uh0(x,E),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,emailId:C.templateId}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(`Set ${C.localization.locale} localization for template ${C.templateId}`),console.log(`Status: ${C.localization.status}`),console.log(`Subject: ${C.localization.subject}`),Sx("URL",$?.urls.email);return}if(A==="sync-localizations"){let C=await G0("POST",`/api/v1/templates/${x.id}/localizations/sync`,x.locales===void 0?{}:{locales:x.locales},x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,emailId:C.templateId}):void 0;if(x.json){Z0({...C,...$!==void 0&&{appUrls:$.urls}});return}console.log(`Queued ${C.queuedVariantCount} localization${C.queuedVariantCount===1?"":"s"}: ${C.queuedLocales.join(", ")}`),Sx("URL",$?.urls.email);return}if(A==="update"){let C=await G0("PUT",`/api/v1/templates/${x.id}`,kh0(x,E),x.company),I=await c8(x.company),$=I!==void 0?yE({companyId:I,emailId:x.id}):void 0;if(x.json){Z0({...C,...C.template!==void 0&&$?.urls.email!==void 0&&{template:{...C.template,url:$.urls.email}},...$!==void 0&&{appUrls:$.urls}});return}console.log(`Updated template: ${C.template?.name??x.id}`),console.log(`ID: ${C.template?.id??x.id}`),Sx("URL",$?.urls.email),console.log(`Labels: ${eq(C.template?.labels)}`),console.log(`Subject: ${C.template?.subject??"Unchanged"}`);return}if(A==="delete"){let C=await G0("DELETE",`/api/v1/templates/${x.id}`,void 0,x.company);if(x.json){Z0(C);return}console.log(C.message??`Deleted template: ${x.id}`);return}let D=await G0("GET",`/api/v1/templates/${x.id}`,void 0,x.company),B=yE({companyId:D.template.companyId,emailId:x.id});if(x.json){Z0({...D,template:{...D.template,url:B.urls.email},appUrls:B.urls});return}let g=D.template;console.log(g.name),console.log(`ID: ${g.id}`),console.log(`Company: ${g.companyId}`),Sx("URL",B.urls.email),console.log(`Subject: ${g.subject}`),console.log(`Labels: ${eq(g.labels)}`),console.log(`Preview: ${g.previewText??"None"}`),console.log(`Blocks: ${g.blocks.length}`),console.log(`Font: ${g.fontFamily??"Default"}`),console.log(`Created: ${VA(g.createdAt)}`),console.log(`Updated: ${VA(g.updatedAt)}`),console.log(`Localizations: ${hB0(g.localizations)}`);for(let C of g.localizations){let I=C.lastError?` | error: ${C.lastError}`:"";console.log(`- ${C.locale} [${C.status}] blocks=${C.blocks.length}${I}`)}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}async function AX(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="create"){if(!x.name)throw new r("Transactional name is required",400);let B=pD({html:x.html,htmlFile:x.htmlFile,blocksJson:x.blocksJson,blocksFile:x.blocksFile}),g=x.prompt?.trim()||void 0;if([g,B.html,B.blocks].filter((K)=>K!==void 0).length!==1)throw new r("Provide exactly one of --prompt, --html/--html-file, or --blocks-json/--blocks-file",400);if(!g&&!x.subject)throw new r("Transactional subject is required unless --prompt is provided",400);if(!g&&(x.style!==void 0||x.tone!==void 0))throw new r("--style and --tone require --prompt",400);let I=await G0("POST","/api/v1/transactional",{name:x.name,...x.slug!==void 0&&{slug:x.slug},...x.subject!==void 0&&{subject:x.subject},...x.previewText!==void 0&&{previewText:x.previewText},...g!==void 0&&{prompt:g},...x.style!==void 0&&{style:x.style},...x.tone!==void 0&&{tone:x.tone},...B.html!==void 0&&{html:B.html},...B.blocks!==void 0&&{blocks:B.blocks},...x.enabled!==void 0&&{enabled:x.enabled}},x.company),$=await c8(x.company),S=$?yE({companyId:$,transactionalId:I.transactional.id}).urls.transactionalEmail:void 0;if(x.json){Z0({...I,transactional:{...I.transactional,url:S},...S&&{appUrls:{transactionalEmail:S}}});return}console.log(`Created transactional template: ${I.transactional.name}`),console.log(`ID: ${I.transactional.id}`),console.log(`Slug: ${I.transactional.slug}`),console.log(`Enabled: ${I.transactional.enabled?"yes":"no"}`),Sx("URL",S);return}if(A==="list"){let B=await G0("GET","/api/v1/transactional",void 0,x.company);if(x.json){Z0(B);return}console.log(`Transactional templates (${B.transactional.length})`);for(let g of B.transactional)console.log(`- ${g.name} [${g.slug}] ${g.enabled?"enabled":"disabled"}`);return}if(!x.slug)throw new r("Transactional template slug is required",400);let E=await G0("GET",`/api/v1/transactional/${encodeURIComponent(x.slug)}`,void 0,x.company);if(x.json){Z0(E);return}let D=E.transactional;if(console.log(D.name),console.log(`ID: ${D.id}`),console.log(`Slug: ${D.slug}`),console.log(`Enabled: ${D.enabled?"yes":"no"}`),D.subject)console.log(`Subject: ${D.subject}`);if((D.variables?.length??0)>0)console.log(`Variables: ${D.variables?.join(", ")}`)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function lB0(A){if(A===void 0||A.length===0)return;let x=new Set(Mv);for(let E of A)if(!x.has(E))throw new r(`Invalid --event value '${E}'. Valid events: ${Mv.join(", ")}`,400);return A}function bh0(A){if(!A.name||A.name.trim()==="")throw new r("--name is required",400);if(!A.url||A.url.trim()==="")throw new r("--url is required",400);let x=lB0(A.event);return{name:A.name,url:A.url,...x!==void 0&&{events:x}}}function ih0(A){if(A.enable===!0&&A.disable===!0)throw new r("Use either --enable or --disable, not both",400);let x=lB0(A.event),E=A.enable===!0?"enabled":A.disable===!0?"disabled":void 0,D={...A.name!==void 0&&{name:A.name},...A.url!==void 0&&{url:A.url},...x!==void 0&&{events:x},...E!==void 0&&{status:E}};if(Object.keys(D).length===0)throw new r("Provide at least one of: --name, --url, --event, --enable, --disable",400);return D}function mB0(A){if(console.log(`- ${A.name} [${A.id}]`),console.log(` URL: ${A.url}`),console.log(` Status: ${A.status}`),console.log(` Events: ${A.events.join(", ")||"None"}`),A.consecutiveFailures>0)console.log(` Consecutive failures: ${A.consecutiveFailures}`);if(A.lastSuccessAt)console.log(` Last success: ${VA(A.lastSuccessAt)}`);if(A.lastFailureAt)console.log(` Last failure: ${VA(A.lastFailureAt)}`);console.log(` Created: ${VA(A.createdAt)}`)}function cB0(A){if(console.log(`- ${A.id} [${A.status}]`),console.log(` Event: ${A.eventType} (${A.eventId})`),console.log(` Attempts: ${A.attempts}`),A.lastStatusCode!==null)console.log(` Last status code: ${A.lastStatusCode}`);if(A.lastError)console.log(` Last error: ${A.lastError}`);if(A.lastAttemptAt)console.log(` Last attempt: ${VA(A.lastAttemptAt)}`);if(A.nextAttemptAt)console.log(` Next attempt: ${VA(A.nextAttemptAt)}`);console.log(` Created: ${VA(A.createdAt)}`)}async function Rg(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let B=await G0("GET","/api/v1/webhooks",void 0,x.company);if(x.json){Z0(B);return}console.log(`Webhooks (${B.webhooks.length})`);for(let g of B.webhooks)mB0(g);return}if(A==="create"){let B=await G0("POST","/api/v1/webhooks",bh0(x),x.company);if(x.json){Z0(B);return}let g=B.webhook;console.log(`Created webhook: ${g?.name??x.name}`),console.log(`ID: ${g?.id??"Unknown"}`),console.log(`URL: ${g?.url??x.url}`),console.log(`Status: ${g?.status??"enabled"}`),console.log(`Events: ${g?.events.join(", ")??"None"}`),console.log(""),console.log("Signing secret (shown only once - store it somewhere safe now):"),console.log(` ${g?.signingSecret??"Unavailable"}`);return}if(!x.id)throw new r("Webhook ID is required",400);let E=`/api/v1/webhooks/${encodeURIComponent(x.id)}`;if(A==="update"){let B=await G0("PATCH",E,ih0(x),x.company);if(x.json){Z0(B);return}if(console.log(`Updated webhook: ${B.webhook?.name??x.id}`),B.webhook)mB0(B.webhook);return}if(A==="delete"){if(!await N6(`Permanently delete webhook ${x.id} and its delivery history?`,x)){console.log("Aborted.");return}let B=await G0("DELETE",E,void 0,x.company);if(x.json){Z0(B);return}console.log(`Deleted webhook: ${x.id}`);return}if(A==="test"){let B=await G0("POST",`${E}/test`,void 0,x.company);if(x.json){Z0(B);return}console.log(`Queued test event for webhook: ${x.id}`),console.log(`Event ID: ${B.eventId}`),console.log(`Queued deliveries: ${B.queuedDeliveries}`);return}if(A==="deliveries"){let B=K8(x.limit,"--limit");if(B!==void 0&&(B<1||B>100))throw new r("--limit must be an integer between 1 and 100",400);let g=await G0("GET",`${E}/deliveries${B!==void 0?`?limit=${B}`:""}`,void 0,x.company);if(x.json){Z0(g);return}console.log(`Deliveries (${g.deliveries.length})`);for(let C of g.deliveries)cB0(C);return}if(!x.deliveryId)throw new r("Delivery ID is required",400);let D=await G0("POST",`${E}/deliveries/${encodeURIComponent(x.deliveryId)}/replay`,void 0,x.company);if(x.json){Z0(D);return}console.log(`Replay queued for delivery: ${x.deliveryId}`),cB0(D.delivery)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}async function TS(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="list"){let C=await G0("GET","/api/v1/websites",void 0,x.company);if(x.json){Z0(C);return}console.log(`Websites (${C.websites.length})`);for(let I of C.websites)console.log(`- ${I.domain}`),console.log(` Status: ${I.status}`),console.log(` Created: ${VA(I.createdAt)}`);return}if(A==="guide"){let C=await G0("POST","/api/v1/integration-guide",{framework:x.framework,use_case:x.useCase});if(x.json){Z0(C);return}if(console.log(`Integration guide: ${C.framework} / ${C.use_case}`),console.log(""),console.log(C.code),C.tip)console.log(""),console.log(`Tip: ${C.tip}`);return}if(!x.domain)throw new r("Domain is required",400);let E=A==="add"?"POST":"GET",D=A==="add"?"/api/v1/websites":`/api/v1/websites/${encodeURIComponent(x.domain)}`,B=A==="add"?{domain:x.domain}:void 0,g=await G0(E,D,B,x.company);if(x.json){Z0(g);return}if(console.log(g.website.domain),console.log(`Status: ${g.website.status}`),g.website.createdAt)console.log(`Created: ${VA(g.website.createdAt)}`);if(g.website.message)console.log(g.website.message);if(g.website.dnsRecords!==void 0)console.log("DNS Records:"),Z0(g.website.dnsRecords)}catch(E){e0(E instanceof r?E:E),process.exit(1)}}async function nB0(){if(!await cA()){e0(dA());return}let A=rH();console.log(`Email: ${A.userEmail??"Unknown"}`),console.log(`User ID: ${A.userId??"Unknown"}`),console.log(""),console.log("Your API key can access all companies you belong to."),console.log("Use `sequenzy account` to see available companies.")}async function pB0(A,x){if(!await cA())e0(dA()),process.exit(1);try{if(A==="preferences-token"){if(!x.email)throw new r("Email is required",400);let E=await G0("POST","/api/v1/widgets/preferences/token",{email:x.email},x.company);if(x.json){Z0(E);return}console.log(E.token)}}catch(E){e0(E instanceof r?E:E),process.exit(1)}}function rB0(A,x){if(x.length===0)return"";return`
|
|
418
418
|
${A}:
|
|
419
419
|
${x.map((E)=>` ${E}`).join(`
|
|
@@ -435,4 +435,4 @@ ${aB0}Quick Start${$6}
|
|
|
435
435
|
${J2}$${$6} sequenzy websites guide --framework nextjs --use-case transactional`,C=`
|
|
436
436
|
${aB0}Notes${$6}
|
|
437
437
|
${J2}Generated content should be reviewed before sending.${$6}
|
|
438
|
-
${J2}Use 'sequenzy --help' and '<command> --help' for detailed examples and caveats.${$6}`;console.log(E),console.log(D),console.log(),console.log(B),console.log(g),console.log(C),console.log()}var TE=new Pu;TE.name("sequenzy").description("Sequenzy CLI - Email marketing from the terminal").version(_B0).showHelpAfterError().showSuggestionAfterError().action(nh0);S0(TE,{notes:["Use --json on data commands when another tool or agent should parse structured output.","Dashboard-aware JSON responses include appUrls when a company ID can be resolved.","Company-scoped commands accept --company for personal API keys that can access multiple companies.","Content commands prefer file flags such as --html-file, --blocks-file, --steps-file, and --emails-file to avoid shell escaping issues.","Sequence creation supports --goal for AI generation or explicit step JSON."],examples:['sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy campaigns update camp_123 --subject "Updated subject" --html-file ./campaign.html',"sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json","sequenzy urls --company comp_123 --sequence seq_123 --settings-tab integrations","sequenzy websites guide --framework nextjs --use-case transactional",'sequenzy api-keys create --name "CI deploy key" --company comp_123']});var ph0=TE.command("login").description("Log in to your Sequenzy account").action(iA0);S0(ph0,{notes:["Starts device authentication and prints a verification URL plus approval code."],examples:["sequenzy login"]});var rh0=TE.command("logout").description("Log out of your Sequenzy account").action(hA0);S0(rh0,{examples:["sequenzy logout"]});var ah0=TE.command("whoami").description("Show the locally stored Sequenzy identity").action(nB0);S0(ah0,{notes:["This confirms local CLI auth state. Use 'sequenzy account' when you need company access details too."],examples:["sequenzy whoami"]});var _h0=TE.command("stats").description("Show account, campaign, or sequence metrics, including Poll/NPS").option("-p, --period <period>","Time period (7d, 30d, 90d)","7d").option("--campaign <id>","Get stats for a specific campaign").option("--sequence <id>","Get stats for a specific sequence").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON, including poll and NPS results").action(vB0);S0(_h0,{notes:["Use exactly one of: account-level period, --campaign, or --sequence.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement.","Sequence stats include per-step failures when the API reports them.","Campaign stats include a Poll & NPS Results section when the email collected answers; use --json for the full polls array."],examples:["sequenzy stats","sequenzy stats --period 30d","sequenzy stats --campaign camp_123","sequenzy stats --campaign camp_123 --json","sequenzy stats --campaign camp_123 --include-bots","sequenzy stats --sequence seq_123"]});var dh0=TE.command("events").description("List raw campaign or sequence email events").option("--campaign <id>","List events for a campaign").option("--sequence <id>","List events for a sequence").option("--type <type>","Single event type to include, such as delivery, open, or click").option("--event-types <types>","Comma-separated event types to include (default: delivery)").option("-p, --period <period>","Time period (1h, 24h, 7d, 30d, 90d)").option("--start <iso>","Start of custom time range (ISO 8601)").option("--end <iso>","End of custom time range (ISO 8601)").option("--page <number>","Page number").option("--limit <number>","Events per page, capped by the API").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID").option("--json","Print JSON").action(LA0);S0(dh0,{notes:["Use exactly one of --campaign or --sequence.","Defaults to delivery events. Use --event-types delivery,open,click when you need engagement events too.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy events --campaign camp_123","sequenzy events --sequence seq_123 --limit 100 --json","sequenzy events --campaign camp_123 --event-types delivery,click --period 30d"]});var oh0=TE.command("urls").description("Generate Sequenzy dashboard URLs for known resource IDs").option("-c, --company <id>","Company ID").option("--campaign <id>","Campaign ID for campaign editor URL").option("--landing-page <id>","Landing page ID for landing page editor URL").option("--sequence <id>","Sequence ID for sequence editor URL").option("--template <id>","Template/email ID for email editor URL").option("--email <id>","Email ID for email editor URL").option("--transactional <id>","Transactional email ID").option("--email-send <id>","Email send ID").option("--domain <id>","Sending domain ID").option("--status <status>","Status for campaign/sequence list URLs").option("--settings-tab <tab>","Settings tab slug, e.g. integrations").option("--json","Print JSON").action(Zp);S0(oh0,{notes:["Uses SEQUENZY_APP_URL when set, otherwise https://sequenzy.com.","If --company is omitted, the CLI tries the current company from `sequenzy account`.","Useful after creating a campaign or sequence when the user wants a review/edit link."],examples:["sequenzy urls --company comp_123","sequenzy urls --company comp_123 --sequence seq_123","sequenzy urls --company comp_123 --campaign camp_123","sequenzy urls --company comp_123 --landing-page lp_123","sequenzy urls --company comp_123 --email-send send_123","sequenzy urls --company comp_123 --settings-tab integrations","sequenzy urls --company comp_123 --json"]});var v1=TE.command("subscribers").description("Manage subscribers").action(()=>v1.help());S0(v1,{notes:["Subscriber list fetches every page by default so agents do not silently miss later results.","`subscribers get` includes tags, list memberships, sequence enrollments, email stats, and recent activity.","--attr expects repeated key=value pairs. Example: --attr firstName=Ana --attr plan=pro"],examples:["sequenzy subscribers list --tag vip",'sequenzy subscribers list --list "Master List" --json',"sequenzy subscribers list --tag vip --limit 25 --json","sequenzy subscribers add user@example.com --tag trial --attr firstName=Ana","sequenzy subscribers get user@example.com --json",'sequenzy subscribers notes add user@example.com --body "Customer prefers quarterly reports"',"sequenzy subscribers remove user@example.com --hard"]});var th0=v1.command("list").description("List subscribers").option("-s, --segment <id>","Filter by segment").option("-t, --tag <tag>","Filter by tag").option("--list <id-or-name>","Filter by subscriber list ID or exact name").option("-l, --limit <number>","Maximum results to return").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>G2("list",A));S0(th0,{examples:["sequenzy subscribers list",'sequenzy subscribers list --list "Master List"',"sequenzy subscribers list --segment seg_123","sequenzy subscribers list --tag onboarding --limit 100"]});var sh0=v1.command("add [email]").description("Add or upsert a subscriber").option("--external-id <id>","Customer-owned subscriber ID").option("--first-name <name>","Subscriber first name").option("--last-name <name>","Subscriber last name").option("-t, --tag <tags...>","Tags to apply").option("-l, --list <ids...>","List IDs to add the subscriber to").option("--no-lists","Add the subscriber to no lists").option("--skip-sequences","Do not enroll the subscriber in matching sequences").option("-a, --attr <attrs...>","Attributes (key=value)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("add",{email:A,...x,noLists:x.lists===!1}));S0(sh0,{examples:["sequenzy subscribers add user@example.com","sequenzy subscribers add user@example.com --first-name Ana --tag trial --attr plan=pro","sequenzy subscribers add user@example.com --list list_123","sequenzy subscribers add user@example.com --skip-sequences"]});var eh0=v1.command("get [email]").description("Get subscriber details").option("--external-id <id>","Customer-owned subscriber ID").option("--include-bots","Include machine-classified bot/scanner opens and clicks in stats/activity").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("get",{email:A,...x}));S0(eh0,{notes:["Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy subscribers get user@example.com","sequenzy subscribers get user@example.com --include-bots"]});var kS=v1.command("notes").description("Manage subscriber notes").action(()=>kS.help());S0(kS,{examples:["sequenzy subscribers notes list user@example.com",'sequenzy subscribers notes add user@example.com --body "Prefers monthly digest"',"sequenzy subscribers notes delete note_123"]});var Am0=kS.command("list [email]").description("List subscriber notes").option("--external-id <id>","Customer-owned subscriber ID").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:list",{email:A,...x}));S0(Am0,{examples:["sequenzy subscribers notes list user@example.com","sequenzy subscribers notes list --external-id user_123 --json"]});var xm0=kS.command("add [email]").description("Add a subscriber note").option("--external-id <id>","Customer-owned subscriber ID").requiredOption("-b, --body <body>","Note body").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:add",{email:A,...x}));S0(xm0,{examples:['sequenzy subscribers notes add user@example.com --body "Asked about enterprise plan"','sequenzy subscribers notes add --external-id user_123 --body "Imported from sales call"']});var Em0=kS.command("delete <noteId>").description("Delete a subscriber note").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:delete",{noteId:A,...x}));S0(Em0,{examples:["sequenzy subscribers notes delete note_123"]});var Bm0=v1.command("update [email]").description("Update subscriber status, tags, or custom attributes").option("--external-id <id>","Customer-owned subscriber ID").option("--status <status>","Subscriber status").option("-t, --tag <tags...>","Replacement tags").option("-a, --attr <attrs...>","Attributes (key=value)").option("--merge","Merge custom attributes instead of replacing them").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("update",{email:A,...x}));S0(Bm0,{examples:["sequenzy subscribers update user@example.com --status unsubscribed","sequenzy subscribers update user@example.com --tag churned --attr cancelReason=too_expensive","sequenzy subscribers update user@example.com --attr plan=pro --merge"]});var Dm0=v1.command("event [email]").description("Trigger an event for a subscriber").option("--external-id <id>","Customer-owned subscriber ID").requiredOption("-n, --name <event>","Event name").option("-p, --property <properties...>","Event properties (key=value)").option("-a, --attr <attrs...>","Subscriber attributes (key=value)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("event",{email:A,...x}));S0(Dm0,{examples:["sequenzy subscribers event user@example.com --name saas.purchase","sequenzy subscribers event user@example.com --name saas.purchase --property plan=pro --property amount=99"]});var gm0=v1.command("remove [email]").description("Unsubscribe or permanently delete a subscriber").option("--external-id <id>","Customer-owned subscriber ID").option("--hard","Permanently delete (not just unsubscribe)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("remove",{email:A,...x}));S0(gm0,{examples:["sequenzy subscribers remove user@example.com","sequenzy subscribers remove user@example.com --hard"]});var uS=TE.command("transactional").description("Inspect transactional email templates").action(()=>uS.help());S0(uS,{notes:["Use the top-level `sequenzy send` command to send email."],examples:["sequenzy transactional list","sequenzy transactional get welcome","sequenzy send user@example.com --template welcome --var firstName=Ana"]});var Cm0=uS.command("list").description("List transactional templates").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>AX("list",A));S0(Cm0,{examples:["sequenzy transactional list --company comp_123"]});var Fm0=uS.command("get <slug>").description("Get transactional template details by slug").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>AX("get",{slug:A,...x}));S0(Fm0,{examples:["sequenzy transactional get welcome"]});var Qm0=uS.command("create <name>").description("Create a transactional template").option("--slug <slug>","API slug").option("-s, --subject <subject>","Subject (optional with --prompt)").option("--preview-text <text>","Preview text override").option("--prompt <prompt>","Generate branded transactional blocks").option("--style <style>","Prompt generation style").option("--tone <tone>","Prompt generation tone").option("--html <html>","Preserved HTML content").option("--html-file <file>","Read preserved HTML from file").option("--blocks-json <json>","Finished Sequenzy blocks JSON").option("--blocks-file <file>","Read finished Sequenzy blocks from file").option("--enabled","Enable immediately (prompt creates default disabled)").option("--no-enabled","Create the transactional template disabled").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>AX("create",{name:A,...x}));S0(Qm0,{notes:["Provide exactly one of prompt, HTML, or blocks.",xX],examples:['sequenzy transactional create password-reset --prompt "Write a password reset email"']});var pT=TE.command("widgets").description("Widget helper commands").action(()=>pT.help());S0(pT,{examples:["sequenzy widgets preferences-token user@example.com"]});var Im0=pT.command("preferences-token <email>").description("Generate a subscription preferences iframe token").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>pB0("preferences-token",{email:A,...x}));S0(Im0,{examples:["sequenzy widgets preferences-token user@example.com"]});var rT=TE.command("email-sends").alias("emailsends").description("Inspect sent email snapshots and delivery events").action(()=>rT.help());S0(rT,{notes:["Email send rows are short-lived; if the row was cleaned up, this falls back to retained ClickHouse events.","Use --html to print the stored HTML body when it is still available."],examples:["sequenzy email-sends get send_123","sequenzy email-sends get send_123 --html","sequenzy email-sends get send_123 --json"]});var ym0=rT.command("get <emailSendId>").description("Get an email send by ID").option("-c, --company <id>","Company ID override for personal API keys").option("--html","Print the full stored HTML body in text output").option("--html-only","Print only the stored HTML body").option("--json","Print raw JSON").action((A,x)=>MA0("get",{id:A,...x}));S0(ym0,{examples:["sequenzy email-sends get send_123","sequenzy email-sends get send_123 --html","sequenzy email-sends get send_123 --company comp_123 --json"]});var wm0=TE.command("send <email>").description("Send a transactional email").option("-t, --template <slug>","Transactional template slug to use").option("-s, --subject <subject>","Email subject").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--vars-json <json>","Variables as a JSON object, including nested arrays for repeat blocks").option("-v, --var <vars...>","Variables (key=value)").action(RB0);S0(wm0,{notes:["Use either --template or --html/--html-file.","--subject is required when sending raw HTML.","--vars-json accepts nested objects and arrays; --var overrides individual scalar keys."],examples:["sequenzy send user@example.com --template welcome --var firstName=Ana",`sequenzy send user@example.com --template welcome --vars-json '{"event":{"items":[{"title":"Plan","description":"Pro"}]}}'`,'sequenzy send user@example.com --subject "Welcome" --html-file ./welcome.html']});var F5=TE.command("campaigns").description("Manage campaigns").action(()=>F5.help());S0(F5,{notes:["Campaign creation supports HTML, Sequenzy blocks, or prompt-generated content.","Campaign updates support HTML, Sequenzy blocks, subject, name, labels, and reply-to changes.","Campaign scheduling requires a future ISO timestamp and a verified sending domain.","Use cancel to stop a scheduled or sending campaign, and pause/resume to control an active send.",xX],examples:["sequenzy campaigns list --status draft --company comp_123",'sequenzy campaigns create "April Launch" --subject "We shipped" --html-file ./campaign.html','sequenzy campaigns create "API Launch" --subject "We shipped" --label edm api --html-file ./campaign.html','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z"',"sequenzy campaigns test camp_123 --to you@example.com","sequenzy campaigns cancel camp_123","sequenzy campaigns duplicate camp_123 --mode ab_test"]});var $m0=F5.command("list").description("List campaigns").option("-s, --status <status>","Filter by status").option("--label <labels...>","Filter by label name").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>z5("list",A));S0($m0,{examples:["sequenzy campaigns list","sequenzy campaigns list --status draft --company comp_123","sequenzy campaigns list --label edm"]});var fm0=F5.command("get <id>").description("Get campaign details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("get",{id:A,...x}));S0(fm0,{examples:["sequenzy campaigns get camp_123 --company comp_123"]});var Sm0=F5.command("create <name>").description("Create a campaign").option("-s, --subject <subject>","Email subject").option("--preview-text <text>","Inbox preview text").option("--preheader-text <text>","Alias for --preview-text").option("--tracking-code <code>","Optional campaign tracking code").option("--status <status>","Initial status: draft or sent").option("--sent-at <iso-date>","Sent timestamp when creating with --status sent").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--prompt <prompt>","Generate campaign blocks from a prompt").option("--style <style>","Prompt generation style: minimal, branded, promotional").option("--tone <tone>","Prompt generation tone: professional, casual, friendly").option("--label <labels...>","Label names to assign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("create",{name:A,...x}));S0(Sm0,{notes:["--subject is required unless --prompt is provided. With --prompt, the generated subject is used unless --subject is also provided.","Use --preview-text or --preheader-text to set the inbox preview text. With --prompt, the generated preview is used unless one of these flags is provided.","Use --blocks-json or --blocks-file when you need editor-compatible blocks, including conditional content and per-block styles.","Use --status sent only to archive an already-sent campaign; it does not send email or create per-recipient delivery history.","Do not combine prompt, HTML flags, and blocks flags in the same request."],examples:['sequenzy campaigns create "April Launch" --prompt "Announce our new analytics dashboard"','sequenzy campaigns create "April Launch" --subject "We shipped" --preheader-text "Your quick product update" --html-file ./campaign.html','sequenzy campaigns create "Imported launch" --subject "We shipped" --status sent --sent-at "2026-05-01T14:00:00Z" --html-file ./campaign.html','sequenzy campaigns create "API Launch" --subject "We shipped" --label edm api --html-file ./campaign.html','sequenzy campaigns create "Segmented Launch" --subject "We shipped" --blocks-file ./campaign-blocks.json']});var Gm0=F5.command("update <id>").description("Update a draft campaign").option("-n, --name <name>","Campaign name").option("-s, --subject <subject>","Email subject").option("--preview-text <text>","Inbox preview text").option("--preheader-text <text>","Alias for --preview-text").option("--tracking-code <code>","Optional campaign tracking code").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--campaign-data-json <json>","Inline campaignData JSON object").option("--campaign-data-file <file>","Path to a JSON file with campaignData").option("--computed-lists-json <json>","Inline computedLists JSON array").option("--computed-lists-file <file>","Path to a JSON file with computedLists").option("--reply-to <email>","Set reply-to using an existing reply profile email").option("--reply-profile <id>","Set reply-to using a reply profile ID").option("--label <labels...>","Replace label names").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("update",{id:A,...x}));S0(Gm0,{notes:["Provide at least one update flag, including subject, preview text, content, labels, reply-to, campaign data, or computed lists.","Use --blocks-json or --blocks-file when you need editor-compatible blocks, including conditional content and per-block styles.","Use --campaign-data-file and --computed-lists-file to upload personalization data for repeat blocks.","Do not combine HTML flags with blocks flags in the same request.","Use either --reply-to or --reply-profile, not both."],examples:['sequenzy campaigns update camp_123 --subject "Updated subject"','sequenzy campaigns update camp_123 --preheader-text "Updated preview"',"sequenzy campaigns update camp_123 --html-file ./campaign-v2.html","sequenzy campaigns update camp_123 --blocks-file ./campaign-v2-blocks.json","sequenzy campaigns update camp_123 --campaign-data-file ./campaign-data.json --computed-lists-file ./computed-lists.json","sequenzy campaigns update camp_123 --reply-to support@example.com","sequenzy campaigns update camp_123 --label edm api"]});var Jm0=F5.command("schedule <id>").description("Schedule a draft or scheduled campaign").requiredOption("--at <datetime>","Future ISO date/time to send, for example 2026-06-01T14:00:00Z").option("--target-lists-json <json>","Inline campaign targetLists JSON object").option("--target-lists-file <file>","Path to a JSON file with campaign targetLists").option("--send-time-optimization","Enable send-time optimization for the scheduled send").option("--spread-over-hours <hours>","Spread delivery over 1-72 hours. Disables send-time optimization when set.").option("--repeat <interval>","Repeat the campaign weekly or monthly starting at --at. Audience membership is re-evaluated at every run.").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("schedule",{id:A,...x}));S0(Jm0,{notes:["The campaign must be draft or already scheduled.","Omit target lists to reuse saved campaign targeting, or default to all active subscribers.",'Target list examples include {"type":"all"}, {"type":"lists","listIds":["list_123"]}, and {"type":"segment","segmentId":"seg_123"}.',"With --repeat, the campaign becomes a recurring template: each run is duplicated and sent automatically. Re-schedule without --repeat (or cancel the campaign) to stop the series."],examples:['sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z"',`sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --target-lists-json '{"type":"all"}'`,'sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --target-lists-file ./target-lists.json','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --spread-over-hours 6','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --repeat monthly']});var Hm0=F5.command("test <id>").description("Send a test email for a campaign").requiredOption("--to <email>","Recipient email for the test").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("test",{id:A,...x}));S0(Hm0,{examples:["sequenzy campaigns test camp_123 --to you@example.com"]});var Km0=F5.command("cancel <id>").description("Cancel a scheduled, paused, or sending campaign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("cancel",{id:A,...x}));S0(Km0,{notes:["Cancelling stops scheduled, paused, waiting-approval, and actively sending campaigns immediately.","No confirmation prompt is shown so a bad send can be stopped fast."],examples:["sequenzy campaigns cancel camp_123"]});var Ym0=F5.command("pause <id>").description("Pause a campaign that is currently sending").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("pause",{id:A,...x}));S0(Ym0,{notes:["Only campaigns in sending status can be paused."],examples:["sequenzy campaigns pause camp_123"]});var Um0=F5.command("resume <id>").description("Resume a paused campaign").option("--spread-over-hours <hours>","Spread the remaining delivery over 1-72 hours").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("resume",{id:A,...x}));S0(Um0,{notes:["Only paused campaigns can be resumed."],examples:["sequenzy campaigns resume camp_123","sequenzy campaigns resume camp_123 --spread-over-hours 6"]});var qm0=F5.command("delete <id>").description("Delete a campaign").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("delete",{id:A,...x}));S0(qm0,{notes:["Sending, scheduled, and paused campaigns must be cancelled before they can be deleted."],examples:["sequenzy campaigns delete camp_123 --yes"]});var Xm0=F5.command("duplicate <id>").description("Duplicate a campaign as a new draft").option("--mode <mode>","Duplicate mode: campaign, ab_test, or variant","campaign").option("--variant-id <id>","A/B test variant to copy when --mode is variant").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("duplicate",{id:A,...x}));S0(Xm0,{notes:["Mode campaign copies the campaign email, ab_test also copies the A/B test with all variants, and variant copies one variant's content as a plain campaign."],examples:["sequenzy campaigns duplicate camp_123","sequenzy campaigns duplicate camp_123 --mode ab_test","sequenzy campaigns duplicate camp_123 --mode variant --variant-id var_b"]});var Zm0=F5.command("resend-to-non-openers <id>").description("Create a draft resend to subscribers who didn't open a sent campaign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("resend-to-non-openers",{id:A,...x}));S0(Zm0,{notes:["Only available 6 hours after a sent campaign finishes sending.",`Creates a draft targeting the same audience plus a "didn't open this campaign" rule. Review the draft, then schedule or send it.`,"The response includes an estimate of how many subscribers haven't opened the original."],examples:["sequenzy campaigns resend-to-non-openers camp_123"]});var y7=TE.command("landing-pages").description("Manage landing pages").action(()=>y7.help());S0(y7,{notes:["Landing pages are created as drafts. Publish only after reviewing the page.","Use --content-json or --content-file for full editor-compatible landing page content.","Custom domains require a CNAME record pointing to pages.sequenzydns.com."],examples:["sequenzy landing-pages list --company comp_123",'sequenzy landing-pages create "Product Waitlist" --template waitlist',"sequenzy landing-pages publish lp_123","sequenzy landing-pages connect-domain pages.example.com"]});var Mm0=y7.command("list").description("List landing pages").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>y2("list",A));S0(Mm0,{examples:["sequenzy landing-pages list --company comp_123"]});var Wm0=y7.command("get <id>").description("Get landing page details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("get",{id:A,...x}));S0(Wm0,{examples:["sequenzy landing-pages get lp_123 --company comp_123"]});var Rm0=y7.command("create [name]").description("Create a draft landing page").option("--slug <slug>","Landing page URL slug").option("--template <template>","Template key, e.g. waitlist").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("create",{name:A,...x}));S0(Rm0,{notes:["When --content-json/--content-file is omitted, a valid default page is generated from --template."],examples:['sequenzy landing-pages create "Product Waitlist" --template waitlist','sequenzy landing-pages create "Launch Page" --slug launch --content-file ./landing-page.json']});var Lm0=y7.command("update <id>").description("Edit a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("update",{id:A,...x}));S0(Lm0,{examples:['sequenzy landing-pages update lp_123 --name "Updated page"',"sequenzy landing-pages update lp_123 --content-file ./landing-page.json"]});var jm0=y7.command("publish <id>").description("Publish a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("publish",{id:A,...x}));S0(jm0,{examples:["sequenzy landing-pages publish lp_123"]});var zm0=y7.command("unpublish <id>").description("Unpublish a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("unpublish",{id:A,...x}));S0(zm0,{examples:["sequenzy landing-pages unpublish lp_123"]});var Nm0=y7.command("delete <id>").description("Delete a landing page").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("delete",{id:A,...x}));S0(Nm0,{examples:["sequenzy landing-pages delete lp_123"]});var Om0=y7.command("connect-domain <domain>").description("Connect a custom landing page domain").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("connect-domain",{domain:A,...x}));S0(Om0,{examples:["sequenzy landing-pages connect-domain pages.example.com --company comp_123"]});var Pm0=y7.command("update-domain-settings").description("Update or verify landing page domain settings").option("--domain <domain>","Replace the connected landing page domain").option("--verify","Refresh domain verification state").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>y2("update-domain-settings",A));S0(Pm0,{examples:["sequenzy landing-pages update-domain-settings --domain pages.example.com","sequenzy landing-pages update-domain-settings --verify"]});var i5=TE.command("sequences").description("Manage email sequences").action(()=>i5.help());S0(i5,{notes:["The CLI supports both AI goal-based sequence creation and explicit-step creation.","Trigger-specific options depend on --trigger. For example: contact_added needs --list-id, tag_added needs --tag-name, inactivity needs --event-name and --inactive-days.","Use --goal for AI generation, or --steps-file / --emails-file with JSON arrays that match the API step objects.","Use --enrollment-mode matching_field for product- or variant-specific event sequences.",'Explicit --steps-file input can include dynamic Stripe or Shopify discount actions with {"type":"create_discount","discount":{"provider":"stripe","discountType":"percent","percentOff":20,"duration":"once","appliesToAllPlans":true}}; the code is created when each subscriber reaches the step, and later emails can use {{discount.code}}.',"Discount action sequences require the selected provider integration, such as Stripe or Shopify, before enabling.",xX],examples:["sequenzy sequences list --company comp_123",'sequenzy sequences create onboarding --trigger event_received --event-name signup.completed --goal "Guide new users to activation"',"sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json","sequenzy sequences update seq_123 --steps-file ./sequence-updates.json","sequenzy sequences enable seq_123"]});var Vm0=i5.command("list").description("List sequences").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>M4("list",A));S0(Vm0,{examples:["sequenzy sequences list --company comp_123"]});var vm0=i5.command("get <id>").description("Get sequence details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("get",{id:A,...x}));S0(vm0,{examples:["sequenzy sequences get seq_123 --company comp_123"]});var Tm0=i5.command("create <name>").description("Create a sequence from AI goal input or explicit step content").requiredOption("-t, --trigger <trigger>","Sequence trigger type").option("-g, --goal <goal>","AI generation goal for the sequence").option("--email-count <count>","Number of AI-generated emails when using --goal (1-10)").option("--duration-days <days>","Total duration in days for AI-generated sequence delays when using --goal").option("--enrollment-mode <mode>","Enrollment mode: unlimited, one_time, or matching_field").option("--enrollment-field-path <path>","Event property dot path used by matching_field enrollment").option("--sending-window-start <time>","Earliest local send time for sequence emails (HH:mm, e.g. 08:00)").option("--sending-window-end <time>","Latest local send cutoff for sequence emails (HH:mm, e.g. 20:00)").option("--sending-window-timezone <timezone>","IANA timezone for the sequence sending window, e.g. Europe/Kiev").option("--sending-window-days <days>","Comma-separated days for sequence sends, e.g. weekdays or mon,tue,wed,thu,fri").option("--list-id <id>","List ID for contact_added triggers").option("--tag-name <name>","Tag name for tag_added triggers").option("--segment-id <id>","Segment ID for segment_entered triggers").option("--event-name <name>","Event name for event_received, inactivity, and frequency triggers").option("--property-filters-json <json>","Inline JSON array of event property filters for event_received triggers").option("--property-filters-file <file>","Path to a JSON file with event property filters").option("--inactive-days <days>","Days of inactivity for inactivity triggers").option("--min-count <count>","Minimum event count for frequency triggers").option("--time-window-days <days>","Time window for frequency triggers").option("--steps-json <json>","Inline JSON array of sequence steps").option("--steps-file <file>","Path to a JSON file with sequence steps").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("create",{name:A,...x}));S0(Tm0,{notes:["Provide either --goal for AI generation or --steps-json/--steps-file for explicit content, but not both.","Each explicit email step needs subject plus either html or blocks. Discount action steps use type=create_discount to dynamically create a code before an email that references {{discount.code}}.",'SMS steps use type="sms" with a plain-text "text" field (optional label, ineligibleAction skip|exit, imageUrls). Generate copy with `sequenzy generate sms` and check `sequenzy sms settings` first.','Update Subscriber steps use type="update_subscriber", nodeType="action_update_attributes", and config values such as {{event.plan}}, {{event.amount}}, or {{event.active}}.',"For migrated provider flows, put the exact provider HTML in each step's html field; Sequenzy stores it as raw HTML. Use delay or delayMs for waits.","Prefer --steps-file for anything non-trivial. The CLI passes the JSON through to the API.","Shopify replenishment and back-in-stock event sequences default to matching_field.","Use --enrollment-field-path for custom event keys such as order.id or product.providerVariantId.","Use --property-filters-json/--property-filters-file with event_received triggers to only start the sequence when the event properties match, e.g. scope a purchase sequence to one product.","Use --sending-window-start/--sending-window-end/--sending-window-timezone to hold every email step until the allowed local send window. Add --sending-window-days weekdays for working days only.","Discount action sequences require the selected provider integration, such as Stripe or Shopify, before enabling."],examples:['sequenzy sequences create onboarding --trigger event_received --event-name signup.completed --goal "Guide new users to activation" --email-count 4 --duration-days 10','sequenzy sequences create trial --trigger tag_added --tag-name trial --goal "Convert trial users" --sending-window-start 08:00 --sending-window-end 20:00 --sending-window-timezone Europe/Kiev --sending-window-days weekdays',"sequenzy sequences create restock --trigger event_received --event-name ecommerce.back_in_stock --enrollment-mode matching_field --steps-file ./steps.json",`sequenzy sequences create deliver-ebook --trigger event_received --event-name ecommerce.order_placed --property-filters-json '[{"path":"lineItems[].providerProductId","operator":"equals","value":"prod_123"}]' --steps-file ./steps.json`,"sequenzy sequences create post-purchase --trigger event_received --event-name ecommerce.order_placed --enrollment-mode matching_field --enrollment-field-path order.id --steps-file ./steps.json","sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json",`sequenzy sequences create purchase-profile --trigger event_received --event-name saas.purchase --steps-json '[{"type":"update_subscriber","nodeType":"action_update_attributes","config":{"customAttributeUpdates":[{"name":"plan","value":"{{event.plan}}","valueType":"text"}]}},{"subject":"Thanks","html":"<p>Purchase received.</p>"}]'`,"sequenzy sequences create rescue --trigger inactivity --event-name login --inactive-days 14 --steps-file ./steps.json"]});var km0=i5.command("update <id>").description("Update sequence metadata, email step content, stop conditions, or paths").option("-n, --name <name>","Sequence name").option("--enrollment-mode <mode>","Enrollment mode: unlimited, one_time, or matching_field").option("--enrollment-field-path <path>","Event property dot path used by matching_field enrollment").option("--pause-new-enrollments","Stop new sequence enrollments while current recipients continue").option("--resume-new-enrollments","Resume new sequence enrollments while current recipients continue").option("--sending-window-start <time>","Earliest local send time for sequence emails (HH:mm, e.g. 08:00)").option("--sending-window-end <time>","Latest local send cutoff for sequence emails (HH:mm, e.g. 20:00)").option("--sending-window-timezone <timezone>","IANA timezone for the sequence sending window, e.g. Europe/Kiev").option("--sending-window-days <days>","Comma-separated days for sequence sends, e.g. weekdays or mon,tue,wed,thu,fri").option("--clear-sending-window","Disable the sequence sending window").option("--bcc-emails <emails>","Comma-separated BCC addresses copied on every email this sequence sends, e.g. a support inbox (max 10)").option("--clear-bcc-emails","Remove the sequence BCC addresses").option("--confirm-structural-change","Confirm an insertSteps or branch structural edit to an active sequence").option("--steps-json <json>","Inline JSON array of step updates").option("--steps-file <file>","Path to a JSON file with step updates").option("--emails-json <json>","Inline JSON array of email updates").option("--emails-file <file>","Path to a JSON file with email updates").option("--sms-steps-json <json>","Inline JSON array of SMS step content updates (targeted by nodeId)").option("--sms-steps-file <file>","Path to a JSON file with SMS step content updates").option("--subscriber-update-steps-json <json>","Inline JSON array of Update Subscriber configs targeted by nodeId").option("--subscriber-update-steps-file <file>","Path to a JSON file with Update Subscriber configs targeted by nodeId").option("--branch-json <json>","Inline JSON object for inserting an if/else branch with path steps").option("--branch-file <file>","Path to a JSON file for inserting an if/else branch with path steps").option("--insert-steps-json <json>","Inline JSON object for inserting new linear steps").option("--insert-steps-file <file>","Path to a JSON file for inserting new linear steps").option("--stop-condition-json <json>","Inline JSON object for updating the sequence stop condition").option("--stop-condition-file <file>","Path to a JSON file for updating the sequence stop condition").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("update",{id:A,...x}));S0(km0,{notes:["Use either the steps form or the emails form, not both.","Each update entry can target a step by nodeId, emailId, or by array order.","Use --insert-steps-json/--insert-steps-file to add new linear steps; use --steps-* or --emails-* to edit existing email steps.",'Inserted steps can be SMS steps: {"type":"sms","text":"...","delay":{"days":1}}. Generate copy with `sequenzy generate sms`.','Edit existing SMS steps with --sms-steps-json/--sms-steps-file: [{"nodeId":"node_sms","text":"New message"}]. Entries may also update label and ineligibleAction.','Edit existing Update Subscriber steps with --subscriber-update-steps-json/--subscriber-update-steps-file: [{"nodeId":"node_update","config":{"customAttributeUpdates":[{"name":"plan","value":"{{event.plan}}","valueType":"text"}]}}].',"For migrated provider flow steps, use html/htmlContent to preserve exact HTML as raw HTML and use delay or delayMs for waits.","When inserting steps or branches into an active sequence, pass --confirm-structural-change after confirming the live-flow impact.",'Use --stop-condition-json/--stop-condition-file with values like {"type":"has_tag","value":"customer"}; use {"type":"none","value":null} to clear it.',"Branch condition types include has_tag, does_not_have_tag, in_list, in_segment, event_received, link_clicked, and field_* comparisons. Use activityScope (this_sequence, previous_email, ever) for event and click checks.","Use --clear-sending-window to remove a configured send window.","Use --bcc-emails with a comma-separated list to blind-copy team inboxes on every sequence email; use --clear-bcc-emails to remove them."],examples:['sequenzy sequences update seq_123 --name "User Onboarding"',"sequenzy sequences update seq_123 --pause-new-enrollments","sequenzy sequences update seq_123 --resume-new-enrollments","sequenzy sequences update seq_123 --enrollment-mode matching_field","sequenzy sequences update seq_123 --enrollment-field-path order.id","sequenzy sequences update seq_123 --sending-window-start 08:00 --sending-window-end 20:00 --sending-window-timezone Europe/Kiev --sending-window-days weekdays","sequenzy sequences update seq_123 --clear-sending-window",'sequenzy sequences update seq_123 --bcc-emails "cs-team@yourcompany.com, founder@yourcompany.com"',"sequenzy sequences update seq_123 --clear-bcc-emails","sequenzy sequences update seq_123 --steps-file ./sequence-updates.json",`sequenzy sequences update seq_123 --stop-condition-json '{"type":"has_tag","value":"customer"}'`,`sequenzy sequences update seq_123 --insert-steps-json '{"afterNodeId":"node_email","steps":[{"delay":{"days":1},"subject":"Migration check-in","html":"<p>Need help migrating?</p>"}]}' --confirm-structural-change`,`sequenzy sequences update seq_123 --branch-json '{"afterNodeId":"node_email","branches":[{"conditionType":"link_clicked","linkUrl":"project-invites","activityScope":"previous_email","steps":[{"subject":"Invite accepted","html":"<p>Thanks for accepting.</p>"}]}],"elseSteps":[{"subject":"Reminder","html":"<p>Please accept your invite.</p>"}]}'`,"sequenzy sequences update seq_123 --branch-file ./branch.json",`sequenzy sequences update seq_123 --sms-steps-json '[{"nodeId":"node_sms","text":"Hey {{FIRST_NAME}}, your order shipped!"}]'`,`sequenzy sequences update seq_123 --subscriber-update-steps-json '[{"nodeId":"node_update","config":{"customAttributeUpdates":[{"name":"mrr","value":"{{event.amount}}","valueType":"number"}]}}]'`]});var um0=i5.command("enable <id>").description("Enable a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("enable",{id:A,...x}));S0(um0,{examples:["sequenzy sequences enable seq_123"]});var bm0=i5.command("disable <id>").description("Disable a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("disable",{id:A,...x}));S0(bm0,{examples:["sequenzy sequences disable seq_123"]});var im0=i5.command("pause-enrollments <id>").description("Stop new enrollments while current sequence recipients continue").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("pause-enrollments",{id:A,...x}));S0(im0,{notes:["The sequence must already be active. Existing active and waiting recipients keep moving through the sequence.","Use sequences disable when you want to freeze current recipients too."],examples:["sequenzy sequences pause-enrollments seq_123"]});var hm0=i5.command("resume-enrollments <id>").description("Resume new enrollments for an active sequence without changing current recipients").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("resume-enrollments",{id:A,...x}));S0(hm0,{notes:["The sequence must already be active. Use sequences enable to resume a fully disabled sequence."],examples:["sequenzy sequences resume-enrollments seq_123"]});var mm0=i5.command("enroll <id>").description("Manually enroll subscribers in a sequence").option("-e, --email <emails...>","Email addresses to enroll").option("--subscriber-ids <ids...>","Subscriber IDs to enroll").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--target-node-id <nodeId>","Sequence node to enroll at; defaults to the first step after the trigger").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("enroll",{id:A,...x}));S0(mm0,{notes:["Provide at least one target using --subscriber-ids or exactly one email source: --email, --emails-json, or --emails-file.","Subscribers must be active; unknown emails are reported as not found and inactive, unavailable, or already enrolled subscribers are skipped.","Enrollment requires the sequence to be accepting entrants (enabled and not paused for enrollment)."],examples:["sequenzy sequences enroll seq_123 --email one@example.com two@example.com","sequenzy sequences enroll seq_123 --subscriber-ids sub_123 sub_456 --target-node-id node_email_2","sequenzy sequences enroll seq_123 --emails-file ./vips.csv","sequenzy sequences enroll seq_123 --email one@example.com --target-node-id node_email_2"]});var cm0=i5.command("cancel-enrollments <id>").description("Cancel active or waiting subscriber enrollments in a sequence").option("--subscriber-id <id>","Cancel enrollments for one subscriber ID").option("--field-path <path>","Entry event property dot path to match, such as order.id").option("--field-values <values>","Comma-separated entry field values to match").option("--reason <reason>","Reason stored on cancelled enrollments").option("--apply","Actually cancel matches; otherwise only dry-run").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("cancel-enrollments",{id:A,...x}));S0(cm0,{notes:["sequenceId is always required. Provide exactly one target: --subscriber-id or --field-values.","Without --apply, this command only reports matching enrollments.","When --field-path is omitted, the API uses the sequence enrollmentFieldPath if configured."],examples:["sequenzy sequences cancel-enrollments seq_123 --subscriber-id sub_123 --apply","sequenzy sequences cancel-enrollments seq_123 --field-path order.id --field-values ord_123,ord_456"]});var lm0=i5.command("delete <id>").description("Delete a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("delete",{id:A,...x}));S0(lm0,{examples:["sequenzy sequences delete seq_123"]});var w7=TE.command("ab-tests").description("Inspect and edit A/B test variants").action(()=>w7.help());S0(w7,{notes:["Use get to discover variant IDs, then update-variant to edit a specific A/B variant.","Only draft A/B tests can be edited.","create, add-variant, delete-variant, and delete work on campaign A/B tests."],examples:["sequenzy ab-tests list --sequence seq_123","sequenzy ab-tests get ab_123","sequenzy ab-tests stats ab_123 --period 7d","sequenzy ab-tests create camp_123 --test-percentage 20 --winner-criteria open_rate",'sequenzy ab-tests add-variant ab_123 --subject "Alternative subject"',"sequenzy ab-tests restart ab_123 --source-variant var_b",'sequenzy ab-tests update-variant ab_123 var_b --subject "New subject"',"sequenzy ab-tests update-variant ab_123 var_b --blocks-file ./variant-b.json"]});var nm0=w7.command("list").description("List A/B tests").option("--sequence <id>","Filter by sequence ID").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>a7("list",A));S0(nm0,{examples:["sequenzy ab-tests list --sequence seq_123"]});var pm0=w7.command("get <id>").description("Get A/B test details and variants").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("get",{id:A,...x}));S0(pm0,{examples:["sequenzy ab-tests get ab_123"]});var rm0=w7.command("stats <id>").description("Get A/B test variant stats").option("-p, --period <period>","Time period (1h, 24h, 7d, 30d, 90d)").option("--start <iso>","Custom range start as ISO 8601").option("--end <iso>","Custom range end as ISO 8601").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("stats",{id:A,...x}));S0(rm0,{notes:["Use --period or both --start and --end. Custom ranges max at 90 days.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy ab-tests stats ab_123","sequenzy ab-tests stats ab_123 --period 30d","sequenzy ab-tests stats ab_123 --include-bots"]});var am0=w7.command("restart <id>").description("Run another sequence A/B test from an existing variant").option("--source-variant <id>","Variant to use as the new control. Defaults to the selected winner.").option("--test-type <type>","Test type for generated variants: subject or content").option("--winner-threshold <count>","Subscribers before selecting a winner (10-1000)").option("--variant-count <count>","Total variants including control (2-4)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("restart",{id:A,...x}));S0(am0,{notes:["Only sequence A/B tests with a selected winner can be restarted.","Run `sequenzy ab-tests get <id>` first to find variant IDs."],examples:["sequenzy ab-tests restart ab_123","sequenzy ab-tests restart ab_123 --source-variant var_b --test-type content --variant-count 3"]});var _m0=w7.command("update-variant <id> <variantId>").description("Update a draft A/B test variant").option("-s, --subject <subject>","Variant subject").option("--preview-text <text>","Variant preview text").option("--html <html>","Replacement HTML body").option("--html-file <file>","Read replacement HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>a7("update-variant",{id:A,variantId:x,...E}));S0(_m0,{notes:["Provide either HTML or blocks, not both.","Run `sequenzy ab-tests get <id>` first to find variant IDs."],examples:['sequenzy ab-tests update-variant ab_123 var_b --subject "New subject"',"sequenzy ab-tests update-variant ab_123 var_b --html-file ./variant-b.html"]});var dm0=w7.command("create <campaignId>").description("Create an A/B test for a draft campaign").option("-n, --name <name>","A/B test name").option("--test-percentage <percent>","Share of the audience used for testing (5-50, default 20)").option("--duration-minutes <minutes>","Test duration before a winner is selected (15-1440, default 240)").option("--winner-criteria <criteria>","Winner criteria: open_rate or click_rate (default open_rate)").option("--variants-json <json>","Inline JSON array of extra variants ({subject, previewText?, blocks?})").option("--variants-file <file>","Path to a JSON file with extra variants ({subject, previewText?, blocks?})").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("create",{campaignId:A,...x}));S0(dm0,{notes:["The campaign must be in draft or rejected status and must not already have an A/B test.","Variant A is created automatically from the campaign email; provided variants are added after it."],examples:["sequenzy ab-tests create camp_123","sequenzy ab-tests create camp_123 --test-percentage 30 --duration-minutes 120 --winner-criteria click_rate",`sequenzy ab-tests create camp_123 --variants-json '[{"subject":"Alternative subject"}]'`]});var om0=w7.command("add-variant <id>").description("Add a variant to a draft campaign A/B test").requiredOption("-s, --subject <subject>","Variant subject").option("--preview-text <text>","Variant preview text").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("add-variant",{id:A,...x}));S0(om0,{notes:["Variants can only be added while the A/B test is in draft status."],examples:['sequenzy ab-tests add-variant ab_123 --subject "Alternative subject"','sequenzy ab-tests add-variant ab_123 --subject "Alternative subject" --blocks-file ./variant.json']});var tm0=w7.command("delete-variant <id> <variantId>").description("Remove a variant from a draft campaign A/B test").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>a7("delete-variant",{id:A,variantId:x,...E}));S0(tm0,{notes:["Variant A is the control variant and cannot be deleted.","Variants can only be removed while the A/B test is in draft status."],examples:["sequenzy ab-tests delete-variant ab_123 var_b --yes"]});var sm0=w7.command("delete <id>").description("Delete a campaign A/B test").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("delete",{id:A,...x}));S0(sm0,{notes:["Running A/B tests cannot be deleted; the linked campaign must be draft or rejected."],examples:["sequenzy ab-tests delete ab_123 --yes"]});var Lg=TE.command("templates").description("Manage email templates").action(()=>Lg.help());S0(Lg,{notes:["Template content can be provided as raw HTML or as Sequenzy blocks JSON.","Templates can be assigned labels and listed by label for integration dashboards.","Use blocks when you need conditional content, per-block styles, or an exact editor-compatible structure.",xX],examples:["sequenzy templates list --company comp_123","sequenzy templates list --label edm --company comp_123",'sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --label edm template --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --blocks-file ./welcome-blocks.json','sequenzy templates update tmpl_123 --subject "Updated" --html-file ./welcome-v2.html','sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html',"sequenzy templates localizations sync tmpl_123 --locale es fr"]});var em0=Lg.command("list").description("List all templates").option("--label <labels...>","Filter by label name").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Wg("list",A));S0(em0,{examples:["sequenzy templates list --company comp_123","sequenzy templates list --label edm --company comp_123"]});var Ac0=Lg.command("get <id>").description("Get template details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("get",{id:A,...x}));S0(Ac0,{examples:["sequenzy templates get tmpl_123 --company comp_123"]});var xc0=Lg.command("create <name>").description("Create a template").option("-s, --subject <subject>","Email subject (optional with --prompt)").option("--preview-text <text>","Email preview text override").option("--prompt <prompt>","Generate branded native blocks from a prompt").option("--style <style>","Prompt generation style").option("--tone <tone>","Prompt generation tone").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--label <labels...>","Label names to assign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("create",{name:A,...x}));S0(xc0,{notes:["Provide exactly one of prompt, HTML, or blocks JSON content.","Use blocks when you need conditional content, per-block styles, or exact editor parity."],examples:['sequenzy templates create welcome --prompt "Welcome new customers"','sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --label edm template --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --blocks-file ./welcome-blocks.json']});var Ec0=Lg.command("update <id>").description("Update a template").option("-n, --name <name>","Template name").option("-s, --subject <subject>","Email subject").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--label <labels...>","Replace label names").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("update",{id:A,...x}));S0(Ec0,{notes:["Provide at least one of --name, --subject, --label, --html, --html-file, --blocks-json, or --blocks-file.","Do not combine HTML flags with blocks flags in the same request."],examples:['sequenzy templates update tmpl_123 --subject "Updated"',"sequenzy templates update tmpl_123 --label edm template","sequenzy templates update tmpl_123 --html-file ./welcome-v2.html","sequenzy templates update tmpl_123 --blocks-file ./welcome-v2-blocks.json"]});var EX=Lg.command("localizations").description("Manage localized template variants").action(()=>EX.help());S0(EX,{notes:["Set stores caller-supplied localized content immediately.","Sync queues AI translation for selected locales, or every enabled non-primary locale when --locale is omitted."],examples:['sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html',"sequenzy templates localizations sync tmpl_123 --locale es fr","sequenzy templates localizations sync tmpl_123"]});var Bc0=EX.command("set <id> <locale>").description("Create or replace a localized template variant").requiredOption("-s, --subject <subject>","Localized email subject").option("--preview-text <text>","Localized email preview text").option("--html <html>","Localized email HTML content").option("--html-file <file>","Read localized HTML from file").option("--blocks-json <json>","Inline JSON array of localized Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with localized Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>Wg("set-localization",{id:A,locale:x,...E}));S0(Bc0,{notes:["The locale must be enabled in the company's localization settings and cannot be the primary locale.","Provide exactly one HTML or blocks content source."],examples:['sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html','sequenzy templates localizations set tmpl_123 fr-CA --subject "Bienvenue" --blocks-file ./welcome-fr-ca.json']});var Dc0=EX.command("sync <id>").description("Queue AI translation for template locales").option("--locale <locales...>","Enabled locales to sync; omit to sync every non-primary locale").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("sync-localizations",{id:A,locales:x.locale,company:x.company,json:x.json}));S0(Dc0,{examples:["sequenzy templates localizations sync tmpl_123 --locale es fr","sequenzy templates localizations sync tmpl_123"]});var gc0=Lg.command("delete <id>").description("Delete a template").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("delete",{id:A,...x}));S0(gc0,{notes:["Deletion fails when the template is still referenced by a campaign or sequence."],examples:["sequenzy templates delete tmpl_123"]});var s3=TE.command("companies").description("Inspect or create companies").action(()=>s3.help());S0(s3,{notes:["Company creation starts background website processing automatically."],examples:["sequenzy companies list","sequenzy companies get comp_123","sequenzy companies update comp_123 --primary-color '#0ea5e9'","sequenzy companies create example.com --name Example"]});var Cc0=s3.command("list").description("List accessible companies").option("--json","Print raw JSON").action((A)=>z$("list",A));S0(Cc0,{examples:["sequenzy companies list"]});var Fc0=s3.command("get <id>").description("Get company details").option("--json","Print raw JSON").action((A,x)=>z$("get",{id:A,...x}));S0(Fc0,{examples:["sequenzy companies get comp_123"]});var Qc0=s3.command("update <id>").description("Update company product info and AI brand context").option("-n, --name <name>","Company display name").option("--description <text>","Short product or company summary").option("--description-file <path>","Read description from a file").option("--logo-url <url>","Public logo URL").option("--founder-name <name>","Founder or sender name").option("--primary-color <hex>","Primary brand color, e.g. #f97316").option("--brand-colors-json <json>","Brand colors object as JSON").option("--brand-colors-file <path>","Read brand colors JSON from a file").option("--value-props-json <json>","Value propositions array as JSON").option("--value-props-file <path>","Read value propositions JSON from a file").option("--testimonials-json <json>","Testimonials array as JSON").option("--testimonials-file <path>","Read testimonials JSON from a file").option("--tone-voice <text>","Tone of voice guidance").option("--company-context <text>","Product knowledge for AI writing").option("--company-context-file <path>","Read product knowledge from a file").option("--email-length-preference <value>","Email length: concise, balanced, or detailed").option("--social-links-json <json>","Social links object as JSON").option("--social-links-file <path>","Read social links JSON from a file").option("--privacy-policy-url <url>","Privacy policy URL").option("--terms-url <url>","Terms of service URL").option("--address <address>","Physical mailing address").option("--language <code>","Primary language code").option("--pricing-json <json>","Pricing object as JSON").option("--pricing-file <path>","Read pricing JSON from a file").option("--font-family <family>","Default email font family").option("--email-direction <direction>","Default email direction: ltr or rtl").option("--json","Print raw JSON").action((A,x)=>z$("update",{id:A,...x}));S0(Qc0,{examples:["sequenzy companies update comp_123 --primary-color '#0ea5e9'","sequenzy companies update comp_123 --company-context-file ./product.md --tone-voice 'clear, direct, warm'",`sequenzy companies update comp_123 --value-props-json '[{"title":"Fast setup","description":"Launch lifecycle emails in minutes."}]'`]});var Ic0=s3.command("create <domain>").description("Create a company and queue website processing").option("-n, --name <name>","Company name").option("--json","Print raw JSON").action((A,x)=>z$("create",{domain:A,...x}));S0(Ic0,{examples:["sequenzy companies create example.com","sequenzy companies create https://example.com --name Example"]});var bS=TE.command("tags").description("Manage tag definitions").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>t3("list",A));S0(bS,{notes:["Running `sequenzy tags` without a subcommand lists tag definitions.","Tag names are normalized to lowercase with dashes; system tags cannot be changed or deleted."],examples:["sequenzy tags --company comp_123","sequenzy tags list","sequenzy tags create vip --color purple","sequenzy tags update tag_123 --color red","sequenzy tags delete tag_123 --yes"]});var yc0=bS.command("list").description("List tag definitions").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>t3("list",A));S0(yc0,{examples:["sequenzy tags list --company comp_123"]});var wc0=bS.command("create <name>").description("Create a tag definition").option("--color <color>","Tag color, e.g. gray, red, green, blue, purple").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("create",{name:A,...x}));S0(wc0,{notes:["Names are normalized to lowercase with dashes, so `VIP Customer` becomes `vip-customer`."],examples:["sequenzy tags create vip","sequenzy tags create vip --color purple"]});var $c0=bS.command("update <tagId>").description("Update a tag definition color").requiredOption("--color <color>","New tag color").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("update",{tagId:A,...x}));S0($c0,{notes:["System tags cannot be updated."],examples:["sequenzy tags update tag_123 --color red"]});var fc0=bS.command("delete <tagId>").description("Delete a tag definition").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("delete",{tagId:A,...x}));S0(fc0,{notes:["Deleting a tag removes it from every subscriber.","Tags used by sequences cannot be deleted until those sequences stop referencing them."],examples:["sequenzy tags delete tag_123 --yes"]});var T1=TE.command("lists").description("Manage subscriber lists").action(()=>T1.help());S0(T1,{examples:["sequenzy lists list --company comp_123",'sequenzy lists create Newsletter --description "Public newsletter list"','sequenzy lists update list_123 --name "Weekly Newsletter" --private',"sequenzy lists add-subscribers list_123 --emails-file ./batch-001.csv","sequenzy lists remove-subscribers list_123 --email one@example.com","sequenzy lists import list_123 --emails-file ./batch-001.csv","sequenzy lists delete list_123 --yes"]});var Sc0=T1.command("list").description("List subscriber lists").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Kg("list",A));S0(Sc0,{examples:["sequenzy lists list --company comp_123"]});var Gc0=T1.command("create <name>").description("Create a subscriber list").option("-d, --description <text>","List description").option("--private","Mark the list as private").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("create",{name:A,...x}));S0(Gc0,{examples:['sequenzy lists create Newsletter --description "Public newsletter list"',"sequenzy lists create VIP --private --company comp_123"]});var Jc0=T1.command("add-subscribers <listId>").description("Add subscribers to a list from emails, JSON, or a file").option("-e, --email <emails...>","Email addresses to add").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--duplicate-strategy <strategy>","Duplicate strategy: skip, merge, or overwrite","skip").option("--enroll-sequences","Enroll newly created subscribers in matching sequences").option("--opt-in-mode <mode>","Consent mode: default, confirmed, or double_opt_in","default").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("add-subscribers",{listId:A,...x}));S0(Jc0,{notes:["Provide exactly one source: --email, --emails-json, or --emails-file.","Files may be newline-separated, CSV with an email column, a JSON email array, or a JSON object with emails/subscribers.","CSV headers named email, e-mail, email address, or mail are detected; otherwise the first column is used.","New subscribers are not enrolled in matching sequences unless --enroll-sequences is set."],examples:["sequenzy lists add-subscribers list_123 --email one@example.com two@example.com",`sequenzy lists add-subscribers list_123 --emails-json '["one@example.com","two@example.com"]'`,"sequenzy lists add-subscribers list_123 --emails-file ./batch-001.csv"]});var Hc0=T1.command("import <listId>").description("Alias for add-subscribers; import subscribers into a list").option("-e, --email <emails...>","Email addresses to add").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--duplicate-strategy <strategy>","Duplicate strategy: skip, merge, or overwrite","skip").option("--enroll-sequences","Enroll newly created subscribers in matching sequences").option("--opt-in-mode <mode>","Consent mode: default, confirmed, or double_opt_in","default").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("add-subscribers",{listId:A,...x}));S0(Hc0,{notes:["`lists import` is an alias for `lists add-subscribers`.","Provide exactly one source: --email, --emails-json, or --emails-file.","Files may be newline-separated, CSV with an email column, a JSON email array, or a JSON object with emails/subscribers.","CSV headers named email, e-mail, email address, or mail are detected; otherwise the first column is used."],examples:["sequenzy lists import list_123 --emails-file ./batch-001.csv",`sequenzy lists import list_123 --emails-json '["one@example.com","two@example.com"]'`]});var Kc0=T1.command("update <listId>").description("Update a subscriber list").option("-n, --name <name>","List name").option("-d, --description <text>","List description").option("--private","Mark the list as private").option("--no-private","Mark the list as public").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("update",{listId:A,...x}));S0(Kc0,{notes:["Provide at least one of --name, --description, --private, or --no-private."],examples:['sequenzy lists update list_123 --name "Weekly Newsletter"',"sequenzy lists update list_123 --private","sequenzy lists update list_123 --no-private"]});var Yc0=T1.command("remove-subscribers <listId>").description("Remove subscribers from a list by email").option("-e, --email <emails...>","Email addresses to remove").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("remove-subscribers",{listId:A,...x}));S0(Yc0,{notes:["Provide exactly one source: --email, --emails-json, or --emails-file.","Subscribers are only removed from the list; they stay in your audience.","Emails that do not match a subscriber are reported as not found."],examples:["sequenzy lists remove-subscribers list_123 --email one@example.com two@example.com","sequenzy lists remove-subscribers list_123 --emails-file ./churned.csv"]});var Uc0=T1.command("delete <listId>").description("Delete a subscriber list").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("delete",{listId:A,...x}));S0(Uc0,{notes:["Deleting a list removes all of its memberships; subscribers themselves are kept."],examples:["sequenzy lists delete list_123 --yes"]});var TF=TE.command("segments").description("Manage segments").action(()=>TF.help());S0(TF,{notes:["Use --filter-json for arbitrary segment filters. The CLI will fill in missing filter IDs.","Use --match any to create a segment that matches any filter instead of all filters.",'Engagement filters (emailSent, emailOpened, emailClicked, emailBounced, emailComplained) accept either a time range as the value ("7d", "30d", "90d", "180d", "all") OR a specific campaign ("campaign:<campaign_id>"). Combine multiple engagement filters with --match all to build things like "bounced campaign A but not campaign B".'],examples:["sequenzy segments list --company comp_123",'sequenzy segments create --name "Bought Pro" --stripe-product prod_pro',`sequenzy segments create --name "VIP or Churn Risk" --match any --filter-json '[{"field":"tag","operator":"contains","value":"vip"},{"field":"emailOpened","operator":"is_not","value":"30d"}]'`,`sequenzy segments create --name "Bounced A not B" --filter-json '[{"field":"emailBounced","operator":"is","value":"campaign:cmp_abc"},{"field":"emailBounced","operator":"is_not","value":"campaign:cmp_xyz"}]'`]});var qc0=TF.command("list").description("List all segments").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>L3("list",A));S0(qc0,{examples:["sequenzy segments list --company comp_123"]});var Xc0=TF.command("create").description("Create a segment").requiredOption("-n, --name <name>","Segment name").option("-c, --company <id>","Company ID override for personal API keys").option("--match <mode>","How filters combine: all or any","all").option("--stripe-product <id>","Stripe product ID to segment on").option("--commerce-product <id>","Commerce product to segment on, as provider:productId (e.g. shopify:42); a bare ID matches any provider").option("--purchase-operator <operator>","Purchase operator (bought, didnt-buy, at-least, less-than)","bought").option("--payments <number>","Payment threshold for at-least/less-than").option("--orders <number>","Order threshold for at-least/less-than with --commerce-product").option("--filter-json <json>","Raw JSON array of segment filters (IDs are optional)").option("--json","Print raw JSON").action((A)=>L3("create",A));S0(Xc0,{examples:['sequenzy segments create --name "Bought Pro" --stripe-product prod_pro','sequenzy segments create --name "3+ Pro Payments" --stripe-product prod_pro --purchase-operator at-least --payments 3','sequenzy segments create --name "Starter Kit Buyers" --commerce-product api:prod-starter-kit','sequenzy segments create --name "Repeat Kit Buyers" --commerce-product api:prod-starter-kit --purchase-operator at-least --orders 2',`sequenzy segments create --name "VIP or Churn Risk" --match any --filter-json '[{"field":"tag","operator":"contains","value":"vip"},{"field":"emailOpened","operator":"is_not","value":"30d"}]'`,`sequenzy segments create --name "Bounced A not B" --filter-json '[{"field":"emailBounced","operator":"is","value":"campaign:cmp_abc"},{"field":"emailBounced","operator":"is_not","value":"campaign:cmp_xyz"}]'`]});var Zc0=TF.command("count <id>").description("Get subscriber count for a segment").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("count",{id:A,...x}));S0(Zc0,{examples:["sequenzy segments count seg_123 --company comp_123"]});var Mc0=TF.command("update <id>").description("Update a segment name, filters, or join operator").option("-n, --name <name>","Segment name").option("--filters-json <json>","Raw JSON array of segment filters, or an object with a root group").option("--filters-file <file>","Path to a JSON file with segment filters or a root group").option("--join-operator <operator>","How filters combine: and or or").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("update",{id:A,...x}));S0(Mc0,{notes:["Provide at least one of --name, --filters-json, --filters-file, or --join-operator.","Filters replace the existing filter set; missing filter IDs are filled in by the CLI."],examples:['sequenzy segments update seg_123 --name "Churn Risk"',`sequenzy segments update seg_123 --filters-json '[{"field":"tag","operator":"contains","value":"vip"}]'`,"sequenzy segments update seg_123 --join-operator or"]});var Wc0=TF.command("delete <id>").description("Delete a segment").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("delete",{id:A,...x}));S0(Wc0,{examples:["sequenzy segments delete seg_123 --yes"]});var jg=TE.command("audience-syncs").description("Sync segments to Meta custom audiences").action(()=>jg.help());S0(jg,{notes:["Requires the Meta Ads integration to be connected in the dashboard (Settings -> Integrations).",'Use --template to start from a ready-made segment ("zero-ltv", "no-purchase-1y", "recent-buyers", "high-spenders-ecom", "non-buyers", "engaged"); the segment is created automatically on first use.',"Audiences are add-only: subscribers who leave the segment stay in the Meta audience."],examples:["sequenzy audience-syncs list",'sequenzy audience-syncs create --template recent-buyers --ad-account act_123 --name "Sequenzy - Recent buyers"']});var Rc0=jg.command("list").description("List audience syncs with schedule and status").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("list",A));S0(Rc0,{examples:["sequenzy audience-syncs list --company comp_123"]});var Lc0=jg.command("ad-accounts").description("List the connected Meta ad accounts").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("ad-accounts",A));S0(Lc0,{examples:["sequenzy audience-syncs ad-accounts"]});var jc0=jg.command("create").description("Create an audience sync (segment -> Meta custom audience)").option("--segment <id>","Existing segment ID to sync").option("--template <id>",'Predefined segment template (for example "recent-buyers", "zero-ltv", "no-purchase-1y")').requiredOption("--ad-account <id>","Meta ad account ID (see `sequenzy audience-syncs ad-accounts`)").requiredOption("-n, --name <name>","Audience name in Meta Ads Manager").option("--frequency <frequency>","Sync frequency: hourly, daily, or weekly","daily").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("create",A));S0(jc0,{examples:['sequenzy audience-syncs create --template recent-buyers --ad-account act_123 --name "Sequenzy - Recent buyers"','sequenzy audience-syncs create --segment seg_123 --ad-account act_123 --name "Sequenzy - VIPs" --frequency hourly']});var zc0=jg.command("update <id>").description("Change an audience sync's frequency or pause/resume it").option("--frequency <frequency>","Sync frequency: hourly, daily, or weekly").option("--active <bool>","true to resume, false to pause").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("update",{id:A,...x}));S0(zc0,{examples:["sequenzy audience-syncs update sync_123 --frequency weekly","sequenzy audience-syncs update sync_123 --active false"]});var Nc0=jg.command("delete <id>").description("Remove an audience sync (the Meta audience itself is kept)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("delete",{id:A,...x}));S0(Nc0,{examples:["sequenzy audience-syncs delete sync_123"]});var Oc0=jg.command("sync <id>").description("Trigger an immediate sync run").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("sync",{id:A,...x}));S0(Oc0,{examples:["sequenzy audience-syncs sync sync_123"]});var zg=TE.command("products").description("Manage products and digital delivery files").action(()=>zg.help());S0(zg,{notes:["Products sync from Stripe, Shopify, and WooCommerce integrations.","Attach a deliverable file to a Stripe product, then reference it in purchase sequence emails with {{event.download.url}} and {{event.download.name}}."],examples:["sequenzy products list --provider stripe","sequenzy products sync",'sequenzy products upsert my-ebook --title "The Ebook" --price-cents 1900 --file ./ebook.pdf',"sequenzy products attach-file prod_abc --file ./guide.pdf","sequenzy products attach-file prod_abc --url https://example.com/guide.pdf --name guide.pdf","sequenzy products detach-file prod_abc","sequenzy products delete my-ebook"]});var Pc0=zg.command("list").description("List synced products including attached delivery files").option("-c, --company <id>","Company ID override for personal API keys").option("--provider <provider>","Filter by provider (stripe, shopify, woocommerce, manual)").option("--search <query>","Filter products by title").option("--json","Print raw JSON").action((A)=>YF("list",A));S0(Pc0,{examples:["sequenzy products list --provider stripe"]});var Vc0=zg.command("sync").description("Queue a Stripe product catalog sync").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>YF("sync",A));S0(Vc0,{examples:["sequenzy products sync --company comp_123"]});var vc0=zg.command("upsert [productId]").description("Create or update products in the catalog (Commerce API, keyed by your productId)").option("--title <title>","Product title (required for single upserts)").option("--description <text>","Product description").option("--price-cents <cents>","Price in the smallest currency unit").option("--currency <code>","ISO currency code, e.g. USD").option("--image-url <url>","Product image URL").option("--product-url <url>","Product page URL").option("--in-stock","Mark the product as in stock").option("--out-of-stock","Mark the product as out of stock").option("--file <path>","Deliverable file to upload and attach in one step").option("--url <link>","External deliverable http(s) link to attach in one step").option("--name <fileName>","Display name for the attached deliverable").option("--products-json <json>","Inline JSON array of products to upsert").option("--products-file <file>","Path to a JSON file with products to upsert").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("upsert",x,A));S0(vc0,{notes:["Products are keyed by your own productId and stored under the api provider.","Combine --file or --url with a single-product upsert to attach the deliverable file in the same command.","Use --products-json/--products-file for bulk upserts of up to 100 products."],examples:['sequenzy products upsert my-ebook --title "The Ebook" --price-cents 1900 --currency USD --file ./ebook.pdf','sequenzy products upsert my-course --title "The Course" --url https://files.example.com/course.zip',"sequenzy products upsert --products-file ./products.json"]});var Tc0=zg.command("delete <productId>").description("Delete a product previously pushed via the Commerce API").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("delete",x,A));S0(Tc0,{examples:["sequenzy products delete my-ebook"]});var kc0=zg.command("attach-file <id>").description("Attach the deliverable file buyers receive after purchase").option("--file <path>","Local file to upload (PDF, ePub, ZIP, media)").option("--url <link>","External http(s) link instead of an upload").option("--name <fileName>","Display name for the file (e.g. guide.pdf)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("attach-file",x,A));S0(kc0,{examples:["sequenzy products attach-file prod_abc --file ./guide.pdf","sequenzy products attach-file prod_abc --url https://example.com/template.zip --name template.zip"]});var uc0=zg.command("detach-file <id>").description("Remove the attached delivery file from a product").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("detach-file",x,A));S0(uc0,{examples:["sequenzy products detach-file prod_abc"]});var iS=TE.command("team").description("Manage team members and invitations").action(()=>iS.help());S0(iS,{notes:["Inviting and cancelling invitations requires owner or admin access.","Billing access can only be granted by the company owner."],examples:["sequenzy team list","sequenzy team invite teammate@example.com --role admin","sequenzy team cancel-invitation inv_123"]});var bc0=iS.command("list").description("List team members and pending invitations").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>sq("list",A));S0(bc0,{examples:["sequenzy team list --company comp_123"]});var ic0=iS.command("invite <email>").description("Invite a team member or add an existing user").requiredOption("--role <role>","Member role: admin, viewer, or restricted").option("--billing-access","Allow the member to manage billing (owner only)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>sq("invite",{email:A,...x}));S0(ic0,{notes:["Existing Sequenzy users are added to the team immediately; everyone else receives an email invitation.","Invitations expire automatically and can be re-sent by inviting the same email again after cancelling."],examples:["sequenzy team invite teammate@example.com --role admin","sequenzy team invite editor@example.com --role restricted","sequenzy team invite finance@example.com --role viewer --billing-access"]});var hc0=iS.command("cancel-invitation <invitationId>").description("Cancel a pending team invitation").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>sq("cancel-invitation",{invitationId:A,...x}));S0(hc0,{notes:["Run `sequenzy team list` first to find invitation IDs."],examples:["sequenzy team cancel-invitation inv_123 --yes"]});var Ng=TE.command("inbox").description("Manage subscriber reply conversations").action(()=>Ng.help());S0(Ng,{notes:["The inbox collects subscriber replies to campaigns, sequences, and transactional email.","Use --note on replies to add an internal note instead of emailing the subscriber."],examples:["sequenzy inbox list --status open --unread","sequenzy inbox get conv_123","sequenzy inbox reply conv_123 --text 'Thanks for reaching out!'","sequenzy inbox close conv_123"]});var mc0=Ng.command("list").description("List conversations").option("-s, --status <status>","Filter by status: open, closed, or all").option("--search <query>","Search by subscriber email, name, or subject").option("--unread","Only conversations with unread messages").option("-p, --page <number>","Page number (default 1)").option("-l, --limit <number>","Results per page (1-100, default 20)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>KF("list",A));S0(mc0,{examples:["sequenzy inbox list","sequenzy inbox list --status open --unread",'sequenzy inbox list --search "refund" --limit 50']});var cc0=Ng.command("get <conversationId>").description("Get a conversation with its full message history").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("get",{conversationId:A,...x}));S0(cc0,{examples:["sequenzy inbox get conv_123","sequenzy inbox get conv_123 --json"]});var lc0=Ng.command("reply <conversationId>").description("Reply to a conversation or add an internal note").option("-t, --text <text>","Plain text message body").option("--html-file <file>","Read an HTML message body from file").option("-s, --subject <subject>","Override the reply subject").option("--note","Add an internal note instead of emailing the subscriber").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("reply",{conversationId:A,...x}));S0(lc0,{notes:["Provide a body with --text and/or --html-file.","Outbound replies are emailed to the subscriber and reopen closed conversations; notes are internal only."],examples:["sequenzy inbox reply conv_123 --text 'Thanks for reaching out!'","sequenzy inbox reply conv_123 --html-file ./reply.html","sequenzy inbox reply conv_123 --text 'Customer asked for a refund' --note"]});var nc0=Ng.command("close <conversationId>").description("Close a conversation").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("close",{conversationId:A,...x}));S0(nc0,{examples:["sequenzy inbox close conv_123"]});var pc0=Ng.command("reopen <conversationId>").description("Reopen a closed conversation").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("reopen",{conversationId:A,...x}));S0(pc0,{examples:["sequenzy inbox reopen conv_123"]});var rc0=Ng.command("mark-read <conversationId>").description("Mark all messages in a conversation as read").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("mark-read",{conversationId:A,...x}));S0(rc0,{examples:["sequenzy inbox mark-read conv_123"]});var k1=TE.command("webhooks").description("Manage outbound webhook endpoints").action(()=>k1.help());S0(k1,{notes:["Webhook payloads are signed; the signing secret is only shown once at creation time.","Valid events cover email.*, subscriber.*, and sequence.* types; omit --event to use the default set."],examples:["sequenzy webhooks list","sequenzy webhooks create --name CI --url https://example.com/hook --event email.bounced","sequenzy webhooks deliveries wh_123 --limit 50","sequenzy webhooks replay wh_123 del_456"]});var ac0=k1.command("list").description("List outbound webhook endpoints").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Rg("list",A));S0(ac0,{examples:["sequenzy webhooks list --company comp_123"]});var _c0=k1.command("create").description("Create an outbound webhook endpoint").requiredOption("-n, --name <name>","Webhook name").requiredOption("-u, --url <url>","HTTPS endpoint URL").option("-e, --event <events...>","Event types to deliver, e.g. email.bounced subscriber.list_subscribed subscriber.list_unsubscribed").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Rg("create",A));S0(_c0,{notes:["The signing secret is printed once on creation and cannot be retrieved later - store it immediately.","Omit --event to subscribe to the default event set."],examples:["sequenzy webhooks create --name CI --url https://example.com/hook --event email.bounced","sequenzy webhooks create --name 'All events' --url https://example.com/hook"]});var dc0=k1.command("update <id>").description("Update an outbound webhook endpoint").option("-n, --name <name>","Webhook name").option("-u, --url <url>","HTTPS endpoint URL").option("-e, --event <events...>","Replacement event types").option("--enable","Enable the webhook").option("--disable","Disable the webhook").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("update",{id:A,...x}));S0(dc0,{notes:["Provide at least one of --name, --url, --event, --enable, or --disable.","Changing the URL or re-enabling resets the failure circuit breaker."],examples:["sequenzy webhooks update wh_123 --url https://example.com/new-hook","sequenzy webhooks update wh_123 --event email.bounced email.complained","sequenzy webhooks update wh_123 --disable"]});var oc0=k1.command("delete <id>").description("Delete an outbound webhook endpoint").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("delete",{id:A,...x}));S0(oc0,{examples:["sequenzy webhooks delete wh_123 --yes"]});var tc0=k1.command("test <id>").description("Send a test event to a webhook endpoint").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("test",{id:A,...x}));S0(tc0,{notes:["The webhook must be enabled to receive a test event."],examples:["sequenzy webhooks test wh_123"]});var sc0=k1.command("deliveries <id>").description("List recent deliveries for a webhook endpoint").option("-l, --limit <number>","Maximum deliveries to return (1-100)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("deliveries",{id:A,...x}));S0(sc0,{examples:["sequenzy webhooks deliveries wh_123","sequenzy webhooks deliveries wh_123 --limit 50"]});var ec0=k1.command("replay <id> <deliveryId>").description("Replay a webhook delivery").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>Rg("replay",{id:A,deliveryId:x,...E}));S0(ec0,{notes:["Run `sequenzy webhooks deliveries <id>` first to find delivery IDs."],examples:["sequenzy webhooks replay wh_123 del_456"]});var Al0=TE.command("account").description("Show account info").option("--json","Print raw JSON").action(Mp);S0(Al0,{examples:["sequenzy account","sequenzy account --json"]});var xl0=TE.command("feedback <message>").description("Send product feedback about Sequenzy to the Sequenzy team").option("--category <category>","Category: missing_capability, bug, docs, ux, praise, other (default: other)").option("--context <context>","What you were trying to accomplish when you hit the gap").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>zA0(A,x));S0(xl0,{notes:["Agents: send feedback whenever the user wanted something the CLI, API, or MCP tools do not support. The Sequenzy team reads every submission."],examples:['sequenzy feedback "No command to bulk-delete campaigns by label" --category missing_capability','sequenzy feedback "Segment count and list output disagree for seg_123" --category bug --context "Auditing a re-engagement segment"']});var aT=TE.command("api-keys").description("Create company API keys").action(()=>aT.help());S0(aT,{notes:["The plain API key is only returned on creation. Save it immediately."],examples:["sequenzy api-keys create",'sequenzy api-keys create --name "CI deploy key" --company comp_123']});var El0=aT.command("create").description("Create a company API key").option("-n, --name <name>","Human-readable API key name").option("-c, --company <id>","Company ID override for personal API keys").option("--preset <preset>","Permission preset: full_access, read_only, agent_safe, ai_drafting, data_ingest_safe, data_ingest_automations, transactional_sender, marketing_sender (default: full_access)").option("--scopes <scopes>","Comma-separated explicit permission scopes (overrides --preset)").option("--json","Print raw JSON").action((A)=>Wp("create",A));S0(El0,{notes:["Keys default to full access. Pass --preset or --scopes to restrict what the key can do."],examples:["sequenzy api-keys create",'sequenzy api-keys create --name "CI deploy key" --company comp_123','sequenzy api-keys create --preset transactional_sender --name "Order emails"','sequenzy api-keys create --scopes "subscribers:read,subscribers:write,events:write"']});var e3=TE.command("websites").description("Manage sending domains and integration guides").action(()=>e3.help());S0(e3,{notes:["Use 'guide' for code examples and 'check' to inspect current DNS verification details."],examples:["sequenzy websites list --company comp_123","sequenzy websites add example.com --company comp_123","sequenzy websites guide --framework nextjs --use-case transactional"]});var Bl0=e3.command("list").description("List sending domains for a company").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>TS("list",A));S0(Bl0,{examples:["sequenzy websites list --company comp_123"]});var Dl0=e3.command("add <domain>").description("Add a sending domain").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>TS("add",{domain:A,...x}));S0(Dl0,{examples:["sequenzy websites add example.com --company comp_123"]});var gl0=e3.command("check <domain>").description("Inspect sending domain verification details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>TS("check",{domain:A,...x}));S0(gl0,{examples:["sequenzy websites check example.com --company comp_123"]});var Cl0=e3.command("guide").description("Print framework-specific integration code").option("--framework <name>","Framework name, e.g. nextjs, express, python").option("--use-case <name>","Use case, e.g. transactional, subscribe_form, event_tracking").option("--json","Print raw JSON").action((A)=>TS("guide",A));S0(Cl0,{examples:["sequenzy websites guide","sequenzy websites guide --framework nextjs --use-case transactional","sequenzy websites guide --framework python --use-case event_tracking"]});var _T=TE.command("shopify").description("Manage the connected Shopify store's automation settings").action(()=>_T.help());S0(_T,{notes:["Requires a connected Shopify integration on the company.","Browse abandonment emails shoppers who viewed a product but didn't buy; price drop alerts email recent viewers when a product's price falls."],examples:["sequenzy shopify settings get","sequenzy shopify settings update --price-drop off","sequenzy shopify settings update --browse-delay-hours 4 --browse-cooldown-hours 48"]});var dT=_T.command("settings").description("Browse-abandonment and price-drop automation settings").action(()=>dT.help()),Fl0=dT.command("get").description("Show the effective automation settings").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>iT("get",A));S0(Fl0,{notes:["Shows the effective values - platform defaults apply until the store overrides them."],examples:["sequenzy shopify settings get --json"]});var Ql0=dT.command("update").description("Update browse-abandonment and/or price-drop settings").option("--browse-abandonment <on|off>","Enable or disable browse abandonment").option("--browse-delay-hours <hours>","Hours to wait after a product view before the abandonment check (default 2)").option("--browse-cooldown-hours <hours>","Minimum hours between browse-abandoned events per subscriber (default 24)").option("--reset-browse-abandonment","Reset browse abandonment to the platform defaults").option("--price-drop <on|off>","Enable or disable price drop alerts").option("--price-drop-min-percent <percent>","Minimum price decrease percent to alert on (default 5)").option("--price-drop-lookback-days <days>","How many days back viewers qualify as the audience (default 30)").option("--price-drop-cooldown-days <days>","Minimum days between price-drop events per subscriber and product (default 7)").option("--reset-price-drop","Reset price drop alerts to the platform defaults").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>iT("update",A));S0(Ql0,{notes:["Partial update: omitted flags keep their current values.","If no sequence handles ecommerce.price_drop, Sequenzy sends a default price-drop email to active subscribers."],examples:["sequenzy shopify settings update --browse-abandonment off","sequenzy shopify settings update --price-drop-min-percent 10 --price-drop-lookback-days 14","sequenzy shopify settings update --reset-price-drop"]});var BX=TE.command("sms").description("Inspect the SMS add-on status for a company").action(()=>BX.help());S0(BX,{notes:["SMS sequence steps only send when the add-on is enabled, the plan is eligible, and an active number exists.",'Add SMS steps to sequences with type: "sms" in sequences create --steps-* or update --insert-steps-*.','Generate SMS copy with `sequenzy generate sms "<prompt>"`.'],examples:["sequenzy sms settings","sequenzy sms settings --json"]});var Il0=BX.command("settings").description("Show SMS add-on status, credits, and phone numbers").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>hT("settings",A));S0(Il0,{notes:["readyToSend in the JSON output tells you whether SMS sequence steps will actually send."],examples:["sequenzy sms settings --json"]});var yl0=BX.command("send-test <phone>").description("Send a test SMS to a phone number").option("-t, --text <text>","Plain-text message body").option("--image-url <url...>","Publicly reachable MMS image URL (repeat for up to 2)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>hT("send-test",{phone:A,...x}));S0(yl0,{notes:["Sends a real text and charges credits. Limited to 5 test sends per hour; bypasses quiet hours; excluded from step stats.","Requires the SMS add-on with a verified number - check `sequenzy sms settings` first."],examples:['sequenzy sms send-test +15550100123 --text "Test from Sequenzy"']});var DX=TE.command("sync-rules").description("Manage automatic tag changes applied when events fire").action(()=>DX.help());S0(DX,{notes:["Sync rules map events to tag changes, e.g. an order-placed event adding a customer tag.","Rules can carry conditions: required/excluded subscriber tags, and a product match for commerce events (tag buyers by product tag, collection, type, or vendor)."],examples:["sequenzy sync-rules get","sequenzy sync-rules update --rules-file ./sync-rules.json","sequenzy sync-rules update --reset"]});var wl0=DX.command("get").description("Show the effective sync rules").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>nT("get",A));S0(wl0,{notes:["Shows the platform defaults until the company saves custom rules; the JSON output includes isDefault."],examples:["sequenzy sync-rules get --json"]});var $l0=DX.command("update").description("Replace the sync rules or reset them to the defaults").option("--rules-json <json>","Inline JSON array with the full rule set").option("--rules-file <file>","Path to a JSON file with the full rule set").option("--reset","Reset the company to the platform default rules").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>nT("update",A));S0($l0,{notes:["This replaces the FULL rule set - fetch with 'sync-rules get --json', edit, then update.",'Each rule: {"triggerEvent":"...","actions":{"addTags":[...],"removeTags":[...]},"conditions":{...}}.'],examples:["sequenzy sync-rules update --rules-file ./sync-rules.json",`sequenzy sync-rules update --rules-json '[{"triggerEvent":"ecommerce.order_placed","actions":{"addTags":["vinyl-collector"],"removeTags":[]},"conditions":{"purchasedProduct":{"tags":["Vinyl"]}}}]'`,"sequenzy sync-rules update --reset"]});var Ay=TE.command("generate").description("Generate email and SMS content with AI").action(()=>Ay.help());S0(Ay,{notes:["Generated content is returned as draft content. Review it before sending.","Use --json when another tool or agent should parse the generated output."],examples:['sequenzy generate email "Welcome a new user to our analytics product"','sequenzy generate sequence "Onboard a new workspace admin" --count 4 --days 14','sequenzy generate subjects "April product launch" --count 8','sequenzy generate sms "Cart reminder with a free-shipping hook" --count 3']});Ay.command("email <prompt>").description("Generate email blocks from a prompt").option("-s, --style <style>","Style: minimal, branded, promotional").option("-t, --tone <tone>","Tone: professional, casual, friendly").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("email",{prompt:A,...x}));Ay.command("sequence <goal>").description("Generate email sequence content from a goal").option("-c, --count <number>","Number of emails (1-10)","5").option("-d, --days <number>","Duration in days","14").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("sequence",{goal:A,...x}));Ay.command("subjects <topic>").description("Generate A/B subject line variants").option("-c, --count <number>","Number of variants","5").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("subjects",{topic:A,...x}));var fl0=Ay.command("sms <prompt>").description("Generate SMS message variants from a prompt").option("-c, --count <number>","Number of variants (1-10)","3").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("sms",{prompt:A,...x}));S0(fl0,{notes:["Messages are plain text with encoding and segment counts; use them as the text of an SMS sequence step.","Opt-out footers and the brand prefix are added automatically at send time - never include them in the message.","Check `sequenzy sms settings` to confirm the SMS add-on is ready before enabling SMS sequences."],examples:['sequenzy generate sms "Flash sale ends tonight" --count 5 --json']});await TE.parseAsync();process.exit(process.exitCode??0);
|
|
438
|
+
${J2}Use 'sequenzy --help' and '<command> --help' for detailed examples and caveats.${$6}`;console.log(E),console.log(D),console.log(),console.log(B),console.log(g),console.log(C),console.log()}var TE=new Pu;TE.name("sequenzy").description("Sequenzy CLI - Email marketing from the terminal").version(_B0).showHelpAfterError().showSuggestionAfterError().action(nh0);S0(TE,{notes:["Use --json on data commands when another tool or agent should parse structured output.","Dashboard-aware JSON responses include appUrls when a company ID can be resolved.","Company-scoped commands accept --company for personal API keys that can access multiple companies.","Content commands prefer file flags such as --html-file, --blocks-file, --steps-file, and --emails-file to avoid shell escaping issues.","Sequence creation supports --goal for AI generation or explicit step JSON."],examples:['sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy campaigns update camp_123 --subject "Updated subject" --html-file ./campaign.html',"sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json","sequenzy urls --company comp_123 --sequence seq_123 --settings-tab integrations","sequenzy websites guide --framework nextjs --use-case transactional",'sequenzy api-keys create --name "CI deploy key" --company comp_123']});var ph0=TE.command("login").description("Log in to your Sequenzy account").action(iA0);S0(ph0,{notes:["Starts device authentication and prints a verification URL plus approval code."],examples:["sequenzy login"]});var rh0=TE.command("logout").description("Log out of your Sequenzy account").action(hA0);S0(rh0,{examples:["sequenzy logout"]});var ah0=TE.command("whoami").description("Show the locally stored Sequenzy identity").action(nB0);S0(ah0,{notes:["This confirms local CLI auth state. Use 'sequenzy account' when you need company access details too."],examples:["sequenzy whoami"]});var _h0=TE.command("stats").description("Show account, campaign, or sequence metrics, including Poll/NPS").option("-p, --period <period>","Time period (7d, 30d, 90d)","7d").option("--campaign <id>","Get stats for a specific campaign").option("--sequence <id>","Get stats for a specific sequence").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON, including poll and NPS results").action(vB0);S0(_h0,{notes:["Use exactly one of: account-level period, --campaign, or --sequence.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement.","Sequence stats include per-step failures when the API reports them.","Campaign stats include a Poll & NPS Results section when the email collected answers; use --json for the full polls array."],examples:["sequenzy stats","sequenzy stats --period 30d","sequenzy stats --campaign camp_123","sequenzy stats --campaign camp_123 --json","sequenzy stats --campaign camp_123 --include-bots","sequenzy stats --sequence seq_123"]});var dh0=TE.command("events").description("List raw campaign or sequence email events").option("--campaign <id>","List events for a campaign").option("--sequence <id>","List events for a sequence").option("--type <type>","Single event type to include, such as delivery, open, or click").option("--event-types <types>","Comma-separated event types to include (default: delivery)").option("-p, --period <period>","Time period (1h, 24h, 7d, 30d, 90d)").option("--start <iso>","Start of custom time range (ISO 8601)").option("--end <iso>","End of custom time range (ISO 8601)").option("--page <number>","Page number").option("--limit <number>","Events per page, capped by the API").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID").option("--json","Print JSON").action(LA0);S0(dh0,{notes:["Use exactly one of --campaign or --sequence.","Defaults to delivery events. Use --event-types delivery,open,click when you need engagement events too.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy events --campaign camp_123","sequenzy events --sequence seq_123 --limit 100 --json","sequenzy events --campaign camp_123 --event-types delivery,click --period 30d"]});var oh0=TE.command("urls").description("Generate Sequenzy dashboard URLs for known resource IDs").option("-c, --company <id>","Company ID").option("--campaign <id>","Campaign ID for campaign editor URL").option("--landing-page <id>","Landing page ID for landing page editor URL").option("--sequence <id>","Sequence ID for sequence editor URL").option("--template <id>","Template/email ID for email editor URL").option("--email <id>","Email ID for email editor URL").option("--transactional <id>","Transactional email ID").option("--email-send <id>","Email send ID").option("--domain <id>","Sending domain ID").option("--status <status>","Status for campaign/sequence list URLs").option("--settings-tab <tab>","Settings tab slug, e.g. integrations").option("--json","Print JSON").action(Zp);S0(oh0,{notes:["Uses SEQUENZY_APP_URL when set, otherwise https://sequenzy.com.","If --company is omitted, the CLI tries the current company from `sequenzy account`.","Useful after creating a campaign or sequence when the user wants a review/edit link."],examples:["sequenzy urls --company comp_123","sequenzy urls --company comp_123 --sequence seq_123","sequenzy urls --company comp_123 --campaign camp_123","sequenzy urls --company comp_123 --landing-page lp_123","sequenzy urls --company comp_123 --email-send send_123","sequenzy urls --company comp_123 --settings-tab integrations","sequenzy urls --company comp_123 --json"]});var v1=TE.command("subscribers").description("Manage subscribers").action(()=>v1.help());S0(v1,{notes:["Subscriber list fetches every page by default so agents do not silently miss later results.","`subscribers get` includes tags, list memberships, sequence enrollments, email stats, and recent activity.","--attr expects repeated key=value pairs. Example: --attr firstName=Ana --attr plan=pro"],examples:["sequenzy subscribers list --tag vip",'sequenzy subscribers list --list "Master List" --json',"sequenzy subscribers list --tag vip --limit 25 --json","sequenzy subscribers add user@example.com --tag trial --attr firstName=Ana","sequenzy subscribers get user@example.com --json",'sequenzy subscribers notes add user@example.com --body "Customer prefers quarterly reports"',"sequenzy subscribers remove user@example.com --hard"]});var th0=v1.command("list").description("List subscribers").option("-s, --segment <id>","Filter by segment").option("-t, --tag <tag>","Filter by tag").option("--list <id-or-name>","Filter by subscriber list ID or exact name").option("-l, --limit <number>","Maximum results to return").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>G2("list",A));S0(th0,{examples:["sequenzy subscribers list",'sequenzy subscribers list --list "Master List"',"sequenzy subscribers list --segment seg_123","sequenzy subscribers list --tag onboarding --limit 100"]});var sh0=v1.command("add [email]").description("Add or upsert a subscriber").option("--external-id <id>","Customer-owned subscriber ID").option("--first-name <name>","Subscriber first name").option("--last-name <name>","Subscriber last name").option("-t, --tag <tags...>","Tags to apply").option("-l, --list <ids...>","List IDs to add the subscriber to").option("--no-lists","Add the subscriber to no lists").option("--skip-sequences","Do not enroll the subscriber in matching sequences").option("-a, --attr <attrs...>","Attributes (key=value)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("add",{email:A,...x,noLists:x.lists===!1}));S0(sh0,{examples:["sequenzy subscribers add user@example.com","sequenzy subscribers add user@example.com --first-name Ana --tag trial --attr plan=pro","sequenzy subscribers add user@example.com --list list_123","sequenzy subscribers add user@example.com --skip-sequences"]});var eh0=v1.command("get [email]").description("Get subscriber details").option("--external-id <id>","Customer-owned subscriber ID").option("--include-bots","Include machine-classified bot/scanner opens and clicks in stats/activity").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("get",{email:A,...x}));S0(eh0,{notes:["Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy subscribers get user@example.com","sequenzy subscribers get user@example.com --include-bots"]});var kS=v1.command("notes").description("Manage subscriber notes").action(()=>kS.help());S0(kS,{examples:["sequenzy subscribers notes list user@example.com",'sequenzy subscribers notes add user@example.com --body "Prefers monthly digest"',"sequenzy subscribers notes delete note_123"]});var Am0=kS.command("list [email]").description("List subscriber notes").option("--external-id <id>","Customer-owned subscriber ID").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:list",{email:A,...x}));S0(Am0,{examples:["sequenzy subscribers notes list user@example.com","sequenzy subscribers notes list --external-id user_123 --json"]});var xm0=kS.command("add [email]").description("Add a subscriber note").option("--external-id <id>","Customer-owned subscriber ID").requiredOption("-b, --body <body>","Note body").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:add",{email:A,...x}));S0(xm0,{examples:['sequenzy subscribers notes add user@example.com --body "Asked about enterprise plan"','sequenzy subscribers notes add --external-id user_123 --body "Imported from sales call"']});var Em0=kS.command("delete <noteId>").description("Delete a subscriber note").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("notes:delete",{noteId:A,...x}));S0(Em0,{examples:["sequenzy subscribers notes delete note_123"]});var Bm0=v1.command("update [email]").description("Update subscriber status, tags, or custom attributes").option("--external-id <id>","Customer-owned subscriber ID").option("--status <status>","Subscriber status").option("-t, --tag <tags...>","Replacement tags").option("-a, --attr <attrs...>","Attributes (key=value)").option("--merge","Merge custom attributes instead of replacing them").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("update",{email:A,...x}));S0(Bm0,{examples:["sequenzy subscribers update user@example.com --status unsubscribed","sequenzy subscribers update user@example.com --tag churned --attr cancelReason=too_expensive","sequenzy subscribers update user@example.com --attr plan=pro --merge"]});var Dm0=v1.command("event [email]").description("Trigger an event for a subscriber").option("--external-id <id>","Customer-owned subscriber ID").requiredOption("-n, --name <event>","Event name").option("-p, --property <properties...>","Event properties (key=value)").option("-a, --attr <attrs...>","Subscriber attributes (key=value)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("event",{email:A,...x}));S0(Dm0,{examples:["sequenzy subscribers event user@example.com --name saas.purchase","sequenzy subscribers event user@example.com --name saas.purchase --property plan=pro --property amount=99"]});var gm0=v1.command("remove [email]").description("Unsubscribe or permanently delete a subscriber").option("--external-id <id>","Customer-owned subscriber ID").option("--hard","Permanently delete (not just unsubscribe)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>G2("remove",{email:A,...x}));S0(gm0,{examples:["sequenzy subscribers remove user@example.com","sequenzy subscribers remove user@example.com --hard"]});var uS=TE.command("transactional").description("Inspect transactional email templates").action(()=>uS.help());S0(uS,{notes:["Use the top-level `sequenzy send` command to send email."],examples:["sequenzy transactional list","sequenzy transactional get welcome","sequenzy send user@example.com --template welcome --var firstName=Ana"]});var Cm0=uS.command("list").description("List transactional templates").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>AX("list",A));S0(Cm0,{examples:["sequenzy transactional list --company comp_123"]});var Fm0=uS.command("get <slug>").description("Get transactional template details by slug").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>AX("get",{slug:A,...x}));S0(Fm0,{examples:["sequenzy transactional get welcome"]});var Qm0=uS.command("create <name>").description("Create a transactional template").option("--slug <slug>","API slug").option("-s, --subject <subject>","Subject (optional with --prompt)").option("--preview-text <text>","Preview text override").option("--prompt <prompt>","Generate branded transactional blocks").option("--style <style>","Prompt generation style").option("--tone <tone>","Prompt generation tone").option("--html <html>","Preserved HTML content").option("--html-file <file>","Read preserved HTML from file").option("--blocks-json <json>","Finished Sequenzy blocks JSON").option("--blocks-file <file>","Read finished Sequenzy blocks from file").option("--enabled","Enable immediately (prompt creates default disabled)").option("--no-enabled","Create the transactional template disabled").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>AX("create",{name:A,...x}));S0(Qm0,{notes:["Provide exactly one of prompt, HTML, or blocks.",xX],examples:['sequenzy transactional create password-reset --prompt "Write a password reset email"']});var pT=TE.command("widgets").description("Widget helper commands").action(()=>pT.help());S0(pT,{examples:["sequenzy widgets preferences-token user@example.com"]});var Im0=pT.command("preferences-token <email>").description("Generate a subscription preferences iframe token").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>pB0("preferences-token",{email:A,...x}));S0(Im0,{examples:["sequenzy widgets preferences-token user@example.com"]});var rT=TE.command("email-sends").alias("emailsends").description("Inspect sent email snapshots and delivery events").action(()=>rT.help());S0(rT,{notes:["Email send rows are short-lived; if the row was cleaned up, this falls back to retained ClickHouse events.","Use --html to print the stored HTML body when it is still available."],examples:["sequenzy email-sends get send_123","sequenzy email-sends get send_123 --html","sequenzy email-sends get send_123 --json"]});var ym0=rT.command("get <emailSendId>").description("Get an email send by ID").option("-c, --company <id>","Company ID override for personal API keys").option("--html","Print the full stored HTML body in text output").option("--html-only","Print only the stored HTML body").option("--json","Print raw JSON").action((A,x)=>MA0("get",{id:A,...x}));S0(ym0,{examples:["sequenzy email-sends get send_123","sequenzy email-sends get send_123 --html","sequenzy email-sends get send_123 --company comp_123 --json"]});var wm0=TE.command("send <email>").description("Send a transactional email").option("-t, --template <slug>","Transactional template slug to use").option("-s, --subject <subject>","Email subject").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--vars-json <json>","Variables as a JSON object, including nested arrays for repeat blocks").option("-v, --var <vars...>","Variables (key=value)").action(RB0);S0(wm0,{notes:["Use either --template or --html/--html-file.","--template takes a transactional API slug and cannot be combined with --subject.","--subject is required when sending raw HTML.","--vars-json accepts nested objects and arrays; --var overrides individual scalar keys."],examples:["sequenzy send user@example.com --template welcome --var firstName=Ana",`sequenzy send user@example.com --template welcome --vars-json '{"event":{"items":[{"title":"Plan","description":"Pro"}]}}'`,'sequenzy send user@example.com --subject "Welcome" --html-file ./welcome.html']});var F5=TE.command("campaigns").description("Manage campaigns").action(()=>F5.help());S0(F5,{notes:["Campaign creation supports HTML, Sequenzy blocks, or prompt-generated content.","Campaign updates support HTML, Sequenzy blocks, subject, name, labels, and reply-to changes.","Campaign scheduling requires a future ISO timestamp and a verified sending domain.","Use cancel to stop a scheduled or sending campaign, and pause/resume to control an active send.",xX],examples:["sequenzy campaigns list --status draft --company comp_123",'sequenzy campaigns create "April Launch" --subject "We shipped" --html-file ./campaign.html','sequenzy campaigns create "API Launch" --subject "We shipped" --label edm api --html-file ./campaign.html','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z"',"sequenzy campaigns test camp_123 --to you@example.com","sequenzy campaigns cancel camp_123","sequenzy campaigns duplicate camp_123 --mode ab_test"]});var $m0=F5.command("list").description("List campaigns").option("-s, --status <status>","Filter by status").option("--label <labels...>","Filter by label name").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>z5("list",A));S0($m0,{examples:["sequenzy campaigns list","sequenzy campaigns list --status draft --company comp_123","sequenzy campaigns list --label edm"]});var fm0=F5.command("get <id>").description("Get campaign details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("get",{id:A,...x}));S0(fm0,{examples:["sequenzy campaigns get camp_123 --company comp_123"]});var Sm0=F5.command("create <name>").description("Create a campaign").option("-s, --subject <subject>","Email subject").option("--preview-text <text>","Inbox preview text").option("--preheader-text <text>","Alias for --preview-text").option("--tracking-code <code>","Optional campaign tracking code").option("--status <status>","Initial status: draft or sent").option("--sent-at <iso-date>","Sent timestamp when creating with --status sent").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--prompt <prompt>","Generate campaign blocks from a prompt").option("--style <style>","Prompt generation style: minimal, branded, promotional").option("--tone <tone>","Prompt generation tone: professional, casual, friendly").option("--label <labels...>","Label names to assign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("create",{name:A,...x}));S0(Sm0,{notes:["--subject is required unless --prompt is provided. With --prompt, the generated subject is used unless --subject is also provided.","Use --preview-text or --preheader-text to set the inbox preview text. With --prompt, the generated preview is used unless one of these flags is provided.","Use --blocks-json or --blocks-file when you need editor-compatible blocks, including conditional content and per-block styles.","Use --status sent only to archive an already-sent campaign; it does not send email or create per-recipient delivery history.","Do not combine prompt, HTML flags, and blocks flags in the same request."],examples:['sequenzy campaigns create "April Launch" --prompt "Announce our new analytics dashboard"','sequenzy campaigns create "April Launch" --subject "We shipped" --preheader-text "Your quick product update" --html-file ./campaign.html','sequenzy campaigns create "Imported launch" --subject "We shipped" --status sent --sent-at "2026-05-01T14:00:00Z" --html-file ./campaign.html','sequenzy campaigns create "API Launch" --subject "We shipped" --label edm api --html-file ./campaign.html','sequenzy campaigns create "Segmented Launch" --subject "We shipped" --blocks-file ./campaign-blocks.json']});var Gm0=F5.command("update <id>").description("Update a draft campaign").option("-n, --name <name>","Campaign name").option("-s, --subject <subject>","Email subject").option("--preview-text <text>","Inbox preview text").option("--preheader-text <text>","Alias for --preview-text").option("--tracking-code <code>","Optional campaign tracking code").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--campaign-data-json <json>","Inline campaignData JSON object").option("--campaign-data-file <file>","Path to a JSON file with campaignData").option("--computed-lists-json <json>","Inline computedLists JSON array").option("--computed-lists-file <file>","Path to a JSON file with computedLists").option("--reply-to <email>","Set reply-to using an existing reply profile email").option("--reply-profile <id>","Set reply-to using a reply profile ID").option("--label <labels...>","Replace label names").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("update",{id:A,...x}));S0(Gm0,{notes:["Provide at least one update flag, including subject, preview text, content, labels, reply-to, campaign data, or computed lists.","Use --blocks-json or --blocks-file when you need editor-compatible blocks, including conditional content and per-block styles.","Use --campaign-data-file and --computed-lists-file to upload personalization data for repeat blocks.","Do not combine HTML flags with blocks flags in the same request.","Use either --reply-to or --reply-profile, not both."],examples:['sequenzy campaigns update camp_123 --subject "Updated subject"','sequenzy campaigns update camp_123 --preheader-text "Updated preview"',"sequenzy campaigns update camp_123 --html-file ./campaign-v2.html","sequenzy campaigns update camp_123 --blocks-file ./campaign-v2-blocks.json","sequenzy campaigns update camp_123 --campaign-data-file ./campaign-data.json --computed-lists-file ./computed-lists.json","sequenzy campaigns update camp_123 --reply-to support@example.com","sequenzy campaigns update camp_123 --label edm api"]});var Jm0=F5.command("schedule <id>").description("Schedule a draft or scheduled campaign").requiredOption("--at <datetime>","Future ISO date/time to send, for example 2026-06-01T14:00:00Z").option("--target-lists-json <json>","Inline campaign targetLists JSON object").option("--target-lists-file <file>","Path to a JSON file with campaign targetLists").option("--send-time-optimization","Enable send-time optimization for the scheduled send").option("--spread-over-hours <hours>","Spread delivery over 1-72 hours. Disables send-time optimization when set.").option("--repeat <interval>","Repeat the campaign weekly or monthly starting at --at. Audience membership is re-evaluated at every run.").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("schedule",{id:A,...x}));S0(Jm0,{notes:["The campaign must be draft or already scheduled.","Omit target lists to reuse saved campaign targeting, or default to all active subscribers.",'Target list examples include {"type":"all"}, {"type":"lists","listIds":["list_123"]}, and {"type":"segment","segmentId":"seg_123"}.',"With --repeat, the campaign becomes a recurring template: each run is duplicated and sent automatically. Re-schedule without --repeat (or cancel the campaign) to stop the series."],examples:['sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z"',`sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --target-lists-json '{"type":"all"}'`,'sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --target-lists-file ./target-lists.json','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --spread-over-hours 6','sequenzy campaigns schedule camp_123 --at "2026-06-01T14:00:00Z" --repeat monthly']});var Hm0=F5.command("test <id>").description("Send a test email for a campaign").requiredOption("--to <email>","Recipient email for the test").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("test",{id:A,...x}));S0(Hm0,{examples:["sequenzy campaigns test camp_123 --to you@example.com"]});var Km0=F5.command("cancel <id>").description("Cancel a scheduled, paused, or sending campaign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("cancel",{id:A,...x}));S0(Km0,{notes:["Cancelling stops scheduled, paused, waiting-approval, and actively sending campaigns immediately.","No confirmation prompt is shown so a bad send can be stopped fast."],examples:["sequenzy campaigns cancel camp_123"]});var Ym0=F5.command("pause <id>").description("Pause a campaign that is currently sending").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("pause",{id:A,...x}));S0(Ym0,{notes:["Only campaigns in sending status can be paused."],examples:["sequenzy campaigns pause camp_123"]});var Um0=F5.command("resume <id>").description("Resume a paused campaign").option("--spread-over-hours <hours>","Spread the remaining delivery over 1-72 hours").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("resume",{id:A,...x}));S0(Um0,{notes:["Only paused campaigns can be resumed."],examples:["sequenzy campaigns resume camp_123","sequenzy campaigns resume camp_123 --spread-over-hours 6"]});var qm0=F5.command("delete <id>").description("Delete a campaign").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("delete",{id:A,...x}));S0(qm0,{notes:["Sending, scheduled, and paused campaigns must be cancelled before they can be deleted."],examples:["sequenzy campaigns delete camp_123 --yes"]});var Xm0=F5.command("duplicate <id>").description("Duplicate a campaign as a new draft").option("--mode <mode>","Duplicate mode: campaign, ab_test, or variant","campaign").option("--variant-id <id>","A/B test variant to copy when --mode is variant").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("duplicate",{id:A,...x}));S0(Xm0,{notes:["Mode campaign copies the campaign email, ab_test also copies the A/B test with all variants, and variant copies one variant's content as a plain campaign."],examples:["sequenzy campaigns duplicate camp_123","sequenzy campaigns duplicate camp_123 --mode ab_test","sequenzy campaigns duplicate camp_123 --mode variant --variant-id var_b"]});var Zm0=F5.command("resend-to-non-openers <id>").description("Create a draft resend to subscribers who didn't open a sent campaign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>z5("resend-to-non-openers",{id:A,...x}));S0(Zm0,{notes:["Only available 6 hours after a sent campaign finishes sending.",`Creates a draft targeting the same audience plus a "didn't open this campaign" rule. Review the draft, then schedule or send it.`,"The response includes an estimate of how many subscribers haven't opened the original."],examples:["sequenzy campaigns resend-to-non-openers camp_123"]});var y7=TE.command("landing-pages").description("Manage landing pages").action(()=>y7.help());S0(y7,{notes:["Landing pages are created as drafts. Publish only after reviewing the page.","Use --content-json or --content-file for full editor-compatible landing page content.","Custom domains require a CNAME record pointing to pages.sequenzydns.com."],examples:["sequenzy landing-pages list --company comp_123",'sequenzy landing-pages create "Product Waitlist" --template waitlist',"sequenzy landing-pages publish lp_123","sequenzy landing-pages connect-domain pages.example.com"]});var Mm0=y7.command("list").description("List landing pages").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>y2("list",A));S0(Mm0,{examples:["sequenzy landing-pages list --company comp_123"]});var Wm0=y7.command("get <id>").description("Get landing page details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("get",{id:A,...x}));S0(Wm0,{examples:["sequenzy landing-pages get lp_123 --company comp_123"]});var Rm0=y7.command("create [name]").description("Create a draft landing page").option("--slug <slug>","Landing page URL slug").option("--template <template>","Template key, e.g. waitlist").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("create",{name:A,...x}));S0(Rm0,{notes:["When --content-json/--content-file is omitted, a valid default page is generated from --template."],examples:['sequenzy landing-pages create "Product Waitlist" --template waitlist','sequenzy landing-pages create "Launch Page" --slug launch --content-file ./landing-page.json']});var Lm0=y7.command("update <id>").description("Edit a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("update",{id:A,...x}));S0(Lm0,{examples:['sequenzy landing-pages update lp_123 --name "Updated page"',"sequenzy landing-pages update lp_123 --content-file ./landing-page.json"]});var jm0=y7.command("publish <id>").description("Publish a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("publish",{id:A,...x}));S0(jm0,{examples:["sequenzy landing-pages publish lp_123"]});var zm0=y7.command("unpublish <id>").description("Unpublish a landing page").option("-n, --name <name>","Landing page name").option("--slug <slug>","Landing page URL slug").option("--content-json <json>","Inline landing page content JSON").option("--content-file <file>","Path to landing page content JSON").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("unpublish",{id:A,...x}));S0(zm0,{examples:["sequenzy landing-pages unpublish lp_123"]});var Nm0=y7.command("delete <id>").description("Delete a landing page").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("delete",{id:A,...x}));S0(Nm0,{examples:["sequenzy landing-pages delete lp_123"]});var Om0=y7.command("connect-domain <domain>").description("Connect a custom landing page domain").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>y2("connect-domain",{domain:A,...x}));S0(Om0,{examples:["sequenzy landing-pages connect-domain pages.example.com --company comp_123"]});var Pm0=y7.command("update-domain-settings").description("Update or verify landing page domain settings").option("--domain <domain>","Replace the connected landing page domain").option("--verify","Refresh domain verification state").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>y2("update-domain-settings",A));S0(Pm0,{examples:["sequenzy landing-pages update-domain-settings --domain pages.example.com","sequenzy landing-pages update-domain-settings --verify"]});var i5=TE.command("sequences").description("Manage email sequences").action(()=>i5.help());S0(i5,{notes:["The CLI supports both AI goal-based sequence creation and explicit-step creation.","Trigger-specific options depend on --trigger. For example: contact_added needs --list-id, tag_added needs --tag-name, inactivity needs --event-name and --inactive-days.","Use --goal for AI generation, or --steps-file / --emails-file with JSON arrays that match the API step objects.","Use --enrollment-mode matching_field for product- or variant-specific event sequences.",'Explicit --steps-file input can include dynamic Stripe or Shopify discount actions with {"type":"create_discount","discount":{"provider":"stripe","discountType":"percent","percentOff":20,"duration":"once","appliesToAllPlans":true}}; the code is created when each subscriber reaches the step, and later emails can use {{discount.code}}.',"Discount action sequences require the selected provider integration, such as Stripe or Shopify, before enabling.",xX],examples:["sequenzy sequences list --company comp_123",'sequenzy sequences create onboarding --trigger event_received --event-name signup.completed --goal "Guide new users to activation"',"sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json","sequenzy sequences update seq_123 --steps-file ./sequence-updates.json","sequenzy sequences enable seq_123"]});var Vm0=i5.command("list").description("List sequences").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>M4("list",A));S0(Vm0,{examples:["sequenzy sequences list --company comp_123"]});var vm0=i5.command("get <id>").description("Get sequence details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("get",{id:A,...x}));S0(vm0,{examples:["sequenzy sequences get seq_123 --company comp_123"]});var Tm0=i5.command("create <name>").description("Create a sequence from AI goal input or explicit step content").requiredOption("-t, --trigger <trigger>","Sequence trigger type").option("-g, --goal <goal>","AI generation goal for the sequence").option("--email-count <count>","Number of AI-generated emails when using --goal (1-10)").option("--duration-days <days>","Total duration in days for AI-generated sequence delays when using --goal").option("--enrollment-mode <mode>","Enrollment mode: unlimited, one_time, or matching_field").option("--enrollment-field-path <path>","Event property dot path used by matching_field enrollment").option("--sending-window-start <time>","Earliest local send time for sequence emails (HH:mm, e.g. 08:00)").option("--sending-window-end <time>","Latest local send cutoff for sequence emails (HH:mm, e.g. 20:00)").option("--sending-window-timezone <timezone>","IANA timezone for the sequence sending window, e.g. Europe/Kiev").option("--sending-window-days <days>","Comma-separated days for sequence sends, e.g. weekdays or mon,tue,wed,thu,fri").option("--list-id <id>","List ID for contact_added triggers").option("--tag-name <name>","Tag name for tag_added triggers").option("--segment-id <id>","Segment ID for segment_entered triggers").option("--event-name <name>","Event name for event_received, inactivity, and frequency triggers").option("--property-filters-json <json>","Inline JSON array of event property filters for event_received triggers").option("--property-filters-file <file>","Path to a JSON file with event property filters").option("--inactive-days <days>","Days of inactivity for inactivity triggers").option("--min-count <count>","Minimum event count for frequency triggers").option("--time-window-days <days>","Time window for frequency triggers").option("--steps-json <json>","Inline JSON array of sequence steps").option("--steps-file <file>","Path to a JSON file with sequence steps").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("create",{name:A,...x}));S0(Tm0,{notes:["Provide either --goal for AI generation or --steps-json/--steps-file for explicit content, but not both.","Each explicit email step needs subject plus either html or blocks. Discount action steps use type=create_discount to dynamically create a code before an email that references {{discount.code}}.",'SMS steps use type="sms" with a plain-text "text" field (optional label, ineligibleAction skip|exit, imageUrls). Generate copy with `sequenzy generate sms` and check `sequenzy sms settings` first.','Update Subscriber steps use type="update_subscriber", nodeType="action_update_attributes", and config values such as {{event.plan}}, {{event.amount}}, or {{event.active}}.',"For migrated provider flows, put the exact provider HTML in each step's html field; Sequenzy stores it as raw HTML. Use delay or delayMs for waits.","Prefer --steps-file for anything non-trivial. The CLI passes the JSON through to the API.","Shopify replenishment and back-in-stock event sequences default to matching_field.","Use --enrollment-field-path for custom event keys such as order.id or product.providerVariantId.","Use --property-filters-json/--property-filters-file with event_received triggers to only start the sequence when the event properties match, e.g. scope a purchase sequence to one product.","Use --sending-window-start/--sending-window-end/--sending-window-timezone to hold every email step until the allowed local send window. Add --sending-window-days weekdays for working days only.","Discount action sequences require the selected provider integration, such as Stripe or Shopify, before enabling."],examples:['sequenzy sequences create onboarding --trigger event_received --event-name signup.completed --goal "Guide new users to activation" --email-count 4 --duration-days 10','sequenzy sequences create trial --trigger tag_added --tag-name trial --goal "Convert trial users" --sending-window-start 08:00 --sending-window-end 20:00 --sending-window-timezone Europe/Kiev --sending-window-days weekdays',"sequenzy sequences create restock --trigger event_received --event-name ecommerce.back_in_stock --enrollment-mode matching_field --steps-file ./steps.json",`sequenzy sequences create deliver-ebook --trigger event_received --event-name ecommerce.order_placed --property-filters-json '[{"path":"lineItems[].providerProductId","operator":"equals","value":"prod_123"}]' --steps-file ./steps.json`,"sequenzy sequences create post-purchase --trigger event_received --event-name ecommerce.order_placed --enrollment-mode matching_field --enrollment-field-path order.id --steps-file ./steps.json","sequenzy sequences create onboarding --trigger contact_added --list-id list_123 --steps-file ./steps.json",`sequenzy sequences create purchase-profile --trigger event_received --event-name saas.purchase --steps-json '[{"type":"update_subscriber","nodeType":"action_update_attributes","config":{"customAttributeUpdates":[{"name":"plan","value":"{{event.plan}}","valueType":"text"}]}},{"subject":"Thanks","html":"<p>Purchase received.</p>"}]'`,"sequenzy sequences create rescue --trigger inactivity --event-name login --inactive-days 14 --steps-file ./steps.json"]});var km0=i5.command("update <id>").description("Update sequence metadata, email step content, stop conditions, or paths").option("-n, --name <name>","Sequence name").option("--enrollment-mode <mode>","Enrollment mode: unlimited, one_time, or matching_field").option("--enrollment-field-path <path>","Event property dot path used by matching_field enrollment").option("--pause-new-enrollments","Stop new sequence enrollments while current recipients continue").option("--resume-new-enrollments","Resume new sequence enrollments while current recipients continue").option("--sending-window-start <time>","Earliest local send time for sequence emails (HH:mm, e.g. 08:00)").option("--sending-window-end <time>","Latest local send cutoff for sequence emails (HH:mm, e.g. 20:00)").option("--sending-window-timezone <timezone>","IANA timezone for the sequence sending window, e.g. Europe/Kiev").option("--sending-window-days <days>","Comma-separated days for sequence sends, e.g. weekdays or mon,tue,wed,thu,fri").option("--clear-sending-window","Disable the sequence sending window").option("--bcc-emails <emails>","Comma-separated BCC addresses copied on every email this sequence sends, e.g. a support inbox (max 10)").option("--clear-bcc-emails","Remove the sequence BCC addresses").option("--confirm-structural-change","Confirm an insertSteps or branch structural edit to an active sequence").option("--steps-json <json>","Inline JSON array of step updates").option("--steps-file <file>","Path to a JSON file with step updates").option("--emails-json <json>","Inline JSON array of email updates").option("--emails-file <file>","Path to a JSON file with email updates").option("--sms-steps-json <json>","Inline JSON array of SMS step content updates (targeted by nodeId)").option("--sms-steps-file <file>","Path to a JSON file with SMS step content updates").option("--subscriber-update-steps-json <json>","Inline JSON array of Update Subscriber configs targeted by nodeId").option("--subscriber-update-steps-file <file>","Path to a JSON file with Update Subscriber configs targeted by nodeId").option("--branch-json <json>","Inline JSON object for inserting an if/else branch with path steps").option("--branch-file <file>","Path to a JSON file for inserting an if/else branch with path steps").option("--insert-steps-json <json>","Inline JSON object for inserting new linear steps").option("--insert-steps-file <file>","Path to a JSON file for inserting new linear steps").option("--stop-condition-json <json>","Inline JSON object for updating the sequence stop condition").option("--stop-condition-file <file>","Path to a JSON file for updating the sequence stop condition").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("update",{id:A,...x}));S0(km0,{notes:["Use either the steps form or the emails form, not both.","Each update entry can target a step by nodeId, emailId, or by array order.","Use --insert-steps-json/--insert-steps-file to add new linear steps; use --steps-* or --emails-* to edit existing email steps.",'Inserted steps can be SMS steps: {"type":"sms","text":"...","delay":{"days":1}}. Generate copy with `sequenzy generate sms`.','Edit existing SMS steps with --sms-steps-json/--sms-steps-file: [{"nodeId":"node_sms","text":"New message"}]. Entries may also update label and ineligibleAction.','Edit existing Update Subscriber steps with --subscriber-update-steps-json/--subscriber-update-steps-file: [{"nodeId":"node_update","config":{"customAttributeUpdates":[{"name":"plan","value":"{{event.plan}}","valueType":"text"}]}}].',"For migrated provider flow steps, use html/htmlContent to preserve exact HTML as raw HTML and use delay or delayMs for waits.","When inserting steps or branches into an active sequence, pass --confirm-structural-change after confirming the live-flow impact.",'Use --stop-condition-json/--stop-condition-file with values like {"type":"has_tag","value":"customer"}; use {"type":"none","value":null} to clear it.',"Branch condition types include has_tag, does_not_have_tag, in_list, in_segment, event_received, link_clicked, and field_* comparisons. Use activityScope (this_sequence, previous_email, ever) for event and click checks.","Use --clear-sending-window to remove a configured send window.","Use --bcc-emails with a comma-separated list to blind-copy team inboxes on every sequence email; use --clear-bcc-emails to remove them."],examples:['sequenzy sequences update seq_123 --name "User Onboarding"',"sequenzy sequences update seq_123 --pause-new-enrollments","sequenzy sequences update seq_123 --resume-new-enrollments","sequenzy sequences update seq_123 --enrollment-mode matching_field","sequenzy sequences update seq_123 --enrollment-field-path order.id","sequenzy sequences update seq_123 --sending-window-start 08:00 --sending-window-end 20:00 --sending-window-timezone Europe/Kiev --sending-window-days weekdays","sequenzy sequences update seq_123 --clear-sending-window",'sequenzy sequences update seq_123 --bcc-emails "cs-team@yourcompany.com, founder@yourcompany.com"',"sequenzy sequences update seq_123 --clear-bcc-emails","sequenzy sequences update seq_123 --steps-file ./sequence-updates.json",`sequenzy sequences update seq_123 --stop-condition-json '{"type":"has_tag","value":"customer"}'`,`sequenzy sequences update seq_123 --insert-steps-json '{"afterNodeId":"node_email","steps":[{"delay":{"days":1},"subject":"Migration check-in","html":"<p>Need help migrating?</p>"}]}' --confirm-structural-change`,`sequenzy sequences update seq_123 --branch-json '{"afterNodeId":"node_email","branches":[{"conditionType":"link_clicked","linkUrl":"project-invites","activityScope":"previous_email","steps":[{"subject":"Invite accepted","html":"<p>Thanks for accepting.</p>"}]}],"elseSteps":[{"subject":"Reminder","html":"<p>Please accept your invite.</p>"}]}'`,"sequenzy sequences update seq_123 --branch-file ./branch.json",`sequenzy sequences update seq_123 --sms-steps-json '[{"nodeId":"node_sms","text":"Hey {{FIRST_NAME}}, your order shipped!"}]'`,`sequenzy sequences update seq_123 --subscriber-update-steps-json '[{"nodeId":"node_update","config":{"customAttributeUpdates":[{"name":"mrr","value":"{{event.amount}}","valueType":"number"}]}}]'`]});var um0=i5.command("enable <id>").description("Enable a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("enable",{id:A,...x}));S0(um0,{examples:["sequenzy sequences enable seq_123"]});var bm0=i5.command("disable <id>").description("Disable a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("disable",{id:A,...x}));S0(bm0,{examples:["sequenzy sequences disable seq_123"]});var im0=i5.command("pause-enrollments <id>").description("Stop new enrollments while current sequence recipients continue").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("pause-enrollments",{id:A,...x}));S0(im0,{notes:["The sequence must already be active. Existing active and waiting recipients keep moving through the sequence.","Use sequences disable when you want to freeze current recipients too."],examples:["sequenzy sequences pause-enrollments seq_123"]});var hm0=i5.command("resume-enrollments <id>").description("Resume new enrollments for an active sequence without changing current recipients").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("resume-enrollments",{id:A,...x}));S0(hm0,{notes:["The sequence must already be active. Use sequences enable to resume a fully disabled sequence."],examples:["sequenzy sequences resume-enrollments seq_123"]});var mm0=i5.command("enroll <id>").description("Manually enroll subscribers in a sequence").option("-e, --email <emails...>","Email addresses to enroll").option("--subscriber-ids <ids...>","Subscriber IDs to enroll").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--target-node-id <nodeId>","Sequence node to enroll at; defaults to the first step after the trigger").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("enroll",{id:A,...x}));S0(mm0,{notes:["Provide at least one target using --subscriber-ids or exactly one email source: --email, --emails-json, or --emails-file.","Subscribers must be active; unknown emails are reported as not found and inactive, unavailable, or already enrolled subscribers are skipped.","Enrollment requires the sequence to be accepting entrants (enabled and not paused for enrollment)."],examples:["sequenzy sequences enroll seq_123 --email one@example.com two@example.com","sequenzy sequences enroll seq_123 --subscriber-ids sub_123 sub_456 --target-node-id node_email_2","sequenzy sequences enroll seq_123 --emails-file ./vips.csv","sequenzy sequences enroll seq_123 --email one@example.com --target-node-id node_email_2"]});var cm0=i5.command("cancel-enrollments <id>").description("Cancel active or waiting subscriber enrollments in a sequence").option("--subscriber-id <id>","Cancel enrollments for one subscriber ID").option("--field-path <path>","Entry event property dot path to match, such as order.id").option("--field-values <values>","Comma-separated entry field values to match").option("--reason <reason>","Reason stored on cancelled enrollments").option("--apply","Actually cancel matches; otherwise only dry-run").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("cancel-enrollments",{id:A,...x}));S0(cm0,{notes:["sequenceId is always required. Provide exactly one target: --subscriber-id or --field-values.","Without --apply, this command only reports matching enrollments.","When --field-path is omitted, the API uses the sequence enrollmentFieldPath if configured."],examples:["sequenzy sequences cancel-enrollments seq_123 --subscriber-id sub_123 --apply","sequenzy sequences cancel-enrollments seq_123 --field-path order.id --field-values ord_123,ord_456"]});var lm0=i5.command("delete <id>").description("Delete a sequence").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>M4("delete",{id:A,...x}));S0(lm0,{examples:["sequenzy sequences delete seq_123"]});var w7=TE.command("ab-tests").description("Inspect and edit A/B test variants").action(()=>w7.help());S0(w7,{notes:["Use get to discover variant IDs, then update-variant to edit a specific A/B variant.","Only draft A/B tests can be edited.","create, add-variant, delete-variant, and delete work on campaign A/B tests."],examples:["sequenzy ab-tests list --sequence seq_123","sequenzy ab-tests get ab_123","sequenzy ab-tests stats ab_123 --period 7d","sequenzy ab-tests create camp_123 --test-percentage 20 --winner-criteria open_rate",'sequenzy ab-tests add-variant ab_123 --subject "Alternative subject"',"sequenzy ab-tests restart ab_123 --source-variant var_b",'sequenzy ab-tests update-variant ab_123 var_b --subject "New subject"',"sequenzy ab-tests update-variant ab_123 var_b --blocks-file ./variant-b.json"]});var nm0=w7.command("list").description("List A/B tests").option("--sequence <id>","Filter by sequence ID").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>a7("list",A));S0(nm0,{examples:["sequenzy ab-tests list --sequence seq_123"]});var pm0=w7.command("get <id>").description("Get A/B test details and variants").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("get",{id:A,...x}));S0(pm0,{examples:["sequenzy ab-tests get ab_123"]});var rm0=w7.command("stats <id>").description("Get A/B test variant stats").option("-p, --period <period>","Time period (1h, 24h, 7d, 30d, 90d)").option("--start <iso>","Custom range start as ISO 8601").option("--end <iso>","Custom range end as ISO 8601").option("--include-bots","Include machine-classified bot/scanner opens and clicks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("stats",{id:A,...x}));S0(rm0,{notes:["Use --period or both --start and --end. Custom ranges max at 90 days.","Bot/scanner opens and clicks are excluded by default; pass --include-bots to inspect raw engagement."],examples:["sequenzy ab-tests stats ab_123","sequenzy ab-tests stats ab_123 --period 30d","sequenzy ab-tests stats ab_123 --include-bots"]});var am0=w7.command("restart <id>").description("Run another sequence A/B test from an existing variant").option("--source-variant <id>","Variant to use as the new control. Defaults to the selected winner.").option("--test-type <type>","Test type for generated variants: subject or content").option("--winner-threshold <count>","Subscribers before selecting a winner (10-1000)").option("--variant-count <count>","Total variants including control (2-4)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("restart",{id:A,...x}));S0(am0,{notes:["Only sequence A/B tests with a selected winner can be restarted.","Run `sequenzy ab-tests get <id>` first to find variant IDs."],examples:["sequenzy ab-tests restart ab_123","sequenzy ab-tests restart ab_123 --source-variant var_b --test-type content --variant-count 3"]});var _m0=w7.command("update-variant <id> <variantId>").description("Update a draft A/B test variant").option("-s, --subject <subject>","Variant subject").option("--preview-text <text>","Variant preview text").option("--html <html>","Replacement HTML body").option("--html-file <file>","Read replacement HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>a7("update-variant",{id:A,variantId:x,...E}));S0(_m0,{notes:["Provide either HTML or blocks, not both.","Run `sequenzy ab-tests get <id>` first to find variant IDs."],examples:['sequenzy ab-tests update-variant ab_123 var_b --subject "New subject"',"sequenzy ab-tests update-variant ab_123 var_b --html-file ./variant-b.html"]});var dm0=w7.command("create <campaignId>").description("Create an A/B test for a draft campaign").option("-n, --name <name>","A/B test name").option("--test-percentage <percent>","Share of the audience used for testing (5-50, default 20)").option("--duration-minutes <minutes>","Test duration before a winner is selected (15-1440, default 240)").option("--winner-criteria <criteria>","Winner criteria: open_rate or click_rate (default open_rate)").option("--variants-json <json>","Inline JSON array of extra variants ({subject, previewText?, blocks?})").option("--variants-file <file>","Path to a JSON file with extra variants ({subject, previewText?, blocks?})").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("create",{campaignId:A,...x}));S0(dm0,{notes:["The campaign must be in draft or rejected status and must not already have an A/B test.","Variant A is created automatically from the campaign email; provided variants are added after it."],examples:["sequenzy ab-tests create camp_123","sequenzy ab-tests create camp_123 --test-percentage 30 --duration-minutes 120 --winner-criteria click_rate",`sequenzy ab-tests create camp_123 --variants-json '[{"subject":"Alternative subject"}]'`]});var om0=w7.command("add-variant <id>").description("Add a variant to a draft campaign A/B test").requiredOption("-s, --subject <subject>","Variant subject").option("--preview-text <text>","Variant preview text").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("add-variant",{id:A,...x}));S0(om0,{notes:["Variants can only be added while the A/B test is in draft status."],examples:['sequenzy ab-tests add-variant ab_123 --subject "Alternative subject"','sequenzy ab-tests add-variant ab_123 --subject "Alternative subject" --blocks-file ./variant.json']});var tm0=w7.command("delete-variant <id> <variantId>").description("Remove a variant from a draft campaign A/B test").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>a7("delete-variant",{id:A,variantId:x,...E}));S0(tm0,{notes:["Variant A is the control variant and cannot be deleted.","Variants can only be removed while the A/B test is in draft status."],examples:["sequenzy ab-tests delete-variant ab_123 var_b --yes"]});var sm0=w7.command("delete <id>").description("Delete a campaign A/B test").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>a7("delete",{id:A,...x}));S0(sm0,{notes:["Running A/B tests cannot be deleted; the linked campaign must be draft or rejected."],examples:["sequenzy ab-tests delete ab_123 --yes"]});var Lg=TE.command("templates").description("Manage email templates").action(()=>Lg.help());S0(Lg,{notes:["Template content can be provided as raw HTML or as Sequenzy blocks JSON.","Templates can be assigned labels and listed by label for integration dashboards.","Use blocks when you need conditional content, per-block styles, or an exact editor-compatible structure.",xX],examples:["sequenzy templates list --company comp_123","sequenzy templates list --label edm --company comp_123",'sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --label edm template --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --blocks-file ./welcome-blocks.json','sequenzy templates update tmpl_123 --subject "Updated" --html-file ./welcome-v2.html','sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html',"sequenzy templates localizations sync tmpl_123 --locale es fr"]});var em0=Lg.command("list").description("List all templates").option("--label <labels...>","Filter by label name").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Wg("list",A));S0(em0,{examples:["sequenzy templates list --company comp_123","sequenzy templates list --label edm --company comp_123"]});var Ac0=Lg.command("get <id>").description("Get template details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("get",{id:A,...x}));S0(Ac0,{examples:["sequenzy templates get tmpl_123 --company comp_123"]});var xc0=Lg.command("create <name>").description("Create a template").option("-s, --subject <subject>","Email subject (optional with --prompt)").option("--preview-text <text>","Email preview text override").option("--prompt <prompt>","Generate branded native blocks from a prompt").option("--style <style>","Prompt generation style").option("--tone <tone>","Prompt generation tone").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--label <labels...>","Label names to assign").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("create",{name:A,...x}));S0(xc0,{notes:["Provide exactly one of prompt, HTML, or blocks JSON content.","Use blocks when you need conditional content, per-block styles, or exact editor parity."],examples:['sequenzy templates create welcome --prompt "Welcome new customers"','sequenzy templates create welcome --subject "Welcome" --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --label edm template --html-file ./welcome.html','sequenzy templates create welcome --subject "Welcome" --blocks-file ./welcome-blocks.json']});var Ec0=Lg.command("update <id>").description("Update a template").option("-n, --name <name>","Template name").option("-s, --subject <subject>","Email subject").option("--html <html>","Email HTML content").option("--html-file <file>","Read HTML from file").option("--blocks-json <json>","Inline JSON array of Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with Sequenzy email blocks").option("--label <labels...>","Replace label names").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("update",{id:A,...x}));S0(Ec0,{notes:["Provide at least one of --name, --subject, --label, --html, --html-file, --blocks-json, or --blocks-file.","Do not combine HTML flags with blocks flags in the same request."],examples:['sequenzy templates update tmpl_123 --subject "Updated"',"sequenzy templates update tmpl_123 --label edm template","sequenzy templates update tmpl_123 --html-file ./welcome-v2.html","sequenzy templates update tmpl_123 --blocks-file ./welcome-v2-blocks.json"]});var EX=Lg.command("localizations").description("Manage localized template variants").action(()=>EX.help());S0(EX,{notes:["Set stores caller-supplied localized content immediately.","Sync queues AI translation for selected locales, or every enabled non-primary locale when --locale is omitted."],examples:['sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html',"sequenzy templates localizations sync tmpl_123 --locale es fr","sequenzy templates localizations sync tmpl_123"]});var Bc0=EX.command("set <id> <locale>").description("Create or replace a localized template variant").requiredOption("-s, --subject <subject>","Localized email subject").option("--preview-text <text>","Localized email preview text").option("--html <html>","Localized email HTML content").option("--html-file <file>","Read localized HTML from file").option("--blocks-json <json>","Inline JSON array of localized Sequenzy email blocks").option("--blocks-file <file>","Path to a JSON file with localized Sequenzy email blocks").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>Wg("set-localization",{id:A,locale:x,...E}));S0(Bc0,{notes:["The locale must be enabled in the company's localization settings and cannot be the primary locale.","Provide exactly one HTML or blocks content source."],examples:['sequenzy templates localizations set tmpl_123 es --subject "Hola" --html-file ./welcome-es.html','sequenzy templates localizations set tmpl_123 fr-CA --subject "Bienvenue" --blocks-file ./welcome-fr-ca.json']});var Dc0=EX.command("sync <id>").description("Queue AI translation for template locales").option("--locale <locales...>","Enabled locales to sync; omit to sync every non-primary locale").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("sync-localizations",{id:A,locales:x.locale,company:x.company,json:x.json}));S0(Dc0,{examples:["sequenzy templates localizations sync tmpl_123 --locale es fr","sequenzy templates localizations sync tmpl_123"]});var gc0=Lg.command("delete <id>").description("Delete a template").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Wg("delete",{id:A,...x}));S0(gc0,{notes:["Deletion fails when the template is still referenced by a campaign or sequence."],examples:["sequenzy templates delete tmpl_123"]});var s3=TE.command("companies").description("Inspect or create companies").action(()=>s3.help());S0(s3,{notes:["Company creation starts background website processing automatically."],examples:["sequenzy companies list","sequenzy companies get comp_123","sequenzy companies update comp_123 --primary-color '#0ea5e9'","sequenzy companies create example.com --name Example"]});var Cc0=s3.command("list").description("List accessible companies").option("--json","Print raw JSON").action((A)=>z$("list",A));S0(Cc0,{examples:["sequenzy companies list"]});var Fc0=s3.command("get <id>").description("Get company details").option("--json","Print raw JSON").action((A,x)=>z$("get",{id:A,...x}));S0(Fc0,{examples:["sequenzy companies get comp_123"]});var Qc0=s3.command("update <id>").description("Update company product info and AI brand context").option("-n, --name <name>","Company display name").option("--description <text>","Short product or company summary").option("--description-file <path>","Read description from a file").option("--logo-url <url>","Public logo URL").option("--founder-name <name>","Founder or sender name").option("--primary-color <hex>","Primary brand color, e.g. #f97316").option("--brand-colors-json <json>","Brand colors object as JSON").option("--brand-colors-file <path>","Read brand colors JSON from a file").option("--value-props-json <json>","Value propositions array as JSON").option("--value-props-file <path>","Read value propositions JSON from a file").option("--testimonials-json <json>","Testimonials array as JSON").option("--testimonials-file <path>","Read testimonials JSON from a file").option("--tone-voice <text>","Tone of voice guidance").option("--company-context <text>","Product knowledge for AI writing").option("--company-context-file <path>","Read product knowledge from a file").option("--email-length-preference <value>","Email length: concise, balanced, or detailed").option("--social-links-json <json>","Social links object as JSON").option("--social-links-file <path>","Read social links JSON from a file").option("--privacy-policy-url <url>","Privacy policy URL").option("--terms-url <url>","Terms of service URL").option("--address <address>","Physical mailing address").option("--language <code>","Primary language code").option("--pricing-json <json>","Pricing object as JSON").option("--pricing-file <path>","Read pricing JSON from a file").option("--font-family <family>","Default email font family").option("--email-direction <direction>","Default email direction: ltr or rtl").option("--json","Print raw JSON").action((A,x)=>z$("update",{id:A,...x}));S0(Qc0,{examples:["sequenzy companies update comp_123 --primary-color '#0ea5e9'","sequenzy companies update comp_123 --company-context-file ./product.md --tone-voice 'clear, direct, warm'",`sequenzy companies update comp_123 --value-props-json '[{"title":"Fast setup","description":"Launch lifecycle emails in minutes."}]'`]});var Ic0=s3.command("create <domain>").description("Create a company and queue website processing").option("-n, --name <name>","Company name").option("--json","Print raw JSON").action((A,x)=>z$("create",{domain:A,...x}));S0(Ic0,{examples:["sequenzy companies create example.com","sequenzy companies create https://example.com --name Example"]});var bS=TE.command("tags").description("Manage tag definitions").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>t3("list",A));S0(bS,{notes:["Running `sequenzy tags` without a subcommand lists tag definitions.","Tag names are normalized to lowercase with dashes; system tags cannot be changed or deleted."],examples:["sequenzy tags --company comp_123","sequenzy tags list","sequenzy tags create vip --color purple","sequenzy tags update tag_123 --color red","sequenzy tags delete tag_123 --yes"]});var yc0=bS.command("list").description("List tag definitions").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>t3("list",A));S0(yc0,{examples:["sequenzy tags list --company comp_123"]});var wc0=bS.command("create <name>").description("Create a tag definition").option("--color <color>","Tag color, e.g. gray, red, green, blue, purple").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("create",{name:A,...x}));S0(wc0,{notes:["Names are normalized to lowercase with dashes, so `VIP Customer` becomes `vip-customer`."],examples:["sequenzy tags create vip","sequenzy tags create vip --color purple"]});var $c0=bS.command("update <tagId>").description("Update a tag definition color").requiredOption("--color <color>","New tag color").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("update",{tagId:A,...x}));S0($c0,{notes:["System tags cannot be updated."],examples:["sequenzy tags update tag_123 --color red"]});var fc0=bS.command("delete <tagId>").description("Delete a tag definition").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>t3("delete",{tagId:A,...x}));S0(fc0,{notes:["Deleting a tag removes it from every subscriber.","Tags used by sequences cannot be deleted until those sequences stop referencing them."],examples:["sequenzy tags delete tag_123 --yes"]});var T1=TE.command("lists").description("Manage subscriber lists").action(()=>T1.help());S0(T1,{examples:["sequenzy lists list --company comp_123",'sequenzy lists create Newsletter --description "Public newsletter list"','sequenzy lists update list_123 --name "Weekly Newsletter" --private',"sequenzy lists add-subscribers list_123 --emails-file ./batch-001.csv","sequenzy lists remove-subscribers list_123 --email one@example.com","sequenzy lists import list_123 --emails-file ./batch-001.csv","sequenzy lists delete list_123 --yes"]});var Sc0=T1.command("list").description("List subscriber lists").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Kg("list",A));S0(Sc0,{examples:["sequenzy lists list --company comp_123"]});var Gc0=T1.command("create <name>").description("Create a subscriber list").option("-d, --description <text>","List description").option("--private","Mark the list as private").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("create",{name:A,...x}));S0(Gc0,{examples:['sequenzy lists create Newsletter --description "Public newsletter list"',"sequenzy lists create VIP --private --company comp_123"]});var Jc0=T1.command("add-subscribers <listId>").description("Add subscribers to a list from emails, JSON, or a file").option("-e, --email <emails...>","Email addresses to add").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--duplicate-strategy <strategy>","Duplicate strategy: skip, merge, or overwrite","skip").option("--enroll-sequences","Enroll newly created subscribers in matching sequences").option("--opt-in-mode <mode>","Consent mode: default, confirmed, or double_opt_in","default").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("add-subscribers",{listId:A,...x}));S0(Jc0,{notes:["Provide exactly one source: --email, --emails-json, or --emails-file.","Files may be newline-separated, CSV with an email column, a JSON email array, or a JSON object with emails/subscribers.","CSV headers named email, e-mail, email address, or mail are detected; otherwise the first column is used.","New subscribers are not enrolled in matching sequences unless --enroll-sequences is set."],examples:["sequenzy lists add-subscribers list_123 --email one@example.com two@example.com",`sequenzy lists add-subscribers list_123 --emails-json '["one@example.com","two@example.com"]'`,"sequenzy lists add-subscribers list_123 --emails-file ./batch-001.csv"]});var Hc0=T1.command("import <listId>").description("Alias for add-subscribers; import subscribers into a list").option("-e, --email <emails...>","Email addresses to add").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("--duplicate-strategy <strategy>","Duplicate strategy: skip, merge, or overwrite","skip").option("--enroll-sequences","Enroll newly created subscribers in matching sequences").option("--opt-in-mode <mode>","Consent mode: default, confirmed, or double_opt_in","default").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("add-subscribers",{listId:A,...x}));S0(Hc0,{notes:["`lists import` is an alias for `lists add-subscribers`.","Provide exactly one source: --email, --emails-json, or --emails-file.","Files may be newline-separated, CSV with an email column, a JSON email array, or a JSON object with emails/subscribers.","CSV headers named email, e-mail, email address, or mail are detected; otherwise the first column is used."],examples:["sequenzy lists import list_123 --emails-file ./batch-001.csv",`sequenzy lists import list_123 --emails-json '["one@example.com","two@example.com"]'`]});var Kc0=T1.command("update <listId>").description("Update a subscriber list").option("-n, --name <name>","List name").option("-d, --description <text>","List description").option("--private","Mark the list as private").option("--no-private","Mark the list as public").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("update",{listId:A,...x}));S0(Kc0,{notes:["Provide at least one of --name, --description, --private, or --no-private."],examples:['sequenzy lists update list_123 --name "Weekly Newsletter"',"sequenzy lists update list_123 --private","sequenzy lists update list_123 --no-private"]});var Yc0=T1.command("remove-subscribers <listId>").description("Remove subscribers from a list by email").option("-e, --email <emails...>","Email addresses to remove").option("--emails-json <json>","JSON array of emails, or an object with emails/subscribers").option("--emails-file <file>","JSON, CSV, or newline-separated file with subscriber emails").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("remove-subscribers",{listId:A,...x}));S0(Yc0,{notes:["Provide exactly one source: --email, --emails-json, or --emails-file.","Subscribers are only removed from the list; they stay in your audience.","Emails that do not match a subscriber are reported as not found."],examples:["sequenzy lists remove-subscribers list_123 --email one@example.com two@example.com","sequenzy lists remove-subscribers list_123 --emails-file ./churned.csv"]});var Uc0=T1.command("delete <listId>").description("Delete a subscriber list").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Kg("delete",{listId:A,...x}));S0(Uc0,{notes:["Deleting a list removes all of its memberships; subscribers themselves are kept."],examples:["sequenzy lists delete list_123 --yes"]});var TF=TE.command("segments").description("Manage segments").action(()=>TF.help());S0(TF,{notes:["Use --filter-json for arbitrary segment filters. The CLI will fill in missing filter IDs.","Use --match any to create a segment that matches any filter instead of all filters.",'Engagement filters (emailSent, emailOpened, emailClicked, emailBounced, emailComplained) accept either a time range as the value ("7d", "30d", "90d", "180d", "all") OR a specific campaign ("campaign:<campaign_id>"). Combine multiple engagement filters with --match all to build things like "bounced campaign A but not campaign B".'],examples:["sequenzy segments list --company comp_123",'sequenzy segments create --name "Bought Pro" --stripe-product prod_pro',`sequenzy segments create --name "VIP or Churn Risk" --match any --filter-json '[{"field":"tag","operator":"contains","value":"vip"},{"field":"emailOpened","operator":"is_not","value":"30d"}]'`,`sequenzy segments create --name "Bounced A not B" --filter-json '[{"field":"emailBounced","operator":"is","value":"campaign:cmp_abc"},{"field":"emailBounced","operator":"is_not","value":"campaign:cmp_xyz"}]'`]});var qc0=TF.command("list").description("List all segments").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>L3("list",A));S0(qc0,{examples:["sequenzy segments list --company comp_123"]});var Xc0=TF.command("create").description("Create a segment").requiredOption("-n, --name <name>","Segment name").option("-c, --company <id>","Company ID override for personal API keys").option("--match <mode>","How filters combine: all or any","all").option("--stripe-product <id>","Stripe product ID to segment on").option("--commerce-product <id>","Commerce product to segment on, as provider:productId (e.g. shopify:42); a bare ID matches any provider").option("--purchase-operator <operator>","Purchase operator (bought, didnt-buy, at-least, less-than)","bought").option("--payments <number>","Payment threshold for at-least/less-than").option("--orders <number>","Order threshold for at-least/less-than with --commerce-product").option("--filter-json <json>","Raw JSON array of segment filters (IDs are optional)").option("--json","Print raw JSON").action((A)=>L3("create",A));S0(Xc0,{examples:['sequenzy segments create --name "Bought Pro" --stripe-product prod_pro','sequenzy segments create --name "3+ Pro Payments" --stripe-product prod_pro --purchase-operator at-least --payments 3','sequenzy segments create --name "Starter Kit Buyers" --commerce-product api:prod-starter-kit','sequenzy segments create --name "Repeat Kit Buyers" --commerce-product api:prod-starter-kit --purchase-operator at-least --orders 2',`sequenzy segments create --name "VIP or Churn Risk" --match any --filter-json '[{"field":"tag","operator":"contains","value":"vip"},{"field":"emailOpened","operator":"is_not","value":"30d"}]'`,`sequenzy segments create --name "Bounced A not B" --filter-json '[{"field":"emailBounced","operator":"is","value":"campaign:cmp_abc"},{"field":"emailBounced","operator":"is_not","value":"campaign:cmp_xyz"}]'`]});var Zc0=TF.command("count <id>").description("Get subscriber count for a segment").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("count",{id:A,...x}));S0(Zc0,{examples:["sequenzy segments count seg_123 --company comp_123"]});var Mc0=TF.command("update <id>").description("Update a segment name, filters, or join operator").option("-n, --name <name>","Segment name").option("--filters-json <json>","Raw JSON array of segment filters, or an object with a root group").option("--filters-file <file>","Path to a JSON file with segment filters or a root group").option("--join-operator <operator>","How filters combine: and or or").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("update",{id:A,...x}));S0(Mc0,{notes:["Provide at least one of --name, --filters-json, --filters-file, or --join-operator.","Filters replace the existing filter set; missing filter IDs are filled in by the CLI."],examples:['sequenzy segments update seg_123 --name "Churn Risk"',`sequenzy segments update seg_123 --filters-json '[{"field":"tag","operator":"contains","value":"vip"}]'`,"sequenzy segments update seg_123 --join-operator or"]});var Wc0=TF.command("delete <id>").description("Delete a segment").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>L3("delete",{id:A,...x}));S0(Wc0,{examples:["sequenzy segments delete seg_123 --yes"]});var jg=TE.command("audience-syncs").description("Sync segments to Meta custom audiences").action(()=>jg.help());S0(jg,{notes:["Requires the Meta Ads integration to be connected in the dashboard (Settings -> Integrations).",'Use --template to start from a ready-made segment ("zero-ltv", "no-purchase-1y", "recent-buyers", "high-spenders-ecom", "non-buyers", "engaged"); the segment is created automatically on first use.',"Audiences are add-only: subscribers who leave the segment stay in the Meta audience."],examples:["sequenzy audience-syncs list",'sequenzy audience-syncs create --template recent-buyers --ad-account act_123 --name "Sequenzy - Recent buyers"']});var Rc0=jg.command("list").description("List audience syncs with schedule and status").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("list",A));S0(Rc0,{examples:["sequenzy audience-syncs list --company comp_123"]});var Lc0=jg.command("ad-accounts").description("List the connected Meta ad accounts").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("ad-accounts",A));S0(Lc0,{examples:["sequenzy audience-syncs ad-accounts"]});var jc0=jg.command("create").description("Create an audience sync (segment -> Meta custom audience)").option("--segment <id>","Existing segment ID to sync").option("--template <id>",'Predefined segment template (for example "recent-buyers", "zero-ltv", "no-purchase-1y")').requiredOption("--ad-account <id>","Meta ad account ID (see `sequenzy audience-syncs ad-accounts`)").requiredOption("-n, --name <name>","Audience name in Meta Ads Manager").option("--frequency <frequency>","Sync frequency: hourly, daily, or weekly","daily").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>_C("create",A));S0(jc0,{examples:['sequenzy audience-syncs create --template recent-buyers --ad-account act_123 --name "Sequenzy - Recent buyers"','sequenzy audience-syncs create --segment seg_123 --ad-account act_123 --name "Sequenzy - VIPs" --frequency hourly']});var zc0=jg.command("update <id>").description("Change an audience sync's frequency or pause/resume it").option("--frequency <frequency>","Sync frequency: hourly, daily, or weekly").option("--active <bool>","true to resume, false to pause").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("update",{id:A,...x}));S0(zc0,{examples:["sequenzy audience-syncs update sync_123 --frequency weekly","sequenzy audience-syncs update sync_123 --active false"]});var Nc0=jg.command("delete <id>").description("Remove an audience sync (the Meta audience itself is kept)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("delete",{id:A,...x}));S0(Nc0,{examples:["sequenzy audience-syncs delete sync_123"]});var Oc0=jg.command("sync <id>").description("Trigger an immediate sync run").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>_C("sync",{id:A,...x}));S0(Oc0,{examples:["sequenzy audience-syncs sync sync_123"]});var zg=TE.command("products").description("Manage products and digital delivery files").action(()=>zg.help());S0(zg,{notes:["Products sync from Stripe, Shopify, and WooCommerce integrations.","Attach a deliverable file to a Stripe product, then reference it in purchase sequence emails with {{event.download.url}} and {{event.download.name}}."],examples:["sequenzy products list --provider stripe","sequenzy products sync",'sequenzy products upsert my-ebook --title "The Ebook" --price-cents 1900 --file ./ebook.pdf',"sequenzy products attach-file prod_abc --file ./guide.pdf","sequenzy products attach-file prod_abc --url https://example.com/guide.pdf --name guide.pdf","sequenzy products detach-file prod_abc","sequenzy products delete my-ebook"]});var Pc0=zg.command("list").description("List synced products including attached delivery files").option("-c, --company <id>","Company ID override for personal API keys").option("--provider <provider>","Filter by provider (stripe, shopify, woocommerce, manual)").option("--search <query>","Filter products by title").option("--json","Print raw JSON").action((A)=>YF("list",A));S0(Pc0,{examples:["sequenzy products list --provider stripe"]});var Vc0=zg.command("sync").description("Queue a Stripe product catalog sync").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>YF("sync",A));S0(Vc0,{examples:["sequenzy products sync --company comp_123"]});var vc0=zg.command("upsert [productId]").description("Create or update products in the catalog (Commerce API, keyed by your productId)").option("--title <title>","Product title (required for single upserts)").option("--description <text>","Product description").option("--price-cents <cents>","Price in the smallest currency unit").option("--currency <code>","ISO currency code, e.g. USD").option("--image-url <url>","Product image URL").option("--product-url <url>","Product page URL").option("--in-stock","Mark the product as in stock").option("--out-of-stock","Mark the product as out of stock").option("--file <path>","Deliverable file to upload and attach in one step").option("--url <link>","External deliverable http(s) link to attach in one step").option("--name <fileName>","Display name for the attached deliverable").option("--products-json <json>","Inline JSON array of products to upsert").option("--products-file <file>","Path to a JSON file with products to upsert").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("upsert",x,A));S0(vc0,{notes:["Products are keyed by your own productId and stored under the api provider.","Combine --file or --url with a single-product upsert to attach the deliverable file in the same command.","Use --products-json/--products-file for bulk upserts of up to 100 products."],examples:['sequenzy products upsert my-ebook --title "The Ebook" --price-cents 1900 --currency USD --file ./ebook.pdf','sequenzy products upsert my-course --title "The Course" --url https://files.example.com/course.zip',"sequenzy products upsert --products-file ./products.json"]});var Tc0=zg.command("delete <productId>").description("Delete a product previously pushed via the Commerce API").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("delete",x,A));S0(Tc0,{examples:["sequenzy products delete my-ebook"]});var kc0=zg.command("attach-file <id>").description("Attach the deliverable file buyers receive after purchase").option("--file <path>","Local file to upload (PDF, ePub, ZIP, media)").option("--url <link>","External http(s) link instead of an upload").option("--name <fileName>","Display name for the file (e.g. guide.pdf)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("attach-file",x,A));S0(kc0,{examples:["sequenzy products attach-file prod_abc --file ./guide.pdf","sequenzy products attach-file prod_abc --url https://example.com/template.zip --name template.zip"]});var uc0=zg.command("detach-file <id>").description("Remove the attached delivery file from a product").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>YF("detach-file",x,A));S0(uc0,{examples:["sequenzy products detach-file prod_abc"]});var iS=TE.command("team").description("Manage team members and invitations").action(()=>iS.help());S0(iS,{notes:["Inviting and cancelling invitations requires owner or admin access.","Billing access can only be granted by the company owner."],examples:["sequenzy team list","sequenzy team invite teammate@example.com --role admin","sequenzy team cancel-invitation inv_123"]});var bc0=iS.command("list").description("List team members and pending invitations").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>sq("list",A));S0(bc0,{examples:["sequenzy team list --company comp_123"]});var ic0=iS.command("invite <email>").description("Invite a team member or add an existing user").requiredOption("--role <role>","Member role: admin, viewer, or restricted").option("--billing-access","Allow the member to manage billing (owner only)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>sq("invite",{email:A,...x}));S0(ic0,{notes:["Existing Sequenzy users are added to the team immediately; everyone else receives an email invitation.","Invitations expire automatically and can be re-sent by inviting the same email again after cancelling."],examples:["sequenzy team invite teammate@example.com --role admin","sequenzy team invite editor@example.com --role restricted","sequenzy team invite finance@example.com --role viewer --billing-access"]});var hc0=iS.command("cancel-invitation <invitationId>").description("Cancel a pending team invitation").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>sq("cancel-invitation",{invitationId:A,...x}));S0(hc0,{notes:["Run `sequenzy team list` first to find invitation IDs."],examples:["sequenzy team cancel-invitation inv_123 --yes"]});var Ng=TE.command("inbox").description("Manage subscriber reply conversations").action(()=>Ng.help());S0(Ng,{notes:["The inbox collects subscriber replies to campaigns, sequences, and transactional email.","Use --note on replies to add an internal note instead of emailing the subscriber."],examples:["sequenzy inbox list --status open --unread","sequenzy inbox get conv_123","sequenzy inbox reply conv_123 --text 'Thanks for reaching out!'","sequenzy inbox close conv_123"]});var mc0=Ng.command("list").description("List conversations").option("-s, --status <status>","Filter by status: open, closed, or all").option("--search <query>","Search by subscriber email, name, or subject").option("--unread","Only conversations with unread messages").option("-p, --page <number>","Page number (default 1)").option("-l, --limit <number>","Results per page (1-100, default 20)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>KF("list",A));S0(mc0,{examples:["sequenzy inbox list","sequenzy inbox list --status open --unread",'sequenzy inbox list --search "refund" --limit 50']});var cc0=Ng.command("get <conversationId>").description("Get a conversation with its full message history").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("get",{conversationId:A,...x}));S0(cc0,{examples:["sequenzy inbox get conv_123","sequenzy inbox get conv_123 --json"]});var lc0=Ng.command("reply <conversationId>").description("Reply to a conversation or add an internal note").option("-t, --text <text>","Plain text message body").option("--html-file <file>","Read an HTML message body from file").option("-s, --subject <subject>","Override the reply subject").option("--note","Add an internal note instead of emailing the subscriber").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("reply",{conversationId:A,...x}));S0(lc0,{notes:["Provide a body with --text and/or --html-file.","Outbound replies are emailed to the subscriber and reopen closed conversations; notes are internal only."],examples:["sequenzy inbox reply conv_123 --text 'Thanks for reaching out!'","sequenzy inbox reply conv_123 --html-file ./reply.html","sequenzy inbox reply conv_123 --text 'Customer asked for a refund' --note"]});var nc0=Ng.command("close <conversationId>").description("Close a conversation").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("close",{conversationId:A,...x}));S0(nc0,{examples:["sequenzy inbox close conv_123"]});var pc0=Ng.command("reopen <conversationId>").description("Reopen a closed conversation").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("reopen",{conversationId:A,...x}));S0(pc0,{examples:["sequenzy inbox reopen conv_123"]});var rc0=Ng.command("mark-read <conversationId>").description("Mark all messages in a conversation as read").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>KF("mark-read",{conversationId:A,...x}));S0(rc0,{examples:["sequenzy inbox mark-read conv_123"]});var k1=TE.command("webhooks").description("Manage outbound webhook endpoints").action(()=>k1.help());S0(k1,{notes:["Webhook payloads are signed; the signing secret is only shown once at creation time.","Valid events cover email.*, subscriber.*, and sequence.* types; omit --event to use the default set."],examples:["sequenzy webhooks list","sequenzy webhooks create --name CI --url https://example.com/hook --event email.bounced","sequenzy webhooks deliveries wh_123 --limit 50","sequenzy webhooks replay wh_123 del_456"]});var ac0=k1.command("list").description("List outbound webhook endpoints").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Rg("list",A));S0(ac0,{examples:["sequenzy webhooks list --company comp_123"]});var _c0=k1.command("create").description("Create an outbound webhook endpoint").requiredOption("-n, --name <name>","Webhook name").requiredOption("-u, --url <url>","HTTPS endpoint URL").option("-e, --event <events...>","Event types to deliver, e.g. email.bounced subscriber.list_subscribed subscriber.list_unsubscribed").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>Rg("create",A));S0(_c0,{notes:["The signing secret is printed once on creation and cannot be retrieved later - store it immediately.","Omit --event to subscribe to the default event set."],examples:["sequenzy webhooks create --name CI --url https://example.com/hook --event email.bounced","sequenzy webhooks create --name 'All events' --url https://example.com/hook"]});var dc0=k1.command("update <id>").description("Update an outbound webhook endpoint").option("-n, --name <name>","Webhook name").option("-u, --url <url>","HTTPS endpoint URL").option("-e, --event <events...>","Replacement event types").option("--enable","Enable the webhook").option("--disable","Disable the webhook").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("update",{id:A,...x}));S0(dc0,{notes:["Provide at least one of --name, --url, --event, --enable, or --disable.","Changing the URL or re-enabling resets the failure circuit breaker."],examples:["sequenzy webhooks update wh_123 --url https://example.com/new-hook","sequenzy webhooks update wh_123 --event email.bounced email.complained","sequenzy webhooks update wh_123 --disable"]});var oc0=k1.command("delete <id>").description("Delete an outbound webhook endpoint").option("-y, --yes","Skip the confirmation prompt").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("delete",{id:A,...x}));S0(oc0,{examples:["sequenzy webhooks delete wh_123 --yes"]});var tc0=k1.command("test <id>").description("Send a test event to a webhook endpoint").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("test",{id:A,...x}));S0(tc0,{notes:["The webhook must be enabled to receive a test event."],examples:["sequenzy webhooks test wh_123"]});var sc0=k1.command("deliveries <id>").description("List recent deliveries for a webhook endpoint").option("-l, --limit <number>","Maximum deliveries to return (1-100)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>Rg("deliveries",{id:A,...x}));S0(sc0,{examples:["sequenzy webhooks deliveries wh_123","sequenzy webhooks deliveries wh_123 --limit 50"]});var ec0=k1.command("replay <id> <deliveryId>").description("Replay a webhook delivery").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x,E)=>Rg("replay",{id:A,deliveryId:x,...E}));S0(ec0,{notes:["Run `sequenzy webhooks deliveries <id>` first to find delivery IDs."],examples:["sequenzy webhooks replay wh_123 del_456"]});var Al0=TE.command("account").description("Show account info").option("--json","Print raw JSON").action(Mp);S0(Al0,{examples:["sequenzy account","sequenzy account --json"]});var xl0=TE.command("feedback <message>").description("Send product feedback about Sequenzy to the Sequenzy team").option("--category <category>","Category: missing_capability, bug, docs, ux, praise, other (default: other)").option("--context <context>","What you were trying to accomplish when you hit the gap").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>zA0(A,x));S0(xl0,{notes:["Agents: send feedback whenever the user wanted something the CLI, API, or MCP tools do not support. The Sequenzy team reads every submission."],examples:['sequenzy feedback "No command to bulk-delete campaigns by label" --category missing_capability','sequenzy feedback "Segment count and list output disagree for seg_123" --category bug --context "Auditing a re-engagement segment"']});var aT=TE.command("api-keys").description("Create company API keys").action(()=>aT.help());S0(aT,{notes:["The plain API key is only returned on creation. Save it immediately."],examples:["sequenzy api-keys create",'sequenzy api-keys create --name "CI deploy key" --company comp_123']});var El0=aT.command("create").description("Create a company API key").option("-n, --name <name>","Human-readable API key name").option("-c, --company <id>","Company ID override for personal API keys").option("--preset <preset>","Permission preset: full_access, read_only, agent_safe, ai_drafting, data_ingest_safe, data_ingest_automations, transactional_sender, marketing_sender (default: full_access)").option("--scopes <scopes>","Comma-separated explicit permission scopes (overrides --preset)").option("--json","Print raw JSON").action((A)=>Wp("create",A));S0(El0,{notes:["Keys default to full access. Pass --preset or --scopes to restrict what the key can do."],examples:["sequenzy api-keys create",'sequenzy api-keys create --name "CI deploy key" --company comp_123','sequenzy api-keys create --preset transactional_sender --name "Order emails"','sequenzy api-keys create --scopes "subscribers:read,subscribers:write,events:write"']});var e3=TE.command("websites").description("Manage sending domains and integration guides").action(()=>e3.help());S0(e3,{notes:["Use 'guide' for code examples and 'check' to inspect current DNS verification details."],examples:["sequenzy websites list --company comp_123","sequenzy websites add example.com --company comp_123","sequenzy websites guide --framework nextjs --use-case transactional"]});var Bl0=e3.command("list").description("List sending domains for a company").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>TS("list",A));S0(Bl0,{examples:["sequenzy websites list --company comp_123"]});var Dl0=e3.command("add <domain>").description("Add a sending domain").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>TS("add",{domain:A,...x}));S0(Dl0,{examples:["sequenzy websites add example.com --company comp_123"]});var gl0=e3.command("check <domain>").description("Inspect sending domain verification details").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>TS("check",{domain:A,...x}));S0(gl0,{examples:["sequenzy websites check example.com --company comp_123"]});var Cl0=e3.command("guide").description("Print framework-specific integration code").option("--framework <name>","Framework name, e.g. nextjs, express, python").option("--use-case <name>","Use case, e.g. transactional, subscribe_form, event_tracking").option("--json","Print raw JSON").action((A)=>TS("guide",A));S0(Cl0,{examples:["sequenzy websites guide","sequenzy websites guide --framework nextjs --use-case transactional","sequenzy websites guide --framework python --use-case event_tracking"]});var _T=TE.command("shopify").description("Manage the connected Shopify store's automation settings").action(()=>_T.help());S0(_T,{notes:["Requires a connected Shopify integration on the company.","Browse abandonment emails shoppers who viewed a product but didn't buy; price drop alerts email recent viewers when a product's price falls."],examples:["sequenzy shopify settings get","sequenzy shopify settings update --price-drop off","sequenzy shopify settings update --browse-delay-hours 4 --browse-cooldown-hours 48"]});var dT=_T.command("settings").description("Browse-abandonment and price-drop automation settings").action(()=>dT.help()),Fl0=dT.command("get").description("Show the effective automation settings").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>iT("get",A));S0(Fl0,{notes:["Shows the effective values - platform defaults apply until the store overrides them."],examples:["sequenzy shopify settings get --json"]});var Ql0=dT.command("update").description("Update browse-abandonment and/or price-drop settings").option("--browse-abandonment <on|off>","Enable or disable browse abandonment").option("--browse-delay-hours <hours>","Hours to wait after a product view before the abandonment check (default 2)").option("--browse-cooldown-hours <hours>","Minimum hours between browse-abandoned events per subscriber (default 24)").option("--reset-browse-abandonment","Reset browse abandonment to the platform defaults").option("--price-drop <on|off>","Enable or disable price drop alerts").option("--price-drop-min-percent <percent>","Minimum price decrease percent to alert on (default 5)").option("--price-drop-lookback-days <days>","How many days back viewers qualify as the audience (default 30)").option("--price-drop-cooldown-days <days>","Minimum days between price-drop events per subscriber and product (default 7)").option("--reset-price-drop","Reset price drop alerts to the platform defaults").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>iT("update",A));S0(Ql0,{notes:["Partial update: omitted flags keep their current values.","If no sequence handles ecommerce.price_drop, Sequenzy sends a default price-drop email to active subscribers."],examples:["sequenzy shopify settings update --browse-abandonment off","sequenzy shopify settings update --price-drop-min-percent 10 --price-drop-lookback-days 14","sequenzy shopify settings update --reset-price-drop"]});var BX=TE.command("sms").description("Inspect the SMS add-on status for a company").action(()=>BX.help());S0(BX,{notes:["SMS sequence steps only send when the add-on is enabled, the plan is eligible, and an active number exists.",'Add SMS steps to sequences with type: "sms" in sequences create --steps-* or update --insert-steps-*.','Generate SMS copy with `sequenzy generate sms "<prompt>"`.'],examples:["sequenzy sms settings","sequenzy sms settings --json"]});var Il0=BX.command("settings").description("Show SMS add-on status, credits, and phone numbers").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>hT("settings",A));S0(Il0,{notes:["readyToSend in the JSON output tells you whether SMS sequence steps will actually send."],examples:["sequenzy sms settings --json"]});var yl0=BX.command("send-test <phone>").description("Send a test SMS to a phone number").option("-t, --text <text>","Plain-text message body").option("--image-url <url...>","Publicly reachable MMS image URL (repeat for up to 2)").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>hT("send-test",{phone:A,...x}));S0(yl0,{notes:["Sends a real text and charges credits. Limited to 5 test sends per hour; bypasses quiet hours; excluded from step stats.","Requires the SMS add-on with a verified number - check `sequenzy sms settings` first."],examples:['sequenzy sms send-test +15550100123 --text "Test from Sequenzy"']});var DX=TE.command("sync-rules").description("Manage automatic tag changes applied when events fire").action(()=>DX.help());S0(DX,{notes:["Sync rules map events to tag changes, e.g. an order-placed event adding a customer tag.","Rules can carry conditions: required/excluded subscriber tags, and a product match for commerce events (tag buyers by product tag, collection, type, or vendor)."],examples:["sequenzy sync-rules get","sequenzy sync-rules update --rules-file ./sync-rules.json","sequenzy sync-rules update --reset"]});var wl0=DX.command("get").description("Show the effective sync rules").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>nT("get",A));S0(wl0,{notes:["Shows the platform defaults until the company saves custom rules; the JSON output includes isDefault."],examples:["sequenzy sync-rules get --json"]});var $l0=DX.command("update").description("Replace the sync rules or reset them to the defaults").option("--rules-json <json>","Inline JSON array with the full rule set").option("--rules-file <file>","Path to a JSON file with the full rule set").option("--reset","Reset the company to the platform default rules").option("-c, --company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A)=>nT("update",A));S0($l0,{notes:["This replaces the FULL rule set - fetch with 'sync-rules get --json', edit, then update.",'Each rule: {"triggerEvent":"...","actions":{"addTags":[...],"removeTags":[...]},"conditions":{...}}.'],examples:["sequenzy sync-rules update --rules-file ./sync-rules.json",`sequenzy sync-rules update --rules-json '[{"triggerEvent":"ecommerce.order_placed","actions":{"addTags":["vinyl-collector"],"removeTags":[]},"conditions":{"purchasedProduct":{"tags":["Vinyl"]}}}]'`,"sequenzy sync-rules update --reset"]});var Ay=TE.command("generate").description("Generate email and SMS content with AI").action(()=>Ay.help());S0(Ay,{notes:["Generated content is returned as draft content. Review it before sending.","Use --json when another tool or agent should parse the generated output."],examples:['sequenzy generate email "Welcome a new user to our analytics product"','sequenzy generate sequence "Onboard a new workspace admin" --count 4 --days 14','sequenzy generate subjects "April product launch" --count 8','sequenzy generate sms "Cart reminder with a free-shipping hook" --count 3']});Ay.command("email <prompt>").description("Generate email blocks from a prompt").option("-s, --style <style>","Style: minimal, branded, promotional").option("-t, --tone <tone>","Tone: professional, casual, friendly").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("email",{prompt:A,...x}));Ay.command("sequence <goal>").description("Generate email sequence content from a goal").option("-c, --count <number>","Number of emails (1-10)","5").option("-d, --days <number>","Duration in days","14").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("sequence",{goal:A,...x}));Ay.command("subjects <topic>").description("Generate A/B subject line variants").option("-c, --count <number>","Number of variants","5").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("subjects",{topic:A,...x}));var fl0=Ay.command("sms <prompt>").description("Generate SMS message variants from a prompt").option("-c, --count <number>","Number of variants (1-10)","3").option("--company <id>","Company ID override for personal API keys").option("--json","Print raw JSON").action((A,x)=>gS("sms",{prompt:A,...x}));S0(fl0,{notes:["Messages are plain text with encoding and segment counts; use them as the text of an SMS sequence step.","Opt-out footers and the brand prefix are added automatically at send time - never include them in the message.","Check `sequenzy sms settings` to confirm the SMS add-on is ready before enabling SMS sequences."],examples:['sequenzy generate sms "Flash sale ends tonight" --count 5 --json']});await TE.parseAsync();process.exit(process.exitCode??0);
|