mailery 0.10.1 → 0.11.0
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/admin/spa/{index-BTww-4AA.js → index-l7m1PyMb.js} +2 -2
- package/dist/admin/spa/{index-BTww-4AA.js.map → index-l7m1PyMb.js.map} +1 -1
- package/dist/admin/spa/index.html +1 -1
- package/dist/admin/spa/{template-editor-CrOKLpSw.js → template-editor-pGcCFnJ7.js} +33 -33
- package/dist/admin/spa/{template-editor-CrOKLpSw.js.map → template-editor-pGcCFnJ7.js.map} +1 -1
- package/dist/index.cjs +29 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +29 -13
- package/dist/index.js.map +1 -1
- package/dist/{null-CU_EApC6.d.cts → null-CfzvqNEp.d.cts} +17 -1
- package/dist/{null-CU_EApC6.d.ts → null-CfzvqNEp.d.ts} +17 -1
- package/dist/testing.cjs +11 -4
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +3 -2
- package/dist/testing.d.ts +3 -2
- package/dist/testing.js +11 -4
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,5 +37,5 @@ function Xu(e,t){for(var n=0;n<t.length;n++){const l=t[n];if(typeof l!="string"&
|
|
|
37
37
|
`+r[i].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}while(1<=i&&0<=c);break}}}finally{er=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Gn(e):""}function wd(e){switch(e.tag){case 5:return Gn(e.type);case 16:return Gn("Lazy");case 13:return Gn("Suspense");case 19:return Gn("SuspenseList");case 0:case 2:case 15:return e=tr(e.type,!1),e;case 11:return e=tr(e.type.render,!1),e;case 1:return e=tr(e.type,!0),e;default:return""}}function Pr(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case dn:return"Fragment";case un:return"Portal";case Cr:return"Profiler";case wa:return"StrictMode";case Er:return"Suspense";case Tr:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Xo:return(e.displayName||"Context")+".Consumer";case Jo:return(e._context.displayName||"Context")+".Provider";case ba:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ca:return t=e.displayName||null,t!==null?t:Pr(e.type)||"Memo";case Ct:t=e._payload,e=e._init;try{return Pr(e(t))}catch{}}return null}function bd(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Pr(t);case 8:return t===wa?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function It(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Go(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Cd(e){var t=Go(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),l=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(i){l=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return l},setValue:function(i){l=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Os(e){e._valueTracker||(e._valueTracker=Cd(e))}function Zo(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),l="";return e&&(l=Go(e)?e.checked?"true":"false":e.value),e=l,e!==n?(t.setValue(e),!0):!1}function hl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function _r(e,t){var n=t.checked;return ne({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vi(e,t){var n=t.defaultValue==null?"":t.defaultValue,l=t.checked!=null?t.checked:t.defaultChecked;n=It(t.value!=null?t.value:n),e._wrapperState={initialChecked:l,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ec(e,t){t=t.checked,t!=null&&Sa(e,"checked",t,!1)}function Rr(e,t){ec(e,t);var n=It(t.value),l=t.type;if(n!=null)l==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(l==="submit"||l==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Lr(e,t.type,n):t.hasOwnProperty("defaultValue")&&Lr(e,t.type,It(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function yi(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var l=t.type;if(!(l!=="submit"&&l!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Lr(e,t,n){(t!=="number"||hl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Zn=Array.isArray;function kn(e,t,n,l){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&l&&(e[n].defaultSelected=!0)}else{for(n=""+It(n),t=null,r=0;r<e.length;r++){if(e[r].value===n){e[r].selected=!0,l&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function Fr(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(b(91));return ne({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ji(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(b(92));if(Zn(n)){if(1<n.length)throw Error(b(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:It(n)}}function tc(e,t){var n=It(t.value),l=It(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),l!=null&&(e.defaultValue=""+l)}function Ni(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function nc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Mr(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?nc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var $s,sc=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,l,r){MSApp.execUnsafeLocalFunction(function(){return e(t,n,l,r)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for($s=$s||document.createElement("div"),$s.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=$s.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function hs(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var ns={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ed=["Webkit","ms","Moz","O"];Object.keys(ns).forEach(function(e){Ed.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ns[t]=ns[e]})});function lc(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||ns.hasOwnProperty(e)&&ns[e]?(""+t).trim():t+"px"}function rc(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var l=n.indexOf("--")===0,r=lc(n,t[n],l);n==="float"&&(n="cssFloat"),l?e.setProperty(n,r):e[n]=r}}var Td=ne({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function zr(e,t){if(t){if(Td[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(b(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(b(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(b(61))}if(t.style!=null&&typeof t.style!="object")throw Error(b(62))}}function Dr(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Or=null;function Ea(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $r=null,Sn=null,wn=null;function ki(e){if(e=Rs(e)){if(typeof $r!="function")throw Error(b(280));var t=e.stateNode;t&&(t=Bl(t),$r(e.stateNode,e.type,t))}}function ac(e){Sn?wn?wn.push(e):wn=[e]:Sn=e}function ic(){if(Sn){var e=Sn,t=wn;if(wn=Sn=null,ki(e),t)for(e=0;e<t.length;e++)ki(t[e])}}function oc(e,t){return e(t)}function cc(){}var nr=!1;function uc(e,t,n){if(nr)return e(t,n);nr=!0;try{return oc(e,t,n)}finally{nr=!1,(Sn!==null||wn!==null)&&(cc(),ic())}}function fs(e,t){var n=e.stateNode;if(n===null)return null;var l=Bl(n);if(l===null)return null;n=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(b(231,t,typeof n));return n}var Ar=!1;if(vt)try{var Hn={};Object.defineProperty(Hn,"passive",{get:function(){Ar=!0}}),window.addEventListener("test",Hn,Hn),window.removeEventListener("test",Hn,Hn)}catch{Ar=!1}function Pd(e,t,n,l,r,a,i,c,o){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(h){this.onError(h)}}var ss=!1,fl=null,pl=!1,Ir=null,_d={onError:function(e){ss=!0,fl=e}};function Rd(e,t,n,l,r,a,i,c,o){ss=!1,fl=null,Pd.apply(_d,arguments)}function Ld(e,t,n,l,r,a,i,c,o){if(Rd.apply(this,arguments),ss){if(ss){var u=fl;ss=!1,fl=null}else throw Error(b(198));pl||(pl=!0,Ir=u)}}function an(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function dc(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Si(e){if(an(e)!==e)throw Error(b(188))}function Fd(e){var t=e.alternate;if(!t){if(t=an(e),t===null)throw Error(b(188));return t!==e?null:e}for(var n=e,l=t;;){var r=n.return;if(r===null)break;var a=r.alternate;if(a===null){if(l=r.return,l!==null){n=l;continue}break}if(r.child===a.child){for(a=r.child;a;){if(a===n)return Si(r),e;if(a===l)return Si(r),t;a=a.sibling}throw Error(b(188))}if(n.return!==l.return)n=r,l=a;else{for(var i=!1,c=r.child;c;){if(c===n){i=!0,n=r,l=a;break}if(c===l){i=!0,l=r,n=a;break}c=c.sibling}if(!i){for(c=a.child;c;){if(c===n){i=!0,n=a,l=r;break}if(c===l){i=!0,l=a,n=r;break}c=c.sibling}if(!i)throw Error(b(189))}}if(n.alternate!==l)throw Error(b(190))}if(n.tag!==3)throw Error(b(188));return n.stateNode.current===n?e:t}function hc(e){return e=Fd(e),e!==null?fc(e):null}function fc(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=fc(e);if(t!==null)return t;e=e.sibling}return null}var pc=Oe.unstable_scheduleCallback,wi=Oe.unstable_cancelCallback,Md=Oe.unstable_shouldYield,zd=Oe.unstable_requestPaint,re=Oe.unstable_now,Dd=Oe.unstable_getCurrentPriorityLevel,Ta=Oe.unstable_ImmediatePriority,mc=Oe.unstable_UserBlockingPriority,ml=Oe.unstable_NormalPriority,Od=Oe.unstable_LowPriority,xc=Oe.unstable_IdlePriority,Ol=null,it=null;function $d(e){if(it&&typeof it.onCommitFiberRoot=="function")try{it.onCommitFiberRoot(Ol,e,void 0,(e.current.flags&128)===128)}catch{}}var tt=Math.clz32?Math.clz32:Bd,Ad=Math.log,Id=Math.LN2;function Bd(e){return e>>>=0,e===0?32:31-(Ad(e)/Id|0)|0}var As=64,Is=4194304;function es(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function xl(e,t){var n=e.pendingLanes;if(n===0)return 0;var l=0,r=e.suspendedLanes,a=e.pingedLanes,i=n&268435455;if(i!==0){var c=i&~r;c!==0?l=es(c):(a&=i,a!==0&&(l=es(a)))}else i=n&~r,i!==0?l=es(i):a!==0&&(l=es(a));if(l===0)return 0;if(t!==0&&t!==l&&!(t&r)&&(r=l&-l,a=t&-t,r>=a||r===16&&(a&4194240)!==0))return t;if(l&4&&(l|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=l;0<t;)n=31-tt(t),r=1<<n,l|=e[n],t&=~r;return l}function Ud(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hd(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-tt(a),c=1<<i,o=r[i];o===-1?(!(c&n)||c&l)&&(r[i]=Ud(c,t)):o<=t&&(e.expiredLanes|=c),a&=~c}}function Br(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function gc(){var e=As;return As<<=1,!(As&4194240)&&(As=64),e}function sr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ps(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-tt(t),e[t]=n}function Wd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var l=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-tt(n),a=1<<r;t[r]=0,l[r]=-1,e[r]=-1,n&=~a}}function Pa(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var l=31-tt(n),r=1<<l;r&t|e[l]&t&&(e[l]|=t),n&=~r}}var Q=0;function vc(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var yc,_a,jc,Nc,kc,Ur=!1,Bs=[],Lt=null,Ft=null,Mt=null,ps=new Map,ms=new Map,Tt=[],Vd="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function bi(e,t){switch(e){case"focusin":case"focusout":Lt=null;break;case"dragenter":case"dragleave":Ft=null;break;case"mouseover":case"mouseout":Mt=null;break;case"pointerover":case"pointerout":ps.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ms.delete(t.pointerId)}}function Wn(e,t,n,l,r,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:l,nativeEvent:a,targetContainers:[r]},t!==null&&(t=Rs(t),t!==null&&_a(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function Qd(e,t,n,l,r){switch(t){case"focusin":return Lt=Wn(Lt,e,t,n,l,r),!0;case"dragenter":return Ft=Wn(Ft,e,t,n,l,r),!0;case"mouseover":return Mt=Wn(Mt,e,t,n,l,r),!0;case"pointerover":var a=r.pointerId;return ps.set(a,Wn(ps.get(a)||null,e,t,n,l,r)),!0;case"gotpointercapture":return a=r.pointerId,ms.set(a,Wn(ms.get(a)||null,e,t,n,l,r)),!0}return!1}function Sc(e){var t=Jt(e.target);if(t!==null){var n=an(t);if(n!==null){if(t=n.tag,t===13){if(t=dc(n),t!==null){e.blockedOn=t,kc(e.priority,function(){jc(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function tl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Hr(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var l=new n.constructor(n.type,n);Or=l,n.target.dispatchEvent(l),Or=null}else return t=Rs(n),t!==null&&_a(t),e.blockedOn=n,!1;t.shift()}return!0}function Ci(e,t,n){tl(e)&&n.delete(t)}function Kd(){Ur=!1,Lt!==null&&tl(Lt)&&(Lt=null),Ft!==null&&tl(Ft)&&(Ft=null),Mt!==null&&tl(Mt)&&(Mt=null),ps.forEach(Ci),ms.forEach(Ci)}function Vn(e,t){e.blockedOn===t&&(e.blockedOn=null,Ur||(Ur=!0,Oe.unstable_scheduleCallback(Oe.unstable_NormalPriority,Kd)))}function xs(e){function t(r){return Vn(r,e)}if(0<Bs.length){Vn(Bs[0],e);for(var n=1;n<Bs.length;n++){var l=Bs[n];l.blockedOn===e&&(l.blockedOn=null)}}for(Lt!==null&&Vn(Lt,e),Ft!==null&&Vn(Ft,e),Mt!==null&&Vn(Mt,e),ps.forEach(t),ms.forEach(t),n=0;n<Tt.length;n++)l=Tt[n],l.blockedOn===e&&(l.blockedOn=null);for(;0<Tt.length&&(n=Tt[0],n.blockedOn===null);)Sc(n),n.blockedOn===null&&Tt.shift()}var bn=kt.ReactCurrentBatchConfig,gl=!0;function qd(e,t,n,l){var r=Q,a=bn.transition;bn.transition=null;try{Q=1,Ra(e,t,n,l)}finally{Q=r,bn.transition=a}}function Jd(e,t,n,l){var r=Q,a=bn.transition;bn.transition=null;try{Q=4,Ra(e,t,n,l)}finally{Q=r,bn.transition=a}}function Ra(e,t,n,l){if(gl){var r=Hr(e,t,n,l);if(r===null)fr(e,t,l,vl,n),bi(e,l);else if(Qd(r,e,t,n,l))l.stopPropagation();else if(bi(e,l),t&4&&-1<Vd.indexOf(e)){for(;r!==null;){var a=Rs(r);if(a!==null&&yc(a),a=Hr(e,t,n,l),a===null&&fr(e,t,l,vl,n),a===r)break;r=a}r!==null&&l.stopPropagation()}else fr(e,t,l,null,n)}}var vl=null;function Hr(e,t,n,l){if(vl=null,e=Ea(l),e=Jt(e),e!==null)if(t=an(e),t===null)e=null;else if(n=t.tag,n===13){if(e=dc(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return vl=e,null}function wc(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Dd()){case Ta:return 1;case mc:return 4;case ml:case Od:return 16;case xc:return 536870912;default:return 16}default:return 16}}var _t=null,La=null,nl=null;function bc(){if(nl)return nl;var e,t=La,n=t.length,l,r="value"in _t?_t.value:_t.textContent,a=r.length;for(e=0;e<n&&t[e]===r[e];e++);var i=n-e;for(l=1;l<=i&&t[n-l]===r[a-l];l++);return nl=r.slice(e,1<l?1-l:void 0)}function sl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Us(){return!0}function Ei(){return!1}function Ae(e){function t(n,l,r,a,i){this._reactName=n,this._targetInst=r,this.type=l,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var c in e)e.hasOwnProperty(c)&&(n=e[c],this[c]=n?n(a):a[c]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Us:Ei,this.isPropagationStopped=Ei,this}return ne(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Us)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Us)},persist:function(){},isPersistent:Us}),t}var Dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Fa=Ae(Dn),_s=ne({},Dn,{view:0,detail:0}),Xd=Ae(_s),lr,rr,Qn,$l=ne({},_s,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ma,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Qn&&(Qn&&e.type==="mousemove"?(lr=e.screenX-Qn.screenX,rr=e.screenY-Qn.screenY):rr=lr=0,Qn=e),lr)},movementY:function(e){return"movementY"in e?e.movementY:rr}}),Ti=Ae($l),Yd=ne({},$l,{dataTransfer:0}),Gd=Ae(Yd),Zd=ne({},_s,{relatedTarget:0}),ar=Ae(Zd),eh=ne({},Dn,{animationName:0,elapsedTime:0,pseudoElement:0}),th=Ae(eh),nh=ne({},Dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),sh=Ae(nh),lh=ne({},Dn,{data:0}),Pi=Ae(lh),rh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ah={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ih={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function oh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ih[e])?!!t[e]:!1}function Ma(){return oh}var ch=ne({},_s,{key:function(e){if(e.key){var t=rh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=sl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?ah[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ma,charCode:function(e){return e.type==="keypress"?sl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?sl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),uh=Ae(ch),dh=ne({},$l,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),_i=Ae(dh),hh=ne({},_s,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ma}),fh=Ae(hh),ph=ne({},Dn,{propertyName:0,elapsedTime:0,pseudoElement:0}),mh=Ae(ph),xh=ne({},$l,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),gh=Ae(xh),vh=[9,13,27,32],za=vt&&"CompositionEvent"in window,ls=null;vt&&"documentMode"in document&&(ls=document.documentMode);var yh=vt&&"TextEvent"in window&&!ls,Cc=vt&&(!za||ls&&8<ls&&11>=ls),Ri=" ",Li=!1;function Ec(e,t){switch(e){case"keyup":return vh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var hn=!1;function jh(e,t){switch(e){case"compositionend":return Tc(t);case"keypress":return t.which!==32?null:(Li=!0,Ri);case"textInput":return e=t.data,e===Ri&&Li?null:e;default:return null}}function Nh(e,t){if(hn)return e==="compositionend"||!za&&Ec(e,t)?(e=bc(),nl=La=_t=null,hn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Cc&&t.locale!=="ko"?null:t.data;default:return null}}var kh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!kh[e.type]:t==="textarea"}function Pc(e,t,n,l){ac(l),t=yl(t,"onChange"),0<t.length&&(n=new Fa("onChange","change",null,n,l),e.push({event:n,listeners:t}))}var rs=null,gs=null;function Sh(e){Ic(e,0)}function Al(e){var t=mn(e);if(Zo(t))return e}function wh(e,t){if(e==="change")return t}var _c=!1;if(vt){var ir;if(vt){var or="oninput"in document;if(!or){var Mi=document.createElement("div");Mi.setAttribute("oninput","return;"),or=typeof Mi.oninput=="function"}ir=or}else ir=!1;_c=ir&&(!document.documentMode||9<document.documentMode)}function zi(){rs&&(rs.detachEvent("onpropertychange",Rc),gs=rs=null)}function Rc(e){if(e.propertyName==="value"&&Al(gs)){var t=[];Pc(t,gs,e,Ea(e)),uc(Sh,t)}}function bh(e,t,n){e==="focusin"?(zi(),rs=t,gs=n,rs.attachEvent("onpropertychange",Rc)):e==="focusout"&&zi()}function Ch(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Al(gs)}function Eh(e,t){if(e==="click")return Al(t)}function Th(e,t){if(e==="input"||e==="change")return Al(t)}function Ph(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var st=typeof Object.is=="function"?Object.is:Ph;function vs(e,t){if(st(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),l=Object.keys(t);if(n.length!==l.length)return!1;for(l=0;l<n.length;l++){var r=n[l];if(!br.call(t,r)||!st(e[r],t[r]))return!1}return!0}function Di(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Oi(e,t){var n=Di(e);e=0;for(var l;n;){if(n.nodeType===3){if(l=e+n.textContent.length,e<=t&&l>=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Di(n)}}function Lc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Lc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Fc(){for(var e=window,t=hl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=hl(e.document)}return t}function Da(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _h(e){var t=Fc(),n=e.focusedElem,l=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Lc(n.ownerDocument.documentElement,n)){if(l!==null&&Da(n)){if(t=l.start,e=l.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,a=Math.min(l.start,r);l=l.end===void 0?a:Math.min(l.end,r),!e.extend&&a>l&&(r=l,l=a,a=r),r=Oi(n,a);var i=Oi(n,l);r&&i&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),a>l?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Rh=vt&&"documentMode"in document&&11>=document.documentMode,fn=null,Wr=null,as=null,Vr=!1;function $i(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vr||fn==null||fn!==hl(l)||(l=fn,"selectionStart"in l&&Da(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),as&&vs(as,l)||(as=l,l=yl(Wr,"onSelect"),0<l.length&&(t=new Fa("onSelect","select",null,t,n),e.push({event:t,listeners:l}),t.target=fn)))}function Hs(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var pn={animationend:Hs("Animation","AnimationEnd"),animationiteration:Hs("Animation","AnimationIteration"),animationstart:Hs("Animation","AnimationStart"),transitionend:Hs("Transition","TransitionEnd")},cr={},Mc={};vt&&(Mc=document.createElement("div").style,"AnimationEvent"in window||(delete pn.animationend.animation,delete pn.animationiteration.animation,delete pn.animationstart.animation),"TransitionEvent"in window||delete pn.transitionend.transition);function Il(e){if(cr[e])return cr[e];if(!pn[e])return e;var t=pn[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Mc)return cr[e]=t[n];return e}var zc=Il("animationend"),Dc=Il("animationiteration"),Oc=Il("animationstart"),$c=Il("transitionend"),Ac=new Map,Ai="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ht(e,t){Ac.set(e,t),rn(t,[e])}for(var ur=0;ur<Ai.length;ur++){var dr=Ai[ur],Lh=dr.toLowerCase(),Fh=dr[0].toUpperCase()+dr.slice(1);Ht(Lh,"on"+Fh)}Ht(zc,"onAnimationEnd");Ht(Dc,"onAnimationIteration");Ht(Oc,"onAnimationStart");Ht("dblclick","onDoubleClick");Ht("focusin","onFocus");Ht("focusout","onBlur");Ht($c,"onTransitionEnd");Tn("onMouseEnter",["mouseout","mouseover"]);Tn("onMouseLeave",["mouseout","mouseover"]);Tn("onPointerEnter",["pointerout","pointerover"]);Tn("onPointerLeave",["pointerout","pointerover"]);rn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));rn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));rn("onBeforeInput",["compositionend","keypress","textInput","paste"]);rn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));rn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));rn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ts="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mh=new Set("cancel close invalid load scroll toggle".split(" ").concat(ts));function Ii(e,t,n){var l=e.type||"unknown-event";e.currentTarget=n,Ld(l,t,void 0,e),e.currentTarget=null}function Ic(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var l=e[n],r=l.event;l=l.listeners;e:{var a=void 0;if(t)for(var i=l.length-1;0<=i;i--){var c=l[i],o=c.instance,u=c.currentTarget;if(c=c.listener,o!==a&&r.isPropagationStopped())break e;Ii(r,c,u),a=o}else for(i=0;i<l.length;i++){if(c=l[i],o=c.instance,u=c.currentTarget,c=c.listener,o!==a&&r.isPropagationStopped())break e;Ii(r,c,u),a=o}}}if(pl)throw e=Ir,pl=!1,Ir=null,e}function X(e,t){var n=t[Xr];n===void 0&&(n=t[Xr]=new Set);var l=e+"__bubble";n.has(l)||(Bc(t,e,2,!1),n.add(l))}function hr(e,t,n){var l=0;t&&(l|=4),Bc(n,e,l,t)}var Ws="_reactListening"+Math.random().toString(36).slice(2);function ys(e){if(!e[Ws]){e[Ws]=!0,qo.forEach(function(n){n!=="selectionchange"&&(Mh.has(n)||hr(n,!1,e),hr(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ws]||(t[Ws]=!0,hr("selectionchange",!1,t))}}function Bc(e,t,n,l){switch(wc(t)){case 1:var r=qd;break;case 4:r=Jd;break;default:r=Ra}n=r.bind(null,t,n,e),r=void 0,!Ar||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),l?r!==void 0?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):r!==void 0?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function fr(e,t,n,l,r){var a=l;if(!(t&1)&&!(t&2)&&l!==null)e:for(;;){if(l===null)return;var i=l.tag;if(i===3||i===4){var c=l.stateNode.containerInfo;if(c===r||c.nodeType===8&&c.parentNode===r)break;if(i===4)for(i=l.return;i!==null;){var o=i.tag;if((o===3||o===4)&&(o=i.stateNode.containerInfo,o===r||o.nodeType===8&&o.parentNode===r))return;i=i.return}for(;c!==null;){if(i=Jt(c),i===null)return;if(o=i.tag,o===5||o===6){l=a=i;continue e}c=c.parentNode}}l=l.return}uc(function(){var u=a,h=Ea(n),d=[];e:{var m=Ac.get(e);if(m!==void 0){var v=Fa,g=e;switch(e){case"keypress":if(sl(n)===0)break e;case"keydown":case"keyup":v=uh;break;case"focusin":g="focus",v=ar;break;case"focusout":g="blur",v=ar;break;case"beforeblur":case"afterblur":v=ar;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":v=Ti;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":v=Gd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":v=fh;break;case zc:case Dc:case Oc:v=th;break;case $c:v=mh;break;case"scroll":v=Xd;break;case"wheel":v=gh;break;case"copy":case"cut":case"paste":v=sh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":v=_i}var S=(t&4)!==0,N=!S&&e==="scroll",p=S?m!==null?m+"Capture":null:m;S=[];for(var f=u,x;f!==null;){x=f;var k=x.stateNode;if(x.tag===5&&k!==null&&(x=k,p!==null&&(k=fs(f,p),k!=null&&S.push(js(f,k,x)))),N)break;f=f.return}0<S.length&&(m=new v(m,g,null,n,h),d.push({event:m,listeners:S}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",v=e==="mouseout"||e==="pointerout",m&&n!==Or&&(g=n.relatedTarget||n.fromElement)&&(Jt(g)||g[yt]))break e;if((v||m)&&(m=h.window===h?h:(m=h.ownerDocument)?m.defaultView||m.parentWindow:window,v?(g=n.relatedTarget||n.toElement,v=u,g=g?Jt(g):null,g!==null&&(N=an(g),g!==N||g.tag!==5&&g.tag!==6)&&(g=null)):(v=null,g=u),v!==g)){if(S=Ti,k="onMouseLeave",p="onMouseEnter",f="mouse",(e==="pointerout"||e==="pointerover")&&(S=_i,k="onPointerLeave",p="onPointerEnter",f="pointer"),N=v==null?m:mn(v),x=g==null?m:mn(g),m=new S(k,f+"leave",v,n,h),m.target=N,m.relatedTarget=x,k=null,Jt(h)===u&&(S=new S(p,f+"enter",g,n,h),S.target=x,S.relatedTarget=N,k=S),N=k,v&&g)t:{for(S=v,p=g,f=0,x=S;x;x=on(x))f++;for(x=0,k=p;k;k=on(k))x++;for(;0<f-x;)S=on(S),f--;for(;0<x-f;)p=on(p),x--;for(;f--;){if(S===p||p!==null&&S===p.alternate)break t;S=on(S),p=on(p)}S=null}else S=null;v!==null&&Bi(d,m,v,S,!1),g!==null&&N!==null&&Bi(d,N,g,S,!0)}}e:{if(m=u?mn(u):window,v=m.nodeName&&m.nodeName.toLowerCase(),v==="select"||v==="input"&&m.type==="file")var T=wh;else if(Fi(m))if(_c)T=Th;else{T=Ch;var w=bh}else(v=m.nodeName)&&v.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(T=Eh);if(T&&(T=T(e,u))){Pc(d,T,n,h);break e}w&&w(e,m,u),e==="focusout"&&(w=m._wrapperState)&&w.controlled&&m.type==="number"&&Lr(m,"number",m.value)}switch(w=u?mn(u):window,e){case"focusin":(Fi(w)||w.contentEditable==="true")&&(fn=w,Wr=u,as=null);break;case"focusout":as=Wr=fn=null;break;case"mousedown":Vr=!0;break;case"contextmenu":case"mouseup":case"dragend":Vr=!1,$i(d,n,h);break;case"selectionchange":if(Rh)break;case"keydown":case"keyup":$i(d,n,h)}var _;if(za)e:{switch(e){case"compositionstart":var C="onCompositionStart";break e;case"compositionend":C="onCompositionEnd";break e;case"compositionupdate":C="onCompositionUpdate";break e}C=void 0}else hn?Ec(e,n)&&(C="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(C="onCompositionStart");C&&(Cc&&n.locale!=="ko"&&(hn||C!=="onCompositionStart"?C==="onCompositionEnd"&&hn&&(_=bc()):(_t=h,La="value"in _t?_t.value:_t.textContent,hn=!0)),w=yl(u,C),0<w.length&&(C=new Pi(C,e,null,n,h),d.push({event:C,listeners:w}),_?C.data=_:(_=Tc(n),_!==null&&(C.data=_)))),(_=yh?jh(e,n):Nh(e,n))&&(u=yl(u,"onBeforeInput"),0<u.length&&(h=new Pi("onBeforeInput","beforeinput",null,n,h),d.push({event:h,listeners:u}),h.data=_))}Ic(d,t)})}function js(e,t,n){return{instance:e,listener:t,currentTarget:n}}function yl(e,t){for(var n=t+"Capture",l=[];e!==null;){var r=e,a=r.stateNode;r.tag===5&&a!==null&&(r=a,a=fs(e,n),a!=null&&l.unshift(js(e,a,r)),a=fs(e,t),a!=null&&l.push(js(e,a,r))),e=e.return}return l}function on(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Bi(e,t,n,l,r){for(var a=t._reactName,i=[];n!==null&&n!==l;){var c=n,o=c.alternate,u=c.stateNode;if(o!==null&&o===l)break;c.tag===5&&u!==null&&(c=u,r?(o=fs(n,a),o!=null&&i.unshift(js(n,o,c))):r||(o=fs(n,a),o!=null&&i.push(js(n,o,c)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var zh=/\r\n?/g,Dh=/\u0000|\uFFFD/g;function Ui(e){return(typeof e=="string"?e:""+e).replace(zh,`
|
|
38
38
|
`).replace(Dh,"")}function Vs(e,t,n){if(t=Ui(t),Ui(e)!==t&&n)throw Error(b(425))}function jl(){}var Qr=null,Kr=null;function qr(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Jr=typeof setTimeout=="function"?setTimeout:void 0,Oh=typeof clearTimeout=="function"?clearTimeout:void 0,Hi=typeof Promise=="function"?Promise:void 0,$h=typeof queueMicrotask=="function"?queueMicrotask:typeof Hi<"u"?function(e){return Hi.resolve(null).then(e).catch(Ah)}:Jr;function Ah(e){setTimeout(function(){throw e})}function pr(e,t){var n=t,l=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(l===0){e.removeChild(r),xs(t);return}l--}else n!=="$"&&n!=="$?"&&n!=="$!"||l++;n=r}while(n);xs(t)}function zt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Wi(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var On=Math.random().toString(36).slice(2),at="__reactFiber$"+On,Ns="__reactProps$"+On,yt="__reactContainer$"+On,Xr="__reactEvents$"+On,Ih="__reactListeners$"+On,Bh="__reactHandles$"+On;function Jt(e){var t=e[at];if(t)return t;for(var n=e.parentNode;n;){if(t=n[yt]||n[at]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Wi(e);e!==null;){if(n=e[at])return n;e=Wi(e)}return t}e=n,n=e.parentNode}return null}function Rs(e){return e=e[at]||e[yt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function mn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(b(33))}function Bl(e){return e[Ns]||null}var Yr=[],xn=-1;function Wt(e){return{current:e}}function Y(e){0>xn||(e.current=Yr[xn],Yr[xn]=null,xn--)}function J(e,t){xn++,Yr[xn]=e.current,e.current=t}var Bt={},Ne=Wt(Bt),Pe=Wt(!1),en=Bt;function Pn(e,t){var n=e.type.contextTypes;if(!n)return Bt;var l=e.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===t)return l.__reactInternalMemoizedMaskedChildContext;var r={},a;for(a in n)r[a]=t[a];return l&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function _e(e){return e=e.childContextTypes,e!=null}function Nl(){Y(Pe),Y(Ne)}function Vi(e,t,n){if(Ne.current!==Bt)throw Error(b(168));J(Ne,t),J(Pe,n)}function Uc(e,t,n){var l=e.stateNode;if(t=t.childContextTypes,typeof l.getChildContext!="function")return n;l=l.getChildContext();for(var r in l)if(!(r in t))throw Error(b(108,bd(e)||"Unknown",r));return ne({},n,l)}function kl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Bt,en=Ne.current,J(Ne,e),J(Pe,Pe.current),!0}function Qi(e,t,n){var l=e.stateNode;if(!l)throw Error(b(169));n?(e=Uc(e,t,en),l.__reactInternalMemoizedMergedChildContext=e,Y(Pe),Y(Ne),J(Ne,e)):Y(Pe),J(Pe,n)}var pt=null,Ul=!1,mr=!1;function Hc(e){pt===null?pt=[e]:pt.push(e)}function Uh(e){Ul=!0,Hc(e)}function Vt(){if(!mr&&pt!==null){mr=!0;var e=0,t=Q;try{var n=pt;for(Q=1;e<n.length;e++){var l=n[e];do l=l(!0);while(l!==null)}pt=null,Ul=!1}catch(r){throw pt!==null&&(pt=pt.slice(e+1)),pc(Ta,Vt),r}finally{Q=t,mr=!1}}return null}var gn=[],vn=0,Sl=null,wl=0,Be=[],Ue=0,tn=null,mt=1,xt="";function Qt(e,t){gn[vn++]=wl,gn[vn++]=Sl,Sl=e,wl=t}function Wc(e,t,n){Be[Ue++]=mt,Be[Ue++]=xt,Be[Ue++]=tn,tn=e;var l=mt;e=xt;var r=32-tt(l)-1;l&=~(1<<r),n+=1;var a=32-tt(t)+r;if(30<a){var i=r-r%5;a=(l&(1<<i)-1).toString(32),l>>=i,r-=i,mt=1<<32-tt(t)+r|n<<r|l,xt=a+e}else mt=1<<a|n<<r|l,xt=e}function Oa(e){e.return!==null&&(Qt(e,1),Wc(e,1,0))}function $a(e){for(;e===Sl;)Sl=gn[--vn],gn[vn]=null,wl=gn[--vn],gn[vn]=null;for(;e===tn;)tn=Be[--Ue],Be[Ue]=null,xt=Be[--Ue],Be[Ue]=null,mt=Be[--Ue],Be[Ue]=null}var De=null,ze=null,Z=!1,et=null;function Vc(e,t){var n=He(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Ki(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,De=e,ze=zt(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,De=e,ze=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=tn!==null?{id:mt,overflow:xt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=He(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,De=e,ze=null,!0):!1;default:return!1}}function Gr(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Zr(e){if(Z){var t=ze;if(t){var n=t;if(!Ki(e,t)){if(Gr(e))throw Error(b(418));t=zt(n.nextSibling);var l=De;t&&Ki(e,t)?Vc(l,n):(e.flags=e.flags&-4097|2,Z=!1,De=e)}}else{if(Gr(e))throw Error(b(418));e.flags=e.flags&-4097|2,Z=!1,De=e}}}function qi(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;De=e}function Qs(e){if(e!==De)return!1;if(!Z)return qi(e),Z=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!qr(e.type,e.memoizedProps)),t&&(t=ze)){if(Gr(e))throw Qc(),Error(b(418));for(;t;)Vc(e,t),t=zt(t.nextSibling)}if(qi(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(b(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){ze=zt(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}ze=null}}else ze=De?zt(e.stateNode.nextSibling):null;return!0}function Qc(){for(var e=ze;e;)e=zt(e.nextSibling)}function _n(){ze=De=null,Z=!1}function Aa(e){et===null?et=[e]:et.push(e)}var Hh=kt.ReactCurrentBatchConfig;function Kn(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(b(309));var l=n.stateNode}if(!l)throw Error(b(147,e));var r=l,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(i){var c=r.refs;i===null?delete c[a]:c[a]=i},t._stringRef=a,t)}if(typeof e!="string")throw Error(b(284));if(!n._owner)throw Error(b(290,e))}return e}function Ks(e,t){throw e=Object.prototype.toString.call(t),Error(b(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ji(e){var t=e._init;return t(e._payload)}function Kc(e){function t(p,f){if(e){var x=p.deletions;x===null?(p.deletions=[f],p.flags|=16):x.push(f)}}function n(p,f){if(!e)return null;for(;f!==null;)t(p,f),f=f.sibling;return null}function l(p,f){for(p=new Map;f!==null;)f.key!==null?p.set(f.key,f):p.set(f.index,f),f=f.sibling;return p}function r(p,f){return p=At(p,f),p.index=0,p.sibling=null,p}function a(p,f,x){return p.index=x,e?(x=p.alternate,x!==null?(x=x.index,x<f?(p.flags|=2,f):x):(p.flags|=2,f)):(p.flags|=1048576,f)}function i(p){return e&&p.alternate===null&&(p.flags|=2),p}function c(p,f,x,k){return f===null||f.tag!==6?(f=kr(x,p.mode,k),f.return=p,f):(f=r(f,x),f.return=p,f)}function o(p,f,x,k){var T=x.type;return T===dn?h(p,f,x.props.children,k,x.key):f!==null&&(f.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===Ct&&Ji(T)===f.type)?(k=r(f,x.props),k.ref=Kn(p,f,x),k.return=p,k):(k=ul(x.type,x.key,x.props,null,p.mode,k),k.ref=Kn(p,f,x),k.return=p,k)}function u(p,f,x,k){return f===null||f.tag!==4||f.stateNode.containerInfo!==x.containerInfo||f.stateNode.implementation!==x.implementation?(f=Sr(x,p.mode,k),f.return=p,f):(f=r(f,x.children||[]),f.return=p,f)}function h(p,f,x,k,T){return f===null||f.tag!==7?(f=Zt(x,p.mode,k,T),f.return=p,f):(f=r(f,x),f.return=p,f)}function d(p,f,x){if(typeof f=="string"&&f!==""||typeof f=="number")return f=kr(""+f,p.mode,x),f.return=p,f;if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Ds:return x=ul(f.type,f.key,f.props,null,p.mode,x),x.ref=Kn(p,null,f),x.return=p,x;case un:return f=Sr(f,p.mode,x),f.return=p,f;case Ct:var k=f._init;return d(p,k(f._payload),x)}if(Zn(f)||Un(f))return f=Zt(f,p.mode,x,null),f.return=p,f;Ks(p,f)}return null}function m(p,f,x,k){var T=f!==null?f.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return T!==null?null:c(p,f,""+x,k);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Ds:return x.key===T?o(p,f,x,k):null;case un:return x.key===T?u(p,f,x,k):null;case Ct:return T=x._init,m(p,f,T(x._payload),k)}if(Zn(x)||Un(x))return T!==null?null:h(p,f,x,k,null);Ks(p,x)}return null}function v(p,f,x,k,T){if(typeof k=="string"&&k!==""||typeof k=="number")return p=p.get(x)||null,c(f,p,""+k,T);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case Ds:return p=p.get(k.key===null?x:k.key)||null,o(f,p,k,T);case un:return p=p.get(k.key===null?x:k.key)||null,u(f,p,k,T);case Ct:var w=k._init;return v(p,f,x,w(k._payload),T)}if(Zn(k)||Un(k))return p=p.get(x)||null,h(f,p,k,T,null);Ks(f,k)}return null}function g(p,f,x,k){for(var T=null,w=null,_=f,C=f=0,H=null;_!==null&&C<x.length;C++){_.index>C?(H=_,_=null):H=_.sibling;var A=m(p,_,x[C],k);if(A===null){_===null&&(_=H);break}e&&_&&A.alternate===null&&t(p,_),f=a(A,f,C),w===null?T=A:w.sibling=A,w=A,_=H}if(C===x.length)return n(p,_),Z&&Qt(p,C),T;if(_===null){for(;C<x.length;C++)_=d(p,x[C],k),_!==null&&(f=a(_,f,C),w===null?T=_:w.sibling=_,w=_);return Z&&Qt(p,C),T}for(_=l(p,_);C<x.length;C++)H=v(_,p,C,x[C],k),H!==null&&(e&&H.alternate!==null&&_.delete(H.key===null?C:H.key),f=a(H,f,C),w===null?T=H:w.sibling=H,w=H);return e&&_.forEach(function(W){return t(p,W)}),Z&&Qt(p,C),T}function S(p,f,x,k){var T=Un(x);if(typeof T!="function")throw Error(b(150));if(x=T.call(x),x==null)throw Error(b(151));for(var w=T=null,_=f,C=f=0,H=null,A=x.next();_!==null&&!A.done;C++,A=x.next()){_.index>C?(H=_,_=null):H=_.sibling;var W=m(p,_,A.value,k);if(W===null){_===null&&(_=H);break}e&&_&&W.alternate===null&&t(p,_),f=a(W,f,C),w===null?T=W:w.sibling=W,w=W,_=H}if(A.done)return n(p,_),Z&&Qt(p,C),T;if(_===null){for(;!A.done;C++,A=x.next())A=d(p,A.value,k),A!==null&&(f=a(A,f,C),w===null?T=A:w.sibling=A,w=A);return Z&&Qt(p,C),T}for(_=l(p,_);!A.done;C++,A=x.next())A=v(_,p,C,A.value,k),A!==null&&(e&&A.alternate!==null&&_.delete(A.key===null?C:A.key),f=a(A,f,C),w===null?T=A:w.sibling=A,w=A);return e&&_.forEach(function(he){return t(p,he)}),Z&&Qt(p,C),T}function N(p,f,x,k){if(typeof x=="object"&&x!==null&&x.type===dn&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Ds:e:{for(var T=x.key,w=f;w!==null;){if(w.key===T){if(T=x.type,T===dn){if(w.tag===7){n(p,w.sibling),f=r(w,x.props.children),f.return=p,p=f;break e}}else if(w.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===Ct&&Ji(T)===w.type){n(p,w.sibling),f=r(w,x.props),f.ref=Kn(p,w,x),f.return=p,p=f;break e}n(p,w);break}else t(p,w);w=w.sibling}x.type===dn?(f=Zt(x.props.children,p.mode,k,x.key),f.return=p,p=f):(k=ul(x.type,x.key,x.props,null,p.mode,k),k.ref=Kn(p,f,x),k.return=p,p=k)}return i(p);case un:e:{for(w=x.key;f!==null;){if(f.key===w)if(f.tag===4&&f.stateNode.containerInfo===x.containerInfo&&f.stateNode.implementation===x.implementation){n(p,f.sibling),f=r(f,x.children||[]),f.return=p,p=f;break e}else{n(p,f);break}else t(p,f);f=f.sibling}f=Sr(x,p.mode,k),f.return=p,p=f}return i(p);case Ct:return w=x._init,N(p,f,w(x._payload),k)}if(Zn(x))return g(p,f,x,k);if(Un(x))return S(p,f,x,k);Ks(p,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,f!==null&&f.tag===6?(n(p,f.sibling),f=r(f,x),f.return=p,p=f):(n(p,f),f=kr(x,p.mode,k),f.return=p,p=f),i(p)):n(p,f)}return N}var Rn=Kc(!0),qc=Kc(!1),bl=Wt(null),Cl=null,yn=null,Ia=null;function Ba(){Ia=yn=Cl=null}function Ua(e){var t=bl.current;Y(bl),e._currentValue=t}function ea(e,t,n){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===n)break;e=e.return}}function Cn(e,t){Cl=e,Ia=yn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Te=!0),e.firstContext=null)}function Ve(e){var t=e._currentValue;if(Ia!==e)if(e={context:e,memoizedValue:t,next:null},yn===null){if(Cl===null)throw Error(b(308));yn=e,Cl.dependencies={lanes:0,firstContext:e}}else yn=yn.next=e;return t}var Xt=null;function Ha(e){Xt===null?Xt=[e]:Xt.push(e)}function Jc(e,t,n,l){var r=t.interleaved;return r===null?(n.next=n,Ha(t)):(n.next=r.next,r.next=n),t.interleaved=n,jt(e,l)}function jt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Et=!1;function Wa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function gt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Dt(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,U&2){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,jt(e,n)}return r=l.interleaved,r===null?(t.next=t,Ha(l)):(t.next=r.next,r.next=t),l.interleaved=t,jt(e,n)}function ll(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,Pa(e,n)}}function Xi(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var r=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?r=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?r=a=t:a=a.next=t}else r=a=t;n={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:a,shared:l.shared,effects:l.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function El(e,t,n,l){var r=e.updateQueue;Et=!1;var a=r.firstBaseUpdate,i=r.lastBaseUpdate,c=r.shared.pending;if(c!==null){r.shared.pending=null;var o=c,u=o.next;o.next=null,i===null?a=u:i.next=u,i=o;var h=e.alternate;h!==null&&(h=h.updateQueue,c=h.lastBaseUpdate,c!==i&&(c===null?h.firstBaseUpdate=u:c.next=u,h.lastBaseUpdate=o))}if(a!==null){var d=r.baseState;i=0,h=u=o=null,c=a;do{var m=c.lane,v=c.eventTime;if((l&m)===m){h!==null&&(h=h.next={eventTime:v,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var g=e,S=c;switch(m=t,v=n,S.tag){case 1:if(g=S.payload,typeof g=="function"){d=g.call(v,d,m);break e}d=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=S.payload,m=typeof g=="function"?g.call(v,d,m):g,m==null)break e;d=ne({},d,m);break e;case 2:Et=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,m=r.effects,m===null?r.effects=[c]:m.push(c))}else v={eventTime:v,lane:m,tag:c.tag,payload:c.payload,callback:c.callback,next:null},h===null?(u=h=v,o=d):h=h.next=v,i|=m;if(c=c.next,c===null){if(c=r.shared.pending,c===null)break;m=c,c=m.next,m.next=null,r.lastBaseUpdate=m,r.shared.pending=null}}while(!0);if(h===null&&(o=d),r.baseState=o,r.firstBaseUpdate=u,r.lastBaseUpdate=h,t=r.shared.interleaved,t!==null){r=t;do i|=r.lane,r=r.next;while(r!==t)}else a===null&&(r.shared.lanes=0);sn|=i,e.lanes=i,e.memoizedState=d}}function Yi(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var l=e[t],r=l.callback;if(r!==null){if(l.callback=null,l=n,typeof r!="function")throw Error(b(191,r));r.call(l)}}}var Ls={},ot=Wt(Ls),ks=Wt(Ls),Ss=Wt(Ls);function Yt(e){if(e===Ls)throw Error(b(174));return e}function Va(e,t){switch(J(Ss,t),J(ks,e),J(ot,Ls),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Mr(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Mr(t,e)}Y(ot),J(ot,t)}function Ln(){Y(ot),Y(ks),Y(Ss)}function Yc(e){Yt(Ss.current);var t=Yt(ot.current),n=Mr(t,e.type);t!==n&&(J(ks,e),J(ot,n))}function Qa(e){ks.current===e&&(Y(ot),Y(ks))}var ee=Wt(0);function Tl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var xr=[];function Ka(){for(var e=0;e<xr.length;e++)xr[e]._workInProgressVersionPrimary=null;xr.length=0}var rl=kt.ReactCurrentDispatcher,gr=kt.ReactCurrentBatchConfig,nn=0,te=null,oe=null,ue=null,Pl=!1,is=!1,ws=0,Wh=0;function ge(){throw Error(b(321))}function qa(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!st(e[n],t[n]))return!1;return!0}function Ja(e,t,n,l,r,a){if(nn=a,te=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,rl.current=e===null||e.memoizedState===null?qh:Jh,e=n(l,r),is){a=0;do{if(is=!1,ws=0,25<=a)throw Error(b(301));a+=1,ue=oe=null,t.updateQueue=null,rl.current=Xh,e=n(l,r)}while(is)}if(rl.current=_l,t=oe!==null&&oe.next!==null,nn=0,ue=oe=te=null,Pl=!1,t)throw Error(b(300));return e}function Xa(){var e=ws!==0;return ws=0,e}function rt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ue===null?te.memoizedState=ue=e:ue=ue.next=e,ue}function Qe(){if(oe===null){var e=te.alternate;e=e!==null?e.memoizedState:null}else e=oe.next;var t=ue===null?te.memoizedState:ue.next;if(t!==null)ue=t,oe=e;else{if(e===null)throw Error(b(310));oe=e,e={memoizedState:oe.memoizedState,baseState:oe.baseState,baseQueue:oe.baseQueue,queue:oe.queue,next:null},ue===null?te.memoizedState=ue=e:ue=ue.next=e}return ue}function bs(e,t){return typeof t=="function"?t(e):t}function vr(e){var t=Qe(),n=t.queue;if(n===null)throw Error(b(311));n.lastRenderedReducer=e;var l=oe,r=l.baseQueue,a=n.pending;if(a!==null){if(r!==null){var i=r.next;r.next=a.next,a.next=i}l.baseQueue=r=a,n.pending=null}if(r!==null){a=r.next,l=l.baseState;var c=i=null,o=null,u=a;do{var h=u.lane;if((nn&h)===h)o!==null&&(o=o.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),l=u.hasEagerState?u.eagerState:e(l,u.action);else{var d={lane:h,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};o===null?(c=o=d,i=l):o=o.next=d,te.lanes|=h,sn|=h}u=u.next}while(u!==null&&u!==a);o===null?i=l:o.next=c,st(l,t.memoizedState)||(Te=!0),t.memoizedState=l,t.baseState=i,t.baseQueue=o,n.lastRenderedState=l}if(e=n.interleaved,e!==null){r=e;do a=r.lane,te.lanes|=a,sn|=a,r=r.next;while(r!==e)}else r===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function yr(e){var t=Qe(),n=t.queue;if(n===null)throw Error(b(311));n.lastRenderedReducer=e;var l=n.dispatch,r=n.pending,a=t.memoizedState;if(r!==null){n.pending=null;var i=r=r.next;do a=e(a,i.action),i=i.next;while(i!==r);st(a,t.memoizedState)||(Te=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,l]}function Gc(){}function Zc(e,t){var n=te,l=Qe(),r=t(),a=!st(l.memoizedState,r);if(a&&(l.memoizedState=r,Te=!0),l=l.queue,Ya(nu.bind(null,n,l,e),[e]),l.getSnapshot!==t||a||ue!==null&&ue.memoizedState.tag&1){if(n.flags|=2048,Cs(9,tu.bind(null,n,l,r,t),void 0,null),de===null)throw Error(b(349));nn&30||eu(n,t,r)}return r}function eu(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=te.updateQueue,t===null?(t={lastEffect:null,stores:null},te.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function tu(e,t,n,l){t.value=n,t.getSnapshot=l,su(t)&&lu(e)}function nu(e,t,n){return n(function(){su(t)&&lu(e)})}function su(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!st(e,n)}catch{return!0}}function lu(e){var t=jt(e,1);t!==null&&nt(t,e,1,-1)}function Gi(e){var t=rt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:bs,lastRenderedState:e},t.queue=e,e=e.dispatch=Kh.bind(null,te,e),[t.memoizedState,e]}function Cs(e,t,n,l){return e={tag:e,create:t,destroy:n,deps:l,next:null},t=te.updateQueue,t===null?(t={lastEffect:null,stores:null},te.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(l=n.next,n.next=e,e.next=l,t.lastEffect=e)),e}function ru(){return Qe().memoizedState}function al(e,t,n,l){var r=rt();te.flags|=e,r.memoizedState=Cs(1|t,n,void 0,l===void 0?null:l)}function Hl(e,t,n,l){var r=Qe();l=l===void 0?null:l;var a=void 0;if(oe!==null){var i=oe.memoizedState;if(a=i.destroy,l!==null&&qa(l,i.deps)){r.memoizedState=Cs(t,n,a,l);return}}te.flags|=e,r.memoizedState=Cs(1|t,n,a,l)}function Zi(e,t){return al(8390656,8,e,t)}function Ya(e,t){return Hl(2048,8,e,t)}function au(e,t){return Hl(4,2,e,t)}function iu(e,t){return Hl(4,4,e,t)}function ou(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function cu(e,t,n){return n=n!=null?n.concat([e]):null,Hl(4,4,ou.bind(null,t,e),n)}function Ga(){}function uu(e,t){var n=Qe();t=t===void 0?null:t;var l=n.memoizedState;return l!==null&&t!==null&&qa(t,l[1])?l[0]:(n.memoizedState=[e,t],e)}function du(e,t){var n=Qe();t=t===void 0?null:t;var l=n.memoizedState;return l!==null&&t!==null&&qa(t,l[1])?l[0]:(e=e(),n.memoizedState=[e,t],e)}function hu(e,t,n){return nn&21?(st(n,t)||(n=gc(),te.lanes|=n,sn|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Te=!0),e.memoizedState=n)}function Vh(e,t){var n=Q;Q=n!==0&&4>n?n:4,e(!0);var l=gr.transition;gr.transition={};try{e(!1),t()}finally{Q=n,gr.transition=l}}function fu(){return Qe().memoizedState}function Qh(e,t,n){var l=$t(e);if(n={lane:l,action:n,hasEagerState:!1,eagerState:null,next:null},pu(e))mu(t,n);else if(n=Jc(e,t,n,l),n!==null){var r=we();nt(n,e,l,r),xu(n,t,l)}}function Kh(e,t,n){var l=$t(e),r={lane:l,action:n,hasEagerState:!1,eagerState:null,next:null};if(pu(e))mu(t,r);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,c=a(i,n);if(r.hasEagerState=!0,r.eagerState=c,st(c,i)){var o=t.interleaved;o===null?(r.next=r,Ha(t)):(r.next=o.next,o.next=r),t.interleaved=r;return}}catch{}finally{}n=Jc(e,t,r,l),n!==null&&(r=we(),nt(n,e,l,r),xu(n,t,l))}}function pu(e){var t=e.alternate;return e===te||t!==null&&t===te}function mu(e,t){is=Pl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function xu(e,t,n){if(n&4194240){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,Pa(e,n)}}var _l={readContext:Ve,useCallback:ge,useContext:ge,useEffect:ge,useImperativeHandle:ge,useInsertionEffect:ge,useLayoutEffect:ge,useMemo:ge,useReducer:ge,useRef:ge,useState:ge,useDebugValue:ge,useDeferredValue:ge,useTransition:ge,useMutableSource:ge,useSyncExternalStore:ge,useId:ge,unstable_isNewReconciler:!1},qh={readContext:Ve,useCallback:function(e,t){return rt().memoizedState=[e,t===void 0?null:t],e},useContext:Ve,useEffect:Zi,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,al(4194308,4,ou.bind(null,t,e),n)},useLayoutEffect:function(e,t){return al(4194308,4,e,t)},useInsertionEffect:function(e,t){return al(4,2,e,t)},useMemo:function(e,t){var n=rt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var l=rt();return t=n!==void 0?n(t):t,l.memoizedState=l.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},l.queue=e,e=e.dispatch=Qh.bind(null,te,e),[l.memoizedState,e]},useRef:function(e){var t=rt();return e={current:e},t.memoizedState=e},useState:Gi,useDebugValue:Ga,useDeferredValue:function(e){return rt().memoizedState=e},useTransition:function(){var e=Gi(!1),t=e[0];return e=Vh.bind(null,e[1]),rt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var l=te,r=rt();if(Z){if(n===void 0)throw Error(b(407));n=n()}else{if(n=t(),de===null)throw Error(b(349));nn&30||eu(l,t,n)}r.memoizedState=n;var a={value:n,getSnapshot:t};return r.queue=a,Zi(nu.bind(null,l,a,e),[e]),l.flags|=2048,Cs(9,tu.bind(null,l,a,n,t),void 0,null),n},useId:function(){var e=rt(),t=de.identifierPrefix;if(Z){var n=xt,l=mt;n=(l&~(1<<32-tt(l)-1)).toString(32)+n,t=":"+t+"R"+n,n=ws++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=Wh++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Jh={readContext:Ve,useCallback:uu,useContext:Ve,useEffect:Ya,useImperativeHandle:cu,useInsertionEffect:au,useLayoutEffect:iu,useMemo:du,useReducer:vr,useRef:ru,useState:function(){return vr(bs)},useDebugValue:Ga,useDeferredValue:function(e){var t=Qe();return hu(t,oe.memoizedState,e)},useTransition:function(){var e=vr(bs)[0],t=Qe().memoizedState;return[e,t]},useMutableSource:Gc,useSyncExternalStore:Zc,useId:fu,unstable_isNewReconciler:!1},Xh={readContext:Ve,useCallback:uu,useContext:Ve,useEffect:Ya,useImperativeHandle:cu,useInsertionEffect:au,useLayoutEffect:iu,useMemo:du,useReducer:yr,useRef:ru,useState:function(){return yr(bs)},useDebugValue:Ga,useDeferredValue:function(e){var t=Qe();return oe===null?t.memoizedState=e:hu(t,oe.memoizedState,e)},useTransition:function(){var e=yr(bs)[0],t=Qe().memoizedState;return[e,t]},useMutableSource:Gc,useSyncExternalStore:Zc,useId:fu,unstable_isNewReconciler:!1};function Ye(e,t){if(e&&e.defaultProps){t=ne({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function ta(e,t,n,l){t=e.memoizedState,n=n(l,t),n=n==null?t:ne({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Wl={isMounted:function(e){return(e=e._reactInternals)?an(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var l=we(),r=$t(e),a=gt(l,r);a.payload=t,n!=null&&(a.callback=n),t=Dt(e,a,r),t!==null&&(nt(t,e,r,l),ll(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var l=we(),r=$t(e),a=gt(l,r);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=Dt(e,a,r),t!==null&&(nt(t,e,r,l),ll(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=we(),l=$t(e),r=gt(n,l);r.tag=2,t!=null&&(r.callback=t),t=Dt(e,r,l),t!==null&&(nt(t,e,l,n),ll(t,e,l))}};function eo(e,t,n,l,r,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,a,i):t.prototype&&t.prototype.isPureReactComponent?!vs(n,l)||!vs(r,a):!0}function gu(e,t,n){var l=!1,r=Bt,a=t.contextType;return typeof a=="object"&&a!==null?a=Ve(a):(r=_e(t)?en:Ne.current,l=t.contextTypes,a=(l=l!=null)?Pn(e,r):Bt),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Wl,e.stateNode=t,t._reactInternals=e,l&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=a),t}function to(e,t,n,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,l),t.state!==e&&Wl.enqueueReplaceState(t,t.state,null)}function na(e,t,n,l){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Wa(e);var a=t.contextType;typeof a=="object"&&a!==null?r.context=Ve(a):(a=_e(t)?en:Ne.current,r.context=Pn(e,a)),r.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(ta(e,t,a,n),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&Wl.enqueueReplaceState(r,r.state,null),El(e,n,r,l),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function Fn(e,t){try{var n="",l=t;do n+=wd(l),l=l.return;while(l);var r=n}catch(a){r=`
|
|
39
39
|
Error generating stack: `+a.message+`
|
|
40
|
-
`+a.stack}return{value:e,source:t,stack:r,digest:null}}function jr(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function sa(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Yh=typeof WeakMap=="function"?WeakMap:Map;function vu(e,t,n){n=gt(-1,n),n.tag=3,n.payload={element:null};var l=t.value;return n.callback=function(){Ll||(Ll=!0,fa=l),sa(e,t)},n}function yu(e,t,n){n=gt(-1,n),n.tag=3;var l=e.type.getDerivedStateFromError;if(typeof l=="function"){var r=t.value;n.payload=function(){return l(r)},n.callback=function(){sa(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){sa(e,t),typeof l!="function"&&(Ot===null?Ot=new Set([this]):Ot.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),n}function no(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Yh;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(n)||(r.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function so(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function lo(e,t,n,l,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=gt(-1,1),t.tag=2,Dt(n,t,1))),n.lanes|=1),e)}var Gh=kt.ReactCurrentOwner,Te=!1;function Se(e,t,n,l){t.child=e===null?qc(t,null,n,l):Rn(t,e.child,n,l)}function ro(e,t,n,l,r){n=n.render;var a=t.ref;return Cn(t,r),l=Ja(e,t,n,l,a,r),n=Xa(),e!==null&&!Te?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Nt(e,t,r)):(Z&&n&&Oa(t),t.flags|=1,Se(e,t,l,r),t.child)}function ao(e,t,n,l,r){if(e===null){var a=n.type;return typeof a=="function"&&!ai(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,ju(e,t,a,l,r)):(e=ul(n.type,null,l,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&r)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:vs,n(i,l)&&e.ref===t.ref)return Nt(e,t,r)}return t.flags|=1,e=At(a,l),e.ref=t.ref,e.return=t,t.child=e}function ju(e,t,n,l,r){if(e!==null){var a=e.memoizedProps;if(vs(a,l)&&e.ref===t.ref)if(Te=!1,t.pendingProps=l=a,(e.lanes&r)!==0)e.flags&131072&&(Te=!0);else return t.lanes=e.lanes,Nt(e,t,r)}return la(e,t,n,l,r)}function Nu(e,t,n){var l=t.pendingProps,r=l.children,a=e!==null?e.memoizedState:null;if(l.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},J(Nn,Me),Me|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,J(Nn,Me),Me|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},l=a!==null?a.baseLanes:n,J(Nn,Me),Me|=l}else a!==null?(l=a.baseLanes|n,t.memoizedState=null):l=n,J(Nn,Me),Me|=l;return Se(e,t,r,n),t.child}function ku(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function la(e,t,n,l,r){var a=_e(n)?en:Ne.current;return a=Pn(t,a),Cn(t,r),n=Ja(e,t,n,l,a,r),l=Xa(),e!==null&&!Te?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Nt(e,t,r)):(Z&&l&&Oa(t),t.flags|=1,Se(e,t,n,r),t.child)}function io(e,t,n,l,r){if(_e(n)){var a=!0;kl(t)}else a=!1;if(Cn(t,r),t.stateNode===null)il(e,t),gu(t,n,l),na(t,n,l,r),l=!0;else if(e===null){var i=t.stateNode,c=t.memoizedProps;i.props=c;var o=i.context,u=n.contextType;typeof u=="object"&&u!==null?u=Ve(u):(u=_e(n)?en:Ne.current,u=Pn(t,u));var h=n.getDerivedStateFromProps,d=typeof h=="function"||typeof i.getSnapshotBeforeUpdate=="function";d||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==l||o!==u)&&to(t,i,l,u),Et=!1;var m=t.memoizedState;i.state=m,El(t,l,i,r),o=t.memoizedState,c!==l||m!==o||Pe.current||Et?(typeof h=="function"&&(ta(t,n,h,l),o=t.memoizedState),(c=Et||eo(t,n,c,l,m,o,u))?(d||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=o),i.props=l,i.state=o,i.context=u,l=c):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{i=t.stateNode,Xc(e,t),c=t.memoizedProps,u=t.type===t.elementType?c:Ye(t.type,c),i.props=u,d=t.pendingProps,m=i.context,o=n.contextType,typeof o=="object"&&o!==null?o=Ve(o):(o=_e(n)?en:Ne.current,o=Pn(t,o));var v=n.getDerivedStateFromProps;(h=typeof v=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==d||m!==o)&&to(t,i,l,o),Et=!1,m=t.memoizedState,i.state=m,El(t,l,i,r);var g=t.memoizedState;c!==d||m!==g||Pe.current||Et?(typeof v=="function"&&(ta(t,n,v,l),g=t.memoizedState),(u=Et||eo(t,n,u,l,m,g,o)||!1)?(h||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(l,g,o),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(l,g,o)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=g),i.props=l,i.state=g,i.context=o,l=u):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),l=!1)}return ra(e,t,n,l,a,r)}function ra(e,t,n,l,r,a){ku(e,t);var i=(t.flags&128)!==0;if(!l&&!i)return r&&Qi(t,n,!1),Nt(e,t,a);l=t.stateNode,Gh.current=t;var c=i&&typeof n.getDerivedStateFromError!="function"?null:l.render();return t.flags|=1,e!==null&&i?(t.child=Rn(t,e.child,null,a),t.child=Rn(t,null,c,a)):Se(e,t,c,a),t.memoizedState=l.state,r&&Qi(t,n,!0),t.child}function Su(e){var t=e.stateNode;t.pendingContext?Vi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Vi(e,t.context,!1),Va(e,t.containerInfo)}function oo(e,t,n,l,r){return _n(),Aa(r),t.flags|=256,Se(e,t,n,l),t.child}var aa={dehydrated:null,treeContext:null,retryLane:0};function ia(e){return{baseLanes:e,cachePool:null,transitions:null}}function wu(e,t,n){var l=t.pendingProps,r=ee.current,a=!1,i=(t.flags&128)!==0,c;if((c=i)||(c=e!==null&&e.memoizedState===null?!1:(r&2)!==0),c?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),J(ee,r&1),e===null)return Zr(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=l.children,e=l.fallback,a?(l=t.mode,a=t.child,i={mode:"hidden",children:i},!(l&1)&&a!==null?(a.childLanes=0,a.pendingProps=i):a=Kl(i,l,0,null),e=Zt(e,l,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=ia(n),t.memoizedState=aa,e):Za(t,i));if(r=e.memoizedState,r!==null&&(c=r.dehydrated,c!==null))return Zh(e,t,i,l,c,r,n);if(a){a=l.fallback,i=t.mode,r=e.child,c=r.sibling;var o={mode:"hidden",children:l.children};return!(i&1)&&t.child!==r?(l=t.child,l.childLanes=0,l.pendingProps=o,t.deletions=null):(l=At(r,o),l.subtreeFlags=r.subtreeFlags&14680064),c!==null?a=At(c,a):(a=Zt(a,i,n,null),a.flags|=2),a.return=t,l.return=t,l.sibling=a,t.child=l,l=a,a=t.child,i=e.child.memoizedState,i=i===null?ia(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},a.memoizedState=i,a.childLanes=e.childLanes&~n,t.memoizedState=aa,l}return a=e.child,e=a.sibling,l=At(a,{mode:"visible",children:l.children}),!(t.mode&1)&&(l.lanes=n),l.return=t,l.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=l,t.memoizedState=null,l}function Za(e,t){return t=Kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function qs(e,t,n,l){return l!==null&&Aa(l),Rn(t,e.child,null,n),e=Za(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Zh(e,t,n,l,r,a,i){if(n)return t.flags&256?(t.flags&=-257,l=jr(Error(b(422))),qs(e,t,i,l)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=l.fallback,r=t.mode,l=Kl({mode:"visible",children:l.children},r,0,null),a=Zt(a,r,i,null),a.flags|=2,l.return=t,a.return=t,l.sibling=a,t.child=l,t.mode&1&&Rn(t,e.child,null,i),t.child.memoizedState=ia(i),t.memoizedState=aa,a);if(!(t.mode&1))return qs(e,t,i,null);if(r.data==="$!"){if(l=r.nextSibling&&r.nextSibling.dataset,l)var c=l.dgst;return l=c,a=Error(b(419)),l=jr(a,l,void 0),qs(e,t,i,l)}if(c=(i&e.childLanes)!==0,Te||c){if(l=de,l!==null){switch(i&-i){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(l.suspendedLanes|i)?0:r,r!==0&&r!==a.retryLane&&(a.retryLane=r,jt(e,r),nt(l,e,r,-1))}return ri(),l=jr(Error(b(421))),qs(e,t,i,l)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=ff.bind(null,e),r._reactRetry=t,null):(e=a.treeContext,ze=zt(r.nextSibling),De=t,Z=!0,et=null,e!==null&&(Be[Ue++]=mt,Be[Ue++]=xt,Be[Ue++]=tn,mt=e.id,xt=e.overflow,tn=t),t=Za(t,l.children),t.flags|=4096,t)}function co(e,t,n){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),ea(e.return,t,n)}function Nr(e,t,n,l,r){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:r}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=l,a.tail=n,a.tailMode=r)}function bu(e,t,n){var l=t.pendingProps,r=l.revealOrder,a=l.tail;if(Se(e,t,l.children,n),l=ee.current,l&2)l=l&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&co(e,n,t);else if(e.tag===19)co(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}l&=1}if(J(ee,l),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Tl(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Nr(t,!1,r,n,a);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Tl(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Nr(t,!0,n,null,a);break;case"together":Nr(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function il(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Nt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),sn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(b(153));if(t.child!==null){for(e=t.child,n=At(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=At(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function ef(e,t,n){switch(t.tag){case 3:Su(t),_n();break;case 5:Yc(t);break;case 1:_e(t.type)&&kl(t);break;case 4:Va(t,t.stateNode.containerInfo);break;case 10:var l=t.type._context,r=t.memoizedProps.value;J(bl,l._currentValue),l._currentValue=r;break;case 13:if(l=t.memoizedState,l!==null)return l.dehydrated!==null?(J(ee,ee.current&1),t.flags|=128,null):n&t.child.childLanes?wu(e,t,n):(J(ee,ee.current&1),e=Nt(e,t,n),e!==null?e.sibling:null);J(ee,ee.current&1);break;case 19:if(l=(n&t.childLanes)!==0,e.flags&128){if(l)return bu(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),J(ee,ee.current),l)break;return null;case 22:case 23:return t.lanes=0,Nu(e,t,n)}return Nt(e,t,n)}var Cu,oa,Eu,Tu;Cu=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};oa=function(){};Eu=function(e,t,n,l){var r=e.memoizedProps;if(r!==l){e=t.stateNode,Yt(ot.current);var a=null;switch(n){case"input":r=_r(e,r),l=_r(e,l),a=[];break;case"select":r=ne({},r,{value:void 0}),l=ne({},l,{value:void 0}),a=[];break;case"textarea":r=Fr(e,r),l=Fr(e,l),a=[];break;default:typeof r.onClick!="function"&&typeof l.onClick=="function"&&(e.onclick=jl)}zr(n,l);var i;n=null;for(u in r)if(!l.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var c=r[u];for(i in c)c.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(ds.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in l){var o=l[u];if(c=r!=null?r[u]:void 0,l.hasOwnProperty(u)&&o!==c&&(o!=null||c!=null))if(u==="style")if(c){for(i in c)!c.hasOwnProperty(i)||o&&o.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in o)o.hasOwnProperty(i)&&c[i]!==o[i]&&(n||(n={}),n[i]=o[i])}else n||(a||(a=[]),a.push(u,n)),n=o;else u==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,c=c?c.__html:void 0,o!=null&&c!==o&&(a=a||[]).push(u,o)):u==="children"?typeof o!="string"&&typeof o!="number"||(a=a||[]).push(u,""+o):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(ds.hasOwnProperty(u)?(o!=null&&u==="onScroll"&&X("scroll",e),a||c===o||(a=[])):(a=a||[]).push(u,o))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}};Tu=function(e,t,n,l){n!==l&&(t.flags|=4)};function qn(e,t){if(!Z)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function ve(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,l=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags&14680064,l|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags,l|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=l,e.childLanes=n,t}function tf(e,t,n){var l=t.pendingProps;switch($a(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ve(t),null;case 1:return _e(t.type)&&Nl(),ve(t),null;case 3:return l=t.stateNode,Ln(),Y(Pe),Y(Ne),Ka(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(Qs(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,et!==null&&(xa(et),et=null))),oa(e,t),ve(t),null;case 5:Qa(t);var r=Yt(Ss.current);if(n=t.type,e!==null&&t.stateNode!=null)Eu(e,t,n,l,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!l){if(t.stateNode===null)throw Error(b(166));return ve(t),null}if(e=Yt(ot.current),Qs(t)){l=t.stateNode,n=t.type;var a=t.memoizedProps;switch(l[at]=t,l[Ns]=a,e=(t.mode&1)!==0,n){case"dialog":X("cancel",l),X("close",l);break;case"iframe":case"object":case"embed":X("load",l);break;case"video":case"audio":for(r=0;r<ts.length;r++)X(ts[r],l);break;case"source":X("error",l);break;case"img":case"image":case"link":X("error",l),X("load",l);break;case"details":X("toggle",l);break;case"input":vi(l,a),X("invalid",l);break;case"select":l._wrapperState={wasMultiple:!!a.multiple},X("invalid",l);break;case"textarea":ji(l,a),X("invalid",l)}zr(n,a),r=null;for(var i in a)if(a.hasOwnProperty(i)){var c=a[i];i==="children"?typeof c=="string"?l.textContent!==c&&(a.suppressHydrationWarning!==!0&&Vs(l.textContent,c,e),r=["children",c]):typeof c=="number"&&l.textContent!==""+c&&(a.suppressHydrationWarning!==!0&&Vs(l.textContent,c,e),r=["children",""+c]):ds.hasOwnProperty(i)&&c!=null&&i==="onScroll"&&X("scroll",l)}switch(n){case"input":Os(l),yi(l,a,!0);break;case"textarea":Os(l),Ni(l);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(l.onclick=jl)}l=r,t.updateQueue=l,l!==null&&(t.flags|=4)}else{i=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=nc(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=i.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof l.is=="string"?e=i.createElement(n,{is:l.is}):(e=i.createElement(n),n==="select"&&(i=e,l.multiple?i.multiple=!0:l.size&&(i.size=l.size))):e=i.createElementNS(e,n),e[at]=t,e[Ns]=l,Cu(e,t,!1,!1),t.stateNode=e;e:{switch(i=Dr(n,l),n){case"dialog":X("cancel",e),X("close",e),r=l;break;case"iframe":case"object":case"embed":X("load",e),r=l;break;case"video":case"audio":for(r=0;r<ts.length;r++)X(ts[r],e);r=l;break;case"source":X("error",e),r=l;break;case"img":case"image":case"link":X("error",e),X("load",e),r=l;break;case"details":X("toggle",e),r=l;break;case"input":vi(e,l),r=_r(e,l),X("invalid",e);break;case"option":r=l;break;case"select":e._wrapperState={wasMultiple:!!l.multiple},r=ne({},l,{value:void 0}),X("invalid",e);break;case"textarea":ji(e,l),r=Fr(e,l),X("invalid",e);break;default:r=l}zr(n,r),c=r;for(a in c)if(c.hasOwnProperty(a)){var o=c[a];a==="style"?rc(e,o):a==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&sc(e,o)):a==="children"?typeof o=="string"?(n!=="textarea"||o!=="")&&hs(e,o):typeof o=="number"&&hs(e,""+o):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(ds.hasOwnProperty(a)?o!=null&&a==="onScroll"&&X("scroll",e):o!=null&&Sa(e,a,o,i))}switch(n){case"input":Os(e),yi(e,l,!1);break;case"textarea":Os(e),Ni(e);break;case"option":l.value!=null&&e.setAttribute("value",""+It(l.value));break;case"select":e.multiple=!!l.multiple,a=l.value,a!=null?kn(e,!!l.multiple,a,!1):l.defaultValue!=null&&kn(e,!!l.multiple,l.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=jl)}switch(n){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}}l&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ve(t),null;case 6:if(e&&t.stateNode!=null)Tu(e,t,e.memoizedProps,l);else{if(typeof l!="string"&&t.stateNode===null)throw Error(b(166));if(n=Yt(Ss.current),Yt(ot.current),Qs(t)){if(l=t.stateNode,n=t.memoizedProps,l[at]=t,(a=l.nodeValue!==n)&&(e=De,e!==null))switch(e.tag){case 3:Vs(l.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Vs(l.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else l=(n.nodeType===9?n:n.ownerDocument).createTextNode(l),l[at]=t,t.stateNode=l}return ve(t),null;case 13:if(Y(ee),l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Z&&ze!==null&&t.mode&1&&!(t.flags&128))Qc(),_n(),t.flags|=98560,a=!1;else if(a=Qs(t),l!==null&&l.dehydrated!==null){if(e===null){if(!a)throw Error(b(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(b(317));a[at]=t}else _n(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ve(t),a=!1}else et!==null&&(xa(et),et=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(l=l!==null,l!==(e!==null&&e.memoizedState!==null)&&l&&(t.child.flags|=8192,t.mode&1&&(e===null||ee.current&1?ce===0&&(ce=3):ri())),t.updateQueue!==null&&(t.flags|=4),ve(t),null);case 4:return Ln(),oa(e,t),e===null&&ys(t.stateNode.containerInfo),ve(t),null;case 10:return Ua(t.type._context),ve(t),null;case 17:return _e(t.type)&&Nl(),ve(t),null;case 19:if(Y(ee),a=t.memoizedState,a===null)return ve(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)qn(a,!1);else{if(ce!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(i=Tl(e),i!==null){for(t.flags|=128,qn(a,!1),l=i.updateQueue,l!==null&&(t.updateQueue=l,t.flags|=4),t.subtreeFlags=0,l=n,n=t.child;n!==null;)a=n,e=l,a.flags&=14680066,i=a.alternate,i===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,a.type=i.type,e=i.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return J(ee,ee.current&1|2),t.child}e=e.sibling}a.tail!==null&&re()>Mn&&(t.flags|=128,l=!0,qn(a,!1),t.lanes=4194304)}else{if(!l)if(e=Tl(i),e!==null){if(t.flags|=128,l=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),qn(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Z)return ve(t),null}else 2*re()-a.renderingStartTime>Mn&&n!==1073741824&&(t.flags|=128,l=!0,qn(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(n=a.last,n!==null?n.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=re(),t.sibling=null,n=ee.current,J(ee,l?n&1|2:n&1),t):(ve(t),null);case 22:case 23:return li(),l=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==l&&(t.flags|=8192),l&&t.mode&1?Me&1073741824&&(ve(t),t.subtreeFlags&6&&(t.flags|=8192)):ve(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function nf(e,t){switch($a(t),t.tag){case 1:return _e(t.type)&&Nl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ln(),Y(Pe),Y(Ne),Ka(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Qa(t),null;case 13:if(Y(ee),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));_n()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(ee),null;case 4:return Ln(),null;case 10:return Ua(t.type._context),null;case 22:case 23:return li(),null;case 24:return null;default:return null}}var Js=!1,je=!1,sf=typeof WeakSet=="function"?WeakSet:Set,R=null;function jn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(l){se(e,t,l)}else n.current=null}function ca(e,t,n){try{n()}catch(l){se(e,t,l)}}var uo=!1;function lf(e,t){if(Qr=gl,e=Fc(),Da(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var r=l.anchorOffset,a=l.focusNode;l=l.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,c=-1,o=-1,u=0,h=0,d=e,m=null;t:for(;;){for(var v;d!==n||r!==0&&d.nodeType!==3||(c=i+r),d!==a||l!==0&&d.nodeType!==3||(o=i+l),d.nodeType===3&&(i+=d.nodeValue.length),(v=d.firstChild)!==null;)m=d,d=v;for(;;){if(d===e)break t;if(m===n&&++u===r&&(c=i),m===a&&++h===l&&(o=i),(v=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=v}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Kr={focusedElem:e,selectionRange:n},gl=!1,R=t;R!==null;)if(t=R,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,R=e;else for(;R!==null;){t=R;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var S=g.memoizedProps,N=g.memoizedState,p=t.stateNode,f=p.getSnapshotBeforeUpdate(t.elementType===t.type?S:Ye(t.type,S),N);p.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(k){se(t,t.return,k)}if(e=t.sibling,e!==null){e.return=t.return,R=e;break}R=t.return}return g=uo,uo=!1,g}function os(e,t,n){var l=t.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var r=l=l.next;do{if((r.tag&e)===e){var a=r.destroy;r.destroy=void 0,a!==void 0&&ca(t,n,a)}r=r.next}while(r!==l)}}function Vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var l=n.create;n.destroy=l()}n=n.next}while(n!==t)}}function ua(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Pu(e){var t=e.alternate;t!==null&&(e.alternate=null,Pu(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[at],delete t[Ns],delete t[Xr],delete t[Ih],delete t[Bh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function _u(e){return e.tag===5||e.tag===3||e.tag===4}function ho(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_u(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function da(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=jl));else if(l!==4&&(e=e.child,e!==null))for(da(e,t,n),e=e.sibling;e!==null;)da(e,t,n),e=e.sibling}function ha(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(e=e.child,e!==null))for(ha(e,t,n),e=e.sibling;e!==null;)ha(e,t,n),e=e.sibling}var fe=null,Ze=!1;function bt(e,t,n){for(n=n.child;n!==null;)Ru(e,t,n),n=n.sibling}function Ru(e,t,n){if(it&&typeof it.onCommitFiberUnmount=="function")try{it.onCommitFiberUnmount(Ol,n)}catch{}switch(n.tag){case 5:je||jn(n,t);case 6:var l=fe,r=Ze;fe=null,bt(e,t,n),fe=l,Ze=r,fe!==null&&(Ze?(e=fe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):fe.removeChild(n.stateNode));break;case 18:fe!==null&&(Ze?(e=fe,n=n.stateNode,e.nodeType===8?pr(e.parentNode,n):e.nodeType===1&&pr(e,n),xs(e)):pr(fe,n.stateNode));break;case 4:l=fe,r=Ze,fe=n.stateNode.containerInfo,Ze=!0,bt(e,t,n),fe=l,Ze=r;break;case 0:case 11:case 14:case 15:if(!je&&(l=n.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){r=l=l.next;do{var a=r,i=a.destroy;a=a.tag,i!==void 0&&(a&2||a&4)&&ca(n,t,i),r=r.next}while(r!==l)}bt(e,t,n);break;case 1:if(!je&&(jn(n,t),l=n.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=n.memoizedProps,l.state=n.memoizedState,l.componentWillUnmount()}catch(c){se(n,t,c)}bt(e,t,n);break;case 21:bt(e,t,n);break;case 22:n.mode&1?(je=(l=je)||n.memoizedState!==null,bt(e,t,n),je=l):bt(e,t,n);break;default:bt(e,t,n)}}function fo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new sf),t.forEach(function(l){var r=pf.bind(null,e,l);n.has(l)||(n.add(l),l.then(r,r))})}}function Xe(e,t){var n=t.deletions;if(n!==null)for(var l=0;l<n.length;l++){var r=n[l];try{var a=e,i=t,c=i;e:for(;c!==null;){switch(c.tag){case 5:fe=c.stateNode,Ze=!1;break e;case 3:fe=c.stateNode.containerInfo,Ze=!0;break e;case 4:fe=c.stateNode.containerInfo,Ze=!0;break e}c=c.return}if(fe===null)throw Error(b(160));Ru(a,i,r),fe=null,Ze=!1;var o=r.alternate;o!==null&&(o.return=null),r.return=null}catch(u){se(r,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Lu(t,e),t=t.sibling}function Lu(e,t){var n=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Xe(t,e),lt(e),l&4){try{os(3,e,e.return),Vl(3,e)}catch(S){se(e,e.return,S)}try{os(5,e,e.return)}catch(S){se(e,e.return,S)}}break;case 1:Xe(t,e),lt(e),l&512&&n!==null&&jn(n,n.return);break;case 5:if(Xe(t,e),lt(e),l&512&&n!==null&&jn(n,n.return),e.flags&32){var r=e.stateNode;try{hs(r,"")}catch(S){se(e,e.return,S)}}if(l&4&&(r=e.stateNode,r!=null)){var a=e.memoizedProps,i=n!==null?n.memoizedProps:a,c=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{c==="input"&&a.type==="radio"&&a.name!=null&&ec(r,a),Dr(c,i);var u=Dr(c,a);for(i=0;i<o.length;i+=2){var h=o[i],d=o[i+1];h==="style"?rc(r,d):h==="dangerouslySetInnerHTML"?sc(r,d):h==="children"?hs(r,d):Sa(r,h,d,u)}switch(c){case"input":Rr(r,a);break;case"textarea":tc(r,a);break;case"select":var m=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!a.multiple;var v=a.value;v!=null?kn(r,!!a.multiple,v,!1):m!==!!a.multiple&&(a.defaultValue!=null?kn(r,!!a.multiple,a.defaultValue,!0):kn(r,!!a.multiple,a.multiple?[]:"",!1))}r[Ns]=a}catch(S){se(e,e.return,S)}}break;case 6:if(Xe(t,e),lt(e),l&4){if(e.stateNode===null)throw Error(b(162));r=e.stateNode,a=e.memoizedProps;try{r.nodeValue=a}catch(S){se(e,e.return,S)}}break;case 3:if(Xe(t,e),lt(e),l&4&&n!==null&&n.memoizedState.isDehydrated)try{xs(t.containerInfo)}catch(S){se(e,e.return,S)}break;case 4:Xe(t,e),lt(e);break;case 13:Xe(t,e),lt(e),r=e.child,r.flags&8192&&(a=r.memoizedState!==null,r.stateNode.isHidden=a,!a||r.alternate!==null&&r.alternate.memoizedState!==null||(ni=re())),l&4&&fo(e);break;case 22:if(h=n!==null&&n.memoizedState!==null,e.mode&1?(je=(u=je)||h,Xe(t,e),je=u):Xe(t,e),lt(e),l&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!h&&e.mode&1)for(R=e,h=e.child;h!==null;){for(d=R=h;R!==null;){switch(m=R,v=m.child,m.tag){case 0:case 11:case 14:case 15:os(4,m,m.return);break;case 1:jn(m,m.return);var g=m.stateNode;if(typeof g.componentWillUnmount=="function"){l=m,n=m.return;try{t=l,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(S){se(l,n,S)}}break;case 5:jn(m,m.return);break;case 22:if(m.memoizedState!==null){mo(d);continue}}v!==null?(v.return=m,R=v):mo(d)}h=h.sibling}e:for(h=null,d=e;;){if(d.tag===5){if(h===null){h=d;try{r=d.stateNode,u?(a=r.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(c=d.stateNode,o=d.memoizedProps.style,i=o!=null&&o.hasOwnProperty("display")?o.display:null,c.style.display=lc("display",i))}catch(S){se(e,e.return,S)}}}else if(d.tag===6){if(h===null)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(S){se(e,e.return,S)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;h===d&&(h=null),d=d.return}h===d&&(h=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:Xe(t,e),lt(e),l&4&&fo(e);break;case 21:break;default:Xe(t,e),lt(e)}}function lt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(_u(n)){var l=n;break e}n=n.return}throw Error(b(160))}switch(l.tag){case 5:var r=l.stateNode;l.flags&32&&(hs(r,""),l.flags&=-33);var a=ho(e);ha(e,a,r);break;case 3:case 4:var i=l.stateNode.containerInfo,c=ho(e);da(e,c,i);break;default:throw Error(b(161))}}catch(o){se(e,e.return,o)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function rf(e,t,n){R=e,Fu(e)}function Fu(e,t,n){for(var l=(e.mode&1)!==0;R!==null;){var r=R,a=r.child;if(r.tag===22&&l){var i=r.memoizedState!==null||Js;if(!i){var c=r.alternate,o=c!==null&&c.memoizedState!==null||je;c=Js;var u=je;if(Js=i,(je=o)&&!u)for(R=r;R!==null;)i=R,o=i.child,i.tag===22&&i.memoizedState!==null?xo(r):o!==null?(o.return=i,R=o):xo(r);for(;a!==null;)R=a,Fu(a),a=a.sibling;R=r,Js=c,je=u}po(e)}else r.subtreeFlags&8772&&a!==null?(a.return=r,R=a):po(e)}}function po(e){for(;R!==null;){var t=R;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:je||Vl(5,t);break;case 1:var l=t.stateNode;if(t.flags&4&&!je)if(n===null)l.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:Ye(t.type,n.memoizedProps);l.componentDidUpdate(r,n.memoizedState,l.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&Yi(t,a,l);break;case 3:var i=t.updateQueue;if(i!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Yi(t,i,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&n.focus();break;case"img":o.src&&(n.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var h=u.memoizedState;if(h!==null){var d=h.dehydrated;d!==null&&xs(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(b(163))}je||t.flags&512&&ua(t)}catch(m){se(t,t.return,m)}}if(t===e){R=null;break}if(n=t.sibling,n!==null){n.return=t.return,R=n;break}R=t.return}}function mo(e){for(;R!==null;){var t=R;if(t===e){R=null;break}var n=t.sibling;if(n!==null){n.return=t.return,R=n;break}R=t.return}}function xo(e){for(;R!==null;){var t=R;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Vl(4,t)}catch(o){se(t,n,o)}break;case 1:var l=t.stateNode;if(typeof l.componentDidMount=="function"){var r=t.return;try{l.componentDidMount()}catch(o){se(t,r,o)}}var a=t.return;try{ua(t)}catch(o){se(t,a,o)}break;case 5:var i=t.return;try{ua(t)}catch(o){se(t,i,o)}}}catch(o){se(t,t.return,o)}if(t===e){R=null;break}var c=t.sibling;if(c!==null){c.return=t.return,R=c;break}R=t.return}}var af=Math.ceil,Rl=kt.ReactCurrentDispatcher,ei=kt.ReactCurrentOwner,We=kt.ReactCurrentBatchConfig,U=0,de=null,ae=null,pe=0,Me=0,Nn=Wt(0),ce=0,Es=null,sn=0,Ql=0,ti=0,cs=null,Ee=null,ni=0,Mn=1/0,ft=null,Ll=!1,fa=null,Ot=null,Xs=!1,Rt=null,Fl=0,us=0,pa=null,ol=-1,cl=0;function we(){return U&6?re():ol!==-1?ol:ol=re()}function $t(e){return e.mode&1?U&2&&pe!==0?pe&-pe:Hh.transition!==null?(cl===0&&(cl=gc()),cl):(e=Q,e!==0||(e=window.event,e=e===void 0?16:wc(e.type)),e):1}function nt(e,t,n,l){if(50<us)throw us=0,pa=null,Error(b(185));Ps(e,n,l),(!(U&2)||e!==de)&&(e===de&&(!(U&2)&&(Ql|=n),ce===4&&Pt(e,pe)),Re(e,l),n===1&&U===0&&!(t.mode&1)&&(Mn=re()+500,Ul&&Vt()))}function Re(e,t){var n=e.callbackNode;Hd(e,t);var l=xl(e,e===de?pe:0);if(l===0)n!==null&&wi(n),e.callbackNode=null,e.callbackPriority=0;else if(t=l&-l,e.callbackPriority!==t){if(n!=null&&wi(n),t===1)e.tag===0?Uh(go.bind(null,e)):Hc(go.bind(null,e)),$h(function(){!(U&6)&&Vt()}),n=null;else{switch(vc(l)){case 1:n=Ta;break;case 4:n=mc;break;case 16:n=ml;break;case 536870912:n=xc;break;default:n=ml}n=Bu(n,Mu.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Mu(e,t){if(ol=-1,cl=0,U&6)throw Error(b(327));var n=e.callbackNode;if(En()&&e.callbackNode!==n)return null;var l=xl(e,e===de?pe:0);if(l===0)return null;if(l&30||l&e.expiredLanes||t)t=Ml(e,l);else{t=l;var r=U;U|=2;var a=Du();(de!==e||pe!==t)&&(ft=null,Mn=re()+500,Gt(e,t));do try{uf();break}catch(c){zu(e,c)}while(!0);Ba(),Rl.current=a,U=r,ae!==null?t=0:(de=null,pe=0,t=ce)}if(t!==0){if(t===2&&(r=Br(e),r!==0&&(l=r,t=ma(e,r))),t===1)throw n=Es,Gt(e,0),Pt(e,l),Re(e,re()),n;if(t===6)Pt(e,l);else{if(r=e.current.alternate,!(l&30)&&!of(r)&&(t=Ml(e,l),t===2&&(a=Br(e),a!==0&&(l=a,t=ma(e,a))),t===1))throw n=Es,Gt(e,0),Pt(e,l),Re(e,re()),n;switch(e.finishedWork=r,e.finishedLanes=l,t){case 0:case 1:throw Error(b(345));case 2:Kt(e,Ee,ft);break;case 3:if(Pt(e,l),(l&130023424)===l&&(t=ni+500-re(),10<t)){if(xl(e,0)!==0)break;if(r=e.suspendedLanes,(r&l)!==l){we(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Jr(Kt.bind(null,e,Ee,ft),t);break}Kt(e,Ee,ft);break;case 4:if(Pt(e,l),(l&4194240)===l)break;for(t=e.eventTimes,r=-1;0<l;){var i=31-tt(l);a=1<<i,i=t[i],i>r&&(r=i),l&=~a}if(l=r,l=re()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*af(l/1960))-l,10<l){e.timeoutHandle=Jr(Kt.bind(null,e,Ee,ft),l);break}Kt(e,Ee,ft);break;case 5:Kt(e,Ee,ft);break;default:throw Error(b(329))}}}return Re(e,re()),e.callbackNode===n?Mu.bind(null,e):null}function ma(e,t){var n=cs;return e.current.memoizedState.isDehydrated&&(Gt(e,t).flags|=256),e=Ml(e,t),e!==2&&(t=Ee,Ee=n,t!==null&&xa(t)),e}function xa(e){Ee===null?Ee=e:Ee.push.apply(Ee,e)}function of(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var l=0;l<n.length;l++){var r=n[l],a=r.getSnapshot;r=r.value;try{if(!st(a(),r))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Pt(e,t){for(t&=~ti,t&=~Ql,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-tt(t),l=1<<n;e[n]=-1,t&=~l}}function go(e){if(U&6)throw Error(b(327));En();var t=xl(e,0);if(!(t&1))return Re(e,re()),null;var n=Ml(e,t);if(e.tag!==0&&n===2){var l=Br(e);l!==0&&(t=l,n=ma(e,l))}if(n===1)throw n=Es,Gt(e,0),Pt(e,t),Re(e,re()),n;if(n===6)throw Error(b(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Kt(e,Ee,ft),Re(e,re()),null}function si(e,t){var n=U;U|=1;try{return e(t)}finally{U=n,U===0&&(Mn=re()+500,Ul&&Vt())}}function ln(e){Rt!==null&&Rt.tag===0&&!(U&6)&&En();var t=U;U|=1;var n=We.transition,l=Q;try{if(We.transition=null,Q=1,e)return e()}finally{Q=l,We.transition=n,U=t,!(U&6)&&Vt()}}function li(){Me=Nn.current,Y(Nn)}function Gt(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Oh(n)),ae!==null)for(n=ae.return;n!==null;){var l=n;switch($a(l),l.tag){case 1:l=l.type.childContextTypes,l!=null&&Nl();break;case 3:Ln(),Y(Pe),Y(Ne),Ka();break;case 5:Qa(l);break;case 4:Ln();break;case 13:Y(ee);break;case 19:Y(ee);break;case 10:Ua(l.type._context);break;case 22:case 23:li()}n=n.return}if(de=e,ae=e=At(e.current,null),pe=Me=t,ce=0,Es=null,ti=Ql=sn=0,Ee=cs=null,Xt!==null){for(t=0;t<Xt.length;t++)if(n=Xt[t],l=n.interleaved,l!==null){n.interleaved=null;var r=l.next,a=n.pending;if(a!==null){var i=a.next;a.next=r,l.next=i}n.pending=l}Xt=null}return e}function zu(e,t){do{var n=ae;try{if(Ba(),rl.current=_l,Pl){for(var l=te.memoizedState;l!==null;){var r=l.queue;r!==null&&(r.pending=null),l=l.next}Pl=!1}if(nn=0,ue=oe=te=null,is=!1,ws=0,ei.current=null,n===null||n.return===null){ce=1,Es=t,ae=null;break}e:{var a=e,i=n.return,c=n,o=t;if(t=pe,c.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var u=o,h=c,d=h.tag;if(!(h.mode&1)&&(d===0||d===11||d===15)){var m=h.alternate;m?(h.updateQueue=m.updateQueue,h.memoizedState=m.memoizedState,h.lanes=m.lanes):(h.updateQueue=null,h.memoizedState=null)}var v=so(i);if(v!==null){v.flags&=-257,lo(v,i,c,a,t),v.mode&1&&no(a,u,t),t=v,o=u;var g=t.updateQueue;if(g===null){var S=new Set;S.add(o),t.updateQueue=S}else g.add(o);break e}else{if(!(t&1)){no(a,u,t),ri();break e}o=Error(b(426))}}else if(Z&&c.mode&1){var N=so(i);if(N!==null){!(N.flags&65536)&&(N.flags|=256),lo(N,i,c,a,t),Aa(Fn(o,c));break e}}a=o=Fn(o,c),ce!==4&&(ce=2),cs===null?cs=[a]:cs.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var p=vu(a,o,t);Xi(a,p);break e;case 1:c=o;var f=a.type,x=a.stateNode;if(!(a.flags&128)&&(typeof f.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(Ot===null||!Ot.has(x)))){a.flags|=65536,t&=-t,a.lanes|=t;var k=yu(a,c,t);Xi(a,k);break e}}a=a.return}while(a!==null)}$u(n)}catch(T){t=T,ae===n&&n!==null&&(ae=n=n.return);continue}break}while(!0)}function Du(){var e=Rl.current;return Rl.current=_l,e===null?_l:e}function ri(){(ce===0||ce===3||ce===2)&&(ce=4),de===null||!(sn&268435455)&&!(Ql&268435455)||Pt(de,pe)}function Ml(e,t){var n=U;U|=2;var l=Du();(de!==e||pe!==t)&&(ft=null,Gt(e,t));do try{cf();break}catch(r){zu(e,r)}while(!0);if(Ba(),U=n,Rl.current=l,ae!==null)throw Error(b(261));return de=null,pe=0,ce}function cf(){for(;ae!==null;)Ou(ae)}function uf(){for(;ae!==null&&!Md();)Ou(ae)}function Ou(e){var t=Iu(e.alternate,e,Me);e.memoizedProps=e.pendingProps,t===null?$u(e):ae=t,ei.current=null}function $u(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=nf(n,t),n!==null){n.flags&=32767,ae=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{ce=6,ae=null;return}}else if(n=tf(n,t,Me),n!==null){ae=n;return}if(t=t.sibling,t!==null){ae=t;return}ae=t=e}while(t!==null);ce===0&&(ce=5)}function Kt(e,t,n){var l=Q,r=We.transition;try{We.transition=null,Q=1,df(e,t,n,l)}finally{We.transition=r,Q=l}return null}function df(e,t,n,l){do En();while(Rt!==null);if(U&6)throw Error(b(327));n=e.finishedWork;var r=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(b(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(Wd(e,a),e===de&&(ae=de=null,pe=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Xs||(Xs=!0,Bu(ml,function(){return En(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=We.transition,We.transition=null;var i=Q;Q=1;var c=U;U|=4,ei.current=null,lf(e,n),Lu(n,e),_h(Kr),gl=!!Qr,Kr=Qr=null,e.current=n,rf(n),zd(),U=c,Q=i,We.transition=a}else e.current=n;if(Xs&&(Xs=!1,Rt=e,Fl=r),a=e.pendingLanes,a===0&&(Ot=null),$d(n.stateNode),Re(e,re()),t!==null)for(l=e.onRecoverableError,n=0;n<t.length;n++)r=t[n],l(r.value,{componentStack:r.stack,digest:r.digest});if(Ll)throw Ll=!1,e=fa,fa=null,e;return Fl&1&&e.tag!==0&&En(),a=e.pendingLanes,a&1?e===pa?us++:(us=0,pa=e):us=0,Vt(),null}function En(){if(Rt!==null){var e=vc(Fl),t=We.transition,n=Q;try{if(We.transition=null,Q=16>e?16:e,Rt===null)var l=!1;else{if(e=Rt,Rt=null,Fl=0,U&6)throw Error(b(331));var r=U;for(U|=4,R=e.current;R!==null;){var a=R,i=a.child;if(R.flags&16){var c=a.deletions;if(c!==null){for(var o=0;o<c.length;o++){var u=c[o];for(R=u;R!==null;){var h=R;switch(h.tag){case 0:case 11:case 15:os(8,h,a)}var d=h.child;if(d!==null)d.return=h,R=d;else for(;R!==null;){h=R;var m=h.sibling,v=h.return;if(Pu(h),h===u){R=null;break}if(m!==null){m.return=v,R=m;break}R=v}}}var g=a.alternate;if(g!==null){var S=g.child;if(S!==null){g.child=null;do{var N=S.sibling;S.sibling=null,S=N}while(S!==null)}}R=a}}if(a.subtreeFlags&2064&&i!==null)i.return=a,R=i;else e:for(;R!==null;){if(a=R,a.flags&2048)switch(a.tag){case 0:case 11:case 15:os(9,a,a.return)}var p=a.sibling;if(p!==null){p.return=a.return,R=p;break e}R=a.return}}var f=e.current;for(R=f;R!==null;){i=R;var x=i.child;if(i.subtreeFlags&2064&&x!==null)x.return=i,R=x;else e:for(i=f;R!==null;){if(c=R,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:Vl(9,c)}}catch(T){se(c,c.return,T)}if(c===i){R=null;break e}var k=c.sibling;if(k!==null){k.return=c.return,R=k;break e}R=c.return}}if(U=r,Vt(),it&&typeof it.onPostCommitFiberRoot=="function")try{it.onPostCommitFiberRoot(Ol,e)}catch{}l=!0}return l}finally{Q=n,We.transition=t}}return!1}function vo(e,t,n){t=Fn(n,t),t=vu(e,t,1),e=Dt(e,t,1),t=we(),e!==null&&(Ps(e,1,t),Re(e,t))}function se(e,t,n){if(e.tag===3)vo(e,e,n);else for(;t!==null;){if(t.tag===3){vo(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ot===null||!Ot.has(l))){e=Fn(n,e),e=yu(t,e,1),t=Dt(t,e,1),e=we(),t!==null&&(Ps(t,1,e),Re(t,e));break}}t=t.return}}function hf(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),t=we(),e.pingedLanes|=e.suspendedLanes&n,de===e&&(pe&n)===n&&(ce===4||ce===3&&(pe&130023424)===pe&&500>re()-ni?Gt(e,0):ti|=n),Re(e,t)}function Au(e,t){t===0&&(e.mode&1?(t=Is,Is<<=1,!(Is&130023424)&&(Is=4194304)):t=1);var n=we();e=jt(e,t),e!==null&&(Ps(e,t,n),Re(e,n))}function ff(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Au(e,n)}function pf(e,t){var n=0;switch(e.tag){case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:l=e.stateNode;break;default:throw Error(b(314))}l!==null&&l.delete(t),Au(e,n)}var Iu;Iu=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pe.current)Te=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Te=!1,ef(e,t,n);Te=!!(e.flags&131072)}else Te=!1,Z&&t.flags&1048576&&Wc(t,wl,t.index);switch(t.lanes=0,t.tag){case 2:var l=t.type;il(e,t),e=t.pendingProps;var r=Pn(t,Ne.current);Cn(t,n),r=Ja(null,t,l,e,r,n);var a=Xa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_e(l)?(a=!0,kl(t)):a=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Wa(t),r.updater=Wl,t.stateNode=r,r._reactInternals=t,na(t,l,e,n),t=ra(null,t,l,!0,a,n)):(t.tag=0,Z&&a&&Oa(t),Se(null,t,r,n),t=t.child),t;case 16:l=t.elementType;e:{switch(il(e,t),e=t.pendingProps,r=l._init,l=r(l._payload),t.type=l,r=t.tag=xf(l),e=Ye(l,e),r){case 0:t=la(null,t,l,e,n);break e;case 1:t=io(null,t,l,e,n);break e;case 11:t=ro(null,t,l,e,n);break e;case 14:t=ao(null,t,l,Ye(l.type,e),n);break e}throw Error(b(306,l,""))}return t;case 0:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),la(e,t,l,r,n);case 1:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),io(e,t,l,r,n);case 3:e:{if(Su(t),e===null)throw Error(b(387));l=t.pendingProps,a=t.memoizedState,r=a.element,Xc(e,t),El(t,l,null,n);var i=t.memoizedState;if(l=i.element,a.isDehydrated)if(a={element:l,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){r=Fn(Error(b(423)),t),t=oo(e,t,l,n,r);break e}else if(l!==r){r=Fn(Error(b(424)),t),t=oo(e,t,l,n,r);break e}else for(ze=zt(t.stateNode.containerInfo.firstChild),De=t,Z=!0,et=null,n=qc(t,null,l,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(_n(),l===r){t=Nt(e,t,n);break e}Se(e,t,l,n)}t=t.child}return t;case 5:return Yc(t),e===null&&Zr(t),l=t.type,r=t.pendingProps,a=e!==null?e.memoizedProps:null,i=r.children,qr(l,r)?i=null:a!==null&&qr(l,a)&&(t.flags|=32),ku(e,t),Se(e,t,i,n),t.child;case 6:return e===null&&Zr(t),null;case 13:return wu(e,t,n);case 4:return Va(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=Rn(t,null,l,n):Se(e,t,l,n),t.child;case 11:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),ro(e,t,l,r,n);case 7:return Se(e,t,t.pendingProps,n),t.child;case 8:return Se(e,t,t.pendingProps.children,n),t.child;case 12:return Se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(l=t.type._context,r=t.pendingProps,a=t.memoizedProps,i=r.value,J(bl,l._currentValue),l._currentValue=i,a!==null)if(st(a.value,i)){if(a.children===r.children&&!Pe.current){t=Nt(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var c=a.dependencies;if(c!==null){i=a.child;for(var o=c.firstContext;o!==null;){if(o.context===l){if(a.tag===1){o=gt(-1,n&-n),o.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var h=u.pending;h===null?o.next=o:(o.next=h.next,h.next=o),u.pending=o}}a.lanes|=n,o=a.alternate,o!==null&&(o.lanes|=n),ea(a.return,n,t),c.lanes|=n;break}o=o.next}}else if(a.tag===10)i=a.type===t.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(b(341));i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),ea(i,n,t),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===t){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}Se(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,l=t.pendingProps.children,Cn(t,n),r=Ve(r),l=l(r),t.flags|=1,Se(e,t,l,n),t.child;case 14:return l=t.type,r=Ye(l,t.pendingProps),r=Ye(l.type,r),ao(e,t,l,r,n);case 15:return ju(e,t,t.type,t.pendingProps,n);case 17:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),il(e,t),t.tag=1,_e(l)?(e=!0,kl(t)):e=!1,Cn(t,n),gu(t,l,r),na(t,l,r,n),ra(null,t,l,!0,e,n);case 19:return bu(e,t,n);case 22:return Nu(e,t,n)}throw Error(b(156,t.tag))};function Bu(e,t){return pc(e,t)}function mf(e,t,n,l){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function He(e,t,n,l){return new mf(e,t,n,l)}function ai(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xf(e){if(typeof e=="function")return ai(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ba)return 11;if(e===Ca)return 14}return 2}function At(e,t){var n=e.alternate;return n===null?(n=He(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ul(e,t,n,l,r,a){var i=2;if(l=e,typeof e=="function")ai(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case dn:return Zt(n.children,r,a,t);case wa:i=8,r|=8;break;case Cr:return e=He(12,n,t,r|2),e.elementType=Cr,e.lanes=a,e;case Er:return e=He(13,n,t,r),e.elementType=Er,e.lanes=a,e;case Tr:return e=He(19,n,t,r),e.elementType=Tr,e.lanes=a,e;case Yo:return Kl(n,r,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jo:i=10;break e;case Xo:i=9;break e;case ba:i=11;break e;case Ca:i=14;break e;case Ct:i=16,l=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=He(i,n,t,r),t.elementType=e,t.type=l,t.lanes=a,t}function Zt(e,t,n,l){return e=He(7,e,l,t),e.lanes=n,e}function Kl(e,t,n,l){return e=He(22,e,l,t),e.elementType=Yo,e.lanes=n,e.stateNode={isHidden:!1},e}function kr(e,t,n){return e=He(6,e,null,t),e.lanes=n,e}function Sr(e,t,n){return t=He(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function gf(e,t,n,l,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sr(0),this.expirationTimes=sr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sr(0),this.identifierPrefix=l,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function ii(e,t,n,l,r,a,i,c,o){return e=new gf(e,t,n,c,o),t===1?(t=1,a===!0&&(t|=8)):t=0,a=He(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:l,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Wa(a),e}function vf(e,t,n){var l=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:un,key:l==null?null:""+l,children:e,containerInfo:t,implementation:n}}function Uu(e){if(!e)return Bt;e=e._reactInternals;e:{if(an(e)!==e||e.tag!==1)throw Error(b(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(_e(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(b(171))}if(e.tag===1){var n=e.type;if(_e(n))return Uc(e,n,t)}return t}function Hu(e,t,n,l,r,a,i,c,o){return e=ii(n,l,!0,e,r,a,i,c,o),e.context=Uu(null),n=e.current,l=we(),r=$t(n),a=gt(l,r),a.callback=t??null,Dt(n,a,r),e.current.lanes=r,Ps(e,r,l),Re(e,l),e}function ql(e,t,n,l){var r=t.current,a=we(),i=$t(r);return n=Uu(n),t.context===null?t.context=n:t.pendingContext=n,t=gt(a,i),t.payload={element:e},l=l===void 0?null:l,l!==null&&(t.callback=l),e=Dt(r,t,i),e!==null&&(nt(e,r,i,a),ll(e,r,i)),i}function zl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function yo(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function oi(e,t){yo(e,t),(e=e.alternate)&&yo(e,t)}function yf(){return null}var Wu=typeof reportError=="function"?reportError:function(e){console.error(e)};function ci(e){this._internalRoot=e}Jl.prototype.render=ci.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(b(409));ql(e,t,null,null)};Jl.prototype.unmount=ci.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ln(function(){ql(null,e,null,null)}),t[yt]=null}};function Jl(e){this._internalRoot=e}Jl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Nc();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Tt.length&&t!==0&&t<Tt[n].priority;n++);Tt.splice(n,0,e),n===0&&Sc(e)}};function ui(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Xl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function jo(){}function jf(e,t,n,l,r){if(r){if(typeof l=="function"){var a=l;l=function(){var u=zl(i);a.call(u)}}var i=Hu(t,l,e,0,null,!1,!1,"",jo);return e._reactRootContainer=i,e[yt]=i.current,ys(e.nodeType===8?e.parentNode:e),ln(),i}for(;r=e.lastChild;)e.removeChild(r);if(typeof l=="function"){var c=l;l=function(){var u=zl(o);c.call(u)}}var o=ii(e,0,!1,null,null,!1,!1,"",jo);return e._reactRootContainer=o,e[yt]=o.current,ys(e.nodeType===8?e.parentNode:e),ln(function(){ql(t,o,n,l)}),o}function Yl(e,t,n,l,r){var a=n._reactRootContainer;if(a){var i=a;if(typeof r=="function"){var c=r;r=function(){var o=zl(i);c.call(o)}}ql(t,i,e,r)}else i=jf(n,t,e,r,l);return zl(i)}yc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=es(t.pendingLanes);n!==0&&(Pa(t,n|1),Re(t,re()),!(U&6)&&(Mn=re()+500,Vt()))}break;case 13:ln(function(){var l=jt(e,1);if(l!==null){var r=we();nt(l,e,1,r)}}),oi(e,1)}};_a=function(e){if(e.tag===13){var t=jt(e,134217728);if(t!==null){var n=we();nt(t,e,134217728,n)}oi(e,134217728)}};jc=function(e){if(e.tag===13){var t=$t(e),n=jt(e,t);if(n!==null){var l=we();nt(n,e,t,l)}oi(e,t)}};Nc=function(){return Q};kc=function(e,t){var n=Q;try{return Q=e,t()}finally{Q=n}};$r=function(e,t,n){switch(t){case"input":if(Rr(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var l=n[t];if(l!==e&&l.form===e.form){var r=Bl(l);if(!r)throw Error(b(90));Zo(l),Rr(l,r)}}}break;case"textarea":tc(e,n);break;case"select":t=n.value,t!=null&&kn(e,!!n.multiple,t,!1)}};oc=si;cc=ln;var Nf={usingClientEntryPoint:!1,Events:[Rs,mn,Bl,ac,ic,si]},Jn={findFiberByHostInstance:Jt,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},kf={bundleType:Jn.bundleType,version:Jn.version,rendererPackageName:Jn.rendererPackageName,rendererConfig:Jn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:kt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=hc(e),e===null?null:e.stateNode},findFiberByHostInstance:Jn.findFiberByHostInstance||yf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ys=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ys.isDisabled&&Ys.supportsFiber)try{Ol=Ys.inject(kf),it=Ys}catch{}}$e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Nf;$e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ui(t))throw Error(b(200));return vf(e,t,null,n)};$e.createRoot=function(e,t){if(!ui(e))throw Error(b(299));var n=!1,l="",r=Wu;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=ii(e,1,!1,null,null,n,!1,l,r),e[yt]=t.current,ys(e.nodeType===8?e.parentNode:e),new ci(t)};$e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(b(188)):(e=Object.keys(e).join(","),Error(b(268,e)));return e=hc(t),e=e===null?null:e.stateNode,e};$e.flushSync=function(e){return ln(e)};$e.hydrate=function(e,t,n){if(!Xl(t))throw Error(b(200));return Yl(null,e,t,!0,n)};$e.hydrateRoot=function(e,t,n){if(!ui(e))throw Error(b(405));var l=n!=null&&n.hydratedSources||null,r=!1,a="",i=Wu;if(n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),t=Hu(t,null,e,1,n??null,r,!1,a,i),e[yt]=t.current,ys(e),l)for(e=0;e<l.length;e++)n=l[e],r=n._getVersion,r=r(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Jl(t)};$e.render=function(e,t,n){if(!Xl(t))throw Error(b(200));return Yl(null,e,t,!1,n)};$e.unmountComponentAtNode=function(e){if(!Xl(e))throw Error(b(40));return e._reactRootContainer?(ln(function(){Yl(null,null,e,!1,function(){e._reactRootContainer=null,e[yt]=null})}),!0):!1};$e.unstable_batchedUpdates=si;$e.unstable_renderSubtreeIntoContainer=function(e,t,n,l){if(!Xl(n))throw Error(b(200));if(e==null||e._reactInternals===void 0)throw Error(b(38));return Yl(e,t,n,!1,l)};$e.version="18.3.1-next-f1338f8080-20240426";function Vu(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Vu)}catch(e){console.error(e)}}Vu(),Vo.exports=$e;var Qu=Vo.exports;const Fp=Fo(Qu);var No=Qu;wr.createRoot=No.createRoot,wr.hydrateRoot=No.hydrateRoot;const Sf="modulepreload",wf=function(e){return"/admin/mailer/_assets/"+e},ko={},bf=function(t,n,l){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(o=>{if(o=wf(o),o in ko)return;ko[o]=!0;const u=o.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Sf,u||(d.as="script"),d.crossOrigin="",d.href=o,c&&d.setAttribute("nonce",c),document.head.appendChild(d),u)return new Promise((m,v)=>{d.addEventListener("load",m),d.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})}))}function a(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return r.then(i=>{for(const c of i||[])c.status==="rejected"&&a(c.reason);return t().catch(a)})},I=(e,t="0 0 24 24")=>({size:n=16,className:l="icon",...r})=>s.jsx("svg",{width:n,height:n,viewBox:t,fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",className:l,...r,children:e}),M={Home:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 11l9-7 9 7"}),s.jsx("path",{d:"M5 10v10h14V10"})]})),Flows:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"6",r:"2.2"}),s.jsx("circle",{cx:"18",cy:"12",r:"2.2"}),s.jsx("circle",{cx:"6",cy:"18",r:"2.2"}),s.jsx("path",{d:"M8 7l8 4"}),s.jsx("path",{d:"M8 17l8-4"})]})),Template:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2"}),s.jsx("path",{d:"M3.5 9h17"}),s.jsx("path",{d:"M8 14h7"}),s.jsx("path",{d:"M8 17h5"})]})),Broadcast:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 11v2l13 5V6z"}),s.jsx("path",{d:"M16 9a3 3 0 010 6"})]})),Contacts:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9",cy:"9",r:"3.2"}),s.jsx("path",{d:"M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6"}),s.jsx("circle",{cx:"17",cy:"8",r:"2.5"}),s.jsx("path",{d:"M15.5 14.2A5 5 0 0121 19"})]})),Send:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M22 2L11 13"}),s.jsx("path",{d:"M22 2l-7 20-4-9-9-4z"})]})),Shield:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M12 3l8 3v6c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V6z"})})),Audit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 4h11l4 4v12a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1z"}),s.jsx("path",{d:"M14 4v5h5"}),s.jsx("path",{d:"M8 13h8"}),s.jsx("path",{d:"M8 16h5"})]})),Health:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 12h4l2-6 4 12 2-6h6"})})),Search:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"11",cy:"11",r:"6.5"}),s.jsx("path",{d:"M20 20l-4-4"})]})),Bell:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 8a6 6 0 1112 0c0 5 2 6 2 6H4s2-1 2-6z"}),s.jsx("path",{d:"M10 19a2 2 0 004 0"})]})),Plus:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 5v14"}),s.jsx("path",{d:"M5 12h14"})]})),Sun:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"4"}),s.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]})),Moon:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M20 14.5A8 8 0 1110.5 4a6 6 0 009.5 10.5z"})})),Chevron:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M9 6l6 6-6 6"})})),ChevronDown:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M6 9l6 6 6-6"})})),Clock:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"8.5"}),s.jsx("path",{d:"M12 7v5l3 2"})]})),Mail:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),s.jsx("path",{d:"M3 7l9 6 9-6"})]})),Branch:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 3v6"}),s.jsx("path",{d:"M6 15v6"}),s.jsx("circle",{cx:"6",cy:"12",r:"2.5"}),s.jsx("path",{d:"M18 3v6"}),s.jsx("circle",{cx:"18",cy:"12",r:"2.5"}),s.jsx("path",{d:"M18 15v6"}),s.jsx("path",{d:"M8.5 12h7"})]})),Tag:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 12l8-8h8v8l-8 8z"}),s.jsx("circle",{cx:"14.5",cy:"9.5",r:"1.2"})]})),Exit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 17l5-5-5-5"}),s.jsx("path",{d:"M21 12H9"}),s.jsx("path",{d:"M12 21H5a2 2 0 01-2-2V5a2 2 0 012-2h7"})]})),Webhook:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"18",r:"2.5"}),s.jsx("circle",{cx:"18",cy:"18",r:"2.5"}),s.jsx("circle",{cx:"12",cy:"6",r:"2.5"}),s.jsx("path",{d:"M8 17l3-6"}),s.jsx("path",{d:"M16 17l-3-6"})]})),Play:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M7 4v16l13-8z"})})),Pause:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"6",y:"4",width:"4",height:"16"}),s.jsx("rect",{x:"14",y:"4",width:"4",height:"16"})]})),Filter:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 4h18l-7 9v6l-4 2v-8z"})})),Download:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 4v12"}),s.jsx("path",{d:"M7 11l5 5 5-5"}),s.jsx("path",{d:"M4 20h16"})]})),Eye:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"}),s.jsx("circle",{cx:"12",cy:"12",r:"3"})]})),Cursor:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M5 3l14 8-6 2-2 6z"})})),Edit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.1 2.1 0 113 3L7 19l-4 1 1-4z"})]})),Copy:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"8",y:"8",width:"13",height:"13",rx:"2"}),s.jsx("path",{d:"M16 8V4a2 2 0 00-2-2H4a2 2 0 00-2 2v10a2 2 0 002 2h4"})]})),Code:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 18l6-6-6-6"}),s.jsx("path",{d:"M8 6l-6 6 6 6"})]})),Dots:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"12",r:"1.5"}),s.jsx("circle",{cx:"12",cy:"12",r:"1.5"}),s.jsx("circle",{cx:"18",cy:"12",r:"1.5"})]})),Settings:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"3"}),s.jsx("path",{d:"M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"})]})),Help:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"9"}),s.jsx("path",{d:"M9.5 9.5a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 3.5"}),s.jsx("circle",{cx:"12",cy:"17",r:"0.6",fill:"currentColor"})]})),Check:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M4 12l5 5 11-11"})})),X:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 6l12 12"}),s.jsx("path",{d:"M18 6L6 18"})]})),Calendar:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"5",width:"18",height:"16",rx:"2"}),s.jsx("path",{d:"M3 10h18"}),s.jsx("path",{d:"M8 3v4M16 3v4"})]})),Warn:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 3l10 18H2z"}),s.jsx("path",{d:"M12 10v5"}),s.jsx("circle",{cx:"12",cy:"18",r:"0.6",fill:"currentColor"})]})),Activity:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 12h4l3-9 4 18 3-9h4"})})),Rocket:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 19c0-3 1-6 6-11l4 4c-5 5-8 6-11 6 0-3 0-3 1-6"}),s.jsx("path",{d:"M14 6l4 4"}),s.jsx("circle",{cx:"15",cy:"9",r:"1.5"})]})),Grid:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})),Sparkles:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2 2M16 16l2 2M16 8l2-2M6 18l2-2"})}))},Cf={healthy:{text:"Healthy",cls:"dot green"},degraded:{text:"Degraded",cls:"dot amber"},tripped:{text:"Tripped",cls:"dot red"}},Ef={text:"No telemetry yet",cls:"dot"};function Xn(e){if(e!=null)return e>=1e4?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function Tf({route:e,setRoute:t,me:n}){const l=({icon:c,label:o,badge:u,screen:h})=>s.jsxs("div",{className:"sidebar-link"+(e.screen===h?" active":""),onClick:()=>t({screen:h}),children:[s.jsx(c,{className:"icon"}),s.jsx("span",{children:o}),u!=null&&s.jsx("span",{className:"sidebar-link-badge",children:u})]}),r=n==null?void 0:n.counts,a=(n==null?void 0:n.health.status)??null,i=n?a?Cf[a]??{text:a,cls:"dot"}:Ef:{text:"…",cls:"dot"};return s.jsxs("aside",{className:"sidebar",children:[s.jsxs("div",{className:"sidebar-brand",children:[s.jsx("div",{className:"sidebar-brand-logo",children:"M"}),s.jsx("div",{className:"sidebar-brand-name",children:"Mailery"})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Overview"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Home,label:"Dashboard",screen:"dashboard"}),s.jsx(l,{icon:M.Health,label:"Health",screen:"health"})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Compose"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Flows,label:"Flows",screen:"flows",badge:Xn(r==null?void 0:r.flows)}),s.jsx(l,{icon:M.Template,label:"Templates",screen:"templates",badge:Xn(r==null?void 0:r.templates)}),s.jsx(l,{icon:M.Broadcast,label:"Broadcasts",screen:"broadcasts",badge:Xn(r==null?void 0:r.broadcasts)})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Audience"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Contacts,label:"Contacts",screen:"contacts",badge:Xn(r==null?void 0:r.contacts)}),s.jsx(l,{icon:M.Shield,label:"Suppressions",screen:"suppressions",badge:Xn(r==null?void 0:r.suppressions)}),s.jsx(l,{icon:M.Audit,label:"List hygiene",screen:"hygiene"})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Activity"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Send,label:"Sends",screen:"sends"}),s.jsx(l,{icon:M.Audit,label:"Audit log",screen:"audit"})]})]}),s.jsxs("div",{className:"sidebar-footer",children:[s.jsx("span",{className:i.cls}),s.jsx("span",{children:n?i.text:"…"}),n&&s.jsx("span",{style:{marginLeft:"auto"},className:"mono text-xs",children:n.providers.default})]})]})}function Pf({crumbs:e,theme:t,setTheme:n,right:l}){return s.jsxs("div",{className:"topbar",children:[s.jsx("div",{className:"crumb",children:e.map((r,a)=>s.jsxs(E.Fragment,{children:[a>0&&s.jsx(M.Chevron,{className:"crumb-sep icon",size:12}),s.jsx("span",{className:a===e.length-1?"crumb-current":"",children:r})]},a))}),s.jsx("div",{className:"topbar-spacer"}),l,s.jsx("button",{className:"icon-btn",onClick:()=>n(t==="dark"?"light":"dark"),title:"Toggle theme",children:t==="dark"?s.jsx(M.Sun,{size:15}):s.jsx(M.Moon,{size:15})})]})}function Fe({title:e,desc:t,actions:n}){return s.jsxs("div",{className:"page-head",children:[s.jsxs("div",{children:[s.jsx("h1",{children:e}),t&&s.jsx("div",{className:"page-desc",children:t})]}),n&&s.jsx("div",{className:"right",children:n})]})}function Ut({status:e}){const n={healthy:{cls:"green",label:"Healthy"},degraded:{cls:"amber",label:"Degraded"},tripped:{cls:"red",label:"Tripped"},sent:{cls:"green",label:"Sent"},delivered:{cls:"green",label:"Delivered"},opened:{cls:"blue",label:"Opened"},clicked:{cls:"violet",label:"Clicked"},queued:{cls:"neutral",label:"Queued"},sending:{cls:"blue",label:"Sending"},bounced:{cls:"red",label:"Bounced"},failed:{cls:"red",label:"Failed"},suppressed:{cls:"amber",label:"Suppressed"},complained:{cls:"red",label:"Complained"},enabled:{cls:"green",label:"Enabled"},disabled:{cls:"neutral",label:"Disabled"},paused:{cls:"amber",label:"Paused"},draft:{cls:"neutral",label:"Draft"},scheduled:{cls:"blue",label:"Scheduled"},active:{cls:"green",label:"Active"},completed:{cls:"neutral",label:"Completed"},subscribed:{cls:"green",label:"Subscribed"},unsubscribed:{cls:"neutral",label:"Unsubscribed"}}[e]??{cls:"neutral",label:e};return s.jsxs("span",{className:"pill "+n.cls,children:[s.jsx("span",{className:"dot"}),n.label]})}const Ku="/admin/mailer/api";async function $(e,t){const n=await fetch(`${Ku}${e}`,{credentials:"same-origin",headers:{"Content-Type":"application/json",...(t==null?void 0:t.headers)??{}},...t});if(!n.ok)throw await _f(n);return n.json()}async function _f(e){let t=null;try{t=await e.json()}catch{}const n=[t==null?void 0:t.message,t==null?void 0:t.hint].filter(Boolean).join(" "),l=new Error(n||`${e.status} ${e.statusText}`);return l.status=e.status,l.body=t,l}const D={me:()=>$("/me"),dashboard:()=>$("/dashboard"),events:()=>$("/events"),flows:()=>$("/flows"),flow:e=>$(`/flows/${encodeURIComponent(e)}`),createFlow:e=>$("/flows",{method:"POST",body:JSON.stringify(e)}),updateFlowDraft:(e,t)=>$(`/flows/${e}/draft`,{method:"PATCH",body:JSON.stringify(t)}),publishFlow:e=>$(`/flows/${e}/publish`,{method:"POST"}),deleteFlow:e=>$(`/flows/${e}`,{method:"DELETE"}),pauseFlow:e=>$(`/flows/${e}/pause`,{method:"POST"}),resumeFlow:e=>$(`/flows/${e}/resume`,{method:"POST"}),templates:()=>$("/templates"),template:e=>$(`/templates/${e}`),createTemplate:e=>$("/templates",{method:"POST",body:JSON.stringify(e)}),updateTemplateDraft:(e,t)=>$(`/templates/${e}/draft`,{method:"PATCH",body:JSON.stringify(t)}),publishTemplate:(e,t)=>$(`/templates/${e}/publish`,{method:"POST",body:t?JSON.stringify(t):void 0}),previewTemplate:(e,t)=>$(`/templates/${e}/preview`,{method:"POST",body:JSON.stringify(t)}),sendTestTemplate:(e,t)=>$(`/templates/${e}/send-test`,{method:"POST",body:JSON.stringify(t)}),varsSchema:()=>$("/vars-schema"),broadcasts:()=>$("/broadcasts"),broadcast:e=>$(`/broadcasts/${e}`),createBroadcast:e=>$("/broadcasts",{method:"POST",body:JSON.stringify(e)}),updateBroadcast:(e,t)=>$(`/broadcasts/${e}`,{method:"PATCH",body:JSON.stringify(t)}),countSegment:(e,t)=>$(`/broadcasts/${e}/segment/count`,{method:"POST",body:JSON.stringify({segmentDefinition:t})}),scheduleBroadcast:(e,t)=>$(`/broadcasts/${e}/schedule`,{method:"POST",body:JSON.stringify(t)}),cancelBroadcast:e=>$(`/broadcasts/${e}/cancel`,{method:"POST"}),contacts:e=>$(`/contacts${e?`?cursor=${e}`:""}`),contact:e=>$(`/contacts/${encodeURIComponent(e)}`),sends:e=>$(`/sends${e?`?status=${e}`:""}`),send:e=>$(`/sends/${e}`),suppressions:()=>$("/suppressions"),addSuppression:e=>$("/suppressions",{method:"POST",body:JSON.stringify(e)}),audit:()=>$("/audit"),health:()=>$("/health"),healthTrips:()=>$("/health/trips"),resumeHealth:e=>$("/health/resume",{method:"POST",body:e?JSON.stringify(e):void 0}),setupStatus:()=>$("/setup-status"),dnsbl:()=>$("/dnsbl"),recheckDnsbl:()=>$("/dnsbl/recheck",{method:"POST"}),postmaster:()=>$("/postmaster"),refreshPostmaster:()=>$("/postmaster/refresh",{method:"POST"}),snds:()=>$("/snds"),refreshSnds:()=>$("/snds/refresh",{method:"POST"}),dmarc:()=>$("/dmarc"),uploadDmarc:async e=>{const t=new FormData;t.append("file",e);const n=await fetch(`${Ku}/dmarc/upload`,{method:"POST",credentials:"same-origin",body:t});if(!n.ok)throw new Error(`upload failed: ${n.status} ${await n.text()}`);return n.json()},hygiene:()=>$("/hygiene"),mailTesterStatus:e=>$(`/templates/${encodeURIComponent(e)}/mail-tester`),startMailTesterCheck:e=>$(`/templates/${encodeURIComponent(e)}/mail-tester-check`,{method:"POST"}),fetchMailTesterResult:(e,t)=>$(`/templates/${encodeURIComponent(e)}/mail-tester-result?checkId=${encodeURIComponent(t)}`),lintTemplate:(e,t,n)=>$(`/templates/${encodeURIComponent(e)}/lint`,{method:"POST",body:JSON.stringify(t),signal:n}),tagDmarcSource:(e,t)=>$(`/dmarc/sources/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),untagDmarcSource:e=>$(`/dmarc/sources/${encodeURIComponent(e)}`,{method:"DELETE"})};function V(e,t=[]){const[n,l]=Ge.useState(void 0),[r,a]=Ge.useState(!0),[i,c]=Ge.useState(null),[o,u]=Ge.useState(0),h=Ge.useRef(!0),d=Ge.useRef(e);return d.current=e,Ge.useEffect(()=>(h.current=!0,a(!0),d.current().then(m=>{h.current&&(l(m),c(null))}).catch(m=>{h.current&&c(m)}).finally(()=>{h.current&&a(!1)}),()=>{h.current=!1}),[o,...t]),{data:n,loading:r,error:i,refetch:()=>u(m=>m+1)}}function Rf(){const[e,t]=E.useState(null),[n,l]=E.useState(!1),[r,a]=E.useState(null);if(E.useEffect(()=>{let d=!1;async function m(){try{const g=await D.setupStatus();d||(t(g),a(null))}catch(g){d||a((g==null?void 0:g.message)??"failed to load setup status")}}m();const v=window.setInterval(m,6e4);return()=>{d=!0,window.clearInterval(v)}},[]),r)return s.jsx("div",{className:"card",style:wo("error"),children:s.jsx(So,{severity:"error",label:"Setup checks failed to load",detail:r})});if(!e)return null;const i=e.checks.filter(d=>d.severity!=="ok");if(i.length===0)return null;const c=i.filter(d=>d.severity==="error").length,o=i.filter(d=>d.severity==="warn").length,u=c>0?"error":"warn",h=c>0&&o>0?`${c} error${c===1?"":"s"}, ${o} warning${o===1?"":"s"}`:c>0?`${c} setup error${c===1?"":"s"}`:`${o} setup warning${o===1?"":"s"}`;return s.jsxs("div",{className:"card",style:wo(u),children:[s.jsxs("button",{type:"button",onClick:()=>l(d=>!d),style:{width:"100%",background:"transparent",border:"none",padding:12,textAlign:"left",cursor:"pointer",display:"flex",alignItems:"center",gap:10,color:"inherit",font:"inherit"},children:[s.jsx(So,{severity:u,label:h}),s.jsx("span",{className:"grow"}),s.jsxs("span",{className:"text-xs subtle",children:[n?"Hide":"Show"," details"]}),s.jsx(M.Chevron,{size:14,style:{transform:n?"rotate(90deg)":"rotate(0deg)"}})]}),n&&s.jsx("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 12px"},children:i.map(d=>s.jsx(Lf,{c:d},d.name))})]})}function Lf({c:e}){return s.jsxs("div",{style:{padding:"8px 0",borderBottom:"1px dashed var(--border)"},children:[s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx(qu,{severity:e.severity}),s.jsx("span",{className:"text-sm",style:{fontWeight:600},children:e.label}),s.jsx("span",{className:"text-sm subtle",children:"·"}),s.jsx("span",{className:"text-sm",children:e.message})]}),e.hint&&s.jsx("div",{className:"text-xs subtle",style:{marginLeft:18,marginTop:4},children:e.hint})]})}function So({severity:e,label:t,detail:n}){return s.jsxs(s.Fragment,{children:[s.jsx(qu,{severity:e}),s.jsx("span",{style:{fontWeight:600},children:t}),n&&s.jsx("span",{className:"text-xs subtle",style:{marginLeft:8},children:n})]})}function qu({severity:e}){const t=e==="error"?"var(--red-fg)":e==="warn"?"var(--amber-fg)":"var(--green-fg)";return s.jsx("span",{style:{width:8,height:8,borderRadius:4,background:t,display:"inline-block"}})}function wo(e){const t=e==="error"?"var(--red-fg)":e==="warn"?"var(--amber-fg)":"var(--border)",n=e==="error"?"var(--red-bg, rgba(239,68,68,0.06))":e==="warn"?"var(--amber-bg, rgba(245,158,11,0.06))":"transparent";return{marginBottom:16,borderLeft:`3px solid ${t}`,background:n,overflow:"hidden"}}function Le({loading:e,error:t,empty:n,emptyLabel:l="No data yet.",retry:r,children:a}){return e?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Loading…"}):t?s.jsxs("div",{className:"text-xs",style:{padding:16,color:"var(--red-fg)"},children:["Failed to load: ",t.message,r&&s.jsx("button",{className:"btn btn-sm",style:{marginLeft:8},onClick:r,children:"Retry"})]}):n?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:l}):s.jsx(s.Fragment,{children:a})}function q({colSpan:e,label:t="No data yet."}){return s.jsx("tr",{children:s.jsx("td",{colSpan:e,className:"subtle text-xs",style:{padding:16,textAlign:"center"},children:t})})}function Ff(e){return!e||e.length===0?"no providers":e.length===1?`provider: ${e[0]}`:e.length<=3?`providers: ${e.join(", ")}`:`providers: ${e.slice(0,2).join(", ")} +${e.length-2}`}function Mf({data:e,color:t="var(--accent)",height:n=36}){if(!e||e.length<2)return null;const l=200,r=n,a=Math.max(...e),i=Math.min(...e),c=a-i||1,o=e.map((h,d)=>`${d/(e.length-1)*l},${r-(h-i)/c*(r-4)-2}`).join(" "),u=`0,${r} ${o} ${l},${r}`;return s.jsxs("svg",{viewBox:`0 0 ${l} ${r}`,preserveAspectRatio:"none",className:"spark",style:{height:n},children:[s.jsx("defs",{children:s.jsxs("linearGradient",{id:"sg",x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:t,stopOpacity:"0.22"}),s.jsx("stop",{offset:"100%",stopColor:t,stopOpacity:"0"})]})}),s.jsx("polygon",{points:u,fill:"url(#sg)"}),s.jsx("polyline",{points:o,fill:"none",stroke:t,strokeWidth:"1.5"})]})}function zf({a:e,b:t,height:n=200}){const r=n;if(!e||!t||e.length===0)return s.jsx("div",{className:"text-xs subtle",style:{padding:16,textAlign:"center"},children:"No activity in the last 24h."});const a=Math.max(...e,...t,1),i=d=>d/(e.length-1)*688+24,c=d=>r-28-d/a*(r-52),o=e.map((d,m)=>`${m?"L":"M"}${i(m)},${c(d)}`).join(" "),u=t.map((d,m)=>`${m?"L":"M"}${i(m)},${c(d)}`).join(" "),h=`M${i(0)},${r-28} ${e.map((d,m)=>`L${i(m)},${c(d)}`).join(" ")} L${i(e.length-1)},${r-28} Z`;return s.jsxs("svg",{viewBox:`0 0 720 ${r}`,style:{width:"100%",height:n},className:"chart-axis",children:[s.jsx("g",{className:"chart-grid",children:[0,.25,.5,.75,1].map(d=>s.jsx("line",{x1:"24",x2:712,y1:28+(r-56)*d,y2:28+(r-56)*d},d))}),[0,.25,.5,.75,1].map(d=>s.jsx("text",{x:"6",y:28+(r-56)*d+3,children:Math.round(a*(1-d))},d)),["00","04","08","12","16","20","24"].map((d,m)=>s.jsx("text",{x:24+m/6*688,y:r-10,textAnchor:"middle",children:d},d)),s.jsx("defs",{children:s.jsxs("linearGradient",{id:"ag",x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.28"}),s.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),s.jsx("path",{d:h,fill:"url(#ag)"}),s.jsx("path",{d:o,fill:"none",stroke:"var(--accent)",strokeWidth:"1.75"}),s.jsx("path",{d:u,fill:"none",stroke:"var(--blue)",strokeWidth:"1.75",strokeDasharray:"3 3"})]})}function Df({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.dashboard()),{data:a}=V(()=>D.me()),i=o=>o==null?"—":`${(o*100).toFixed(1)}%`,c=(o,u="pct")=>{if(o==null)return null;const h=o>=0?"▲":"▼",d=Math.abs(o),m=u==="pp"?`${(d*100).toFixed(2)}pp`:`${(d*100).toFixed(1)}%`;return s.jsxs("span",{className:"kpi-delta "+(o>=0?"up":"down"),children:[h," ",m]})};return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Dashboard",desc:`Last 24 hours · ${Ff(a==null?void 0:a.providers.names)}`,actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>e({screen:"broadcast-new"}),children:[s.jsx(M.Plus,{size:14}),"New broadcast"]})}),s.jsx(Rf,{}),s.jsx(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:t&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Sends"}),s.jsx("div",{className:"kpi-value",children:t.kpis.sends.value.toLocaleString()}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.sends.delta),s.jsx("span",{children:"vs. prev 24h"})]}),s.jsx("div",{style:{position:"absolute",right:-2,bottom:-2,width:120,opacity:.7},children:s.jsx(Mf,{data:[...t.series.hourly.sends].reverse()})})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Delivered"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.deliveredRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.deliveredRate.delta,"pp"),s.jsxs("span",{children:[t.kpis.deliveredRate.bounced," bounced"]})]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Open rate"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.openRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.openRate.delta,"pp"),s.jsx("span",{children:"vs. prev 24h"})]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Click rate"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.clickRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.clickRate.delta,"pp"),s.jsx("span",{children:"vs. prev 24h"})]})]})]}),s.jsxs("div",{className:"split split-asym",style:{marginBottom:16},children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Send & open activity"}),s.jsx("span",{className:"card-sub",children:"UTC · last 24h"})]}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"hstack",style:{marginBottom:8},children:[s.jsxs("span",{className:"hstack text-xs",children:[s.jsx("span",{className:"status-dot",style:{background:"var(--accent)"}}),"Sends"]}),s.jsxs("span",{className:"hstack text-xs",children:[s.jsx("span",{className:"status-dot",style:{background:"var(--blue)",boxShadow:"none"}}),"Opens"]})]}),s.jsx(zf,{a:[...t.series.hourly.sends].reverse(),b:[...t.series.hourly.opens].reverse()})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Health"}),s.jsx("div",{className:"card-actions",children:s.jsxs("span",{className:"pill "+(t.health.status==="healthy"?"green":t.health.status==="tripped"?"red":t.health.status==="degraded"?"amber":"neutral"),children:[s.jsx("span",{className:"dot"}),t.health.status??"no telemetry"]})})]}),s.jsxs("div",{className:"card-body",children:[s.jsx("div",{style:{display:"grid",gap:12},children:(()=>{const o=t.health.thresholds??{},u=t.health.rates,h=(v,g)=>{if(v==null||g==null)return"neutral";const S=v*100;return S>=g?"red":S>=g/2?"amber":"green"},d=(v,g)=>v==null?"—":`${g==="degrade"?"degrade":"trip"} ${v}%`;return[{label:"Hard bounce / 1h",rate:(u==null?void 0:u.hardBounceRate)??null,trip:o.hardBounceRatePctTrip,kind:"trip"},{label:"Complaint / 1h",rate:(u==null?void 0:u.complaintRate)??null,trip:o.complaintRatePctTrip,kind:"trip"},{label:"Combined bounce",rate:(u==null?void 0:u.combinedBounceRate)??(u==null?void 0:u.bounceRate)??null,trip:o.combinedBounceRatePctTrip,kind:"trip"},{label:"Failed-to-send",rate:(u==null?void 0:u.failureRate)??null,trip:o.failedToSendRatePctDegrade,kind:"degrade"}].map(v=>s.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[s.jsx("span",{className:"text-xs subtle",children:v.label}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"f600 tabular",children:v.rate==null?"—":i(v.rate)}),s.jsx("span",{className:"pill "+h(v.rate,v.trip),style:{fontSize:10.5},children:d(v.trip,v.kind)})]},v.label))})()}),s.jsx("div",{className:"divider"}),s.jsx("div",{className:"text-xs subtle",style:{marginBottom:6},children:"Queue"}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsx("span",{className:"text-sm",children:"Jobs in flight"}),s.jsx("span",{className:"mono",children:t.queue.inFlight==null?"—":t.queue.inFlight.toLocaleString()})]}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsx("span",{className:"text-sm",children:"Delayed (scheduled)"}),s.jsx("span",{className:"mono",children:t.queue.delayed==null?"—":t.queue.delayed.toLocaleString()})]}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsxs("span",{className:"text-sm",children:["Provider · ",t.queue.providerName]}),s.jsxs("span",{className:"pill "+(t.queue.providerOk==null?"neutral":t.queue.providerOk?"green":"red"),style:{fontSize:10.5},children:[s.jsx("span",{className:"dot"})," ",t.queue.providerOk==null?"—":t.queue.providerOk?"OK":"errors"]})]})]})]})]}),s.jsxs("div",{className:"split split-2",style:{marginBottom:16},children:[s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Active flows"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"flows"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Trigger"}),s.jsx("th",{className:"num",children:"Active"}),s.jsx("th",{className:"num",children:"Sends 7d"})]})}),s.jsx("tbody",{children:t.recentFlows.length===0?s.jsx(q,{colSpan:4,label:"No active flows."}):t.recentFlows.slice(0,5).map(o=>{var u,h,d,m;return s.jsxs("tr",{onClick:()=>e({screen:"flow-detail",slug:o.slug}),children:[s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:o.name}),s.jsx("div",{className:"text-xs subtle mono",children:o.slug})]}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:((u=o.trigger)==null?void 0:u.eventName)??((h=o.trigger)==null?void 0:h.type)??"—"})}),s.jsx("td",{className:"num tabular",children:((d=o.stats)==null?void 0:d.activeRuns)??0}),s.jsx("td",{className:"num tabular",children:((m=o.stats)==null?void 0:m.sendsLast7Days)??0})]},o.slug)})})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent sends"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"sends"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"To"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:t.recentSends.length===0?s.jsx(q,{colSpan:4,label:"No sends yet."}):t.recentSends.slice(0,6).map(o=>s.jsxs("tr",{onClick:()=>e({screen:"send-detail",id:String(o._id)}),children:[s.jsx("td",{className:"mono",children:o.templateSlug??"—"}),s.jsx("td",{className:"text-xs",children:o.emailAtSend??"—"}),s.jsx("td",{children:s.jsx(Ut,{status:o.status})}),s.jsx("td",{className:"text-xs subtle",children:o.queuedAt?new Date(o.queuedAt).toLocaleTimeString():""})]},o._id))})]})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent audit log"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"audit"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Actor"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Resource"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:t.recentAudit.length===0?s.jsx(q,{colSpan:5,label:"No audit events yet."}):t.recentAudit.slice(0,5).map((o,u)=>s.jsxs("tr",{children:[s.jsx("td",{className:"text-xs mono",children:o.actor}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:o.action})}),s.jsx("td",{className:"mono text-xs",children:Of(o.resource)}),s.jsx("td",{className:"text-xs subtle",children:o.diffSummary??""}),s.jsx("td",{className:"text-xs subtle",children:o.occurredAt?new Date(o.occurredAt).toLocaleString():""})]},u))})]})]})]})})]})}function Of(e){return e?typeof e=="string"?e:e.slug?`${(e.collection??"").replace("mailer_","")}/${e.slug}`:e.id?`${(e.collection??"").replace("mailer_","")}/${String(e.id).slice(-8)}`:e.collection??"":""}function $f({setRoute:e}){const[t,n]=E.useState("all"),{data:l,loading:r,error:a,refetch:i}=V(()=>D.flows()),c=l??[],[o,u]=E.useState(!1),[h,d]=E.useState({slug:"",name:"",eventName:"",goal:"activation"}),[m,v]=E.useState(null);async function g(N){N.preventDefault(),v(null);try{await D.createFlow({slug:h.slug.trim(),name:h.name.trim(),trigger:{eventName:h.eventName.trim(),once:!0},goal:h.goal}),u(!1),d({slug:"",name:"",eventName:"",goal:"activation"}),i()}catch(p){v(String((p==null?void 0:p.message)??p))}}const S=c.filter(N=>t==="all"?!0:t==="enabled"?N.enabled:!N.enabled);return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Flows",desc:"Event-triggered automations.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>u(!0),children:[s.jsx(M.Plus,{size:14}),"New flow"]})}),o&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"New flow"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>u(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:g,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"welcome-series",value:h.slug,onChange:N=>d({...h,slug:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"Welcome Series",value:h.name,onChange:N=>d({...h,name:N.target.value}),required:!0})]})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Trigger event"}),s.jsx("input",{className:"input",placeholder:"Created",value:h.eventName,onChange:N=>d({...h,eventName:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Goal"}),s.jsxs("select",{className:"select",value:h.goal,onChange:N=>d({...h,goal:N.target.value}),children:[s.jsx("option",{children:"activation"}),s.jsx("option",{children:"conversion"}),s.jsx("option",{children:"retention"}),s.jsx("option",{children:"reactivation"}),s.jsx("option",{children:"transactional"})]})]})]}),m&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:m}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",children:"Create (disabled, draft only)"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>u(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"tabs",children:[s.jsxs("div",{className:"tab"+(t==="all"?" active":""),onClick:()=>n("all"),children:["All",s.jsx("span",{className:"tab-count",children:c.length})]}),s.jsxs("div",{className:"tab"+(t==="enabled"?" active":""),onClick:()=>n("enabled"),children:["Enabled",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.enabled).length})]}),s.jsxs("div",{className:"tab"+(t==="disabled"?" active":""),onClick:()=>n("disabled"),children:["Disabled",s.jsx("span",{className:"tab-count",children:c.filter(N=>!N.enabled).length})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:r&&!l,error:a,empty:!!l&&S.length===0,emptyLabel:"No flows yet.",retry:i,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:32}}),s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Trigger"}),s.jsx("th",{children:"Goal"}),s.jsx("th",{className:"num",children:"Active runs"}),s.jsx("th",{className:"num",children:"Sends 7d"}),s.jsx("th",{children:"Version"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:S.length===0?s.jsx(q,{colSpan:8,label:"No flows yet."}):S.map(N=>{var p,f;return s.jsxs("tr",{onClick:()=>e({screen:"flow-detail",slug:N.slug}),children:[s.jsx("td",{children:s.jsx("span",{className:"status-dot "+(N.enabled?"green":"gray")})}),s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:N.name}),s.jsx("div",{className:"text-xs subtle mono",children:N.slug})]}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:If(N)})}),s.jsx("td",{children:N.goal?s.jsx("span",{className:"pill "+Af(N.goal),children:N.goal}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num tabular",children:((p=N.stats)==null?void 0:p.activeRuns)??0}),s.jsx("td",{className:"num tabular",children:((f=N.stats)==null?void 0:f.sendsLast7Days)??0}),s.jsxs("td",{className:"mono text-xs",children:["v",N.version??1]}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},N.slug)})})]})})})]})}function Af(e){switch(e){case"activation":return"green";case"conversion":return"violet";case"retention":return"blue";case"reactivation":return"amber";case"transactional":return"neutral";default:return"neutral"}}function If(e){var t,n,l;return typeof e.trigger=="string"?e.trigger:((t=e.trigger)==null?void 0:t.type)==="event"?`event: ${e.trigger.eventName}`:(n=e.trigger)!=null&&n.eventName?`event: ${e.trigger.eventName}`:((l=e.trigger)==null?void 0:l.type)??"—"}const Bf=[{value:"wait",label:"Wait",icon:"Clock",iconClass:"wait",description:"Pause the run for a duration before continuing."},{value:"condition",label:"Condition",icon:"Branch",iconClass:"condition",description:"Evaluate a predicate. Exit or skip on false."},{value:"branch",label:"Branch",icon:"Branch",iconClass:"condition",description:"Evaluate a predicate. Recurse into one of two sub-lists."},{value:"send",label:"Send",icon:"Mail",iconClass:"send",description:"Send a template to the contact."},{value:"tag",label:"Tag",icon:"Tag",iconClass:"tag",description:"Add or remove tags on the contact."},{value:"fire_event",label:"Fire event",icon:"Activity",iconClass:"send",description:"Insert a synthetic event (cross-flow handoff)."},{value:"webhook",label:"Webhook",icon:"Webhook",iconClass:"tag",description:"POST to an external URL."},{value:"exit",label:"Exit",icon:"Exit",iconClass:"exit",description:"End the run with an optional reason."}];function Uf(e){switch(e){case"wait":return{type:"wait",value:1,unit:"days"};case"condition":return{type:"condition",test:{hasTag:"engaged"},ifFalse:"exit"};case"branch":return{type:"branch",test:{hasTag:"vip"},ifTrueSteps:[],ifFalseSteps:[]};case"send":return{type:"send",templateSlug:""};case"tag":return{type:"tag",addTags:[],removeTags:[]};case"fire_event":return{type:"fire_event",eventName:""};case"webhook":return{type:"webhook",url:"",method:"POST"};case"exit":return{type:"exit"}}}const Ju=[{value:"hasTag",label:"has tag"},{value:"notHasTag",label:"does NOT have tag"},{value:"fieldEquals",label:"field equals"},{value:"fieldExists",label:"field exists"},{value:"triggerPropertyEquals",label:"trigger property equals"},{value:"triggerPropertyTruthy",label:"trigger property is set"},{value:"hasFiredEvent",label:"fired event"},{value:"notHasFiredEvent",label:"has NOT fired event"},{value:"subscriptionStatus",label:"subscription status"},{value:"hasOpened",label:"opened",noisy:!0},{value:"hasClicked",label:"clicked",noisy:!0},{value:"hasOpenedExcludingBots",label:"opened (excl. bots)"},{value:"hasClickedExcludingBots",label:"clicked (excl. bots)"},{value:"openedAtLeastN",label:"opened at least N"},{value:"clickedAtLeastN",label:"clicked at least N"}];function Hf(e){if(!e)return null;for(const t of Ju)if(t.value in e)return t.value;return null}function Wf(e){switch(e){case"hasTag":return{hasTag:"engaged"};case"notHasTag":return{notHasTag:"cold"};case"fieldEquals":return{fieldEquals:{field:"tier",value:"Pro"}};case"fieldExists":return{fieldExists:"tier"};case"triggerPropertyEquals":return{triggerPropertyEquals:{key:"plan",value:"pro"}};case"triggerPropertyTruthy":return{triggerPropertyTruthy:"wasReferred"};case"hasFiredEvent":return{hasFiredEvent:"Activated app"};case"notHasFiredEvent":return{notHasFiredEvent:"Cancelled"};case"subscriptionStatus":return{subscriptionStatus:"subscribed"};case"hasOpened":return{hasOpened:{sinceFlowStart:!0}};case"hasClicked":return{hasClicked:{sinceFlowStart:!0}};case"hasOpenedExcludingBots":return{hasOpenedExcludingBots:{sinceFlowStart:!0}};case"hasClickedExcludingBots":return{hasClickedExcludingBots:{sinceFlowStart:!0}};case"openedAtLeastN":return{openedAtLeastN:{count:1,withinDays:7}};case"clickedAtLeastN":return{clickedAtLeastN:{count:1,withinDays:7}}}}const Vf=[{value:"subscriptionStatus",label:"Subscription status",side:"mailer"},{value:"hasTag",label:"Has tag",side:"host"},{value:"notHasTag",label:"Does NOT have tag",side:"host"},{value:"fieldEquals",label:"Field equals",side:"host"},{value:"fieldIn",label:"Field in list",side:"host"},{value:"fieldExists",label:"Field exists",side:"host"},{value:"firedEvent",label:"Fired event",side:"mailer"},{value:"notFiredEvent",label:"Has NOT fired event",side:"mailer"},{value:"subscribedAfter",label:"Subscribed after",side:"mailer"},{value:"subscribedBefore",label:"Subscribed before",side:"mailer"},{value:"opened",label:"Opened",side:"mailer"},{value:"notOpened",label:"Did NOT open",side:"mailer"},{value:"any",label:"Any of (OR)",side:"composite"},{value:"not",label:"NOT",side:"composite"}];function bo(e){switch(e){case"subscriptionStatus":return{kind:"subscriptionStatus",equals:"subscribed"};case"hasTag":return{kind:"hasTag",tag:""};case"notHasTag":return{kind:"notHasTag",tag:""};case"fieldEquals":return{kind:"fieldEquals",field:"",value:""};case"fieldIn":return{kind:"fieldIn",field:"",values:[]};case"fieldExists":return{kind:"fieldExists",field:""};case"firedEvent":return{kind:"firedEvent",eventName:"",withinDays:30};case"notFiredEvent":return{kind:"notFiredEvent",eventName:"",withinDays:90};case"subscribedAfter":return{kind:"subscribedAfter",date:new Date(Date.now()-30*864e5)};case"subscribedBefore":return{kind:"subscribedBefore",date:new Date};case"opened":return{kind:"opened",withinDays:14};case"notOpened":return{kind:"notOpened",withinDays:14};case"any":return{kind:"any",filters:[]};case"not":return{kind:"not",filter:{kind:"hasTag",tag:""}}}}const dl=Bf;function Qf(e,t){var i,c,o;const n=dl.find(u=>u.value===e.type)??dl[dl.length-1];let l=n.label,r="",a;switch(e.type){case"wait":r=`${e.value} ${e.unit}`;break;case"condition":l="If: "+(Co(e.test)||"predicate"),r=`if false: ${e.ifFalse}`;break;case"branch":l="Branch: "+(Co(e.test)||"predicate"),r=`${(e.ifTrueSteps??[]).length} true / ${(e.ifFalseSteps??[]).length} false`;break;case"send":{const u=e.templateSlug?t==null?void 0:t.get(e.templateSlug):void 0,h=((i=u==null?void 0:u.draft)==null?void 0:i.subject)||(u==null?void 0:u.subject),d=u==null?void 0:u.kind;if(h){l=h,r=[e.templateSlug,d].filter(Boolean).join(" · ");const m=((c=u==null?void 0:u.draft)==null?void 0:c.preheader)||(u==null?void 0:u.preheader),v=(o=u==null?void 0:u.body)==null?void 0:o.plainText,g=(m||v||"").replace(/\s+/g," ").trim();g&&(a=g.length>80?g.slice(0,80)+"…":g)}else e.templateSlug?(l=`Send · ${e.templateSlug}`,r=e.providerOverride?`via ${e.providerOverride}`:"default provider"):(l="Send · (no template)",r=e.providerOverride?`via ${e.providerOverride}`:"default provider");break}case"tag":r=[...(e.addTags??[]).map(u=>`+${u}`),...(e.removeTags??[]).map(u=>`-${u}`)].join(", ")||"—";break;case"fire_event":l=`Fire · ${e.eventName||"(empty)"}`,r="synthetic event";break;case"webhook":r=e.url||"(no url)";break;case"exit":r=e.reason??"—";break}return{kind:n.value,label:l,meta:r,sub:a,icon:n.icon,iconClass:n.iconClass}}function Co(e){return e?"hasTag"in e?`has tag "${e.hasTag}"`:"notHasTag"in e?`not tag "${e.notHasTag}"`:"hasFiredEvent"in e?`fired "${e.hasFiredEvent}"`:"notHasFiredEvent"in e?`not fired "${e.notHasFiredEvent}"`:"fieldEquals"in e?`${e.fieldEquals.field} = ${JSON.stringify(e.fieldEquals.value)}`:"triggerPropertyEquals"in e?`trigger.${e.triggerPropertyEquals.key} = ${JSON.stringify(e.triggerPropertyEquals.value)}`:"triggerPropertyTruthy"in e?`trigger.${e.triggerPropertyTruthy} is set`:"subscriptionStatus"in e?`subscription = ${e.subscriptionStatus}`:"all"in e?`all of ${e.all.length}`:"any"in e?`any of ${e.any.length}`:"not"in e?"not (…)":"predicate":""}function Kf({value:e,onChange:t}){var c;const{data:n}=V(()=>D.events()),l=(n==null?void 0:n.registered)??[],r=(n==null?void 0:n.seen)??[],a=(c=l.find(o=>o.name===e))==null?void 0:c.dedupePolicy,i="event-trigger-options";return s.jsxs("div",{style:{flex:1},children:[s.jsx("input",{className:"input",list:i,style:{width:"100%",padding:"4px 8px",fontSize:13},placeholder:"Created",value:e,onChange:o=>t(o.target.value)}),s.jsxs("datalist",{id:i,children:[l.map(o=>s.jsxs("option",{value:o.name,children:["registered · ",o.dedupePolicy]},`r:${o.name}`)),r.map(o=>s.jsx("option",{value:o,children:"seen in mailer_events (unregistered)"},`s:${o}`))]}),e&&s.jsx("div",{className:"text-xs subtle",style:{marginTop:4},children:a?s.jsxs(s.Fragment,{children:["Registered · dedupe ",s.jsx("span",{className:"mono",children:a})]}):s.jsxs(s.Fragment,{children:["Not registered. Trigger still fires; call ",s.jsx("span",{className:"mono",children:"mailer.registerEvent"})," to declare a dedupe policy."]})})]})}function qf({slug:e,setRoute:t}){const{data:n,loading:l,error:r,refetch:a}=V(()=>D.flow(e),[e]);return l&&!n?s.jsx(Le,{loading:!0,error:null,empty:!1,children:s.jsx(s.Fragment,{})}):r||!n?s.jsx(Le,{loading:!1,error:r,empty:!n,emptyLabel:"Flow not found.",retry:a,children:s.jsx(s.Fragment,{})}):s.jsx(Jf,{slug:e,flow:n,refetch:a,setRoute:t})}function Jf({slug:e,flow:t,refetch:n,setRoute:l}){var ut,Ke,qe;const{data:r}=V(()=>D.templates()),a=E.useMemo(()=>{const j=new Map;for(const P of r??[])j.set(P.slug,P);return j},[r]),[i,c]=E.useState([]),[o,u]=E.useState({eventName:"",once:!0}),[h,d]=E.useState(0),[m,v]=E.useState(!1),[g,S]=E.useState(null),[N,p]=E.useState(null);E.useEffect(()=>{var P,L;if(!t)return;const j=((P=t==null?void 0:t.draft)==null?void 0:P.steps)??(t==null?void 0:t.steps)??[];c(Array.isArray(j)?j:[]),(L=t==null?void 0:t.trigger)!=null&&L.eventName&&u({eventName:t.trigger.eventName,once:t.trigger.once!==!1}),v(!1)},[t]);function f(j,P){const L=Uf(P),O=[...i.slice(0,j),L,...i.slice(j)];c(O),d(j),p(null),v(!0)}function x(j){const P=i.filter((L,O)=>O!==j);c(P),d(Math.min(j,P.length-1)),v(!0)}function k(j,P){c(i.map((L,O)=>O===j?{...L,...P}:L)),v(!0)}function T(j,P){const L=j+P;if(L<0||L>=i.length)return;const O=[...i];[O[j],O[L]]=[O[L],O[j]],c(O),d(L),v(!0)}async function w(){S("Saving…");try{await D.updateFlowDraft(e,{steps:i,trigger:{eventName:o.eventName,once:o.once}}),v(!1),S("Saved"),n()}catch(j){S(`Save failed: ${(j==null?void 0:j.message)??j}`)}}async function _(){m&&await w().catch(()=>{}),S("Publishing…");try{const j=await D.publishFlow(e);S(`Published v${j.version}`),n()}catch(j){S(`Publish failed: ${(j==null?void 0:j.message)??j}`)}}async function C(){try{t.enabled?await D.pauseFlow(e):await D.resumeFlow(e),n()}catch(j){S(`${(j==null?void 0:j.message)??j}`)}}const H=t.version??1,A=t.active??((ut=t.stats)==null?void 0:ut.activeRuns)??0,W=t.sends7d??((Ke=t.stats)==null?void 0:Ke.sendsLast7Days)??0,he=((qe=t.stats)==null?void 0:qe.completedRuns)??0,xe=i[h]??null,ct=({name:j})=>{const P=M[j]||M.Mail;return s.jsx(P,{size:18})};return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:t.name??e,desc:s.jsxs("span",{className:"mono",children:["flows/",t.slug??e]}),actions:s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"pill "+(t.enabled?"green":"neutral"),children:[s.jsx("span",{className:"dot"}),t.enabled?"Enabled":"Disabled"]}),s.jsx("button",{className:"btn",onClick:C,children:t.enabled?s.jsxs(s.Fragment,{children:[s.jsx(M.Pause,{size:14}),"Pause"]}):s.jsxs(s.Fragment,{children:[s.jsx(M.Play,{size:14}),"Resume"]})}),s.jsxs("button",{className:"btn",onClick:w,disabled:!m,children:[s.jsx(M.Copy,{size:14}),"Save draft"]}),s.jsxs("button",{className:"btn btn-primary",onClick:_,children:[s.jsx(M.Rocket,{size:14}),"Publish"]})]})}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Active runs"}),s.jsx("div",{className:"kpi-value",children:A}),s.jsx("div",{className:"kpi-meta subtle",children:"Right now"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Sends · 7d"}),s.jsx("div",{className:"kpi-value",children:W})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Completed runs"}),s.jsx("div",{className:"kpi-value",children:Number(he).toLocaleString()}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Version"}),s.jsxs("div",{className:"kpi-value",children:["v",H]}),s.jsx("div",{className:"kpi-meta",children:g?s.jsx("span",{className:"text-xs",children:g}):m?s.jsxs("span",{className:"pill amber",children:[s.jsx("span",{className:"dot"}),"Unsaved"]}):null})]})]}),s.jsxs("div",{className:"split split-asym",children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Steps"}),s.jsxs("span",{className:"card-sub",children:[i.length," steps · click to edit"]})]}),s.jsxs("div",{className:"flow-canvas",children:[s.jsxs("div",{className:"flow-trigger",children:[s.jsx("div",{className:"flow-trigger-icon",children:s.jsx(M.Rocket,{size:16})}),s.jsxs("div",{style:{flex:1},children:[s.jsx("div",{className:"flow-trigger-label",children:"Trigger"}),s.jsxs("div",{className:"hstack",style:{gap:6,alignItems:"flex-start"},children:[s.jsx("span",{className:"flow-trigger-name",style:{paddingTop:6},children:"Event ·"}),s.jsx(Kf,{value:o.eventName,onChange:j=>{u({...o,eventName:j}),v(!0)}})]}),s.jsx("div",{className:"flow-trigger-meta",children:s.jsxs("label",{className:"hstack",style:{gap:6,marginTop:6},children:[s.jsx("input",{type:"checkbox",checked:o.once,onChange:j=>{u({...o,once:j.target.checked}),v(!0)}}),s.jsx("span",{className:"text-xs",children:"Once per contact"})]})})]})]}),s.jsx(Eo,{onPick:j=>f(0,j),expanded:N===0,setExpanded:j=>p(j?0:null)}),i.map((j,P)=>{const L=Qf(j,a);return s.jsxs(E.Fragment,{children:[s.jsxs("div",{className:"flow-step "+L.iconClass+(h===P?" selected":""),onClick:()=>d(P),children:[s.jsx("div",{className:"flow-step-icon",children:s.jsx(ct,{name:L.icon})}),s.jsxs("div",{className:"flow-step-body",children:[s.jsx("div",{className:"flow-step-kind",children:L.kind}),s.jsx("div",{className:"flow-step-title",children:L.label}),s.jsx("div",{className:"flow-step-meta",children:L.meta}),L.sub&&s.jsx("div",{className:"flow-step-meta subtle",style:{marginTop:2},children:L.sub})]}),s.jsxs("div",{className:"flow-step-aside",style:{alignItems:"center",gap:4},children:[s.jsx("button",{className:"icon-btn",onClick:O=>{O.stopPropagation(),T(P,-1)},title:"Move up",children:s.jsx(M.Chevron,{size:12,style:{transform:"rotate(-90deg)"}})}),s.jsx("button",{className:"icon-btn",onClick:O=>{O.stopPropagation(),T(P,1)},title:"Move down",children:s.jsx(M.Chevron,{size:12,style:{transform:"rotate(90deg)"}})})]})]}),s.jsx(Eo,{onPick:O=>f(P+1,O),expanded:N===P+1,setExpanded:O=>p(O?P+1:null)})]},P)}),i.length===0&&s.jsx("div",{className:"text-xs subtle",style:{padding:16,textAlign:"center"},children:"Empty flow. Add your first step above."})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Step settings"}),s.jsx("span",{className:"card-sub",children:xe?`Step ${h+1} · ${xe.type}`:"Select a step"}),xe&&s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-danger",onClick:()=>x(h),children:[s.jsx(M.X,{size:12}),"Delete"]})})]}),s.jsx("div",{className:"card-body",children:xe?s.jsx(Xf,{step:xe,onChange:j=>k(h,j)}):s.jsx("div",{className:"text-xs subtle",children:"Click a step in the canvas to edit it, or use the + button to add one."})})]})]})]})}function Eo({onPick:e,expanded:t,setExpanded:n}){return s.jsxs("div",{style:{position:"relative",display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column"},children:[s.jsx("div",{className:"flow-connector",style:{height:16}}),t?s.jsxs("div",{className:"card",style:{padding:8,display:"flex",gap:4,flexWrap:"wrap",maxWidth:480,marginBottom:8},children:[dl.map(l=>s.jsx("button",{className:"btn btn-sm",onClick:()=>e(l.value),children:l.label},l.value)),s.jsx("button",{className:"btn btn-sm btn-ghost",onClick:()=>n(!1),children:"Cancel"})]}):s.jsx("button",{className:"flow-add",onClick:()=>n(!0),title:"Insert step",children:s.jsx(M.Plus,{size:14})}),s.jsx("div",{className:"flow-connector",style:{height:16}})]})}function Xf({step:e,onChange:t}){switch(e.type){case"wait":return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Wait duration"}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",type:"number",min:1,style:{width:100},value:e.value,onChange:n=>t({value:Math.max(1,Number(n.target.value))})}),s.jsxs("select",{className:"select",value:e.unit,onChange:n=>t({unit:n.target.value}),style:{flex:1},children:[s.jsx("option",{value:"minutes",children:"minutes"}),s.jsx("option",{value:"hours",children:"hours"}),s.jsx("option",{value:"days",children:"days"}),s.jsx("option",{value:"weeks",children:"weeks"})]})]}),s.jsx("div",{className:"field-hint",children:"The runner schedules a delayed wakeup; no CPU until then."})]});case"condition":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If predicate is FALSE"}),s.jsxs("div",{className:"seg",children:[s.jsx("span",{className:"seg-item"+(e.ifFalse==="exit"?" active":""),onClick:()=>t({ifFalse:"exit"}),children:"Exit the run"}),s.jsx("span",{className:"seg-item"+(e.ifFalse==="continue"?" active":""),onClick:()=>t({ifFalse:"continue"}),children:"Skip next step"})]})]}),s.jsx(Yf,{predicate:e.test,onChange:n=>t({test:n})})]});case"branch":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Predicate (JSON)"}),s.jsx(qt,{value:e.test,onChange:n=>t({test:n})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If TRUE — steps (JSON array)"}),s.jsx(qt,{value:e.ifTrueSteps??[],onChange:n=>t({ifTrueSteps:n})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If FALSE — steps (JSON array)"}),s.jsx(qt,{value:e.ifFalseSteps??[],onChange:n=>t({ifFalseSteps:n})})]}),s.jsxs("div",{className:"field-hint",children:["Branch's nested step arrays are edited as JSON. For typical two-arm logic, prefer a ",s.jsx("span",{className:"mono",children:"condition"})," step with ",s.jsx("span",{className:"mono",children:"ifFalse: 'exit'"}),"."]})]});case"send":return s.jsx(Gf,{step:e,onChange:t});case"tag":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Tags to ADD"}),s.jsx("input",{className:"input",placeholder:"engaged, vip (comma-separated)",value:(e.addTags??[]).join(", "),onChange:n=>t({addTags:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Tags to REMOVE"}),s.jsx("input",{className:"input",placeholder:"new-signup, cold",value:(e.removeTags??[]).join(", "),onChange:n=>t({removeTags:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]}),s.jsxs("div",{className:"field-hint",children:["Routes through your adapter's ",s.jsx("span",{className:"mono",children:"addTags"})," / ",s.jsx("span",{className:"mono",children:"removeTags"})," if defined, else mailer's tag collection."]})]});case"fire_event":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Event name"}),s.jsx("input",{className:"input",placeholder:"Engaged via flow",value:e.eventName??"",onChange:n=>t({eventName:n.target.value})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Properties (JSON, optional)"}),s.jsx(qt,{value:e.properties??{},onChange:n=>t({properties:n}),minHeight:60})]})]});case"webhook":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"URL"}),s.jsx("input",{className:"input",placeholder:"https://analytics.example/event",value:e.url??"",onChange:n=>t({url:n.target.value})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Method"}),s.jsxs("select",{className:"select",value:e.method??"POST",onChange:n=>t({method:n.target.value}),children:[s.jsx("option",{children:"POST"}),s.jsx("option",{children:"PUT"})]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Payload (JSON, optional)"}),s.jsx(qt,{value:e.payload??{},onChange:n=>t({payload:n}),minHeight:60}),s.jsxs("div",{className:"field-hint",children:["If blank, mailer sends ",s.jsx("span",{className:"mono",children:"{ externalId, flowRunId }"}),"."]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"On failure"}),s.jsxs("select",{className:"select",value:e.failureMode??"soft",onChange:n=>t({failureMode:n.target.value}),children:[s.jsx("option",{value:"soft",children:"Log + continue (default)"}),s.jsx("option",{value:"fail_run",children:"Fail the flow run"})]})]})]});case"exit":return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Exit reason (optional)"}),s.jsx("input",{className:"input",placeholder:"goal_reached",value:e.reason??"",onChange:n=>t({reason:n.target.value})}),s.jsx("div",{className:"field-hint",children:"Recorded on the flow_run for filtering exited runs by reason."})]});default:return s.jsxs("div",{className:"text-xs subtle",children:["Unknown step type: ",e.type]})}}function To(e){return e==="true"?!0:e==="false"?!1:e==="null"?null:e.trim()!==""&&!Number.isNaN(Number(e))?Number(e):e}function Yf({predicate:e,onChange:t}){var r,a,i,c;const n=Hf(e)??"__json",l=o=>{t(o==="__json"?e:Wf(o))};return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Predicate"}),s.jsxs("select",{className:"select",value:n,onChange:o=>l(o.target.value),style:{marginBottom:8},children:[Ju.map(o=>s.jsxs("option",{value:o.value,children:[o.label,o.noisy?" (noisy)":""]},o.value)),s.jsx("option",{value:"__json",children:"raw JSON (advanced)"})]}),n==="hasTag"&&s.jsx("input",{className:"input",placeholder:"vip",value:e.hasTag??"",onChange:o=>t({hasTag:o.target.value})}),n==="notHasTag"&&s.jsx("input",{className:"input",placeholder:"cold",value:e.notHasTag??"",onChange:o=>t({notHasTag:o.target.value})}),n==="fieldEquals"&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",placeholder:"field",style:{flex:1},value:((r=e.fieldEquals)==null?void 0:r.field)??"",onChange:o=>{var u;return t({fieldEquals:{field:o.target.value,value:(u=e.fieldEquals)==null?void 0:u.value}})}}),s.jsx("input",{className:"input",placeholder:"value",style:{flex:1},defaultValue:String(((a=e.fieldEquals)==null?void 0:a.value)??""),onChange:o=>{var u;return t({fieldEquals:{field:(u=e.fieldEquals)==null?void 0:u.field,value:To(o.target.value)}})}})]}),n==="fieldExists"&&s.jsx("input",{className:"input",placeholder:"customerType",value:e.fieldExists??"",onChange:o=>t({fieldExists:o.target.value})}),n==="triggerPropertyEquals"&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",placeholder:"property",style:{flex:1},value:((i=e.triggerPropertyEquals)==null?void 0:i.key)??"",onChange:o=>{var u;return t({triggerPropertyEquals:{key:o.target.value,value:((u=e.triggerPropertyEquals)==null?void 0:u.value)??""}})}}),s.jsx("input",{className:"input",placeholder:"value",style:{flex:1},defaultValue:String(((c=e.triggerPropertyEquals)==null?void 0:c.value)??""),onChange:o=>{var u;return t({triggerPropertyEquals:{key:((u=e.triggerPropertyEquals)==null?void 0:u.key)??"",value:To(o.target.value)}})}})]}),n==="triggerPropertyTruthy"&&s.jsx("input",{className:"input",placeholder:"wasReferred",value:e.triggerPropertyTruthy??"",onChange:o=>t({triggerPropertyTruthy:o.target.value})}),(n==="hasFiredEvent"||n==="notHasFiredEvent")&&s.jsx("input",{className:"input",placeholder:"Activated app",value:(n==="hasFiredEvent"?e.hasFiredEvent:e.notHasFiredEvent)??"",onChange:o=>t({[n]:o.target.value})}),n==="subscriptionStatus"&&s.jsxs("select",{className:"select",value:e.subscriptionStatus,onChange:o=>t({subscriptionStatus:o.target.value}),children:[s.jsx("option",{children:"subscribed"}),s.jsx("option",{children:"unsubscribed"}),s.jsx("option",{children:"pending_doi"}),s.jsx("option",{children:"bounced"}),s.jsx("option",{children:"complained"})]}),(n==="hasOpenedExcludingBots"||n==="hasClickedExcludingBots")&&s.jsxs("div",{className:"vstack",style:{gap:6},children:[s.jsx("input",{className:"input",placeholder:"Template slug (optional)",value:e[n].templateSlug??"",onChange:o=>t({[n]:{...e[n],templateSlug:o.target.value||void 0}})}),s.jsxs("label",{className:"hstack",style:{gap:6},children:[s.jsx("input",{type:"checkbox",checked:e[n].sinceFlowStart===!0,onChange:o=>t({[n]:{...e[n],sinceFlowStart:o.target.checked||void 0}})}),s.jsx("span",{className:"text-xs",children:"Since this flow run started"})]}),s.jsx("input",{className:"input",placeholder:"Within days (optional)",type:"number",value:e[n].withinDays??"",onChange:o=>t({[n]:{...e[n],withinDays:Number(o.target.value)||void 0}})})]}),(n==="openedAtLeastN"||n==="clickedAtLeastN")&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",type:"number",min:1,style:{flex:1},placeholder:"count",value:e[n].count??1,onChange:o=>t({[n]:{...e[n],count:Math.max(1,Number(o.target.value))}})}),s.jsx("input",{className:"input",type:"number",min:1,style:{flex:1},placeholder:"within days",value:e[n].withinDays??7,onChange:o=>t({[n]:{...e[n],withinDays:Math.max(1,Number(o.target.value))}})})]}),n==="__json"&&s.jsx(qt,{value:e,onChange:o=>t(o)})]})}function qt({value:e,onChange:t,minHeight:n=80}){const[l,r]=E.useState(()=>JSON.stringify(e,null,2)),[a,i]=E.useState(null),c=E.useRef(JSON.stringify(e));E.useEffect(()=>{const u=JSON.stringify(e);u!==c.current&&(c.current=u,r(JSON.stringify(e,null,2)),i(null))},[e]);function o(){try{const u=JSON.parse(l);i(null),c.current=JSON.stringify(u),t(u)}catch(u){i((u==null?void 0:u.message)??"invalid JSON")}}return s.jsxs(s.Fragment,{children:[s.jsx("textarea",{className:"input"+(a?" input-error":""),style:{fontFamily:"var(--font-mono)",fontSize:12,minHeight:n,borderColor:a?"var(--red-fg)":void 0},value:l,onChange:u=>r(u.target.value),onBlur:o}),a&&s.jsxs("div",{className:"field-hint",style:{color:"var(--red-fg)"},children:["JSON not saved — ",a]})]})}function Gf({step:e,onChange:t}){const[n,l]=E.useState("config");return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"seg",style:{marginBottom:12},children:[s.jsx("span",{className:"seg-item"+(n==="config"?" active":""),onClick:()=>l("config"),children:"Config"}),s.jsx("span",{className:"seg-item"+(n==="preview"?" active":""),onClick:()=>l("preview"),children:"Preview"})]}),n==="config"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Template"}),s.jsx(tp,{value:e.templateSlug,onChange:r=>t({templateSlug:r})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Provider override"}),s.jsx("input",{className:"input",placeholder:"(use default)",value:e.providerOverride??"",onChange:r=>t({providerOverride:r.target.value||void 0})}),s.jsx("div",{className:"field-hint",children:"Leave blank to use the default provider for this template's kind."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Vars (JSON, optional)"}),s.jsx(qt,{value:e.vars??{},onChange:r=>t({vars:r}),minHeight:60}),s.jsxs("div",{className:"field-hint",children:["Per-step variables available in the template as ",s.jsx("span",{className:"mono",children:"{{vars.x}}"}),"."]})]}),s.jsx(Zf,{value:e.delivery,onChange:r=>t({delivery:r})})]}):s.jsx(ep,{templateSlug:e.templateSlug,vars:e.vars})]})}function Zf({value:e,onChange:t}){const n=e??{};function l(r){const a={...n,...r};a.weekdaysOnly||delete a.weekdaysOnly,a.timeOfDay||delete a.timeOfDay,a.useContactTimezone||delete a.useContactTimezone,a.timezone||delete a.timezone,t(Object.keys(a).length>0?a:void 0)}return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Delivery window"}),s.jsxs("div",{className:"vstack",style:{gap:8},children:[s.jsxs("label",{className:"hstack text-sm",style:{gap:8,alignItems:"center",cursor:"pointer"},children:[s.jsx("input",{type:"checkbox",checked:!!n.weekdaysOnly,onChange:r=>l({weekdaysOnly:r.target.checked})}),"Weekdays only — a send landing on Sat/Sun waits until Monday"]}),s.jsxs("div",{className:"hstack",style:{gap:8,alignItems:"center"},children:[s.jsx("span",{className:"text-sm",style:{minWidth:90},children:"Time of day"}),s.jsx("input",{className:"input",type:"time",style:{width:130},value:n.timeOfDay??"",onChange:r=>l({timeOfDay:r.target.value||void 0})}),n.timeOfDay&&s.jsx("button",{className:"btn btn-xs",onClick:()=>l({timeOfDay:void 0}),children:"Clear"})]}),s.jsxs("label",{className:"hstack text-sm",style:{gap:8,alignItems:"center",cursor:"pointer"},children:[s.jsx("input",{type:"checkbox",checked:!!n.useContactTimezone,onChange:r=>l({useContactTimezone:r.target.checked})}),"Use the contact's timezone when known"]}),s.jsxs("div",{className:"hstack",style:{gap:8,alignItems:"center"},children:[s.jsx("span",{className:"text-sm",style:{minWidth:90},children:"Fallback zone"}),s.jsx("input",{className:"input",placeholder:"UTC",style:{width:220},value:n.timezone??"",onChange:r=>l({timezone:r.target.value||void 0})})]})]}),s.jsx("div",{className:"field-hint",children:"Times are interpreted in the contact's timezone (when enabled and known), else the fallback IANA zone, else UTC. The window only delays sends — never moves them earlier."})]})}function ep({templateSlug:e,vars:t}){const[n,l]=E.useState(null),[r,a]=E.useState(null),[i,c]=E.useState(!1),o=JSON.stringify(t??{}),u=E.useRef(t);return u.current=t,E.useEffect(()=>{if(!e){l(null),a(null);return}let h=!1;return c(!0),a(null),D.previewTemplate(e,{useDraft:!0,vars:u.current??{}}).then(d=>{h||l(d)}).catch(d=>{h||a(String((d==null?void 0:d.message)??d))}).finally(()=>{h||c(!1)}),()=>{h=!0}},[e,o]),e?i&&!n?s.jsx("div",{className:"text-xs subtle",children:"Rendering preview…"}):r?s.jsxs("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:["Preview failed: ",r]}):n?s.jsxs("div",{className:"vstack",style:{gap:8},children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm f500",children:n.subject}),s.jsx("div",{className:"text-xs subtle",children:n.preheader})]}),s.jsx("iframe",{title:"send-preview",sandbox:"",srcDoc:n.html,style:{width:"100%",minHeight:480,border:"1px solid var(--border)",borderRadius:6,background:"#fff"}})]}):null:s.jsx("div",{className:"text-xs subtle",children:"Pick a template in the Config tab to see a preview."})}function tp({value:e,onChange:t}){const{data:n}=V(()=>D.templates());if(!n||n.length===0)return s.jsx("input",{className:"input",placeholder:"welcome-1",value:e,onChange:r=>t(r.target.value)});const l=n.find(r=>r.slug===e);return s.jsxs(s.Fragment,{children:[s.jsxs("select",{className:"select",value:l?e:"__custom",onChange:r=>t(r.target.value==="__custom"?e:r.target.value),children:[n.map(r=>s.jsxs("option",{value:r.slug,children:[r.slug," — ",r.name]},r.slug)),s.jsx("option",{value:"__custom",children:"(custom slug…)"})]}),!l&&s.jsx("input",{className:"input",style:{marginTop:6},placeholder:"welcome-1",value:e,onChange:r=>t(r.target.value)})]})}function np({setRoute:e}){const[t,n]=E.useState("all"),{data:l,loading:r,error:a,refetch:i}=V(()=>D.templates()),c=l??[],o=c.filter(N=>t==="all"?!0:N.kind===t),[u,h]=E.useState(!1),[d,m]=E.useState({slug:"",name:"",kind:"marketing",subject:""}),[v,g]=E.useState(null);async function S(N){N.preventDefault(),g(null);try{await D.createTemplate({slug:d.slug.trim(),name:d.name.trim(),kind:d.kind,subject:d.subject.trim()}),h(!1),m({slug:"",name:"",kind:"marketing",subject:""}),i(),e({screen:"template-editor",slug:d.slug.trim()})}catch(p){g(String((p==null?void 0:p.message)??p))}}return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Templates",desc:"Email content · MJML source or Maily WYSIWYG.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>h(!0),children:[s.jsx(M.Plus,{size:14}),"New template"]})}),u&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"New template"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>h(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:S,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"welcome-day-1",value:d.slug,onChange:N=>m({...d,slug:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"Welcome · day 1",value:d.name,onChange:N=>m({...d,name:N.target.value}),required:!0})]})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Kind"}),s.jsxs("select",{className:"select",value:d.kind,onChange:N=>m({...d,kind:N.target.value}),children:[s.jsx("option",{value:"marketing",children:"Marketing"}),s.jsx("option",{value:"transactional",children:"Transactional"})]})]}),s.jsxs("div",{className:"field",style:{flex:2,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Subject"}),s.jsx("input",{className:"input",placeholder:"Welcome to Mailery",value:d.subject,onChange:N=>m({...d,subject:N.target.value})})]})]}),v&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:v}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",children:"Create + open editor"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>h(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"tabs",children:[s.jsxs("div",{className:"tab"+(t==="all"?" active":""),onClick:()=>n("all"),children:["All",s.jsx("span",{className:"tab-count",children:c.length})]}),s.jsxs("div",{className:"tab"+(t==="marketing"?" active":""),onClick:()=>n("marketing"),children:["Marketing",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.kind==="marketing").length})]}),s.jsxs("div",{className:"tab"+(t==="transactional"?" active":""),onClick:()=>n("transactional"),children:["Transactional",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.kind==="transactional").length})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:r&&!l,error:a,empty:!!l&&o.length===0,emptyLabel:"No templates yet.",retry:i,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"Kind"}),s.jsx("th",{children:"Last sent"}),s.jsx("th",{className:"num",children:"Sent 7d"}),s.jsx("th",{className:"num",children:"Open rate"}),s.jsx("th",{className:"num",children:"Click rate"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:o.length===0?s.jsx(q,{colSpan:7,label:"No templates yet."}):o.map(N=>{var T,w,_,C,H;const p=((T=N.stats)==null?void 0:T.sent)??0,f=((w=N.stats)==null?void 0:w.sentLast7Days)??0,x=p?(((_=N.stats)==null?void 0:_.opened)??0)/p:null,k=p?(((C=N.stats)==null?void 0:C.clicked)??0)/p:null;return s.jsxs("tr",{onClick:()=>e({screen:"template-editor",slug:N.slug}),children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:32,height:32,borderRadius:6,background:"var(--bg-sunken)",display:"grid",placeItems:"center",color:"var(--fg-muted)"},children:s.jsx(M.Mail,{size:14})}),s.jsxs("div",{children:[s.jsx("div",{className:"f500",children:N.name}),s.jsx("div",{className:"text-xs subtle mono",children:N.slug})]})]})}),s.jsx("td",{children:s.jsx("span",{className:"pill "+(N.kind==="transactional"?"blue":"neutral"),children:N.kind})}),s.jsx("td",{className:"text-xs subtle",children:(H=N.stats)!=null&&H.lastSentAt?new Date(N.stats.lastSentAt).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:f.toLocaleString()}),s.jsx("td",{className:"num tabular",children:x!=null?(x*100).toFixed(1)+"%":"—"}),s.jsx("td",{className:"num tabular",children:k!=null?(k*100).toFixed(1)+"%":"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},N.slug)})})]})})})]})}function sp({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.broadcasts()),{data:a}=V(()=>D.me()),i=a==null?void 0:a.broadcastConfirmationThreshold,c=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Broadcasts",desc:i!=null?`One-off campaigns. Confirmation gate kicks in above ${i.toLocaleString()} recipients.`:"One-off campaigns.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>e({screen:"broadcast-new"}),children:[s.jsx(M.Plus,{size:14}),"New broadcast"]})}),s.jsxs("div",{className:"kpis",style:{gridTemplateColumns:"repeat(3,1fr)"},children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Total"}),s.jsx("div",{className:"kpi-value",children:t?c.length:"—"}),s.jsx("div",{className:"kpi-meta",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Scheduled"}),s.jsx("div",{className:"kpi-value",children:t?c.filter(o=>o.status==="scheduled").length:"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Drafts"}),s.jsx("div",{className:"kpi-value",children:t?c.filter(o=>o.status==="draft").length:"—"})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"All broadcasts"})}),s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&c.length===0,emptyLabel:"No broadcasts yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Broadcast"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"When"}),s.jsx("th",{className:"num",children:"Recipients"}),s.jsx("th",{className:"num",children:"Opens"}),s.jsx("th",{className:"num",children:"Clicks"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:c.length===0?s.jsx(q,{colSpan:7,label:"No broadcasts yet."}):c.map(o=>{var v,g,S;const u=o.recipientCount??o.recipients,h=((v=o.stats)==null?void 0:v.delivered)??0,d=h?(((g=o.stats)==null?void 0:g.opened)??0)/h:null,m=h?(((S=o.stats)==null?void 0:S.clicked)??0)/h:null;return s.jsxs("tr",{onClick:()=>e({screen:"broadcast-new",slug:o.slug}),children:[s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:o.name}),s.jsxs("div",{className:"text-xs subtle mono",children:["broadcasts/",o.slug]})]}),s.jsx("td",{children:s.jsx(Ut,{status:o.status})}),s.jsx("td",{className:"text-xs subtle",children:o.scheduledAt?new Date(o.scheduledAt).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:u?Number(u).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:d!=null?(d*100).toFixed(1)+"%":"—"}),s.jsx("td",{className:"num tabular",children:m!=null?(m*100).toFixed(1)+"%":"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},o.slug)})})]})})]})]})}const Po=Vf.filter(e=>e.side!=="composite");function lp({setRoute:e,slug:t}){var ke,dt;const n=!!t,{data:l,refetch:r}=V(()=>n?D.broadcast(t):Promise.resolve(null)),{data:a}=V(()=>D.templates()),[i,c]=E.useState(""),[o,u]=E.useState(""),[h,d]=E.useState(""),[m,v]=E.useState([{kind:"subscriptionStatus",equals:"subscribed"}]),[g,S]=E.useState("at"),[N,p]=E.useState(_o(new Date(Date.now()+60*60*1e3))),[f,x]=E.useState(!1),[k,T]=E.useState(""),[w,_]=E.useState(null),[C,H]=E.useState(t??null),[A,W]=E.useState(null),[he,xe]=E.useState("draft");E.useEffect(()=>{var z;l&&(c(l.slug??""),u(l.name??""),d(l.templateSlug??""),v(((z=l.segmentDefinition)==null?void 0:z.filters)??[{kind:"subscriptionStatus",equals:"subscribed"}]),l.scheduledAt&&p(_o(new Date(l.scheduledAt))),x(l.respectRecipientTimezone===!0),xe(l.status??"draft"))},[l]),E.useEffect(()=>{if(!C){_(null);return}const z=setTimeout(()=>{D.countSegment(C,{filters:m}).then(_).catch(()=>_(null))},500);return()=>clearTimeout(z)},[m,C]);function ct(z,le){v(m.map((ie,K)=>z===K?{...ie,...le}:ie))}function ut(z,le){v(m.map((ie,K)=>z===K?bo(le):ie))}function Ke(z){v(m.filter((le,ie)=>ie!==z))}function qe(){v([...m,bo("hasTag")])}async function j(){W("Saving…");try{return C?(await D.updateBroadcast(C,{name:o,templateSlug:h,segmentDefinition:{filters:m}}),W("Saved"),r(),C):!i.trim()||!o.trim()||!h.trim()?(W("Slug, name, and template are required."),null):(await D.createBroadcast({slug:i.trim(),name:o.trim(),templateSlug:h.trim(),segmentDefinition:{filters:m}}),H(i.trim()),W("Created draft"),i.trim())}catch(z){return W(`Save failed: ${(z==null?void 0:z.message)??z}`),null}}async function P(){const z=C??await j();if(!z)return;const le=w==null?void 0:w.upperBound;if(le==null){W("Live count not ready yet — wait a moment.");return}if(parseInt(k,10)!==le){W(`Typed count must match the live recipient count exactly (${le.toLocaleString()}).`);return}if(g==="draft"){W("Saved as draft.");return}const ie=g==="now"?new Date:new Date(N);if(Number.isNaN(ie.getTime())){W("Invalid date.");return}try{await D.scheduleBroadcast(z,{scheduledAt:ie.toISOString(),confirmedCount:le,respectRecipientTimezone:f}),W(`Scheduled for ${ie.toLocaleString()}`),r()}catch(K){W(`Schedule failed: ${(K==null?void 0:K.message)??K}`)}}async function L(){if(!C)return e({screen:"broadcasts"});if(he==="draft")return e({screen:"broadcasts"});try{await D.cancelBroadcast(C),W("Cancelled"),e({screen:"broadcasts"})}catch(z){W(`Cancel failed: ${(z==null?void 0:z.message)??z}`)}}const O=(w==null?void 0:w.upperBound)??0,G=parseInt(k,10)===O&&O>0,Je=!!C&&G&&he==="draft";return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:n?o||"Broadcast":"New broadcast",desc:s.jsxs(s.Fragment,{children:[C&&s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"mono",children:["broadcasts/",C]})," · "]}),s.jsx("span",{className:"pill "+(he==="sent"?"green":he==="scheduled"?"blue":"neutral"),children:he})]}),actions:s.jsxs(s.Fragment,{children:[s.jsxs("button",{className:"btn",onClick:L,children:[s.jsx(M.X,{size:14}),C&&he!=="draft"?"Cancel broadcast":"Back"]}),s.jsxs("button",{className:"btn",onClick:j,children:[s.jsx(M.Copy,{size:14}),"Save draft"]}),s.jsxs("button",{className:"btn btn-primary",disabled:!Je,onClick:P,children:[s.jsx(M.Rocket,{size:14}),"Schedule"]})]})}),A&&s.jsx("div",{className:"card",style:{padding:12,marginBottom:16},children:s.jsx("span",{className:"text-sm",children:A})}),s.jsxs("div",{className:"split",style:{gridTemplateColumns:"minmax(0,1fr) 380px",gap:16},children:[s.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"1. Content"})}),s.jsxs("div",{className:"card-body",children:[!n&&s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"june-newsletter",value:i,onChange:z=>c(z.target.value),disabled:!!C}),s.jsx("div",{className:"field-hint",children:"Set once on create; can't change after."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"June Newsletter",value:o,onChange:z=>u(z.target.value)})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Template"}),s.jsxs("select",{className:"select",value:h,onChange:z=>d(z.target.value),children:[s.jsx("option",{value:"",children:"(pick a template)"}),(a??[]).map(z=>s.jsxs("option",{value:z.slug,children:[z.slug," — ",z.name]},z.slug))]})]})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"2. Segment"}),s.jsx("span",{className:"card-sub",children:"Two-pass evaluation · host filter then mailer post-filter"})]}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"vstack",style:{gap:6},children:[m.map((z,le)=>{const ie=Po.find(K=>K.value===z.kind);return s.jsxs("div",{className:"hstack",style:{padding:"8px 10px",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",gap:8},children:[s.jsx("select",{className:"select",value:z.kind,onChange:K=>ut(le,K.target.value),style:{width:200},children:Po.map(K=>s.jsx("option",{value:K.value,children:K.label},K.value))}),s.jsx(ap,{filter:z,onChange:K=>ct(le,K)}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"pill "+((ie==null?void 0:ie.side)==="host"?"violet":"blue"),style:{fontSize:10.5},children:ie==null?void 0:ie.side}),s.jsx("button",{className:"icon-btn",onClick:()=>Ke(le),title:"Remove",children:s.jsx(M.X,{size:12})})]},le)}),s.jsxs("button",{className:"btn btn-sm btn-ghost",style:{alignSelf:"flex-start"},onClick:qe,children:[s.jsx(M.Plus,{size:12}),"Add filter"]})]}),s.jsx("div",{className:"divider"}),s.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:12},children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-xs subtle",children:w!=null&&w.approximate?"Upper bound · host filter":"Recipients · host filter"}),s.jsx("div",{className:"kpi-value",style:{fontSize:22},children:((ke=w==null?void 0:w.upperBound)==null?void 0:ke.toLocaleString())??"—"})]}),(w==null?void 0:w.approximate)&&s.jsxs("span",{className:"pill amber",style:{fontSize:10.5},children:[s.jsx("span",{className:"dot"}),"approximate"]})]}),s.jsx("div",{className:"text-xs subtle",style:{marginTop:6},children:C?w!=null&&w.approximate?`Mailer-side filters (subscription, events, opens, tags excluded) and suppression are applied at dispatch — final count will be ≤ ${((dt=w==null?void 0:w.upperBound)==null?void 0:dt.toLocaleString())??"—"}. Last computed in ${(w==null?void 0:w.computedMs)??"—"}ms.`:`Recomputed on filter change · last ${(w==null?void 0:w.computedMs)??"—"}ms`:"Save a draft to enable live counts."})]})]}),s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"3. Schedule"})}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"seg",style:{marginBottom:12},children:[s.jsx("span",{className:"seg-item"+(g==="now"?" active":""),onClick:()=>S("now"),children:"Send now"}),s.jsx("span",{className:"seg-item"+(g==="at"?" active":""),onClick:()=>S("at"),children:"At a specific time"}),s.jsx("span",{className:"seg-item"+(g==="draft"?" active":""),onClick:()=>S("draft"),children:"Save as draft"})]}),g==="at"&&s.jsxs("div",{className:"split split-2",children:[s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Date · time (local)"}),s.jsx("input",{className:"input",type:"datetime-local",value:N,onChange:z=>p(z.target.value)})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Per-recipient timezone"}),s.jsxs("label",{className:"hstack",style:{gap:6,padding:"8px 0"},children:[s.jsx("input",{type:"checkbox",checked:f,onChange:z=>x(z.target.checked)}),s.jsx("span",{className:"text-sm",children:"Respect recipient timezone"})]}),s.jsxs("div",{className:"field-hint",children:["When on, each contact gets the email at the equivalent local time using ",s.jsx("span",{className:"mono",children:"contact.timezone"}),"."]})]})]})]})]}),s.jsxs("div",{className:"card",style:{borderColor:"var(--accent-border)",background:"var(--accent-soft)"},children:[s.jsxs("div",{className:"card-head",style:{borderBottomColor:"var(--accent-border)"},children:[s.jsx(M.Warn,{size:16,style:{color:"var(--accent-press)"}}),s.jsx("span",{className:"card-title",style:{color:"var(--accent-press)"},children:"Confirmation required (INVARIANT 11)"})]}),s.jsxs("div",{className:"card-body",children:[s.jsx("div",{className:"text-sm",style:{marginBottom:10},children:O>0?s.jsxs(s.Fragment,{children:["This broadcast will send to ",s.jsxs("span",{className:"f600",children:[O.toLocaleString()," contacts"]}),". To proceed, type the count exactly:"]}):s.jsx(s.Fragment,{children:"Save a draft first to compute the recipient count."})}),s.jsxs("div",{className:"hstack",children:[s.jsx("input",{className:"input",placeholder:O>0?`Type ${O} to enable scheduling`:"Recipient count",value:k,onChange:z=>T(z.target.value),style:{maxWidth:260,fontFamily:"var(--font-mono)"},disabled:O===0}),G&&s.jsxs("span",{className:"pill green",children:[s.jsx(M.Check,{size:11}),"Match"]}),!G&&k.length>0&&s.jsxs("span",{className:"pill red",children:[s.jsx(M.X,{size:11}),"Mismatch"]})]}),s.jsxs("div",{className:"field-hint",style:{marginTop:6},children:["Audit-logged with ",s.jsx("span",{className:"mono",children:"confirmedCount"})," + ",s.jsx("span",{className:"mono",children:"confirmedBy"}),"."]})]})]})]}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Preview"})}),s.jsx("div",{className:"card-body",style:{padding:0},children:h?s.jsx(ip,{slug:h}):s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Pick a template to see the preview."})})]}),s.jsx(rp,{savingSlug:C})]})]})]})}function rp({savingSlug:e}){const{data:t}=V(()=>D.setupStatus()),{data:n}=V(()=>D.health()),l=[];if(!t)l.push({severity:"pending",label:"Sender-domain registry",detail:"loading…"});else{const r=t.checks.find(a=>a.name==="from_defaults_marketing"||a.name==="transactional_from_defaults"||a.name==="transactional_fallback"||a.name==="published_template_domains");r?l.push({severity:r.severity,label:"Sender-domain registry",detail:r.message}):l.push({severity:"ok",label:"Sender-domain registry aligned"})}if(l.push({severity:e?"ok":"warn",label:e?"Draft persisted":"Save a draft to lock in the segment"}),!n)l.push({severity:"pending",label:"Circuit breaker",detail:"loading…"});else{const r=n.status;r==="tripped"?l.push({severity:"error",label:"Circuit breaker tripped",detail:n.trippedReason}):r==="degraded"?l.push({severity:"warn",label:"Circuit breaker degraded"}):l.push({severity:"ok",label:"Circuit breaker healthy"})}return s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Pre-flight checks"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8},children:l.map((r,a)=>s.jsxs("div",{className:"hstack",children:[r.severity==="ok"&&s.jsx(M.Check,{size:14,style:{color:"var(--green-fg)"}}),r.severity==="warn"&&s.jsx(M.Warn,{size:14,style:{color:"var(--amber-fg)"}}),r.severity==="error"&&s.jsx(M.Warn,{size:14,style:{color:"var(--red-fg)"}}),r.severity==="pending"&&s.jsx("span",{className:"status-dot"}),s.jsx("span",{className:"text-sm",children:r.label}),r.detail&&s.jsxs("span",{className:"text-xs subtle",style:{marginLeft:4},children:["· ",r.detail]})]},a))})]})}function ap({filter:e,onChange:t}){switch(e.kind){case"subscriptionStatus":return s.jsxs("select",{className:"select",value:e.equals,onChange:n=>t({equals:n.target.value}),children:[s.jsx("option",{children:"subscribed"}),s.jsx("option",{children:"unsubscribed"}),s.jsx("option",{children:"pending_doi"}),s.jsx("option",{children:"bounced"}),s.jsx("option",{children:"complained"})]});case"hasTag":case"notHasTag":return s.jsx("input",{className:"input",placeholder:"vip",value:e.tag??"",onChange:n=>t({tag:n.target.value})});case"fieldEquals":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{width:140},placeholder:"field",value:e.field??"",onChange:n=>t({field:n.target.value})}),s.jsx("input",{className:"input",style:{flex:1},placeholder:"value",value:String(e.value??""),onChange:n=>t({value:n.target.value})})]});case"fieldIn":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{width:140},placeholder:"field",value:e.field??"",onChange:n=>t({field:n.target.value})}),s.jsx("input",{className:"input",style:{flex:1},placeholder:"value, value, value",value:(e.values??[]).join(", "),onChange:n=>t({values:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]});case"fieldExists":return s.jsx("input",{className:"input",placeholder:"customerType",value:e.field??"",onChange:n=>t({field:n.target.value})});case"firedEvent":case"notFiredEvent":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{flex:1},placeholder:"Event name",value:e.eventName??"",onChange:n=>t({eventName:n.target.value})}),s.jsx("input",{className:"input",style:{width:100},type:"number",min:1,placeholder:"days",value:e.withinDays??"",onChange:n=>t({withinDays:Number(n.target.value)||void 0})})]});case"opened":case"notOpened":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{flex:1},placeholder:"Template slug (optional)",value:e.templateSlug??"",onChange:n=>t({templateSlug:n.target.value||void 0})}),s.jsx("input",{className:"input",style:{width:100},type:"number",min:1,placeholder:"days",value:e.withinDays??"",onChange:n=>t({withinDays:Number(n.target.value)||void 0})})]});default:return null}}function ip({slug:e}){const[t,n]=E.useState(null),[l,r]=E.useState(null);return E.useEffect(()=>{n(null),r(null),D.previewTemplate(e,{useDraft:!1}).then(n).catch(a=>r(String((a==null?void 0:a.message)??a)))},[e]),l?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:l}):t?s.jsxs(s.Fragment,{children:[s.jsxs("div",{style:{padding:"12px 16px",borderBottom:"1px solid var(--border)"},children:[s.jsx("div",{className:"text-sm f500",children:t.subject}),s.jsx("div",{className:"text-xs subtle",children:t.preheader})]}),s.jsx("div",{style:{padding:16,background:"var(--bg-sunken)",maxHeight:360,overflow:"auto"},children:s.jsx("iframe",{title:"preview",srcDoc:t.html,style:{width:"100%",minHeight:280,border:"1px solid var(--border)",borderRadius:6,background:"#fff"}})})]}):s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Loading…"})}function _o(e){const t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`}function op({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.contacts()),a=(t==null?void 0:t.contacts)??[],i=(t==null?void 0:t.counts)??null;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Contacts",desc:s.jsxs(s.Fragment,{children:["Read-through to the host's ",s.jsx("span",{className:"mono",children:"users"})," collection via ContactAdapter."]})}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Subscribed"}),s.jsx("div",{className:"kpi-value",children:i?i.subscribed.toLocaleString():"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Pending DOI"}),s.jsx("div",{className:"kpi-value",children:i?i.pending_doi.toLocaleString():"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Unsubscribed"}),s.jsx("div",{className:"kpi-value",children:i?i.unsubscribed.toLocaleString():"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Showing"}),s.jsx("div",{className:"kpi-value",children:t?a.length.toLocaleString():"—"}),s.jsx("div",{className:"kpi-meta subtle",children:t!=null&&t.nextCursor?"first page · more available":t?"all loaded":""})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No contacts yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Contact"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Tags"}),s.jsx("th",{className:"num",children:"externalId"})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:4,label:"No contacts yet."}):a.map(c=>{var d;const o=c.externalId,u=(d=c.fields)!=null&&d.firstName?`${c.fields.firstName} ${c.fields.lastName??""}`.trim():c.email,h=String(u).split(" ").map(m=>m[0]).join("").slice(0,2).toUpperCase();return s.jsxs("tr",{onClick:()=>e({screen:"contact-detail",id:o}),children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:28,height:28,borderRadius:6,background:"var(--bg-sunken)",color:"var(--fg-muted)",display:"grid",placeItems:"center",fontWeight:600,fontSize:12},children:h||"?"}),s.jsxs("div",{children:[s.jsx("div",{className:"f500",children:u}),s.jsx("div",{className:"text-xs subtle",children:c.email})]})]})}),s.jsx("td",{children:c.status?s.jsx(Ut,{status:c.status==="pending_doi"?"queued":c.status}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{children:Array.isArray(c.tags)&&c.tags.length>0?c.tags.map(m=>s.jsx("span",{className:"tag",style:{marginRight:4},children:m},m)):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num mono text-xs",children:o})]},o)})})]})})})]})}function cp({id:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.contact(e),[e]);return s.jsx(Le,{loading:n&&!t,error:l,empty:!t,emptyLabel:"Contact not found.",retry:r,children:t&&s.jsx(up,{data:t})})}function up({data:e}){var u;const t=e.contact,n=e.subscription??{},l=e.recentEvents??[],r=e.recentSends??[],a=e.activeRuns??[],i=(t==null?void 0:t.email)??"",c=(u=t==null?void 0:t.fields)!=null&&u.firstName?`${t.fields.firstName} ${t.fields.lastName??""}`.trim():i,o=t==null?void 0:t.externalId;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:c,desc:s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"mono",children:i})," · ",s.jsx("span",{className:"mono",children:o})]})}),s.jsxs("div",{className:"split split-asym",children:[s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Active flow runs"})}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Current step"}),s.jsx("th",{children:"Next action"}),s.jsx("th",{children:"Entered"})]})}),s.jsx("tbody",{children:a.length>0?a.map((h,d)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono",children:h.flowSlug}),s.jsxs("td",{children:["Step ",h.currentStepIndex+1]}),s.jsx("td",{className:"text-xs",children:h.nextActionAt?Yn(h.nextActionAt):"—"}),s.jsx("td",{className:"subtle text-xs",children:h.enteredAt?Yn(h.enteredAt):"—"})]},d)):s.jsx(q,{colSpan:4,label:"No active runs."})})]})})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Events"}),s.jsx("span",{className:"card-sub",children:l.length===50?"Last 50 · append-only":`${l.length} total`})]}),s.jsx("div",{style:{padding:"4px 16px 12px"},children:l.length===0?s.jsx("div",{className:"subtle text-xs",style:{padding:8},children:"No events recorded."}):l.map((h,d)=>s.jsxs("div",{className:"hstack",style:{padding:"10px 0",borderBottom:d<l.length-1?"1px solid var(--border)":""},children:[s.jsx("div",{style:{width:24,height:24,borderRadius:6,background:"var(--accent-soft)",color:"var(--accent-press)",display:"grid",placeItems:"center"},children:s.jsx(M.Activity,{size:12})}),s.jsxs("div",{children:[s.jsx("div",{className:"text-sm f500",children:h.name}),h.properties&&s.jsx("div",{className:"mono text-xs subtle",children:JSON.stringify(h.properties).slice(0,80)})]}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle",children:h.occurredAt?Yn(h.occurredAt):""})]},String(h._id??d)))})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Recent sends"})}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Opens"}),s.jsx("th",{children:"Clicks"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:r.length===0?s.jsx(q,{colSpan:5,label:"No sends for this contact."}):r.slice(0,10).map((h,d)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:h.templateSlug}),s.jsx("td",{children:s.jsx(Ut,{status:h.status})}),s.jsx("td",{className:"tabular",children:h.openCount??0}),s.jsx("td",{className:"tabular",children:h.clickCount??0}),s.jsx("td",{className:"text-xs subtle",children:h.queuedAt?Yn(h.queuedAt):""})]},String(h._id??d)))})]})]})]}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Subscription"})}),s.jsxs("div",{className:"card-body",style:{display:"grid",gap:8},children:[s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Status"}),s.jsx("span",{className:"grow"}),(()=>{const h=n.status??(t==null?void 0:t.status)??null;return h?s.jsx(Ut,{status:h==="pending_doi"?"queued":h}):s.jsx("span",{className:"text-xs subtle",children:"—"})})()]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Source"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"mono text-xs",children:n.source??"—"})]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Subscribed"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs",children:n.subscribedAt?Yn(n.subscribedAt):"—"})]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Email at subscribe"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"mono text-xs",children:n.emailAtSubscribe??i})]})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Adapter fields"}),s.jsx("span",{className:"card-sub",children:"From host users.find"})]}),s.jsx("div",{className:"card-body",children:s.jsx("pre",{className:"code",style:{margin:0,padding:12,fontSize:11,overflow:"auto",maxHeight:320},children:JSON.stringify({externalId:o,email:i,tags:(t==null?void 0:t.tags)??[],timezone:t==null?void 0:t.timezone,fields:(t==null?void 0:t.fields)??{}},null,2)})})]})]})]})]})}function Yn(e){const t=typeof e=="string"?new Date(e):e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return"";const n=Date.now()-t.getTime();if(n<0){const l=-n;return l<6e4?`in ${Math.floor(l/1e3)}s`:l<36e5?`in ${Math.floor(l/6e4)}m`:l<864e5?`in ${Math.floor(l/36e5)}h`:`in ${Math.floor(l/864e5)}d`}return n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function dp({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.sends()),a=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Sends",desc:"Every send. Live status from provider webhooks."}),s.jsxs("div",{className:"filter-bar",children:[s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle tabular",children:t?`${a.length} shown`:"Loading…"})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No sends yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"id"}),s.jsx("th",{children:"Template"}),s.jsx("th",{children:"To"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Flow"}),s.jsx("th",{className:"num",children:"Opens"}),s.jsx("th",{className:"num",children:"Clicks"}),s.jsx("th",{children:"Time"})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:8,label:"No sends yet."}):a.map(i=>s.jsxs("tr",{onClick:()=>e({screen:"send-detail",id:String(i._id??i.id)}),children:[s.jsx("td",{className:"mono text-xs",children:String(i._id??i.id).slice(-8)}),s.jsx("td",{className:"mono",children:i.templateSlug??"—"}),s.jsx("td",{className:"text-xs",children:i.emailAtSend??"—"}),s.jsxs("td",{children:[s.jsx(Ut,{status:i.status}),i.bounceType&&s.jsxs("span",{className:"text-xs subtle",style:{marginLeft:6},children:["· ",i.bounceType]})]}),s.jsx("td",{children:i.flowSlug?s.jsx("span",{className:"tag",children:i.flowSlug}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num tabular",children:i.openCount??0}),s.jsx("td",{className:"num tabular",children:i.clickCount??0}),s.jsx("td",{className:"text-xs subtle",children:hp(i.queuedAt)})]},i._id??i.id))})]})})})]})}function hp(e){if(!e)return"—";const t=typeof e=="string"?new Date(e):e,n=Date.now()-t.getTime();return n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function fp({id:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.send(e),[e]);return s.jsx(Le,{loading:n&&!t,error:l,empty:!t,emptyLabel:"Send not found.",retry:r,children:t&&s.jsx(pp,{data:t})})}function pp({data:e}){const t=e.send??{},n=e.webhookEvents??[],l=mp(t);return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:s.jsx("span",{className:"mono",children:String(t._id)}),desc:s.jsxs(s.Fragment,{children:["Sent to ",s.jsx("span",{className:"mono",children:t.emailAtSend??"—"})]})}),s.jsxs("div",{className:"split split-asym",children:[s.jsx("div",{className:"vstack",style:{gap:16},children:s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Status timeline"}),s.jsx("div",{className:"card-actions",children:t.status?s.jsx(Ut,{status:t.status}):s.jsx("span",{className:"text-xs subtle",children:"—"})})]}),s.jsx("div",{className:"card-body",children:l.length===0?s.jsx("div",{className:"text-xs subtle",style:{padding:8},children:"No timeline events yet."}):s.jsxs("div",{style:{position:"relative",paddingLeft:24},children:[s.jsx("div",{style:{position:"absolute",left:7,top:6,bottom:6,width:2,background:"var(--border)"}}),l.map((r,a)=>s.jsxs("div",{style:{position:"relative",paddingBottom:14},children:[s.jsx("div",{style:{position:"absolute",left:-21,top:4,width:12,height:12,borderRadius:"50%",background:a===l.length-1?"var(--accent)":"var(--bg-elev)",border:"2px solid "+(a===l.length-1?"var(--accent)":"var(--border-strong)")}}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm f500",style:{textTransform:"capitalize"},children:r.t}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle mono",children:r.at})]}),s.jsx("div",{className:"text-xs subtle",children:r.desc})]},a))]})})]})}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Metadata"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8,fontSize:13},children:[["Template",s.jsx("span",{className:"mono",children:t.templateSlug??"—"})],["Kind",s.jsx("span",{className:"pill neutral",children:t.kind??"—"})],["Provider",s.jsx("span",{className:"mono",children:t.provider??"—"})],["Provider message ID",s.jsx("span",{className:"mono text-xs",children:t.providerMessageId??"—"})],["Flow run",t.flowRunId?s.jsx("span",{className:"mono text-xs",children:String(t.flowRunId).slice(-8)}):"—"],["From",s.jsx("span",{className:"mono text-xs",children:t.fromEmail??"—"})],["Subject",t.subjectAtSend??t.subject??"—"],["Body hash",s.jsx("span",{className:"mono text-xs",children:t.bodyHash?`sha256:${String(t.bodyHash).slice(0,8)}…`:"—"})],["dedupeKey",s.jsx("span",{className:"mono text-xs",children:t.dedupeKey??"—"})]].map(([r,a])=>s.jsxs("div",{className:"hstack",style:{alignItems:"baseline"},children:[s.jsx("span",{className:"subtle",style:{width:140,flex:"0 0 auto"},children:r}),s.jsx("span",{style:{textAlign:"right",flex:1},children:a})]},r))})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Webhook events"}),s.jsxs("span",{className:"card-sub",children:[n.length," received"]})]}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8},children:n.length>0?n.map((r,a)=>s.jsxs("div",{className:"hstack",children:[r.normalizedType??r.type?s.jsx(Ut,{status:r.normalizedType??r.type}):s.jsx("span",{className:"text-xs subtle",children:"—"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle mono",children:r.occurredAt?new Date(r.occurredAt).toLocaleTimeString():""}),s.jsx("span",{className:"text-xs subtle mono",children:r.providerEventId??""})]},String(r._id??a))):s.jsx("div",{className:"text-xs subtle",children:"No webhook events yet."})})]})]})]})]})}function mp(e){const t=l=>l?new Date(l).toLocaleTimeString():"",n=[];return e.queuedAt&&n.push({at:t(e.queuedAt),t:"queued",desc:"Enqueued for dispatch"}),e.sentAt&&n.push({at:t(e.sentAt),t:"sent",desc:`Provider ${e.provider??""}`}),e.deliveredAt&&n.push({at:t(e.deliveredAt),t:"delivered",desc:"Webhook · delivered"}),e.openedAt&&n.push({at:t(e.openedAt),t:"opened",desc:`Open${(e.openCount??0)>1?` (×${e.openCount})`:""}`}),e.firstClickAt&&n.push({at:t(e.firstClickAt),t:"clicked",desc:`Click${(e.clickCount??0)>1?` (×${e.clickCount})`:""}`}),n}function xp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.suppressions()),a=t??[],i=N=>a.filter(p=>p.reason===N).length,[c,o]=E.useState(!1),[u,h]=E.useState({email:"",scope:"all",reason:"manual",notes:""}),[d,m]=E.useState(null),[v,g]=E.useState(!1);async function S(N){N.preventDefault(),m(null),g(!0);try{await D.addSuppression({email:u.email.trim(),scope:u.scope,reason:u.reason,source:"admin",notes:u.notes.trim()||void 0}),o(!1),h({email:"",scope:"all",reason:"manual",notes:""}),r()}catch(p){m(String((p==null?void 0:p.message)??p))}finally{g(!1)}}return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Suppressions",desc:"Do-not-send list scoped by kind. Auto-added on hard bounce, complaint, or unsubscribe.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>o(!0),children:[s.jsx(M.Plus,{size:14}),"Add suppression"]})}),c&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"Add suppression"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>o(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:S,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Email"}),s.jsx("input",{className:"input",type:"email",required:!0,value:u.email,onChange:N=>h({...u,email:N.target.value})})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Scope"}),s.jsxs("select",{className:"select",value:u.scope,onChange:N=>h({...u,scope:N.target.value}),children:[s.jsx("option",{value:"all",children:"All"}),s.jsx("option",{value:"marketing",children:"Marketing only"}),s.jsx("option",{value:"transactional",children:"Transactional only"})]})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Reason"}),s.jsxs("select",{className:"select",value:u.reason,onChange:N=>h({...u,reason:N.target.value}),children:[s.jsx("option",{value:"manual",children:"manual"}),s.jsx("option",{value:"hard_bounce",children:"hard_bounce"}),s.jsx("option",{value:"complaint",children:"complaint"}),s.jsx("option",{value:"unsubscribed",children:"unsubscribed"})]})]})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Notes (optional)"}),s.jsx("input",{className:"input",value:u.notes,onChange:N=>h({...u,notes:N.target.value})})]}),d&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:d}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",disabled:v,children:"Add"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>o(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Total suppressed"}),s.jsx("div",{className:"kpi-value",children:t?a.length:"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All scopes"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Hard bounce"}),s.jsx("div",{className:"kpi-value",children:t?i("hard_bounce"):"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Complaints"}),s.jsx("div",{className:"kpi-value",children:t?i("complaint"):"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Unsubscribed"}),s.jsx("div",{className:"kpi-value",children:t?i("unsubscribed"):"—"})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No suppressions yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Email"}),s.jsx("th",{children:"Scope"}),s.jsx("th",{children:"Reason"}),s.jsx("th",{children:"Source"}),s.jsx("th",{children:"Added"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:6,label:"No suppressions yet."}):a.map((N,p)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:N.email??s.jsx("span",{className:"subtle",children:"(hash only)"})}),s.jsx("td",{children:s.jsx("span",{className:"pill "+gp(N.scope),children:N.scope})}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:N.reason})}),s.jsx("td",{className:"text-xs subtle mono",children:N.source??"—"}),s.jsx("td",{className:"text-xs subtle",children:N.addedAt?new Date(N.addedAt).toLocaleString():"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},String(N._id??(N.email??"")+N.scope+p)))})]})})})]})}function gp(e){switch(e){case"all":return"red";case"marketing":return"amber";case"transactional":return"violet";default:return"neutral"}}function vp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.audit()),a=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Audit log",desc:"Every mutating action. Append-only."}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No audit events yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Actor"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Resource"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"Time"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:6,label:"No audit events yet."}):a.map((i,c)=>{const o=i.actor??"system:unknown",u=o.startsWith("human:"),h=o.startsWith("system:");return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:22,height:22,borderRadius:5,background:u?"var(--violet-soft)":h?"var(--blue-soft)":"var(--accent-soft)",color:u?"var(--violet-fg)":h?"var(--blue-fg)":"var(--accent-press)",display:"grid",placeItems:"center"},children:u?s.jsx(M.Contacts,{size:11}):h?s.jsx(M.Settings,{size:11}):s.jsx(M.Sparkles,{size:11})}),s.jsx("span",{className:"text-xs mono",children:o})]})}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:i.action})}),s.jsx("td",{className:"mono text-xs",children:yp(i.resource)}),s.jsx("td",{className:"text-xs subtle",children:i.diffSummary??""}),s.jsx("td",{className:"text-xs subtle",children:i.occurredAt?new Date(i.occurredAt).toLocaleString():""}),s.jsx("td",{children:s.jsx(M.Chevron,{size:12})})]},String(i._id??c))})})]})})})]})}function yp(e){return e?typeof e=="string"?e:e.slug?`${(e.collection??"").replace("mailer_","")}/${e.slug}`:e.id?`${(e.collection??"").replace("mailer_","")}/${String(e.id).slice(-8)}`:e.collection??"":""}function jp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.health()),{data:a,refetch:i}=V(()=>D.healthTrips()),{data:c}=V(()=>D.me()),{data:o,refetch:u}=V(()=>D.dnsbl()),{data:h,refetch:d}=V(()=>D.postmaster()),{data:m,refetch:v}=V(()=>D.snds()),{data:g,refetch:S}=V(()=>D.dmarc()),[N,p]=E.useState(!1),[f,x]=E.useState(null),[k,T]=E.useState(null),w=E.useRef(null),[_,C]=E.useState(!1),[H,A]=E.useState(null),[W,he]=E.useState(!1),[xe,ct]=E.useState(null),[ut,Ke]=E.useState(!1),[qe,j]=E.useState(null);async function P(){C(!0),A(null);try{await D.recheckDnsbl(),u()}catch(y){A(String((y==null?void 0:y.message)??y))}finally{C(!1)}}async function L(){he(!0),ct(null);try{await D.refreshPostmaster(),d()}catch(y){ct(String((y==null?void 0:y.message)??y))}finally{he(!1)}}async function O(){Ke(!0),j(null);try{await D.refreshSnds(),v()}catch(y){j(String((y==null?void 0:y.message)??y))}finally{Ke(!1)}}async function G(y){if(!y||y.length===0)return;p(!0),T(null),x(null);const F=[],ht=[],$n=[];for(const In of Array.from(y))try{(await D.uploadDmarc(In)).duplicate?ht.push(1):F.push(1)}catch(Bn){$n.push({name:In.name,message:String((Bn==null?void 0:Bn.message)??Bn)})}const An=[];F.length&&An.push(`Ingested ${F.length} report(s)`),ht.length&&An.push(`${ht.length} duplicate(s) skipped`),$n.length&&An.push(`${$n.length} failed`),An.length&&x(An.join(", ")+"."),$n.length&&T($n.map(In=>`${In.name}: ${In.message}`).join("; ")),S(),p(!1),w.current&&(w.current.value="")}const[Je,ke]=E.useState(null),[dt,z]=E.useState(null);async function le(){ke("all"),z(null);try{await D.resumeHealth(),r(),i()}catch(y){z(String((y==null?void 0:y.message)??y))}finally{ke(null)}}async function ie(y){if(!(!y.senderDomain||!y.kind)){ke(y._id),z(null);try{await D.resumeHealth({senderDomain:y.senderDomain,kind:y.kind}),r(),i()}catch(F){z(String((F==null?void 0:F.message)??F))}finally{ke(null)}}}const K=(t==null?void 0:t.rates)??{},Ie=(t==null?void 0:t.thresholds)??{},di=(t==null?void 0:t.buckets)??[],Fs=(t==null?void 0:t.status)??null,St=y=>y==null?"—":`${(y*100).toFixed(2)}%`;function wt(y,F){if(y==null||F==null)return"var(--fg-muted)";const ht=y*100;return ht>=F?"var(--red-fg)":ht>=F/2?"var(--amber-fg)":"var(--green-fg)"}const Ms=(y,F)=>y==null?"":`${F} @ ${y.toFixed(2)}%`;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Health",desc:"Circuit breaker · rolling window · per-(domain × kind) buckets.",actions:s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"pill "+Ro(Fs),children:[s.jsx("span",{className:"dot"}),Fs??(t?"no telemetry":"…")]}),Fs&&Fs!=="healthy"&&s.jsxs("button",{className:"btn btn-primary",disabled:Je==="all",onClick:le,children:[s.jsx(M.Play,{size:14}),Je==="all"?"Resuming…":"Resume all"]}),dt&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:dt})]})}),s.jsxs(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Hard bounce / 1h (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.hardBounceRate,Ie.hardBounceRatePctTrip)},children:St(K.hardBounceRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.hardBounceRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Complaint / 1h (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.complaintRate,Ie.complaintRatePctTrip)},children:St(K.complaintRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.complaintRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Combined bounce (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.bounceRate,Ie.combinedBounceRatePctTrip)},children:St(K.bounceRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.combinedBounceRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Failed-to-send (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.failureRate,Ie.failedToSendRatePctDegrade)},children:St(K.failureRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.failedToSendRatePctDegrade,"Degrade")})]})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Per-(sender domain × kind)"}),s.jsx("span",{className:"card-sub",children:"Trips happen per bucket — one subdomain tanking doesn't hold mail for the others."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Sender domain"}),s.jsx("th",{children:"Kind"}),s.jsx("th",{children:"Status"}),s.jsx("th",{className:"text-right",children:"Hard bounce"}),s.jsx("th",{className:"text-right",children:"Complaint"}),s.jsx("th",{className:"text-right",children:"Combined"}),s.jsx("th",{className:"text-right",children:"Failure"}),s.jsx("th",{className:"text-right",children:"Sent / 1h"}),s.jsx("th",{})]})}),s.jsx("tbody",{children:di.length===0?s.jsx(q,{colSpan:9,label:"No buckets yet. Buckets are created the first time a counter is recorded for a (domain, kind) pair."}):di.map(y=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.senderDomain??"_unknown"}),s.jsx("td",{children:y.kind??"—"}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Ro(y.status),children:[s.jsx("span",{className:"dot"}),y.status]})}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.hardBounceRate,Ie.hardBounceRatePctTrip)},children:St(y.rates.hardBounceRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.complaintRate,Ie.complaintRatePctTrip)},children:St(y.rates.complaintRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.bounceRate,Ie.combinedBounceRatePctTrip)},children:St(y.rates.bounceRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.failureRate,Ie.failedToSendRatePctDegrade)},children:St(y.rates.failureRate)}),s.jsx("td",{className:"text-right mono text-xs",children:y.counters.sent}),s.jsx("td",{className:"text-right",children:y.status==="tripped"&&s.jsx("button",{className:"btn btn-xs",disabled:Je===y._id,onClick:()=>ie(y),title:y.trippedReason??void 0,children:Je===y._id?"Resuming…":"Resume"})})]},y._id))})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"DNS block lists"}),s.jsx("span",{className:"card-sub",children:o!=null&&o.latestRunAt?`Last run ${new Date(o.latestRunAt).toLocaleString()} · every ${o.intervalHours}h`:"No checks run yet"}),s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:_,onClick:P,children:_?"Rechecking…":"Recheck now"}),H&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:H})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Target"}),s.jsx("th",{children:"Type"}),s.jsx("th",{children:"List"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{className:"text-right",children:"Checked"})]})}),s.jsx("tbody",{children:o?o.checks.length===0?s.jsx(q,{colSpan:6,label:"No DNSBL checks yet. Press 'Recheck now' to run the first scan."}):o.checks.map((y,F)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.target}),s.jsx("td",{children:y.targetKind}),s.jsx("td",{className:"text-xs",children:y.listLabel}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Np(y.result),children:[s.jsx("span",{className:"dot"}),y.result]})}),s.jsx("td",{className:"text-xs mono",children:y.result==="listed"?y.returnCodes.join(", "):y.result==="error"?y.errorMessage??"—":"—"}),s.jsx("td",{className:"text-right text-xs",children:new Date(y.runAt).toLocaleString()})]},String(y._id??`${y.target}|${y.list}|${F}`))):s.jsx(q,{colSpan:6,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Google Postmaster Tools"}),s.jsx("span",{className:"card-sub",children:h?h.configured?`Pulled every ${h.intervalHours}h · ${h.domains.length} domain(s)`:"Not configured — set MailerConfig.postmaster to enable":"Loading…"}),(h==null?void 0:h.configured)&&s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:W,onClick:L,children:W?"Refreshing…":"Refresh now"}),xe&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:xe})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Domain"}),s.jsx("th",{children:"Reputation"}),s.jsx("th",{className:"text-right",children:"User spam %"}),s.jsx("th",{className:"text-right",children:"SPF pass"}),s.jsx("th",{className:"text-right",children:"DKIM pass"}),s.jsx("th",{className:"text-right",children:"DMARC pass"}),s.jsx("th",{className:"text-right",children:"As of"})]})}),s.jsx("tbody",{children:h?h.configured?h.domains.length===0?s.jsx(q,{colSpan:7,label:"No snapshots yet. Press 'Refresh now' or wait for the first scheduled pull."}):h.domains.map(y=>{const F=y.latest;return s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.domain}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+kp(F==null?void 0:F.domainReputation),children:[s.jsx("span",{className:"dot"}),(F==null?void 0:F.domainReputation)??"—"]})}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.userReportedSpamRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.spfSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.dkimSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.dmarcSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.date)??"—"})]},y.domain)}):s.jsx(q,{colSpan:7,label:"Configure MailerConfig.postmaster (OAuth client + refresh token) to start pulling Gmail reputation data."}):s.jsx(q,{colSpan:7,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Microsoft SNDS"}),s.jsx("span",{className:"card-sub",children:m?m.configured?`Pulled every ${m.intervalHours}h · ${m.ips.length} IP(s)`:"Not configured — only useful for dedicated IPs":"Loading…"}),(m==null?void 0:m.configured)&&s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:ut,onClick:O,children:ut?"Refreshing…":"Refresh now"}),qe&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:qe})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"IP"}),s.jsx("th",{children:"Filter"}),s.jsx("th",{className:"text-right",children:"Complaint rate"}),s.jsx("th",{className:"text-right",children:"Trap msgs"}),s.jsx("th",{className:"text-right",children:"Recipients"}),s.jsx("th",{className:"text-right",children:"Activity window"})]})}),s.jsx("tbody",{children:m?m.configured?m.ips.length===0?s.jsx(q,{colSpan:6,label:"No snapshots yet. Press 'Refresh now' to fetch, or wait for the next scheduled pull."}):m.ips.map(y=>{const F=y.latest;return s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.ip}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Sp(F==null?void 0:F.filterResult),children:[s.jsx("span",{className:"dot"}),(F==null?void 0:F.filterResult)??"—"]})}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.complaintRate)}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.trapMessageCount)??0}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.messageRecipients)??0}),s.jsx("td",{className:"text-right text-xs",children:F?`${new Date(F.activityStart).toLocaleDateString()} – ${new Date(F.activityEnd).toLocaleDateString()}`:"—"})]},y.ip)}):s.jsx(q,{colSpan:6,label:"Set MailerConfig.snds.accessKey to enable. Only useful when sending from a dedicated IP."}):s.jsx(q,{colSpan:6,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"DMARC RUA reports"}),s.jsx("span",{className:"card-sub",children:"Upload `.zip` / `.gz` aggregate reports from your `rua=` mailbox to see who is sending as your domain."}),s.jsxs("div",{className:"card-actions",children:[s.jsx("input",{ref:w,type:"file",accept:".zip,.gz,.xml",multiple:!0,"aria-label":"DMARC RUA aggregate report file(s)",style:{display:"none"},onChange:y=>G(y.target.files)}),s.jsx("button",{className:"btn btn-xs",disabled:N,onClick:()=>{var y;return(y=w.current)==null?void 0:y.click()},children:N?"Uploading…":"Upload report(s)"}),f&&s.jsx("span",{className:"text-xs subtle",children:f}),k&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:k})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Domain"}),s.jsx("th",{children:"Policy"}),s.jsx("th",{className:"text-right",children:"Reports"}),s.jsx("th",{className:"text-right",children:"Messages"}),s.jsx("th",{className:"text-right",children:"Pass"}),s.jsx("th",{className:"text-right",children:"Fail"}),s.jsx("th",{className:"text-right",children:"Alignment"}),s.jsx("th",{children:"14d trend"}),s.jsx("th",{className:"text-right",children:"Last range"})]})}),s.jsx("tbody",{children:g?g.domains.length===0?s.jsx(q,{colSpan:9,label:"No reports yet. Upload your first DMARC RUA aggregate report (typically a .zip or .gz attachment from your rua= mailbox)."}):g.domains.map(y=>s.jsxs(E.Fragment,{children:[s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.domain}),s.jsxs("td",{className:"text-xs",children:[y.currentPolicy??"—",y.currentPct!=null&&y.currentPct!==100?` (pct=${y.currentPct})`:""]}),s.jsx("td",{className:"text-right text-xs",children:y.reportCount}),s.jsx("td",{className:"text-right text-xs",children:y.totalMessages.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:y.passCount.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",style:{color:y.failCount>0?"var(--red-fg)":void 0},children:y.failCount.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:cn(y.alignmentRate)}),s.jsx("td",{children:s.jsx(wp,{values:y.series.map(F=>F.alignmentRate)})}),s.jsx("td",{className:"text-right text-xs",children:y.latestRangeEnd?new Date(y.latestRangeEnd).toLocaleDateString():"—"})]}),y.progression&&s.jsx("tr",{children:s.jsx("td",{colSpan:9,style:{background:"var(--bg-sunken)"},children:s.jsxs("div",{className:"hstack",style:{padding:"8px 12px",gap:10},children:[s.jsxs("span",{className:"pill green",children:[s.jsx("span",{className:"dot"}),"Suggestion"]}),s.jsxs("span",{className:"text-sm",children:[s.jsxs("strong",{children:[y.domain,":"]})," ready to advance to"," ",s.jsxs("span",{className:"mono",children:["p=",y.progression.policy,y.progression.pct!==100?` pct=${y.progression.pct}`:""]})," — ",s.jsx("span",{className:"subtle text-xs",children:y.progression.reason})]})]})})})]},y.domain)):s.jsx(q,{colSpan:9,label:"Loading…"})})]})})]}),g&&g.sources.length>0&&s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Top failing source IPs (last 30 days)"}),s.jsx("span",{className:"card-sub",children:"IPs sending mail as your domain that did not pass DMARC alignment. Tag known sources so the policy-progression suggestion can run."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Source IP"}),s.jsx("th",{children:"Label"}),s.jsx("th",{children:"Domain"}),s.jsx("th",{className:"text-right",children:"Messages"}),s.jsx("th",{className:"text-right",children:"Days seen"}),s.jsx("th",{children:"DKIM"}),s.jsx("th",{children:"SPF"}),s.jsx("th",{children:"Disposition"}),s.jsx("th",{children:"Tag"})]})}),s.jsx("tbody",{children:g.sources.map(y=>s.jsx(bp,{source:y,onChanged:()=>S()},`${y.sourceIp}|${y.domain}`))})]})})]}),s.jsxs("div",{className:"split split-asym",style:{marginBottom:16},children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent trips"}),s.jsx("span",{className:"card-sub",children:"From audit log"})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"When"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"Actor"})]})}),s.jsx("tbody",{children:a?a.length===0?s.jsx(q,{colSpan:4,label:"No trips or resumes recorded."}):a.map((y,F)=>{var ht;return s.jsxs("tr",{children:[s.jsx("td",{className:"text-xs",children:y.occurredAt?new Date(y.occurredAt).toLocaleString():"—"}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+(y.action==="health.trip"?"red":"green"),children:[s.jsx("span",{className:"dot"}),y.action==="health.trip"?"Tripped":"Resumed"]})}),s.jsx("td",{className:"text-xs mono",children:((ht=y.resource)==null?void 0:ht.id)??y.diffSummary??"—"}),s.jsx("td",{className:"text-xs mono",children:y.actor??"—"})]},String(y._id??F))}):s.jsx(q,{colSpan:4,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Providers"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:10},children:c?c.providers.names.length===0?s.jsx("div",{className:"text-xs subtle",children:"No providers configured."}):c.providers.names.map(y=>s.jsxs("div",{className:"hstack",style:{padding:"10px 12px",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)"},children:[s.jsx("div",{style:{width:30,height:30,borderRadius:7,background:"var(--bg-sunken)",display:"grid",placeItems:"center"},children:s.jsx(M.Mail,{size:14})}),s.jsxs("div",{children:[s.jsx("div",{className:"f500 text-sm",children:y}),s.jsx("div",{className:"text-xs subtle",children:y===c.providers.default?"default":"configured"})]}),s.jsx("span",{className:"grow"})]},y)):s.jsx("div",{className:"text-xs subtle",children:"Loading…"})})]})]})]})]})}function Ro(e){return e==="tripped"?"red":e==="degraded"?"amber":e==="healthy"?"green":"neutral"}function Np(e){return e==="listed"?"red":e==="error"?"amber":e==="clean"?"green":"neutral"}function kp(e){return e==="BAD"?"red":e==="LOW"?"amber":e==="HIGH"||e==="MEDIUM"?"green":"neutral"}function Sp(e){return e==="RED"?"red":e==="YELLOW"?"amber":e==="GREEN"?"green":"neutral"}function wp({values:e,width:t=80,height:n=18}){if(!e||e.length===0)return s.jsx("span",{className:"text-xs subtle",children:"—"});const l=e.filter(u=>u!=null);if(l.length===0)return s.jsx("span",{className:"text-xs subtle",children:"—"});const r=e.length>1?t/(e.length-1):t,a=[];let i=[];e.forEach((u,h)=>{if(u==null){i.length>0&&(a.push(i),i=[]);return}const d=h*r,m=n-u*n;i.push(`${d.toFixed(1)},${m.toFixed(1)}`)}),i.length>0&&a.push(i);const c=l[l.length-1],o=c>=.99?"var(--green-fg)":c>=.95?"var(--amber-fg)":"var(--red-fg)";return s.jsx("svg",{width:t,height:n,style:{overflow:"visible"},"aria-hidden":"true",children:a.map((u,h)=>s.jsx("polyline",{fill:"none",stroke:o,strokeWidth:"1.5",points:u.join(" ")},h))})}function bp({source:e,onChanged:t}){const[n,l]=E.useState(!1),[r,a]=E.useState(e.label??""),[i,c]=E.useState(e.ignored),[o,u]=E.useState(!1),[h,d]=E.useState(null);async function m(){if(!r.trim()){d("Label is required");return}u(!0),d(null);try{await D.tagDmarcSource(e.sourceIp,{label:r.trim(),ignored:i}),l(!1),t()}catch(g){d(String((g==null?void 0:g.message)??g))}finally{u(!1)}}async function v(){u(!0),d(null);try{await D.untagDmarcSource(e.sourceIp),l(!1),a(""),c(!1),t()}catch(g){d(String((g==null?void 0:g.message)??g))}finally{u(!1)}}return s.jsxs("tr",{style:{opacity:e.ignored?.55:1},children:[s.jsx("td",{className:"mono text-xs",children:e.sourceIp}),s.jsx("td",{className:"text-xs",children:n?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("input",{autoFocus:!0,type:"text",value:r,placeholder:"e.g. SendGrid",onChange:g=>a(g.target.value),style:{width:140},disabled:o}),s.jsxs("label",{className:"text-xs hstack",style:{gap:3},children:[s.jsx("input",{type:"checkbox",checked:i,onChange:g=>c(g.target.checked),disabled:o}),"ignore"]}),h&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:h})]}):e.label??s.jsx("span",{className:"subtle",children:"unknown"})}),s.jsx("td",{className:"mono text-xs",children:e.domain}),s.jsx("td",{className:"text-right text-xs",children:e.totalMessages.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:e.daysSeen}),s.jsx("td",{className:"text-xs",children:e.dkimResult}),s.jsx("td",{className:"text-xs",children:e.spfResult}),s.jsx("td",{className:"text-xs",children:e.dispositionApplied}),s.jsx("td",{children:n?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:m,children:o?"…":"Save"}),s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:()=>{l(!1),a(e.label??""),c(e.ignored),d(null)},children:"Cancel"})]}):e.label?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("button",{className:"btn btn-xs",disabled:e.tagSource==="config",title:e.tagSource==="config"?"Set in MailerConfig — edit there":"",onClick:()=>l(!0),children:"Edit"}),e.tagSource==="db"&&s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:v,children:"Untag"})]}):s.jsx("button",{className:"btn btn-xs",onClick:()=>l(!0),children:"Tag"})})]})}function cn(e){return e==null?"—":`${(e*100).toFixed(1)}%`}function Cp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.hygiene());return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"List hygiene",desc:"Engagement breakdown of your subscriber list. Sunsetting long-inactive contacts is the single biggest lever on bounce + complaint rates.",actions:s.jsx("button",{className:"btn btn-xs",disabled:n,onClick:r,children:n?"Computing…":"Recompute"})}),s.jsx(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:t&&s.jsx(Ep,{report:t})})]})}function Ep({report:e}){var l,r,a,i,c,o;const t=e.sunsetCandidate,n=t.projectedImpact;return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Subscribed contacts"}),s.jsx("div",{className:"kpi-value",children:e.totalSubscribers.toLocaleString()}),s.jsxs("div",{className:"kpi-meta subtle",children:[e.totalWithSends.toLocaleString()," have received at least one send"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Engaged (30d)"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--green-fg)"},children:ye((l=e.buckets[0])==null?void 0:l.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((r=e.buckets[0])==null?void 0:r.count.toLocaleString())??0," contacts"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Inactive >180d"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--amber-fg)"},children:ye((a=e.buckets[4])==null?void 0:a.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((i=e.buckets[4])==null?void 0:i.count.toLocaleString())??0," contacts"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Never engaged"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--fg-muted)"},children:ye((c=e.buckets[5])==null?void 0:c.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((o=e.buckets[5])==null?void 0:o.count.toLocaleString())??0," contacts"]})]})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Engagement breakdown"}),s.jsx("span",{className:"card-sub",children:"Days since the contact last opened or clicked any mail you sent."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Cohort"}),s.jsx("th",{className:"text-right",children:"Contacts"}),s.jsx("th",{className:"text-right",children:"% of subscribers"}),s.jsx("th",{children:"Distribution"})]})}),s.jsx("tbody",{children:e.buckets.length===0||e.totalSubscribers===0?s.jsx(q,{colSpan:4,label:"No subscribers yet."}):e.buckets.map(u=>s.jsx(Tp,{bucket:u},u.label))})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Sunset opportunity"}),s.jsx("span",{className:"card-sub",children:"Long-inactive contacts disproportionately bounce or complain. Surface only — no automatic action."})]}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:12},children:t.count===0?s.jsx("div",{className:"text-sm subtle",children:"No sunset candidates — every subscribed contact has engaged within the last 180 days, or has been on the list for less than 180 days."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-sm",children:[s.jsx("strong",{children:t.count.toLocaleString()})," subscribed contact",t.count===1?"":"s"," are candidates for sunset (",ye(t.pctOfTotal)," of your list). Definition: inactive >180 days, or never engaged after >180 days of being subscribed."]}),t.cohortLifetime&&s.jsxs("div",{className:"text-sm",children:[s.jsxs("span",{className:"subtle",children:["Cohort lifetime metrics (",t.cohortLifetime.totalSends.toLocaleString()," sends): "]}),"bounce ",s.jsx("strong",{children:ye(t.cohortLifetime.bouncedRate)}),","," ","hard bounce ",s.jsx("strong",{children:ye(t.cohortLifetime.hardBouncedRate)}),","," ","complaint ",s.jsx("strong",{children:ye(t.cohortLifetime.complaintRate)}),"."]}),n&&n.recentTotalSends>0&&s.jsx(Pp,{proj:n})]})})]}),s.jsxs("div",{className:"text-xs subtle",children:["Computed ",new Date(e.computedAt).toLocaleString(),"."]})]})}function Tp({bucket:e}){const t=e.pctOfTotal*100,n=e.label.startsWith("Engaged (last 30")?"var(--green-fg)":e.label.startsWith("Engaged")?"#6abd76":e.label.startsWith("Inactive")?"var(--amber-fg)":"var(--fg-muted)";return s.jsxs("tr",{children:[s.jsx("td",{children:e.label}),s.jsx("td",{className:"text-right mono text-xs",children:e.count.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:ye(e.pctOfTotal)}),s.jsx("td",{children:s.jsx("div",{style:{height:8,background:"var(--bg-sunken)",borderRadius:4,overflow:"hidden",maxWidth:240},children:s.jsx("div",{style:{width:`${Math.min(100,t)}%`,height:"100%",background:n,transition:"width 0.3s"}})})})]})}function Pp({proj:e}){const t=e.currentOverallBounceRate-e.projectedBounceRate,n=e.currentOverallComplaintRate-e.projectedComplaintRate,l=e.recentBounced>0?e.cohortRecentBounced/e.recentBounced:0,r=e.recentComplained>0?e.cohortRecentComplained/e.recentComplained:0;return s.jsxs("div",{style:{display:"grid",gap:8},children:[s.jsxs("div",{className:"text-xs subtle",children:["Of the last 90 days' ",e.recentTotalSends.toLocaleString()," sends, the sunset cohort generated:"]}),s.jsxs("div",{className:"hstack",style:{gap:24},children:[s.jsx(Gs,{label:"Recent bounces from cohort",value:`${e.cohortRecentBounced.toLocaleString()} / ${e.recentBounced.toLocaleString()}`,sub:`${ye(l)} of total bounces`}),s.jsx(Gs,{label:"Recent complaints from cohort",value:`${e.cohortRecentComplained.toLocaleString()} / ${e.recentComplained.toLocaleString()}`,sub:`${ye(r)} of total complaints`})]}),s.jsx("div",{className:"text-xs subtle",style:{marginTop:4},children:"Projected rates after sunset:"}),s.jsxs("div",{className:"hstack",style:{gap:24},children:[s.jsx(Gs,{label:"Bounce rate",value:`${ye(e.currentOverallBounceRate)} → ${ye(e.projectedBounceRate)}`,sub:t>0?`−${ye(t)}`:"no change",good:t>0}),s.jsx(Gs,{label:"Complaint rate",value:`${ye(e.currentOverallComplaintRate)} → ${ye(e.projectedComplaintRate)}`,sub:n>0?`−${ye(n)}`:"no change",good:n>0})]})]})}function Gs({label:e,value:t,sub:n,good:l}){return s.jsxs("div",{children:[s.jsx("div",{className:"text-xs subtle",children:e}),s.jsx("div",{className:"text-sm mono",children:t}),s.jsx("div",{className:"text-xs",style:{color:l?"var(--green-fg)":"var(--fg-muted)"},children:n})]})}function ye(e){return e==null?"—":`${(e*100).toFixed(2)}%`}const _p=E.lazy(()=>bf(()=>import("./template-editor-CrOKLpSw.js"),[]).then(e=>({default:e.TemplateEditor}))),Lo={dashboard:{Comp:(e,t)=>s.jsx(Df,{setRoute:t}),crumbs:()=>["Mailery","Dashboard"]},flows:{Comp:(e,t)=>s.jsx($f,{setRoute:t}),crumbs:()=>["Mailery","Flows"]},"flow-detail":{Comp:(e,t)=>s.jsx(qf,{slug:e.slug,setRoute:t}),crumbs:e=>["Mailery","Flows",e.slug??""]},templates:{Comp:(e,t)=>s.jsx(np,{setRoute:t}),crumbs:()=>["Mailery","Templates"]},"template-editor":{Comp:(e,t)=>s.jsx(E.Suspense,{fallback:s.jsx("div",{style:{padding:32,color:"var(--fg-subtle)"},children:"Loading editor…"}),children:s.jsx(_p,{slug:e.slug,setRoute:t})}),crumbs:e=>["Mailery","Templates",e.slug??""]},broadcasts:{Comp:(e,t)=>s.jsx(sp,{setRoute:t}),crumbs:()=>["Mailery","Broadcasts"]},"broadcast-new":{Comp:(e,t)=>s.jsx(lp,{setRoute:t,slug:e.slug}),crumbs:e=>["Mailery","Broadcasts",e.slug??"New"]},contacts:{Comp:(e,t)=>s.jsx(op,{setRoute:t}),crumbs:()=>["Mailery","Contacts"]},"contact-detail":{Comp:(e,t)=>s.jsx(cp,{id:e.id,setRoute:t}),crumbs:e=>["Mailery","Contacts",e.id??""]},sends:{Comp:(e,t)=>s.jsx(dp,{setRoute:t}),crumbs:()=>["Mailery","Sends"]},"send-detail":{Comp:(e,t)=>s.jsx(fp,{id:e.id,setRoute:t}),crumbs:e=>["Mailery","Sends",e.id??""]},suppressions:{Comp:(e,t)=>s.jsx(xp,{setRoute:t}),crumbs:()=>["Mailery","Suppressions"]},audit:{Comp:(e,t)=>s.jsx(vp,{setRoute:t}),crumbs:()=>["Mailery","Audit log"]},health:{Comp:(e,t)=>s.jsx(jp,{setRoute:t}),crumbs:()=>["Mailery","Health"]},hygiene:{Comp:(e,t)=>s.jsx(Cp,{}),crumbs:()=>["Mailery","List hygiene"]}};function Rp(){const[e,t]=E.useState({screen:"dashboard"}),[n,l]=E.useState("light"),{data:r}=V(()=>D.me());E.useEffect(()=>{document.documentElement.setAttribute("data-theme",n)},[n]);const a=Lo[e.screen]||Lo.dashboard,i=a.crumbs(e);return s.jsxs("div",{className:"app",children:[s.jsx(Tf,{route:e,setRoute:t,me:r}),s.jsxs("div",{className:"main",children:[s.jsx(Pf,{crumbs:i,theme:n,setTheme:l}),s.jsx("div",{className:"content","data-screen-label":e.screen,children:s.jsx("div",{className:"content-inner",children:a.Comp(e,t)})})]})]})}wr.createRoot(document.getElementById("root")).render(s.jsx(E.StrictMode,{children:s.jsx(Rp,{})}));export{M as I,Le as L,Fe as P,E as R,Qu as a,Fp as b,Lp as c,D as d,Fo as g,s as j,Ge as r,V as u};
|
|
41
|
-
//# sourceMappingURL=index-
|
|
40
|
+
`+a.stack}return{value:e,source:t,stack:r,digest:null}}function jr(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function sa(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Yh=typeof WeakMap=="function"?WeakMap:Map;function vu(e,t,n){n=gt(-1,n),n.tag=3,n.payload={element:null};var l=t.value;return n.callback=function(){Ll||(Ll=!0,fa=l),sa(e,t)},n}function yu(e,t,n){n=gt(-1,n),n.tag=3;var l=e.type.getDerivedStateFromError;if(typeof l=="function"){var r=t.value;n.payload=function(){return l(r)},n.callback=function(){sa(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){sa(e,t),typeof l!="function"&&(Ot===null?Ot=new Set([this]):Ot.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),n}function no(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Yh;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(n)||(r.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function so(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function lo(e,t,n,l,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=gt(-1,1),t.tag=2,Dt(n,t,1))),n.lanes|=1),e)}var Gh=kt.ReactCurrentOwner,Te=!1;function Se(e,t,n,l){t.child=e===null?qc(t,null,n,l):Rn(t,e.child,n,l)}function ro(e,t,n,l,r){n=n.render;var a=t.ref;return Cn(t,r),l=Ja(e,t,n,l,a,r),n=Xa(),e!==null&&!Te?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Nt(e,t,r)):(Z&&n&&Oa(t),t.flags|=1,Se(e,t,l,r),t.child)}function ao(e,t,n,l,r){if(e===null){var a=n.type;return typeof a=="function"&&!ai(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,ju(e,t,a,l,r)):(e=ul(n.type,null,l,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&r)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:vs,n(i,l)&&e.ref===t.ref)return Nt(e,t,r)}return t.flags|=1,e=At(a,l),e.ref=t.ref,e.return=t,t.child=e}function ju(e,t,n,l,r){if(e!==null){var a=e.memoizedProps;if(vs(a,l)&&e.ref===t.ref)if(Te=!1,t.pendingProps=l=a,(e.lanes&r)!==0)e.flags&131072&&(Te=!0);else return t.lanes=e.lanes,Nt(e,t,r)}return la(e,t,n,l,r)}function Nu(e,t,n){var l=t.pendingProps,r=l.children,a=e!==null?e.memoizedState:null;if(l.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},J(Nn,Me),Me|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,J(Nn,Me),Me|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},l=a!==null?a.baseLanes:n,J(Nn,Me),Me|=l}else a!==null?(l=a.baseLanes|n,t.memoizedState=null):l=n,J(Nn,Me),Me|=l;return Se(e,t,r,n),t.child}function ku(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function la(e,t,n,l,r){var a=_e(n)?en:Ne.current;return a=Pn(t,a),Cn(t,r),n=Ja(e,t,n,l,a,r),l=Xa(),e!==null&&!Te?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Nt(e,t,r)):(Z&&l&&Oa(t),t.flags|=1,Se(e,t,n,r),t.child)}function io(e,t,n,l,r){if(_e(n)){var a=!0;kl(t)}else a=!1;if(Cn(t,r),t.stateNode===null)il(e,t),gu(t,n,l),na(t,n,l,r),l=!0;else if(e===null){var i=t.stateNode,c=t.memoizedProps;i.props=c;var o=i.context,u=n.contextType;typeof u=="object"&&u!==null?u=Ve(u):(u=_e(n)?en:Ne.current,u=Pn(t,u));var h=n.getDerivedStateFromProps,d=typeof h=="function"||typeof i.getSnapshotBeforeUpdate=="function";d||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==l||o!==u)&&to(t,i,l,u),Et=!1;var m=t.memoizedState;i.state=m,El(t,l,i,r),o=t.memoizedState,c!==l||m!==o||Pe.current||Et?(typeof h=="function"&&(ta(t,n,h,l),o=t.memoizedState),(c=Et||eo(t,n,c,l,m,o,u))?(d||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=o),i.props=l,i.state=o,i.context=u,l=c):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{i=t.stateNode,Xc(e,t),c=t.memoizedProps,u=t.type===t.elementType?c:Ye(t.type,c),i.props=u,d=t.pendingProps,m=i.context,o=n.contextType,typeof o=="object"&&o!==null?o=Ve(o):(o=_e(n)?en:Ne.current,o=Pn(t,o));var v=n.getDerivedStateFromProps;(h=typeof v=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(c!==d||m!==o)&&to(t,i,l,o),Et=!1,m=t.memoizedState,i.state=m,El(t,l,i,r);var g=t.memoizedState;c!==d||m!==g||Pe.current||Et?(typeof v=="function"&&(ta(t,n,v,l),g=t.memoizedState),(u=Et||eo(t,n,u,l,m,g,o)||!1)?(h||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(l,g,o),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(l,g,o)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=g),i.props=l,i.state=g,i.context=o,l=u):(typeof i.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),l=!1)}return ra(e,t,n,l,a,r)}function ra(e,t,n,l,r,a){ku(e,t);var i=(t.flags&128)!==0;if(!l&&!i)return r&&Qi(t,n,!1),Nt(e,t,a);l=t.stateNode,Gh.current=t;var c=i&&typeof n.getDerivedStateFromError!="function"?null:l.render();return t.flags|=1,e!==null&&i?(t.child=Rn(t,e.child,null,a),t.child=Rn(t,null,c,a)):Se(e,t,c,a),t.memoizedState=l.state,r&&Qi(t,n,!0),t.child}function Su(e){var t=e.stateNode;t.pendingContext?Vi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Vi(e,t.context,!1),Va(e,t.containerInfo)}function oo(e,t,n,l,r){return _n(),Aa(r),t.flags|=256,Se(e,t,n,l),t.child}var aa={dehydrated:null,treeContext:null,retryLane:0};function ia(e){return{baseLanes:e,cachePool:null,transitions:null}}function wu(e,t,n){var l=t.pendingProps,r=ee.current,a=!1,i=(t.flags&128)!==0,c;if((c=i)||(c=e!==null&&e.memoizedState===null?!1:(r&2)!==0),c?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),J(ee,r&1),e===null)return Zr(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=l.children,e=l.fallback,a?(l=t.mode,a=t.child,i={mode:"hidden",children:i},!(l&1)&&a!==null?(a.childLanes=0,a.pendingProps=i):a=Kl(i,l,0,null),e=Zt(e,l,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=ia(n),t.memoizedState=aa,e):Za(t,i));if(r=e.memoizedState,r!==null&&(c=r.dehydrated,c!==null))return Zh(e,t,i,l,c,r,n);if(a){a=l.fallback,i=t.mode,r=e.child,c=r.sibling;var o={mode:"hidden",children:l.children};return!(i&1)&&t.child!==r?(l=t.child,l.childLanes=0,l.pendingProps=o,t.deletions=null):(l=At(r,o),l.subtreeFlags=r.subtreeFlags&14680064),c!==null?a=At(c,a):(a=Zt(a,i,n,null),a.flags|=2),a.return=t,l.return=t,l.sibling=a,t.child=l,l=a,a=t.child,i=e.child.memoizedState,i=i===null?ia(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},a.memoizedState=i,a.childLanes=e.childLanes&~n,t.memoizedState=aa,l}return a=e.child,e=a.sibling,l=At(a,{mode:"visible",children:l.children}),!(t.mode&1)&&(l.lanes=n),l.return=t,l.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=l,t.memoizedState=null,l}function Za(e,t){return t=Kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function qs(e,t,n,l){return l!==null&&Aa(l),Rn(t,e.child,null,n),e=Za(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Zh(e,t,n,l,r,a,i){if(n)return t.flags&256?(t.flags&=-257,l=jr(Error(b(422))),qs(e,t,i,l)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=l.fallback,r=t.mode,l=Kl({mode:"visible",children:l.children},r,0,null),a=Zt(a,r,i,null),a.flags|=2,l.return=t,a.return=t,l.sibling=a,t.child=l,t.mode&1&&Rn(t,e.child,null,i),t.child.memoizedState=ia(i),t.memoizedState=aa,a);if(!(t.mode&1))return qs(e,t,i,null);if(r.data==="$!"){if(l=r.nextSibling&&r.nextSibling.dataset,l)var c=l.dgst;return l=c,a=Error(b(419)),l=jr(a,l,void 0),qs(e,t,i,l)}if(c=(i&e.childLanes)!==0,Te||c){if(l=de,l!==null){switch(i&-i){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(l.suspendedLanes|i)?0:r,r!==0&&r!==a.retryLane&&(a.retryLane=r,jt(e,r),nt(l,e,r,-1))}return ri(),l=jr(Error(b(421))),qs(e,t,i,l)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=ff.bind(null,e),r._reactRetry=t,null):(e=a.treeContext,ze=zt(r.nextSibling),De=t,Z=!0,et=null,e!==null&&(Be[Ue++]=mt,Be[Ue++]=xt,Be[Ue++]=tn,mt=e.id,xt=e.overflow,tn=t),t=Za(t,l.children),t.flags|=4096,t)}function co(e,t,n){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),ea(e.return,t,n)}function Nr(e,t,n,l,r){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:r}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=l,a.tail=n,a.tailMode=r)}function bu(e,t,n){var l=t.pendingProps,r=l.revealOrder,a=l.tail;if(Se(e,t,l.children,n),l=ee.current,l&2)l=l&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&co(e,n,t);else if(e.tag===19)co(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}l&=1}if(J(ee,l),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Tl(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Nr(t,!1,r,n,a);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Tl(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Nr(t,!0,n,null,a);break;case"together":Nr(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function il(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Nt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),sn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(b(153));if(t.child!==null){for(e=t.child,n=At(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=At(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function ef(e,t,n){switch(t.tag){case 3:Su(t),_n();break;case 5:Yc(t);break;case 1:_e(t.type)&&kl(t);break;case 4:Va(t,t.stateNode.containerInfo);break;case 10:var l=t.type._context,r=t.memoizedProps.value;J(bl,l._currentValue),l._currentValue=r;break;case 13:if(l=t.memoizedState,l!==null)return l.dehydrated!==null?(J(ee,ee.current&1),t.flags|=128,null):n&t.child.childLanes?wu(e,t,n):(J(ee,ee.current&1),e=Nt(e,t,n),e!==null?e.sibling:null);J(ee,ee.current&1);break;case 19:if(l=(n&t.childLanes)!==0,e.flags&128){if(l)return bu(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),J(ee,ee.current),l)break;return null;case 22:case 23:return t.lanes=0,Nu(e,t,n)}return Nt(e,t,n)}var Cu,oa,Eu,Tu;Cu=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};oa=function(){};Eu=function(e,t,n,l){var r=e.memoizedProps;if(r!==l){e=t.stateNode,Yt(ot.current);var a=null;switch(n){case"input":r=_r(e,r),l=_r(e,l),a=[];break;case"select":r=ne({},r,{value:void 0}),l=ne({},l,{value:void 0}),a=[];break;case"textarea":r=Fr(e,r),l=Fr(e,l),a=[];break;default:typeof r.onClick!="function"&&typeof l.onClick=="function"&&(e.onclick=jl)}zr(n,l);var i;n=null;for(u in r)if(!l.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var c=r[u];for(i in c)c.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(ds.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in l){var o=l[u];if(c=r!=null?r[u]:void 0,l.hasOwnProperty(u)&&o!==c&&(o!=null||c!=null))if(u==="style")if(c){for(i in c)!c.hasOwnProperty(i)||o&&o.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in o)o.hasOwnProperty(i)&&c[i]!==o[i]&&(n||(n={}),n[i]=o[i])}else n||(a||(a=[]),a.push(u,n)),n=o;else u==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,c=c?c.__html:void 0,o!=null&&c!==o&&(a=a||[]).push(u,o)):u==="children"?typeof o!="string"&&typeof o!="number"||(a=a||[]).push(u,""+o):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(ds.hasOwnProperty(u)?(o!=null&&u==="onScroll"&&X("scroll",e),a||c===o||(a=[])):(a=a||[]).push(u,o))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}};Tu=function(e,t,n,l){n!==l&&(t.flags|=4)};function qn(e,t){if(!Z)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function ve(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,l=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags&14680064,l|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags,l|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=l,e.childLanes=n,t}function tf(e,t,n){var l=t.pendingProps;switch($a(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ve(t),null;case 1:return _e(t.type)&&Nl(),ve(t),null;case 3:return l=t.stateNode,Ln(),Y(Pe),Y(Ne),Ka(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(Qs(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,et!==null&&(xa(et),et=null))),oa(e,t),ve(t),null;case 5:Qa(t);var r=Yt(Ss.current);if(n=t.type,e!==null&&t.stateNode!=null)Eu(e,t,n,l,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!l){if(t.stateNode===null)throw Error(b(166));return ve(t),null}if(e=Yt(ot.current),Qs(t)){l=t.stateNode,n=t.type;var a=t.memoizedProps;switch(l[at]=t,l[Ns]=a,e=(t.mode&1)!==0,n){case"dialog":X("cancel",l),X("close",l);break;case"iframe":case"object":case"embed":X("load",l);break;case"video":case"audio":for(r=0;r<ts.length;r++)X(ts[r],l);break;case"source":X("error",l);break;case"img":case"image":case"link":X("error",l),X("load",l);break;case"details":X("toggle",l);break;case"input":vi(l,a),X("invalid",l);break;case"select":l._wrapperState={wasMultiple:!!a.multiple},X("invalid",l);break;case"textarea":ji(l,a),X("invalid",l)}zr(n,a),r=null;for(var i in a)if(a.hasOwnProperty(i)){var c=a[i];i==="children"?typeof c=="string"?l.textContent!==c&&(a.suppressHydrationWarning!==!0&&Vs(l.textContent,c,e),r=["children",c]):typeof c=="number"&&l.textContent!==""+c&&(a.suppressHydrationWarning!==!0&&Vs(l.textContent,c,e),r=["children",""+c]):ds.hasOwnProperty(i)&&c!=null&&i==="onScroll"&&X("scroll",l)}switch(n){case"input":Os(l),yi(l,a,!0);break;case"textarea":Os(l),Ni(l);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(l.onclick=jl)}l=r,t.updateQueue=l,l!==null&&(t.flags|=4)}else{i=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=nc(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=i.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof l.is=="string"?e=i.createElement(n,{is:l.is}):(e=i.createElement(n),n==="select"&&(i=e,l.multiple?i.multiple=!0:l.size&&(i.size=l.size))):e=i.createElementNS(e,n),e[at]=t,e[Ns]=l,Cu(e,t,!1,!1),t.stateNode=e;e:{switch(i=Dr(n,l),n){case"dialog":X("cancel",e),X("close",e),r=l;break;case"iframe":case"object":case"embed":X("load",e),r=l;break;case"video":case"audio":for(r=0;r<ts.length;r++)X(ts[r],e);r=l;break;case"source":X("error",e),r=l;break;case"img":case"image":case"link":X("error",e),X("load",e),r=l;break;case"details":X("toggle",e),r=l;break;case"input":vi(e,l),r=_r(e,l),X("invalid",e);break;case"option":r=l;break;case"select":e._wrapperState={wasMultiple:!!l.multiple},r=ne({},l,{value:void 0}),X("invalid",e);break;case"textarea":ji(e,l),r=Fr(e,l),X("invalid",e);break;default:r=l}zr(n,r),c=r;for(a in c)if(c.hasOwnProperty(a)){var o=c[a];a==="style"?rc(e,o):a==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&sc(e,o)):a==="children"?typeof o=="string"?(n!=="textarea"||o!=="")&&hs(e,o):typeof o=="number"&&hs(e,""+o):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(ds.hasOwnProperty(a)?o!=null&&a==="onScroll"&&X("scroll",e):o!=null&&Sa(e,a,o,i))}switch(n){case"input":Os(e),yi(e,l,!1);break;case"textarea":Os(e),Ni(e);break;case"option":l.value!=null&&e.setAttribute("value",""+It(l.value));break;case"select":e.multiple=!!l.multiple,a=l.value,a!=null?kn(e,!!l.multiple,a,!1):l.defaultValue!=null&&kn(e,!!l.multiple,l.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=jl)}switch(n){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}}l&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ve(t),null;case 6:if(e&&t.stateNode!=null)Tu(e,t,e.memoizedProps,l);else{if(typeof l!="string"&&t.stateNode===null)throw Error(b(166));if(n=Yt(Ss.current),Yt(ot.current),Qs(t)){if(l=t.stateNode,n=t.memoizedProps,l[at]=t,(a=l.nodeValue!==n)&&(e=De,e!==null))switch(e.tag){case 3:Vs(l.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Vs(l.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else l=(n.nodeType===9?n:n.ownerDocument).createTextNode(l),l[at]=t,t.stateNode=l}return ve(t),null;case 13:if(Y(ee),l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Z&&ze!==null&&t.mode&1&&!(t.flags&128))Qc(),_n(),t.flags|=98560,a=!1;else if(a=Qs(t),l!==null&&l.dehydrated!==null){if(e===null){if(!a)throw Error(b(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(b(317));a[at]=t}else _n(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ve(t),a=!1}else et!==null&&(xa(et),et=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(l=l!==null,l!==(e!==null&&e.memoizedState!==null)&&l&&(t.child.flags|=8192,t.mode&1&&(e===null||ee.current&1?ce===0&&(ce=3):ri())),t.updateQueue!==null&&(t.flags|=4),ve(t),null);case 4:return Ln(),oa(e,t),e===null&&ys(t.stateNode.containerInfo),ve(t),null;case 10:return Ua(t.type._context),ve(t),null;case 17:return _e(t.type)&&Nl(),ve(t),null;case 19:if(Y(ee),a=t.memoizedState,a===null)return ve(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)qn(a,!1);else{if(ce!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(i=Tl(e),i!==null){for(t.flags|=128,qn(a,!1),l=i.updateQueue,l!==null&&(t.updateQueue=l,t.flags|=4),t.subtreeFlags=0,l=n,n=t.child;n!==null;)a=n,e=l,a.flags&=14680066,i=a.alternate,i===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,a.type=i.type,e=i.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return J(ee,ee.current&1|2),t.child}e=e.sibling}a.tail!==null&&re()>Mn&&(t.flags|=128,l=!0,qn(a,!1),t.lanes=4194304)}else{if(!l)if(e=Tl(i),e!==null){if(t.flags|=128,l=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),qn(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Z)return ve(t),null}else 2*re()-a.renderingStartTime>Mn&&n!==1073741824&&(t.flags|=128,l=!0,qn(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(n=a.last,n!==null?n.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=re(),t.sibling=null,n=ee.current,J(ee,l?n&1|2:n&1),t):(ve(t),null);case 22:case 23:return li(),l=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==l&&(t.flags|=8192),l&&t.mode&1?Me&1073741824&&(ve(t),t.subtreeFlags&6&&(t.flags|=8192)):ve(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function nf(e,t){switch($a(t),t.tag){case 1:return _e(t.type)&&Nl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ln(),Y(Pe),Y(Ne),Ka(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Qa(t),null;case 13:if(Y(ee),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));_n()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(ee),null;case 4:return Ln(),null;case 10:return Ua(t.type._context),null;case 22:case 23:return li(),null;case 24:return null;default:return null}}var Js=!1,je=!1,sf=typeof WeakSet=="function"?WeakSet:Set,R=null;function jn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(l){se(e,t,l)}else n.current=null}function ca(e,t,n){try{n()}catch(l){se(e,t,l)}}var uo=!1;function lf(e,t){if(Qr=gl,e=Fc(),Da(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var r=l.anchorOffset,a=l.focusNode;l=l.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,c=-1,o=-1,u=0,h=0,d=e,m=null;t:for(;;){for(var v;d!==n||r!==0&&d.nodeType!==3||(c=i+r),d!==a||l!==0&&d.nodeType!==3||(o=i+l),d.nodeType===3&&(i+=d.nodeValue.length),(v=d.firstChild)!==null;)m=d,d=v;for(;;){if(d===e)break t;if(m===n&&++u===r&&(c=i),m===a&&++h===l&&(o=i),(v=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=v}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Kr={focusedElem:e,selectionRange:n},gl=!1,R=t;R!==null;)if(t=R,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,R=e;else for(;R!==null;){t=R;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var S=g.memoizedProps,N=g.memoizedState,p=t.stateNode,f=p.getSnapshotBeforeUpdate(t.elementType===t.type?S:Ye(t.type,S),N);p.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(k){se(t,t.return,k)}if(e=t.sibling,e!==null){e.return=t.return,R=e;break}R=t.return}return g=uo,uo=!1,g}function os(e,t,n){var l=t.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var r=l=l.next;do{if((r.tag&e)===e){var a=r.destroy;r.destroy=void 0,a!==void 0&&ca(t,n,a)}r=r.next}while(r!==l)}}function Vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var l=n.create;n.destroy=l()}n=n.next}while(n!==t)}}function ua(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Pu(e){var t=e.alternate;t!==null&&(e.alternate=null,Pu(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[at],delete t[Ns],delete t[Xr],delete t[Ih],delete t[Bh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function _u(e){return e.tag===5||e.tag===3||e.tag===4}function ho(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_u(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function da(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=jl));else if(l!==4&&(e=e.child,e!==null))for(da(e,t,n),e=e.sibling;e!==null;)da(e,t,n),e=e.sibling}function ha(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(e=e.child,e!==null))for(ha(e,t,n),e=e.sibling;e!==null;)ha(e,t,n),e=e.sibling}var fe=null,Ze=!1;function bt(e,t,n){for(n=n.child;n!==null;)Ru(e,t,n),n=n.sibling}function Ru(e,t,n){if(it&&typeof it.onCommitFiberUnmount=="function")try{it.onCommitFiberUnmount(Ol,n)}catch{}switch(n.tag){case 5:je||jn(n,t);case 6:var l=fe,r=Ze;fe=null,bt(e,t,n),fe=l,Ze=r,fe!==null&&(Ze?(e=fe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):fe.removeChild(n.stateNode));break;case 18:fe!==null&&(Ze?(e=fe,n=n.stateNode,e.nodeType===8?pr(e.parentNode,n):e.nodeType===1&&pr(e,n),xs(e)):pr(fe,n.stateNode));break;case 4:l=fe,r=Ze,fe=n.stateNode.containerInfo,Ze=!0,bt(e,t,n),fe=l,Ze=r;break;case 0:case 11:case 14:case 15:if(!je&&(l=n.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){r=l=l.next;do{var a=r,i=a.destroy;a=a.tag,i!==void 0&&(a&2||a&4)&&ca(n,t,i),r=r.next}while(r!==l)}bt(e,t,n);break;case 1:if(!je&&(jn(n,t),l=n.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=n.memoizedProps,l.state=n.memoizedState,l.componentWillUnmount()}catch(c){se(n,t,c)}bt(e,t,n);break;case 21:bt(e,t,n);break;case 22:n.mode&1?(je=(l=je)||n.memoizedState!==null,bt(e,t,n),je=l):bt(e,t,n);break;default:bt(e,t,n)}}function fo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new sf),t.forEach(function(l){var r=pf.bind(null,e,l);n.has(l)||(n.add(l),l.then(r,r))})}}function Xe(e,t){var n=t.deletions;if(n!==null)for(var l=0;l<n.length;l++){var r=n[l];try{var a=e,i=t,c=i;e:for(;c!==null;){switch(c.tag){case 5:fe=c.stateNode,Ze=!1;break e;case 3:fe=c.stateNode.containerInfo,Ze=!0;break e;case 4:fe=c.stateNode.containerInfo,Ze=!0;break e}c=c.return}if(fe===null)throw Error(b(160));Ru(a,i,r),fe=null,Ze=!1;var o=r.alternate;o!==null&&(o.return=null),r.return=null}catch(u){se(r,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Lu(t,e),t=t.sibling}function Lu(e,t){var n=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Xe(t,e),lt(e),l&4){try{os(3,e,e.return),Vl(3,e)}catch(S){se(e,e.return,S)}try{os(5,e,e.return)}catch(S){se(e,e.return,S)}}break;case 1:Xe(t,e),lt(e),l&512&&n!==null&&jn(n,n.return);break;case 5:if(Xe(t,e),lt(e),l&512&&n!==null&&jn(n,n.return),e.flags&32){var r=e.stateNode;try{hs(r,"")}catch(S){se(e,e.return,S)}}if(l&4&&(r=e.stateNode,r!=null)){var a=e.memoizedProps,i=n!==null?n.memoizedProps:a,c=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{c==="input"&&a.type==="radio"&&a.name!=null&&ec(r,a),Dr(c,i);var u=Dr(c,a);for(i=0;i<o.length;i+=2){var h=o[i],d=o[i+1];h==="style"?rc(r,d):h==="dangerouslySetInnerHTML"?sc(r,d):h==="children"?hs(r,d):Sa(r,h,d,u)}switch(c){case"input":Rr(r,a);break;case"textarea":tc(r,a);break;case"select":var m=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!a.multiple;var v=a.value;v!=null?kn(r,!!a.multiple,v,!1):m!==!!a.multiple&&(a.defaultValue!=null?kn(r,!!a.multiple,a.defaultValue,!0):kn(r,!!a.multiple,a.multiple?[]:"",!1))}r[Ns]=a}catch(S){se(e,e.return,S)}}break;case 6:if(Xe(t,e),lt(e),l&4){if(e.stateNode===null)throw Error(b(162));r=e.stateNode,a=e.memoizedProps;try{r.nodeValue=a}catch(S){se(e,e.return,S)}}break;case 3:if(Xe(t,e),lt(e),l&4&&n!==null&&n.memoizedState.isDehydrated)try{xs(t.containerInfo)}catch(S){se(e,e.return,S)}break;case 4:Xe(t,e),lt(e);break;case 13:Xe(t,e),lt(e),r=e.child,r.flags&8192&&(a=r.memoizedState!==null,r.stateNode.isHidden=a,!a||r.alternate!==null&&r.alternate.memoizedState!==null||(ni=re())),l&4&&fo(e);break;case 22:if(h=n!==null&&n.memoizedState!==null,e.mode&1?(je=(u=je)||h,Xe(t,e),je=u):Xe(t,e),lt(e),l&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!h&&e.mode&1)for(R=e,h=e.child;h!==null;){for(d=R=h;R!==null;){switch(m=R,v=m.child,m.tag){case 0:case 11:case 14:case 15:os(4,m,m.return);break;case 1:jn(m,m.return);var g=m.stateNode;if(typeof g.componentWillUnmount=="function"){l=m,n=m.return;try{t=l,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(S){se(l,n,S)}}break;case 5:jn(m,m.return);break;case 22:if(m.memoizedState!==null){mo(d);continue}}v!==null?(v.return=m,R=v):mo(d)}h=h.sibling}e:for(h=null,d=e;;){if(d.tag===5){if(h===null){h=d;try{r=d.stateNode,u?(a=r.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(c=d.stateNode,o=d.memoizedProps.style,i=o!=null&&o.hasOwnProperty("display")?o.display:null,c.style.display=lc("display",i))}catch(S){se(e,e.return,S)}}}else if(d.tag===6){if(h===null)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(S){se(e,e.return,S)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;h===d&&(h=null),d=d.return}h===d&&(h=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:Xe(t,e),lt(e),l&4&&fo(e);break;case 21:break;default:Xe(t,e),lt(e)}}function lt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(_u(n)){var l=n;break e}n=n.return}throw Error(b(160))}switch(l.tag){case 5:var r=l.stateNode;l.flags&32&&(hs(r,""),l.flags&=-33);var a=ho(e);ha(e,a,r);break;case 3:case 4:var i=l.stateNode.containerInfo,c=ho(e);da(e,c,i);break;default:throw Error(b(161))}}catch(o){se(e,e.return,o)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function rf(e,t,n){R=e,Fu(e)}function Fu(e,t,n){for(var l=(e.mode&1)!==0;R!==null;){var r=R,a=r.child;if(r.tag===22&&l){var i=r.memoizedState!==null||Js;if(!i){var c=r.alternate,o=c!==null&&c.memoizedState!==null||je;c=Js;var u=je;if(Js=i,(je=o)&&!u)for(R=r;R!==null;)i=R,o=i.child,i.tag===22&&i.memoizedState!==null?xo(r):o!==null?(o.return=i,R=o):xo(r);for(;a!==null;)R=a,Fu(a),a=a.sibling;R=r,Js=c,je=u}po(e)}else r.subtreeFlags&8772&&a!==null?(a.return=r,R=a):po(e)}}function po(e){for(;R!==null;){var t=R;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:je||Vl(5,t);break;case 1:var l=t.stateNode;if(t.flags&4&&!je)if(n===null)l.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:Ye(t.type,n.memoizedProps);l.componentDidUpdate(r,n.memoizedState,l.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&Yi(t,a,l);break;case 3:var i=t.updateQueue;if(i!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Yi(t,i,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&n.focus();break;case"img":o.src&&(n.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var h=u.memoizedState;if(h!==null){var d=h.dehydrated;d!==null&&xs(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(b(163))}je||t.flags&512&&ua(t)}catch(m){se(t,t.return,m)}}if(t===e){R=null;break}if(n=t.sibling,n!==null){n.return=t.return,R=n;break}R=t.return}}function mo(e){for(;R!==null;){var t=R;if(t===e){R=null;break}var n=t.sibling;if(n!==null){n.return=t.return,R=n;break}R=t.return}}function xo(e){for(;R!==null;){var t=R;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Vl(4,t)}catch(o){se(t,n,o)}break;case 1:var l=t.stateNode;if(typeof l.componentDidMount=="function"){var r=t.return;try{l.componentDidMount()}catch(o){se(t,r,o)}}var a=t.return;try{ua(t)}catch(o){se(t,a,o)}break;case 5:var i=t.return;try{ua(t)}catch(o){se(t,i,o)}}}catch(o){se(t,t.return,o)}if(t===e){R=null;break}var c=t.sibling;if(c!==null){c.return=t.return,R=c;break}R=t.return}}var af=Math.ceil,Rl=kt.ReactCurrentDispatcher,ei=kt.ReactCurrentOwner,We=kt.ReactCurrentBatchConfig,U=0,de=null,ae=null,pe=0,Me=0,Nn=Wt(0),ce=0,Es=null,sn=0,Ql=0,ti=0,cs=null,Ee=null,ni=0,Mn=1/0,ft=null,Ll=!1,fa=null,Ot=null,Xs=!1,Rt=null,Fl=0,us=0,pa=null,ol=-1,cl=0;function we(){return U&6?re():ol!==-1?ol:ol=re()}function $t(e){return e.mode&1?U&2&&pe!==0?pe&-pe:Hh.transition!==null?(cl===0&&(cl=gc()),cl):(e=Q,e!==0||(e=window.event,e=e===void 0?16:wc(e.type)),e):1}function nt(e,t,n,l){if(50<us)throw us=0,pa=null,Error(b(185));Ps(e,n,l),(!(U&2)||e!==de)&&(e===de&&(!(U&2)&&(Ql|=n),ce===4&&Pt(e,pe)),Re(e,l),n===1&&U===0&&!(t.mode&1)&&(Mn=re()+500,Ul&&Vt()))}function Re(e,t){var n=e.callbackNode;Hd(e,t);var l=xl(e,e===de?pe:0);if(l===0)n!==null&&wi(n),e.callbackNode=null,e.callbackPriority=0;else if(t=l&-l,e.callbackPriority!==t){if(n!=null&&wi(n),t===1)e.tag===0?Uh(go.bind(null,e)):Hc(go.bind(null,e)),$h(function(){!(U&6)&&Vt()}),n=null;else{switch(vc(l)){case 1:n=Ta;break;case 4:n=mc;break;case 16:n=ml;break;case 536870912:n=xc;break;default:n=ml}n=Bu(n,Mu.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Mu(e,t){if(ol=-1,cl=0,U&6)throw Error(b(327));var n=e.callbackNode;if(En()&&e.callbackNode!==n)return null;var l=xl(e,e===de?pe:0);if(l===0)return null;if(l&30||l&e.expiredLanes||t)t=Ml(e,l);else{t=l;var r=U;U|=2;var a=Du();(de!==e||pe!==t)&&(ft=null,Mn=re()+500,Gt(e,t));do try{uf();break}catch(c){zu(e,c)}while(!0);Ba(),Rl.current=a,U=r,ae!==null?t=0:(de=null,pe=0,t=ce)}if(t!==0){if(t===2&&(r=Br(e),r!==0&&(l=r,t=ma(e,r))),t===1)throw n=Es,Gt(e,0),Pt(e,l),Re(e,re()),n;if(t===6)Pt(e,l);else{if(r=e.current.alternate,!(l&30)&&!of(r)&&(t=Ml(e,l),t===2&&(a=Br(e),a!==0&&(l=a,t=ma(e,a))),t===1))throw n=Es,Gt(e,0),Pt(e,l),Re(e,re()),n;switch(e.finishedWork=r,e.finishedLanes=l,t){case 0:case 1:throw Error(b(345));case 2:Kt(e,Ee,ft);break;case 3:if(Pt(e,l),(l&130023424)===l&&(t=ni+500-re(),10<t)){if(xl(e,0)!==0)break;if(r=e.suspendedLanes,(r&l)!==l){we(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Jr(Kt.bind(null,e,Ee,ft),t);break}Kt(e,Ee,ft);break;case 4:if(Pt(e,l),(l&4194240)===l)break;for(t=e.eventTimes,r=-1;0<l;){var i=31-tt(l);a=1<<i,i=t[i],i>r&&(r=i),l&=~a}if(l=r,l=re()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*af(l/1960))-l,10<l){e.timeoutHandle=Jr(Kt.bind(null,e,Ee,ft),l);break}Kt(e,Ee,ft);break;case 5:Kt(e,Ee,ft);break;default:throw Error(b(329))}}}return Re(e,re()),e.callbackNode===n?Mu.bind(null,e):null}function ma(e,t){var n=cs;return e.current.memoizedState.isDehydrated&&(Gt(e,t).flags|=256),e=Ml(e,t),e!==2&&(t=Ee,Ee=n,t!==null&&xa(t)),e}function xa(e){Ee===null?Ee=e:Ee.push.apply(Ee,e)}function of(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var l=0;l<n.length;l++){var r=n[l],a=r.getSnapshot;r=r.value;try{if(!st(a(),r))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Pt(e,t){for(t&=~ti,t&=~Ql,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-tt(t),l=1<<n;e[n]=-1,t&=~l}}function go(e){if(U&6)throw Error(b(327));En();var t=xl(e,0);if(!(t&1))return Re(e,re()),null;var n=Ml(e,t);if(e.tag!==0&&n===2){var l=Br(e);l!==0&&(t=l,n=ma(e,l))}if(n===1)throw n=Es,Gt(e,0),Pt(e,t),Re(e,re()),n;if(n===6)throw Error(b(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Kt(e,Ee,ft),Re(e,re()),null}function si(e,t){var n=U;U|=1;try{return e(t)}finally{U=n,U===0&&(Mn=re()+500,Ul&&Vt())}}function ln(e){Rt!==null&&Rt.tag===0&&!(U&6)&&En();var t=U;U|=1;var n=We.transition,l=Q;try{if(We.transition=null,Q=1,e)return e()}finally{Q=l,We.transition=n,U=t,!(U&6)&&Vt()}}function li(){Me=Nn.current,Y(Nn)}function Gt(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Oh(n)),ae!==null)for(n=ae.return;n!==null;){var l=n;switch($a(l),l.tag){case 1:l=l.type.childContextTypes,l!=null&&Nl();break;case 3:Ln(),Y(Pe),Y(Ne),Ka();break;case 5:Qa(l);break;case 4:Ln();break;case 13:Y(ee);break;case 19:Y(ee);break;case 10:Ua(l.type._context);break;case 22:case 23:li()}n=n.return}if(de=e,ae=e=At(e.current,null),pe=Me=t,ce=0,Es=null,ti=Ql=sn=0,Ee=cs=null,Xt!==null){for(t=0;t<Xt.length;t++)if(n=Xt[t],l=n.interleaved,l!==null){n.interleaved=null;var r=l.next,a=n.pending;if(a!==null){var i=a.next;a.next=r,l.next=i}n.pending=l}Xt=null}return e}function zu(e,t){do{var n=ae;try{if(Ba(),rl.current=_l,Pl){for(var l=te.memoizedState;l!==null;){var r=l.queue;r!==null&&(r.pending=null),l=l.next}Pl=!1}if(nn=0,ue=oe=te=null,is=!1,ws=0,ei.current=null,n===null||n.return===null){ce=1,Es=t,ae=null;break}e:{var a=e,i=n.return,c=n,o=t;if(t=pe,c.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var u=o,h=c,d=h.tag;if(!(h.mode&1)&&(d===0||d===11||d===15)){var m=h.alternate;m?(h.updateQueue=m.updateQueue,h.memoizedState=m.memoizedState,h.lanes=m.lanes):(h.updateQueue=null,h.memoizedState=null)}var v=so(i);if(v!==null){v.flags&=-257,lo(v,i,c,a,t),v.mode&1&&no(a,u,t),t=v,o=u;var g=t.updateQueue;if(g===null){var S=new Set;S.add(o),t.updateQueue=S}else g.add(o);break e}else{if(!(t&1)){no(a,u,t),ri();break e}o=Error(b(426))}}else if(Z&&c.mode&1){var N=so(i);if(N!==null){!(N.flags&65536)&&(N.flags|=256),lo(N,i,c,a,t),Aa(Fn(o,c));break e}}a=o=Fn(o,c),ce!==4&&(ce=2),cs===null?cs=[a]:cs.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var p=vu(a,o,t);Xi(a,p);break e;case 1:c=o;var f=a.type,x=a.stateNode;if(!(a.flags&128)&&(typeof f.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(Ot===null||!Ot.has(x)))){a.flags|=65536,t&=-t,a.lanes|=t;var k=yu(a,c,t);Xi(a,k);break e}}a=a.return}while(a!==null)}$u(n)}catch(T){t=T,ae===n&&n!==null&&(ae=n=n.return);continue}break}while(!0)}function Du(){var e=Rl.current;return Rl.current=_l,e===null?_l:e}function ri(){(ce===0||ce===3||ce===2)&&(ce=4),de===null||!(sn&268435455)&&!(Ql&268435455)||Pt(de,pe)}function Ml(e,t){var n=U;U|=2;var l=Du();(de!==e||pe!==t)&&(ft=null,Gt(e,t));do try{cf();break}catch(r){zu(e,r)}while(!0);if(Ba(),U=n,Rl.current=l,ae!==null)throw Error(b(261));return de=null,pe=0,ce}function cf(){for(;ae!==null;)Ou(ae)}function uf(){for(;ae!==null&&!Md();)Ou(ae)}function Ou(e){var t=Iu(e.alternate,e,Me);e.memoizedProps=e.pendingProps,t===null?$u(e):ae=t,ei.current=null}function $u(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=nf(n,t),n!==null){n.flags&=32767,ae=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{ce=6,ae=null;return}}else if(n=tf(n,t,Me),n!==null){ae=n;return}if(t=t.sibling,t!==null){ae=t;return}ae=t=e}while(t!==null);ce===0&&(ce=5)}function Kt(e,t,n){var l=Q,r=We.transition;try{We.transition=null,Q=1,df(e,t,n,l)}finally{We.transition=r,Q=l}return null}function df(e,t,n,l){do En();while(Rt!==null);if(U&6)throw Error(b(327));n=e.finishedWork;var r=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(b(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(Wd(e,a),e===de&&(ae=de=null,pe=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Xs||(Xs=!0,Bu(ml,function(){return En(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=We.transition,We.transition=null;var i=Q;Q=1;var c=U;U|=4,ei.current=null,lf(e,n),Lu(n,e),_h(Kr),gl=!!Qr,Kr=Qr=null,e.current=n,rf(n),zd(),U=c,Q=i,We.transition=a}else e.current=n;if(Xs&&(Xs=!1,Rt=e,Fl=r),a=e.pendingLanes,a===0&&(Ot=null),$d(n.stateNode),Re(e,re()),t!==null)for(l=e.onRecoverableError,n=0;n<t.length;n++)r=t[n],l(r.value,{componentStack:r.stack,digest:r.digest});if(Ll)throw Ll=!1,e=fa,fa=null,e;return Fl&1&&e.tag!==0&&En(),a=e.pendingLanes,a&1?e===pa?us++:(us=0,pa=e):us=0,Vt(),null}function En(){if(Rt!==null){var e=vc(Fl),t=We.transition,n=Q;try{if(We.transition=null,Q=16>e?16:e,Rt===null)var l=!1;else{if(e=Rt,Rt=null,Fl=0,U&6)throw Error(b(331));var r=U;for(U|=4,R=e.current;R!==null;){var a=R,i=a.child;if(R.flags&16){var c=a.deletions;if(c!==null){for(var o=0;o<c.length;o++){var u=c[o];for(R=u;R!==null;){var h=R;switch(h.tag){case 0:case 11:case 15:os(8,h,a)}var d=h.child;if(d!==null)d.return=h,R=d;else for(;R!==null;){h=R;var m=h.sibling,v=h.return;if(Pu(h),h===u){R=null;break}if(m!==null){m.return=v,R=m;break}R=v}}}var g=a.alternate;if(g!==null){var S=g.child;if(S!==null){g.child=null;do{var N=S.sibling;S.sibling=null,S=N}while(S!==null)}}R=a}}if(a.subtreeFlags&2064&&i!==null)i.return=a,R=i;else e:for(;R!==null;){if(a=R,a.flags&2048)switch(a.tag){case 0:case 11:case 15:os(9,a,a.return)}var p=a.sibling;if(p!==null){p.return=a.return,R=p;break e}R=a.return}}var f=e.current;for(R=f;R!==null;){i=R;var x=i.child;if(i.subtreeFlags&2064&&x!==null)x.return=i,R=x;else e:for(i=f;R!==null;){if(c=R,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:Vl(9,c)}}catch(T){se(c,c.return,T)}if(c===i){R=null;break e}var k=c.sibling;if(k!==null){k.return=c.return,R=k;break e}R=c.return}}if(U=r,Vt(),it&&typeof it.onPostCommitFiberRoot=="function")try{it.onPostCommitFiberRoot(Ol,e)}catch{}l=!0}return l}finally{Q=n,We.transition=t}}return!1}function vo(e,t,n){t=Fn(n,t),t=vu(e,t,1),e=Dt(e,t,1),t=we(),e!==null&&(Ps(e,1,t),Re(e,t))}function se(e,t,n){if(e.tag===3)vo(e,e,n);else for(;t!==null;){if(t.tag===3){vo(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ot===null||!Ot.has(l))){e=Fn(n,e),e=yu(t,e,1),t=Dt(t,e,1),e=we(),t!==null&&(Ps(t,1,e),Re(t,e));break}}t=t.return}}function hf(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),t=we(),e.pingedLanes|=e.suspendedLanes&n,de===e&&(pe&n)===n&&(ce===4||ce===3&&(pe&130023424)===pe&&500>re()-ni?Gt(e,0):ti|=n),Re(e,t)}function Au(e,t){t===0&&(e.mode&1?(t=Is,Is<<=1,!(Is&130023424)&&(Is=4194304)):t=1);var n=we();e=jt(e,t),e!==null&&(Ps(e,t,n),Re(e,n))}function ff(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Au(e,n)}function pf(e,t){var n=0;switch(e.tag){case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:l=e.stateNode;break;default:throw Error(b(314))}l!==null&&l.delete(t),Au(e,n)}var Iu;Iu=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pe.current)Te=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Te=!1,ef(e,t,n);Te=!!(e.flags&131072)}else Te=!1,Z&&t.flags&1048576&&Wc(t,wl,t.index);switch(t.lanes=0,t.tag){case 2:var l=t.type;il(e,t),e=t.pendingProps;var r=Pn(t,Ne.current);Cn(t,n),r=Ja(null,t,l,e,r,n);var a=Xa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_e(l)?(a=!0,kl(t)):a=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Wa(t),r.updater=Wl,t.stateNode=r,r._reactInternals=t,na(t,l,e,n),t=ra(null,t,l,!0,a,n)):(t.tag=0,Z&&a&&Oa(t),Se(null,t,r,n),t=t.child),t;case 16:l=t.elementType;e:{switch(il(e,t),e=t.pendingProps,r=l._init,l=r(l._payload),t.type=l,r=t.tag=xf(l),e=Ye(l,e),r){case 0:t=la(null,t,l,e,n);break e;case 1:t=io(null,t,l,e,n);break e;case 11:t=ro(null,t,l,e,n);break e;case 14:t=ao(null,t,l,Ye(l.type,e),n);break e}throw Error(b(306,l,""))}return t;case 0:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),la(e,t,l,r,n);case 1:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),io(e,t,l,r,n);case 3:e:{if(Su(t),e===null)throw Error(b(387));l=t.pendingProps,a=t.memoizedState,r=a.element,Xc(e,t),El(t,l,null,n);var i=t.memoizedState;if(l=i.element,a.isDehydrated)if(a={element:l,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){r=Fn(Error(b(423)),t),t=oo(e,t,l,n,r);break e}else if(l!==r){r=Fn(Error(b(424)),t),t=oo(e,t,l,n,r);break e}else for(ze=zt(t.stateNode.containerInfo.firstChild),De=t,Z=!0,et=null,n=qc(t,null,l,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(_n(),l===r){t=Nt(e,t,n);break e}Se(e,t,l,n)}t=t.child}return t;case 5:return Yc(t),e===null&&Zr(t),l=t.type,r=t.pendingProps,a=e!==null?e.memoizedProps:null,i=r.children,qr(l,r)?i=null:a!==null&&qr(l,a)&&(t.flags|=32),ku(e,t),Se(e,t,i,n),t.child;case 6:return e===null&&Zr(t),null;case 13:return wu(e,t,n);case 4:return Va(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=Rn(t,null,l,n):Se(e,t,l,n),t.child;case 11:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),ro(e,t,l,r,n);case 7:return Se(e,t,t.pendingProps,n),t.child;case 8:return Se(e,t,t.pendingProps.children,n),t.child;case 12:return Se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(l=t.type._context,r=t.pendingProps,a=t.memoizedProps,i=r.value,J(bl,l._currentValue),l._currentValue=i,a!==null)if(st(a.value,i)){if(a.children===r.children&&!Pe.current){t=Nt(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var c=a.dependencies;if(c!==null){i=a.child;for(var o=c.firstContext;o!==null;){if(o.context===l){if(a.tag===1){o=gt(-1,n&-n),o.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var h=u.pending;h===null?o.next=o:(o.next=h.next,h.next=o),u.pending=o}}a.lanes|=n,o=a.alternate,o!==null&&(o.lanes|=n),ea(a.return,n,t),c.lanes|=n;break}o=o.next}}else if(a.tag===10)i=a.type===t.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(b(341));i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),ea(i,n,t),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===t){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}Se(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,l=t.pendingProps.children,Cn(t,n),r=Ve(r),l=l(r),t.flags|=1,Se(e,t,l,n),t.child;case 14:return l=t.type,r=Ye(l,t.pendingProps),r=Ye(l.type,r),ao(e,t,l,r,n);case 15:return ju(e,t,t.type,t.pendingProps,n);case 17:return l=t.type,r=t.pendingProps,r=t.elementType===l?r:Ye(l,r),il(e,t),t.tag=1,_e(l)?(e=!0,kl(t)):e=!1,Cn(t,n),gu(t,l,r),na(t,l,r,n),ra(null,t,l,!0,e,n);case 19:return bu(e,t,n);case 22:return Nu(e,t,n)}throw Error(b(156,t.tag))};function Bu(e,t){return pc(e,t)}function mf(e,t,n,l){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function He(e,t,n,l){return new mf(e,t,n,l)}function ai(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xf(e){if(typeof e=="function")return ai(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ba)return 11;if(e===Ca)return 14}return 2}function At(e,t){var n=e.alternate;return n===null?(n=He(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ul(e,t,n,l,r,a){var i=2;if(l=e,typeof e=="function")ai(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case dn:return Zt(n.children,r,a,t);case wa:i=8,r|=8;break;case Cr:return e=He(12,n,t,r|2),e.elementType=Cr,e.lanes=a,e;case Er:return e=He(13,n,t,r),e.elementType=Er,e.lanes=a,e;case Tr:return e=He(19,n,t,r),e.elementType=Tr,e.lanes=a,e;case Yo:return Kl(n,r,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jo:i=10;break e;case Xo:i=9;break e;case ba:i=11;break e;case Ca:i=14;break e;case Ct:i=16,l=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=He(i,n,t,r),t.elementType=e,t.type=l,t.lanes=a,t}function Zt(e,t,n,l){return e=He(7,e,l,t),e.lanes=n,e}function Kl(e,t,n,l){return e=He(22,e,l,t),e.elementType=Yo,e.lanes=n,e.stateNode={isHidden:!1},e}function kr(e,t,n){return e=He(6,e,null,t),e.lanes=n,e}function Sr(e,t,n){return t=He(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function gf(e,t,n,l,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sr(0),this.expirationTimes=sr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sr(0),this.identifierPrefix=l,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function ii(e,t,n,l,r,a,i,c,o){return e=new gf(e,t,n,c,o),t===1?(t=1,a===!0&&(t|=8)):t=0,a=He(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:l,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Wa(a),e}function vf(e,t,n){var l=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:un,key:l==null?null:""+l,children:e,containerInfo:t,implementation:n}}function Uu(e){if(!e)return Bt;e=e._reactInternals;e:{if(an(e)!==e||e.tag!==1)throw Error(b(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(_e(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(b(171))}if(e.tag===1){var n=e.type;if(_e(n))return Uc(e,n,t)}return t}function Hu(e,t,n,l,r,a,i,c,o){return e=ii(n,l,!0,e,r,a,i,c,o),e.context=Uu(null),n=e.current,l=we(),r=$t(n),a=gt(l,r),a.callback=t??null,Dt(n,a,r),e.current.lanes=r,Ps(e,r,l),Re(e,l),e}function ql(e,t,n,l){var r=t.current,a=we(),i=$t(r);return n=Uu(n),t.context===null?t.context=n:t.pendingContext=n,t=gt(a,i),t.payload={element:e},l=l===void 0?null:l,l!==null&&(t.callback=l),e=Dt(r,t,i),e!==null&&(nt(e,r,i,a),ll(e,r,i)),i}function zl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function yo(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function oi(e,t){yo(e,t),(e=e.alternate)&&yo(e,t)}function yf(){return null}var Wu=typeof reportError=="function"?reportError:function(e){console.error(e)};function ci(e){this._internalRoot=e}Jl.prototype.render=ci.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(b(409));ql(e,t,null,null)};Jl.prototype.unmount=ci.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ln(function(){ql(null,e,null,null)}),t[yt]=null}};function Jl(e){this._internalRoot=e}Jl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Nc();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Tt.length&&t!==0&&t<Tt[n].priority;n++);Tt.splice(n,0,e),n===0&&Sc(e)}};function ui(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Xl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function jo(){}function jf(e,t,n,l,r){if(r){if(typeof l=="function"){var a=l;l=function(){var u=zl(i);a.call(u)}}var i=Hu(t,l,e,0,null,!1,!1,"",jo);return e._reactRootContainer=i,e[yt]=i.current,ys(e.nodeType===8?e.parentNode:e),ln(),i}for(;r=e.lastChild;)e.removeChild(r);if(typeof l=="function"){var c=l;l=function(){var u=zl(o);c.call(u)}}var o=ii(e,0,!1,null,null,!1,!1,"",jo);return e._reactRootContainer=o,e[yt]=o.current,ys(e.nodeType===8?e.parentNode:e),ln(function(){ql(t,o,n,l)}),o}function Yl(e,t,n,l,r){var a=n._reactRootContainer;if(a){var i=a;if(typeof r=="function"){var c=r;r=function(){var o=zl(i);c.call(o)}}ql(t,i,e,r)}else i=jf(n,t,e,r,l);return zl(i)}yc=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=es(t.pendingLanes);n!==0&&(Pa(t,n|1),Re(t,re()),!(U&6)&&(Mn=re()+500,Vt()))}break;case 13:ln(function(){var l=jt(e,1);if(l!==null){var r=we();nt(l,e,1,r)}}),oi(e,1)}};_a=function(e){if(e.tag===13){var t=jt(e,134217728);if(t!==null){var n=we();nt(t,e,134217728,n)}oi(e,134217728)}};jc=function(e){if(e.tag===13){var t=$t(e),n=jt(e,t);if(n!==null){var l=we();nt(n,e,t,l)}oi(e,t)}};Nc=function(){return Q};kc=function(e,t){var n=Q;try{return Q=e,t()}finally{Q=n}};$r=function(e,t,n){switch(t){case"input":if(Rr(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var l=n[t];if(l!==e&&l.form===e.form){var r=Bl(l);if(!r)throw Error(b(90));Zo(l),Rr(l,r)}}}break;case"textarea":tc(e,n);break;case"select":t=n.value,t!=null&&kn(e,!!n.multiple,t,!1)}};oc=si;cc=ln;var Nf={usingClientEntryPoint:!1,Events:[Rs,mn,Bl,ac,ic,si]},Jn={findFiberByHostInstance:Jt,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},kf={bundleType:Jn.bundleType,version:Jn.version,rendererPackageName:Jn.rendererPackageName,rendererConfig:Jn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:kt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=hc(e),e===null?null:e.stateNode},findFiberByHostInstance:Jn.findFiberByHostInstance||yf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ys=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ys.isDisabled&&Ys.supportsFiber)try{Ol=Ys.inject(kf),it=Ys}catch{}}$e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Nf;$e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ui(t))throw Error(b(200));return vf(e,t,null,n)};$e.createRoot=function(e,t){if(!ui(e))throw Error(b(299));var n=!1,l="",r=Wu;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=ii(e,1,!1,null,null,n,!1,l,r),e[yt]=t.current,ys(e.nodeType===8?e.parentNode:e),new ci(t)};$e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(b(188)):(e=Object.keys(e).join(","),Error(b(268,e)));return e=hc(t),e=e===null?null:e.stateNode,e};$e.flushSync=function(e){return ln(e)};$e.hydrate=function(e,t,n){if(!Xl(t))throw Error(b(200));return Yl(null,e,t,!0,n)};$e.hydrateRoot=function(e,t,n){if(!ui(e))throw Error(b(405));var l=n!=null&&n.hydratedSources||null,r=!1,a="",i=Wu;if(n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),t=Hu(t,null,e,1,n??null,r,!1,a,i),e[yt]=t.current,ys(e),l)for(e=0;e<l.length;e++)n=l[e],r=n._getVersion,r=r(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Jl(t)};$e.render=function(e,t,n){if(!Xl(t))throw Error(b(200));return Yl(null,e,t,!1,n)};$e.unmountComponentAtNode=function(e){if(!Xl(e))throw Error(b(40));return e._reactRootContainer?(ln(function(){Yl(null,null,e,!1,function(){e._reactRootContainer=null,e[yt]=null})}),!0):!1};$e.unstable_batchedUpdates=si;$e.unstable_renderSubtreeIntoContainer=function(e,t,n,l){if(!Xl(n))throw Error(b(200));if(e==null||e._reactInternals===void 0)throw Error(b(38));return Yl(e,t,n,!1,l)};$e.version="18.3.1-next-f1338f8080-20240426";function Vu(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Vu)}catch(e){console.error(e)}}Vu(),Vo.exports=$e;var Qu=Vo.exports;const Fp=Fo(Qu);var No=Qu;wr.createRoot=No.createRoot,wr.hydrateRoot=No.hydrateRoot;const Sf="modulepreload",wf=function(e){return"/admin/mailer/_assets/"+e},ko={},bf=function(t,n,l){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(o=>{if(o=wf(o),o in ko)return;ko[o]=!0;const u=o.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Sf,u||(d.as="script"),d.crossOrigin="",d.href=o,c&&d.setAttribute("nonce",c),document.head.appendChild(d),u)return new Promise((m,v)=>{d.addEventListener("load",m),d.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})}))}function a(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return r.then(i=>{for(const c of i||[])c.status==="rejected"&&a(c.reason);return t().catch(a)})},I=(e,t="0 0 24 24")=>({size:n=16,className:l="icon",...r})=>s.jsx("svg",{width:n,height:n,viewBox:t,fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",className:l,...r,children:e}),M={Home:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 11l9-7 9 7"}),s.jsx("path",{d:"M5 10v10h14V10"})]})),Flows:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"6",r:"2.2"}),s.jsx("circle",{cx:"18",cy:"12",r:"2.2"}),s.jsx("circle",{cx:"6",cy:"18",r:"2.2"}),s.jsx("path",{d:"M8 7l8 4"}),s.jsx("path",{d:"M8 17l8-4"})]})),Template:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2"}),s.jsx("path",{d:"M3.5 9h17"}),s.jsx("path",{d:"M8 14h7"}),s.jsx("path",{d:"M8 17h5"})]})),Broadcast:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 11v2l13 5V6z"}),s.jsx("path",{d:"M16 9a3 3 0 010 6"})]})),Contacts:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9",cy:"9",r:"3.2"}),s.jsx("path",{d:"M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6"}),s.jsx("circle",{cx:"17",cy:"8",r:"2.5"}),s.jsx("path",{d:"M15.5 14.2A5 5 0 0121 19"})]})),Send:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M22 2L11 13"}),s.jsx("path",{d:"M22 2l-7 20-4-9-9-4z"})]})),Shield:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M12 3l8 3v6c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V6z"})})),Audit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 4h11l4 4v12a1 1 0 01-1 1H5a1 1 0 01-1-1V5a1 1 0 011-1z"}),s.jsx("path",{d:"M14 4v5h5"}),s.jsx("path",{d:"M8 13h8"}),s.jsx("path",{d:"M8 16h5"})]})),Health:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 12h4l2-6 4 12 2-6h6"})})),Search:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"11",cy:"11",r:"6.5"}),s.jsx("path",{d:"M20 20l-4-4"})]})),Bell:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 8a6 6 0 1112 0c0 5 2 6 2 6H4s2-1 2-6z"}),s.jsx("path",{d:"M10 19a2 2 0 004 0"})]})),Plus:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 5v14"}),s.jsx("path",{d:"M5 12h14"})]})),Sun:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"4"}),s.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]})),Moon:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M20 14.5A8 8 0 1110.5 4a6 6 0 009.5 10.5z"})})),Chevron:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M9 6l6 6-6 6"})})),ChevronDown:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M6 9l6 6 6-6"})})),Clock:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"8.5"}),s.jsx("path",{d:"M12 7v5l3 2"})]})),Mail:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),s.jsx("path",{d:"M3 7l9 6 9-6"})]})),Branch:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 3v6"}),s.jsx("path",{d:"M6 15v6"}),s.jsx("circle",{cx:"6",cy:"12",r:"2.5"}),s.jsx("path",{d:"M18 3v6"}),s.jsx("circle",{cx:"18",cy:"12",r:"2.5"}),s.jsx("path",{d:"M18 15v6"}),s.jsx("path",{d:"M8.5 12h7"})]})),Tag:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 12l8-8h8v8l-8 8z"}),s.jsx("circle",{cx:"14.5",cy:"9.5",r:"1.2"})]})),Exit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 17l5-5-5-5"}),s.jsx("path",{d:"M21 12H9"}),s.jsx("path",{d:"M12 21H5a2 2 0 01-2-2V5a2 2 0 012-2h7"})]})),Webhook:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"18",r:"2.5"}),s.jsx("circle",{cx:"18",cy:"18",r:"2.5"}),s.jsx("circle",{cx:"12",cy:"6",r:"2.5"}),s.jsx("path",{d:"M8 17l3-6"}),s.jsx("path",{d:"M16 17l-3-6"})]})),Play:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M7 4v16l13-8z"})})),Pause:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"6",y:"4",width:"4",height:"16"}),s.jsx("rect",{x:"14",y:"4",width:"4",height:"16"})]})),Filter:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 4h18l-7 9v6l-4 2v-8z"})})),Download:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 4v12"}),s.jsx("path",{d:"M7 11l5 5 5-5"}),s.jsx("path",{d:"M4 20h16"})]})),Eye:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"}),s.jsx("circle",{cx:"12",cy:"12",r:"3"})]})),Cursor:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M5 3l14 8-6 2-2 6z"})})),Edit:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.1 2.1 0 113 3L7 19l-4 1 1-4z"})]})),Copy:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"8",y:"8",width:"13",height:"13",rx:"2"}),s.jsx("path",{d:"M16 8V4a2 2 0 00-2-2H4a2 2 0 00-2 2v10a2 2 0 002 2h4"})]})),Code:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 18l6-6-6-6"}),s.jsx("path",{d:"M8 6l-6 6 6 6"})]})),Dots:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6",cy:"12",r:"1.5"}),s.jsx("circle",{cx:"12",cy:"12",r:"1.5"}),s.jsx("circle",{cx:"18",cy:"12",r:"1.5"})]})),Settings:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"3"}),s.jsx("path",{d:"M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"})]})),Help:I(s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"9"}),s.jsx("path",{d:"M9.5 9.5a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 3.5"}),s.jsx("circle",{cx:"12",cy:"17",r:"0.6",fill:"currentColor"})]})),Check:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M4 12l5 5 11-11"})})),X:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 6l12 12"}),s.jsx("path",{d:"M18 6L6 18"})]})),Calendar:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"5",width:"18",height:"16",rx:"2"}),s.jsx("path",{d:"M3 10h18"}),s.jsx("path",{d:"M8 3v4M16 3v4"})]})),Warn:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 3l10 18H2z"}),s.jsx("path",{d:"M12 10v5"}),s.jsx("circle",{cx:"12",cy:"18",r:"0.6",fill:"currentColor"})]})),Activity:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M3 12h4l3-9 4 18 3-9h4"})})),Rocket:I(s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 19c0-3 1-6 6-11l4 4c-5 5-8 6-11 6 0-3 0-3 1-6"}),s.jsx("path",{d:"M14 6l4 4"}),s.jsx("circle",{cx:"15",cy:"9",r:"1.5"})]})),Grid:I(s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),s.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})),Sparkles:I(s.jsx(s.Fragment,{children:s.jsx("path",{d:"M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2 2M16 16l2 2M16 8l2-2M6 18l2-2"})}))},Cf={healthy:{text:"Healthy",cls:"dot green"},degraded:{text:"Degraded",cls:"dot amber"},tripped:{text:"Tripped",cls:"dot red"}},Ef={text:"No telemetry yet",cls:"dot"};function Xn(e){if(e!=null)return e>=1e4?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function Tf({route:e,setRoute:t,me:n}){const l=({icon:c,label:o,badge:u,screen:h})=>s.jsxs("div",{className:"sidebar-link"+(e.screen===h?" active":""),onClick:()=>t({screen:h}),children:[s.jsx(c,{className:"icon"}),s.jsx("span",{children:o}),u!=null&&s.jsx("span",{className:"sidebar-link-badge",children:u})]}),r=n==null?void 0:n.counts,a=(n==null?void 0:n.health.status)??null,i=n?a?Cf[a]??{text:a,cls:"dot"}:Ef:{text:"…",cls:"dot"};return s.jsxs("aside",{className:"sidebar",children:[s.jsxs("div",{className:"sidebar-brand",children:[s.jsx("div",{className:"sidebar-brand-logo",children:"M"}),s.jsx("div",{className:"sidebar-brand-name",children:"Mailery"})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Overview"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Home,label:"Dashboard",screen:"dashboard"}),s.jsx(l,{icon:M.Health,label:"Health",screen:"health"})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Compose"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Flows,label:"Flows",screen:"flows",badge:Xn(r==null?void 0:r.flows)}),s.jsx(l,{icon:M.Template,label:"Templates",screen:"templates",badge:Xn(r==null?void 0:r.templates)}),s.jsx(l,{icon:M.Broadcast,label:"Broadcasts",screen:"broadcasts",badge:Xn(r==null?void 0:r.broadcasts)})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Audience"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Contacts,label:"Contacts",screen:"contacts",badge:Xn(r==null?void 0:r.contacts)}),s.jsx(l,{icon:M.Shield,label:"Suppressions",screen:"suppressions",badge:Xn(r==null?void 0:r.suppressions)}),s.jsx(l,{icon:M.Audit,label:"List hygiene",screen:"hygiene"})]})]}),s.jsxs("div",{className:"sidebar-section",children:[s.jsx("div",{className:"sidebar-section-title",children:"Activity"}),s.jsxs("nav",{className:"sidebar-nav",children:[s.jsx(l,{icon:M.Send,label:"Sends",screen:"sends"}),s.jsx(l,{icon:M.Audit,label:"Audit log",screen:"audit"})]})]}),s.jsxs("div",{className:"sidebar-footer",children:[s.jsx("span",{className:i.cls}),s.jsx("span",{children:n?i.text:"…"}),n&&s.jsx("span",{style:{marginLeft:"auto"},className:"mono text-xs",children:n.providers.default})]})]})}function Pf({crumbs:e,theme:t,setTheme:n,right:l}){return s.jsxs("div",{className:"topbar",children:[s.jsx("div",{className:"crumb",children:e.map((r,a)=>s.jsxs(E.Fragment,{children:[a>0&&s.jsx(M.Chevron,{className:"crumb-sep icon",size:12}),s.jsx("span",{className:a===e.length-1?"crumb-current":"",children:r})]},a))}),s.jsx("div",{className:"topbar-spacer"}),l,s.jsx("button",{className:"icon-btn",onClick:()=>n(t==="dark"?"light":"dark"),title:"Toggle theme",children:t==="dark"?s.jsx(M.Sun,{size:15}):s.jsx(M.Moon,{size:15})})]})}function Fe({title:e,desc:t,actions:n}){return s.jsxs("div",{className:"page-head",children:[s.jsxs("div",{children:[s.jsx("h1",{children:e}),t&&s.jsx("div",{className:"page-desc",children:t})]}),n&&s.jsx("div",{className:"right",children:n})]})}function Ut({status:e}){const n={healthy:{cls:"green",label:"Healthy"},degraded:{cls:"amber",label:"Degraded"},tripped:{cls:"red",label:"Tripped"},sent:{cls:"green",label:"Sent"},delivered:{cls:"green",label:"Delivered"},opened:{cls:"blue",label:"Opened"},clicked:{cls:"violet",label:"Clicked"},queued:{cls:"neutral",label:"Queued"},sending:{cls:"blue",label:"Sending"},bounced:{cls:"red",label:"Bounced"},failed:{cls:"red",label:"Failed"},suppressed:{cls:"amber",label:"Suppressed"},complained:{cls:"red",label:"Complained"},enabled:{cls:"green",label:"Enabled"},disabled:{cls:"neutral",label:"Disabled"},paused:{cls:"amber",label:"Paused"},draft:{cls:"neutral",label:"Draft"},scheduled:{cls:"blue",label:"Scheduled"},active:{cls:"green",label:"Active"},completed:{cls:"neutral",label:"Completed"},subscribed:{cls:"green",label:"Subscribed"},unsubscribed:{cls:"neutral",label:"Unsubscribed"}}[e]??{cls:"neutral",label:e};return s.jsxs("span",{className:"pill "+n.cls,children:[s.jsx("span",{className:"dot"}),n.label]})}const Ku="/admin/mailer/api";async function $(e,t){const n=await fetch(`${Ku}${e}`,{credentials:"same-origin",headers:{"Content-Type":"application/json",...(t==null?void 0:t.headers)??{}},...t});if(!n.ok)throw await _f(n);return n.json()}async function _f(e){let t=null;try{t=await e.json()}catch{}const n=[t==null?void 0:t.message,t==null?void 0:t.hint].filter(Boolean).join(" "),l=new Error(n||`${e.status} ${e.statusText}`);return l.status=e.status,l.body=t,l}const D={me:()=>$("/me"),dashboard:()=>$("/dashboard"),events:()=>$("/events"),flows:()=>$("/flows"),flow:e=>$(`/flows/${encodeURIComponent(e)}`),createFlow:e=>$("/flows",{method:"POST",body:JSON.stringify(e)}),updateFlowDraft:(e,t)=>$(`/flows/${e}/draft`,{method:"PATCH",body:JSON.stringify(t)}),publishFlow:e=>$(`/flows/${e}/publish`,{method:"POST"}),deleteFlow:e=>$(`/flows/${e}`,{method:"DELETE"}),pauseFlow:e=>$(`/flows/${e}/pause`,{method:"POST"}),resumeFlow:e=>$(`/flows/${e}/resume`,{method:"POST"}),templates:()=>$("/templates"),template:e=>$(`/templates/${e}`),createTemplate:e=>$("/templates",{method:"POST",body:JSON.stringify(e)}),updateTemplateDraft:(e,t)=>$(`/templates/${e}/draft`,{method:"PATCH",body:JSON.stringify(t)}),publishTemplate:(e,t)=>$(`/templates/${e}/publish`,{method:"POST",body:t?JSON.stringify(t):void 0}),previewTemplate:(e,t)=>$(`/templates/${e}/preview`,{method:"POST",body:JSON.stringify(t)}),sendTestTemplate:(e,t)=>$(`/templates/${e}/send-test`,{method:"POST",body:JSON.stringify(t)}),varsSchema:()=>$("/vars-schema"),broadcasts:()=>$("/broadcasts"),broadcast:e=>$(`/broadcasts/${e}`),createBroadcast:e=>$("/broadcasts",{method:"POST",body:JSON.stringify(e)}),updateBroadcast:(e,t)=>$(`/broadcasts/${e}`,{method:"PATCH",body:JSON.stringify(t)}),countSegment:(e,t)=>$(`/broadcasts/${e}/segment/count`,{method:"POST",body:JSON.stringify({segmentDefinition:t})}),scheduleBroadcast:(e,t)=>$(`/broadcasts/${e}/schedule`,{method:"POST",body:JSON.stringify(t)}),cancelBroadcast:e=>$(`/broadcasts/${e}/cancel`,{method:"POST"}),contacts:e=>$(`/contacts${e?`?cursor=${e}`:""}`),contact:e=>$(`/contacts/${encodeURIComponent(e)}`),sends:e=>$(`/sends${e?`?status=${e}`:""}`),send:e=>$(`/sends/${e}`),suppressions:()=>$("/suppressions"),addSuppression:e=>$("/suppressions",{method:"POST",body:JSON.stringify(e)}),audit:()=>$("/audit"),health:()=>$("/health"),healthTrips:()=>$("/health/trips"),resumeHealth:e=>$("/health/resume",{method:"POST",body:e?JSON.stringify(e):void 0}),setupStatus:()=>$("/setup-status"),dnsbl:()=>$("/dnsbl"),recheckDnsbl:()=>$("/dnsbl/recheck",{method:"POST"}),postmaster:()=>$("/postmaster"),refreshPostmaster:()=>$("/postmaster/refresh",{method:"POST"}),snds:()=>$("/snds"),refreshSnds:()=>$("/snds/refresh",{method:"POST"}),dmarc:()=>$("/dmarc"),uploadDmarc:async e=>{const t=new FormData;t.append("file",e);const n=await fetch(`${Ku}/dmarc/upload`,{method:"POST",credentials:"same-origin",body:t});if(!n.ok)throw new Error(`upload failed: ${n.status} ${await n.text()}`);return n.json()},hygiene:()=>$("/hygiene"),mailTesterStatus:e=>$(`/templates/${encodeURIComponent(e)}/mail-tester`),startMailTesterCheck:e=>$(`/templates/${encodeURIComponent(e)}/mail-tester-check`,{method:"POST"}),fetchMailTesterResult:(e,t)=>$(`/templates/${encodeURIComponent(e)}/mail-tester-result?checkId=${encodeURIComponent(t)}`),lintTemplate:(e,t,n)=>$(`/templates/${encodeURIComponent(e)}/lint`,{method:"POST",body:JSON.stringify(t),signal:n}),tagDmarcSource:(e,t)=>$(`/dmarc/sources/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),untagDmarcSource:e=>$(`/dmarc/sources/${encodeURIComponent(e)}`,{method:"DELETE"})};function V(e,t=[]){const[n,l]=Ge.useState(void 0),[r,a]=Ge.useState(!0),[i,c]=Ge.useState(null),[o,u]=Ge.useState(0),h=Ge.useRef(!0),d=Ge.useRef(e);return d.current=e,Ge.useEffect(()=>(h.current=!0,a(!0),d.current().then(m=>{h.current&&(l(m),c(null))}).catch(m=>{h.current&&c(m)}).finally(()=>{h.current&&a(!1)}),()=>{h.current=!1}),[o,...t]),{data:n,loading:r,error:i,refetch:()=>u(m=>m+1)}}function Rf(){const[e,t]=E.useState(null),[n,l]=E.useState(!1),[r,a]=E.useState(null);if(E.useEffect(()=>{let d=!1;async function m(){try{const g=await D.setupStatus();d||(t(g),a(null))}catch(g){d||a((g==null?void 0:g.message)??"failed to load setup status")}}m();const v=window.setInterval(m,6e4);return()=>{d=!0,window.clearInterval(v)}},[]),r)return s.jsx("div",{className:"card",style:wo("error"),children:s.jsx(So,{severity:"error",label:"Setup checks failed to load",detail:r})});if(!e)return null;const i=e.checks.filter(d=>d.severity!=="ok");if(i.length===0)return null;const c=i.filter(d=>d.severity==="error").length,o=i.filter(d=>d.severity==="warn").length,u=c>0?"error":"warn",h=c>0&&o>0?`${c} error${c===1?"":"s"}, ${o} warning${o===1?"":"s"}`:c>0?`${c} setup error${c===1?"":"s"}`:`${o} setup warning${o===1?"":"s"}`;return s.jsxs("div",{className:"card",style:wo(u),children:[s.jsxs("button",{type:"button",onClick:()=>l(d=>!d),style:{width:"100%",background:"transparent",border:"none",padding:12,textAlign:"left",cursor:"pointer",display:"flex",alignItems:"center",gap:10,color:"inherit",font:"inherit"},children:[s.jsx(So,{severity:u,label:h}),s.jsx("span",{className:"grow"}),s.jsxs("span",{className:"text-xs subtle",children:[n?"Hide":"Show"," details"]}),s.jsx(M.Chevron,{size:14,style:{transform:n?"rotate(90deg)":"rotate(0deg)"}})]}),n&&s.jsx("div",{style:{borderTop:"1px solid var(--border)",padding:"8px 12px"},children:i.map(d=>s.jsx(Lf,{c:d},d.name))})]})}function Lf({c:e}){return s.jsxs("div",{style:{padding:"8px 0",borderBottom:"1px dashed var(--border)"},children:[s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx(qu,{severity:e.severity}),s.jsx("span",{className:"text-sm",style:{fontWeight:600},children:e.label}),s.jsx("span",{className:"text-sm subtle",children:"·"}),s.jsx("span",{className:"text-sm",children:e.message})]}),e.hint&&s.jsx("div",{className:"text-xs subtle",style:{marginLeft:18,marginTop:4},children:e.hint})]})}function So({severity:e,label:t,detail:n}){return s.jsxs(s.Fragment,{children:[s.jsx(qu,{severity:e}),s.jsx("span",{style:{fontWeight:600},children:t}),n&&s.jsx("span",{className:"text-xs subtle",style:{marginLeft:8},children:n})]})}function qu({severity:e}){const t=e==="error"?"var(--red-fg)":e==="warn"?"var(--amber-fg)":"var(--green-fg)";return s.jsx("span",{style:{width:8,height:8,borderRadius:4,background:t,display:"inline-block"}})}function wo(e){const t=e==="error"?"var(--red-fg)":e==="warn"?"var(--amber-fg)":"var(--border)",n=e==="error"?"var(--red-bg, rgba(239,68,68,0.06))":e==="warn"?"var(--amber-bg, rgba(245,158,11,0.06))":"transparent";return{marginBottom:16,borderLeft:`3px solid ${t}`,background:n,overflow:"hidden"}}function Le({loading:e,error:t,empty:n,emptyLabel:l="No data yet.",retry:r,children:a}){return e?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Loading…"}):t?s.jsxs("div",{className:"text-xs",style:{padding:16,color:"var(--red-fg)"},children:["Failed to load: ",t.message,r&&s.jsx("button",{className:"btn btn-sm",style:{marginLeft:8},onClick:r,children:"Retry"})]}):n?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:l}):s.jsx(s.Fragment,{children:a})}function q({colSpan:e,label:t="No data yet."}){return s.jsx("tr",{children:s.jsx("td",{colSpan:e,className:"subtle text-xs",style:{padding:16,textAlign:"center"},children:t})})}function Ff(e){return!e||e.length===0?"no providers":e.length===1?`provider: ${e[0]}`:e.length<=3?`providers: ${e.join(", ")}`:`providers: ${e.slice(0,2).join(", ")} +${e.length-2}`}function Mf({data:e,color:t="var(--accent)",height:n=36}){if(!e||e.length<2)return null;const l=200,r=n,a=Math.max(...e),i=Math.min(...e),c=a-i||1,o=e.map((h,d)=>`${d/(e.length-1)*l},${r-(h-i)/c*(r-4)-2}`).join(" "),u=`0,${r} ${o} ${l},${r}`;return s.jsxs("svg",{viewBox:`0 0 ${l} ${r}`,preserveAspectRatio:"none",className:"spark",style:{height:n},children:[s.jsx("defs",{children:s.jsxs("linearGradient",{id:"sg",x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:t,stopOpacity:"0.22"}),s.jsx("stop",{offset:"100%",stopColor:t,stopOpacity:"0"})]})}),s.jsx("polygon",{points:u,fill:"url(#sg)"}),s.jsx("polyline",{points:o,fill:"none",stroke:t,strokeWidth:"1.5"})]})}function zf({a:e,b:t,height:n=200}){const r=n;if(!e||!t||e.length===0)return s.jsx("div",{className:"text-xs subtle",style:{padding:16,textAlign:"center"},children:"No activity in the last 24h."});const a=Math.max(...e,...t,1),i=d=>d/(e.length-1)*688+24,c=d=>r-28-d/a*(r-52),o=e.map((d,m)=>`${m?"L":"M"}${i(m)},${c(d)}`).join(" "),u=t.map((d,m)=>`${m?"L":"M"}${i(m)},${c(d)}`).join(" "),h=`M${i(0)},${r-28} ${e.map((d,m)=>`L${i(m)},${c(d)}`).join(" ")} L${i(e.length-1)},${r-28} Z`;return s.jsxs("svg",{viewBox:`0 0 720 ${r}`,style:{width:"100%",height:n},className:"chart-axis",children:[s.jsx("g",{className:"chart-grid",children:[0,.25,.5,.75,1].map(d=>s.jsx("line",{x1:"24",x2:712,y1:28+(r-56)*d,y2:28+(r-56)*d},d))}),[0,.25,.5,.75,1].map(d=>s.jsx("text",{x:"6",y:28+(r-56)*d+3,children:Math.round(a*(1-d))},d)),["00","04","08","12","16","20","24"].map((d,m)=>s.jsx("text",{x:24+m/6*688,y:r-10,textAnchor:"middle",children:d},d)),s.jsx("defs",{children:s.jsxs("linearGradient",{id:"ag",x1:"0",y1:"0",x2:"0",y2:"1",children:[s.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.28"}),s.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),s.jsx("path",{d:h,fill:"url(#ag)"}),s.jsx("path",{d:o,fill:"none",stroke:"var(--accent)",strokeWidth:"1.75"}),s.jsx("path",{d:u,fill:"none",stroke:"var(--blue)",strokeWidth:"1.75",strokeDasharray:"3 3"})]})}function Df({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.dashboard()),{data:a}=V(()=>D.me()),i=o=>o==null?"—":`${(o*100).toFixed(1)}%`,c=(o,u="pct")=>{if(o==null)return null;const h=o>=0?"▲":"▼",d=Math.abs(o),m=u==="pp"?`${(d*100).toFixed(2)}pp`:`${(d*100).toFixed(1)}%`;return s.jsxs("span",{className:"kpi-delta "+(o>=0?"up":"down"),children:[h," ",m]})};return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Dashboard",desc:`Last 24 hours · ${Ff(a==null?void 0:a.providers.names)}`,actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>e({screen:"broadcast-new"}),children:[s.jsx(M.Plus,{size:14}),"New broadcast"]})}),s.jsx(Rf,{}),s.jsx(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:t&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Sends"}),s.jsx("div",{className:"kpi-value",children:t.kpis.sends.value.toLocaleString()}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.sends.delta),s.jsx("span",{children:"vs. prev 24h"})]}),s.jsx("div",{style:{position:"absolute",right:-2,bottom:-2,width:120,opacity:.7},children:s.jsx(Mf,{data:[...t.series.hourly.sends].reverse()})})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Delivered"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.deliveredRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.deliveredRate.delta,"pp"),s.jsxs("span",{children:[t.kpis.deliveredRate.bounced," bounced"]})]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Open rate"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.openRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.openRate.delta,"pp"),s.jsx("span",{children:"vs. prev 24h"})]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Click rate"}),s.jsx("div",{className:"kpi-value",children:i(t.kpis.clickRate.value)}),s.jsxs("div",{className:"kpi-meta",children:[c(t.kpis.clickRate.delta,"pp"),s.jsx("span",{children:"vs. prev 24h"})]})]})]}),s.jsxs("div",{className:"split split-asym",style:{marginBottom:16},children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Send & open activity"}),s.jsx("span",{className:"card-sub",children:"UTC · last 24h"})]}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"hstack",style:{marginBottom:8},children:[s.jsxs("span",{className:"hstack text-xs",children:[s.jsx("span",{className:"status-dot",style:{background:"var(--accent)"}}),"Sends"]}),s.jsxs("span",{className:"hstack text-xs",children:[s.jsx("span",{className:"status-dot",style:{background:"var(--blue)",boxShadow:"none"}}),"Opens"]})]}),s.jsx(zf,{a:[...t.series.hourly.sends].reverse(),b:[...t.series.hourly.opens].reverse()})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Health"}),s.jsx("div",{className:"card-actions",children:s.jsxs("span",{className:"pill "+(t.health.status==="healthy"?"green":t.health.status==="tripped"?"red":t.health.status==="degraded"?"amber":"neutral"),children:[s.jsx("span",{className:"dot"}),t.health.status??"no telemetry"]})})]}),s.jsxs("div",{className:"card-body",children:[s.jsx("div",{style:{display:"grid",gap:12},children:(()=>{const o=t.health.thresholds??{},u=t.health.rates,h=(v,g)=>{if(v==null||g==null)return"neutral";const S=v*100;return S>=g?"red":S>=g/2?"amber":"green"},d=(v,g)=>v==null?"—":`${g==="degrade"?"degrade":"trip"} ${v}%`;return[{label:"Hard bounce / 1h",rate:(u==null?void 0:u.hardBounceRate)??null,trip:o.hardBounceRatePctTrip,kind:"trip"},{label:"Complaint / 1h",rate:(u==null?void 0:u.complaintRate)??null,trip:o.complaintRatePctTrip,kind:"trip"},{label:"Combined bounce",rate:(u==null?void 0:u.combinedBounceRate)??(u==null?void 0:u.bounceRate)??null,trip:o.combinedBounceRatePctTrip,kind:"trip"},{label:"Failed-to-send",rate:(u==null?void 0:u.failureRate)??null,trip:o.failedToSendRatePctDegrade,kind:"degrade"}].map(v=>s.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[s.jsx("span",{className:"text-xs subtle",children:v.label}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"f600 tabular",children:v.rate==null?"—":i(v.rate)}),s.jsx("span",{className:"pill "+h(v.rate,v.trip),style:{fontSize:10.5},children:d(v.trip,v.kind)})]},v.label))})()}),s.jsx("div",{className:"divider"}),s.jsx("div",{className:"text-xs subtle",style:{marginBottom:6},children:"Queue"}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsx("span",{className:"text-sm",children:"Jobs in flight"}),s.jsx("span",{className:"mono",children:t.queue.inFlight==null?"—":t.queue.inFlight.toLocaleString()})]}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsx("span",{className:"text-sm",children:"Delayed (scheduled)"}),s.jsx("span",{className:"mono",children:t.queue.delayed==null?"—":t.queue.delayed.toLocaleString()})]}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[s.jsxs("span",{className:"text-sm",children:["Provider · ",t.queue.providerName]}),s.jsxs("span",{className:"pill "+(t.queue.providerOk==null?"neutral":t.queue.providerOk?"green":"red"),style:{fontSize:10.5},children:[s.jsx("span",{className:"dot"})," ",t.queue.providerOk==null?"—":t.queue.providerOk?"OK":"errors"]})]})]})]})]}),s.jsxs("div",{className:"split split-2",style:{marginBottom:16},children:[s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Active flows"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"flows"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Trigger"}),s.jsx("th",{className:"num",children:"Active"}),s.jsx("th",{className:"num",children:"Sends 7d"})]})}),s.jsx("tbody",{children:t.recentFlows.length===0?s.jsx(q,{colSpan:4,label:"No active flows."}):t.recentFlows.slice(0,5).map(o=>{var u,h,d,m;return s.jsxs("tr",{onClick:()=>e({screen:"flow-detail",slug:o.slug}),children:[s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:o.name}),s.jsx("div",{className:"text-xs subtle mono",children:o.slug})]}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:((u=o.trigger)==null?void 0:u.eventName)??((h=o.trigger)==null?void 0:h.type)??"—"})}),s.jsx("td",{className:"num tabular",children:((d=o.stats)==null?void 0:d.activeRuns)??0}),s.jsx("td",{className:"num tabular",children:((m=o.stats)==null?void 0:m.sendsLast7Days)??0})]},o.slug)})})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent sends"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"sends"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"To"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:t.recentSends.length===0?s.jsx(q,{colSpan:4,label:"No sends yet."}):t.recentSends.slice(0,6).map(o=>s.jsxs("tr",{onClick:()=>e({screen:"send-detail",id:String(o._id)}),children:[s.jsx("td",{className:"mono",children:o.templateSlug??"—"}),s.jsx("td",{className:"text-xs",children:o.emailAtSend??"—"}),s.jsx("td",{children:s.jsx(Ut,{status:o.status})}),s.jsx("td",{className:"text-xs subtle",children:o.queuedAt?new Date(o.queuedAt).toLocaleTimeString():""})]},o._id))})]})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent audit log"}),s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-ghost",onClick:()=>e({screen:"audit"}),children:["View all",s.jsx(M.Chevron,{size:12})]})})]}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Actor"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Resource"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:t.recentAudit.length===0?s.jsx(q,{colSpan:5,label:"No audit events yet."}):t.recentAudit.slice(0,5).map((o,u)=>s.jsxs("tr",{children:[s.jsx("td",{className:"text-xs mono",children:o.actor}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:o.action})}),s.jsx("td",{className:"mono text-xs",children:Of(o.resource)}),s.jsx("td",{className:"text-xs subtle",children:o.diffSummary??""}),s.jsx("td",{className:"text-xs subtle",children:o.occurredAt?new Date(o.occurredAt).toLocaleString():""})]},u))})]})]})]})})]})}function Of(e){return e?typeof e=="string"?e:e.slug?`${(e.collection??"").replace("mailer_","")}/${e.slug}`:e.id?`${(e.collection??"").replace("mailer_","")}/${String(e.id).slice(-8)}`:e.collection??"":""}function $f({setRoute:e}){const[t,n]=E.useState("all"),{data:l,loading:r,error:a,refetch:i}=V(()=>D.flows()),c=l??[],[o,u]=E.useState(!1),[h,d]=E.useState({slug:"",name:"",eventName:"",goal:"activation"}),[m,v]=E.useState(null);async function g(N){N.preventDefault(),v(null);try{await D.createFlow({slug:h.slug.trim(),name:h.name.trim(),trigger:{eventName:h.eventName.trim(),once:!0},goal:h.goal}),u(!1),d({slug:"",name:"",eventName:"",goal:"activation"}),i()}catch(p){v(String((p==null?void 0:p.message)??p))}}const S=c.filter(N=>t==="all"?!0:t==="enabled"?N.enabled:!N.enabled);return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Flows",desc:"Event-triggered automations.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>u(!0),children:[s.jsx(M.Plus,{size:14}),"New flow"]})}),o&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"New flow"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>u(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:g,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"welcome-series",value:h.slug,onChange:N=>d({...h,slug:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"Welcome Series",value:h.name,onChange:N=>d({...h,name:N.target.value}),required:!0})]})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Trigger event"}),s.jsx("input",{className:"input",placeholder:"Created",value:h.eventName,onChange:N=>d({...h,eventName:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Goal"}),s.jsxs("select",{className:"select",value:h.goal,onChange:N=>d({...h,goal:N.target.value}),children:[s.jsx("option",{children:"activation"}),s.jsx("option",{children:"conversion"}),s.jsx("option",{children:"retention"}),s.jsx("option",{children:"reactivation"}),s.jsx("option",{children:"transactional"})]})]})]}),m&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:m}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",children:"Create (disabled, draft only)"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>u(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"tabs",children:[s.jsxs("div",{className:"tab"+(t==="all"?" active":""),onClick:()=>n("all"),children:["All",s.jsx("span",{className:"tab-count",children:c.length})]}),s.jsxs("div",{className:"tab"+(t==="enabled"?" active":""),onClick:()=>n("enabled"),children:["Enabled",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.enabled).length})]}),s.jsxs("div",{className:"tab"+(t==="disabled"?" active":""),onClick:()=>n("disabled"),children:["Disabled",s.jsx("span",{className:"tab-count",children:c.filter(N=>!N.enabled).length})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:r&&!l,error:a,empty:!!l&&S.length===0,emptyLabel:"No flows yet.",retry:i,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:32}}),s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Trigger"}),s.jsx("th",{children:"Goal"}),s.jsx("th",{className:"num",children:"Active runs"}),s.jsx("th",{className:"num",children:"Sends 7d"}),s.jsx("th",{children:"Version"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:S.length===0?s.jsx(q,{colSpan:8,label:"No flows yet."}):S.map(N=>{var p,f;return s.jsxs("tr",{onClick:()=>e({screen:"flow-detail",slug:N.slug}),children:[s.jsx("td",{children:s.jsx("span",{className:"status-dot "+(N.enabled?"green":"gray")})}),s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:N.name}),s.jsx("div",{className:"text-xs subtle mono",children:N.slug})]}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:If(N)})}),s.jsx("td",{children:N.goal?s.jsx("span",{className:"pill "+Af(N.goal),children:N.goal}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num tabular",children:((p=N.stats)==null?void 0:p.activeRuns)??0}),s.jsx("td",{className:"num tabular",children:((f=N.stats)==null?void 0:f.sendsLast7Days)??0}),s.jsxs("td",{className:"mono text-xs",children:["v",N.version??1]}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},N.slug)})})]})})})]})}function Af(e){switch(e){case"activation":return"green";case"conversion":return"violet";case"retention":return"blue";case"reactivation":return"amber";case"transactional":return"neutral";default:return"neutral"}}function If(e){var t,n,l;return typeof e.trigger=="string"?e.trigger:((t=e.trigger)==null?void 0:t.type)==="event"?`event: ${e.trigger.eventName}`:(n=e.trigger)!=null&&n.eventName?`event: ${e.trigger.eventName}`:((l=e.trigger)==null?void 0:l.type)??"—"}const Bf=[{value:"wait",label:"Wait",icon:"Clock",iconClass:"wait",description:"Pause the run for a duration before continuing."},{value:"condition",label:"Condition",icon:"Branch",iconClass:"condition",description:"Evaluate a predicate. Exit or skip on false."},{value:"branch",label:"Branch",icon:"Branch",iconClass:"condition",description:"Evaluate a predicate. Recurse into one of two sub-lists."},{value:"send",label:"Send",icon:"Mail",iconClass:"send",description:"Send a template to the contact."},{value:"tag",label:"Tag",icon:"Tag",iconClass:"tag",description:"Add or remove tags on the contact."},{value:"fire_event",label:"Fire event",icon:"Activity",iconClass:"send",description:"Insert a synthetic event (cross-flow handoff)."},{value:"webhook",label:"Webhook",icon:"Webhook",iconClass:"tag",description:"POST to an external URL."},{value:"exit",label:"Exit",icon:"Exit",iconClass:"exit",description:"End the run with an optional reason."}];function Uf(e){switch(e){case"wait":return{type:"wait",value:1,unit:"days"};case"condition":return{type:"condition",test:{hasTag:"engaged"},ifFalse:"exit"};case"branch":return{type:"branch",test:{hasTag:"vip"},ifTrueSteps:[],ifFalseSteps:[]};case"send":return{type:"send",templateSlug:""};case"tag":return{type:"tag",addTags:[],removeTags:[]};case"fire_event":return{type:"fire_event",eventName:""};case"webhook":return{type:"webhook",url:"",method:"POST"};case"exit":return{type:"exit"}}}const Ju=[{value:"hasTag",label:"has tag"},{value:"notHasTag",label:"does NOT have tag"},{value:"fieldEquals",label:"field equals"},{value:"fieldExists",label:"field exists"},{value:"triggerPropertyEquals",label:"trigger property equals"},{value:"triggerPropertyTruthy",label:"trigger property is set"},{value:"hasFiredEvent",label:"fired event"},{value:"notHasFiredEvent",label:"has NOT fired event"},{value:"subscriptionStatus",label:"subscription status"},{value:"hasOpened",label:"opened",noisy:!0},{value:"hasClicked",label:"clicked",noisy:!0},{value:"hasOpenedExcludingBots",label:"opened (excl. bots)"},{value:"hasClickedExcludingBots",label:"clicked (excl. bots)"},{value:"openedAtLeastN",label:"opened at least N"},{value:"clickedAtLeastN",label:"clicked at least N"}];function Hf(e){if(!e)return null;for(const t of Ju)if(t.value in e)return t.value;return null}function Wf(e){switch(e){case"hasTag":return{hasTag:"engaged"};case"notHasTag":return{notHasTag:"cold"};case"fieldEquals":return{fieldEquals:{field:"tier",value:"Pro"}};case"fieldExists":return{fieldExists:"tier"};case"triggerPropertyEquals":return{triggerPropertyEquals:{key:"plan",value:"pro"}};case"triggerPropertyTruthy":return{triggerPropertyTruthy:"wasReferred"};case"hasFiredEvent":return{hasFiredEvent:"Activated app"};case"notHasFiredEvent":return{notHasFiredEvent:"Cancelled"};case"subscriptionStatus":return{subscriptionStatus:"subscribed"};case"hasOpened":return{hasOpened:{sinceFlowStart:!0}};case"hasClicked":return{hasClicked:{sinceFlowStart:!0}};case"hasOpenedExcludingBots":return{hasOpenedExcludingBots:{sinceFlowStart:!0}};case"hasClickedExcludingBots":return{hasClickedExcludingBots:{sinceFlowStart:!0}};case"openedAtLeastN":return{openedAtLeastN:{count:1,withinDays:7}};case"clickedAtLeastN":return{clickedAtLeastN:{count:1,withinDays:7}}}}const Vf=[{value:"subscriptionStatus",label:"Subscription status",side:"mailer"},{value:"hasTag",label:"Has tag",side:"host"},{value:"notHasTag",label:"Does NOT have tag",side:"host"},{value:"fieldEquals",label:"Field equals",side:"host"},{value:"fieldIn",label:"Field in list",side:"host"},{value:"fieldExists",label:"Field exists",side:"host"},{value:"firedEvent",label:"Fired event",side:"mailer"},{value:"notFiredEvent",label:"Has NOT fired event",side:"mailer"},{value:"subscribedAfter",label:"Subscribed after",side:"mailer"},{value:"subscribedBefore",label:"Subscribed before",side:"mailer"},{value:"opened",label:"Opened",side:"mailer"},{value:"notOpened",label:"Did NOT open",side:"mailer"},{value:"any",label:"Any of (OR)",side:"composite"},{value:"not",label:"NOT",side:"composite"}];function bo(e){switch(e){case"subscriptionStatus":return{kind:"subscriptionStatus",equals:"subscribed"};case"hasTag":return{kind:"hasTag",tag:""};case"notHasTag":return{kind:"notHasTag",tag:""};case"fieldEquals":return{kind:"fieldEquals",field:"",value:""};case"fieldIn":return{kind:"fieldIn",field:"",values:[]};case"fieldExists":return{kind:"fieldExists",field:""};case"firedEvent":return{kind:"firedEvent",eventName:"",withinDays:30};case"notFiredEvent":return{kind:"notFiredEvent",eventName:"",withinDays:90};case"subscribedAfter":return{kind:"subscribedAfter",date:new Date(Date.now()-30*864e5)};case"subscribedBefore":return{kind:"subscribedBefore",date:new Date};case"opened":return{kind:"opened",withinDays:14};case"notOpened":return{kind:"notOpened",withinDays:14};case"any":return{kind:"any",filters:[]};case"not":return{kind:"not",filter:{kind:"hasTag",tag:""}}}}const dl=Bf;function Qf(e,t){var i,c,o;const n=dl.find(u=>u.value===e.type)??dl[dl.length-1];let l=n.label,r="",a;switch(e.type){case"wait":r=`${e.value} ${e.unit}`;break;case"condition":l="If: "+(Co(e.test)||"predicate"),r=`if false: ${e.ifFalse}`;break;case"branch":l="Branch: "+(Co(e.test)||"predicate"),r=`${(e.ifTrueSteps??[]).length} true / ${(e.ifFalseSteps??[]).length} false`;break;case"send":{const u=e.templateSlug?t==null?void 0:t.get(e.templateSlug):void 0,h=((i=u==null?void 0:u.draft)==null?void 0:i.subject)||(u==null?void 0:u.subject),d=u==null?void 0:u.kind;if(h){l=h,r=[e.templateSlug,d].filter(Boolean).join(" · ");const m=((c=u==null?void 0:u.draft)==null?void 0:c.preheader)||(u==null?void 0:u.preheader),v=(o=u==null?void 0:u.body)==null?void 0:o.plainText,g=(m||v||"").replace(/\s+/g," ").trim();g&&(a=g.length>80?g.slice(0,80)+"…":g)}else e.templateSlug?(l=`Send · ${e.templateSlug}`,r=e.providerOverride?`via ${e.providerOverride}`:"default provider"):(l="Send · (no template)",r=e.providerOverride?`via ${e.providerOverride}`:"default provider");break}case"tag":r=[...(e.addTags??[]).map(u=>`+${u}`),...(e.removeTags??[]).map(u=>`-${u}`)].join(", ")||"—";break;case"fire_event":l=`Fire · ${e.eventName||"(empty)"}`,r="synthetic event";break;case"webhook":r=e.url||"(no url)";break;case"exit":r=e.reason??"—";break}return{kind:n.value,label:l,meta:r,sub:a,icon:n.icon,iconClass:n.iconClass}}function Co(e){return e?"hasTag"in e?`has tag "${e.hasTag}"`:"notHasTag"in e?`not tag "${e.notHasTag}"`:"hasFiredEvent"in e?`fired "${e.hasFiredEvent}"`:"notHasFiredEvent"in e?`not fired "${e.notHasFiredEvent}"`:"fieldEquals"in e?`${e.fieldEquals.field} = ${JSON.stringify(e.fieldEquals.value)}`:"triggerPropertyEquals"in e?`trigger.${e.triggerPropertyEquals.key} = ${JSON.stringify(e.triggerPropertyEquals.value)}`:"triggerPropertyTruthy"in e?`trigger.${e.triggerPropertyTruthy} is set`:"subscriptionStatus"in e?`subscription = ${e.subscriptionStatus}`:"all"in e?`all of ${e.all.length}`:"any"in e?`any of ${e.any.length}`:"not"in e?"not (…)":"predicate":""}function Kf({value:e,onChange:t}){var c;const{data:n}=V(()=>D.events()),l=(n==null?void 0:n.registered)??[],r=(n==null?void 0:n.seen)??[],a=(c=l.find(o=>o.name===e))==null?void 0:c.dedupePolicy,i="event-trigger-options";return s.jsxs("div",{style:{flex:1},children:[s.jsx("input",{className:"input",list:i,style:{width:"100%",padding:"4px 8px",fontSize:13},placeholder:"Created",value:e,onChange:o=>t(o.target.value)}),s.jsxs("datalist",{id:i,children:[l.map(o=>s.jsxs("option",{value:o.name,children:["registered · ",o.dedupePolicy]},`r:${o.name}`)),r.map(o=>s.jsx("option",{value:o,children:"seen in mailer_events (unregistered)"},`s:${o}`))]}),e&&s.jsx("div",{className:"text-xs subtle",style:{marginTop:4},children:a?s.jsxs(s.Fragment,{children:["Registered · dedupe ",s.jsx("span",{className:"mono",children:a})]}):s.jsxs(s.Fragment,{children:["Not registered. Trigger still fires; call ",s.jsx("span",{className:"mono",children:"mailer.registerEvent"})," to declare a dedupe policy."]})})]})}function qf({slug:e,setRoute:t}){const{data:n,loading:l,error:r,refetch:a}=V(()=>D.flow(e),[e]);return l&&!n?s.jsx(Le,{loading:!0,error:null,empty:!1,children:s.jsx(s.Fragment,{})}):r||!n?s.jsx(Le,{loading:!1,error:r,empty:!n,emptyLabel:"Flow not found.",retry:a,children:s.jsx(s.Fragment,{})}):s.jsx(Jf,{slug:e,flow:n,refetch:a,setRoute:t})}function Jf({slug:e,flow:t,refetch:n,setRoute:l}){var ut,Ke,qe;const{data:r}=V(()=>D.templates()),a=E.useMemo(()=>{const j=new Map;for(const P of r??[])j.set(P.slug,P);return j},[r]),[i,c]=E.useState([]),[o,u]=E.useState({eventName:"",once:!0}),[h,d]=E.useState(0),[m,v]=E.useState(!1),[g,S]=E.useState(null),[N,p]=E.useState(null);E.useEffect(()=>{var P,L;if(!t)return;const j=((P=t==null?void 0:t.draft)==null?void 0:P.steps)??(t==null?void 0:t.steps)??[];c(Array.isArray(j)?j:[]),(L=t==null?void 0:t.trigger)!=null&&L.eventName&&u({eventName:t.trigger.eventName,once:t.trigger.once!==!1}),v(!1)},[t]);function f(j,P){const L=Uf(P),O=[...i.slice(0,j),L,...i.slice(j)];c(O),d(j),p(null),v(!0)}function x(j){const P=i.filter((L,O)=>O!==j);c(P),d(Math.min(j,P.length-1)),v(!0)}function k(j,P){c(i.map((L,O)=>O===j?{...L,...P}:L)),v(!0)}function T(j,P){const L=j+P;if(L<0||L>=i.length)return;const O=[...i];[O[j],O[L]]=[O[L],O[j]],c(O),d(L),v(!0)}async function w(){S("Saving…");try{await D.updateFlowDraft(e,{steps:i,trigger:{eventName:o.eventName,once:o.once}}),v(!1),S("Saved"),n()}catch(j){S(`Save failed: ${(j==null?void 0:j.message)??j}`)}}async function _(){m&&await w().catch(()=>{}),S("Publishing…");try{const j=await D.publishFlow(e);S(`Published v${j.version}`),n()}catch(j){S(`Publish failed: ${(j==null?void 0:j.message)??j}`)}}async function C(){try{t.enabled?await D.pauseFlow(e):await D.resumeFlow(e),n()}catch(j){S(`${(j==null?void 0:j.message)??j}`)}}const H=t.version??1,A=t.active??((ut=t.stats)==null?void 0:ut.activeRuns)??0,W=t.sends7d??((Ke=t.stats)==null?void 0:Ke.sendsLast7Days)??0,he=((qe=t.stats)==null?void 0:qe.completedRuns)??0,xe=i[h]??null,ct=({name:j})=>{const P=M[j]||M.Mail;return s.jsx(P,{size:18})};return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:t.name??e,desc:s.jsxs("span",{className:"mono",children:["flows/",t.slug??e]}),actions:s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"pill "+(t.enabled?"green":"neutral"),children:[s.jsx("span",{className:"dot"}),t.enabled?"Enabled":"Disabled"]}),s.jsx("button",{className:"btn",onClick:C,children:t.enabled?s.jsxs(s.Fragment,{children:[s.jsx(M.Pause,{size:14}),"Pause"]}):s.jsxs(s.Fragment,{children:[s.jsx(M.Play,{size:14}),"Resume"]})}),s.jsxs("button",{className:"btn",onClick:w,disabled:!m,children:[s.jsx(M.Copy,{size:14}),"Save draft"]}),s.jsxs("button",{className:"btn btn-primary",onClick:_,children:[s.jsx(M.Rocket,{size:14}),"Publish"]})]})}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Active runs"}),s.jsx("div",{className:"kpi-value",children:A}),s.jsx("div",{className:"kpi-meta subtle",children:"Right now"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Sends · 7d"}),s.jsx("div",{className:"kpi-value",children:W})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Completed runs"}),s.jsx("div",{className:"kpi-value",children:Number(he).toLocaleString()}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Version"}),s.jsxs("div",{className:"kpi-value",children:["v",H]}),s.jsx("div",{className:"kpi-meta",children:g?s.jsx("span",{className:"text-xs",children:g}):m?s.jsxs("span",{className:"pill amber",children:[s.jsx("span",{className:"dot"}),"Unsaved"]}):null})]})]}),s.jsxs("div",{className:"split split-asym",children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Steps"}),s.jsxs("span",{className:"card-sub",children:[i.length," steps · click to edit"]})]}),s.jsxs("div",{className:"flow-canvas",children:[s.jsxs("div",{className:"flow-trigger",children:[s.jsx("div",{className:"flow-trigger-icon",children:s.jsx(M.Rocket,{size:16})}),s.jsxs("div",{style:{flex:1},children:[s.jsx("div",{className:"flow-trigger-label",children:"Trigger"}),s.jsxs("div",{className:"hstack",style:{gap:6,alignItems:"flex-start"},children:[s.jsx("span",{className:"flow-trigger-name",style:{paddingTop:6},children:"Event ·"}),s.jsx(Kf,{value:o.eventName,onChange:j=>{u({...o,eventName:j}),v(!0)}})]}),s.jsx("div",{className:"flow-trigger-meta",children:s.jsxs("label",{className:"hstack",style:{gap:6,marginTop:6},children:[s.jsx("input",{type:"checkbox",checked:o.once,onChange:j=>{u({...o,once:j.target.checked}),v(!0)}}),s.jsx("span",{className:"text-xs",children:"Once per contact"})]})})]})]}),s.jsx(Eo,{onPick:j=>f(0,j),expanded:N===0,setExpanded:j=>p(j?0:null)}),i.map((j,P)=>{const L=Qf(j,a);return s.jsxs(E.Fragment,{children:[s.jsxs("div",{className:"flow-step "+L.iconClass+(h===P?" selected":""),onClick:()=>d(P),children:[s.jsx("div",{className:"flow-step-icon",children:s.jsx(ct,{name:L.icon})}),s.jsxs("div",{className:"flow-step-body",children:[s.jsx("div",{className:"flow-step-kind",children:L.kind}),s.jsx("div",{className:"flow-step-title",children:L.label}),s.jsx("div",{className:"flow-step-meta",children:L.meta}),L.sub&&s.jsx("div",{className:"flow-step-meta subtle",style:{marginTop:2},children:L.sub})]}),s.jsxs("div",{className:"flow-step-aside",style:{alignItems:"center",gap:4},children:[s.jsx("button",{className:"icon-btn",onClick:O=>{O.stopPropagation(),T(P,-1)},title:"Move up",children:s.jsx(M.Chevron,{size:12,style:{transform:"rotate(-90deg)"}})}),s.jsx("button",{className:"icon-btn",onClick:O=>{O.stopPropagation(),T(P,1)},title:"Move down",children:s.jsx(M.Chevron,{size:12,style:{transform:"rotate(90deg)"}})})]})]}),s.jsx(Eo,{onPick:O=>f(P+1,O),expanded:N===P+1,setExpanded:O=>p(O?P+1:null)})]},P)}),i.length===0&&s.jsx("div",{className:"text-xs subtle",style:{padding:16,textAlign:"center"},children:"Empty flow. Add your first step above."})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Step settings"}),s.jsx("span",{className:"card-sub",children:xe?`Step ${h+1} · ${xe.type}`:"Select a step"}),xe&&s.jsx("div",{className:"card-actions",children:s.jsxs("button",{className:"btn btn-sm btn-danger",onClick:()=>x(h),children:[s.jsx(M.X,{size:12}),"Delete"]})})]}),s.jsx("div",{className:"card-body",children:xe?s.jsx(Xf,{step:xe,onChange:j=>k(h,j)}):s.jsx("div",{className:"text-xs subtle",children:"Click a step in the canvas to edit it, or use the + button to add one."})})]})]})]})}function Eo({onPick:e,expanded:t,setExpanded:n}){return s.jsxs("div",{style:{position:"relative",display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column"},children:[s.jsx("div",{className:"flow-connector",style:{height:16}}),t?s.jsxs("div",{className:"card",style:{padding:8,display:"flex",gap:4,flexWrap:"wrap",maxWidth:480,marginBottom:8},children:[dl.map(l=>s.jsx("button",{className:"btn btn-sm",onClick:()=>e(l.value),children:l.label},l.value)),s.jsx("button",{className:"btn btn-sm btn-ghost",onClick:()=>n(!1),children:"Cancel"})]}):s.jsx("button",{className:"flow-add",onClick:()=>n(!0),title:"Insert step",children:s.jsx(M.Plus,{size:14})}),s.jsx("div",{className:"flow-connector",style:{height:16}})]})}function Xf({step:e,onChange:t}){switch(e.type){case"wait":return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Wait duration"}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",type:"number",min:1,style:{width:100},value:e.value,onChange:n=>t({value:Math.max(1,Number(n.target.value))})}),s.jsxs("select",{className:"select",value:e.unit,onChange:n=>t({unit:n.target.value}),style:{flex:1},children:[s.jsx("option",{value:"minutes",children:"minutes"}),s.jsx("option",{value:"hours",children:"hours"}),s.jsx("option",{value:"days",children:"days"}),s.jsx("option",{value:"weeks",children:"weeks"})]})]}),s.jsx("div",{className:"field-hint",children:"The runner schedules a delayed wakeup; no CPU until then."})]});case"condition":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If predicate is FALSE"}),s.jsxs("div",{className:"seg",children:[s.jsx("span",{className:"seg-item"+(e.ifFalse==="exit"?" active":""),onClick:()=>t({ifFalse:"exit"}),children:"Exit the run"}),s.jsx("span",{className:"seg-item"+(e.ifFalse==="continue"?" active":""),onClick:()=>t({ifFalse:"continue"}),children:"Skip next step"})]})]}),s.jsx(Yf,{predicate:e.test,onChange:n=>t({test:n})})]});case"branch":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Predicate (JSON)"}),s.jsx(qt,{value:e.test,onChange:n=>t({test:n})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If TRUE — steps (JSON array)"}),s.jsx(qt,{value:e.ifTrueSteps??[],onChange:n=>t({ifTrueSteps:n})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"If FALSE — steps (JSON array)"}),s.jsx(qt,{value:e.ifFalseSteps??[],onChange:n=>t({ifFalseSteps:n})})]}),s.jsxs("div",{className:"field-hint",children:["Branch's nested step arrays are edited as JSON. For typical two-arm logic, prefer a ",s.jsx("span",{className:"mono",children:"condition"})," step with ",s.jsx("span",{className:"mono",children:"ifFalse: 'exit'"}),"."]})]});case"send":return s.jsx(Gf,{step:e,onChange:t});case"tag":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Tags to ADD"}),s.jsx("input",{className:"input",placeholder:"engaged, vip (comma-separated)",value:(e.addTags??[]).join(", "),onChange:n=>t({addTags:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Tags to REMOVE"}),s.jsx("input",{className:"input",placeholder:"new-signup, cold",value:(e.removeTags??[]).join(", "),onChange:n=>t({removeTags:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]}),s.jsxs("div",{className:"field-hint",children:["Routes through your adapter's ",s.jsx("span",{className:"mono",children:"addTags"})," / ",s.jsx("span",{className:"mono",children:"removeTags"})," if defined, else mailer's tag collection."]})]});case"fire_event":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Event name"}),s.jsx("input",{className:"input",placeholder:"Engaged via flow",value:e.eventName??"",onChange:n=>t({eventName:n.target.value})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Properties (JSON, optional)"}),s.jsx(qt,{value:e.properties??{},onChange:n=>t({properties:n}),minHeight:60})]})]});case"webhook":return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"URL"}),s.jsx("input",{className:"input",placeholder:"https://analytics.example/event",value:e.url??"",onChange:n=>t({url:n.target.value})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Method"}),s.jsxs("select",{className:"select",value:e.method??"POST",onChange:n=>t({method:n.target.value}),children:[s.jsx("option",{children:"POST"}),s.jsx("option",{children:"PUT"})]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Payload (JSON, optional)"}),s.jsx(qt,{value:e.payload??{},onChange:n=>t({payload:n}),minHeight:60}),s.jsxs("div",{className:"field-hint",children:["If blank, mailer sends ",s.jsx("span",{className:"mono",children:"{ externalId, flowRunId }"}),"."]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"On failure"}),s.jsxs("select",{className:"select",value:e.failureMode??"soft",onChange:n=>t({failureMode:n.target.value}),children:[s.jsx("option",{value:"soft",children:"Log + continue (default)"}),s.jsx("option",{value:"fail_run",children:"Fail the flow run"})]})]})]});case"exit":return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Exit reason (optional)"}),s.jsx("input",{className:"input",placeholder:"goal_reached",value:e.reason??"",onChange:n=>t({reason:n.target.value})}),s.jsx("div",{className:"field-hint",children:"Recorded on the flow_run for filtering exited runs by reason."})]});default:return s.jsxs("div",{className:"text-xs subtle",children:["Unknown step type: ",e.type]})}}function To(e){return e==="true"?!0:e==="false"?!1:e==="null"?null:e.trim()!==""&&!Number.isNaN(Number(e))?Number(e):e}function Yf({predicate:e,onChange:t}){var r,a,i,c;const n=Hf(e)??"__json",l=o=>{t(o==="__json"?e:Wf(o))};return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Predicate"}),s.jsxs("select",{className:"select",value:n,onChange:o=>l(o.target.value),style:{marginBottom:8},children:[Ju.map(o=>s.jsxs("option",{value:o.value,children:[o.label,o.noisy?" (noisy)":""]},o.value)),s.jsx("option",{value:"__json",children:"raw JSON (advanced)"})]}),n==="hasTag"&&s.jsx("input",{className:"input",placeholder:"vip",value:e.hasTag??"",onChange:o=>t({hasTag:o.target.value})}),n==="notHasTag"&&s.jsx("input",{className:"input",placeholder:"cold",value:e.notHasTag??"",onChange:o=>t({notHasTag:o.target.value})}),n==="fieldEquals"&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",placeholder:"field",style:{flex:1},value:((r=e.fieldEquals)==null?void 0:r.field)??"",onChange:o=>{var u;return t({fieldEquals:{field:o.target.value,value:(u=e.fieldEquals)==null?void 0:u.value}})}}),s.jsx("input",{className:"input",placeholder:"value",style:{flex:1},defaultValue:String(((a=e.fieldEquals)==null?void 0:a.value)??""),onChange:o=>{var u;return t({fieldEquals:{field:(u=e.fieldEquals)==null?void 0:u.field,value:To(o.target.value)}})}})]}),n==="fieldExists"&&s.jsx("input",{className:"input",placeholder:"customerType",value:e.fieldExists??"",onChange:o=>t({fieldExists:o.target.value})}),n==="triggerPropertyEquals"&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",placeholder:"property",style:{flex:1},value:((i=e.triggerPropertyEquals)==null?void 0:i.key)??"",onChange:o=>{var u;return t({triggerPropertyEquals:{key:o.target.value,value:((u=e.triggerPropertyEquals)==null?void 0:u.value)??""}})}}),s.jsx("input",{className:"input",placeholder:"value",style:{flex:1},defaultValue:String(((c=e.triggerPropertyEquals)==null?void 0:c.value)??""),onChange:o=>{var u;return t({triggerPropertyEquals:{key:((u=e.triggerPropertyEquals)==null?void 0:u.key)??"",value:To(o.target.value)}})}})]}),n==="triggerPropertyTruthy"&&s.jsx("input",{className:"input",placeholder:"wasReferred",value:e.triggerPropertyTruthy??"",onChange:o=>t({triggerPropertyTruthy:o.target.value})}),(n==="hasFiredEvent"||n==="notHasFiredEvent")&&s.jsx("input",{className:"input",placeholder:"Activated app",value:(n==="hasFiredEvent"?e.hasFiredEvent:e.notHasFiredEvent)??"",onChange:o=>t({[n]:o.target.value})}),n==="subscriptionStatus"&&s.jsxs("select",{className:"select",value:e.subscriptionStatus,onChange:o=>t({subscriptionStatus:o.target.value}),children:[s.jsx("option",{children:"subscribed"}),s.jsx("option",{children:"unsubscribed"}),s.jsx("option",{children:"pending_doi"}),s.jsx("option",{children:"bounced"}),s.jsx("option",{children:"complained"})]}),(n==="hasOpenedExcludingBots"||n==="hasClickedExcludingBots")&&s.jsxs("div",{className:"vstack",style:{gap:6},children:[s.jsx("input",{className:"input",placeholder:"Template slug (optional)",value:e[n].templateSlug??"",onChange:o=>t({[n]:{...e[n],templateSlug:o.target.value||void 0}})}),s.jsxs("label",{className:"hstack",style:{gap:6},children:[s.jsx("input",{type:"checkbox",checked:e[n].sinceFlowStart===!0,onChange:o=>t({[n]:{...e[n],sinceFlowStart:o.target.checked||void 0}})}),s.jsx("span",{className:"text-xs",children:"Since this flow run started"})]}),s.jsx("input",{className:"input",placeholder:"Within days (optional)",type:"number",value:e[n].withinDays??"",onChange:o=>t({[n]:{...e[n],withinDays:Number(o.target.value)||void 0}})})]}),(n==="openedAtLeastN"||n==="clickedAtLeastN")&&s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("input",{className:"input",type:"number",min:1,style:{flex:1},placeholder:"count",value:e[n].count??1,onChange:o=>t({[n]:{...e[n],count:Math.max(1,Number(o.target.value))}})}),s.jsx("input",{className:"input",type:"number",min:1,style:{flex:1},placeholder:"within days",value:e[n].withinDays??7,onChange:o=>t({[n]:{...e[n],withinDays:Math.max(1,Number(o.target.value))}})})]}),n==="__json"&&s.jsx(qt,{value:e,onChange:o=>t(o)})]})}function qt({value:e,onChange:t,minHeight:n=80}){const[l,r]=E.useState(()=>JSON.stringify(e,null,2)),[a,i]=E.useState(null),c=E.useRef(JSON.stringify(e));E.useEffect(()=>{const u=JSON.stringify(e);u!==c.current&&(c.current=u,r(JSON.stringify(e,null,2)),i(null))},[e]);function o(){try{const u=JSON.parse(l);i(null),c.current=JSON.stringify(u),t(u)}catch(u){i((u==null?void 0:u.message)??"invalid JSON")}}return s.jsxs(s.Fragment,{children:[s.jsx("textarea",{className:"input"+(a?" input-error":""),style:{fontFamily:"var(--font-mono)",fontSize:12,minHeight:n,borderColor:a?"var(--red-fg)":void 0},value:l,onChange:u=>r(u.target.value),onBlur:o}),a&&s.jsxs("div",{className:"field-hint",style:{color:"var(--red-fg)"},children:["JSON not saved — ",a]})]})}function Gf({step:e,onChange:t}){const[n,l]=E.useState("config");return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"seg",style:{marginBottom:12},children:[s.jsx("span",{className:"seg-item"+(n==="config"?" active":""),onClick:()=>l("config"),children:"Config"}),s.jsx("span",{className:"seg-item"+(n==="preview"?" active":""),onClick:()=>l("preview"),children:"Preview"})]}),n==="config"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Template"}),s.jsx(tp,{value:e.templateSlug,onChange:r=>t({templateSlug:r})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Provider override"}),s.jsx("input",{className:"input",placeholder:"(use default)",value:e.providerOverride??"",onChange:r=>t({providerOverride:r.target.value||void 0})}),s.jsx("div",{className:"field-hint",children:"Leave blank to use the default provider for this template's kind."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Vars (JSON, optional)"}),s.jsx(qt,{value:e.vars??{},onChange:r=>t({vars:r}),minHeight:60}),s.jsxs("div",{className:"field-hint",children:["Per-step variables available in the template as ",s.jsx("span",{className:"mono",children:"{{vars.x}}"}),"."]})]}),s.jsx(Zf,{value:e.delivery,onChange:r=>t({delivery:r})})]}):s.jsx(ep,{templateSlug:e.templateSlug,vars:e.vars})]})}function Zf({value:e,onChange:t}){const n=e??{};function l(r){const a={...n,...r};a.weekdaysOnly||delete a.weekdaysOnly,a.timeOfDay||delete a.timeOfDay,a.useContactTimezone||delete a.useContactTimezone,a.timezone||delete a.timezone,t(Object.keys(a).length>0?a:void 0)}return s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Delivery window"}),s.jsxs("div",{className:"vstack",style:{gap:8},children:[s.jsxs("label",{className:"hstack text-sm",style:{gap:8,alignItems:"center",cursor:"pointer"},children:[s.jsx("input",{type:"checkbox",checked:!!n.weekdaysOnly,onChange:r=>l({weekdaysOnly:r.target.checked})}),"Weekdays only — a send landing on Sat/Sun waits until Monday"]}),s.jsxs("div",{className:"hstack",style:{gap:8,alignItems:"center"},children:[s.jsx("span",{className:"text-sm",style:{minWidth:90},children:"Time of day"}),s.jsx("input",{className:"input",type:"time",style:{width:130},value:n.timeOfDay??"",onChange:r=>l({timeOfDay:r.target.value||void 0})}),n.timeOfDay&&s.jsx("button",{className:"btn btn-xs",onClick:()=>l({timeOfDay:void 0}),children:"Clear"})]}),s.jsxs("label",{className:"hstack text-sm",style:{gap:8,alignItems:"center",cursor:"pointer"},children:[s.jsx("input",{type:"checkbox",checked:!!n.useContactTimezone,onChange:r=>l({useContactTimezone:r.target.checked})}),"Use the contact's timezone when known"]}),s.jsxs("div",{className:"hstack",style:{gap:8,alignItems:"center"},children:[s.jsx("span",{className:"text-sm",style:{minWidth:90},children:"Fallback zone"}),s.jsx("input",{className:"input",placeholder:"UTC",style:{width:220},value:n.timezone??"",onChange:r=>l({timezone:r.target.value||void 0})})]})]}),s.jsx("div",{className:"field-hint",children:"Times are interpreted in the contact's timezone (when enabled and known), else the fallback IANA zone, else UTC. The window only delays sends — never moves them earlier."})]})}function ep({templateSlug:e,vars:t}){const[n,l]=E.useState(null),[r,a]=E.useState(null),[i,c]=E.useState(!1),o=JSON.stringify(t??{}),u=E.useRef(t);return u.current=t,E.useEffect(()=>{if(!e){l(null),a(null);return}let h=!1;return c(!0),a(null),D.previewTemplate(e,{useDraft:!0,vars:u.current??{}}).then(d=>{h||l(d)}).catch(d=>{h||a(String((d==null?void 0:d.message)??d))}).finally(()=>{h||c(!1)}),()=>{h=!0}},[e,o]),e?i&&!n?s.jsx("div",{className:"text-xs subtle",children:"Rendering preview…"}):r?s.jsxs("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:["Preview failed: ",r]}):n?s.jsxs("div",{className:"vstack",style:{gap:8},children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm f500",children:n.subject}),s.jsx("div",{className:"text-xs subtle",children:n.preheader})]}),s.jsx("iframe",{title:"send-preview",sandbox:"",srcDoc:n.html,style:{width:"100%",minHeight:480,border:"1px solid var(--border)",borderRadius:6,background:"#fff"}})]}):null:s.jsx("div",{className:"text-xs subtle",children:"Pick a template in the Config tab to see a preview."})}function tp({value:e,onChange:t}){const{data:n}=V(()=>D.templates());if(!n||n.length===0)return s.jsx("input",{className:"input",placeholder:"welcome-1",value:e,onChange:r=>t(r.target.value)});const l=n.find(r=>r.slug===e);return s.jsxs(s.Fragment,{children:[s.jsxs("select",{className:"select",value:l?e:"__custom",onChange:r=>t(r.target.value==="__custom"?e:r.target.value),children:[n.map(r=>s.jsxs("option",{value:r.slug,children:[r.slug," — ",r.name]},r.slug)),s.jsx("option",{value:"__custom",children:"(custom slug…)"})]}),!l&&s.jsx("input",{className:"input",style:{marginTop:6},placeholder:"welcome-1",value:e,onChange:r=>t(r.target.value)})]})}function np({setRoute:e}){const[t,n]=E.useState("all"),{data:l,loading:r,error:a,refetch:i}=V(()=>D.templates()),c=l??[],o=c.filter(N=>t==="all"?!0:N.kind===t),[u,h]=E.useState(!1),[d,m]=E.useState({slug:"",name:"",kind:"marketing",subject:""}),[v,g]=E.useState(null);async function S(N){N.preventDefault(),g(null);try{await D.createTemplate({slug:d.slug.trim(),name:d.name.trim(),kind:d.kind,subject:d.subject.trim()}),h(!1),m({slug:"",name:"",kind:"marketing",subject:""}),i(),e({screen:"template-editor",slug:d.slug.trim()})}catch(p){g(String((p==null?void 0:p.message)??p))}}return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Templates",desc:"Email content · MJML source or Maily WYSIWYG.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>h(!0),children:[s.jsx(M.Plus,{size:14}),"New template"]})}),u&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"New template"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>h(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:S,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"welcome-day-1",value:d.slug,onChange:N=>m({...d,slug:N.target.value}),required:!0})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"Welcome · day 1",value:d.name,onChange:N=>m({...d,name:N.target.value}),required:!0})]})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Kind"}),s.jsxs("select",{className:"select",value:d.kind,onChange:N=>m({...d,kind:N.target.value}),children:[s.jsx("option",{value:"marketing",children:"Marketing"}),s.jsx("option",{value:"transactional",children:"Transactional"})]})]}),s.jsxs("div",{className:"field",style:{flex:2,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Subject"}),s.jsx("input",{className:"input",placeholder:"Welcome to Mailery",value:d.subject,onChange:N=>m({...d,subject:N.target.value})})]})]}),v&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:v}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",children:"Create + open editor"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>h(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"tabs",children:[s.jsxs("div",{className:"tab"+(t==="all"?" active":""),onClick:()=>n("all"),children:["All",s.jsx("span",{className:"tab-count",children:c.length})]}),s.jsxs("div",{className:"tab"+(t==="marketing"?" active":""),onClick:()=>n("marketing"),children:["Marketing",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.kind==="marketing").length})]}),s.jsxs("div",{className:"tab"+(t==="transactional"?" active":""),onClick:()=>n("transactional"),children:["Transactional",s.jsx("span",{className:"tab-count",children:c.filter(N=>N.kind==="transactional").length})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:r&&!l,error:a,empty:!!l&&o.length===0,emptyLabel:"No templates yet.",retry:i,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"Kind"}),s.jsx("th",{children:"Last sent"}),s.jsx("th",{className:"num",children:"Sent 7d"}),s.jsx("th",{className:"num",children:"Open rate"}),s.jsx("th",{className:"num",children:"Click rate"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:o.length===0?s.jsx(q,{colSpan:7,label:"No templates yet."}):o.map(N=>{var T,w,_,C,H;const p=((T=N.stats)==null?void 0:T.sent)??0,f=((w=N.stats)==null?void 0:w.sentLast7Days)??0,x=p?(((_=N.stats)==null?void 0:_.opened)??0)/p:null,k=p?(((C=N.stats)==null?void 0:C.clicked)??0)/p:null;return s.jsxs("tr",{onClick:()=>e({screen:"template-editor",slug:N.slug}),children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:32,height:32,borderRadius:6,background:"var(--bg-sunken)",display:"grid",placeItems:"center",color:"var(--fg-muted)"},children:s.jsx(M.Mail,{size:14})}),s.jsxs("div",{children:[s.jsx("div",{className:"f500",children:N.name}),s.jsx("div",{className:"text-xs subtle mono",children:N.slug})]})]})}),s.jsx("td",{children:s.jsx("span",{className:"pill "+(N.kind==="transactional"?"blue":"neutral"),children:N.kind})}),s.jsx("td",{className:"text-xs subtle",children:(H=N.stats)!=null&&H.lastSentAt?new Date(N.stats.lastSentAt).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:f.toLocaleString()}),s.jsx("td",{className:"num tabular",children:x!=null?(x*100).toFixed(1)+"%":"—"}),s.jsx("td",{className:"num tabular",children:k!=null?(k*100).toFixed(1)+"%":"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},N.slug)})})]})})})]})}function sp({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.broadcasts()),{data:a}=V(()=>D.me()),i=a==null?void 0:a.broadcastConfirmationThreshold,c=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Broadcasts",desc:i!=null?`One-off campaigns. Confirmation gate kicks in above ${i.toLocaleString()} recipients.`:"One-off campaigns.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>e({screen:"broadcast-new"}),children:[s.jsx(M.Plus,{size:14}),"New broadcast"]})}),s.jsxs("div",{className:"kpis",style:{gridTemplateColumns:"repeat(3,1fr)"},children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Total"}),s.jsx("div",{className:"kpi-value",children:t?c.length:"—"}),s.jsx("div",{className:"kpi-meta",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Scheduled"}),s.jsx("div",{className:"kpi-value",children:t?c.filter(o=>o.status==="scheduled").length:"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Drafts"}),s.jsx("div",{className:"kpi-value",children:t?c.filter(o=>o.status==="draft").length:"—"})]})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"All broadcasts"})}),s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&c.length===0,emptyLabel:"No broadcasts yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Broadcast"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"When"}),s.jsx("th",{className:"num",children:"Recipients"}),s.jsx("th",{className:"num",children:"Opens"}),s.jsx("th",{className:"num",children:"Clicks"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:c.length===0?s.jsx(q,{colSpan:7,label:"No broadcasts yet."}):c.map(o=>{var v,g,S;const u=o.recipientCount??o.recipients,h=((v=o.stats)==null?void 0:v.delivered)??0,d=h?(((g=o.stats)==null?void 0:g.opened)??0)/h:null,m=h?(((S=o.stats)==null?void 0:S.clicked)??0)/h:null;return s.jsxs("tr",{onClick:()=>e({screen:"broadcast-new",slug:o.slug}),children:[s.jsxs("td",{children:[s.jsx("div",{className:"f500",children:o.name}),s.jsxs("div",{className:"text-xs subtle mono",children:["broadcasts/",o.slug]})]}),s.jsx("td",{children:s.jsx(Ut,{status:o.status})}),s.jsx("td",{className:"text-xs subtle",children:o.scheduledAt?new Date(o.scheduledAt).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:u?Number(u).toLocaleString():"—"}),s.jsx("td",{className:"num tabular",children:d!=null?(d*100).toFixed(1)+"%":"—"}),s.jsx("td",{className:"num tabular",children:m!=null?(m*100).toFixed(1)+"%":"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},o.slug)})})]})})]})]})}const Po=Vf.filter(e=>e.side!=="composite");function lp({setRoute:e,slug:t}){var ke,dt;const n=!!t,{data:l,refetch:r}=V(()=>n?D.broadcast(t):Promise.resolve(null)),{data:a}=V(()=>D.templates()),[i,c]=E.useState(""),[o,u]=E.useState(""),[h,d]=E.useState(""),[m,v]=E.useState([{kind:"subscriptionStatus",equals:"subscribed"}]),[g,S]=E.useState("at"),[N,p]=E.useState(_o(new Date(Date.now()+60*60*1e3))),[f,x]=E.useState(!1),[k,T]=E.useState(""),[w,_]=E.useState(null),[C,H]=E.useState(t??null),[A,W]=E.useState(null),[he,xe]=E.useState("draft");E.useEffect(()=>{var z;l&&(c(l.slug??""),u(l.name??""),d(l.templateSlug??""),v(((z=l.segmentDefinition)==null?void 0:z.filters)??[{kind:"subscriptionStatus",equals:"subscribed"}]),l.scheduledAt&&p(_o(new Date(l.scheduledAt))),x(l.respectRecipientTimezone===!0),xe(l.status??"draft"))},[l]),E.useEffect(()=>{if(!C){_(null);return}const z=setTimeout(()=>{D.countSegment(C,{filters:m}).then(_).catch(()=>_(null))},500);return()=>clearTimeout(z)},[m,C]);function ct(z,le){v(m.map((ie,K)=>z===K?{...ie,...le}:ie))}function ut(z,le){v(m.map((ie,K)=>z===K?bo(le):ie))}function Ke(z){v(m.filter((le,ie)=>ie!==z))}function qe(){v([...m,bo("hasTag")])}async function j(){W("Saving…");try{return C?(await D.updateBroadcast(C,{name:o,templateSlug:h,segmentDefinition:{filters:m}}),W("Saved"),r(),C):!i.trim()||!o.trim()||!h.trim()?(W("Slug, name, and template are required."),null):(await D.createBroadcast({slug:i.trim(),name:o.trim(),templateSlug:h.trim(),segmentDefinition:{filters:m}}),H(i.trim()),W("Created draft"),i.trim())}catch(z){return W(`Save failed: ${(z==null?void 0:z.message)??z}`),null}}async function P(){const z=C??await j();if(!z)return;const le=w==null?void 0:w.upperBound;if(le==null){W("Live count not ready yet — wait a moment.");return}if(parseInt(k,10)!==le){W(`Typed count must match the live recipient count exactly (${le.toLocaleString()}).`);return}if(g==="draft"){W("Saved as draft.");return}const ie=g==="now"?new Date:new Date(N);if(Number.isNaN(ie.getTime())){W("Invalid date.");return}try{await D.scheduleBroadcast(z,{scheduledAt:ie.toISOString(),confirmedCount:le,respectRecipientTimezone:f}),W(`Scheduled for ${ie.toLocaleString()}`),r()}catch(K){W(`Schedule failed: ${(K==null?void 0:K.message)??K}`)}}async function L(){if(!C)return e({screen:"broadcasts"});if(he==="draft")return e({screen:"broadcasts"});try{await D.cancelBroadcast(C),W("Cancelled"),e({screen:"broadcasts"})}catch(z){W(`Cancel failed: ${(z==null?void 0:z.message)??z}`)}}const O=(w==null?void 0:w.upperBound)??0,G=parseInt(k,10)===O&&O>0,Je=!!C&&G&&he==="draft";return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:n?o||"Broadcast":"New broadcast",desc:s.jsxs(s.Fragment,{children:[C&&s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"mono",children:["broadcasts/",C]})," · "]}),s.jsx("span",{className:"pill "+(he==="sent"?"green":he==="scheduled"?"blue":"neutral"),children:he})]}),actions:s.jsxs(s.Fragment,{children:[s.jsxs("button",{className:"btn",onClick:L,children:[s.jsx(M.X,{size:14}),C&&he!=="draft"?"Cancel broadcast":"Back"]}),s.jsxs("button",{className:"btn",onClick:j,children:[s.jsx(M.Copy,{size:14}),"Save draft"]}),s.jsxs("button",{className:"btn btn-primary",disabled:!Je,onClick:P,children:[s.jsx(M.Rocket,{size:14}),"Schedule"]})]})}),A&&s.jsx("div",{className:"card",style:{padding:12,marginBottom:16},children:s.jsx("span",{className:"text-sm",children:A})}),s.jsxs("div",{className:"split",style:{gridTemplateColumns:"minmax(0,1fr) 380px",gap:16},children:[s.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"1. Content"})}),s.jsxs("div",{className:"card-body",children:[!n&&s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Slug"}),s.jsx("input",{className:"input",placeholder:"june-newsletter",value:i,onChange:z=>c(z.target.value),disabled:!!C}),s.jsx("div",{className:"field-hint",children:"Set once on create; can't change after."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{className:"field-label",children:"Name"}),s.jsx("input",{className:"input",placeholder:"June Newsletter",value:o,onChange:z=>u(z.target.value)})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Template"}),s.jsxs("select",{className:"select",value:h,onChange:z=>d(z.target.value),children:[s.jsx("option",{value:"",children:"(pick a template)"}),(a??[]).map(z=>s.jsxs("option",{value:z.slug,children:[z.slug," — ",z.name]},z.slug))]})]})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"2. Segment"}),s.jsx("span",{className:"card-sub",children:"Two-pass evaluation · host filter then mailer post-filter"})]}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"vstack",style:{gap:6},children:[m.map((z,le)=>{const ie=Po.find(K=>K.value===z.kind);return s.jsxs("div",{className:"hstack",style:{padding:"8px 10px",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",gap:8},children:[s.jsx("select",{className:"select",value:z.kind,onChange:K=>ut(le,K.target.value),style:{width:200},children:Po.map(K=>s.jsx("option",{value:K.value,children:K.label},K.value))}),s.jsx(ap,{filter:z,onChange:K=>ct(le,K)}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"pill "+((ie==null?void 0:ie.side)==="host"?"violet":"blue"),style:{fontSize:10.5},children:ie==null?void 0:ie.side}),s.jsx("button",{className:"icon-btn",onClick:()=>Ke(le),title:"Remove",children:s.jsx(M.X,{size:12})})]},le)}),s.jsxs("button",{className:"btn btn-sm btn-ghost",style:{alignSelf:"flex-start"},onClick:qe,children:[s.jsx(M.Plus,{size:12}),"Add filter"]})]}),s.jsx("div",{className:"divider"}),s.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:12},children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-xs subtle",children:w!=null&&w.approximate?"Upper bound · host filter":"Recipients · host filter"}),s.jsx("div",{className:"kpi-value",style:{fontSize:22},children:((ke=w==null?void 0:w.upperBound)==null?void 0:ke.toLocaleString())??"—"})]}),(w==null?void 0:w.approximate)&&s.jsxs("span",{className:"pill amber",style:{fontSize:10.5},children:[s.jsx("span",{className:"dot"}),"approximate"]})]}),s.jsx("div",{className:"text-xs subtle",style:{marginTop:6},children:C?w!=null&&w.approximate?`Mailer-side filters (subscription, events, opens, tags excluded) and suppression are applied at dispatch — final count will be ≤ ${((dt=w==null?void 0:w.upperBound)==null?void 0:dt.toLocaleString())??"—"}. Last computed in ${(w==null?void 0:w.computedMs)??"—"}ms.`:`Recomputed on filter change · last ${(w==null?void 0:w.computedMs)??"—"}ms`:"Save a draft to enable live counts."})]})]}),s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"3. Schedule"})}),s.jsxs("div",{className:"card-body",children:[s.jsxs("div",{className:"seg",style:{marginBottom:12},children:[s.jsx("span",{className:"seg-item"+(g==="now"?" active":""),onClick:()=>S("now"),children:"Send now"}),s.jsx("span",{className:"seg-item"+(g==="at"?" active":""),onClick:()=>S("at"),children:"At a specific time"}),s.jsx("span",{className:"seg-item"+(g==="draft"?" active":""),onClick:()=>S("draft"),children:"Save as draft"})]}),g==="at"&&s.jsxs("div",{className:"split split-2",children:[s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Date · time (local)"}),s.jsx("input",{className:"input",type:"datetime-local",value:N,onChange:z=>p(z.target.value)})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Per-recipient timezone"}),s.jsxs("label",{className:"hstack",style:{gap:6,padding:"8px 0"},children:[s.jsx("input",{type:"checkbox",checked:f,onChange:z=>x(z.target.checked)}),s.jsx("span",{className:"text-sm",children:"Respect recipient timezone"})]}),s.jsxs("div",{className:"field-hint",children:["When on, each contact gets the email at the equivalent local time using ",s.jsx("span",{className:"mono",children:"contact.timezone"}),"."]})]})]})]})]}),s.jsxs("div",{className:"card",style:{borderColor:"var(--accent-border)",background:"var(--accent-soft)"},children:[s.jsxs("div",{className:"card-head",style:{borderBottomColor:"var(--accent-border)"},children:[s.jsx(M.Warn,{size:16,style:{color:"var(--accent-press)"}}),s.jsx("span",{className:"card-title",style:{color:"var(--accent-press)"},children:"Confirmation required (INVARIANT 11)"})]}),s.jsxs("div",{className:"card-body",children:[s.jsx("div",{className:"text-sm",style:{marginBottom:10},children:O>0?s.jsxs(s.Fragment,{children:["This broadcast will send to ",s.jsxs("span",{className:"f600",children:[O.toLocaleString()," contacts"]}),". To proceed, type the count exactly:"]}):s.jsx(s.Fragment,{children:"Save a draft first to compute the recipient count."})}),s.jsxs("div",{className:"hstack",children:[s.jsx("input",{className:"input",placeholder:O>0?`Type ${O} to enable scheduling`:"Recipient count",value:k,onChange:z=>T(z.target.value),style:{maxWidth:260,fontFamily:"var(--font-mono)"},disabled:O===0}),G&&s.jsxs("span",{className:"pill green",children:[s.jsx(M.Check,{size:11}),"Match"]}),!G&&k.length>0&&s.jsxs("span",{className:"pill red",children:[s.jsx(M.X,{size:11}),"Mismatch"]})]}),s.jsxs("div",{className:"field-hint",style:{marginTop:6},children:["Audit-logged with ",s.jsx("span",{className:"mono",children:"confirmedCount"})," + ",s.jsx("span",{className:"mono",children:"confirmedBy"}),"."]})]})]})]}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Preview"})}),s.jsx("div",{className:"card-body",style:{padding:0},children:h?s.jsx(ip,{slug:h}):s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Pick a template to see the preview."})})]}),s.jsx(rp,{savingSlug:C})]})]})]})}function rp({savingSlug:e}){const{data:t}=V(()=>D.setupStatus()),{data:n}=V(()=>D.health()),l=[];if(!t)l.push({severity:"pending",label:"Sender-domain registry",detail:"loading…"});else{const r=t.checks.find(a=>a.name==="from_defaults_marketing"||a.name==="transactional_from_defaults"||a.name==="transactional_fallback"||a.name==="published_template_domains");r?l.push({severity:r.severity,label:"Sender-domain registry",detail:r.message}):l.push({severity:"ok",label:"Sender-domain registry aligned"})}if(l.push({severity:e?"ok":"warn",label:e?"Draft persisted":"Save a draft to lock in the segment"}),!n)l.push({severity:"pending",label:"Circuit breaker",detail:"loading…"});else{const r=n.status;r==="tripped"?l.push({severity:"error",label:"Circuit breaker tripped",detail:n.trippedReason}):r==="degraded"?l.push({severity:"warn",label:"Circuit breaker degraded"}):l.push({severity:"ok",label:"Circuit breaker healthy"})}return s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Pre-flight checks"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8},children:l.map((r,a)=>s.jsxs("div",{className:"hstack",children:[r.severity==="ok"&&s.jsx(M.Check,{size:14,style:{color:"var(--green-fg)"}}),r.severity==="warn"&&s.jsx(M.Warn,{size:14,style:{color:"var(--amber-fg)"}}),r.severity==="error"&&s.jsx(M.Warn,{size:14,style:{color:"var(--red-fg)"}}),r.severity==="pending"&&s.jsx("span",{className:"status-dot"}),s.jsx("span",{className:"text-sm",children:r.label}),r.detail&&s.jsxs("span",{className:"text-xs subtle",style:{marginLeft:4},children:["· ",r.detail]})]},a))})]})}function ap({filter:e,onChange:t}){switch(e.kind){case"subscriptionStatus":return s.jsxs("select",{className:"select",value:e.equals,onChange:n=>t({equals:n.target.value}),children:[s.jsx("option",{children:"subscribed"}),s.jsx("option",{children:"unsubscribed"}),s.jsx("option",{children:"pending_doi"}),s.jsx("option",{children:"bounced"}),s.jsx("option",{children:"complained"})]});case"hasTag":case"notHasTag":return s.jsx("input",{className:"input",placeholder:"vip",value:e.tag??"",onChange:n=>t({tag:n.target.value})});case"fieldEquals":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{width:140},placeholder:"field",value:e.field??"",onChange:n=>t({field:n.target.value})}),s.jsx("input",{className:"input",style:{flex:1},placeholder:"value",value:String(e.value??""),onChange:n=>t({value:n.target.value})})]});case"fieldIn":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{width:140},placeholder:"field",value:e.field??"",onChange:n=>t({field:n.target.value})}),s.jsx("input",{className:"input",style:{flex:1},placeholder:"value, value, value",value:(e.values??[]).join(", "),onChange:n=>t({values:n.target.value.split(",").map(l=>l.trim()).filter(Boolean)})})]});case"fieldExists":return s.jsx("input",{className:"input",placeholder:"customerType",value:e.field??"",onChange:n=>t({field:n.target.value})});case"firedEvent":case"notFiredEvent":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{flex:1},placeholder:"Event name",value:e.eventName??"",onChange:n=>t({eventName:n.target.value})}),s.jsx("input",{className:"input",style:{width:100},type:"number",min:1,placeholder:"days",value:e.withinDays??"",onChange:n=>t({withinDays:Number(n.target.value)||void 0})})]});case"opened":case"notOpened":return s.jsxs(s.Fragment,{children:[s.jsx("input",{className:"input",style:{flex:1},placeholder:"Template slug (optional)",value:e.templateSlug??"",onChange:n=>t({templateSlug:n.target.value||void 0})}),s.jsx("input",{className:"input",style:{width:100},type:"number",min:1,placeholder:"days",value:e.withinDays??"",onChange:n=>t({withinDays:Number(n.target.value)||void 0})})]});default:return null}}function ip({slug:e}){const[t,n]=E.useState(null),[l,r]=E.useState(null);return E.useEffect(()=>{n(null),r(null),D.previewTemplate(e,{useDraft:!1}).then(n).catch(a=>r(String((a==null?void 0:a.message)??a)))},[e]),l?s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:l}):t?s.jsxs(s.Fragment,{children:[s.jsxs("div",{style:{padding:"12px 16px",borderBottom:"1px solid var(--border)"},children:[s.jsx("div",{className:"text-sm f500",children:t.subject}),s.jsx("div",{className:"text-xs subtle",children:t.preheader})]}),s.jsx("div",{style:{padding:16,background:"var(--bg-sunken)",maxHeight:360,overflow:"auto"},children:s.jsx("iframe",{title:"preview",srcDoc:t.html,style:{width:"100%",minHeight:280,border:"1px solid var(--border)",borderRadius:6,background:"#fff"}})})]}):s.jsx("div",{className:"text-xs subtle",style:{padding:16},children:"Loading…"})}function _o(e){const t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`}function op({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.contacts()),a=(t==null?void 0:t.contacts)??[],i=(t==null?void 0:t.counts)??null;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Contacts",desc:s.jsxs(s.Fragment,{children:["Read-through to the host's ",s.jsx("span",{className:"mono",children:"users"})," collection via ContactAdapter."]})}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Subscribed"}),s.jsx("div",{className:"kpi-value",children:i?i.subscribed.toLocaleString():"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Pending DOI"}),s.jsx("div",{className:"kpi-value",children:i?i.pending_doi.toLocaleString():"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Unsubscribed"}),s.jsx("div",{className:"kpi-value",children:i?i.unsubscribed.toLocaleString():"—"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Showing"}),s.jsx("div",{className:"kpi-value",children:t?a.length.toLocaleString():"—"}),s.jsx("div",{className:"kpi-meta subtle",children:t!=null&&t.nextCursor?"first page · more available":t?"all loaded":""})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No contacts yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Contact"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Tags"}),s.jsx("th",{className:"num",children:"externalId"})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:4,label:"No contacts yet."}):a.map(c=>{var d;const o=c.externalId,u=(d=c.fields)!=null&&d.firstName?`${c.fields.firstName} ${c.fields.lastName??""}`.trim():c.email,h=String(u).split(" ").map(m=>m[0]).join("").slice(0,2).toUpperCase();return s.jsxs("tr",{onClick:()=>e({screen:"contact-detail",id:o}),children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:28,height:28,borderRadius:6,background:"var(--bg-sunken)",color:"var(--fg-muted)",display:"grid",placeItems:"center",fontWeight:600,fontSize:12},children:h||"?"}),s.jsxs("div",{children:[s.jsx("div",{className:"f500",children:u}),s.jsx("div",{className:"text-xs subtle",children:c.email})]})]})}),s.jsx("td",{children:c.status?s.jsx(Ut,{status:c.status==="pending_doi"?"queued":c.status}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{children:Array.isArray(c.tags)&&c.tags.length>0?c.tags.map(m=>s.jsx("span",{className:"tag",style:{marginRight:4},children:m},m)):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num mono text-xs",children:o})]},o)})})]})})})]})}function cp({id:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.contact(e),[e]);return s.jsx(Le,{loading:n&&!t,error:l,empty:!t,emptyLabel:"Contact not found.",retry:r,children:t&&s.jsx(up,{data:t})})}function up({data:e}){var u;const t=e.contact,n=e.subscription??{},l=e.recentEvents??[],r=e.recentSends??[],a=e.activeRuns??[],i=(t==null?void 0:t.email)??"",c=(u=t==null?void 0:t.fields)!=null&&u.firstName?`${t.fields.firstName} ${t.fields.lastName??""}`.trim():i,o=t==null?void 0:t.externalId;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:c,desc:s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"mono",children:i})," · ",s.jsx("span",{className:"mono",children:o})]})}),s.jsxs("div",{className:"split split-asym",children:[s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Active flow runs"})}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Flow"}),s.jsx("th",{children:"Current step"}),s.jsx("th",{children:"Next action"}),s.jsx("th",{children:"Entered"})]})}),s.jsx("tbody",{children:a.length>0?a.map((h,d)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono",children:h.flowSlug}),s.jsxs("td",{children:["Step ",h.currentStepIndex+1]}),s.jsx("td",{className:"text-xs",children:h.nextActionAt?Yn(h.nextActionAt):"—"}),s.jsx("td",{className:"subtle text-xs",children:h.enteredAt?Yn(h.enteredAt):"—"})]},d)):s.jsx(q,{colSpan:4,label:"No active runs."})})]})})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Events"}),s.jsx("span",{className:"card-sub",children:l.length===50?"Last 50 · append-only":`${l.length} total`})]}),s.jsx("div",{style:{padding:"4px 16px 12px"},children:l.length===0?s.jsx("div",{className:"subtle text-xs",style:{padding:8},children:"No events recorded."}):l.map((h,d)=>s.jsxs("div",{className:"hstack",style:{padding:"10px 0",borderBottom:d<l.length-1?"1px solid var(--border)":""},children:[s.jsx("div",{style:{width:24,height:24,borderRadius:6,background:"var(--accent-soft)",color:"var(--accent-press)",display:"grid",placeItems:"center"},children:s.jsx(M.Activity,{size:12})}),s.jsxs("div",{children:[s.jsx("div",{className:"text-sm f500",children:h.name}),h.properties&&s.jsx("div",{className:"mono text-xs subtle",children:JSON.stringify(h.properties).slice(0,80)})]}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle",children:h.occurredAt?Yn(h.occurredAt):""})]},String(h._id??d)))})]}),s.jsxs("div",{className:"card card-pad-0",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Recent sends"})}),s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Template"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Opens"}),s.jsx("th",{children:"Clicks"}),s.jsx("th",{children:"When"})]})}),s.jsx("tbody",{children:r.length===0?s.jsx(q,{colSpan:5,label:"No sends for this contact."}):r.slice(0,10).map((h,d)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:h.templateSlug}),s.jsx("td",{children:s.jsx(Ut,{status:h.status})}),s.jsx("td",{className:"tabular",children:h.openCount??0}),s.jsx("td",{className:"tabular",children:h.clickCount??0}),s.jsx("td",{className:"text-xs subtle",children:h.queuedAt?Yn(h.queuedAt):""})]},String(h._id??d)))})]})]})]}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Subscription"})}),s.jsxs("div",{className:"card-body",style:{display:"grid",gap:8},children:[s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Status"}),s.jsx("span",{className:"grow"}),(()=>{const h=n.status??(t==null?void 0:t.status)??null;return h?s.jsx(Ut,{status:h==="pending_doi"?"queued":h}):s.jsx("span",{className:"text-xs subtle",children:"—"})})()]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Source"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"mono text-xs",children:n.source??"—"})]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Subscribed"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs",children:n.subscribedAt?Yn(n.subscribedAt):"—"})]}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm subtle",children:"Email at subscribe"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"mono text-xs",children:n.emailAtSubscribe??i})]})]})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Adapter fields"}),s.jsx("span",{className:"card-sub",children:"From host users.find"})]}),s.jsx("div",{className:"card-body",children:s.jsx("pre",{className:"code",style:{margin:0,padding:12,fontSize:11,overflow:"auto",maxHeight:320},children:JSON.stringify({externalId:o,email:i,tags:(t==null?void 0:t.tags)??[],timezone:t==null?void 0:t.timezone,fields:(t==null?void 0:t.fields)??{}},null,2)})})]})]})]})]})}function Yn(e){const t=typeof e=="string"?new Date(e):e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return"";const n=Date.now()-t.getTime();if(n<0){const l=-n;return l<6e4?`in ${Math.floor(l/1e3)}s`:l<36e5?`in ${Math.floor(l/6e4)}m`:l<864e5?`in ${Math.floor(l/36e5)}h`:`in ${Math.floor(l/864e5)}d`}return n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function dp({setRoute:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.sends()),a=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Sends",desc:"Every send. Live status from provider webhooks."}),s.jsxs("div",{className:"filter-bar",children:[s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle tabular",children:t?`${a.length} shown`:"Loading…"})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No sends yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"id"}),s.jsx("th",{children:"Template"}),s.jsx("th",{children:"To"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Flow"}),s.jsx("th",{className:"num",children:"Opens"}),s.jsx("th",{className:"num",children:"Clicks"}),s.jsx("th",{children:"Time"})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:8,label:"No sends yet."}):a.map(i=>s.jsxs("tr",{onClick:()=>e({screen:"send-detail",id:String(i._id??i.id)}),children:[s.jsx("td",{className:"mono text-xs",children:String(i._id??i.id).slice(-8)}),s.jsx("td",{className:"mono",children:i.templateSlug??"—"}),s.jsx("td",{className:"text-xs",children:i.emailAtSend??"—"}),s.jsxs("td",{children:[s.jsx(Ut,{status:i.status}),i.bounceType&&s.jsxs("span",{className:"text-xs subtle",style:{marginLeft:6},children:["· ",i.bounceType]})]}),s.jsx("td",{children:i.flowSlug?s.jsx("span",{className:"tag",children:i.flowSlug}):s.jsx("span",{className:"subtle text-xs",children:"—"})}),s.jsx("td",{className:"num tabular",children:i.openCount??0}),s.jsx("td",{className:"num tabular",children:i.clickCount??0}),s.jsx("td",{className:"text-xs subtle",children:hp(i.queuedAt)})]},i._id??i.id))})]})})})]})}function hp(e){if(!e)return"—";const t=typeof e=="string"?new Date(e):e,n=Date.now()-t.getTime();return n<6e4?`${Math.floor(n/1e3)}s ago`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function fp({id:e}){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.send(e),[e]);return s.jsx(Le,{loading:n&&!t,error:l,empty:!t,emptyLabel:"Send not found.",retry:r,children:t&&s.jsx(pp,{data:t})})}function pp({data:e}){const t=e.send??{},n=e.webhookEvents??[],l=mp(t);return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:s.jsx("span",{className:"mono",children:String(t._id)}),desc:s.jsxs(s.Fragment,{children:["Sent to ",s.jsx("span",{className:"mono",children:t.emailAtSend??"—"})]})}),s.jsxs("div",{className:"split split-asym",children:[s.jsx("div",{className:"vstack",style:{gap:16},children:s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Status timeline"}),s.jsx("div",{className:"card-actions",children:t.status?s.jsx(Ut,{status:t.status}):s.jsx("span",{className:"text-xs subtle",children:"—"})})]}),s.jsx("div",{className:"card-body",children:l.length===0?s.jsx("div",{className:"text-xs subtle",style:{padding:8},children:"No timeline events yet."}):s.jsxs("div",{style:{position:"relative",paddingLeft:24},children:[s.jsx("div",{style:{position:"absolute",left:7,top:6,bottom:6,width:2,background:"var(--border)"}}),l.map((r,a)=>s.jsxs("div",{style:{position:"relative",paddingBottom:14},children:[s.jsx("div",{style:{position:"absolute",left:-21,top:4,width:12,height:12,borderRadius:"50%",background:a===l.length-1?"var(--accent)":"var(--bg-elev)",border:"2px solid "+(a===l.length-1?"var(--accent)":"var(--border-strong)")}}),s.jsxs("div",{className:"hstack",children:[s.jsx("span",{className:"text-sm f500",style:{textTransform:"capitalize"},children:r.t}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle mono",children:r.at})]}),s.jsx("div",{className:"text-xs subtle",children:r.desc})]},a))]})})]})}),s.jsxs("div",{className:"vstack",style:{gap:16},children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Metadata"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8,fontSize:13},children:[["Template",s.jsx("span",{className:"mono",children:t.templateSlug??"—"})],["Kind",s.jsx("span",{className:"pill neutral",children:t.kind??"—"})],["Provider",s.jsx("span",{className:"mono",children:t.provider??"—"})],["Provider message ID",s.jsx("span",{className:"mono text-xs",children:t.providerMessageId??"—"})],["Flow run",t.flowRunId?s.jsx("span",{className:"mono text-xs",children:String(t.flowRunId).slice(-8)}):"—"],["From",s.jsx("span",{className:"mono text-xs",children:t.fromEmail??"—"})],["Subject",t.subjectAtSend??t.subject??"—"],["Body hash",s.jsx("span",{className:"mono text-xs",children:t.bodyHash?`sha256:${String(t.bodyHash).slice(0,8)}…`:"—"})],["dedupeKey",s.jsx("span",{className:"mono text-xs",children:t.dedupeKey??"—"})]].map(([r,a])=>s.jsxs("div",{className:"hstack",style:{alignItems:"baseline"},children:[s.jsx("span",{className:"subtle",style:{width:140,flex:"0 0 auto"},children:r}),s.jsx("span",{style:{textAlign:"right",flex:1},children:a})]},r))})]}),s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Webhook events"}),s.jsxs("span",{className:"card-sub",children:[n.length," received"]})]}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:8},children:n.length>0?n.map((r,a)=>s.jsxs("div",{className:"hstack",children:[r.normalizedType??r.type?s.jsx(Ut,{status:r.normalizedType??r.type}):s.jsx("span",{className:"text-xs subtle",children:"—"}),s.jsx("span",{className:"grow"}),s.jsx("span",{className:"text-xs subtle mono",children:r.occurredAt?new Date(r.occurredAt).toLocaleTimeString():""}),s.jsx("span",{className:"text-xs subtle mono",children:r.providerEventId??""})]},String(r._id??a))):s.jsx("div",{className:"text-xs subtle",children:"No webhook events yet."})})]})]})]})]})}function mp(e){const t=l=>l?new Date(l).toLocaleTimeString():"",n=[];return e.queuedAt&&n.push({at:t(e.queuedAt),t:"queued",desc:"Enqueued for dispatch"}),e.sentAt&&n.push({at:t(e.sentAt),t:"sent",desc:`Provider ${e.provider??""}`}),e.deliveredAt&&n.push({at:t(e.deliveredAt),t:"delivered",desc:"Webhook · delivered"}),e.openedAt&&n.push({at:t(e.openedAt),t:"opened",desc:`Open${(e.openCount??0)>1?` (×${e.openCount})`:""}`}),e.firstClickAt&&n.push({at:t(e.firstClickAt),t:"clicked",desc:`Click${(e.clickCount??0)>1?` (×${e.clickCount})`:""}`}),n}function xp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.suppressions()),a=t??[],i=N=>a.filter(p=>p.reason===N).length,[c,o]=E.useState(!1),[u,h]=E.useState({email:"",scope:"all",reason:"manual",notes:""}),[d,m]=E.useState(null),[v,g]=E.useState(!1);async function S(N){N.preventDefault(),m(null),g(!0);try{await D.addSuppression({email:u.email.trim(),scope:u.scope,reason:u.reason,source:"admin",notes:u.notes.trim()||void 0}),o(!1),h({email:"",scope:"all",reason:"manual",notes:""}),r()}catch(p){m(String((p==null?void 0:p.message)??p))}finally{g(!1)}}return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Suppressions",desc:"Do-not-send list scoped by kind. Auto-added on hard bounce, complaint, or unsubscribe.",actions:s.jsxs("button",{className:"btn btn-primary",onClick:()=>o(!0),children:[s.jsx(M.Plus,{size:14}),"Add suppression"]})}),c&&s.jsxs("div",{className:"card",style:{marginBottom:16,padding:16},children:[s.jsxs("div",{className:"card-head",style:{padding:0,marginBottom:12},children:[s.jsx("span",{className:"card-title",children:"Add suppression"}),s.jsx("span",{className:"grow"}),s.jsx("button",{className:"icon-btn",onClick:()=>o(!1),children:s.jsx(M.X,{size:14})})]}),s.jsxs("form",{onSubmit:S,className:"vstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Email"}),s.jsx("input",{className:"input",type:"email",required:!0,value:u.email,onChange:N=>h({...u,email:N.target.value})})]}),s.jsxs("div",{className:"hstack",style:{gap:12},children:[s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Scope"}),s.jsxs("select",{className:"select",value:u.scope,onChange:N=>h({...u,scope:N.target.value}),children:[s.jsx("option",{value:"all",children:"All"}),s.jsx("option",{value:"marketing",children:"Marketing only"}),s.jsx("option",{value:"transactional",children:"Transactional only"})]})]}),s.jsxs("div",{className:"field",style:{flex:1,marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Reason"}),s.jsxs("select",{className:"select",value:u.reason,onChange:N=>h({...u,reason:N.target.value}),children:[s.jsx("option",{value:"manual",children:"manual"}),s.jsx("option",{value:"hard_bounce",children:"hard_bounce"}),s.jsx("option",{value:"complaint",children:"complaint"}),s.jsx("option",{value:"unsubscribed",children:"unsubscribed"})]})]})]}),s.jsxs("div",{className:"field",style:{marginBottom:0},children:[s.jsx("label",{className:"field-label",children:"Notes (optional)"}),s.jsx("input",{className:"input",value:u.notes,onChange:N=>h({...u,notes:N.target.value})})]}),d&&s.jsx("div",{className:"text-xs",style:{color:"var(--red-fg)"},children:d}),s.jsxs("div",{className:"hstack",style:{gap:8},children:[s.jsx("button",{type:"submit",className:"btn btn-primary",disabled:v,children:"Add"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>o(!1),children:"Cancel"})]})]})]}),s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Total suppressed"}),s.jsx("div",{className:"kpi-value",children:t?a.length:"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All scopes"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Hard bounce"}),s.jsx("div",{className:"kpi-value",children:t?i("hard_bounce"):"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Complaints"}),s.jsx("div",{className:"kpi-value",children:t?i("complaint"):"—"}),s.jsx("div",{className:"kpi-meta subtle",children:"All-time"})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Unsubscribed"}),s.jsx("div",{className:"kpi-value",children:t?i("unsubscribed"):"—"})]})]}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No suppressions yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Email"}),s.jsx("th",{children:"Scope"}),s.jsx("th",{children:"Reason"}),s.jsx("th",{children:"Source"}),s.jsx("th",{children:"Added"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:6,label:"No suppressions yet."}):a.map((N,p)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:N.email??s.jsx("span",{className:"subtle",children:"(hash only)"})}),s.jsx("td",{children:s.jsx("span",{className:"pill "+gp(N.scope),children:N.scope})}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:N.reason})}),s.jsx("td",{className:"text-xs subtle mono",children:N.source??"—"}),s.jsx("td",{className:"text-xs subtle",children:N.addedAt?new Date(N.addedAt).toLocaleString():"—"}),s.jsx("td",{children:s.jsx(M.Dots,{size:14})})]},String(N._id??(N.email??"")+N.scope+p)))})]})})})]})}function gp(e){switch(e){case"all":return"red";case"marketing":return"amber";case"transactional":return"violet";default:return"neutral"}}function vp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.audit()),a=t??[];return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Audit log",desc:"Every mutating action. Append-only."}),s.jsx("div",{className:"card card-pad-0",children:s.jsx(Le,{loading:n&&!t,error:l,empty:!!t&&a.length===0,emptyLabel:"No audit events yet.",retry:r,children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Actor"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Resource"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"Time"}),s.jsx("th",{style:{width:32}})]})}),s.jsx("tbody",{children:a.length===0?s.jsx(q,{colSpan:6,label:"No audit events yet."}):a.map((i,c)=>{const o=i.actor??"system:unknown",u=o.startsWith("human:"),h=o.startsWith("system:");return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsxs("div",{className:"hstack",children:[s.jsx("div",{style:{width:22,height:22,borderRadius:5,background:u?"var(--violet-soft)":h?"var(--blue-soft)":"var(--accent-soft)",color:u?"var(--violet-fg)":h?"var(--blue-fg)":"var(--accent-press)",display:"grid",placeItems:"center"},children:u?s.jsx(M.Contacts,{size:11}):h?s.jsx(M.Settings,{size:11}):s.jsx(M.Sparkles,{size:11})}),s.jsx("span",{className:"text-xs mono",children:o})]})}),s.jsx("td",{children:s.jsx("span",{className:"tag",children:i.action})}),s.jsx("td",{className:"mono text-xs",children:yp(i.resource)}),s.jsx("td",{className:"text-xs subtle",children:i.diffSummary??""}),s.jsx("td",{className:"text-xs subtle",children:i.occurredAt?new Date(i.occurredAt).toLocaleString():""}),s.jsx("td",{children:s.jsx(M.Chevron,{size:12})})]},String(i._id??c))})})]})})})]})}function yp(e){return e?typeof e=="string"?e:e.slug?`${(e.collection??"").replace("mailer_","")}/${e.slug}`:e.id?`${(e.collection??"").replace("mailer_","")}/${String(e.id).slice(-8)}`:e.collection??"":""}function jp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.health()),{data:a,refetch:i}=V(()=>D.healthTrips()),{data:c}=V(()=>D.me()),{data:o,refetch:u}=V(()=>D.dnsbl()),{data:h,refetch:d}=V(()=>D.postmaster()),{data:m,refetch:v}=V(()=>D.snds()),{data:g,refetch:S}=V(()=>D.dmarc()),[N,p]=E.useState(!1),[f,x]=E.useState(null),[k,T]=E.useState(null),w=E.useRef(null),[_,C]=E.useState(!1),[H,A]=E.useState(null),[W,he]=E.useState(!1),[xe,ct]=E.useState(null),[ut,Ke]=E.useState(!1),[qe,j]=E.useState(null);async function P(){C(!0),A(null);try{await D.recheckDnsbl(),u()}catch(y){A(String((y==null?void 0:y.message)??y))}finally{C(!1)}}async function L(){he(!0),ct(null);try{await D.refreshPostmaster(),d()}catch(y){ct(String((y==null?void 0:y.message)??y))}finally{he(!1)}}async function O(){Ke(!0),j(null);try{await D.refreshSnds(),v()}catch(y){j(String((y==null?void 0:y.message)??y))}finally{Ke(!1)}}async function G(y){if(!y||y.length===0)return;p(!0),T(null),x(null);const F=[],ht=[],$n=[];for(const In of Array.from(y))try{(await D.uploadDmarc(In)).duplicate?ht.push(1):F.push(1)}catch(Bn){$n.push({name:In.name,message:String((Bn==null?void 0:Bn.message)??Bn)})}const An=[];F.length&&An.push(`Ingested ${F.length} report(s)`),ht.length&&An.push(`${ht.length} duplicate(s) skipped`),$n.length&&An.push(`${$n.length} failed`),An.length&&x(An.join(", ")+"."),$n.length&&T($n.map(In=>`${In.name}: ${In.message}`).join("; ")),S(),p(!1),w.current&&(w.current.value="")}const[Je,ke]=E.useState(null),[dt,z]=E.useState(null);async function le(){ke("all"),z(null);try{await D.resumeHealth(),r(),i()}catch(y){z(String((y==null?void 0:y.message)??y))}finally{ke(null)}}async function ie(y){if(!(!y.senderDomain||!y.kind)){ke(y._id),z(null);try{await D.resumeHealth({senderDomain:y.senderDomain,kind:y.kind}),r(),i()}catch(F){z(String((F==null?void 0:F.message)??F))}finally{ke(null)}}}const K=(t==null?void 0:t.rates)??{},Ie=(t==null?void 0:t.thresholds)??{},di=(t==null?void 0:t.buckets)??[],Fs=(t==null?void 0:t.status)??null,St=y=>y==null?"—":`${(y*100).toFixed(2)}%`;function wt(y,F){if(y==null||F==null)return"var(--fg-muted)";const ht=y*100;return ht>=F?"var(--red-fg)":ht>=F/2?"var(--amber-fg)":"var(--green-fg)"}const Ms=(y,F)=>y==null?"":`${F} @ ${y.toFixed(2)}%`;return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"Health",desc:"Circuit breaker · rolling window · per-(domain × kind) buckets.",actions:s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"pill "+Ro(Fs),children:[s.jsx("span",{className:"dot"}),Fs??(t?"no telemetry":"…")]}),Fs&&Fs!=="healthy"&&s.jsxs("button",{className:"btn btn-primary",disabled:Je==="all",onClick:le,children:[s.jsx(M.Play,{size:14}),Je==="all"?"Resuming…":"Resume all"]}),dt&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:dt})]})}),s.jsxs(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Hard bounce / 1h (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.hardBounceRate,Ie.hardBounceRatePctTrip)},children:St(K.hardBounceRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.hardBounceRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Complaint / 1h (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.complaintRate,Ie.complaintRatePctTrip)},children:St(K.complaintRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.complaintRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Combined bounce (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.bounceRate,Ie.combinedBounceRatePctTrip)},children:St(K.bounceRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.combinedBounceRatePctTrip,"Trip")})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Failed-to-send (overall)"}),s.jsx("div",{className:"kpi-value",style:{color:wt(K.failureRate,Ie.failedToSendRatePctDegrade)},children:St(K.failureRate)}),s.jsx("div",{className:"kpi-meta subtle",children:Ms(Ie.failedToSendRatePctDegrade,"Degrade")})]})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Per-(sender domain × kind)"}),s.jsx("span",{className:"card-sub",children:"Trips happen per bucket — one subdomain tanking doesn't hold mail for the others."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Sender domain"}),s.jsx("th",{children:"Kind"}),s.jsx("th",{children:"Status"}),s.jsx("th",{className:"text-right",children:"Hard bounce"}),s.jsx("th",{className:"text-right",children:"Complaint"}),s.jsx("th",{className:"text-right",children:"Combined"}),s.jsx("th",{className:"text-right",children:"Failure"}),s.jsx("th",{className:"text-right",children:"Sent / 1h"}),s.jsx("th",{})]})}),s.jsx("tbody",{children:di.length===0?s.jsx(q,{colSpan:9,label:"No buckets yet. Buckets are created the first time a counter is recorded for a (domain, kind) pair."}):di.map(y=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.senderDomain??"_unknown"}),s.jsx("td",{children:y.kind??"—"}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Ro(y.status),children:[s.jsx("span",{className:"dot"}),y.status]})}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.hardBounceRate,Ie.hardBounceRatePctTrip)},children:St(y.rates.hardBounceRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.complaintRate,Ie.complaintRatePctTrip)},children:St(y.rates.complaintRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.bounceRate,Ie.combinedBounceRatePctTrip)},children:St(y.rates.bounceRate)}),s.jsx("td",{className:"text-right",style:{color:wt(y.rates.failureRate,Ie.failedToSendRatePctDegrade)},children:St(y.rates.failureRate)}),s.jsx("td",{className:"text-right mono text-xs",children:y.counters.sent}),s.jsx("td",{className:"text-right",children:y.status==="tripped"&&s.jsx("button",{className:"btn btn-xs",disabled:Je===y._id,onClick:()=>ie(y),title:y.trippedReason??void 0,children:Je===y._id?"Resuming…":"Resume"})})]},y._id))})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"DNS block lists"}),s.jsx("span",{className:"card-sub",children:o!=null&&o.latestRunAt?`Last run ${new Date(o.latestRunAt).toLocaleString()} · every ${o.intervalHours}h`:"No checks run yet"}),s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:_,onClick:P,children:_?"Rechecking…":"Recheck now"}),H&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:H})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Target"}),s.jsx("th",{children:"Type"}),s.jsx("th",{children:"List"}),s.jsx("th",{children:"Status"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{className:"text-right",children:"Checked"})]})}),s.jsx("tbody",{children:o?o.checks.length===0?s.jsx(q,{colSpan:6,label:"No DNSBL checks yet. Press 'Recheck now' to run the first scan."}):o.checks.map((y,F)=>s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.target}),s.jsx("td",{children:y.targetKind}),s.jsx("td",{className:"text-xs",children:y.listLabel}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Np(y.result),children:[s.jsx("span",{className:"dot"}),y.result]})}),s.jsx("td",{className:"text-xs mono",children:y.result==="listed"?y.returnCodes.join(", "):y.result==="error"?y.errorMessage??"—":"—"}),s.jsx("td",{className:"text-right text-xs",children:new Date(y.runAt).toLocaleString()})]},String(y._id??`${y.target}|${y.list}|${F}`))):s.jsx(q,{colSpan:6,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Google Postmaster Tools"}),s.jsx("span",{className:"card-sub",children:h?h.configured?`Pulled every ${h.intervalHours}h · ${h.domains.length} domain(s)`:"Not configured — set MailerConfig.postmaster to enable":"Loading…"}),(h==null?void 0:h.configured)&&s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:W,onClick:L,children:W?"Refreshing…":"Refresh now"}),xe&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:xe})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Domain"}),s.jsx("th",{children:"Reputation"}),s.jsx("th",{className:"text-right",children:"User spam %"}),s.jsx("th",{className:"text-right",children:"SPF pass"}),s.jsx("th",{className:"text-right",children:"DKIM pass"}),s.jsx("th",{className:"text-right",children:"DMARC pass"}),s.jsx("th",{className:"text-right",children:"As of"})]})}),s.jsx("tbody",{children:h?h.configured?h.domains.length===0?s.jsx(q,{colSpan:7,label:"No snapshots yet. Press 'Refresh now' or wait for the first scheduled pull."}):h.domains.map(y=>{const F=y.latest;return s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.domain}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+kp(F==null?void 0:F.domainReputation),children:[s.jsx("span",{className:"dot"}),(F==null?void 0:F.domainReputation)??"—"]})}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.userReportedSpamRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.spfSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.dkimSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.dmarcSuccessRatio)}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.date)??"—"})]},y.domain)}):s.jsx(q,{colSpan:7,label:"Configure MailerConfig.postmaster (OAuth client + refresh token) to start pulling Gmail reputation data."}):s.jsx(q,{colSpan:7,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Microsoft SNDS"}),s.jsx("span",{className:"card-sub",children:m?m.configured?`Pulled every ${m.intervalHours}h · ${m.ips.length} IP(s)`:"Not configured — only useful for dedicated IPs":"Loading…"}),(m==null?void 0:m.configured)&&s.jsxs("div",{className:"card-actions",children:[s.jsx("button",{className:"btn btn-xs",disabled:ut,onClick:O,children:ut?"Refreshing…":"Refresh now"}),qe&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:qe})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"IP"}),s.jsx("th",{children:"Filter"}),s.jsx("th",{className:"text-right",children:"Complaint rate"}),s.jsx("th",{className:"text-right",children:"Trap msgs"}),s.jsx("th",{className:"text-right",children:"Recipients"}),s.jsx("th",{className:"text-right",children:"Activity window"})]})}),s.jsx("tbody",{children:m?m.configured?m.ips.length===0?s.jsx(q,{colSpan:6,label:"No snapshots yet. Press 'Refresh now' to fetch, or wait for the next scheduled pull."}):m.ips.map(y=>{const F=y.latest;return s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.ip}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+Sp(F==null?void 0:F.filterResult),children:[s.jsx("span",{className:"dot"}),(F==null?void 0:F.filterResult)??"—"]})}),s.jsx("td",{className:"text-right text-xs",children:cn(F==null?void 0:F.complaintRate)}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.trapMessageCount)??0}),s.jsx("td",{className:"text-right text-xs",children:(F==null?void 0:F.messageRecipients)??0}),s.jsx("td",{className:"text-right text-xs",children:F?`${new Date(F.activityStart).toLocaleDateString()} – ${new Date(F.activityEnd).toLocaleDateString()}`:"—"})]},y.ip)}):s.jsx(q,{colSpan:6,label:"Set MailerConfig.snds.accessKey to enable. Only useful when sending from a dedicated IP."}):s.jsx(q,{colSpan:6,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"DMARC RUA reports"}),s.jsx("span",{className:"card-sub",children:"Upload `.zip` / `.gz` aggregate reports from your `rua=` mailbox to see who is sending as your domain."}),s.jsxs("div",{className:"card-actions",children:[s.jsx("input",{ref:w,type:"file",accept:".zip,.gz,.xml",multiple:!0,"aria-label":"DMARC RUA aggregate report file(s)",style:{display:"none"},onChange:y=>G(y.target.files)}),s.jsx("button",{className:"btn btn-xs",disabled:N,onClick:()=>{var y;return(y=w.current)==null?void 0:y.click()},children:N?"Uploading…":"Upload report(s)"}),f&&s.jsx("span",{className:"text-xs subtle",children:f}),k&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:k})]})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Domain"}),s.jsx("th",{children:"Policy"}),s.jsx("th",{className:"text-right",children:"Reports"}),s.jsx("th",{className:"text-right",children:"Messages"}),s.jsx("th",{className:"text-right",children:"Pass"}),s.jsx("th",{className:"text-right",children:"Fail"}),s.jsx("th",{className:"text-right",children:"Alignment"}),s.jsx("th",{children:"14d trend"}),s.jsx("th",{className:"text-right",children:"Last range"})]})}),s.jsx("tbody",{children:g?g.domains.length===0?s.jsx(q,{colSpan:9,label:"No reports yet. Upload your first DMARC RUA aggregate report (typically a .zip or .gz attachment from your rua= mailbox)."}):g.domains.map(y=>s.jsxs(E.Fragment,{children:[s.jsxs("tr",{children:[s.jsx("td",{className:"mono text-xs",children:y.domain}),s.jsxs("td",{className:"text-xs",children:[y.currentPolicy??"—",y.currentPct!=null&&y.currentPct!==100?` (pct=${y.currentPct})`:""]}),s.jsx("td",{className:"text-right text-xs",children:y.reportCount}),s.jsx("td",{className:"text-right text-xs",children:y.totalMessages.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:y.passCount.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",style:{color:y.failCount>0?"var(--red-fg)":void 0},children:y.failCount.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:cn(y.alignmentRate)}),s.jsx("td",{children:s.jsx(wp,{values:y.series.map(F=>F.alignmentRate)})}),s.jsx("td",{className:"text-right text-xs",children:y.latestRangeEnd?new Date(y.latestRangeEnd).toLocaleDateString():"—"})]}),y.progression&&s.jsx("tr",{children:s.jsx("td",{colSpan:9,style:{background:"var(--bg-sunken)"},children:s.jsxs("div",{className:"hstack",style:{padding:"8px 12px",gap:10},children:[s.jsxs("span",{className:"pill green",children:[s.jsx("span",{className:"dot"}),"Suggestion"]}),s.jsxs("span",{className:"text-sm",children:[s.jsxs("strong",{children:[y.domain,":"]})," ready to advance to"," ",s.jsxs("span",{className:"mono",children:["p=",y.progression.policy,y.progression.pct!==100?` pct=${y.progression.pct}`:""]})," — ",s.jsx("span",{className:"subtle text-xs",children:y.progression.reason})]})]})})})]},y.domain)):s.jsx(q,{colSpan:9,label:"Loading…"})})]})})]}),g&&g.sources.length>0&&s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Top failing source IPs (last 30 days)"}),s.jsx("span",{className:"card-sub",children:"IPs sending mail as your domain that did not pass DMARC alignment. Tag known sources so the policy-progression suggestion can run."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Source IP"}),s.jsx("th",{children:"Label"}),s.jsx("th",{children:"Domain"}),s.jsx("th",{className:"text-right",children:"Messages"}),s.jsx("th",{className:"text-right",children:"Days seen"}),s.jsx("th",{children:"DKIM"}),s.jsx("th",{children:"SPF"}),s.jsx("th",{children:"Disposition"}),s.jsx("th",{children:"Tag"})]})}),s.jsx("tbody",{children:g.sources.map(y=>s.jsx(bp,{source:y,onChanged:()=>S()},`${y.sourceIp}|${y.domain}`))})]})})]}),s.jsxs("div",{className:"split split-asym",style:{marginBottom:16},children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Recent trips"}),s.jsx("span",{className:"card-sub",children:"From audit log"})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"When"}),s.jsx("th",{children:"Action"}),s.jsx("th",{children:"Detail"}),s.jsx("th",{children:"Actor"})]})}),s.jsx("tbody",{children:a?a.length===0?s.jsx(q,{colSpan:4,label:"No trips or resumes recorded."}):a.map((y,F)=>{var ht;return s.jsxs("tr",{children:[s.jsx("td",{className:"text-xs",children:y.occurredAt?new Date(y.occurredAt).toLocaleString():"—"}),s.jsx("td",{children:s.jsxs("span",{className:"pill "+(y.action==="health.trip"?"red":"green"),children:[s.jsx("span",{className:"dot"}),y.action==="health.trip"?"Tripped":"Resumed"]})}),s.jsx("td",{className:"text-xs mono",children:((ht=y.resource)==null?void 0:ht.id)??y.diffSummary??"—"}),s.jsx("td",{className:"text-xs mono",children:y.actor??"—"})]},String(y._id??F))}):s.jsx(q,{colSpan:4,label:"Loading…"})})]})})]}),s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"card-head",children:s.jsx("span",{className:"card-title",children:"Providers"})}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:10},children:c?c.providers.names.length===0?s.jsx("div",{className:"text-xs subtle",children:"No providers configured."}):c.providers.names.map(y=>s.jsxs("div",{className:"hstack",style:{padding:"10px 12px",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)"},children:[s.jsx("div",{style:{width:30,height:30,borderRadius:7,background:"var(--bg-sunken)",display:"grid",placeItems:"center"},children:s.jsx(M.Mail,{size:14})}),s.jsxs("div",{children:[s.jsx("div",{className:"f500 text-sm",children:y}),s.jsx("div",{className:"text-xs subtle",children:y===c.providers.default?"default":"configured"})]}),s.jsx("span",{className:"grow"})]},y)):s.jsx("div",{className:"text-xs subtle",children:"Loading…"})})]})]})]})]})}function Ro(e){return e==="tripped"?"red":e==="degraded"?"amber":e==="healthy"?"green":"neutral"}function Np(e){return e==="listed"?"red":e==="error"?"amber":e==="clean"?"green":"neutral"}function kp(e){return e==="BAD"?"red":e==="LOW"?"amber":e==="HIGH"||e==="MEDIUM"?"green":"neutral"}function Sp(e){return e==="RED"?"red":e==="YELLOW"?"amber":e==="GREEN"?"green":"neutral"}function wp({values:e,width:t=80,height:n=18}){if(!e||e.length===0)return s.jsx("span",{className:"text-xs subtle",children:"—"});const l=e.filter(u=>u!=null);if(l.length===0)return s.jsx("span",{className:"text-xs subtle",children:"—"});const r=e.length>1?t/(e.length-1):t,a=[];let i=[];e.forEach((u,h)=>{if(u==null){i.length>0&&(a.push(i),i=[]);return}const d=h*r,m=n-u*n;i.push(`${d.toFixed(1)},${m.toFixed(1)}`)}),i.length>0&&a.push(i);const c=l[l.length-1],o=c>=.99?"var(--green-fg)":c>=.95?"var(--amber-fg)":"var(--red-fg)";return s.jsx("svg",{width:t,height:n,style:{overflow:"visible"},"aria-hidden":"true",children:a.map((u,h)=>s.jsx("polyline",{fill:"none",stroke:o,strokeWidth:"1.5",points:u.join(" ")},h))})}function bp({source:e,onChanged:t}){const[n,l]=E.useState(!1),[r,a]=E.useState(e.label??""),[i,c]=E.useState(e.ignored),[o,u]=E.useState(!1),[h,d]=E.useState(null);async function m(){if(!r.trim()){d("Label is required");return}u(!0),d(null);try{await D.tagDmarcSource(e.sourceIp,{label:r.trim(),ignored:i}),l(!1),t()}catch(g){d(String((g==null?void 0:g.message)??g))}finally{u(!1)}}async function v(){u(!0),d(null);try{await D.untagDmarcSource(e.sourceIp),l(!1),a(""),c(!1),t()}catch(g){d(String((g==null?void 0:g.message)??g))}finally{u(!1)}}return s.jsxs("tr",{style:{opacity:e.ignored?.55:1},children:[s.jsx("td",{className:"mono text-xs",children:e.sourceIp}),s.jsx("td",{className:"text-xs",children:n?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("input",{autoFocus:!0,type:"text",value:r,placeholder:"e.g. SendGrid",onChange:g=>a(g.target.value),style:{width:140},disabled:o}),s.jsxs("label",{className:"text-xs hstack",style:{gap:3},children:[s.jsx("input",{type:"checkbox",checked:i,onChange:g=>c(g.target.checked),disabled:o}),"ignore"]}),h&&s.jsx("span",{className:"text-xs",style:{color:"var(--red-fg)"},children:h})]}):e.label??s.jsx("span",{className:"subtle",children:"unknown"})}),s.jsx("td",{className:"mono text-xs",children:e.domain}),s.jsx("td",{className:"text-right text-xs",children:e.totalMessages.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:e.daysSeen}),s.jsx("td",{className:"text-xs",children:e.dkimResult}),s.jsx("td",{className:"text-xs",children:e.spfResult}),s.jsx("td",{className:"text-xs",children:e.dispositionApplied}),s.jsx("td",{children:n?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:m,children:o?"…":"Save"}),s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:()=>{l(!1),a(e.label??""),c(e.ignored),d(null)},children:"Cancel"})]}):e.label?s.jsxs("span",{className:"hstack",style:{gap:4},children:[s.jsx("button",{className:"btn btn-xs",disabled:e.tagSource==="config",title:e.tagSource==="config"?"Set in MailerConfig — edit there":"",onClick:()=>l(!0),children:"Edit"}),e.tagSource==="db"&&s.jsx("button",{className:"btn btn-xs",disabled:o,onClick:v,children:"Untag"})]}):s.jsx("button",{className:"btn btn-xs",onClick:()=>l(!0),children:"Tag"})})]})}function cn(e){return e==null?"—":`${(e*100).toFixed(1)}%`}function Cp(e){const{data:t,loading:n,error:l,refetch:r}=V(()=>D.hygiene());return s.jsxs(s.Fragment,{children:[s.jsx(Fe,{title:"List hygiene",desc:"Engagement breakdown of your subscriber list. Sunsetting long-inactive contacts is the single biggest lever on bounce + complaint rates.",actions:s.jsx("button",{className:"btn btn-xs",disabled:n,onClick:r,children:n?"Computing…":"Recompute"})}),s.jsx(Le,{loading:n&&!t,error:l,empty:!1,retry:r,children:t&&s.jsx(Ep,{report:t})})]})}function Ep({report:e}){var l,r,a,i,c,o;const t=e.sunsetCandidate,n=t.projectedImpact;return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"kpis",children:[s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Subscribed contacts"}),s.jsx("div",{className:"kpi-value",children:e.totalSubscribers.toLocaleString()}),s.jsxs("div",{className:"kpi-meta subtle",children:[e.totalWithSends.toLocaleString()," have received at least one send"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Engaged (30d)"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--green-fg)"},children:ye((l=e.buckets[0])==null?void 0:l.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((r=e.buckets[0])==null?void 0:r.count.toLocaleString())??0," contacts"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Inactive >180d"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--amber-fg)"},children:ye((a=e.buckets[4])==null?void 0:a.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((i=e.buckets[4])==null?void 0:i.count.toLocaleString())??0," contacts"]})]}),s.jsxs("div",{className:"kpi",children:[s.jsx("div",{className:"kpi-label",children:"Never engaged"}),s.jsx("div",{className:"kpi-value",style:{color:"var(--fg-muted)"},children:ye((c=e.buckets[5])==null?void 0:c.pctOfTotal)}),s.jsxs("div",{className:"kpi-meta subtle",children:[((o=e.buckets[5])==null?void 0:o.count.toLocaleString())??0," contacts"]})]})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Engagement breakdown"}),s.jsx("span",{className:"card-sub",children:"Days since the contact last opened or clicked any mail you sent."})]}),s.jsx("div",{className:"card-body",style:{padding:0},children:s.jsxs("table",{className:"table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Cohort"}),s.jsx("th",{className:"text-right",children:"Contacts"}),s.jsx("th",{className:"text-right",children:"% of subscribers"}),s.jsx("th",{children:"Distribution"})]})}),s.jsx("tbody",{children:e.buckets.length===0||e.totalSubscribers===0?s.jsx(q,{colSpan:4,label:"No subscribers yet."}):e.buckets.map(u=>s.jsx(Tp,{bucket:u},u.label))})]})})]}),s.jsxs("div",{className:"card",style:{marginBottom:16},children:[s.jsxs("div",{className:"card-head",children:[s.jsx("span",{className:"card-title",children:"Sunset opportunity"}),s.jsx("span",{className:"card-sub",children:"Long-inactive contacts disproportionately bounce or complain. Surface only — no automatic action."})]}),s.jsx("div",{className:"card-body",style:{display:"grid",gap:12},children:t.count===0?s.jsx("div",{className:"text-sm subtle",children:"No sunset candidates — every subscribed contact has engaged within the last 180 days, or has been on the list for less than 180 days."}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"text-sm",children:[s.jsx("strong",{children:t.count.toLocaleString()})," subscribed contact",t.count===1?"":"s"," are candidates for sunset (",ye(t.pctOfTotal)," of your list). Definition: inactive >180 days, or never engaged after >180 days of being subscribed."]}),t.cohortLifetime&&s.jsxs("div",{className:"text-sm",children:[s.jsxs("span",{className:"subtle",children:["Cohort lifetime metrics (",t.cohortLifetime.totalSends.toLocaleString()," sends): "]}),"bounce ",s.jsx("strong",{children:ye(t.cohortLifetime.bouncedRate)}),","," ","hard bounce ",s.jsx("strong",{children:ye(t.cohortLifetime.hardBouncedRate)}),","," ","complaint ",s.jsx("strong",{children:ye(t.cohortLifetime.complaintRate)}),"."]}),n&&n.recentTotalSends>0&&s.jsx(Pp,{proj:n})]})})]}),s.jsxs("div",{className:"text-xs subtle",children:["Computed ",new Date(e.computedAt).toLocaleString(),"."]})]})}function Tp({bucket:e}){const t=e.pctOfTotal*100,n=e.label.startsWith("Engaged (last 30")?"var(--green-fg)":e.label.startsWith("Engaged")?"#6abd76":e.label.startsWith("Inactive")?"var(--amber-fg)":"var(--fg-muted)";return s.jsxs("tr",{children:[s.jsx("td",{children:e.label}),s.jsx("td",{className:"text-right mono text-xs",children:e.count.toLocaleString()}),s.jsx("td",{className:"text-right text-xs",children:ye(e.pctOfTotal)}),s.jsx("td",{children:s.jsx("div",{style:{height:8,background:"var(--bg-sunken)",borderRadius:4,overflow:"hidden",maxWidth:240},children:s.jsx("div",{style:{width:`${Math.min(100,t)}%`,height:"100%",background:n,transition:"width 0.3s"}})})})]})}function Pp({proj:e}){const t=e.currentOverallBounceRate-e.projectedBounceRate,n=e.currentOverallComplaintRate-e.projectedComplaintRate,l=e.recentBounced>0?e.cohortRecentBounced/e.recentBounced:0,r=e.recentComplained>0?e.cohortRecentComplained/e.recentComplained:0;return s.jsxs("div",{style:{display:"grid",gap:8},children:[s.jsxs("div",{className:"text-xs subtle",children:["Of the last 90 days' ",e.recentTotalSends.toLocaleString()," sends, the sunset cohort generated:"]}),s.jsxs("div",{className:"hstack",style:{gap:24},children:[s.jsx(Gs,{label:"Recent bounces from cohort",value:`${e.cohortRecentBounced.toLocaleString()} / ${e.recentBounced.toLocaleString()}`,sub:`${ye(l)} of total bounces`}),s.jsx(Gs,{label:"Recent complaints from cohort",value:`${e.cohortRecentComplained.toLocaleString()} / ${e.recentComplained.toLocaleString()}`,sub:`${ye(r)} of total complaints`})]}),s.jsx("div",{className:"text-xs subtle",style:{marginTop:4},children:"Projected rates after sunset:"}),s.jsxs("div",{className:"hstack",style:{gap:24},children:[s.jsx(Gs,{label:"Bounce rate",value:`${ye(e.currentOverallBounceRate)} → ${ye(e.projectedBounceRate)}`,sub:t>0?`−${ye(t)}`:"no change",good:t>0}),s.jsx(Gs,{label:"Complaint rate",value:`${ye(e.currentOverallComplaintRate)} → ${ye(e.projectedComplaintRate)}`,sub:n>0?`−${ye(n)}`:"no change",good:n>0})]})]})}function Gs({label:e,value:t,sub:n,good:l}){return s.jsxs("div",{children:[s.jsx("div",{className:"text-xs subtle",children:e}),s.jsx("div",{className:"text-sm mono",children:t}),s.jsx("div",{className:"text-xs",style:{color:l?"var(--green-fg)":"var(--fg-muted)"},children:n})]})}function ye(e){return e==null?"—":`${(e*100).toFixed(2)}%`}const _p=E.lazy(()=>bf(()=>import("./template-editor-pGcCFnJ7.js"),[]).then(e=>({default:e.TemplateEditor}))),Lo={dashboard:{Comp:(e,t)=>s.jsx(Df,{setRoute:t}),crumbs:()=>["Mailery","Dashboard"]},flows:{Comp:(e,t)=>s.jsx($f,{setRoute:t}),crumbs:()=>["Mailery","Flows"]},"flow-detail":{Comp:(e,t)=>s.jsx(qf,{slug:e.slug,setRoute:t}),crumbs:e=>["Mailery","Flows",e.slug??""]},templates:{Comp:(e,t)=>s.jsx(np,{setRoute:t}),crumbs:()=>["Mailery","Templates"]},"template-editor":{Comp:(e,t)=>s.jsx(E.Suspense,{fallback:s.jsx("div",{style:{padding:32,color:"var(--fg-subtle)"},children:"Loading editor…"}),children:s.jsx(_p,{slug:e.slug,setRoute:t})}),crumbs:e=>["Mailery","Templates",e.slug??""]},broadcasts:{Comp:(e,t)=>s.jsx(sp,{setRoute:t}),crumbs:()=>["Mailery","Broadcasts"]},"broadcast-new":{Comp:(e,t)=>s.jsx(lp,{setRoute:t,slug:e.slug}),crumbs:e=>["Mailery","Broadcasts",e.slug??"New"]},contacts:{Comp:(e,t)=>s.jsx(op,{setRoute:t}),crumbs:()=>["Mailery","Contacts"]},"contact-detail":{Comp:(e,t)=>s.jsx(cp,{id:e.id,setRoute:t}),crumbs:e=>["Mailery","Contacts",e.id??""]},sends:{Comp:(e,t)=>s.jsx(dp,{setRoute:t}),crumbs:()=>["Mailery","Sends"]},"send-detail":{Comp:(e,t)=>s.jsx(fp,{id:e.id,setRoute:t}),crumbs:e=>["Mailery","Sends",e.id??""]},suppressions:{Comp:(e,t)=>s.jsx(xp,{setRoute:t}),crumbs:()=>["Mailery","Suppressions"]},audit:{Comp:(e,t)=>s.jsx(vp,{setRoute:t}),crumbs:()=>["Mailery","Audit log"]},health:{Comp:(e,t)=>s.jsx(jp,{setRoute:t}),crumbs:()=>["Mailery","Health"]},hygiene:{Comp:(e,t)=>s.jsx(Cp,{}),crumbs:()=>["Mailery","List hygiene"]}};function Rp(){const[e,t]=E.useState({screen:"dashboard"}),[n,l]=E.useState("light"),{data:r}=V(()=>D.me());E.useEffect(()=>{document.documentElement.setAttribute("data-theme",n)},[n]);const a=Lo[e.screen]||Lo.dashboard,i=a.crumbs(e);return s.jsxs("div",{className:"app",children:[s.jsx(Tf,{route:e,setRoute:t,me:r}),s.jsxs("div",{className:"main",children:[s.jsx(Pf,{crumbs:i,theme:n,setTheme:l}),s.jsx("div",{className:"content","data-screen-label":e.screen,children:s.jsx("div",{className:"content-inner",children:a.Comp(e,t)})})]})]})}wr.createRoot(document.getElementById("root")).render(s.jsx(E.StrictMode,{children:s.jsx(Rp,{})}));export{M as I,Le as L,Fe as P,E as R,Qu as a,Fp as b,Lp as c,D as d,Fo as g,s as j,Ge as r,V as u};
|
|
41
|
+
//# sourceMappingURL=index-l7m1PyMb.js.map
|