@canonry/canonry 5.34.0 → 6.0.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.
Files changed (39) hide show
  1. package/assets/agent-workspace/skills/aero/references/portfolio-analysis.md +15 -3
  2. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +4 -8
  3. package/assets/assets/{AuditHistoryPanel-Ddg6JIi3.js → AuditHistoryPanel-Bz2NVB6-.js} +1 -1
  4. package/assets/assets/{BacklinksPage-DI9BmaYt.js → BacklinksPage-Dte5-usf.js} +1 -1
  5. package/assets/assets/{HistoryPage-CACIL005.js → HistoryPage-C1S4nw3I.js} +1 -1
  6. package/assets/assets/{MeasurementPropertyPage-D_i3t0DT.js → MeasurementPropertyPage-DWjsHZdt.js} +1 -1
  7. package/assets/assets/ProjectPage-CAJ9XvNt.js +8 -0
  8. package/assets/assets/RunsPage-D9wEJFfV.js +1 -0
  9. package/assets/assets/SettingsPage-CN3Gew7Y.js +1 -0
  10. package/assets/assets/SiteHealthSection-Bft5TfoU.js +4 -0
  11. package/assets/assets/TrafficPage-tkNvySQH.js +40 -0
  12. package/assets/assets/{TrafficSourceDetailPage-BPqNmuws.js → TrafficSourceDetailPage-RhRfPizo.js} +1 -1
  13. package/assets/assets/{extract-error-message-B7OeWj0x.js → extract-error-message-tfl_SU7q.js} +1 -1
  14. package/assets/assets/index-B11OXdEC.css +1 -0
  15. package/assets/assets/index-Cu_xgdb1.js +86 -0
  16. package/assets/assets/{react-sigma_core.esm.min-jiMNkILi.js → react-sigma_core.esm.min-BUu3mcQJ.js} +1 -1
  17. package/assets/assets/{v2-overview-adapter-Caj3bHQE.js → v2-overview-adapter-CzeGhaXn.js} +1 -1
  18. package/assets/index.html +2 -2
  19. package/dist/{chunk-VHPGBX4P.js → chunk-4NC5ZAC2.js} +3 -3
  20. package/dist/{chunk-NZCKJMLC.js → chunk-6M7HSNXJ.js} +2 -2
  21. package/dist/{chunk-AIAVZY6L.js → chunk-F4G7I7T7.js} +18 -132
  22. package/dist/{chunk-NOIK3FUO.js → chunk-HAALQW4R.js} +48 -15
  23. package/dist/{chunk-25H4K7KL.js → chunk-K4356AGP.js} +7 -7
  24. package/dist/{chunk-QTETJEHI.js → chunk-XGERCNUR.js} +6 -3
  25. package/dist/{chunk-G2K5KCUY.js → chunk-ZO62Z2WN.js} +27 -15
  26. package/dist/cli.js +13 -11
  27. package/dist/{demo-server-UI24OAHX.js → demo-server-54OUTZMY.js} +4 -4
  28. package/dist/index.js +6 -6
  29. package/dist/{intelligence-service-ZKFLGJ23.js → intelligence-service-MEIAMMLT.js} +2 -2
  30. package/dist/mcp.js +4 -4
  31. package/package.json +12 -12
  32. package/assets/assets/ProjectPage-d1djqfh3.js +0 -8
  33. package/assets/assets/RunRow-CjhvvA6g.js +0 -1
  34. package/assets/assets/RunsPage-DuBhw2uc.js +0 -1
  35. package/assets/assets/SettingsPage-MUpfB0HH.js +0 -1
  36. package/assets/assets/SiteHealthSection-6qdXlFcO.js +0 -4
  37. package/assets/assets/TrafficPage--nGSOgqn.js +0 -40
  38. package/assets/assets/index-C4lreGwR.js +0 -86
  39. package/assets/assets/index-DX5M4MHr.css +0 -1
@@ -1,86 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-6qdXlFcO.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-N6vOpZmh.js","./ChartPrimitives-B5okB5g-.js","./vendor-recharts-llkUFBGR.js","./ProjectPage-d1djqfh3.js","./RunRow-CjhvvA6g.js","./v2-overview-adapter-Caj3bHQE.js","./vendor-markdown-B4giJcws.js","./extract-error-message-B7OeWj0x.js","./AuditHistoryPanel-Ddg6JIi3.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-DuBhw2uc.js","./HistoryPage-CACIL005.js","./SettingsPage-MUpfB0HH.js","./BacklinksPage-DI9BmaYt.js","./TrafficPage--nGSOgqn.js","./TrafficSourceDetailPage-BPqNmuws.js","./MeasurementPropertyPage-D_i3t0DT.js"])))=>i.map(i=>d[i]);
2
- import{c as KN,d as HN,r as C,j as l,Q as QN,M as FN,q as ye,e as Nc,L as We,a as ZN,t as xr,u as yt,f as YN,h as Jn,k as Cs,l as Ik,m as XN,n as Ok,O as _f,o as Ga,p as JN,s as Pt,v as qk,x as Ns,y as WN,z as e5,A as t5}from"./vendor-tanstack-ZXXkndVj.js";import{S as n5,O as xg,P as Pk,C as wg,a as Mk,T as kg,D as Bk,R as Lk}from"./vendor-radix-twS1M3FF.js";import{c as Vk}from"./vendor-recharts-llkUFBGR.js";import{A as gc,X as $r,S as Sg,a as $k,G as Uk,C as Jd,L as Er,R as ed,M as a5,b as i5,P as Tf,H as Gk,c as s5,d as o5,e as Wd,f as jg,T as Kk,W as r5,g as Ag,h as l5,i as c5,j as u5,k as d5,l as m5,m as p5,n as h5,B as f5,F as g5,o as y5,p as b5,q as v5,r as x5,s as Hk,t as Qk,u as Ef,v as Fk,w as w5,x as Zk,E as k5}from"./vendor-lucide-N6vOpZmh.js";import{M as S5,r as j5}from"./vendor-markdown-B4giJcws.js";import{p as A5}from"./vendor-yaml-GWJz5H2G.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))r(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const f of h.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).observe(document,{childList:!0,subtree:!0});function i(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function r(u){if(u.ep)return;u.ep=!0;const h=i(u);fetch(u.href,h)}})();var Vh={exports:{}},tc={},$h={exports:{}},Uh={};var Hv;function C5(){return Hv||(Hv=1,(function(e){function n(O,ne){var ge=O.length;O.push(ne);e:for(;0<ge;){var Se=ge-1>>>1,ae=O[Se];if(0<u(ae,ne))O[Se]=ne,O[ge]=ae,ge=Se;else break e}}function i(O){return O.length===0?null:O[0]}function r(O){if(O.length===0)return null;var ne=O[0],ge=O.pop();if(ge!==ne){O[0]=ge;e:for(var Se=0,ae=O.length,_e=ae>>>1;Se<_e;){var Be=2*(Se+1)-1,ve=O[Be],le=Be+1,ce=O[le];if(0>u(ve,ge))le<ae&&0>u(ce,ve)?(O[Se]=ce,O[le]=ge,Se=le):(O[Se]=ve,O[Be]=ge,Se=Be);else if(le<ae&&0>u(ce,ge))O[Se]=ce,O[le]=ge,Se=le;else break e}}return ne}function u(O,ne){var ge=O.sortIndex-ne.sortIndex;return ge!==0?ge:O.id-ne.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;e.unstable_now=function(){return h.now()}}else{var f=Date,b=f.now();e.unstable_now=function(){return f.now()-b}}var v=[],w=[],k=1,j=null,T=3,N=!1,q=!1,E=!1,P=!1,H=typeof setTimeout=="function"?setTimeout:null,X=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function Z(O){for(var ne=i(w);ne!==null;){if(ne.callback===null)r(w);else if(ne.startTime<=O)r(w),ne.sortIndex=ne.expirationTime,n(v,ne);else break;ne=i(w)}}function Y(O){if(E=!1,Z(O),!q)if(i(v)!==null)q=!0,ee||(ee=!0,Ue());else{var ne=i(w);ne!==null&&$e(Y,ne.startTime-O)}}var ee=!1,B=-1,K=5,we=-1;function Xe(){return P?!0:!(e.unstable_now()-we<K)}function nt(){if(P=!1,ee){var O=e.unstable_now();we=O;var ne=!0;try{e:{q=!1,E&&(E=!1,X(B),B=-1),N=!0;var ge=T;try{t:{for(Z(O),j=i(v);j!==null&&!(j.expirationTime>O&&Xe());){var Se=j.callback;if(typeof Se=="function"){j.callback=null,T=j.priorityLevel;var ae=Se(j.expirationTime<=O);if(O=e.unstable_now(),typeof ae=="function"){j.callback=ae,Z(O),ne=!0;break t}j===i(v)&&r(v),Z(O)}else r(v);j=i(v)}if(j!==null)ne=!0;else{var _e=i(w);_e!==null&&$e(Y,_e.startTime-O),ne=!1}}break e}finally{j=null,T=ge,N=!1}ne=void 0}}finally{ne?Ue():ee=!1}}}var Ue;if(typeof L=="function")Ue=function(){L(nt)};else if(typeof MessageChannel<"u"){var qe=new MessageChannel,ke=qe.port2;qe.port1.onmessage=nt,Ue=function(){ke.postMessage(null)}}else Ue=function(){H(nt,0)};function $e(O,ne){B=H(function(){O(e.unstable_now())},ne)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(O){O.callback=null},e.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<O?Math.floor(1e3/O):5},e.unstable_getCurrentPriorityLevel=function(){return T},e.unstable_next=function(O){switch(T){case 1:case 2:case 3:var ne=3;break;default:ne=T}var ge=T;T=ne;try{return O()}finally{T=ge}},e.unstable_requestPaint=function(){P=!0},e.unstable_runWithPriority=function(O,ne){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var ge=T;T=O;try{return ne()}finally{T=ge}},e.unstable_scheduleCallback=function(O,ne,ge){var Se=e.unstable_now();switch(typeof ge=="object"&&ge!==null?(ge=ge.delay,ge=typeof ge=="number"&&0<ge?Se+ge:Se):ge=Se,O){case 1:var ae=-1;break;case 2:ae=250;break;case 5:ae=1073741823;break;case 4:ae=1e4;break;default:ae=5e3}return ae=ge+ae,O={id:k++,callback:ne,priorityLevel:O,startTime:ge,expirationTime:ae,sortIndex:-1},ge>Se?(O.sortIndex=ge,n(w,O),i(v)===null&&O===i(w)&&(E?(X(B),B=-1):E=!0,$e(Y,ge-Se))):(O.sortIndex=ae,n(v,O),q||N||(q=!0,ee||(ee=!0,Ue()))),O},e.unstable_shouldYield=Xe,e.unstable_wrapCallback=function(O){var ne=T;return function(){var ge=T;T=ne;try{return O.apply(this,arguments)}finally{T=ge}}}})(Uh)),Uh}var Qv;function N5(){return Qv||(Qv=1,$h.exports=C5()),$h.exports}var Fv;function _5(){if(Fv)return tc;Fv=1;var e=N5(),n=KN(),i=HN();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)a+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function h(t){var a=t,s=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(s=a.return),t=a.return;while(t)}return a.tag===3?s:null}function f(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function b(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function v(t){if(h(t)!==t)throw Error(r(188))}function w(t){var a=t.alternate;if(!a){if(a=h(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,c=a;;){var p=s.return;if(p===null)break;var g=p.alternate;if(g===null){if(c=p.return,c!==null){s=c;continue}break}if(p.child===g.child){for(g=p.child;g;){if(g===s)return v(p),t;if(g===c)return v(p),a;g=g.sibling}throw Error(r(188))}if(s.return!==c.return)s=p,c=g;else{for(var x=!1,A=p.child;A;){if(A===s){x=!0,s=p,c=g;break}if(A===c){x=!0,c=p,s=g;break}A=A.sibling}if(!x){for(A=g.child;A;){if(A===s){x=!0,s=g,c=p;break}if(A===c){x=!0,c=g,s=p;break}A=A.sibling}if(!x)throw Error(r(189))}}if(s.alternate!==c)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:a}function k(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=k(t),a!==null)return a;t=t.sibling}return null}var j=Object.assign,T=Symbol.for("react.element"),N=Symbol.for("react.transitional.element"),q=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),H=Symbol.for("react.profiler"),X=Symbol.for("react.consumer"),L=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),B=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),we=Symbol.for("react.activity"),Xe=Symbol.for("react.memo_cache_sentinel"),nt=Symbol.iterator;function Ue(t){return t===null||typeof t!="object"?null:(t=nt&&t[nt]||t["@@iterator"],typeof t=="function"?t:null)}var qe=Symbol.for("react.client.reference");function ke(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===qe?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case E:return"Fragment";case H:return"Profiler";case P:return"StrictMode";case Y:return"Suspense";case ee:return"SuspenseList";case we:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case q:return"Portal";case L:return t.displayName||"Context";case X:return(t._context.displayName||"Context")+".Consumer";case Z:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case B:return a=t.displayName||null,a!==null?a:ke(t.type)||"Memo";case K:a=t._payload,t=t._init;try{return ke(t(a))}catch{}}return null}var $e=Array.isArray,O=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ge={pending:!1,data:null,method:null,action:null},Se=[],ae=-1;function _e(t){return{current:t}}function Be(t){0>ae||(t.current=Se[ae],Se[ae]=null,ae--)}function ve(t,a){ae++,Se[ae]=t.current,t.current=a}var le=_e(null),ce=_e(null),Q=_e(null),me=_e(null);function De(t,a){switch(ve(Q,a),ve(ce,t),ve(le,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?fv(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=fv(a),t=gv(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Be(le),ve(le,t)}function je(){Be(le),Be(ce),Be(Q)}function it(t){t.memoizedState!==null&&ve(me,t);var a=le.current,s=gv(a,t.type);a!==s&&(ve(ce,t),ve(le,s))}function Ge(t){ce.current===t&&(Be(le),Be(ce)),me.current===t&&(Be(me),Xl._currentValue=ge)}var jt,He;function re(t){if(jt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);jt=a&&a[1]||"",He=-1<s.stack.indexOf(`
3
- at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
4
- `+jt+t+He}var lt=!1;function Gt(t,a){if(!t||lt)return"";lt=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(a){var se=function(){throw Error()};if(Object.defineProperty(se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(se,[])}catch(F){var G=F}Reflect.construct(t,[],se)}else{try{se.call()}catch(F){G=F}t.call(se.prototype)}}else{try{throw Error()}catch(F){G=F}(se=t())&&typeof se.catch=="function"&&se.catch(function(){})}}catch(F){if(F&&G&&typeof F.stack=="string")return[F.stack,G.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var g=c.DetermineComponentFrameRoot(),x=g[0],A=g[1];if(x&&A){var D=x.split(`
5
- `),$=A.split(`
6
- `);for(p=c=0;c<D.length&&!D[c].includes("DetermineComponentFrameRoot");)c++;for(;p<$.length&&!$[p].includes("DetermineComponentFrameRoot");)p++;if(c===D.length||p===$.length)for(c=D.length-1,p=$.length-1;1<=c&&0<=p&&D[c]!==$[p];)p--;for(;1<=c&&0<=p;c--,p--)if(D[c]!==$[p]){if(c!==1||p!==1)do if(c--,p--,0>p||D[c]!==$[p]){var W=`
7
- `+D[c].replace(" at new "," at ");return t.displayName&&W.includes("<anonymous>")&&(W=W.replace("<anonymous>",t.displayName)),W}while(1<=c&&0<=p);break}}}finally{lt=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?re(s):""}function ea(t,a){switch(t.tag){case 26:case 27:case 5:return re(t.type);case 16:return re("Lazy");case 13:return t.child!==a&&a!==null?re("Suspense Fallback"):re("Suspense");case 19:return re("SuspenseList");case 0:case 15:return Gt(t.type,!1);case 11:return Gt(t.type.render,!1);case 1:return Gt(t.type,!0);case 31:return re("Activity");default:return""}}function ci(t){try{var a="",s=null;do a+=ea(t,s),s=t,t=t.return;while(t);return a}catch(c){return`
8
- Error generating stack: `+c.message+`
9
- `+c.stack}}var Le=Object.prototype.hasOwnProperty,ct=e.unstable_scheduleCallback,Kt=e.unstable_cancelCallback,Ht=e.unstable_shouldYield,Rn=e.unstable_requestPaint,Lt=e.unstable_now,ui=e.unstable_getCurrentPriorityLevel,Os=e.unstable_ImmediatePriority,Un=e.unstable_UserBlockingPriority,di=e.unstable_NormalPriority,qs=e.unstable_LowPriority,Vi=e.unstable_IdlePriority,$i=e.log,Ps=e.unstable_setDisableYieldValue,fn=null,At=null;function gn(t){if(typeof $i=="function"&&Ps(t),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(fn,t)}catch{}}var Sn=Math.clz32?Math.clz32:oe,Ms=Math.log,fa=Math.LN2;function oe(t){return t>>>=0,t===0?32:31-(Ms(t)/fa|0)|0}var Ie=256,Ye=262144,Qt=4194304;function st(t){var a=t&42;if(a!==0)return a;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function et(t,a,s){var c=t.pendingLanes;if(c===0)return 0;var p=0,g=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var A=c&134217727;return A!==0?(c=A&~g,c!==0?p=st(c):(x&=A,x!==0?p=st(x):s||(s=A&~t,s!==0&&(p=st(s))))):(A=c&~g,A!==0?p=st(A):x!==0?p=st(x):s||(s=c&~t,s!==0&&(p=st(s)))),p===0?0:a!==0&&a!==p&&(a&g)===0&&(g=p&-p,s=a&-a,g>=s||g===32&&(s&4194048)!==0)?a:p}function Xt(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function Za(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Bs(){var t=Qt;return Qt<<=1,(Qt&62914560)===0&&(Qt=4194304),t}function Oo(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function Ls(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Gc(t,a,s,c,p,g){var x=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var A=t.entanglements,D=t.expirationTimes,$=t.hiddenUpdates;for(s=x&~s;0<s;){var W=31-Sn(s),se=1<<W;A[W]=0,D[W]=-1;var G=$[W];if(G!==null)for($[W]=null,W=0;W<G.length;W++){var F=G[W];F!==null&&(F.lane&=-536870913)}s&=~se}c!==0&&tl(t,c,0),g!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=g&~(x&~a))}function tl(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var c=31-Sn(a);t.entangledLanes|=a,t.entanglements[c]=t.entanglements[c]|1073741824|s&261930}function nl(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var c=31-Sn(s),p=1<<c;p&a|t[c]&a&&(t[c]|=a),s&=~p}}function al(t,a){var s=a&-a;return s=(s&42)!==0?1:il(s),(s&(t.suspendedLanes|a))!==0?0:s}function il(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function sl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function qo(){var t=ne.p;return t!==0?t:(t=window.event,t===void 0?32:Bv(t.type))}function Kc(t,a){var s=ne.p;try{return ne.p=t,a()}finally{ne.p=s}}var ga=Math.random().toString(36).slice(2),an="__reactFiber$"+ga,Dn="__reactProps$"+ga,Ui="__reactContainer$"+ga,Po="__reactEvents$"+ga,Hc="__reactListeners$"+ga,Mo="__reactHandles$"+ga,ta="__reactResources$"+ga,Gi="__reactMarker$"+ga;function ol(t){delete t[an],delete t[Dn],delete t[Po],delete t[Hc],delete t[Mo]}function mi(t){var a=t[an];if(a)return a;for(var s=t.parentNode;s;){if(a=s[Ui]||s[an]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=Sv(t);t!==null;){if(s=t[an])return s;t=Sv(t)}return a}t=s,s=t.parentNode}return null}function Ki(t){if(t=t[an]||t[Ui]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Hi(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Qi(t){var a=t[ta];return a||(a=t[ta]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function Jt(t){t[Gi]=!0}var rl=new Set,ll={};function Ya(t,a){Vs(t,a),Vs(t+"Capture",a)}function Vs(t,a){for(ll[t]=a,t=0;t<a.length;t++)rl.add(a[t])}var cl=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ul={},Xa={};function Lm(t){return Le.call(Xa,t)?!0:Le.call(ul,t)?!1:cl.test(t)?Xa[t]=!0:(ul[t]=!0,!1)}function pi(t,a,s){if(Lm(a))if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var c=a.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+s)}}function $s(t,a,s){if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+s)}}function jn(t,a,s,c){if(c===null)t.removeAttribute(s);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(a,s,""+c)}}function zn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Fi(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Vm(t,a,s){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var p=c.get,g=c.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(x){s=""+x,g.call(this,x)}}),Object.defineProperty(t,a,{enumerable:c.enumerable}),{getValue:function(){return s},setValue:function(x){s=""+x},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function dl(t){if(!t._valueTracker){var a=Fi(t)?"checked":"value";t._valueTracker=Vm(t,a,""+t[a])}}function Ja(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),c="";return t&&(c=Fi(t)?t.checked?"true":"false":t.value),t=c,t!==s?(a.setValue(t),!0):!1}function Zi(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Qc=/[\n"\\]/g;function In(t){return t.replace(Qc,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Bo(t,a,s,c,p,g,x,A){t.name="",x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?t.type=x:t.removeAttribute("type"),a!=null?x==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+zn(a)):t.value!==""+zn(a)&&(t.value=""+zn(a)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),a!=null?Lo(t,x,zn(a)):s!=null?Lo(t,x,zn(s)):c!=null&&t.removeAttribute("value"),p==null&&g!=null&&(t.defaultChecked=!!g),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?t.name=""+zn(A):t.removeAttribute("name")}function ml(t,a,s,c,p,g,x,A){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||s!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){dl(t);return}s=s!=null?""+zn(s):"",a=a!=null?""+zn(a):s,A||a===t.value||(t.value=a),t.defaultValue=a}c=c??p,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=A?t.checked:!!c,t.defaultChecked=!!c,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),dl(t)}function Lo(t,a,s){a==="number"&&Zi(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function Gn(t,a,s,c){if(t=t.options,a){a={};for(var p=0;p<s.length;p++)a["$"+s[p]]=!0;for(s=0;s<t.length;s++)p=a.hasOwnProperty("$"+t[s].value),t[s].selected!==p&&(t[s].selected=p),p&&c&&(t[s].defaultSelected=!0)}else{for(s=""+zn(s),a=null,p=0;p<t.length;p++){if(t[p].value===s){t[p].selected=!0,c&&(t[p].defaultSelected=!0);return}a!==null||t[p].disabled||(a=t[p])}a!==null&&(a.selected=!0)}}function na(t,a,s){if(a!=null&&(a=""+zn(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+zn(s):""}function hi(t,a,s,c){if(a==null){if(c!=null){if(s!=null)throw Error(r(92));if($e(c)){if(1<c.length)throw Error(r(93));c=c[0]}s=c}s==null&&(s=""),a=s}s=zn(a),t.defaultValue=s,c=t.textContent,c===s&&c!==""&&c!==null&&(t.value=c),dl(t)}function ya(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var ba=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function $m(t,a,s){var c=a.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?c?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":c?t.setProperty(a,s):typeof s!="number"||s===0||ba.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Wa(t,a,s){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,s!=null){for(var c in s)!s.hasOwnProperty(c)||a!=null&&a.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var p in a)c=a[p],a.hasOwnProperty(p)&&s[p]!==c&&$m(t,p,c)}else for(var g in a)a.hasOwnProperty(g)&&$m(t,g,a[g])}function qa(t){if(t.indexOf("-")===-1)return!1;switch(t){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 Vo=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Um=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function $o(t){return Um.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Pa(){}var pl=null;function hl(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var fi=null,Pn=null;function Uo(t){var a=Ki(t);if(a&&(t=a.stateNode)){var s=t[Dn]||null;e:switch(t=a.stateNode,a.type){case"input":if(Bo(t,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),a=s.name,s.type==="radio"&&a!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+In(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var c=s[a];if(c!==t&&c.form===t.form){var p=c[Dn]||null;if(!p)throw Error(r(90));Bo(c,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<s.length;a++)c=s[a],c.form===t.form&&Ja(c)}break e;case"textarea":na(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&Gn(t,!!s.multiple,a,!1)}}}var fl=!1;function Fc(t,a,s){if(fl)return t(a,s);fl=!0;try{var c=t(a);return c}finally{if(fl=!1,(fi!==null||Pn!==null)&&(Du(),fi&&(a=fi,t=Pn,Pn=fi=null,Uo(a),t)))for(a=0;a<t.length;a++)Uo(t[a])}}function Us(t,a){var s=t.stateNode;if(s===null)return null;var c=s[Dn]||null;if(c===null)return null;s=c[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,a,typeof s));return s}var va=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),gl=!1;if(va)try{var Gs={};Object.defineProperty(Gs,"passive",{get:function(){gl=!0}}),window.addEventListener("test",Gs,Gs),window.removeEventListener("test",Gs,Gs)}catch{gl=!1}var ei=null,U=null,Fe=null;function gi(){if(Fe)return Fe;var t,a=U,s=a.length,c,p="value"in ei?ei.value:ei.textContent,g=p.length;for(t=0;t<s&&a[t]===p[t];t++);var x=s-t;for(c=1;c<=x&&a[s-c]===p[g-c];c++);return Fe=p.slice(t,1<c?1-c:void 0)}function Ma(t){var a=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&a===13&&(t=13)):t=a,t===10&&(t=13),32<=t||t===13?t:0}function Go(){return!0}function Zc(){return!1}function An(t){function a(s,c,p,g,x){this._reactName=s,this._targetInst=p,this.type=c,this.nativeEvent=g,this.target=x,this.currentTarget=null;for(var A in t)t.hasOwnProperty(A)&&(s=t[A],this[A]=s?s(g):g[A]);return this.isDefaultPrevented=(g.defaultPrevented!=null?g.defaultPrevented:g.returnValue===!1)?Go:Zc,this.isPropagationStopped=Zc,this}return j(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=Go)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=Go)},persist:function(){},isPersistent:Go}),a}var ti={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ks=An(ti),Hs=j({},ti,{view:0,detail:0}),Qs=An(Hs),Ba,Gm,yl,Yc=j({},Hs,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Hm,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==yl&&(yl&&t.type==="mousemove"?(Ba=t.screenX-yl.screenX,Gm=t.screenY-yl.screenY):Gm=Ba=0,yl=t),Ba)},movementY:function(t){return"movementY"in t?t.movementY:Gm}}),b1=An(Yc),GC=j({},Yc,{dataTransfer:0}),KC=An(GC),HC=j({},Hs,{relatedTarget:0}),Km=An(HC),QC=j({},ti,{animationName:0,elapsedTime:0,pseudoElement:0}),FC=An(QC),ZC=j({},ti,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),YC=An(ZC),XC=j({},ti,{data:0}),v1=An(XC),JC={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},WC={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"},e4={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function t4(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=e4[t])?!!a[t]:!1}function Hm(){return t4}var n4=j({},Hs,{key:function(t){if(t.key){var a=JC[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=Ma(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?WC[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Hm,charCode:function(t){return t.type==="keypress"?Ma(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Ma(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),a4=An(n4),i4=j({},Yc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),x1=An(i4),s4=j({},Hs,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Hm}),o4=An(s4),r4=j({},ti,{propertyName:0,elapsedTime:0,pseudoElement:0}),l4=An(r4),c4=j({},Yc,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),u4=An(c4),d4=j({},ti,{newState:0,oldState:0}),m4=An(d4),p4=[9,13,27,32],Qm=va&&"CompositionEvent"in window,bl=null;va&&"documentMode"in document&&(bl=document.documentMode);var h4=va&&"TextEvent"in window&&!bl,w1=va&&(!Qm||bl&&8<bl&&11>=bl),k1=" ",S1=!1;function j1(t,a){switch(t){case"keyup":return p4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function A1(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ko=!1;function f4(t,a){switch(t){case"compositionend":return A1(a);case"keypress":return a.which!==32?null:(S1=!0,k1);case"textInput":return t=a.data,t===k1&&S1?null:t;default:return null}}function g4(t,a){if(Ko)return t==="compositionend"||!Qm&&j1(t,a)?(t=gi(),Fe=U=ei=null,Ko=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return w1&&a.locale!=="ko"?null:a.data;default:return null}}var y4={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 C1(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!y4[t.type]:a==="textarea"}function N1(t,a,s,c){fi?Pn?Pn.push(c):Pn=[c]:fi=c,a=Bu(a,"onChange"),0<a.length&&(s=new Ks("onChange","change",null,s,c),t.push({event:s,listeners:a}))}var vl=null,xl=null;function b4(t){cv(t,0)}function Xc(t){var a=Hi(t);if(Ja(a))return t}function _1(t,a){if(t==="change")return a}var T1=!1;if(va){var Fm;if(va){var Zm="oninput"in document;if(!Zm){var E1=document.createElement("div");E1.setAttribute("oninput","return;"),Zm=typeof E1.oninput=="function"}Fm=Zm}else Fm=!1;T1=Fm&&(!document.documentMode||9<document.documentMode)}function R1(){vl&&(vl.detachEvent("onpropertychange",D1),xl=vl=null)}function D1(t){if(t.propertyName==="value"&&Xc(xl)){var a=[];N1(a,xl,t,hl(t)),Fc(b4,a)}}function v4(t,a,s){t==="focusin"?(R1(),vl=a,xl=s,vl.attachEvent("onpropertychange",D1)):t==="focusout"&&R1()}function x4(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Xc(xl)}function w4(t,a){if(t==="click")return Xc(a)}function k4(t,a){if(t==="input"||t==="change")return Xc(a)}function S4(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var aa=typeof Object.is=="function"?Object.is:S4;function wl(t,a){if(aa(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var s=Object.keys(t),c=Object.keys(a);if(s.length!==c.length)return!1;for(c=0;c<s.length;c++){var p=s[c];if(!Le.call(a,p)||!aa(t[p],a[p]))return!1}return!0}function z1(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function I1(t,a){var s=z1(t);t=0;for(var c;s;){if(s.nodeType===3){if(c=t+s.textContent.length,t<=a&&c>=a)return{node:s,offset:a-t};t=c}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=z1(s)}}function O1(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?O1(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function q1(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Zi(t.document);a instanceof t.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)t=a.contentWindow;else break;a=Zi(t.document)}return a}function Ym(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var j4=va&&"documentMode"in document&&11>=document.documentMode,Ho=null,Xm=null,kl=null,Jm=!1;function P1(t,a,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Jm||Ho==null||Ho!==Zi(c)||(c=Ho,"selectionStart"in c&&Ym(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),kl&&wl(kl,c)||(kl=c,c=Bu(Xm,"onSelect"),0<c.length&&(a=new Ks("onSelect","select",null,a,s),t.push({event:a,listeners:c}),a.target=Ho)))}function Fs(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var Qo={animationend:Fs("Animation","AnimationEnd"),animationiteration:Fs("Animation","AnimationIteration"),animationstart:Fs("Animation","AnimationStart"),transitionrun:Fs("Transition","TransitionRun"),transitionstart:Fs("Transition","TransitionStart"),transitioncancel:Fs("Transition","TransitionCancel"),transitionend:Fs("Transition","TransitionEnd")},Wm={},M1={};va&&(M1=document.createElement("div").style,"AnimationEvent"in window||(delete Qo.animationend.animation,delete Qo.animationiteration.animation,delete Qo.animationstart.animation),"TransitionEvent"in window||delete Qo.transitionend.transition);function Zs(t){if(Wm[t])return Wm[t];if(!Qo[t])return t;var a=Qo[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in M1)return Wm[t]=a[s];return t}var B1=Zs("animationend"),L1=Zs("animationiteration"),V1=Zs("animationstart"),A4=Zs("transitionrun"),C4=Zs("transitionstart"),N4=Zs("transitioncancel"),$1=Zs("transitionend"),U1=new Map,ep="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");ep.push("scrollEnd");function La(t,a){U1.set(t,a),Ya(a,[t])}var Jc=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},xa=[],Fo=0,tp=0;function Wc(){for(var t=Fo,a=tp=Fo=0;a<t;){var s=xa[a];xa[a++]=null;var c=xa[a];xa[a++]=null;var p=xa[a];xa[a++]=null;var g=xa[a];if(xa[a++]=null,c!==null&&p!==null){var x=c.pending;x===null?p.next=p:(p.next=x.next,x.next=p),c.pending=p}g!==0&&G1(s,p,g)}}function eu(t,a,s,c){xa[Fo++]=t,xa[Fo++]=a,xa[Fo++]=s,xa[Fo++]=c,tp|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function np(t,a,s,c){return eu(t,a,s,c),tu(t)}function Ys(t,a){return eu(t,null,null,a),tu(t)}function G1(t,a,s){t.lanes|=s;var c=t.alternate;c!==null&&(c.lanes|=s);for(var p=!1,g=t.return;g!==null;)g.childLanes|=s,c=g.alternate,c!==null&&(c.childLanes|=s),g.tag===22&&(t=g.stateNode,t===null||t._visibility&1||(p=!0)),t=g,g=g.return;return t.tag===3?(g=t.stateNode,p&&a!==null&&(p=31-Sn(s),t=g.hiddenUpdates,c=t[p],c===null?t[p]=[a]:c.push(a),a.lane=s|536870912),g):null}function tu(t){if(50<Gl)throw Gl=0,dh=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Zo={};function _4(t,a,s,c){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ia(t,a,s,c){return new _4(t,a,s,c)}function ap(t){return t=t.prototype,!(!t||!t.isReactComponent)}function yi(t,a){var s=t.alternate;return s===null?(s=ia(t.tag,a,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=a,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&65011712,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,a=t.dependencies,s.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s.refCleanup=t.refCleanup,s}function K1(t,a){t.flags&=65011714;var s=t.alternate;return s===null?(t.childLanes=0,t.lanes=a,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=s.childLanes,t.lanes=s.lanes,t.child=s.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=s.memoizedProps,t.memoizedState=s.memoizedState,t.updateQueue=s.updateQueue,t.type=s.type,a=s.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function nu(t,a,s,c,p,g){var x=0;if(c=t,typeof t=="function")ap(t)&&(x=1);else if(typeof t=="string")x=zN(t,s,le.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case we:return t=ia(31,s,a,p),t.elementType=we,t.lanes=g,t;case E:return Xs(s.children,p,g,a);case P:x=8,p|=24;break;case H:return t=ia(12,s,a,p|2),t.elementType=H,t.lanes=g,t;case Y:return t=ia(13,s,a,p),t.elementType=Y,t.lanes=g,t;case ee:return t=ia(19,s,a,p),t.elementType=ee,t.lanes=g,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:x=10;break e;case X:x=9;break e;case Z:x=11;break e;case B:x=14;break e;case K:x=16,c=null;break e}x=29,s=Error(r(130,t===null?"null":typeof t,"")),c=null}return a=ia(x,s,a,p),a.elementType=t,a.type=c,a.lanes=g,a}function Xs(t,a,s,c){return t=ia(7,t,c,a),t.lanes=s,t}function ip(t,a,s){return t=ia(6,t,null,a),t.lanes=s,t}function H1(t){var a=ia(18,null,null,0);return a.stateNode=t,a}function sp(t,a,s){return a=ia(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var Q1=new WeakMap;function wa(t,a){if(typeof t=="object"&&t!==null){var s=Q1.get(t);return s!==void 0?s:(a={value:t,source:a,stack:ci(a)},Q1.set(t,a),a)}return{value:t,source:a,stack:ci(a)}}var Yo=[],Xo=0,au=null,Sl=0,ka=[],Sa=0,Yi=null,ni=1,ai="";function bi(t,a){Yo[Xo++]=Sl,Yo[Xo++]=au,au=t,Sl=a}function F1(t,a,s){ka[Sa++]=ni,ka[Sa++]=ai,ka[Sa++]=Yi,Yi=t;var c=ni;t=ai;var p=32-Sn(c)-1;c&=~(1<<p),s+=1;var g=32-Sn(a)+p;if(30<g){var x=p-p%5;g=(c&(1<<x)-1).toString(32),c>>=x,p-=x,ni=1<<32-Sn(a)+p|s<<p|c,ai=g+t}else ni=1<<g|s<<p|c,ai=t}function op(t){t.return!==null&&(bi(t,1),F1(t,1,0))}function rp(t){for(;t===au;)au=Yo[--Xo],Yo[Xo]=null,Sl=Yo[--Xo],Yo[Xo]=null;for(;t===Yi;)Yi=ka[--Sa],ka[Sa]=null,ai=ka[--Sa],ka[Sa]=null,ni=ka[--Sa],ka[Sa]=null}function Z1(t,a){ka[Sa++]=ni,ka[Sa++]=ai,ka[Sa++]=Yi,ni=a.id,ai=a.overflow,Yi=t}var Cn=null,Ot=null,ht=!1,Xi=null,ja=!1,lp=Error(r(519));function Ji(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw jl(wa(a,t)),lp}function Y1(t){var a=t.stateNode,s=t.type,c=t.memoizedProps;switch(a[an]=t,a[Dn]=c,s){case"dialog":rt("cancel",a),rt("close",a);break;case"iframe":case"object":case"embed":rt("load",a);break;case"video":case"audio":for(s=0;s<Hl.length;s++)rt(Hl[s],a);break;case"source":rt("error",a);break;case"img":case"image":case"link":rt("error",a),rt("load",a);break;case"details":rt("toggle",a);break;case"input":rt("invalid",a),ml(a,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":rt("invalid",a);break;case"textarea":rt("invalid",a),hi(a,c.value,c.defaultValue,c.children)}s=c.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||a.textContent===""+s||c.suppressHydrationWarning===!0||pv(a.textContent,s)?(c.popover!=null&&(rt("beforetoggle",a),rt("toggle",a)),c.onScroll!=null&&rt("scroll",a),c.onScrollEnd!=null&&rt("scrollend",a),c.onClick!=null&&(a.onclick=Pa),a=!0):a=!1,a||Ji(t,!0)}function X1(t){for(Cn=t.return;Cn;)switch(Cn.tag){case 5:case 31:case 13:ja=!1;return;case 27:case 3:ja=!0;return;default:Cn=Cn.return}}function Jo(t){if(t!==Cn)return!1;if(!ht)return X1(t),ht=!0,!1;var a=t.tag,s;if((s=a!==3&&a!==27)&&((s=a===5)&&(s=t.type,s=!(s!=="form"&&s!=="button")||Ch(t.type,t.memoizedProps)),s=!s),s&&Ot&&Ji(t),X1(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));Ot=kv(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));Ot=kv(t)}else a===27?(a=Ot,ms(t.type)?(t=Rh,Rh=null,Ot=t):Ot=a):Ot=Cn?Ca(t.stateNode.nextSibling):null;return!0}function Js(){Ot=Cn=null,ht=!1}function cp(){var t=Xi;return t!==null&&(Fn===null?Fn=t:Fn.push.apply(Fn,t),Xi=null),t}function jl(t){Xi===null?Xi=[t]:Xi.push(t)}var up=_e(null),Ws=null,vi=null;function Wi(t,a,s){ve(up,a._currentValue),a._currentValue=s}function xi(t){t._currentValue=up.current,Be(up)}function dp(t,a,s){for(;t!==null;){var c=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,c!==null&&(c.childLanes|=a)):c!==null&&(c.childLanes&a)!==a&&(c.childLanes|=a),t===s)break;t=t.return}}function mp(t,a,s,c){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var g=p.dependencies;if(g!==null){var x=p.child;g=g.firstContext;e:for(;g!==null;){var A=g;g=p;for(var D=0;D<a.length;D++)if(A.context===a[D]){g.lanes|=s,A=g.alternate,A!==null&&(A.lanes|=s),dp(g.return,s,t),c||(x=null);break e}g=A.next}}else if(p.tag===18){if(x=p.return,x===null)throw Error(r(341));x.lanes|=s,g=x.alternate,g!==null&&(g.lanes|=s),dp(x,s,t),x=null}else x=p.child;if(x!==null)x.return=p;else for(x=p;x!==null;){if(x===t){x=null;break}if(p=x.sibling,p!==null){p.return=x.return,x=p;break}x=x.return}p=x}}function Wo(t,a,s,c){t=null;for(var p=a,g=!1;p!==null;){if(!g){if((p.flags&524288)!==0)g=!0;else if((p.flags&262144)!==0)break}if(p.tag===10){var x=p.alternate;if(x===null)throw Error(r(387));if(x=x.memoizedProps,x!==null){var A=p.type;aa(p.pendingProps.value,x.value)||(t!==null?t.push(A):t=[A])}}else if(p===me.current){if(x=p.alternate,x===null)throw Error(r(387));x.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(Xl):t=[Xl])}p=p.return}t!==null&&mp(a,t,s,c),a.flags|=262144}function iu(t){for(t=t.firstContext;t!==null;){if(!aa(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function eo(t){Ws=t,vi=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Nn(t){return J1(Ws,t)}function su(t,a){return Ws===null&&eo(t),J1(t,a)}function J1(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},vi===null){if(t===null)throw Error(r(308));vi=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else vi=vi.next=a;return s}var T4=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(s,c){t.push(c)}};this.abort=function(){a.aborted=!0,t.forEach(function(s){return s()})}},E4=e.unstable_scheduleCallback,R4=e.unstable_NormalPriority,sn={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function pp(){return{controller:new T4,data:new Map,refCount:0}}function Al(t){t.refCount--,t.refCount===0&&E4(R4,function(){t.controller.abort()})}var Cl=null,hp=0,er=0,tr=null;function D4(t,a){if(Cl===null){var s=Cl=[];hp=0,er=yh(),tr={status:"pending",value:void 0,then:function(c){s.push(c)}}}return hp++,a.then(W1,W1),a}function W1(){if(--hp===0&&Cl!==null){tr!==null&&(tr.status="fulfilled");var t=Cl;Cl=null,er=0,tr=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function z4(t,a){var s=[],c={status:"pending",value:null,reason:null,then:function(p){s.push(p)}};return t.then(function(){c.status="fulfilled",c.value=a;for(var p=0;p<s.length;p++)(0,s[p])(a)},function(p){for(c.status="rejected",c.reason=p,p=0;p<s.length;p++)(0,s[p])(void 0)}),c}var ey=O.S;O.S=function(t,a){Pb=Lt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&D4(t,a),ey!==null&&ey(t,a)};var to=_e(null);function fp(){var t=to.current;return t!==null?t:Rt.pooledCache}function ou(t,a){a===null?ve(to,to.current):ve(to,a.pool)}function ty(){var t=fp();return t===null?null:{parent:sn._currentValue,pool:t}}var nr=Error(r(460)),gp=Error(r(474)),ru=Error(r(542)),lu={then:function(){}};function ny(t){return t=t.status,t==="fulfilled"||t==="rejected"}function ay(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(Pa,Pa),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,sy(t),t;default:if(typeof a.status=="string")a.then(Pa,Pa);else{if(t=Rt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=a,t.status="pending",t.then(function(c){if(a.status==="pending"){var p=a;p.status="fulfilled",p.value=c}},function(c){if(a.status==="pending"){var p=a;p.status="rejected",p.reason=c}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,sy(t),t}throw ao=a,nr}}function no(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(ao=s,nr):s}}var ao=null;function iy(){if(ao===null)throw Error(r(459));var t=ao;return ao=null,t}function sy(t){if(t===nr||t===ru)throw Error(r(483))}var ar=null,Nl=0;function cu(t){var a=Nl;return Nl+=1,ar===null&&(ar=[]),ay(ar,t,a)}function _l(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function uu(t,a){throw a.$$typeof===T?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function oy(t){function a(M,I){if(t){var V=M.deletions;V===null?(M.deletions=[I],M.flags|=16):V.push(I)}}function s(M,I){if(!t)return null;for(;I!==null;)a(M,I),I=I.sibling;return null}function c(M){for(var I=new Map;M!==null;)M.key!==null?I.set(M.key,M):I.set(M.index,M),M=M.sibling;return I}function p(M,I){return M=yi(M,I),M.index=0,M.sibling=null,M}function g(M,I,V){return M.index=V,t?(V=M.alternate,V!==null?(V=V.index,V<I?(M.flags|=67108866,I):V):(M.flags|=67108866,I)):(M.flags|=1048576,I)}function x(M){return t&&M.alternate===null&&(M.flags|=67108866),M}function A(M,I,V,ie){return I===null||I.tag!==6?(I=ip(V,M.mode,ie),I.return=M,I):(I=p(I,V),I.return=M,I)}function D(M,I,V,ie){var Ve=V.type;return Ve===E?W(M,I,V.props.children,ie,V.key):I!==null&&(I.elementType===Ve||typeof Ve=="object"&&Ve!==null&&Ve.$$typeof===K&&no(Ve)===I.type)?(I=p(I,V.props),_l(I,V),I.return=M,I):(I=nu(V.type,V.key,V.props,null,M.mode,ie),_l(I,V),I.return=M,I)}function $(M,I,V,ie){return I===null||I.tag!==4||I.stateNode.containerInfo!==V.containerInfo||I.stateNode.implementation!==V.implementation?(I=sp(V,M.mode,ie),I.return=M,I):(I=p(I,V.children||[]),I.return=M,I)}function W(M,I,V,ie,Ve){return I===null||I.tag!==7?(I=Xs(V,M.mode,ie,Ve),I.return=M,I):(I=p(I,V),I.return=M,I)}function se(M,I,V){if(typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint")return I=ip(""+I,M.mode,V),I.return=M,I;if(typeof I=="object"&&I!==null){switch(I.$$typeof){case N:return V=nu(I.type,I.key,I.props,null,M.mode,V),_l(V,I),V.return=M,V;case q:return I=sp(I,M.mode,V),I.return=M,I;case K:return I=no(I),se(M,I,V)}if($e(I)||Ue(I))return I=Xs(I,M.mode,V,null),I.return=M,I;if(typeof I.then=="function")return se(M,cu(I),V);if(I.$$typeof===L)return se(M,su(M,I),V);uu(M,I)}return null}function G(M,I,V,ie){var Ve=I!==null?I.key:null;if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return Ve!==null?null:A(M,I,""+V,ie);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case N:return V.key===Ve?D(M,I,V,ie):null;case q:return V.key===Ve?$(M,I,V,ie):null;case K:return V=no(V),G(M,I,V,ie)}if($e(V)||Ue(V))return Ve!==null?null:W(M,I,V,ie,null);if(typeof V.then=="function")return G(M,I,cu(V),ie);if(V.$$typeof===L)return G(M,I,su(M,V),ie);uu(M,V)}return null}function F(M,I,V,ie,Ve){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return M=M.get(V)||null,A(I,M,""+ie,Ve);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case N:return M=M.get(ie.key===null?V:ie.key)||null,D(I,M,ie,Ve);case q:return M=M.get(ie.key===null?V:ie.key)||null,$(I,M,ie,Ve);case K:return ie=no(ie),F(M,I,V,ie,Ve)}if($e(ie)||Ue(ie))return M=M.get(V)||null,W(I,M,ie,Ve,null);if(typeof ie.then=="function")return F(M,I,V,cu(ie),Ve);if(ie.$$typeof===L)return F(M,I,V,su(I,ie),Ve);uu(I,ie)}return null}function Ae(M,I,V,ie){for(var Ve=null,bt=null,Te=I,tt=I=0,dt=null;Te!==null&&tt<V.length;tt++){Te.index>tt?(dt=Te,Te=null):dt=Te.sibling;var vt=G(M,Te,V[tt],ie);if(vt===null){Te===null&&(Te=dt);break}t&&Te&&vt.alternate===null&&a(M,Te),I=g(vt,I,tt),bt===null?Ve=vt:bt.sibling=vt,bt=vt,Te=dt}if(tt===V.length)return s(M,Te),ht&&bi(M,tt),Ve;if(Te===null){for(;tt<V.length;tt++)Te=se(M,V[tt],ie),Te!==null&&(I=g(Te,I,tt),bt===null?Ve=Te:bt.sibling=Te,bt=Te);return ht&&bi(M,tt),Ve}for(Te=c(Te);tt<V.length;tt++)dt=F(Te,M,tt,V[tt],ie),dt!==null&&(t&&dt.alternate!==null&&Te.delete(dt.key===null?tt:dt.key),I=g(dt,I,tt),bt===null?Ve=dt:bt.sibling=dt,bt=dt);return t&&Te.forEach(function(ys){return a(M,ys)}),ht&&bi(M,tt),Ve}function Ke(M,I,V,ie){if(V==null)throw Error(r(151));for(var Ve=null,bt=null,Te=I,tt=I=0,dt=null,vt=V.next();Te!==null&&!vt.done;tt++,vt=V.next()){Te.index>tt?(dt=Te,Te=null):dt=Te.sibling;var ys=G(M,Te,vt.value,ie);if(ys===null){Te===null&&(Te=dt);break}t&&Te&&ys.alternate===null&&a(M,Te),I=g(ys,I,tt),bt===null?Ve=ys:bt.sibling=ys,bt=ys,Te=dt}if(vt.done)return s(M,Te),ht&&bi(M,tt),Ve;if(Te===null){for(;!vt.done;tt++,vt=V.next())vt=se(M,vt.value,ie),vt!==null&&(I=g(vt,I,tt),bt===null?Ve=vt:bt.sibling=vt,bt=vt);return ht&&bi(M,tt),Ve}for(Te=c(Te);!vt.done;tt++,vt=V.next())vt=F(Te,M,tt,vt.value,ie),vt!==null&&(t&&vt.alternate!==null&&Te.delete(vt.key===null?tt:vt.key),I=g(vt,I,tt),bt===null?Ve=vt:bt.sibling=vt,bt=vt);return t&&Te.forEach(function(GN){return a(M,GN)}),ht&&bi(M,tt),Ve}function Et(M,I,V,ie){if(typeof V=="object"&&V!==null&&V.type===E&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case N:e:{for(var Ve=V.key;I!==null;){if(I.key===Ve){if(Ve=V.type,Ve===E){if(I.tag===7){s(M,I.sibling),ie=p(I,V.props.children),ie.return=M,M=ie;break e}}else if(I.elementType===Ve||typeof Ve=="object"&&Ve!==null&&Ve.$$typeof===K&&no(Ve)===I.type){s(M,I.sibling),ie=p(I,V.props),_l(ie,V),ie.return=M,M=ie;break e}s(M,I);break}else a(M,I);I=I.sibling}V.type===E?(ie=Xs(V.props.children,M.mode,ie,V.key),ie.return=M,M=ie):(ie=nu(V.type,V.key,V.props,null,M.mode,ie),_l(ie,V),ie.return=M,M=ie)}return x(M);case q:e:{for(Ve=V.key;I!==null;){if(I.key===Ve)if(I.tag===4&&I.stateNode.containerInfo===V.containerInfo&&I.stateNode.implementation===V.implementation){s(M,I.sibling),ie=p(I,V.children||[]),ie.return=M,M=ie;break e}else{s(M,I);break}else a(M,I);I=I.sibling}ie=sp(V,M.mode,ie),ie.return=M,M=ie}return x(M);case K:return V=no(V),Et(M,I,V,ie)}if($e(V))return Ae(M,I,V,ie);if(Ue(V)){if(Ve=Ue(V),typeof Ve!="function")throw Error(r(150));return V=Ve.call(V),Ke(M,I,V,ie)}if(typeof V.then=="function")return Et(M,I,cu(V),ie);if(V.$$typeof===L)return Et(M,I,su(M,V),ie);uu(M,V)}return typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint"?(V=""+V,I!==null&&I.tag===6?(s(M,I.sibling),ie=p(I,V),ie.return=M,M=ie):(s(M,I),ie=ip(V,M.mode,ie),ie.return=M,M=ie),x(M)):s(M,I)}return function(M,I,V,ie){try{Nl=0;var Ve=Et(M,I,V,ie);return ar=null,Ve}catch(Te){if(Te===nr||Te===ru)throw Te;var bt=ia(29,Te,null,M.mode);return bt.lanes=ie,bt.return=M,bt}}}var io=oy(!0),ry=oy(!1),es=!1;function yp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bp(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ts(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ns(t,a,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(xt&2)!==0){var p=c.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),c.pending=a,a=tu(t),G1(t,null,s),a}return eu(t,c,a,s),tu(t)}function Tl(t,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,nl(t,s)}}function vp(t,a){var s=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,s===c)){var p=null,g=null;if(s=s.firstBaseUpdate,s!==null){do{var x={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};g===null?p=g=x:g=g.next=x,s=s.next}while(s!==null);g===null?p=g=a:g=g.next=a}else p=g=a;s={baseState:c.baseState,firstBaseUpdate:p,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=a:t.next=a,s.lastBaseUpdate=a}var xp=!1;function El(){if(xp){var t=tr;if(t!==null)throw t}}function Rl(t,a,s,c){xp=!1;var p=t.updateQueue;es=!1;var g=p.firstBaseUpdate,x=p.lastBaseUpdate,A=p.shared.pending;if(A!==null){p.shared.pending=null;var D=A,$=D.next;D.next=null,x===null?g=$:x.next=$,x=D;var W=t.alternate;W!==null&&(W=W.updateQueue,A=W.lastBaseUpdate,A!==x&&(A===null?W.firstBaseUpdate=$:A.next=$,W.lastBaseUpdate=D))}if(g!==null){var se=p.baseState;x=0,W=$=D=null,A=g;do{var G=A.lane&-536870913,F=G!==A.lane;if(F?(ut&G)===G:(c&G)===G){G!==0&&G===er&&(xp=!0),W!==null&&(W=W.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var Ae=t,Ke=A;G=a;var Et=s;switch(Ke.tag){case 1:if(Ae=Ke.payload,typeof Ae=="function"){se=Ae.call(Et,se,G);break e}se=Ae;break e;case 3:Ae.flags=Ae.flags&-65537|128;case 0:if(Ae=Ke.payload,G=typeof Ae=="function"?Ae.call(Et,se,G):Ae,G==null)break e;se=j({},se,G);break e;case 2:es=!0}}G=A.callback,G!==null&&(t.flags|=64,F&&(t.flags|=8192),F=p.callbacks,F===null?p.callbacks=[G]:F.push(G))}else F={lane:G,tag:A.tag,payload:A.payload,callback:A.callback,next:null},W===null?($=W=F,D=se):W=W.next=F,x|=G;if(A=A.next,A===null){if(A=p.shared.pending,A===null)break;F=A,A=F.next,F.next=null,p.lastBaseUpdate=F,p.shared.pending=null}}while(!0);W===null&&(D=se),p.baseState=D,p.firstBaseUpdate=$,p.lastBaseUpdate=W,g===null&&(p.shared.lanes=0),rs|=x,t.lanes=x,t.memoizedState=se}}function ly(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function cy(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)ly(s[t],a)}var ir=_e(null),du=_e(0);function uy(t,a){t=Ti,ve(du,t),ve(ir,a),Ti=t|a.baseLanes}function wp(){ve(du,Ti),ve(ir,ir.current)}function kp(){Ti=du.current,Be(ir),Be(du)}var sa=_e(null),Aa=null;function as(t){var a=t.alternate;ve(Wt,Wt.current&1),ve(sa,t),Aa===null&&(a===null||ir.current!==null||a.memoizedState!==null)&&(Aa=t)}function Sp(t){ve(Wt,Wt.current),ve(sa,t),Aa===null&&(Aa=t)}function dy(t){t.tag===22?(ve(Wt,Wt.current),ve(sa,t),Aa===null&&(Aa=t)):is()}function is(){ve(Wt,Wt.current),ve(sa,sa.current)}function oa(t){Be(sa),Aa===t&&(Aa=null),Be(Wt)}var Wt=_e(0);function mu(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Th(s)||Eh(s)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var wi=0,Je=null,_t=null,on=null,pu=!1,sr=!1,so=!1,hu=0,Dl=0,or=null,I4=0;function Zt(){throw Error(r(321))}function jp(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!aa(t[s],a[s]))return!1;return!0}function Ap(t,a,s,c,p,g){return wi=g,Je=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,O.H=t===null||t.memoizedState===null?Fy:Lp,so=!1,g=s(c,p),so=!1,sr&&(g=py(a,s,c,p)),my(t),g}function my(t){O.H=Ol;var a=_t!==null&&_t.next!==null;if(wi=0,on=_t=Je=null,pu=!1,Dl=0,or=null,a)throw Error(r(300));t===null||rn||(t=t.dependencies,t!==null&&iu(t)&&(rn=!0))}function py(t,a,s,c){Je=t;var p=0;do{if(sr&&(or=null),Dl=0,sr=!1,25<=p)throw Error(r(301));if(p+=1,on=_t=null,t.updateQueue!=null){var g=t.updateQueue;g.lastEffect=null,g.events=null,g.stores=null,g.memoCache!=null&&(g.memoCache.index=0)}O.H=Zy,g=a(s,c)}while(sr);return g}function O4(){var t=O.H,a=t.useState()[0];return a=typeof a.then=="function"?zl(a):a,t=t.useState()[0],(_t!==null?_t.memoizedState:null)!==t&&(Je.flags|=1024),a}function Cp(){var t=hu!==0;return hu=0,t}function Np(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function _p(t){if(pu){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}pu=!1}wi=0,on=_t=Je=null,sr=!1,Dl=hu=0,or=null}function Mn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return on===null?Je.memoizedState=on=t:on=on.next=t,on}function en(){if(_t===null){var t=Je.alternate;t=t!==null?t.memoizedState:null}else t=_t.next;var a=on===null?Je.memoizedState:on.next;if(a!==null)on=a,_t=t;else{if(t===null)throw Je.alternate===null?Error(r(467)):Error(r(310));_t=t,t={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},on===null?Je.memoizedState=on=t:on=on.next=t}return on}function fu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function zl(t){var a=Dl;return Dl+=1,or===null&&(or=[]),t=ay(or,t,a),a=Je,(on===null?a.memoizedState:on.next)===null&&(a=a.alternate,O.H=a===null||a.memoizedState===null?Fy:Lp),t}function gu(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return zl(t);if(t.$$typeof===L)return Nn(t)}throw Error(r(438,String(t)))}function Tp(t){var a=null,s=Je.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var c=Je.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(a={data:c.data.map(function(p){return p.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),s===null&&(s=fu(),Je.updateQueue=s),s.memoCache=a,s=a.data[a.index],s===void 0)for(s=a.data[a.index]=Array(t),c=0;c<t;c++)s[c]=Xe;return a.index++,s}function ki(t,a){return typeof a=="function"?a(t):a}function yu(t){var a=en();return Ep(a,_t,t)}function Ep(t,a,s){var c=t.queue;if(c===null)throw Error(r(311));c.lastRenderedReducer=s;var p=t.baseQueue,g=c.pending;if(g!==null){if(p!==null){var x=p.next;p.next=g.next,g.next=x}a.baseQueue=p=g,c.pending=null}if(g=t.baseState,p===null)t.memoizedState=g;else{a=p.next;var A=x=null,D=null,$=a,W=!1;do{var se=$.lane&-536870913;if(se!==$.lane?(ut&se)===se:(wi&se)===se){var G=$.revertLane;if(G===0)D!==null&&(D=D.next={lane:0,revertLane:0,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null}),se===er&&(W=!0);else if((wi&G)===G){$=$.next,G===er&&(W=!0);continue}else se={lane:0,revertLane:$.revertLane,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},D===null?(A=D=se,x=g):D=D.next=se,Je.lanes|=G,rs|=G;se=$.action,so&&s(g,se),g=$.hasEagerState?$.eagerState:s(g,se)}else G={lane:se,revertLane:$.revertLane,gesture:$.gesture,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},D===null?(A=D=G,x=g):D=D.next=G,Je.lanes|=se,rs|=se;$=$.next}while($!==null&&$!==a);if(D===null?x=g:D.next=A,!aa(g,t.memoizedState)&&(rn=!0,W&&(s=tr,s!==null)))throw s;t.memoizedState=g,t.baseState=x,t.baseQueue=D,c.lastRenderedState=g}return p===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function Rp(t){var a=en(),s=a.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var c=s.dispatch,p=s.pending,g=a.memoizedState;if(p!==null){s.pending=null;var x=p=p.next;do g=t(g,x.action),x=x.next;while(x!==p);aa(g,a.memoizedState)||(rn=!0),a.memoizedState=g,a.baseQueue===null&&(a.baseState=g),s.lastRenderedState=g}return[g,c]}function hy(t,a,s){var c=Je,p=en(),g=ht;if(g){if(s===void 0)throw Error(r(407));s=s()}else s=a();var x=!aa((_t||p).memoizedState,s);if(x&&(p.memoizedState=s,rn=!0),p=p.queue,Ip(yy.bind(null,c,p,t),[t]),p.getSnapshot!==a||x||on!==null&&on.memoizedState.tag&1){if(c.flags|=2048,rr(9,{destroy:void 0},gy.bind(null,c,p,s,a),null),Rt===null)throw Error(r(349));g||(wi&127)!==0||fy(c,a,s)}return s}function fy(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=Je.updateQueue,a===null?(a=fu(),Je.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function gy(t,a,s,c){a.value=s,a.getSnapshot=c,by(a)&&vy(t)}function yy(t,a,s){return s(function(){by(a)&&vy(t)})}function by(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!aa(t,s)}catch{return!0}}function vy(t){var a=Ys(t,2);a!==null&&Zn(a,t,2)}function Dp(t){var a=Mn();if(typeof t=="function"){var s=t;if(t=s(),so){gn(!0);try{s()}finally{gn(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ki,lastRenderedState:t},a}function xy(t,a,s,c){return t.baseState=s,Ep(t,_t,typeof c=="function"?c:ki)}function q4(t,a,s,c,p){if(xu(t))throw Error(r(485));if(t=a.action,t!==null){var g={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){g.listeners.push(x)}};O.T!==null?s(!0):g.isTransition=!1,c(g),s=a.pending,s===null?(g.next=a.pending=g,wy(a,g)):(g.next=s.next,a.pending=s.next=g)}}function wy(t,a){var s=a.action,c=a.payload,p=t.state;if(a.isTransition){var g=O.T,x={};O.T=x;try{var A=s(p,c),D=O.S;D!==null&&D(x,A),ky(t,a,A)}catch($){zp(t,a,$)}finally{g!==null&&x.types!==null&&(g.types=x.types),O.T=g}}else try{g=s(p,c),ky(t,a,g)}catch($){zp(t,a,$)}}function ky(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(c){Sy(t,a,c)},function(c){return zp(t,a,c)}):Sy(t,a,s)}function Sy(t,a,s){a.status="fulfilled",a.value=s,jy(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,wy(t,s)))}function zp(t,a,s){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do a.status="rejected",a.reason=s,jy(a),a=a.next;while(a!==c)}t.action=null}function jy(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function Ay(t,a){return a}function Cy(t,a){if(ht){var s=Rt.formState;if(s!==null){e:{var c=Je;if(ht){if(Ot){t:{for(var p=Ot,g=ja;p.nodeType!==8;){if(!g){p=null;break t}if(p=Ca(p.nextSibling),p===null){p=null;break t}}g=p.data,p=g==="F!"||g==="F"?p:null}if(p){Ot=Ca(p.nextSibling),c=p.data==="F!";break e}}Ji(c)}c=!1}c&&(a=s[0])}}return s=Mn(),s.memoizedState=s.baseState=a,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ay,lastRenderedState:a},s.queue=c,s=Ky.bind(null,Je,c),c.dispatch=s,c=Dp(!1),g=Bp.bind(null,Je,!1,c.queue),c=Mn(),p={state:a,dispatch:null,action:t,pending:null},c.queue=p,s=q4.bind(null,Je,p,g,s),p.dispatch=s,c.memoizedState=t,[a,s,!1]}function Ny(t){var a=en();return _y(a,_t,t)}function _y(t,a,s){if(a=Ep(t,a,Ay)[0],t=yu(ki)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var c=zl(a)}catch(x){throw x===nr?ru:x}else c=a;a=en();var p=a.queue,g=p.dispatch;return s!==a.memoizedState&&(Je.flags|=2048,rr(9,{destroy:void 0},P4.bind(null,p,s),null)),[c,g,t]}function P4(t,a){t.action=a}function Ty(t){var a=en(),s=_t;if(s!==null)return _y(a,s,t);en(),a=a.memoizedState,s=en();var c=s.queue.dispatch;return s.memoizedState=t,[a,c,!1]}function rr(t,a,s,c){return t={tag:t,create:s,deps:c,inst:a,next:null},a=Je.updateQueue,a===null&&(a=fu(),Je.updateQueue=a),s=a.lastEffect,s===null?a.lastEffect=t.next=t:(c=s.next,s.next=t,t.next=c,a.lastEffect=t),t}function Ey(){return en().memoizedState}function bu(t,a,s,c){var p=Mn();Je.flags|=t,p.memoizedState=rr(1|a,{destroy:void 0},s,c===void 0?null:c)}function vu(t,a,s,c){var p=en();c=c===void 0?null:c;var g=p.memoizedState.inst;_t!==null&&c!==null&&jp(c,_t.memoizedState.deps)?p.memoizedState=rr(a,g,s,c):(Je.flags|=t,p.memoizedState=rr(1|a,g,s,c))}function Ry(t,a){bu(8390656,8,t,a)}function Ip(t,a){vu(2048,8,t,a)}function M4(t){Je.flags|=4;var a=Je.updateQueue;if(a===null)a=fu(),Je.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function Dy(t){var a=en().memoizedState;return M4({ref:a,nextImpl:t}),function(){if((xt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function zy(t,a){return vu(4,2,t,a)}function Iy(t,a){return vu(4,4,t,a)}function Oy(t,a){if(typeof a=="function"){t=t();var s=a(t);return function(){typeof s=="function"?s():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function qy(t,a,s){s=s!=null?s.concat([t]):null,vu(4,4,Oy.bind(null,a,t),s)}function Op(){}function Py(t,a){var s=en();a=a===void 0?null:a;var c=s.memoizedState;return a!==null&&jp(a,c[1])?c[0]:(s.memoizedState=[t,a],t)}function My(t,a){var s=en();a=a===void 0?null:a;var c=s.memoizedState;if(a!==null&&jp(a,c[1]))return c[0];if(c=t(),so){gn(!0);try{t()}finally{gn(!1)}}return s.memoizedState=[c,a],c}function qp(t,a,s){return s===void 0||(wi&1073741824)!==0&&(ut&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=Bb(),Je.lanes|=t,rs|=t,s)}function By(t,a,s,c){return aa(s,a)?s:ir.current!==null?(t=qp(t,s,c),aa(t,a)||(rn=!0),t):(wi&42)===0||(wi&1073741824)!==0&&(ut&261930)===0?(rn=!0,t.memoizedState=s):(t=Bb(),Je.lanes|=t,rs|=t,a)}function Ly(t,a,s,c,p){var g=ne.p;ne.p=g!==0&&8>g?g:8;var x=O.T,A={};O.T=A,Bp(t,!1,a,s);try{var D=p(),$=O.S;if($!==null&&$(A,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var W=z4(D,c);Il(t,a,W,ca(t))}else Il(t,a,c,ca(t))}catch(se){Il(t,a,{then:function(){},status:"rejected",reason:se},ca())}finally{ne.p=g,x!==null&&A.types!==null&&(x.types=A.types),O.T=x}}function B4(){}function Pp(t,a,s,c){if(t.tag!==5)throw Error(r(476));var p=Vy(t).queue;Ly(t,p,a,ge,s===null?B4:function(){return $y(t),s(c)})}function Vy(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:ge,baseState:ge,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ki,lastRenderedState:ge},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ki,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function $y(t){var a=Vy(t);a.next===null&&(a=t.alternate.memoizedState),Il(t,a.next.queue,{},ca())}function Mp(){return Nn(Xl)}function Uy(){return en().memoizedState}function Gy(){return en().memoizedState}function L4(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=ca();t=ts(s);var c=ns(a,t,s);c!==null&&(Zn(c,a,s),Tl(c,a,s)),a={cache:pp()},t.payload=a;return}a=a.return}}function V4(t,a,s){var c=ca();s={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},xu(t)?Hy(a,s):(s=np(t,a,s,c),s!==null&&(Zn(s,t,c),Qy(s,a,c)))}function Ky(t,a,s){var c=ca();Il(t,a,s,c)}function Il(t,a,s,c){var p={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(xu(t))Hy(a,p);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var x=a.lastRenderedState,A=g(x,s);if(p.hasEagerState=!0,p.eagerState=A,aa(A,x))return eu(t,a,p,0),Rt===null&&Wc(),!1}catch{}if(s=np(t,a,p,c),s!==null)return Zn(s,t,c),Qy(s,a,c),!0}return!1}function Bp(t,a,s,c){if(c={lane:2,revertLane:yh(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},xu(t)){if(a)throw Error(r(479))}else a=np(t,s,c,2),a!==null&&Zn(a,t,2)}function xu(t){var a=t.alternate;return t===Je||a!==null&&a===Je}function Hy(t,a){sr=pu=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function Qy(t,a,s){if((s&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,nl(t,s)}}var Ol={readContext:Nn,use:gu,useCallback:Zt,useContext:Zt,useEffect:Zt,useImperativeHandle:Zt,useLayoutEffect:Zt,useInsertionEffect:Zt,useMemo:Zt,useReducer:Zt,useRef:Zt,useState:Zt,useDebugValue:Zt,useDeferredValue:Zt,useTransition:Zt,useSyncExternalStore:Zt,useId:Zt,useHostTransitionStatus:Zt,useFormState:Zt,useActionState:Zt,useOptimistic:Zt,useMemoCache:Zt,useCacheRefresh:Zt};Ol.useEffectEvent=Zt;var Fy={readContext:Nn,use:gu,useCallback:function(t,a){return Mn().memoizedState=[t,a===void 0?null:a],t},useContext:Nn,useEffect:Ry,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,bu(4194308,4,Oy.bind(null,a,t),s)},useLayoutEffect:function(t,a){return bu(4194308,4,t,a)},useInsertionEffect:function(t,a){bu(4,2,t,a)},useMemo:function(t,a){var s=Mn();a=a===void 0?null:a;var c=t();if(so){gn(!0);try{t()}finally{gn(!1)}}return s.memoizedState=[c,a],c},useReducer:function(t,a,s){var c=Mn();if(s!==void 0){var p=s(a);if(so){gn(!0);try{s(a)}finally{gn(!1)}}}else p=a;return c.memoizedState=c.baseState=p,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:p},c.queue=t,t=t.dispatch=V4.bind(null,Je,t),[c.memoizedState,t]},useRef:function(t){var a=Mn();return t={current:t},a.memoizedState=t},useState:function(t){t=Dp(t);var a=t.queue,s=Ky.bind(null,Je,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:Op,useDeferredValue:function(t,a){var s=Mn();return qp(s,t,a)},useTransition:function(){var t=Dp(!1);return t=Ly.bind(null,Je,t.queue,!0,!1),Mn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var c=Je,p=Mn();if(ht){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),Rt===null)throw Error(r(349));(ut&127)!==0||fy(c,a,s)}p.memoizedState=s;var g={value:s,getSnapshot:a};return p.queue=g,Ry(yy.bind(null,c,g,t),[t]),c.flags|=2048,rr(9,{destroy:void 0},gy.bind(null,c,g,s,a),null),s},useId:function(){var t=Mn(),a=Rt.identifierPrefix;if(ht){var s=ai,c=ni;s=(c&~(1<<32-Sn(c)-1)).toString(32)+s,a="_"+a+"R_"+s,s=hu++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=I4++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:Mp,useFormState:Cy,useActionState:Cy,useOptimistic:function(t){var a=Mn();a.memoizedState=a.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=s,a=Bp.bind(null,Je,!0,s),s.dispatch=a,[t,a]},useMemoCache:Tp,useCacheRefresh:function(){return Mn().memoizedState=L4.bind(null,Je)},useEffectEvent:function(t){var a=Mn(),s={impl:t};return a.memoizedState=s,function(){if((xt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},Lp={readContext:Nn,use:gu,useCallback:Py,useContext:Nn,useEffect:Ip,useImperativeHandle:qy,useInsertionEffect:zy,useLayoutEffect:Iy,useMemo:My,useReducer:yu,useRef:Ey,useState:function(){return yu(ki)},useDebugValue:Op,useDeferredValue:function(t,a){var s=en();return By(s,_t.memoizedState,t,a)},useTransition:function(){var t=yu(ki)[0],a=en().memoizedState;return[typeof t=="boolean"?t:zl(t),a]},useSyncExternalStore:hy,useId:Uy,useHostTransitionStatus:Mp,useFormState:Ny,useActionState:Ny,useOptimistic:function(t,a){var s=en();return xy(s,_t,t,a)},useMemoCache:Tp,useCacheRefresh:Gy};Lp.useEffectEvent=Dy;var Zy={readContext:Nn,use:gu,useCallback:Py,useContext:Nn,useEffect:Ip,useImperativeHandle:qy,useInsertionEffect:zy,useLayoutEffect:Iy,useMemo:My,useReducer:Rp,useRef:Ey,useState:function(){return Rp(ki)},useDebugValue:Op,useDeferredValue:function(t,a){var s=en();return _t===null?qp(s,t,a):By(s,_t.memoizedState,t,a)},useTransition:function(){var t=Rp(ki)[0],a=en().memoizedState;return[typeof t=="boolean"?t:zl(t),a]},useSyncExternalStore:hy,useId:Uy,useHostTransitionStatus:Mp,useFormState:Ty,useActionState:Ty,useOptimistic:function(t,a){var s=en();return _t!==null?xy(s,_t,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:Tp,useCacheRefresh:Gy};Zy.useEffectEvent=Dy;function Vp(t,a,s,c){a=t.memoizedState,s=s(c,a),s=s==null?a:j({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var $p={enqueueSetState:function(t,a,s){t=t._reactInternals;var c=ca(),p=ts(c);p.payload=a,s!=null&&(p.callback=s),a=ns(t,p,c),a!==null&&(Zn(a,t,c),Tl(a,t,c))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var c=ca(),p=ts(c);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=ns(t,p,c),a!==null&&(Zn(a,t,c),Tl(a,t,c))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=ca(),c=ts(s);c.tag=2,a!=null&&(c.callback=a),a=ns(t,c,s),a!==null&&(Zn(a,t,s),Tl(a,t,s))}};function Yy(t,a,s,c,p,g,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,g,x):a.prototype&&a.prototype.isPureReactComponent?!wl(s,c)||!wl(p,g):!0}function Xy(t,a,s,c){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(s,c),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(s,c),a.state!==t&&$p.enqueueReplaceState(a,a.state,null)}function oo(t,a){var s=a;if("ref"in a){s={};for(var c in a)c!=="ref"&&(s[c]=a[c])}if(t=t.defaultProps){s===a&&(s=j({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function Jy(t){Jc(t)}function Wy(t){console.error(t)}function eb(t){Jc(t)}function wu(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(c){setTimeout(function(){throw c})}}function tb(t,a,s){try{var c=t.onCaughtError;c(s.value,{componentStack:s.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function Up(t,a,s){return s=ts(s),s.tag=3,s.payload={element:null},s.callback=function(){wu(t,a)},s}function nb(t){return t=ts(t),t.tag=3,t}function ab(t,a,s,c){var p=s.type.getDerivedStateFromError;if(typeof p=="function"){var g=c.value;t.payload=function(){return p(g)},t.callback=function(){tb(a,s,c)}}var x=s.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){tb(a,s,c),typeof p!="function"&&(ls===null?ls=new Set([this]):ls.add(this));var A=c.stack;this.componentDidCatch(c.value,{componentStack:A!==null?A:""})})}function $4(t,a,s,c,p){if(s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(a=s.alternate,a!==null&&Wo(a,s,p,!0),s=sa.current,s!==null){switch(s.tag){case 31:case 13:return Aa===null?zu():s.alternate===null&&Yt===0&&(Yt=3),s.flags&=-257,s.flags|=65536,s.lanes=p,c===lu?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([c]):a.add(c),hh(t,c,p)),!1;case 22:return s.flags|=65536,c===lu?s.flags|=16384:(a=s.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([c])},s.updateQueue=a):(s=a.retryQueue,s===null?a.retryQueue=new Set([c]):s.add(c)),hh(t,c,p)),!1}throw Error(r(435,s.tag))}return hh(t,c,p),zu(),!1}if(ht)return a=sa.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,c!==lp&&(t=Error(r(422),{cause:c}),jl(wa(t,s)))):(c!==lp&&(a=Error(r(423),{cause:c}),jl(wa(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,c=wa(c,s),p=Up(t.stateNode,c,p),vp(t,p),Yt!==4&&(Yt=2)),!1;var g=Error(r(520),{cause:c});if(g=wa(g,s),Ul===null?Ul=[g]:Ul.push(g),Yt!==4&&(Yt=2),a===null)return!0;c=wa(c,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=Up(s.stateNode,c,t),vp(s,t),!1;case 1:if(a=s.type,g=s.stateNode,(s.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||g!==null&&typeof g.componentDidCatch=="function"&&(ls===null||!ls.has(g))))return s.flags|=65536,p&=-p,s.lanes|=p,p=nb(p),ab(p,t,s,c),vp(s,p),!1}s=s.return}while(s!==null);return!1}var Gp=Error(r(461)),rn=!1;function _n(t,a,s,c){a.child=t===null?ry(a,null,s,c):io(a,t.child,s,c)}function ib(t,a,s,c,p){s=s.render;var g=a.ref;if("ref"in c){var x={};for(var A in c)A!=="ref"&&(x[A]=c[A])}else x=c;return eo(a),c=Ap(t,a,s,x,g,p),A=Cp(),t!==null&&!rn?(Np(t,a,p),Si(t,a,p)):(ht&&A&&op(a),a.flags|=1,_n(t,a,c,p),a.child)}function sb(t,a,s,c,p){if(t===null){var g=s.type;return typeof g=="function"&&!ap(g)&&g.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=g,ob(t,a,g,c,p)):(t=nu(s.type,null,c,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(g=t.child,!Jp(t,p)){var x=g.memoizedProps;if(s=s.compare,s=s!==null?s:wl,s(x,c)&&t.ref===a.ref)return Si(t,a,p)}return a.flags|=1,t=yi(g,c),t.ref=a.ref,t.return=a,a.child=t}function ob(t,a,s,c,p){if(t!==null){var g=t.memoizedProps;if(wl(g,c)&&t.ref===a.ref)if(rn=!1,a.pendingProps=c=g,Jp(t,p))(t.flags&131072)!==0&&(rn=!0);else return a.lanes=t.lanes,Si(t,a,p)}return Kp(t,a,s,c,p)}function rb(t,a,s,c){var p=c.children,g=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((a.flags&128)!==0){if(g=g!==null?g.baseLanes|s:s,t!==null){for(c=a.child=t.child,p=0;c!==null;)p=p|c.lanes|c.childLanes,c=c.sibling;c=p&~g}else c=0,a.child=null;return lb(t,a,g,s,c)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&ou(a,g!==null?g.cachePool:null),g!==null?uy(a,g):wp(),dy(a);else return c=a.lanes=536870912,lb(t,a,g!==null?g.baseLanes|s:s,s,c)}else g!==null?(ou(a,g.cachePool),uy(a,g),is(),a.memoizedState=null):(t!==null&&ou(a,null),wp(),is());return _n(t,a,p,s),a.child}function ql(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function lb(t,a,s,c,p){var g=fp();return g=g===null?null:{parent:sn._currentValue,pool:g},a.memoizedState={baseLanes:s,cachePool:g},t!==null&&ou(a,null),wp(),dy(a),t!==null&&Wo(t,a,c,!0),a.childLanes=p,null}function ku(t,a){return a=ju({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function cb(t,a,s){return io(a,t.child,null,s),t=ku(a,a.pendingProps),t.flags|=2,oa(a),a.memoizedState=null,t}function U4(t,a,s){var c=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(ht){if(c.mode==="hidden")return t=ku(a,c),a.lanes=536870912,ql(null,t);if(Sp(a),(t=Ot)?(t=wv(t,ja),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Yi!==null?{id:ni,overflow:ai}:null,retryLane:536870912,hydrationErrors:null},s=H1(t),s.return=a,a.child=s,Cn=a,Ot=null)):t=null,t===null)throw Ji(a);return a.lanes=536870912,null}return ku(a,c)}var g=t.memoizedState;if(g!==null){var x=g.dehydrated;if(Sp(a),p)if(a.flags&256)a.flags&=-257,a=cb(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(rn||Wo(t,a,s,!1),p=(s&t.childLanes)!==0,rn||p){if(c=Rt,c!==null&&(x=al(c,s),x!==0&&x!==g.retryLane))throw g.retryLane=x,Ys(t,x),Zn(c,t,x),Gp;zu(),a=cb(t,a,s)}else t=g.treeContext,Ot=Ca(x.nextSibling),Cn=a,ht=!0,Xi=null,ja=!1,t!==null&&Z1(a,t),a=ku(a,c),a.flags|=4096;return a}return t=yi(t.child,{mode:c.mode,children:c.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Su(t,a){var s=a.ref;if(s===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(r(284));(t===null||t.ref!==s)&&(a.flags|=4194816)}}function Kp(t,a,s,c,p){return eo(a),s=Ap(t,a,s,c,void 0,p),c=Cp(),t!==null&&!rn?(Np(t,a,p),Si(t,a,p)):(ht&&c&&op(a),a.flags|=1,_n(t,a,s,p),a.child)}function ub(t,a,s,c,p,g){return eo(a),a.updateQueue=null,s=py(a,c,s,p),my(t),c=Cp(),t!==null&&!rn?(Np(t,a,g),Si(t,a,g)):(ht&&c&&op(a),a.flags|=1,_n(t,a,s,g),a.child)}function db(t,a,s,c,p){if(eo(a),a.stateNode===null){var g=Zo,x=s.contextType;typeof x=="object"&&x!==null&&(g=Nn(x)),g=new s(c,g),a.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,g.updater=$p,a.stateNode=g,g._reactInternals=a,g=a.stateNode,g.props=c,g.state=a.memoizedState,g.refs={},yp(a),x=s.contextType,g.context=typeof x=="object"&&x!==null?Nn(x):Zo,g.state=a.memoizedState,x=s.getDerivedStateFromProps,typeof x=="function"&&(Vp(a,s,x,c),g.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(x=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),x!==g.state&&$p.enqueueReplaceState(g,g.state,null),Rl(a,c,g,p),El(),g.state=a.memoizedState),typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!0}else if(t===null){g=a.stateNode;var A=a.memoizedProps,D=oo(s,A);g.props=D;var $=g.context,W=s.contextType;x=Zo,typeof W=="object"&&W!==null&&(x=Nn(W));var se=s.getDerivedStateFromProps;W=typeof se=="function"||typeof g.getSnapshotBeforeUpdate=="function",A=a.pendingProps!==A,W||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(A||$!==x)&&Xy(a,g,c,x),es=!1;var G=a.memoizedState;g.state=G,Rl(a,c,g,p),El(),$=a.memoizedState,A||G!==$||es?(typeof se=="function"&&(Vp(a,s,se,c),$=a.memoizedState),(D=es||Yy(a,s,D,c,G,$,x))?(W||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(a.flags|=4194308)):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=c,a.memoizedState=$),g.props=c,g.state=$,g.context=x,c=D):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!1)}else{g=a.stateNode,bp(t,a),x=a.memoizedProps,W=oo(s,x),g.props=W,se=a.pendingProps,G=g.context,$=s.contextType,D=Zo,typeof $=="object"&&$!==null&&(D=Nn($)),A=s.getDerivedStateFromProps,($=typeof A=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(x!==se||G!==D)&&Xy(a,g,c,D),es=!1,G=a.memoizedState,g.state=G,Rl(a,c,g,p),El();var F=a.memoizedState;x!==se||G!==F||es||t!==null&&t.dependencies!==null&&iu(t.dependencies)?(typeof A=="function"&&(Vp(a,s,A,c),F=a.memoizedState),(W=es||Yy(a,s,W,c,G,F,D)||t!==null&&t.dependencies!==null&&iu(t.dependencies))?($||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(c,F,D),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(c,F,D)),typeof g.componentDidUpdate=="function"&&(a.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),a.memoizedProps=c,a.memoizedState=F),g.props=c,g.state=F,g.context=D,c=W):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),c=!1)}return g=c,Su(t,a),c=(a.flags&128)!==0,g||c?(g=a.stateNode,s=c&&typeof s.getDerivedStateFromError!="function"?null:g.render(),a.flags|=1,t!==null&&c?(a.child=io(a,t.child,null,p),a.child=io(a,null,s,p)):_n(t,a,s,p),a.memoizedState=g.state,t=a.child):t=Si(t,a,p),t}function mb(t,a,s,c){return Js(),a.flags|=256,_n(t,a,s,c),a.child}var Hp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Qp(t){return{baseLanes:t,cachePool:ty()}}function Fp(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=la),t}function pb(t,a,s){var c=a.pendingProps,p=!1,g=(a.flags&128)!==0,x;if((x=g)||(x=t!==null&&t.memoizedState===null?!1:(Wt.current&2)!==0),x&&(p=!0,a.flags&=-129),x=(a.flags&32)!==0,a.flags&=-33,t===null){if(ht){if(p?as(a):is(),(t=Ot)?(t=wv(t,ja),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Yi!==null?{id:ni,overflow:ai}:null,retryLane:536870912,hydrationErrors:null},s=H1(t),s.return=a,a.child=s,Cn=a,Ot=null)):t=null,t===null)throw Ji(a);return Eh(t)?a.lanes=32:a.lanes=536870912,null}var A=c.children;return c=c.fallback,p?(is(),p=a.mode,A=ju({mode:"hidden",children:A},p),c=Xs(c,p,s,null),A.return=a,c.return=a,A.sibling=c,a.child=A,c=a.child,c.memoizedState=Qp(s),c.childLanes=Fp(t,x,s),a.memoizedState=Hp,ql(null,c)):(as(a),Zp(a,A))}var D=t.memoizedState;if(D!==null&&(A=D.dehydrated,A!==null)){if(g)a.flags&256?(as(a),a.flags&=-257,a=Yp(t,a,s)):a.memoizedState!==null?(is(),a.child=t.child,a.flags|=128,a=null):(is(),A=c.fallback,p=a.mode,c=ju({mode:"visible",children:c.children},p),A=Xs(A,p,s,null),A.flags|=2,c.return=a,A.return=a,c.sibling=A,a.child=c,io(a,t.child,null,s),c=a.child,c.memoizedState=Qp(s),c.childLanes=Fp(t,x,s),a.memoizedState=Hp,a=ql(null,c));else if(as(a),Eh(A)){if(x=A.nextSibling&&A.nextSibling.dataset,x)var $=x.dgst;x=$,c=Error(r(419)),c.stack="",c.digest=x,jl({value:c,source:null,stack:null}),a=Yp(t,a,s)}else if(rn||Wo(t,a,s,!1),x=(s&t.childLanes)!==0,rn||x){if(x=Rt,x!==null&&(c=al(x,s),c!==0&&c!==D.retryLane))throw D.retryLane=c,Ys(t,c),Zn(x,t,c),Gp;Th(A)||zu(),a=Yp(t,a,s)}else Th(A)?(a.flags|=192,a.child=t.child,a=null):(t=D.treeContext,Ot=Ca(A.nextSibling),Cn=a,ht=!0,Xi=null,ja=!1,t!==null&&Z1(a,t),a=Zp(a,c.children),a.flags|=4096);return a}return p?(is(),A=c.fallback,p=a.mode,D=t.child,$=D.sibling,c=yi(D,{mode:"hidden",children:c.children}),c.subtreeFlags=D.subtreeFlags&65011712,$!==null?A=yi($,A):(A=Xs(A,p,s,null),A.flags|=2),A.return=a,c.return=a,c.sibling=A,a.child=c,ql(null,c),c=a.child,A=t.child.memoizedState,A===null?A=Qp(s):(p=A.cachePool,p!==null?(D=sn._currentValue,p=p.parent!==D?{parent:D,pool:D}:p):p=ty(),A={baseLanes:A.baseLanes|s,cachePool:p}),c.memoizedState=A,c.childLanes=Fp(t,x,s),a.memoizedState=Hp,ql(t.child,c)):(as(a),s=t.child,t=s.sibling,s=yi(s,{mode:"visible",children:c.children}),s.return=a,s.sibling=null,t!==null&&(x=a.deletions,x===null?(a.deletions=[t],a.flags|=16):x.push(t)),a.child=s,a.memoizedState=null,s)}function Zp(t,a){return a=ju({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function ju(t,a){return t=ia(22,t,null,a),t.lanes=0,t}function Yp(t,a,s){return io(a,t.child,null,s),t=Zp(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function hb(t,a,s){t.lanes|=a;var c=t.alternate;c!==null&&(c.lanes|=a),dp(t.return,a,s)}function Xp(t,a,s,c,p,g){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:c,tail:s,tailMode:p,treeForkCount:g}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=c,x.tail=s,x.tailMode=p,x.treeForkCount=g)}function fb(t,a,s){var c=a.pendingProps,p=c.revealOrder,g=c.tail;c=c.children;var x=Wt.current,A=(x&2)!==0;if(A?(x=x&1|2,a.flags|=128):x&=1,ve(Wt,x),_n(t,a,c,s),c=ht?Sl:0,!A&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&hb(t,s,a);else if(t.tag===19)hb(t,s,a);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(p){case"forwards":for(s=a.child,p=null;s!==null;)t=s.alternate,t!==null&&mu(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),Xp(a,!1,p,s,g,c);break;case"backwards":case"unstable_legacy-backwards":for(s=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&mu(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}Xp(a,!0,s,null,g,c);break;case"together":Xp(a,!1,null,null,void 0,c);break;default:a.memoizedState=null}return a.child}function Si(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),rs|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(Wo(t,a,s,!1),(s&a.childLanes)===0)return null}else return null;if(t!==null&&a.child!==t.child)throw Error(r(153));if(a.child!==null){for(t=a.child,s=yi(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=yi(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function Jp(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&iu(t)))}function G4(t,a,s){switch(a.tag){case 3:De(a,a.stateNode.containerInfo),Wi(a,sn,t.memoizedState.cache),Js();break;case 27:case 5:it(a);break;case 4:De(a,a.stateNode.containerInfo);break;case 10:Wi(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Sp(a),null;break;case 13:var c=a.memoizedState;if(c!==null)return c.dehydrated!==null?(as(a),a.flags|=128,null):(s&a.child.childLanes)!==0?pb(t,a,s):(as(a),t=Si(t,a,s),t!==null?t.sibling:null);as(a);break;case 19:var p=(t.flags&128)!==0;if(c=(s&a.childLanes)!==0,c||(Wo(t,a,s,!1),c=(s&a.childLanes)!==0),p){if(c)return fb(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),ve(Wt,Wt.current),c)break;return null;case 22:return a.lanes=0,rb(t,a,s,a.pendingProps);case 24:Wi(a,sn,t.memoizedState.cache)}return Si(t,a,s)}function gb(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)rn=!0;else{if(!Jp(t,s)&&(a.flags&128)===0)return rn=!1,G4(t,a,s);rn=(t.flags&131072)!==0}else rn=!1,ht&&(a.flags&1048576)!==0&&F1(a,Sl,a.index);switch(a.lanes=0,a.tag){case 16:e:{var c=a.pendingProps;if(t=no(a.elementType),a.type=t,typeof t=="function")ap(t)?(c=oo(t,c),a.tag=1,a=db(null,a,t,c,s)):(a.tag=0,a=Kp(null,a,t,c,s));else{if(t!=null){var p=t.$$typeof;if(p===Z){a.tag=11,a=ib(null,a,t,c,s);break e}else if(p===B){a.tag=14,a=sb(null,a,t,c,s);break e}}throw a=ke(t)||t,Error(r(306,a,""))}}return a;case 0:return Kp(t,a,a.type,a.pendingProps,s);case 1:return c=a.type,p=oo(c,a.pendingProps),db(t,a,c,p,s);case 3:e:{if(De(a,a.stateNode.containerInfo),t===null)throw Error(r(387));c=a.pendingProps;var g=a.memoizedState;p=g.element,bp(t,a),Rl(a,c,null,s);var x=a.memoizedState;if(c=x.cache,Wi(a,sn,c),c!==g.cache&&mp(a,[sn],s,!0),El(),c=x.element,g.isDehydrated)if(g={element:c,isDehydrated:!1,cache:x.cache},a.updateQueue.baseState=g,a.memoizedState=g,a.flags&256){a=mb(t,a,c,s);break e}else if(c!==p){p=wa(Error(r(424)),a),jl(p),a=mb(t,a,c,s);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,Ot=Ca(t.firstChild),Cn=a,ht=!0,Xi=null,ja=!0,s=ry(a,null,c,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Js(),c===p){a=Si(t,a,s);break e}_n(t,a,c,s)}a=a.child}return a;case 26:return Su(t,a),t===null?(s=Nv(a.type,null,a.pendingProps,null))?a.memoizedState=s:ht||(s=a.type,t=a.pendingProps,c=Lu(Q.current).createElement(s),c[an]=a,c[Dn]=t,Tn(c,s,t),Jt(c),a.stateNode=c):a.memoizedState=Nv(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return it(a),t===null&&ht&&(c=a.stateNode=jv(a.type,a.pendingProps,Q.current),Cn=a,ja=!0,p=Ot,ms(a.type)?(Rh=p,Ot=Ca(c.firstChild)):Ot=p),_n(t,a,a.pendingProps.children,s),Su(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&ht&&((p=c=Ot)&&(c=xN(c,a.type,a.pendingProps,ja),c!==null?(a.stateNode=c,Cn=a,Ot=Ca(c.firstChild),ja=!1,p=!0):p=!1),p||Ji(a)),it(a),p=a.type,g=a.pendingProps,x=t!==null?t.memoizedProps:null,c=g.children,Ch(p,g)?c=null:x!==null&&Ch(p,x)&&(a.flags|=32),a.memoizedState!==null&&(p=Ap(t,a,O4,null,null,s),Xl._currentValue=p),Su(t,a),_n(t,a,c,s),a.child;case 6:return t===null&&ht&&((t=s=Ot)&&(s=wN(s,a.pendingProps,ja),s!==null?(a.stateNode=s,Cn=a,Ot=null,t=!0):t=!1),t||Ji(a)),null;case 13:return pb(t,a,s);case 4:return De(a,a.stateNode.containerInfo),c=a.pendingProps,t===null?a.child=io(a,null,c,s):_n(t,a,c,s),a.child;case 11:return ib(t,a,a.type,a.pendingProps,s);case 7:return _n(t,a,a.pendingProps,s),a.child;case 8:return _n(t,a,a.pendingProps.children,s),a.child;case 12:return _n(t,a,a.pendingProps.children,s),a.child;case 10:return c=a.pendingProps,Wi(a,a.type,c.value),_n(t,a,c.children,s),a.child;case 9:return p=a.type._context,c=a.pendingProps.children,eo(a),p=Nn(p),c=c(p),a.flags|=1,_n(t,a,c,s),a.child;case 14:return sb(t,a,a.type,a.pendingProps,s);case 15:return ob(t,a,a.type,a.pendingProps,s);case 19:return fb(t,a,s);case 31:return U4(t,a,s);case 22:return rb(t,a,s,a.pendingProps);case 24:return eo(a),c=Nn(sn),t===null?(p=fp(),p===null&&(p=Rt,g=pp(),p.pooledCache=g,g.refCount++,g!==null&&(p.pooledCacheLanes|=s),p=g),a.memoizedState={parent:c,cache:p},yp(a),Wi(a,sn,p)):((t.lanes&s)!==0&&(bp(t,a),Rl(a,null,null,s),El()),p=t.memoizedState,g=a.memoizedState,p.parent!==c?(p={parent:c,cache:c},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),Wi(a,sn,c)):(c=g.cache,Wi(a,sn,c),c!==p.cache&&mp(a,[sn],s,!0))),_n(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function ji(t){t.flags|=4}function Wp(t,a,s,c,p){if((a=(t.mode&32)!==0)&&(a=!1),a){if(t.flags|=16777216,(p&335544128)===p)if(t.stateNode.complete)t.flags|=8192;else if(Ub())t.flags|=8192;else throw ao=lu,gp}else t.flags&=-16777217}function yb(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Dv(a))if(Ub())t.flags|=8192;else throw ao=lu,gp}function Au(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?Bs():536870912,t.lanes|=a,dr|=a)}function Pl(t,a){if(!ht)switch(t.tailMode){case"hidden":a=t.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t.tail=null:s.sibling=null;break;case"collapsed":s=t.tail;for(var c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function qt(t){var a=t.alternate!==null&&t.alternate.child===t.child,s=0,c=0;if(a)for(var p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags&65011712,c|=p.flags&65011712,p.return=t,p=p.sibling;else for(p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags,c|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=c,t.childLanes=s,a}function K4(t,a,s){var c=a.pendingProps;switch(rp(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qt(a),null;case 1:return qt(a),null;case 3:return s=a.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),a.memoizedState.cache!==c&&(a.flags|=2048),xi(sn),je(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(Jo(a)?ji(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,cp())),qt(a),null;case 26:var p=a.type,g=a.memoizedState;return t===null?(ji(a),g!==null?(qt(a),yb(a,g)):(qt(a),Wp(a,p,null,c,s))):g?g!==t.memoizedState?(ji(a),qt(a),yb(a,g)):(qt(a),a.flags&=-16777217):(t=t.memoizedProps,t!==c&&ji(a),qt(a),Wp(a,p,t,c,s)),null;case 27:if(Ge(a),s=Q.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&ji(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return qt(a),null}t=le.current,Jo(a)?Y1(a):(t=jv(p,c,s),a.stateNode=t,ji(a))}return qt(a),null;case 5:if(Ge(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&ji(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return qt(a),null}if(g=le.current,Jo(a))Y1(a);else{var x=Lu(Q.current);switch(g){case 1:g=x.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:g=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":g=x.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":g=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":g=x.createElement("div"),g.innerHTML="<script><\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?x.createElement("select",{is:c.is}):x.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?x.createElement(p,{is:c.is}):x.createElement(p)}}g[an]=a,g[Dn]=c;e:for(x=a.child;x!==null;){if(x.tag===5||x.tag===6)g.appendChild(x.stateNode);else if(x.tag!==4&&x.tag!==27&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===a)break e;for(;x.sibling===null;){if(x.return===null||x.return===a)break e;x=x.return}x.sibling.return=x.return,x=x.sibling}a.stateNode=g;e:switch(Tn(g,p,c),p){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&ji(a)}}return qt(a),Wp(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&ji(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(r(166));if(t=Q.current,Jo(a)){if(t=a.stateNode,s=a.memoizedProps,c=null,p=Cn,p!==null)switch(p.tag){case 27:case 5:c=p.memoizedProps}t[an]=a,t=!!(t.nodeValue===s||c!==null&&c.suppressHydrationWarning===!0||pv(t.nodeValue,s)),t||Ji(a,!0)}else t=Lu(t).createTextNode(c),t[an]=a,a.stateNode=t}return qt(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(c=Jo(a),s!==null){if(t===null){if(!c)throw Error(r(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[an]=a}else Js(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;qt(a),t=!1}else s=cp(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(oa(a),a):(oa(a),null);if((a.flags&128)!==0)throw Error(r(558))}return qt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=Jo(a),c!==null&&c.dehydrated!==null){if(t===null){if(!p)throw Error(r(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(r(317));p[an]=a}else Js(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;qt(a),p=!1}else p=cp(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(oa(a),a):(oa(a),null)}return oa(a),(a.flags&128)!==0?(a.lanes=s,a):(s=c!==null,t=t!==null&&t.memoizedState!==null,s&&(c=a.child,p=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(p=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==p&&(c.flags|=2048)),s!==t&&s&&(a.child.flags|=8192),Au(a,a.updateQueue),qt(a),null);case 4:return je(),t===null&&wh(a.stateNode.containerInfo),qt(a),null;case 10:return xi(a.type),qt(a),null;case 19:if(Be(Wt),c=a.memoizedState,c===null)return qt(a),null;if(p=(a.flags&128)!==0,g=c.rendering,g===null)if(p)Pl(c,!1);else{if(Yt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=mu(t),g!==null){for(a.flags|=128,Pl(c,!1),t=g.updateQueue,a.updateQueue=t,Au(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)K1(s,t),s=s.sibling;return ve(Wt,Wt.current&1|2),ht&&bi(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&Lt()>Eu&&(a.flags|=128,p=!0,Pl(c,!1),a.lanes=4194304)}else{if(!p)if(t=mu(g),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,Au(a,t),Pl(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!ht)return qt(a),null}else 2*Lt()-c.renderingStartTime>Eu&&s!==536870912&&(a.flags|=128,p=!0,Pl(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Lt(),t.sibling=null,s=Wt.current,ve(Wt,p?s&1|2:s&1),ht&&bi(a,c.treeForkCount),t):(qt(a),null);case 22:case 23:return oa(a),kp(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(s&536870912)!==0&&(a.flags&128)===0&&(qt(a),a.subtreeFlags&6&&(a.flags|=8192)):qt(a),s=a.updateQueue,s!==null&&Au(a,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==s&&(a.flags|=2048),t!==null&&Be(to),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),xi(sn),qt(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function H4(t,a){switch(rp(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return xi(sn),je(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ge(a),null;case 31:if(a.memoizedState!==null){if(oa(a),a.alternate===null)throw Error(r(340));Js()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(oa(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Js()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Be(Wt),null;case 4:return je(),null;case 10:return xi(a.type),null;case 22:case 23:return oa(a),kp(),t!==null&&Be(to),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return xi(sn),null;case 25:return null;default:return null}}function bb(t,a){switch(rp(a),a.tag){case 3:xi(sn),je();break;case 26:case 27:case 5:Ge(a);break;case 4:je();break;case 31:a.memoizedState!==null&&oa(a);break;case 13:oa(a);break;case 19:Be(Wt);break;case 10:xi(a.type);break;case 22:case 23:oa(a),kp(),t!==null&&Be(to);break;case 24:xi(sn)}}function Ml(t,a){try{var s=a.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var p=c.next;s=p;do{if((s.tag&t)===t){c=void 0;var g=s.create,x=s.inst;c=g(),x.destroy=c}s=s.next}while(s!==p)}}catch(A){Nt(a,a.return,A)}}function ss(t,a,s){try{var c=a.updateQueue,p=c!==null?c.lastEffect:null;if(p!==null){var g=p.next;c=g;do{if((c.tag&t)===t){var x=c.inst,A=x.destroy;if(A!==void 0){x.destroy=void 0,p=a;var D=s,$=A;try{$()}catch(W){Nt(p,D,W)}}}c=c.next}while(c!==g)}}catch(W){Nt(a,a.return,W)}}function vb(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{cy(a,s)}catch(c){Nt(t,t.return,c)}}}function xb(t,a,s){s.props=oo(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(c){Nt(t,a,c)}}function Bl(t,a){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof s=="function"?t.refCleanup=s(c):s.current=c}}catch(p){Nt(t,a,p)}}function ii(t,a){var s=t.ref,c=t.refCleanup;if(s!==null)if(typeof c=="function")try{c()}catch(p){Nt(t,a,p)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(p){Nt(t,a,p)}else s.current=null}function wb(t){var a=t.type,s=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":s.autoFocus&&c.focus();break e;case"img":s.src?c.src=s.src:s.srcSet&&(c.srcset=s.srcSet)}}catch(p){Nt(t,t.return,p)}}function eh(t,a,s){try{var c=t.stateNode;hN(c,t.type,s,a),c[Dn]=a}catch(p){Nt(t,t.return,p)}}function kb(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ms(t.type)||t.tag===4}function th(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||kb(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ms(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function nh(t,a,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(t,a):(a=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,a.appendChild(t),s=s._reactRootContainer,s!=null||a.onclick!==null||(a.onclick=Pa));else if(c!==4&&(c===27&&ms(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(nh(t,a,s),t=t.sibling;t!==null;)nh(t,a,s),t=t.sibling}function Cu(t,a,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?s.insertBefore(t,a):s.appendChild(t);else if(c!==4&&(c===27&&ms(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(Cu(t,a,s),t=t.sibling;t!==null;)Cu(t,a,s),t=t.sibling}function Sb(t){var a=t.stateNode,s=t.memoizedProps;try{for(var c=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);Tn(a,c,s),a[an]=t,a[Dn]=s}catch(g){Nt(t,t.return,g)}}var Ai=!1,ln=!1,ah=!1,jb=typeof WeakSet=="function"?WeakSet:Set,yn=null;function Q4(t,a){if(t=t.containerInfo,jh=Qu,t=q1(t),Ym(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var c=s.getSelection&&s.getSelection();if(c&&c.rangeCount!==0){s=c.anchorNode;var p=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{s.nodeType,g.nodeType}catch{s=null;break e}var x=0,A=-1,D=-1,$=0,W=0,se=t,G=null;t:for(;;){for(var F;se!==s||p!==0&&se.nodeType!==3||(A=x+p),se!==g||c!==0&&se.nodeType!==3||(D=x+c),se.nodeType===3&&(x+=se.nodeValue.length),(F=se.firstChild)!==null;)G=se,se=F;for(;;){if(se===t)break t;if(G===s&&++$===p&&(A=x),G===g&&++W===c&&(D=x),(F=se.nextSibling)!==null)break;se=G,G=se.parentNode}se=F}s=A===-1||D===-1?null:{start:A,end:D}}else s=null}s=s||{start:0,end:0}}else s=null;for(Ah={focusedElem:t,selectionRange:s},Qu=!1,yn=a;yn!==null;)if(a=yn,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,yn=t;else for(;yn!==null;){switch(a=yn,g=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(s=0;s<t.length;s++)p=t[s],p.ref.impl=p.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&g!==null){t=void 0,s=a,p=g.memoizedProps,g=g.memoizedState,c=s.stateNode;try{var Ae=oo(s.type,p);t=c.getSnapshotBeforeUpdate(Ae,g),c.__reactInternalSnapshotBeforeUpdate=t}catch(Ke){Nt(s,s.return,Ke)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)_h(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":_h(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=a.sibling,t!==null){t.return=a.return,yn=t;break}yn=a.return}}function Ab(t,a,s){var c=s.flags;switch(s.tag){case 0:case 11:case 15:Ni(t,s),c&4&&Ml(5,s);break;case 1:if(Ni(t,s),c&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(x){Nt(s,s.return,x)}else{var p=oo(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(x){Nt(s,s.return,x)}}c&64&&vb(s),c&512&&Bl(s,s.return);break;case 3:if(Ni(t,s),c&64&&(t=s.updateQueue,t!==null)){if(a=null,s.child!==null)switch(s.child.tag){case 27:case 5:a=s.child.stateNode;break;case 1:a=s.child.stateNode}try{cy(t,a)}catch(x){Nt(s,s.return,x)}}break;case 27:a===null&&c&4&&Sb(s);case 26:case 5:Ni(t,s),a===null&&c&4&&wb(s),c&512&&Bl(s,s.return);break;case 12:Ni(t,s);break;case 31:Ni(t,s),c&4&&_b(t,s);break;case 13:Ni(t,s),c&4&&Tb(t,s),c&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=nN.bind(null,s),kN(t,s))));break;case 22:if(c=s.memoizedState!==null||Ai,!c){a=a!==null&&a.memoizedState!==null||ln,p=Ai;var g=ln;Ai=c,(ln=a)&&!g?_i(t,s,(s.subtreeFlags&8772)!==0):Ni(t,s),Ai=p,ln=g}break;case 30:break;default:Ni(t,s)}}function Cb(t){var a=t.alternate;a!==null&&(t.alternate=null,Cb(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&ol(a)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var Vt=null,Kn=!1;function Ci(t,a,s){for(s=s.child;s!==null;)Nb(t,a,s),s=s.sibling}function Nb(t,a,s){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(fn,s)}catch{}switch(s.tag){case 26:ln||ii(s,a),Ci(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:ln||ii(s,a);var c=Vt,p=Kn;ms(s.type)&&(Vt=s.stateNode,Kn=!1),Ci(t,a,s),Fl(s.stateNode),Vt=c,Kn=p;break;case 5:ln||ii(s,a);case 6:if(c=Vt,p=Kn,Vt=null,Ci(t,a,s),Vt=c,Kn=p,Vt!==null)if(Kn)try{(Vt.nodeType===9?Vt.body:Vt.nodeName==="HTML"?Vt.ownerDocument.body:Vt).removeChild(s.stateNode)}catch(g){Nt(s,a,g)}else try{Vt.removeChild(s.stateNode)}catch(g){Nt(s,a,g)}break;case 18:Vt!==null&&(Kn?(t=Vt,vv(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),vr(t)):vv(Vt,s.stateNode));break;case 4:c=Vt,p=Kn,Vt=s.stateNode.containerInfo,Kn=!0,Ci(t,a,s),Vt=c,Kn=p;break;case 0:case 11:case 14:case 15:ss(2,s,a),ln||ss(4,s,a),Ci(t,a,s);break;case 1:ln||(ii(s,a),c=s.stateNode,typeof c.componentWillUnmount=="function"&&xb(s,a,c)),Ci(t,a,s);break;case 21:Ci(t,a,s);break;case 22:ln=(c=ln)||s.memoizedState!==null,Ci(t,a,s),ln=c;break;default:Ci(t,a,s)}}function _b(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{vr(t)}catch(s){Nt(a,a.return,s)}}}function Tb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{vr(t)}catch(s){Nt(a,a.return,s)}}function F4(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new jb),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new jb),a;default:throw Error(r(435,t.tag))}}function Nu(t,a){var s=F4(t);a.forEach(function(c){if(!s.has(c)){s.add(c);var p=aN.bind(null,t,c);c.then(p,p)}})}function Hn(t,a){var s=a.deletions;if(s!==null)for(var c=0;c<s.length;c++){var p=s[c],g=t,x=a,A=x;e:for(;A!==null;){switch(A.tag){case 27:if(ms(A.type)){Vt=A.stateNode,Kn=!1;break e}break;case 5:Vt=A.stateNode,Kn=!1;break e;case 3:case 4:Vt=A.stateNode.containerInfo,Kn=!0;break e}A=A.return}if(Vt===null)throw Error(r(160));Nb(g,x,p),Vt=null,Kn=!1,g=p.alternate,g!==null&&(g.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)Eb(a,t),a=a.sibling}var Va=null;function Eb(t,a){var s=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Hn(a,t),Qn(t),c&4&&(ss(3,t,t.return),Ml(3,t),ss(5,t,t.return));break;case 1:Hn(a,t),Qn(t),c&512&&(ln||s===null||ii(s,s.return)),c&64&&Ai&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?c:s.concat(c))));break;case 26:var p=Va;if(Hn(a,t),Qn(t),c&512&&(ln||s===null||ii(s,s.return)),c&4){var g=s!==null?s.memoizedState:null;if(c=t.memoizedState,s===null)if(c===null)if(t.stateNode===null){e:{c=t.type,s=t.memoizedProps,p=p.ownerDocument||p;t:switch(c){case"title":g=p.getElementsByTagName("title")[0],(!g||g[Gi]||g[an]||g.namespaceURI==="http://www.w3.org/2000/svg"||g.hasAttribute("itemprop"))&&(g=p.createElement(c),p.head.insertBefore(g,p.querySelector("head > title"))),Tn(g,c,s),g[an]=t,Jt(g),c=g;break e;case"link":var x=Ev("link","href",p).get(c+(s.href||""));if(x){for(var A=0;A<x.length;A++)if(g=x[A],g.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&g.getAttribute("rel")===(s.rel==null?null:s.rel)&&g.getAttribute("title")===(s.title==null?null:s.title)&&g.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){x.splice(A,1);break t}}g=p.createElement(c),Tn(g,c,s),p.head.appendChild(g);break;case"meta":if(x=Ev("meta","content",p).get(c+(s.content||""))){for(A=0;A<x.length;A++)if(g=x[A],g.getAttribute("content")===(s.content==null?null:""+s.content)&&g.getAttribute("name")===(s.name==null?null:s.name)&&g.getAttribute("property")===(s.property==null?null:s.property)&&g.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&g.getAttribute("charset")===(s.charSet==null?null:s.charSet)){x.splice(A,1);break t}}g=p.createElement(c),Tn(g,c,s),p.head.appendChild(g);break;default:throw Error(r(468,c))}g[an]=t,Jt(g),c=g}t.stateNode=c}else Rv(p,t.type,t.stateNode);else t.stateNode=Tv(p,c,t.memoizedProps);else g!==c?(g===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):g.count--,c===null?Rv(p,t.type,t.stateNode):Tv(p,c,t.memoizedProps)):c===null&&t.stateNode!==null&&eh(t,t.memoizedProps,s.memoizedProps)}break;case 27:Hn(a,t),Qn(t),c&512&&(ln||s===null||ii(s,s.return)),s!==null&&c&4&&eh(t,t.memoizedProps,s.memoizedProps);break;case 5:if(Hn(a,t),Qn(t),c&512&&(ln||s===null||ii(s,s.return)),t.flags&32){p=t.stateNode;try{ya(p,"")}catch(Ae){Nt(t,t.return,Ae)}}c&4&&t.stateNode!=null&&(p=t.memoizedProps,eh(t,p,s!==null?s.memoizedProps:p)),c&1024&&(ah=!0);break;case 6:if(Hn(a,t),Qn(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,s=t.stateNode;try{s.nodeValue=c}catch(Ae){Nt(t,t.return,Ae)}}break;case 3:if(Uu=null,p=Va,Va=Vu(a.containerInfo),Hn(a,t),Va=p,Qn(t),c&4&&s!==null&&s.memoizedState.isDehydrated)try{vr(a.containerInfo)}catch(Ae){Nt(t,t.return,Ae)}ah&&(ah=!1,Rb(t));break;case 4:c=Va,Va=Vu(t.stateNode.containerInfo),Hn(a,t),Qn(t),Va=c;break;case 12:Hn(a,t),Qn(t);break;case 31:Hn(a,t),Qn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Nu(t,c)));break;case 13:Hn(a,t),Qn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Tu=Lt()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Nu(t,c)));break;case 22:p=t.memoizedState!==null;var D=s!==null&&s.memoizedState!==null,$=Ai,W=ln;if(Ai=$||p,ln=W||D,Hn(a,t),ln=W,Ai=$,Qn(t),c&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||D||Ai||ln||ro(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){D=s=a;try{if(g=D.stateNode,p)x=g.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{A=D.stateNode;var se=D.memoizedProps.style,G=se!=null&&se.hasOwnProperty("display")?se.display:null;A.style.display=G==null||typeof G=="boolean"?"":(""+G).trim()}}catch(Ae){Nt(D,D.return,Ae)}}}else if(a.tag===6){if(s===null){D=a;try{D.stateNode.nodeValue=p?"":D.memoizedProps}catch(Ae){Nt(D,D.return,Ae)}}}else if(a.tag===18){if(s===null){D=a;try{var F=D.stateNode;p?xv(F,!0):xv(D.stateNode,!1)}catch(Ae){Nt(D,D.return,Ae)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===t)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;s===a&&(s=null),a=a.return}s===a&&(s=null),a.sibling.return=a.return,a=a.sibling}c&4&&(c=t.updateQueue,c!==null&&(s=c.retryQueue,s!==null&&(c.retryQueue=null,Nu(t,s))));break;case 19:Hn(a,t),Qn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Nu(t,c)));break;case 30:break;case 21:break;default:Hn(a,t),Qn(t)}}function Qn(t){var a=t.flags;if(a&2){try{for(var s,c=t.return;c!==null;){if(kb(c)){s=c;break}c=c.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,g=th(t);Cu(t,g,p);break;case 5:var x=s.stateNode;s.flags&32&&(ya(x,""),s.flags&=-33);var A=th(t);Cu(t,A,x);break;case 3:case 4:var D=s.stateNode.containerInfo,$=th(t);nh(t,$,D);break;default:throw Error(r(161))}}catch(W){Nt(t,t.return,W)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function Rb(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;Rb(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function Ni(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Ab(t,a.alternate,a),a=a.sibling}function ro(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:ss(4,a,a.return),ro(a);break;case 1:ii(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&xb(a,a.return,s),ro(a);break;case 27:Fl(a.stateNode);case 26:case 5:ii(a,a.return),ro(a);break;case 22:a.memoizedState===null&&ro(a);break;case 30:ro(a);break;default:ro(a)}t=t.sibling}}function _i(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var c=a.alternate,p=t,g=a,x=g.flags;switch(g.tag){case 0:case 11:case 15:_i(p,g,s),Ml(4,g);break;case 1:if(_i(p,g,s),c=g,p=c.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch($){Nt(c,c.return,$)}if(c=g,p=c.updateQueue,p!==null){var A=c.stateNode;try{var D=p.shared.hiddenCallbacks;if(D!==null)for(p.shared.hiddenCallbacks=null,p=0;p<D.length;p++)ly(D[p],A)}catch($){Nt(c,c.return,$)}}s&&x&64&&vb(g),Bl(g,g.return);break;case 27:Sb(g);case 26:case 5:_i(p,g,s),s&&c===null&&x&4&&wb(g),Bl(g,g.return);break;case 12:_i(p,g,s);break;case 31:_i(p,g,s),s&&x&4&&_b(p,g);break;case 13:_i(p,g,s),s&&x&4&&Tb(p,g);break;case 22:g.memoizedState===null&&_i(p,g,s),Bl(g,g.return);break;case 30:break;default:_i(p,g,s)}a=a.sibling}}function ih(t,a){var s=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==s&&(t!=null&&t.refCount++,s!=null&&Al(s))}function sh(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Al(t))}function $a(t,a,s,c){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Db(t,a,s,c),a=a.sibling}function Db(t,a,s,c){var p=a.flags;switch(a.tag){case 0:case 11:case 15:$a(t,a,s,c),p&2048&&Ml(9,a);break;case 1:$a(t,a,s,c);break;case 3:$a(t,a,s,c),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Al(t)));break;case 12:if(p&2048){$a(t,a,s,c),t=a.stateNode;try{var g=a.memoizedProps,x=g.id,A=g.onPostCommit;typeof A=="function"&&A(x,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(D){Nt(a,a.return,D)}}else $a(t,a,s,c);break;case 31:$a(t,a,s,c);break;case 13:$a(t,a,s,c);break;case 23:break;case 22:g=a.stateNode,x=a.alternate,a.memoizedState!==null?g._visibility&2?$a(t,a,s,c):Ll(t,a):g._visibility&2?$a(t,a,s,c):(g._visibility|=2,lr(t,a,s,c,(a.subtreeFlags&10256)!==0||!1)),p&2048&&ih(x,a);break;case 24:$a(t,a,s,c),p&2048&&sh(a.alternate,a);break;default:$a(t,a,s,c)}}function lr(t,a,s,c,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var g=t,x=a,A=s,D=c,$=x.flags;switch(x.tag){case 0:case 11:case 15:lr(g,x,A,D,p),Ml(8,x);break;case 23:break;case 22:var W=x.stateNode;x.memoizedState!==null?W._visibility&2?lr(g,x,A,D,p):Ll(g,x):(W._visibility|=2,lr(g,x,A,D,p)),p&&$&2048&&ih(x.alternate,x);break;case 24:lr(g,x,A,D,p),p&&$&2048&&sh(x.alternate,x);break;default:lr(g,x,A,D,p)}a=a.sibling}}function Ll(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var s=t,c=a,p=c.flags;switch(c.tag){case 22:Ll(s,c),p&2048&&ih(c.alternate,c);break;case 24:Ll(s,c),p&2048&&sh(c.alternate,c);break;default:Ll(s,c)}a=a.sibling}}var Vl=8192;function cr(t,a,s){if(t.subtreeFlags&Vl)for(t=t.child;t!==null;)zb(t,a,s),t=t.sibling}function zb(t,a,s){switch(t.tag){case 26:cr(t,a,s),t.flags&Vl&&t.memoizedState!==null&&IN(s,Va,t.memoizedState,t.memoizedProps);break;case 5:cr(t,a,s);break;case 3:case 4:var c=Va;Va=Vu(t.stateNode.containerInfo),cr(t,a,s),Va=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=Vl,Vl=16777216,cr(t,a,s),Vl=c):cr(t,a,s));break;default:cr(t,a,s)}}function Ib(t){var a=t.alternate;if(a!==null&&(t=a.child,t!==null)){a.child=null;do a=t.sibling,t.sibling=null,t=a;while(t!==null)}}function $l(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];yn=c,qb(c,t)}Ib(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Ob(t),t=t.sibling}function Ob(t){switch(t.tag){case 0:case 11:case 15:$l(t),t.flags&2048&&ss(9,t,t.return);break;case 3:$l(t);break;case 12:$l(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,_u(t)):$l(t);break;default:$l(t)}}function _u(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];yn=c,qb(c,t)}Ib(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:ss(8,a,a.return),_u(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,_u(a));break;default:_u(a)}t=t.sibling}}function qb(t,a){for(;yn!==null;){var s=yn;switch(s.tag){case 0:case 11:case 15:ss(8,s,a);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var c=s.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:Al(s.memoizedState.cache)}if(c=s.child,c!==null)c.return=s,yn=c;else e:for(s=t;yn!==null;){c=yn;var p=c.sibling,g=c.return;if(Cb(c),c===s){yn=null;break e}if(p!==null){p.return=g,yn=p;break e}yn=g}}}var Z4={getCacheForType:function(t){var a=Nn(sn),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return Nn(sn).controller.signal}},Y4=typeof WeakMap=="function"?WeakMap:Map,xt=0,Rt=null,ot=null,ut=0,Ct=0,ra=null,os=!1,ur=!1,oh=!1,Ti=0,Yt=0,rs=0,lo=0,rh=0,la=0,dr=0,Ul=null,Fn=null,lh=!1,Tu=0,Pb=0,Eu=1/0,Ru=null,ls=null,dn=0,cs=null,mr=null,Ei=0,ch=0,uh=null,Mb=null,Gl=0,dh=null;function ca(){return(xt&2)!==0&&ut!==0?ut&-ut:O.T!==null?yh():qo()}function Bb(){if(la===0)if((ut&536870912)===0||ht){var t=Ye;Ye<<=1,(Ye&3932160)===0&&(Ye=262144),la=t}else la=536870912;return t=sa.current,t!==null&&(t.flags|=32),la}function Zn(t,a,s){(t===Rt&&(Ct===2||Ct===9)||t.cancelPendingCommit!==null)&&(pr(t,0),us(t,ut,la,!1)),Ls(t,s),((xt&2)===0||t!==Rt)&&(t===Rt&&((xt&2)===0&&(lo|=s),Yt===4&&us(t,ut,la,!1)),si(t))}function Lb(t,a,s){if((xt&6)!==0)throw Error(r(327));var c=!s&&(a&127)===0&&(a&t.expiredLanes)===0||Xt(t,a),p=c?W4(t,a):ph(t,a,!0),g=c;do{if(p===0){ur&&!c&&us(t,a,0,!1);break}else{if(s=t.current.alternate,g&&!X4(s)){p=ph(t,a,!1),g=!1;continue}if(p===2){if(g=a,t.errorRecoveryDisabledLanes&g)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){a=x;e:{var A=t;p=Ul;var D=A.current.memoizedState.isDehydrated;if(D&&(pr(A,x).flags|=256),x=ph(A,x,!1),x!==2){if(oh&&!D){A.errorRecoveryDisabledLanes|=g,lo|=g,p=4;break e}g=Fn,Fn=p,g!==null&&(Fn===null?Fn=g:Fn.push.apply(Fn,g))}p=x}if(g=!1,p!==2)continue}}if(p===1){pr(t,0),us(t,a,0,!0);break}e:{switch(c=t,g=p,g){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:us(c,a,la,!os);break e;case 2:Fn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Tu+300-Lt(),10<p)){if(us(c,a,la,!os),et(c,0,!0)!==0)break e;Ei=a,c.timeoutHandle=yv(Vb.bind(null,c,s,Fn,Ru,lh,a,la,lo,dr,os,g,"Throttled",-0,0),p);break e}Vb(c,s,Fn,Ru,lh,a,la,lo,dr,os,g,null,-0,0)}}break}while(!0);si(t)}function Vb(t,a,s,c,p,g,x,A,D,$,W,se,G,F){if(t.timeoutHandle=-1,se=a.subtreeFlags,se&8192||(se&16785408)===16785408){se={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Pa},zb(a,g,se);var Ae=(g&62914560)===g?Tu-Lt():(g&4194048)===g?Pb-Lt():0;if(Ae=ON(se,Ae),Ae!==null){Ei=g,t.cancelPendingCommit=Ae(Zb.bind(null,t,a,g,s,c,p,x,A,D,W,se,null,G,F)),us(t,g,x,!$);return}}Zb(t,a,g,s,c,p,x,A,D)}function X4(t){for(var a=t;;){var s=a.tag;if((s===0||s===11||s===15)&&a.flags&16384&&(s=a.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var c=0;c<s.length;c++){var p=s[c],g=p.getSnapshot;p=p.value;try{if(!aa(g(),p))return!1}catch{return!1}}if(s=a.child,a.subtreeFlags&16384&&s!==null)s.return=a,a=s;else{if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function us(t,a,s,c){a&=~rh,a&=~lo,t.suspendedLanes|=a,t.pingedLanes&=~a,c&&(t.warmLanes|=a),c=t.expirationTimes;for(var p=a;0<p;){var g=31-Sn(p),x=1<<g;c[g]=-1,p&=~x}s!==0&&tl(t,s,a)}function Du(){return(xt&6)===0?(Kl(0),!1):!0}function mh(){if(ot!==null){if(Ct===0)var t=ot.return;else t=ot,vi=Ws=null,_p(t),ar=null,Nl=0,t=ot;for(;t!==null;)bb(t.alternate,t),t=t.return;ot=null}}function pr(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,yN(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Ei=0,mh(),Rt=t,ot=s=yi(t.current,null),ut=a,Ct=0,ra=null,os=!1,ur=Xt(t,a),oh=!1,dr=la=rh=lo=rs=Yt=0,Fn=Ul=null,lh=!1,(a&8)!==0&&(a|=a&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=a;0<c;){var p=31-Sn(c),g=1<<p;a|=t[p],c&=~g}return Ti=a,Wc(),s}function $b(t,a){Je=null,O.H=Ol,a===nr||a===ru?(a=iy(),Ct=3):a===gp?(a=iy(),Ct=4):Ct=a===Gp?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,ra=a,ot===null&&(Yt=1,wu(t,wa(a,t.current)))}function Ub(){var t=sa.current;return t===null?!0:(ut&4194048)===ut?Aa===null:(ut&62914560)===ut||(ut&536870912)!==0?t===Aa:!1}function Gb(){var t=O.H;return O.H=Ol,t===null?Ol:t}function Kb(){var t=O.A;return O.A=Z4,t}function zu(){Yt=4,os||(ut&4194048)!==ut&&sa.current!==null||(ur=!0),(rs&134217727)===0&&(lo&134217727)===0||Rt===null||us(Rt,ut,la,!1)}function ph(t,a,s){var c=xt;xt|=2;var p=Gb(),g=Kb();(Rt!==t||ut!==a)&&(Ru=null,pr(t,a)),a=!1;var x=Yt;e:do try{if(Ct!==0&&ot!==null){var A=ot,D=ra;switch(Ct){case 8:mh(),x=6;break e;case 3:case 2:case 9:case 6:sa.current===null&&(a=!0);var $=Ct;if(Ct=0,ra=null,hr(t,A,D,$),s&&ur){x=0;break e}break;default:$=Ct,Ct=0,ra=null,hr(t,A,D,$)}}J4(),x=Yt;break}catch(W){$b(t,W)}while(!0);return a&&t.shellSuspendCounter++,vi=Ws=null,xt=c,O.H=p,O.A=g,ot===null&&(Rt=null,ut=0,Wc()),x}function J4(){for(;ot!==null;)Hb(ot)}function W4(t,a){var s=xt;xt|=2;var c=Gb(),p=Kb();Rt!==t||ut!==a?(Ru=null,Eu=Lt()+500,pr(t,a)):ur=Xt(t,a);e:do try{if(Ct!==0&&ot!==null){a=ot;var g=ra;t:switch(Ct){case 1:Ct=0,ra=null,hr(t,a,g,1);break;case 2:case 9:if(ny(g)){Ct=0,ra=null,Qb(a);break}a=function(){Ct!==2&&Ct!==9||Rt!==t||(Ct=7),si(t)},g.then(a,a);break e;case 3:Ct=7;break e;case 4:Ct=5;break e;case 7:ny(g)?(Ct=0,ra=null,Qb(a)):(Ct=0,ra=null,hr(t,a,g,7));break;case 5:var x=null;switch(ot.tag){case 26:x=ot.memoizedState;case 5:case 27:var A=ot;if(x?Dv(x):A.stateNode.complete){Ct=0,ra=null;var D=A.sibling;if(D!==null)ot=D;else{var $=A.return;$!==null?(ot=$,Iu($)):ot=null}break t}}Ct=0,ra=null,hr(t,a,g,5);break;case 6:Ct=0,ra=null,hr(t,a,g,6);break;case 8:mh(),Yt=6;break e;default:throw Error(r(462))}}eN();break}catch(W){$b(t,W)}while(!0);return vi=Ws=null,O.H=c,O.A=p,xt=s,ot!==null?0:(Rt=null,ut=0,Wc(),Yt)}function eN(){for(;ot!==null&&!Ht();)Hb(ot)}function Hb(t){var a=gb(t.alternate,t,Ti);t.memoizedProps=t.pendingProps,a===null?Iu(t):ot=a}function Qb(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=ub(s,a,a.pendingProps,a.type,void 0,ut);break;case 11:a=ub(s,a,a.pendingProps,a.type.render,a.ref,ut);break;case 5:_p(a);default:bb(s,a),a=ot=K1(a,Ti),a=gb(s,a,Ti)}t.memoizedProps=t.pendingProps,a===null?Iu(t):ot=a}function hr(t,a,s,c){vi=Ws=null,_p(a),ar=null,Nl=0;var p=a.return;try{if($4(t,p,a,s,ut)){Yt=1,wu(t,wa(s,t.current)),ot=null;return}}catch(g){if(p!==null)throw ot=p,g;Yt=1,wu(t,wa(s,t.current)),ot=null;return}a.flags&32768?(ht||c===1?t=!0:ur||(ut&536870912)!==0?t=!1:(os=t=!0,(c===2||c===9||c===3||c===6)&&(c=sa.current,c!==null&&c.tag===13&&(c.flags|=16384))),Fb(a,t)):Iu(a)}function Iu(t){var a=t;do{if((a.flags&32768)!==0){Fb(a,os);return}t=a.return;var s=K4(a.alternate,a,Ti);if(s!==null){ot=s;return}if(a=a.sibling,a!==null){ot=a;return}ot=a=t}while(a!==null);Yt===0&&(Yt=5)}function Fb(t,a){do{var s=H4(t.alternate,t);if(s!==null){s.flags&=32767,ot=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){ot=t;return}ot=t=s}while(t!==null);Yt=6,ot=null}function Zb(t,a,s,c,p,g,x,A,D){t.cancelPendingCommit=null;do Ou();while(dn!==0);if((xt&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(g=a.lanes|a.childLanes,g|=tp,Gc(t,s,g,x,A,D),t===Rt&&(ot=Rt=null,ut=0),mr=a,cs=t,Ei=s,ch=g,uh=p,Mb=c,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,iN(di,function(){return ev(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||c){c=O.T,O.T=null,p=ne.p,ne.p=2,x=xt,xt|=4;try{Q4(t,a,s)}finally{xt=x,ne.p=p,O.T=c}}dn=1,Yb(),Xb(),Jb()}}function Yb(){if(dn===1){dn=0;var t=cs,a=mr,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=O.T,O.T=null;var c=ne.p;ne.p=2;var p=xt;xt|=4;try{Eb(a,t);var g=Ah,x=q1(t.containerInfo),A=g.focusedElem,D=g.selectionRange;if(x!==A&&A&&A.ownerDocument&&O1(A.ownerDocument.documentElement,A)){if(D!==null&&Ym(A)){var $=D.start,W=D.end;if(W===void 0&&(W=$),"selectionStart"in A)A.selectionStart=$,A.selectionEnd=Math.min(W,A.value.length);else{var se=A.ownerDocument||document,G=se&&se.defaultView||window;if(G.getSelection){var F=G.getSelection(),Ae=A.textContent.length,Ke=Math.min(D.start,Ae),Et=D.end===void 0?Ke:Math.min(D.end,Ae);!F.extend&&Ke>Et&&(x=Et,Et=Ke,Ke=x);var M=I1(A,Ke),I=I1(A,Et);if(M&&I&&(F.rangeCount!==1||F.anchorNode!==M.node||F.anchorOffset!==M.offset||F.focusNode!==I.node||F.focusOffset!==I.offset)){var V=se.createRange();V.setStart(M.node,M.offset),F.removeAllRanges(),Ke>Et?(F.addRange(V),F.extend(I.node,I.offset)):(V.setEnd(I.node,I.offset),F.addRange(V))}}}}for(se=[],F=A;F=F.parentNode;)F.nodeType===1&&se.push({element:F,left:F.scrollLeft,top:F.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<se.length;A++){var ie=se[A];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}Qu=!!jh,Ah=jh=null}finally{xt=p,ne.p=c,O.T=s}}t.current=a,dn=2}}function Xb(){if(dn===2){dn=0;var t=cs,a=mr,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=O.T,O.T=null;var c=ne.p;ne.p=2;var p=xt;xt|=4;try{Ab(t,a.alternate,a)}finally{xt=p,ne.p=c,O.T=s}}dn=3}}function Jb(){if(dn===4||dn===3){dn=0,Rn();var t=cs,a=mr,s=Ei,c=Mb;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?dn=5:(dn=0,mr=cs=null,Wb(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(ls=null),sl(s),a=a.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(fn,a,void 0,(a.current.flags&128)===128)}catch{}if(c!==null){a=O.T,p=ne.p,ne.p=2,O.T=null;try{for(var g=t.onRecoverableError,x=0;x<c.length;x++){var A=c[x];g(A.value,{componentStack:A.stack})}}finally{O.T=a,ne.p=p}}(Ei&3)!==0&&Ou(),si(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===dh?Gl++:(Gl=0,dh=t):Gl=0,Kl(0)}}function Wb(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,Al(a)))}function Ou(){return Yb(),Xb(),Jb(),ev()}function ev(){if(dn!==5)return!1;var t=cs,a=ch;ch=0;var s=sl(Ei),c=O.T,p=ne.p;try{ne.p=32>s?32:s,O.T=null,s=uh,uh=null;var g=cs,x=Ei;if(dn=0,mr=cs=null,Ei=0,(xt&6)!==0)throw Error(r(331));var A=xt;if(xt|=4,Ob(g.current),Db(g,g.current,x,s),xt=A,Kl(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(fn,g)}catch{}return!0}finally{ne.p=p,O.T=c,Wb(t,a)}}function tv(t,a,s){a=wa(s,a),a=Up(t.stateNode,a,2),t=ns(t,a,2),t!==null&&(Ls(t,2),si(t))}function Nt(t,a,s){if(t.tag===3)tv(t,t,s);else for(;a!==null;){if(a.tag===3){tv(a,t,s);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(ls===null||!ls.has(c))){t=wa(s,t),s=nb(2),c=ns(a,s,2),c!==null&&(ab(s,c,a,t),Ls(c,2),si(c));break}}a=a.return}}function hh(t,a,s){var c=t.pingCache;if(c===null){c=t.pingCache=new Y4;var p=new Set;c.set(a,p)}else p=c.get(a),p===void 0&&(p=new Set,c.set(a,p));p.has(s)||(oh=!0,p.add(s),t=tN.bind(null,t,a,s),a.then(t,t))}function tN(t,a,s){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,Rt===t&&(ut&s)===s&&(Yt===4||Yt===3&&(ut&62914560)===ut&&300>Lt()-Tu?(xt&2)===0&&pr(t,0):rh|=s,dr===ut&&(dr=0)),si(t)}function nv(t,a){a===0&&(a=Bs()),t=Ys(t,a),t!==null&&(Ls(t,a),si(t))}function nN(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),nv(t,s)}function aN(t,a){var s=0;switch(t.tag){case 31:case 13:var c=t.stateNode,p=t.memoizedState;p!==null&&(s=p.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(r(314))}c!==null&&c.delete(a),nv(t,s)}function iN(t,a){return ct(t,a)}var qu=null,fr=null,fh=!1,Pu=!1,gh=!1,ds=0;function si(t){t!==fr&&t.next===null&&(fr===null?qu=fr=t:fr=fr.next=t),Pu=!0,fh||(fh=!0,oN())}function Kl(t,a){if(!gh&&Pu){gh=!0;do for(var s=!1,c=qu;c!==null;){if(t!==0){var p=c.pendingLanes;if(p===0)var g=0;else{var x=c.suspendedLanes,A=c.pingedLanes;g=(1<<31-Sn(42|t)+1)-1,g&=p&~(x&~A),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(s=!0,ov(c,g))}else g=ut,g=et(c,c===Rt?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||Xt(c,g)||(s=!0,ov(c,g));c=c.next}while(s);gh=!1}}function sN(){av()}function av(){Pu=fh=!1;var t=0;ds!==0&&gN()&&(t=ds);for(var a=Lt(),s=null,c=qu;c!==null;){var p=c.next,g=iv(c,a);g===0?(c.next=null,s===null?qu=p:s.next=p,p===null&&(fr=s)):(s=c,(t!==0||(g&3)!==0)&&(Pu=!0)),c=p}dn!==0&&dn!==5||Kl(t),ds!==0&&(ds=0)}function iv(t,a){for(var s=t.suspendedLanes,c=t.pingedLanes,p=t.expirationTimes,g=t.pendingLanes&-62914561;0<g;){var x=31-Sn(g),A=1<<x,D=p[x];D===-1?((A&s)===0||(A&c)!==0)&&(p[x]=Za(A,a)):D<=a&&(t.expiredLanes|=A),g&=~A}if(a=Rt,s=ut,s=et(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,s===0||t===a&&(Ct===2||Ct===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Kt(c),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||Xt(t,s)){if(a=s&-s,a===t.callbackPriority)return a;switch(c!==null&&Kt(c),sl(s)){case 2:case 8:s=Un;break;case 32:s=di;break;case 268435456:s=Vi;break;default:s=di}return c=sv.bind(null,t),s=ct(s,c),t.callbackPriority=a,t.callbackNode=s,a}return c!==null&&c!==null&&Kt(c),t.callbackPriority=2,t.callbackNode=null,2}function sv(t,a){if(dn!==0&&dn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(Ou()&&t.callbackNode!==s)return null;var c=ut;return c=et(t,t===Rt?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Lb(t,c,a),iv(t,Lt()),t.callbackNode!=null&&t.callbackNode===s?sv.bind(null,t):null)}function ov(t,a){if(Ou())return null;Lb(t,a,!0)}function oN(){bN(function(){(xt&6)!==0?ct(Os,sN):av()})}function yh(){if(ds===0){var t=er;t===0&&(t=Ie,Ie<<=1,(Ie&261888)===0&&(Ie=256)),ds=t}return ds}function rv(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:$o(""+t)}function lv(t,a){var s=a.ownerDocument.createElement("input");return s.name=a.name,s.value=a.value,t.id&&s.setAttribute("form",t.id),a.parentNode.insertBefore(s,a),t=new FormData(t),s.parentNode.removeChild(s),t}function rN(t,a,s,c,p){if(a==="submit"&&s&&s.stateNode===p){var g=rv((p[Dn]||null).action),x=c.submitter;x&&(a=(a=x[Dn]||null)?rv(a.formAction):x.getAttribute("formAction"),a!==null&&(g=a,x=null));var A=new Ks("action","action",null,c,p);t.push({event:A,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(ds!==0){var D=x?lv(p,x):new FormData(p);Pp(s,{pending:!0,data:D,method:p.method,action:g},null,D)}}else typeof g=="function"&&(A.preventDefault(),D=x?lv(p,x):new FormData(p),Pp(s,{pending:!0,data:D,method:p.method,action:g},g,D))},currentTarget:p}]})}}for(var bh=0;bh<ep.length;bh++){var vh=ep[bh],lN=vh.toLowerCase(),cN=vh[0].toUpperCase()+vh.slice(1);La(lN,"on"+cN)}La(B1,"onAnimationEnd"),La(L1,"onAnimationIteration"),La(V1,"onAnimationStart"),La("dblclick","onDoubleClick"),La("focusin","onFocus"),La("focusout","onBlur"),La(A4,"onTransitionRun"),La(C4,"onTransitionStart"),La(N4,"onTransitionCancel"),La($1,"onTransitionEnd"),Vs("onMouseEnter",["mouseout","mouseover"]),Vs("onMouseLeave",["mouseout","mouseover"]),Vs("onPointerEnter",["pointerout","pointerover"]),Vs("onPointerLeave",["pointerout","pointerover"]),Ya("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ya("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ya("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ya("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ya("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ya("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Hl="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(" "),uN=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Hl));function cv(t,a){a=(a&4)!==0;for(var s=0;s<t.length;s++){var c=t[s],p=c.event;c=c.listeners;e:{var g=void 0;if(a)for(var x=c.length-1;0<=x;x--){var A=c[x],D=A.instance,$=A.currentTarget;if(A=A.listener,D!==g&&p.isPropagationStopped())break e;g=A,p.currentTarget=$;try{g(p)}catch(W){Jc(W)}p.currentTarget=null,g=D}else for(x=0;x<c.length;x++){if(A=c[x],D=A.instance,$=A.currentTarget,A=A.listener,D!==g&&p.isPropagationStopped())break e;g=A,p.currentTarget=$;try{g(p)}catch(W){Jc(W)}p.currentTarget=null,g=D}}}}function rt(t,a){var s=a[Po];s===void 0&&(s=a[Po]=new Set);var c=t+"__bubble";s.has(c)||(uv(a,t,2,!1),s.add(c))}function xh(t,a,s){var c=0;a&&(c|=4),uv(s,t,c,a)}var Mu="_reactListening"+Math.random().toString(36).slice(2);function wh(t){if(!t[Mu]){t[Mu]=!0,rl.forEach(function(s){s!=="selectionchange"&&(uN.has(s)||xh(s,!1,t),xh(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[Mu]||(a[Mu]=!0,xh("selectionchange",!1,a))}}function uv(t,a,s,c){switch(Bv(a)){case 2:var p=MN;break;case 8:p=BN;break;default:p=qh}s=p.bind(null,a,s,t),p=void 0,!gl||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),c?p!==void 0?t.addEventListener(a,s,{capture:!0,passive:p}):t.addEventListener(a,s,!0):p!==void 0?t.addEventListener(a,s,{passive:p}):t.addEventListener(a,s,!1)}function kh(t,a,s,c,p){var g=c;if((a&1)===0&&(a&2)===0&&c!==null)e:for(;;){if(c===null)return;var x=c.tag;if(x===3||x===4){var A=c.stateNode.containerInfo;if(A===p)break;if(x===4)for(x=c.return;x!==null;){var D=x.tag;if((D===3||D===4)&&x.stateNode.containerInfo===p)return;x=x.return}for(;A!==null;){if(x=mi(A),x===null)return;if(D=x.tag,D===5||D===6||D===26||D===27){c=g=x;continue e}A=A.parentNode}}c=c.return}Fc(function(){var $=g,W=hl(s),se=[];e:{var G=U1.get(t);if(G!==void 0){var F=Ks,Ae=t;switch(t){case"keypress":if(Ma(s)===0)break e;case"keydown":case"keyup":F=a4;break;case"focusin":Ae="focus",F=Km;break;case"focusout":Ae="blur",F=Km;break;case"beforeblur":case"afterblur":F=Km;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":F=b1;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":F=KC;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":F=o4;break;case B1:case L1:case V1:F=FC;break;case $1:F=l4;break;case"scroll":case"scrollend":F=Qs;break;case"wheel":F=u4;break;case"copy":case"cut":case"paste":F=YC;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":F=x1;break;case"toggle":case"beforetoggle":F=m4}var Ke=(a&4)!==0,Et=!Ke&&(t==="scroll"||t==="scrollend"),M=Ke?G!==null?G+"Capture":null:G;Ke=[];for(var I=$,V;I!==null;){var ie=I;if(V=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||V===null||M===null||(ie=Us(I,M),ie!=null&&Ke.push(Ql(I,ie,V))),Et)break;I=I.return}0<Ke.length&&(G=new F(G,Ae,null,s,W),se.push({event:G,listeners:Ke}))}}if((a&7)===0){e:{if(G=t==="mouseover"||t==="pointerover",F=t==="mouseout"||t==="pointerout",G&&s!==pl&&(Ae=s.relatedTarget||s.fromElement)&&(mi(Ae)||Ae[Ui]))break e;if((F||G)&&(G=W.window===W?W:(G=W.ownerDocument)?G.defaultView||G.parentWindow:window,F?(Ae=s.relatedTarget||s.toElement,F=$,Ae=Ae?mi(Ae):null,Ae!==null&&(Et=h(Ae),Ke=Ae.tag,Ae!==Et||Ke!==5&&Ke!==27&&Ke!==6)&&(Ae=null)):(F=null,Ae=$),F!==Ae)){if(Ke=b1,ie="onMouseLeave",M="onMouseEnter",I="mouse",(t==="pointerout"||t==="pointerover")&&(Ke=x1,ie="onPointerLeave",M="onPointerEnter",I="pointer"),Et=F==null?G:Hi(F),V=Ae==null?G:Hi(Ae),G=new Ke(ie,I+"leave",F,s,W),G.target=Et,G.relatedTarget=V,ie=null,mi(W)===$&&(Ke=new Ke(M,I+"enter",Ae,s,W),Ke.target=V,Ke.relatedTarget=Et,ie=Ke),Et=ie,F&&Ae)t:{for(Ke=dN,M=F,I=Ae,V=0,ie=M;ie;ie=Ke(ie))V++;ie=0;for(var Ve=I;Ve;Ve=Ke(Ve))ie++;for(;0<V-ie;)M=Ke(M),V--;for(;0<ie-V;)I=Ke(I),ie--;for(;V--;){if(M===I||I!==null&&M===I.alternate){Ke=M;break t}M=Ke(M),I=Ke(I)}Ke=null}else Ke=null;F!==null&&dv(se,G,F,Ke,!1),Ae!==null&&Et!==null&&dv(se,Et,Ae,Ke,!0)}}e:{if(G=$?Hi($):window,F=G.nodeName&&G.nodeName.toLowerCase(),F==="select"||F==="input"&&G.type==="file")var bt=_1;else if(C1(G))if(T1)bt=k4;else{bt=x4;var Te=v4}else F=G.nodeName,!F||F.toLowerCase()!=="input"||G.type!=="checkbox"&&G.type!=="radio"?$&&qa($.elementType)&&(bt=_1):bt=w4;if(bt&&(bt=bt(t,$))){N1(se,bt,s,W);break e}Te&&Te(t,G,$),t==="focusout"&&$&&G.type==="number"&&$.memoizedProps.value!=null&&Lo(G,"number",G.value)}switch(Te=$?Hi($):window,t){case"focusin":(C1(Te)||Te.contentEditable==="true")&&(Ho=Te,Xm=$,kl=null);break;case"focusout":kl=Xm=Ho=null;break;case"mousedown":Jm=!0;break;case"contextmenu":case"mouseup":case"dragend":Jm=!1,P1(se,s,W);break;case"selectionchange":if(j4)break;case"keydown":case"keyup":P1(se,s,W)}var tt;if(Qm)e:{switch(t){case"compositionstart":var dt="onCompositionStart";break e;case"compositionend":dt="onCompositionEnd";break e;case"compositionupdate":dt="onCompositionUpdate";break e}dt=void 0}else Ko?j1(t,s)&&(dt="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(dt="onCompositionStart");dt&&(w1&&s.locale!=="ko"&&(Ko||dt!=="onCompositionStart"?dt==="onCompositionEnd"&&Ko&&(tt=gi()):(ei=W,U="value"in ei?ei.value:ei.textContent,Ko=!0)),Te=Bu($,dt),0<Te.length&&(dt=new v1(dt,t,null,s,W),se.push({event:dt,listeners:Te}),tt?dt.data=tt:(tt=A1(s),tt!==null&&(dt.data=tt)))),(tt=h4?f4(t,s):g4(t,s))&&(dt=Bu($,"onBeforeInput"),0<dt.length&&(Te=new v1("onBeforeInput","beforeinput",null,s,W),se.push({event:Te,listeners:dt}),Te.data=tt)),rN(se,t,$,s,W)}cv(se,a)})}function Ql(t,a,s){return{instance:t,listener:a,currentTarget:s}}function Bu(t,a){for(var s=a+"Capture",c=[];t!==null;){var p=t,g=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||g===null||(p=Us(t,s),p!=null&&c.unshift(Ql(t,p,g)),p=Us(t,a),p!=null&&c.push(Ql(t,p,g))),t.tag===3)return c;t=t.return}return[]}function dN(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function dv(t,a,s,c,p){for(var g=a._reactName,x=[];s!==null&&s!==c;){var A=s,D=A.alternate,$=A.stateNode;if(A=A.tag,D!==null&&D===c)break;A!==5&&A!==26&&A!==27||$===null||(D=$,p?($=Us(s,g),$!=null&&x.unshift(Ql(s,$,D))):p||($=Us(s,g),$!=null&&x.push(Ql(s,$,D)))),s=s.return}x.length!==0&&t.push({event:a,listeners:x})}var mN=/\r\n?/g,pN=/\u0000|\uFFFD/g;function mv(t){return(typeof t=="string"?t:""+t).replace(mN,`
10
- `).replace(pN,"")}function pv(t,a){return a=mv(a),mv(t)===a}function Tt(t,a,s,c,p,g){switch(s){case"children":typeof c=="string"?a==="body"||a==="textarea"&&c===""||ya(t,c):(typeof c=="number"||typeof c=="bigint")&&a!=="body"&&ya(t,""+c);break;case"className":$s(t,"class",c);break;case"tabIndex":$s(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":$s(t,s,c);break;case"style":Wa(t,c,g);break;case"data":if(a!=="object"){$s(t,"data",c);break}case"src":case"href":if(c===""&&(a!=="a"||s!=="href")){t.removeAttribute(s);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=$o(""+c),t.setAttribute(s,c);break;case"action":case"formAction":if(typeof c=="function"){t.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof g=="function"&&(s==="formAction"?(a!=="input"&&Tt(t,a,"name",p.name,p,null),Tt(t,a,"formEncType",p.formEncType,p,null),Tt(t,a,"formMethod",p.formMethod,p,null),Tt(t,a,"formTarget",p.formTarget,p,null)):(Tt(t,a,"encType",p.encType,p,null),Tt(t,a,"method",p.method,p,null),Tt(t,a,"target",p.target,p,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=$o(""+c),t.setAttribute(s,c);break;case"onClick":c!=null&&(t.onclick=Pa);break;case"onScroll":c!=null&&rt("scroll",t);break;case"onScrollEnd":c!=null&&rt("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}s=$o(""+c),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""+c):t.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":c===!0?t.setAttribute(s,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,c):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(s,c):t.removeAttribute(s);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(s):t.setAttribute(s,c);break;case"popover":rt("beforetoggle",t),rt("toggle",t),pi(t,"popover",c);break;case"xlinkActuate":jn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":jn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":jn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":jn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":jn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":jn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":jn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":jn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":jn(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":pi(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=Vo.get(s)||s,pi(t,s,c))}}function Sh(t,a,s,c,p,g){switch(s){case"style":Wa(t,c,g);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"children":typeof c=="string"?ya(t,c):(typeof c=="number"||typeof c=="bigint")&&ya(t,""+c);break;case"onScroll":c!=null&&rt("scroll",t);break;case"onScrollEnd":c!=null&&rt("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Pa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!ll.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(p=s.endsWith("Capture"),a=s.slice(2,p?s.length-7:void 0),g=t[Dn]||null,g=g!=null?g[s]:null,typeof g=="function"&&t.removeEventListener(a,g,p),typeof c=="function")){typeof g!="function"&&g!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(a,c,p);break e}s in t?t[s]=c:c===!0?t.setAttribute(s,""):pi(t,s,c)}}}function Tn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":rt("error",t),rt("load",t);var c=!1,p=!1,g;for(g in s)if(s.hasOwnProperty(g)){var x=s[g];if(x!=null)switch(g){case"src":c=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Tt(t,a,g,x,s,null)}}p&&Tt(t,a,"srcSet",s.srcSet,s,null),c&&Tt(t,a,"src",s.src,s,null);return;case"input":rt("invalid",t);var A=g=x=p=null,D=null,$=null;for(c in s)if(s.hasOwnProperty(c)){var W=s[c];if(W!=null)switch(c){case"name":p=W;break;case"type":x=W;break;case"checked":D=W;break;case"defaultChecked":$=W;break;case"value":g=W;break;case"defaultValue":A=W;break;case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(r(137,a));break;default:Tt(t,a,c,W,s,null)}}ml(t,g,A,D,$,x,p,!1);return;case"select":rt("invalid",t),c=x=g=null;for(p in s)if(s.hasOwnProperty(p)&&(A=s[p],A!=null))switch(p){case"value":g=A;break;case"defaultValue":x=A;break;case"multiple":c=A;default:Tt(t,a,p,A,s,null)}a=g,s=x,t.multiple=!!c,a!=null?Gn(t,!!c,a,!1):s!=null&&Gn(t,!!c,s,!0);return;case"textarea":rt("invalid",t),g=p=c=null;for(x in s)if(s.hasOwnProperty(x)&&(A=s[x],A!=null))switch(x){case"value":c=A;break;case"defaultValue":p=A;break;case"children":g=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(r(91));break;default:Tt(t,a,x,A,s,null)}hi(t,c,p,g);return;case"option":for(D in s)s.hasOwnProperty(D)&&(c=s[D],c!=null)&&(D==="selected"?t.selected=c&&typeof c!="function"&&typeof c!="symbol":Tt(t,a,D,c,s,null));return;case"dialog":rt("beforetoggle",t),rt("toggle",t),rt("cancel",t),rt("close",t);break;case"iframe":case"object":rt("load",t);break;case"video":case"audio":for(c=0;c<Hl.length;c++)rt(Hl[c],t);break;case"image":rt("error",t),rt("load",t);break;case"details":rt("toggle",t);break;case"embed":case"source":case"link":rt("error",t),rt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for($ in s)if(s.hasOwnProperty($)&&(c=s[$],c!=null))switch($){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Tt(t,a,$,c,s,null)}return;default:if(qa(a)){for(W in s)s.hasOwnProperty(W)&&(c=s[W],c!==void 0&&Sh(t,a,W,c,s,void 0));return}}for(A in s)s.hasOwnProperty(A)&&(c=s[A],c!=null&&Tt(t,a,A,c,s,null))}function hN(t,a,s,c){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var p=null,g=null,x=null,A=null,D=null,$=null,W=null;for(F in s){var se=s[F];if(s.hasOwnProperty(F)&&se!=null)switch(F){case"checked":break;case"value":break;case"defaultValue":D=se;default:c.hasOwnProperty(F)||Tt(t,a,F,null,c,se)}}for(var G in c){var F=c[G];if(se=s[G],c.hasOwnProperty(G)&&(F!=null||se!=null))switch(G){case"type":g=F;break;case"name":p=F;break;case"checked":$=F;break;case"defaultChecked":W=F;break;case"value":x=F;break;case"defaultValue":A=F;break;case"children":case"dangerouslySetInnerHTML":if(F!=null)throw Error(r(137,a));break;default:F!==se&&Tt(t,a,G,F,c,se)}}Bo(t,x,A,D,$,W,g,p);return;case"select":F=x=A=G=null;for(g in s)if(D=s[g],s.hasOwnProperty(g)&&D!=null)switch(g){case"value":break;case"multiple":F=D;default:c.hasOwnProperty(g)||Tt(t,a,g,null,c,D)}for(p in c)if(g=c[p],D=s[p],c.hasOwnProperty(p)&&(g!=null||D!=null))switch(p){case"value":G=g;break;case"defaultValue":A=g;break;case"multiple":x=g;default:g!==D&&Tt(t,a,p,g,c,D)}a=A,s=x,c=F,G!=null?Gn(t,!!s,G,!1):!!c!=!!s&&(a!=null?Gn(t,!!s,a,!0):Gn(t,!!s,s?[]:"",!1));return;case"textarea":F=G=null;for(A in s)if(p=s[A],s.hasOwnProperty(A)&&p!=null&&!c.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:Tt(t,a,A,null,c,p)}for(x in c)if(p=c[x],g=s[x],c.hasOwnProperty(x)&&(p!=null||g!=null))switch(x){case"value":G=p;break;case"defaultValue":F=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==g&&Tt(t,a,x,p,c,g)}na(t,G,F);return;case"option":for(var Ae in s)G=s[Ae],s.hasOwnProperty(Ae)&&G!=null&&!c.hasOwnProperty(Ae)&&(Ae==="selected"?t.selected=!1:Tt(t,a,Ae,null,c,G));for(D in c)G=c[D],F=s[D],c.hasOwnProperty(D)&&G!==F&&(G!=null||F!=null)&&(D==="selected"?t.selected=G&&typeof G!="function"&&typeof G!="symbol":Tt(t,a,D,G,c,F));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ke in s)G=s[Ke],s.hasOwnProperty(Ke)&&G!=null&&!c.hasOwnProperty(Ke)&&Tt(t,a,Ke,null,c,G);for($ in c)if(G=c[$],F=s[$],c.hasOwnProperty($)&&G!==F&&(G!=null||F!=null))switch($){case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(r(137,a));break;default:Tt(t,a,$,G,c,F)}return;default:if(qa(a)){for(var Et in s)G=s[Et],s.hasOwnProperty(Et)&&G!==void 0&&!c.hasOwnProperty(Et)&&Sh(t,a,Et,void 0,c,G);for(W in c)G=c[W],F=s[W],!c.hasOwnProperty(W)||G===F||G===void 0&&F===void 0||Sh(t,a,W,G,c,F);return}}for(var M in s)G=s[M],s.hasOwnProperty(M)&&G!=null&&!c.hasOwnProperty(M)&&Tt(t,a,M,null,c,G);for(se in c)G=c[se],F=s[se],!c.hasOwnProperty(se)||G===F||G==null&&F==null||Tt(t,a,se,G,c,F)}function hv(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function fN(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,s=performance.getEntriesByType("resource"),c=0;c<s.length;c++){var p=s[c],g=p.transferSize,x=p.initiatorType,A=p.duration;if(g&&A&&hv(x)){for(x=0,A=p.responseEnd,c+=1;c<s.length;c++){var D=s[c],$=D.startTime;if($>A)break;var W=D.transferSize,se=D.initiatorType;W&&hv(se)&&(D=D.responseEnd,x+=W*(D<A?1:(A-$)/(D-$)))}if(--c,a+=8*(g+x)/(p.duration/1e3),t++,10<t)break}}if(0<t)return a/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var jh=null,Ah=null;function Lu(t){return t.nodeType===9?t:t.ownerDocument}function fv(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function gv(t,a){if(t===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&a==="foreignObject"?0:t}function Ch(t,a){return t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var Nh=null;function gN(){var t=window.event;return t&&t.type==="popstate"?t===Nh?!1:(Nh=t,!0):(Nh=null,!1)}var yv=typeof setTimeout=="function"?setTimeout:void 0,yN=typeof clearTimeout=="function"?clearTimeout:void 0,bv=typeof Promise=="function"?Promise:void 0,bN=typeof queueMicrotask=="function"?queueMicrotask:typeof bv<"u"?function(t){return bv.resolve(null).then(t).catch(vN)}:yv;function vN(t){setTimeout(function(){throw t})}function ms(t){return t==="head"}function vv(t,a){var s=a,c=0;do{var p=s.nextSibling;if(t.removeChild(s),p&&p.nodeType===8)if(s=p.data,s==="/$"||s==="/&"){if(c===0){t.removeChild(p),vr(a);return}c--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")c++;else if(s==="html")Fl(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,Fl(s);for(var g=s.firstChild;g;){var x=g.nextSibling,A=g.nodeName;g[Gi]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&g.rel.toLowerCase()==="stylesheet"||s.removeChild(g),g=x}}else s==="body"&&Fl(t.ownerDocument.body);s=p}while(s);vr(a)}function xv(t,a){var s=t;t=0;do{var c=s.nextSibling;if(s.nodeType===1?a?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(a?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),c&&c.nodeType===8)if(s=c.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=c}while(s)}function _h(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var s=a;switch(a=a.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":_h(s),ol(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function xN(t,a,s,c){for(;t.nodeType===1;){var p=s;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[Gi])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(g=t.getAttribute("rel"),g==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(g!==p.rel||t.getAttribute("href")!==(p.href==null||p.href===""?null:p.href)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin)||t.getAttribute("title")!==(p.title==null?null:p.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(g=t.getAttribute("src"),(g!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&g&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var g=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===g)return t}else return t;if(t=Ca(t.nextSibling),t===null)break}return null}function wN(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=Ca(t.nextSibling),t===null))return null;return t}function wv(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=Ca(t.nextSibling),t===null))return null;return t}function Th(t){return t.data==="$?"||t.data==="$~"}function Eh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function kN(t,a){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||s.readyState!=="loading")a();else{var c=function(){a(),s.removeEventListener("DOMContentLoaded",c)};s.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function Ca(t){for(;t!=null;t=t.nextSibling){var a=t.nodeType;if(a===1||a===3)break;if(a===8){if(a=t.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return t}var Rh=null;function kv(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return Ca(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function Sv(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(a===0)return t;a--}else s!=="/$"&&s!=="/&"||a++}t=t.previousSibling}return null}function jv(t,a,s){switch(a=Lu(s),t){case"html":if(t=a.documentElement,!t)throw Error(r(452));return t;case"head":if(t=a.head,!t)throw Error(r(453));return t;case"body":if(t=a.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Fl(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);ol(t)}var Na=new Map,Av=new Set;function Vu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Ri=ne.d;ne.d={f:SN,r:jN,D:AN,C:CN,L:NN,m:_N,X:EN,S:TN,M:RN};function SN(){var t=Ri.f(),a=Du();return t||a}function jN(t){var a=Ki(t);a!==null&&a.tag===5&&a.type==="form"?$y(a):Ri.r(t)}var gr=typeof document>"u"?null:document;function Cv(t,a,s){var c=gr;if(c&&typeof a=="string"&&a){var p=In(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),Av.has(p)||(Av.add(p),t={rel:t,crossOrigin:s,href:a},c.querySelector(p)===null&&(a=c.createElement("link"),Tn(a,"link",t),Jt(a),c.head.appendChild(a)))}}function AN(t){Ri.D(t),Cv("dns-prefetch",t,null)}function CN(t,a){Ri.C(t,a),Cv("preconnect",t,a)}function NN(t,a,s){Ri.L(t,a,s);var c=gr;if(c&&t&&a){var p='link[rel="preload"][as="'+In(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+In(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+In(s.imageSizes)+'"]')):p+='[href="'+In(t)+'"]';var g=p;switch(a){case"style":g=yr(t);break;case"script":g=br(t)}Na.has(g)||(t=j({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),Na.set(g,t),c.querySelector(p)!==null||a==="style"&&c.querySelector(Zl(g))||a==="script"&&c.querySelector(Yl(g))||(a=c.createElement("link"),Tn(a,"link",t),Jt(a),c.head.appendChild(a)))}}function _N(t,a){Ri.m(t,a);var s=gr;if(s&&t){var c=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+In(c)+'"][href="'+In(t)+'"]',g=p;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=br(t)}if(!Na.has(g)&&(t=j({rel:"modulepreload",href:t},a),Na.set(g,t),s.querySelector(p)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Yl(g)))return}c=s.createElement("link"),Tn(c,"link",t),Jt(c),s.head.appendChild(c)}}}function TN(t,a,s){Ri.S(t,a,s);var c=gr;if(c&&t){var p=Qi(c).hoistableStyles,g=yr(t);a=a||"default";var x=p.get(g);if(!x){var A={loading:0,preload:null};if(x=c.querySelector(Zl(g)))A.loading=5;else{t=j({rel:"stylesheet",href:t,"data-precedence":a},s),(s=Na.get(g))&&Dh(t,s);var D=x=c.createElement("link");Jt(D),Tn(D,"link",t),D._p=new Promise(function($,W){D.onload=$,D.onerror=W}),D.addEventListener("load",function(){A.loading|=1}),D.addEventListener("error",function(){A.loading|=2}),A.loading|=4,$u(x,a,c)}x={type:"stylesheet",instance:x,count:1,state:A},p.set(g,x)}}}function EN(t,a){Ri.X(t,a);var s=gr;if(s&&t){var c=Qi(s).hoistableScripts,p=br(t),g=c.get(p);g||(g=s.querySelector(Yl(p)),g||(t=j({src:t,async:!0},a),(a=Na.get(p))&&zh(t,a),g=s.createElement("script"),Jt(g),Tn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function RN(t,a){Ri.M(t,a);var s=gr;if(s&&t){var c=Qi(s).hoistableScripts,p=br(t),g=c.get(p);g||(g=s.querySelector(Yl(p)),g||(t=j({src:t,async:!0,type:"module"},a),(a=Na.get(p))&&zh(t,a),g=s.createElement("script"),Jt(g),Tn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function Nv(t,a,s,c){var p=(p=Q.current)?Vu(p):null;if(!p)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(a=yr(s.href),s=Qi(p).hoistableStyles,c=s.get(a),c||(c={type:"style",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=yr(s.href);var g=Qi(p).hoistableStyles,x=g.get(t);if(x||(p=p.ownerDocument||p,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,x),(g=p.querySelector(Zl(t)))&&!g._p&&(x.instance=g,x.state.loading=5),Na.has(t)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},Na.set(t,s),g||DN(p,t,s,x.state))),a&&c===null)throw Error(r(528,""));return x}if(a&&c!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=br(s),s=Qi(p).hoistableScripts,c=s.get(a),c||(c={type:"script",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function yr(t){return'href="'+In(t)+'"'}function Zl(t){return'link[rel="stylesheet"]['+t+"]"}function _v(t){return j({},t,{"data-precedence":t.precedence,precedence:null})}function DN(t,a,s,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),Tn(a,"link",s),Jt(a),t.head.appendChild(a))}function br(t){return'[src="'+In(t)+'"]'}function Yl(t){return"script[async]"+t}function Tv(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+In(s.href)+'"]');if(c)return a.instance=c,Jt(c),c;var p=j({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Jt(c),Tn(c,"style",p),$u(c,s.precedence,t),a.instance=c;case"stylesheet":p=yr(s.href);var g=t.querySelector(Zl(p));if(g)return a.state.loading|=4,a.instance=g,Jt(g),g;c=_v(s),(p=Na.get(p))&&Dh(c,p),g=(t.ownerDocument||t).createElement("link"),Jt(g);var x=g;return x._p=new Promise(function(A,D){x.onload=A,x.onerror=D}),Tn(g,"link",c),a.state.loading|=4,$u(g,s.precedence,t),a.instance=g;case"script":return g=br(s.src),(p=t.querySelector(Yl(g)))?(a.instance=p,Jt(p),p):(c=s,(p=Na.get(g))&&(c=j({},s),zh(c,p)),t=t.ownerDocument||t,p=t.createElement("script"),Jt(p),Tn(p,"link",c),t.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(c=a.instance,a.state.loading|=4,$u(c,s.precedence,t));return a.instance}function $u(t,a,s){for(var c=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=c.length?c[c.length-1]:null,g=p,x=0;x<c.length;x++){var A=c[x];if(A.dataset.precedence===a)g=A;else if(g!==p)break}g?g.parentNode.insertBefore(t,g.nextSibling):(a=s.nodeType===9?s.head:s,a.insertBefore(t,a.firstChild))}function Dh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function zh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var Uu=null;function Ev(t,a,s){if(Uu===null){var c=new Map,p=Uu=new Map;p.set(s,c)}else p=Uu,c=p.get(s),c||(c=new Map,p.set(s,c));if(c.has(t))return c;for(c.set(t,null),s=s.getElementsByTagName(t),p=0;p<s.length;p++){var g=s[p];if(!(g[Gi]||g[an]||t==="link"&&g.getAttribute("rel")==="stylesheet")&&g.namespaceURI!=="http://www.w3.org/2000/svg"){var x=g.getAttribute(a)||"";x=t+x;var A=c.get(x);A?A.push(g):c.set(x,[g])}}return c}function Rv(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function zN(t,a,s){if(s===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Dv(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function IN(t,a,s,c){if(s.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var p=yr(c.href),g=a.querySelector(Zl(p));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Gu.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=g,Jt(g);return}g=a.ownerDocument||a,c=_v(c),(p=Na.get(p))&&Dh(c,p),g=g.createElement("link"),Jt(g);var x=g;x._p=new Promise(function(A,D){x.onload=A,x.onerror=D}),Tn(g,"link",c),s.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=Gu.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var Ih=0;function ON(t,a){return t.stylesheets&&t.count===0&&Hu(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var c=setTimeout(function(){if(t.stylesheets&&Hu(t,t.stylesheets),t.unsuspend){var g=t.unsuspend;t.unsuspend=null,g()}},6e4+a);0<t.imgBytes&&Ih===0&&(Ih=62500*fN());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Hu(t,t.stylesheets),t.unsuspend)){var g=t.unsuspend;t.unsuspend=null,g()}},(t.imgBytes>Ih?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(p)}}:null}function Gu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Ku=null;function Hu(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Ku=new Map,a.forEach(qN,t),Ku=null,Gu.call(t))}function qN(t,a){if(!(a.state.loading&4)){var s=Ku.get(t);if(s)var c=s.get(null);else{s=new Map,Ku.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g<p.length;g++){var x=p[g];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(s.set(x.dataset.precedence,x),c=x)}c&&s.set(null,c)}p=a.instance,x=p.getAttribute("data-precedence"),g=s.get(x)||c,g===c&&s.set(null,p),s.set(x,p),this.count++,c=Gu.bind(this),p.addEventListener("load",c),p.addEventListener("error",c),g?g.parentNode.insertBefore(p,g.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var Xl={$$typeof:L,Provider:null,Consumer:null,_currentValue:ge,_currentValue2:ge,_threadCount:0};function PN(t,a,s,c,p,g,x,A,D){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Oo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Oo(0),this.hiddenUpdates=Oo(null),this.identifierPrefix=c,this.onUncaughtError=p,this.onCaughtError=g,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=D,this.incompleteTransitions=new Map}function zv(t,a,s,c,p,g,x,A,D,$,W,se){return t=new PN(t,a,s,x,D,$,W,se,A),a=1,g===!0&&(a|=24),g=ia(3,null,null,a),t.current=g,g.stateNode=t,a=pp(),a.refCount++,t.pooledCache=a,a.refCount++,g.memoizedState={element:c,isDehydrated:s,cache:a},yp(g),t}function Iv(t){return t?(t=Zo,t):Zo}function Ov(t,a,s,c,p,g){p=Iv(p),c.context===null?c.context=p:c.pendingContext=p,c=ts(a),c.payload={element:s},g=g===void 0?null:g,g!==null&&(c.callback=g),s=ns(t,c,a),s!==null&&(Zn(s,t,a),Tl(s,t,a))}function qv(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function Oh(t,a){qv(t,a),(t=t.alternate)&&qv(t,a)}function Pv(t){if(t.tag===13||t.tag===31){var a=Ys(t,67108864);a!==null&&Zn(a,t,67108864),Oh(t,67108864)}}function Mv(t){if(t.tag===13||t.tag===31){var a=ca();a=il(a);var s=Ys(t,a);s!==null&&Zn(s,t,a),Oh(t,a)}}var Qu=!0;function MN(t,a,s,c){var p=O.T;O.T=null;var g=ne.p;try{ne.p=2,qh(t,a,s,c)}finally{ne.p=g,O.T=p}}function BN(t,a,s,c){var p=O.T;O.T=null;var g=ne.p;try{ne.p=8,qh(t,a,s,c)}finally{ne.p=g,O.T=p}}function qh(t,a,s,c){if(Qu){var p=Ph(c);if(p===null)kh(t,a,c,Fu,s),Lv(t,c);else if(VN(p,t,a,s,c))c.stopPropagation();else if(Lv(t,c),a&4&&-1<LN.indexOf(t)){for(;p!==null;){var g=Ki(p);if(g!==null)switch(g.tag){case 3:if(g=g.stateNode,g.current.memoizedState.isDehydrated){var x=st(g.pendingLanes);if(x!==0){var A=g;for(A.pendingLanes|=2,A.entangledLanes|=2;x;){var D=1<<31-Sn(x);A.entanglements[1]|=D,x&=~D}si(g),(xt&6)===0&&(Eu=Lt()+500,Kl(0))}}break;case 31:case 13:A=Ys(g,2),A!==null&&Zn(A,g,2),Du(),Oh(g,2)}if(g=Ph(c),g===null&&kh(t,a,c,Fu,s),g===p)break;p=g}p!==null&&c.stopPropagation()}else kh(t,a,c,null,s)}}function Ph(t){return t=hl(t),Mh(t)}var Fu=null;function Mh(t){if(Fu=null,t=mi(t),t!==null){var a=h(t);if(a===null)t=null;else{var s=a.tag;if(s===13){if(t=f(a),t!==null)return t;t=null}else if(s===31){if(t=b(a),t!==null)return t;t=null}else if(s===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return Fu=t,null}function Bv(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ui()){case Os:return 2;case Un:return 8;case di:case qs:return 32;case Vi:return 268435456;default:return 32}default:return 32}}var Bh=!1,ps=null,hs=null,fs=null,Jl=new Map,Wl=new Map,gs=[],LN="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Lv(t,a){switch(t){case"focusin":case"focusout":ps=null;break;case"dragenter":case"dragleave":hs=null;break;case"mouseover":case"mouseout":fs=null;break;case"pointerover":case"pointerout":Jl.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Wl.delete(a.pointerId)}}function ec(t,a,s,c,p,g){return t===null||t.nativeEvent!==g?(t={blockedOn:a,domEventName:s,eventSystemFlags:c,nativeEvent:g,targetContainers:[p]},a!==null&&(a=Ki(a),a!==null&&Pv(a)),t):(t.eventSystemFlags|=c,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function VN(t,a,s,c,p){switch(a){case"focusin":return ps=ec(ps,t,a,s,c,p),!0;case"dragenter":return hs=ec(hs,t,a,s,c,p),!0;case"mouseover":return fs=ec(fs,t,a,s,c,p),!0;case"pointerover":var g=p.pointerId;return Jl.set(g,ec(Jl.get(g)||null,t,a,s,c,p)),!0;case"gotpointercapture":return g=p.pointerId,Wl.set(g,ec(Wl.get(g)||null,t,a,s,c,p)),!0}return!1}function Vv(t){var a=mi(t.target);if(a!==null){var s=h(a);if(s!==null){if(a=s.tag,a===13){if(a=f(s),a!==null){t.blockedOn=a,Kc(t.priority,function(){Mv(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,Kc(t.priority,function(){Mv(s)});return}}else if(a===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Zu(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=Ph(t.nativeEvent);if(s===null){s=t.nativeEvent;var c=new s.constructor(s.type,s);pl=c,s.target.dispatchEvent(c),pl=null}else return a=Ki(s),a!==null&&Pv(a),t.blockedOn=s,!1;a.shift()}return!0}function $v(t,a,s){Zu(t)&&s.delete(a)}function $N(){Bh=!1,ps!==null&&Zu(ps)&&(ps=null),hs!==null&&Zu(hs)&&(hs=null),fs!==null&&Zu(fs)&&(fs=null),Jl.forEach($v),Wl.forEach($v)}function Yu(t,a){t.blockedOn===a&&(t.blockedOn=null,Bh||(Bh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,$N)))}var Xu=null;function Uv(t){Xu!==t&&(Xu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Xu===t&&(Xu=null);for(var a=0;a<t.length;a+=3){var s=t[a],c=t[a+1],p=t[a+2];if(typeof c!="function"){if(Mh(c||s)===null)continue;break}var g=Ki(s);g!==null&&(t.splice(a,3),a-=3,Pp(g,{pending:!0,data:p,method:s.method,action:c},c,p))}}))}function vr(t){function a(D){return Yu(D,t)}ps!==null&&Yu(ps,t),hs!==null&&Yu(hs,t),fs!==null&&Yu(fs,t),Jl.forEach(a),Wl.forEach(a);for(var s=0;s<gs.length;s++){var c=gs[s];c.blockedOn===t&&(c.blockedOn=null)}for(;0<gs.length&&(s=gs[0],s.blockedOn===null);)Vv(s),s.blockedOn===null&&gs.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(c=0;c<s.length;c+=3){var p=s[c],g=s[c+1],x=p[Dn]||null;if(typeof g=="function")x||Uv(s);else if(x){var A=null;if(g&&g.hasAttribute("formAction")){if(p=g,x=g[Dn]||null)A=x.formAction;else if(Mh(p)!==null)continue}else A=x.action;typeof A=="function"?s[c+1]=A:(s.splice(c,3),c-=3),Uv(s)}}}function Gv(){function t(g){g.canIntercept&&g.info==="react-transition"&&g.intercept({handler:function(){return new Promise(function(x){return p=x})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),c||setTimeout(s,20)}function s(){if(!c&&!navigation.transition){var g=navigation.currentEntry;g&&g.url!=null&&navigation.navigate(g.url,{state:g.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,p=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(s,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function Lh(t){this._internalRoot=t}Ju.prototype.render=Lh.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,c=ca();Ov(s,c,t,a,null,null)},Ju.prototype.unmount=Lh.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;Ov(t.current,2,null,t,null,null),Du(),a[Ui]=null}};function Ju(t){this._internalRoot=t}Ju.prototype.unstable_scheduleHydration=function(t){if(t){var a=qo();t={blockedOn:null,target:t,priority:a};for(var s=0;s<gs.length&&a!==0&&a<gs[s].priority;s++);gs.splice(s,0,t),s===0&&Vv(t)}};var Kv=n.version;if(Kv!=="19.2.4")throw Error(r(527,Kv,"19.2.4"));ne.findDOMNode=function(t){var a=t._reactInternals;if(a===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=w(a),t=t!==null?k(t):null,t=t===null?null:t.stateNode,t};var UN={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Wu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Wu.isDisabled&&Wu.supportsFiber)try{fn=Wu.inject(UN),At=Wu}catch{}}return tc.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,c="",p=Jy,g=Wy,x=eb;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(c=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(g=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError)),a=zv(t,1,!1,null,null,s,c,null,p,g,x,Gv),t[Ui]=a.current,wh(t),new Lh(a)},tc.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var c=!1,p="",g=Jy,x=Wy,A=eb,D=null;return s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(p=s.identifierPrefix),s.onUncaughtError!==void 0&&(g=s.onUncaughtError),s.onCaughtError!==void 0&&(x=s.onCaughtError),s.onRecoverableError!==void 0&&(A=s.onRecoverableError),s.formState!==void 0&&(D=s.formState)),a=zv(t,1,!0,a,s??null,c,p,D,g,x,A,Gv),a.context=Iv(null),s=a.current,c=ca(),c=il(c),p=ts(c),p.callback=null,ns(s,p,c),s=c,a.current.lanes=s,Ls(a,s),si(a),t[Ui]=a.current,wh(t),new Ju(a)},tc.version="19.2.4",tc}var Zv;function T5(){if(Zv)return Vh.exports;Zv=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),Vh.exports=_5(),Vh.exports}var E5=T5();const R5={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},D5=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:f,sseMaxRetryDelay:b,sseSleepFn:v,url:w,...k})=>{let j;const T=v??(E=>new Promise(P=>setTimeout(P,E)));return{stream:async function*(){let E=h??3e3,P=0;const H=k.signal??new AbortController().signal;for(;!H.aborted;){P++;const X=k.headers instanceof Headers?k.headers:new Headers(k.headers);j!==void 0&&X.set("Last-Event-ID",j);try{const L={redirect:"follow",...k,body:k.serializedBody,headers:X,signal:H};let Z=new Request(w,L);e&&(Z=await e(w,L));const ee=await(k.fetch??globalThis.fetch)(Z);if(!ee.ok)throw new Error(`SSE failed: ${ee.status} ${ee.statusText}`);if(!ee.body)throw new Error("No body in SSE response");const B=ee.body.pipeThrough(new TextDecoderStream).getReader();let K="";const we=()=>{try{B.cancel()}catch{}};H.addEventListener("abort",we);try{for(;;){const{done:Xe,value:nt}=await B.read();if(Xe)break;K+=nt;const Ue=K.split(`
11
-
12
- `);K=Ue.pop()??"";for(const qe of Ue){const ke=qe.split(`
13
- `),$e=[];let O;for(const Se of ke)if(Se.startsWith("data:"))$e.push(Se.replace(/^data:\s*/,""));else if(Se.startsWith("event:"))O=Se.replace(/^event:\s*/,"");else if(Se.startsWith("id:"))j=Se.replace(/^id:\s*/,"");else if(Se.startsWith("retry:")){const ae=Number.parseInt(Se.replace(/^retry:\s*/,""),10);Number.isNaN(ae)||(E=ae)}let ne,ge=!1;if($e.length){const Se=$e.join(`
14
- `);try{ne=JSON.parse(Se),ge=!0}catch{ne=Se}}ge&&(u&&await u(ne),r&&(ne=await r(ne))),i?.({data:ne,event:O,id:j,retry:E}),$e.length&&(yield ne)}}}finally{H.removeEventListener("abort",we),B.releaseLock()}break}catch(L){if(n?.(L),f!==void 0&&P>=f)break;const Z=Math.min(E*2**(P-1),b??3e4);await T(Z)}}}()}},z5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},I5=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},O5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Yk=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(I5(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=z5(r),f=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):em({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+f:f},em=({allowReserved:e,name:n,value:i})=>{if(i==null)return"";if(typeof i=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${n}=${e?i:encodeURIComponent(i)}`},Xk=({allowReserved:e,explode:n,name:i,style:r,value:u,valueOnly:h})=>{if(u instanceof Date)return h?u.toISOString():`${i}=${u.toISOString()}`;if(r!=="deepObject"&&!n){let v=[];Object.entries(u).forEach(([k,j])=>{v=[...v,k,e?j:encodeURIComponent(j)]});const w=v.join(",");switch(r){case"form":return`${i}=${w}`;case"label":return`.${w}`;case"matrix":return`;${i}=${w}`;default:return w}}const f=O5(r),b=Object.entries(u).map(([v,w])=>em({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:w})).join(f);return r==="label"||r==="matrix"?f+b:b},q5=/\{[^{}]+\}/g,P5=({path:e,url:n})=>{let i=n;const r=n.match(q5);if(r)for(const u of r){let h=!1,f=u.substring(1,u.length-1),b="simple";f.endsWith("*")&&(h=!0,f=f.substring(0,f.length-1)),f.startsWith(".")?(f=f.substring(1),b="label"):f.startsWith(";")&&(f=f.substring(1),b="matrix");const v=e[f];if(v==null)continue;if(Array.isArray(v)){i=i.replace(u,Yk({explode:h,name:f,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,Xk({explode:h,name:f,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${em({name:f,value:v})}`);continue}const w=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,w)}return i},M5=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let f=(e??"")+h;n&&(f=P5({path:n,url:f}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(f+=`?${b}`),f};function B5(e){const n=e.body!==void 0;if(n&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(n)return e.body}const L5=async(e,n)=>{const i=typeof n=="function"?await n(e):n;if(i)return e.scheme==="bearer"?`Bearer ${i}`:e.scheme==="basic"?`Basic ${btoa(i)}`:i},Jk=({allowReserved:e,array:n,object:i}={})=>u=>{const h=[];if(u&&typeof u=="object")for(const f in u){const b=u[f];if(b!=null)if(Array.isArray(b)){const v=Yk({allowReserved:e,explode:!0,name:f,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=Xk({allowReserved:e,explode:!0,name:f,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=em({allowReserved:e,name:f,value:b});v&&h.push(v)}}return h.join("&")},V5=e=>{if(!e)return"stream";const n=e.split(";")[0]?.trim();if(n){if(n.startsWith("application/json")||n.endsWith("+json"))return"json";if(n==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(i=>n.startsWith(i)))return"blob";if(n.startsWith("text/"))return"text"}},$5=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,U5=async({security:e,...n})=>{for(const i of e){if($5(n,i.name))continue;const r=await L5(i,n.auth);if(!r)continue;const u=i.name??"Authorization";switch(i.in){case"query":n.query||(n.query={}),n.query[u]=r;break;case"cookie":n.headers.append("Cookie",`${u}=${r}`);break;default:n.headers.set(u,r);break}}},Yv=e=>M5({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:Jk(e.querySerializer),url:e.url}),Xv=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=Wk(e.headers,n.headers),i},G5=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},Wk=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?G5(i):Object.entries(i);for(const[u,h]of r)if(h===null)n.delete(u);else if(Array.isArray(h))for(const f of h)n.append(u,f);else h!==void 0&&n.set(u,typeof h=="object"?JSON.stringify(h):h)}return n};class Gh{fns=[];clear(){this.fns=[]}eject(n){const i=this.getInterceptorIndex(n);this.fns[i]&&(this.fns[i]=null)}exists(n){const i=this.getInterceptorIndex(n);return!!this.fns[i]}getInterceptorIndex(n){return typeof n=="number"?this.fns[n]?n:-1:this.fns.indexOf(n)}update(n,i){const r=this.getInterceptorIndex(n);return this.fns[r]?(this.fns[r]=i,n):!1}use(n){return this.fns.push(n),this.fns.length-1}}const K5=()=>({error:new Gh,request:new Gh,response:new Gh}),H5=Jk({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Q5={"Content-Type":"application/json"},eS=(e={})=>({...R5,headers:Q5,parseAs:"auto",querySerializer:H5,...e}),tS=(e={})=>{let n=Xv(eS(),e);const i=()=>({...n}),r=w=>(n=Xv(n,w),i()),u=K5(),h=async w=>{const k={...n,...w,fetch:w.fetch??n.fetch??globalThis.fetch,headers:Wk(n.headers,w.headers),serializedBody:void 0};k.security&&await U5({...k,security:k.security}),k.requestValidator&&await k.requestValidator(k),k.body!==void 0&&k.bodySerializer&&(k.serializedBody=k.bodySerializer(k.body)),(k.body===void 0||k.serializedBody==="")&&k.headers.delete("Content-Type");const j=Yv(k);return{opts:k,url:j}},f=async w=>{const{opts:k,url:j}=await h(w),T={redirect:"follow",...k,body:B5(k)};let N=new Request(j,T);for(const Y of u.request.fns)Y&&(N=await Y(N,k));const q=k.fetch;let E=await q(N);for(const Y of u.response.fns)Y&&(E=await Y(E,N,k));const P={request:N,response:E};if(E.ok){const Y=(k.parseAs==="auto"?V5(E.headers.get("Content-Type")):k.parseAs)??"json";if(E.status===204||E.headers.get("Content-Length")==="0"){let B;switch(Y){case"arrayBuffer":case"blob":case"text":B=await E[Y]();break;case"formData":B=new FormData;break;case"stream":B=E.body;break;default:B={};break}return k.responseStyle==="data"?B:{data:B,...P}}let ee;switch(Y){case"arrayBuffer":case"blob":case"formData":case"json":case"text":ee=await E[Y]();break;case"stream":return k.responseStyle==="data"?E.body:{data:E.body,...P}}return Y==="json"&&(k.responseValidator&&await k.responseValidator(ee),k.responseTransformer&&(ee=await k.responseTransformer(ee))),k.responseStyle==="data"?ee:{data:ee,...P}}const H=await E.text();let X;try{X=JSON.parse(H)}catch{}const L=X??H;let Z=L;for(const Y of u.error.fns)Y&&(Z=await Y(L,E,N,k));if(Z=Z||{},k.throwOnError)throw Z;return k.responseStyle==="data"?void 0:{error:Z,...P}},b=w=>k=>f({...k,method:w}),v=w=>async k=>{const{opts:j,url:T}=await h(k);return D5({...j,body:j.body,headers:j.headers,method:w,onRequest:async(N,q)=>{let E=new Request(N,q);for(const P of u.request.fns)P&&(E=await P(E,j));return E},url:T})};return{buildUrl:Yv,connect:b("CONNECT"),delete:b("DELETE"),get:b("GET"),getConfig:i,head:b("HEAD"),interceptors:u,options:b("OPTIONS"),patch:b("PATCH"),post:b("POST"),put:b("PUT"),request:f,setConfig:r,sse:{connect:v("CONNECT"),delete:v("DELETE"),get:v("GET"),head:v("HEAD"),options:v("OPTIONS"),patch:v("PATCH"),post:v("POST"),put:v("PUT"),trace:v("TRACE")},trace:b("TRACE")}},z=tS(eS()),F5=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps/submit",...e,headers:{"Content-Type":"application/json",...e.headers}}),Z5=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),Y5=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),X5=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),nS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),J5=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),W5=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),e6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),t6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),fW=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),gW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/create",...e,headers:{"Content-Type":"application/json",...e.headers}}),yW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/import-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),bW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-sitemap-selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),vW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),xW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/exclude-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),wW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),kW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),SW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),jW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),AW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-assignment",...e,headers:{"Content-Type":"application/json",...e.headers}}),CW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),NW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),_W=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),TW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),EW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),n6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/pin-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),RW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),DW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),zW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),IW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/publish",...e,headers:{"Content-Type":"application/json",...e.headers}}),OW=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),aS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),a6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e}),i6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e,headers:{"Content-Type":"application/json",...e.headers}}),s6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment",...e}),o6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/evidence",...e}),r6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfill-preview",...e}),l6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfills",...e,headers:{"Content-Type":"application/json",...e.headers}}),c6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs",...e}),u6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs/{jobId}",...e}),d6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),m6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),p6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),h6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),f6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),g6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates/{templateId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),y6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),b6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/batches",...e,headers:{"Content-Type":"application/json",...e.headers}}),v6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),x6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/preview",...e,headers:{"Content-Type":"application/json",...e.headers}}),w6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/commit",...e,headers:{"Content-Type":"application/json",...e.headers}}),k6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),S6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),j6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),A6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/default",...e,headers:{"Content-Type":"application/json",...e.headers}}),C6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),iS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),N6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),_6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),T6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries/generate",...e,headers:{"Content-Type":"application/json",...e.headers}}),E6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),R6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),D6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),z6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),sS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),I6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),O6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),q6=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),oS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),P6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),M6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),B6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),L6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),V6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),$6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),rS=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),U6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),G6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),K6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),H6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),F6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),Z6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),Y6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),X6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),J6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),W6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),e_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),t_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),n_=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),a_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),i_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),lS=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),s_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),o_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),r_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),l_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),c_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),u_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),d_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),m_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),p_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),h_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),f_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),g_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),y_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),b_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),v_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),x_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),w_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),k_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),S_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),j_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e,headers:{"Content-Type":"application/json",...e.headers}}),A_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),C_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),N_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),__=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),T_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),E_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/property",...e,headers:{"Content-Type":"application/json",...e.headers}}),R_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),D_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),z_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),I_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),O_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect",...e,headers:{"Content-Type":"application/json",...e.headers}}),q_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),P_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),M_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),B_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),L_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),V_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),$_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/indexing/request",...e,headers:{"Content-Type":"application/json",...e.headers}}),U_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),G_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations/{locationName}/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),K_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),H_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),Q_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),F_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),Z_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),Y_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),X_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),J_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),W_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),eT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),tT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/set-site",...e,headers:{"Content-Type":"application/json",...e.headers}}),nT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),aT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),iT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-url",...e,headers:{"Content-Type":"application/json",...e.headers}}),sT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),oT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/request-indexing",...e,headers:{"Content-Type":"application/json",...e.headers}}),rT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),lT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),cT=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),uT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),dT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),mT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),pT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),hT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),fT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),gT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),yT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/report",...e}),bT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),vT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),xT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/content/dismissals",...e,headers:{"Content-Type":"application/json",...e.headers}}),wT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),kT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),ST=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),jT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),AT=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),CT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),NT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),_T=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),TT=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),ET=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/extract",...e,headers:{"Content-Type":"application/json",...e.headers}}),RT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),DT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),zT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),IT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/cloud-run",...e,headers:{"Content-Type":"application/json",...e.headers}}),OT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/wordpress",...e,headers:{"Content-Type":"application/json",...e.headers}}),qT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/vercel",...e,headers:{"Content-Type":"application/json",...e.headers}}),PT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),MT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/backfill",...e,headers:{"Content-Type":"application/json",...e.headers}}),BT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),LT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),VT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),$T=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),UT=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/run",...e,headers:{"Content-Type":"application/json",...e.headers}}),GT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),KT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),HT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),QT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),FT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),ZT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),YT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),XT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),cS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),JT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),WT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),e8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),t8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),n8=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),a8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),i8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),s8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e}),o8=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e,headers:{"Content-Type":"application/json",...e.headers}}),r8=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}",...e}),l8=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}/resume",...e}),c8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function u8(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return tS(n)}function te(e,n,i){function r(b,v){if(b._zod||Object.defineProperty(b,"_zod",{value:{def:v,constr:f,traits:new Set},enumerable:!1}),b._zod.traits.has(e))return;b._zod.traits.add(e),n(b,v);const w=f.prototype,k=Object.keys(w);for(let j=0;j<k.length;j++){const T=k[j];T in b||(b[T]=w[T].bind(b))}}const u=i?.Parent??Object;class h extends u{}Object.defineProperty(h,"name",{value:e});function f(b){var v;const w=i?.Parent?new h:this;r(w,b),(v=w._zod).deferred??(v.deferred=[]);for(const k of w._zod.deferred)k();return w}return Object.defineProperty(f,"init",{value:r}),Object.defineProperty(f,Symbol.hasInstance,{value:b=>i?.Parent&&b instanceof i.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(f,"name",{value:e}),f}class Nr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class uS extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const dS={};function Ss(e){return dS}function mS(e){const n=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,u])=>n.indexOf(+r)===-1).map(([r,u])=>u)}function Rf(e,n){return typeof n=="bigint"?n.toString():n}function tm(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function Cg(e){return e==null}function Ng(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function d8(e,n){const i=(e.toString().split(".")[1]||"").length,r=n.toString();let u=(r.split(".")[1]||"").length;if(u===0&&/\d?e-\d?/.test(r)){const v=r.match(/\d?e-(\d?)/);v?.[1]&&(u=Number.parseInt(v[1]))}const h=i>u?i:u,f=Number.parseInt(e.toFixed(h).replace(".","")),b=Number.parseInt(n.toFixed(h).replace(".",""));return f%b/10**h}const Jv=Symbol("evaluating");function gt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==Jv)return r===void 0&&(r=Jv,r=i()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function jo(e,n,i){Object.defineProperty(e,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}function _s(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function Wv(e){return JSON.stringify(e)}function m8(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const pS="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function yc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const p8=tm(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Rr(e){if(yc(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(yc(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function hS(e){return Rr(e)?{...e}:Array.isArray(e)?[...e]:e}const h8=new Set(["string","number","symbol"]);function Dr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ts(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function Re(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function f8(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const g8={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function y8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const h=_s(e._zod.def,{get shape(){const f={};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(f[b]=i.shape[b])}return jo(this,"shape",f),f},checks:[]});return Ts(e,h)}function b8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const h=_s(e._zod.def,{get shape(){const f={...e._zod.def.shape};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete f[b]}return jo(this,"shape",f),f},checks:[]});return Ts(e,h)}function v8(e,n){if(!Rr(n))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const h=e._zod.def.shape;for(const f in n)if(Object.getOwnPropertyDescriptor(h,f)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=_s(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return jo(this,"shape",h),h}});return Ts(e,u)}function x8(e,n){if(!Rr(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=_s(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return jo(this,"shape",r),r}});return Ts(e,i)}function w8(e,n){const i=_s(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return jo(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return Ts(e,i)}function k8(e,n,i){const u=n._zod.def.checks;if(u&&u.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const f=_s(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(i)for(const w in i){if(!(w in b))throw new Error(`Unrecognized key: "${w}"`);i[w]&&(v[w]=e?new e({type:"optional",innerType:b[w]}):b[w])}else for(const w in b)v[w]=e?new e({type:"optional",innerType:b[w]}):b[w];return jo(this,"shape",v),v},checks:[]});return Ts(n,f)}function S8(e,n,i){const r=_s(n._zod.def,{get shape(){const u=n._zod.def.shape,h={...u};if(i)for(const f in i){if(!(f in h))throw new Error(`Unrecognized key: "${f}"`);i[f]&&(h[f]=new e({type:"nonoptional",innerType:u[f]}))}else for(const f in u)h[f]=new e({type:"nonoptional",innerType:u[f]});return jo(this,"shape",h),h}});return Ts(n,r)}function jr(e,n=0){if(e.aborted===!0)return!0;for(let i=n;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function Ar(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function td(e){return typeof e=="string"?e:e?.message}function js(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=td(e.inst?._zod.def?.error?.(e))??td(n?.error?.(e))??td(i.customError?.(e))??td(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function _g(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function bc(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const fS=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,Rf,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},gS=te("$ZodError",fS),yS=te("$ZodError",fS,{Parent:Error});function j8(e,n=i=>i.message){const i={},r=[];for(const u of e.issues)u.path.length>0?(i[u.path[0]]=i[u.path[0]]||[],i[u.path[0]].push(n(u))):r.push(n(u));return{formErrors:r,fieldErrors:i}}function A8(e,n=i=>i.message){const i={_errors:[]},r=u=>{for(const h of u.issues)if(h.code==="invalid_union"&&h.errors.length)h.errors.map(f=>r({issues:f}));else if(h.code==="invalid_key")r({issues:h.issues});else if(h.code==="invalid_element")r({issues:h.issues});else if(h.path.length===0)i._errors.push(n(h));else{let f=i,b=0;for(;b<h.path.length;){const v=h.path[b];b===h.path.length-1?(f[v]=f[v]||{_errors:[]},f[v]._errors.push(n(h))):f[v]=f[v]||{_errors:[]},f=f[v],b++}}};return r(e),i}const Tg=e=>(n,i,r,u)=>{const h=r?Object.assign(r,{async:!1}):{async:!1},f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise)throw new Nr;if(f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>js(v,h,Ss())));throw pS(b,u?.callee),b}return f.value},Eg=e=>async(n,i,r,u)=>{const h=r?Object.assign(r,{async:!0}):{async:!0};let f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise&&(f=await f),f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>js(v,h,Ss())));throw pS(b,u?.callee),b}return f.value},nm=e=>(n,i,r)=>{const u=r?{...r,async:!1}:{async:!1},h=n._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new Nr;return h.issues.length?{success:!1,error:new(e??gS)(h.issues.map(f=>js(f,u,Ss())))}:{success:!0,data:h.value}},C8=nm(yS),am=e=>async(n,i,r)=>{const u=r?Object.assign(r,{async:!0}):{async:!0};let h=n._zod.run({value:i,issues:[]},u);return h instanceof Promise&&(h=await h),h.issues.length?{success:!1,error:new e(h.issues.map(f=>js(f,u,Ss())))}:{success:!0,data:h.value}},N8=am(yS),_8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Tg(e)(n,i,u)},T8=e=>(n,i,r)=>Tg(e)(n,i,r),E8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Eg(e)(n,i,u)},R8=e=>async(n,i,r)=>Eg(e)(n,i,r),D8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return nm(e)(n,i,u)},z8=e=>(n,i,r)=>nm(e)(n,i,r),I8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return am(e)(n,i,u)},O8=e=>async(n,i,r)=>am(e)(n,i,r),q8=/^[cC][^\s-]{8,}$/,P8=/^[0-9a-z]+$/,M8=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,B8=/^[0-9a-vA-V]{20}$/,L8=/^[A-Za-z0-9]{27}$/,V8=/^[a-zA-Z0-9_-]{21}$/,$8=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,U8=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ex=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,G8=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,K8="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function H8(){return new RegExp(K8,"u")}const Q8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,F8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Z8=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Y8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,X8=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,bS=/^[A-Za-z0-9_-]*$/,J8=/^\+[1-9]\d{6,14}$/,vS="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",W8=new RegExp(`^${vS}$`);function xS(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function e7(e){return new RegExp(`^${xS(e)}$`)}function t7(e){const n=xS({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${n}(?:${i.join("|")})`;return new RegExp(`^${vS}T(?:${r})$`)}const n7=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},a7=/^-?\d+$/,wS=/^-?\d+(?:\.\d+)?$/,i7=/^(?:true|false)$/i,s7=/^null$/i,o7=/^[^A-Z]*$/,r7=/^[^a-z]*$/,Wn=te("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),kS={number:"number",bigint:"bigint",object:"date"},SS=te("$ZodCheckLessThan",(e,n)=>{Wn.init(e,n);const i=kS[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.maximum:u.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<h&&(n.inclusive?u.maximum=n.value:u.exclusiveMaximum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value<=n.value:r.value<n.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),jS=te("$ZodCheckGreaterThan",(e,n)=>{Wn.init(e,n);const i=kS[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.minimum:u.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>h&&(n.inclusive?u.minimum=n.value:u.exclusiveMinimum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value>=n.value:r.value>n.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),l7=te("$ZodCheckMultipleOf",(e,n)=>{Wn.init(e,n),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=n.value)}),e._zod.check=i=>{if(typeof i.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%n.value===BigInt(0):d8(i.value,n.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:n.value,input:i.value,inst:e,continue:!n.abort})}}),c7=te("$ZodCheckNumberFormat",(e,n)=>{Wn.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=g8[n.format];e._zod.onattach.push(f=>{const b=f._zod.bag;b.format=n.format,b.minimum=u,b.maximum=h,i&&(b.pattern=a7)}),e._zod.check=f=>{const b=f.value;if(i){if(!Number.isInteger(b)){f.issues.push({expected:r,format:n.format,code:"invalid_type",continue:!1,input:b,inst:e});return}if(!Number.isSafeInteger(b)){b>0?f.issues.push({input:b,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort}):f.issues.push({input:b,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort});return}}b<u&&f.issues.push({origin:"number",input:b,code:"too_small",minimum:u,inclusive:!0,inst:e,continue:!n.abort}),b>h&&f.issues.push({origin:"number",input:b,code:"too_big",maximum:h,inclusive:!0,inst:e,continue:!n.abort})}}),u7=te("$ZodCheckMaxLength",(e,n)=>{var i;Wn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Cg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<u&&(r._zod.bag.maximum=n.maximum)}),e._zod.check=r=>{const u=r.value;if(u.length<=n.maximum)return;const f=_g(u);r.issues.push({origin:f,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),d7=te("$ZodCheckMinLength",(e,n)=>{var i;Wn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Cg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>u&&(r._zod.bag.minimum=n.minimum)}),e._zod.check=r=>{const u=r.value;if(u.length>=n.minimum)return;const f=_g(u);r.issues.push({origin:f,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),m7=te("$ZodCheckLengthEquals",(e,n)=>{var i;Wn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Cg(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag;u.minimum=n.length,u.maximum=n.length,u.length=n.length}),e._zod.check=r=>{const u=r.value,h=u.length;if(h===n.length)return;const f=_g(u),b=h>n.length;r.issues.push({origin:f,...b?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!n.abort})}}),im=te("$ZodCheckStringFormat",(e,n)=>{var i,r;Wn.init(e,n),e._zod.onattach.push(u=>{const h=u._zod.bag;h.format=n.format,n.pattern&&(h.patterns??(h.patterns=new Set),h.patterns.add(n.pattern))}),n.pattern?(i=e._zod).check??(i.check=u=>{n.pattern.lastIndex=0,!n.pattern.test(u.value)&&u.issues.push({origin:"string",code:"invalid_format",format:n.format,input:u.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(r=e._zod).check??(r.check=()=>{})}),p7=te("$ZodCheckRegex",(e,n)=>{im.init(e,n),e._zod.check=i=>{n.pattern.lastIndex=0,!n.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),h7=te("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=o7),im.init(e,n)}),f7=te("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=r7),im.init(e,n)}),g7=te("$ZodCheckIncludes",(e,n)=>{Wn.init(e,n);const i=Dr(n.includes),r=new RegExp(typeof n.position=="number"?`^.{${n.position}}${i}`:i);n.pattern=r,e._zod.onattach.push(u=>{const h=u._zod.bag;h.patterns??(h.patterns=new Set),h.patterns.add(r)}),e._zod.check=u=>{u.value.includes(n.includes,n.position)||u.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:u.value,inst:e,continue:!n.abort})}}),y7=te("$ZodCheckStartsWith",(e,n)=>{Wn.init(e,n);const i=new RegExp(`^${Dr(n.prefix)}.*`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.startsWith(n.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:r.value,inst:e,continue:!n.abort})}}),b7=te("$ZodCheckEndsWith",(e,n)=>{Wn.init(e,n);const i=new RegExp(`.*${Dr(n.suffix)}$`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.endsWith(n.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:r.value,inst:e,continue:!n.abort})}}),v7=te("$ZodCheckOverwrite",(e,n)=>{Wn.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class x7{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const r=n.split(`
15
- `).filter(f=>f),u=Math.min(...r.map(f=>f.length-f.trimStart().length)),h=r.map(f=>f.slice(u)).map(f=>" ".repeat(this.indent*2)+f);for(const f of h)this.content.push(f)}compile(){const n=Function,i=this?.args,u=[...(this?.content??[""]).map(h=>` ${h}`)];return new n(...i,u.join(`
16
- `))}}const w7={major:4,minor:3,patch:6},Mt=te("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=w7;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const u of r)for(const h of u._zod.onattach)h(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const u=(f,b,v)=>{let w=jr(f),k;for(const j of b){if(j._zod.def.when){if(!j._zod.def.when(f))continue}else if(w)continue;const T=f.issues.length,N=j._zod.check(f);if(N instanceof Promise&&v?.async===!1)throw new Nr;if(k||N instanceof Promise)k=(k??Promise.resolve()).then(async()=>{await N,f.issues.length!==T&&(w||(w=jr(f,T)))});else{if(f.issues.length===T)continue;w||(w=jr(f,T))}}return k?k.then(()=>f):f},h=(f,b,v)=>{if(jr(f))return f.aborted=!0,f;const w=u(b,r,v);if(w instanceof Promise){if(v.async===!1)throw new Nr;return w.then(k=>e._zod.parse(k,v))}return e._zod.parse(w,v)};e._zod.run=(f,b)=>{if(b.skipChecks)return e._zod.parse(f,b);if(b.direction==="backward"){const w=e._zod.parse({value:f.value,issues:[]},{...b,skipChecks:!0});return w instanceof Promise?w.then(k=>h(k,f,b)):h(w,f,b)}const v=e._zod.parse(f,b);if(v instanceof Promise){if(b.async===!1)throw new Nr;return v.then(w=>u(w,r,b))}return u(v,r,b)}}gt(e,"~standard",()=>({validate:u=>{try{const h=C8(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return N8(e,u).then(f=>f.success?{value:f.data}:{issues:f.error?.issues})}},vendor:"zod",version:1}))}),Rg=te("$ZodString",(e,n)=>{Mt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??n7(e._zod.bag),e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),Ut=te("$ZodStringFormat",(e,n)=>{im.init(e,n),Rg.init(e,n)}),k7=te("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=U8),Ut.init(e,n)}),S7=te("$ZodUUID",(e,n)=>{if(n.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(r===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=ex(r))}else n.pattern??(n.pattern=ex());Ut.init(e,n)}),j7=te("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=G8),Ut.init(e,n)}),A7=te("$ZodURL",(e,n)=>{Ut.init(e,n),e._zod.check=i=>{try{const r=i.value.trim(),u=new URL(r);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(u.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:i.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(u.protocol.endsWith(":")?u.protocol.slice(0,-1):u.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:i.value,inst:e,continue:!n.abort})),n.normalize?i.value=u.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!n.abort})}}}),C7=te("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=H8()),Ut.init(e,n)}),N7=te("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=V8),Ut.init(e,n)}),_7=te("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=q8),Ut.init(e,n)}),T7=te("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=P8),Ut.init(e,n)}),E7=te("$ZodULID",(e,n)=>{n.pattern??(n.pattern=M8),Ut.init(e,n)}),R7=te("$ZodXID",(e,n)=>{n.pattern??(n.pattern=B8),Ut.init(e,n)}),D7=te("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=L8),Ut.init(e,n)}),z7=te("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=t7(n)),Ut.init(e,n)}),I7=te("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=W8),Ut.init(e,n)}),O7=te("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=e7(n)),Ut.init(e,n)}),q7=te("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=$8),Ut.init(e,n)}),P7=te("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=Q8),Ut.init(e,n),e._zod.bag.format="ipv4"}),M7=te("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=F8),Ut.init(e,n),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!n.abort})}}}),B7=te("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=Z8),Ut.init(e,n)}),L7=te("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=Y8),Ut.init(e,n),e._zod.check=i=>{const r=i.value.split("/");try{if(r.length!==2)throw new Error;const[u,h]=r;if(!h)throw new Error;const f=Number(h);if(`${f}`!==h)throw new Error;if(f<0||f>128)throw new Error;new URL(`http://[${u}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!n.abort})}}});function AS(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const V7=te("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=X8),Ut.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{AS(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function $7(e){if(!bS.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return AS(i)}const U7=te("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=bS),Ut.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{$7(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),G7=te("$ZodE164",(e,n)=>{n.pattern??(n.pattern=J8),Ut.init(e,n)});function K7(e,n=null){try{const i=e.split(".");if(i.length!==3)return!1;const[r]=i;if(!r)return!1;const u=JSON.parse(atob(r));return!("typ"in u&&u?.typ!=="JWT"||!u.alg||n&&(!("alg"in u)||u.alg!==n))}catch{return!1}}const H7=te("$ZodJWT",(e,n)=>{Ut.init(e,n),e._zod.check=i=>{K7(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),CS=te("$ZodNumber",(e,n)=>{Mt.init(e,n),e._zod.pattern=e._zod.bag.pattern??wS,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=Number(i.value)}catch{}const u=i.value;if(typeof u=="number"&&!Number.isNaN(u)&&Number.isFinite(u))return i;const h=typeof u=="number"?Number.isNaN(u)?"NaN":Number.isFinite(u)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:u,inst:e,...h?{received:h}:{}}),i}}),Q7=te("$ZodNumberFormat",(e,n)=>{c7.init(e,n),CS.init(e,n)}),F7=te("$ZodBoolean",(e,n)=>{Mt.init(e,n),e._zod.pattern=i7,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=!!i.value}catch{}const u=i.value;return typeof u=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:u,inst:e}),i}}),Z7=te("$ZodNull",(e,n)=>{Mt.init(e,n),e._zod.pattern=s7,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{const u=i.value;return u===null||i.issues.push({expected:"null",code:"invalid_type",input:u,inst:e}),i}}),Y7=te("$ZodUnknown",(e,n)=>{Mt.init(e,n),e._zod.parse=i=>i}),X7=te("$ZodNever",(e,n)=>{Mt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function tx(e,n,i){e.issues.length&&n.issues.push(...Ar(i,e.issues)),n.value[i]=e.value}const J7=te("$ZodArray",(e,n)=>{Mt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Array.isArray(u))return i.issues.push({expected:"array",code:"invalid_type",input:u,inst:e}),i;i.value=Array(u.length);const h=[];for(let f=0;f<u.length;f++){const b=u[f],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?h.push(v.then(w=>tx(w,i,f))):tx(v,i,f)}return h.length?Promise.all(h).then(()=>i):i}});function Cd(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(...Ar(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function NS(e){const n=Object.keys(e.shape);for(const r of n)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const i=f8(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function _S(e,n,i,r,u,h){const f=[],b=u.keySet,v=u.catchall._zod,w=v.def.type,k=v.optout==="optional";for(const j in n){if(b.has(j))continue;if(w==="never"){f.push(j);continue}const T=v.run({value:n[j],issues:[]},r);T instanceof Promise?e.push(T.then(N=>Cd(N,i,j,n,k))):Cd(T,i,j,n,k)}return f.length&&i.issues.push({code:"unrecognized_keys",keys:f,input:n,inst:h}),e.length?Promise.all(e).then(()=>i):i}const W7=te("$ZodObject",(e,n)=>{if(Mt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const b=n.shape;Object.defineProperty(n,"shape",{get:()=>{const v={...b};return Object.defineProperty(n,"shape",{value:v}),v}})}const r=tm(()=>NS(n));gt(e._zod,"propValues",()=>{const b=n.shape,v={};for(const w in b){const k=b[w]._zod;if(k.values){v[w]??(v[w]=new Set);for(const j of k.values)v[w].add(j)}}return v});const u=yc,h=n.catchall;let f;e._zod.parse=(b,v)=>{f??(f=r.value);const w=b.value;if(!u(w))return b.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),b;b.value={};const k=[],j=f.shape;for(const T of f.keys){const N=j[T],q=N._zod.optout==="optional",E=N._zod.run({value:w[T],issues:[]},v);E instanceof Promise?k.push(E.then(P=>Cd(P,b,T,w,q))):Cd(E,b,T,w,q)}return h?_S(k,w,b,v,r.value,e):k.length?Promise.all(k).then(()=>b):b}}),eE=te("$ZodObjectJIT",(e,n)=>{W7.init(e,n);const i=e._zod.parse,r=tm(()=>NS(n)),u=T=>{const N=new x7(["shape","payload","ctx"]),q=r.value,E=L=>{const Z=Wv(L);return`shape[${Z}]._zod.run({ value: input[${Z}], issues: [] }, ctx)`};N.write("const input = payload.value;");const P=Object.create(null);let H=0;for(const L of q.keys)P[L]=`key_${H++}`;N.write("const newResult = {};");for(const L of q.keys){const Z=P[L],Y=Wv(L),B=T[L]?._zod?.optout==="optional";N.write(`const ${Z} = ${E(L)};`),B?N.write(`
17
- if (${Z}.issues.length) {
18
- if (${Y} in input) {
19
- payload.issues = payload.issues.concat(${Z}.issues.map(iss => ({
20
- ...iss,
21
- path: iss.path ? [${Y}, ...iss.path] : [${Y}]
22
- })));
23
- }
24
- }
25
-
26
- if (${Z}.value === undefined) {
27
- if (${Y} in input) {
28
- newResult[${Y}] = undefined;
29
- }
30
- } else {
31
- newResult[${Y}] = ${Z}.value;
32
- }
33
-
34
- `):N.write(`
35
- if (${Z}.issues.length) {
36
- payload.issues = payload.issues.concat(${Z}.issues.map(iss => ({
37
- ...iss,
38
- path: iss.path ? [${Y}, ...iss.path] : [${Y}]
39
- })));
40
- }
41
-
42
- if (${Z}.value === undefined) {
43
- if (${Y} in input) {
44
- newResult[${Y}] = undefined;
45
- }
46
- } else {
47
- newResult[${Y}] = ${Z}.value;
48
- }
49
-
50
- `)}N.write("payload.value = newResult;"),N.write("return payload;");const X=N.compile();return(L,Z)=>X(T,L,Z)};let h;const f=yc,b=!dS.jitless,w=b&&p8.value,k=n.catchall;let j;e._zod.parse=(T,N)=>{j??(j=r.value);const q=T.value;return f(q)?b&&w&&N?.async===!1&&N.jitless!==!0?(h||(h=u(n.shape)),T=h(T,N),k?_S([],q,T,N,j,e):T):i(T,N):(T.issues.push({expected:"object",code:"invalid_type",input:q,inst:e}),T)}});function nx(e,n,i,r){for(const h of e)if(h.issues.length===0)return n.value=h.value,n;const u=e.filter(h=>!jr(h));return u.length===1?(n.value=u[0].value,u[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:i,errors:e.map(h=>h.issues.map(f=>js(f,r,Ss())))}),n)}const TS=te("$ZodUnion",(e,n)=>{Mt.init(e,n),gt(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),gt(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),gt(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),gt(e._zod,"pattern",()=>{if(n.options.every(u=>u._zod.pattern)){const u=n.options.map(h=>h._zod.pattern);return new RegExp(`^(${u.map(h=>Ng(h.source)).join("|")})$`)}});const i=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(u,h)=>{if(i)return r(u,h);let f=!1;const b=[];for(const v of n.options){const w=v._zod.run({value:u.value,issues:[]},h);if(w instanceof Promise)b.push(w),f=!0;else{if(w.issues.length===0)return w;b.push(w)}}return f?Promise.all(b).then(v=>nx(v,u,e,h)):nx(b,u,e,h)}}),tE=te("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,TS.init(e,n);const i=e._zod.parse;gt(e._zod,"propValues",()=>{const u={};for(const h of n.options){const f=h._zod.propValues;if(!f||Object.keys(f).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(h)}"`);for(const[b,v]of Object.entries(f)){u[b]||(u[b]=new Set);for(const w of v)u[b].add(w)}}return u});const r=tm(()=>{const u=n.options,h=new Map;for(const f of u){const b=f._zod.propValues?.[n.discriminator];if(!b||b.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(f)}"`);for(const v of b){if(h.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);h.set(v,f)}}return h});e._zod.parse=(u,h)=>{const f=u.value;if(!yc(f))return u.issues.push({code:"invalid_type",expected:"object",input:f,inst:e}),u;const b=r.value.get(f?.[n.discriminator]);return b?b._zod.run(u,h):n.unionFallback?i(u,h):(u.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:f,path:[n.discriminator],inst:e}),u)}}),nE=te("$ZodIntersection",(e,n)=>{Mt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value,h=n.left._zod.run({value:u,issues:[]},r),f=n.right._zod.run({value:u,issues:[]},r);return h instanceof Promise||f instanceof Promise?Promise.all([h,f]).then(([v,w])=>ax(i,v,w)):ax(i,h,f)}});function Df(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(Rr(e)&&Rr(n)){const i=Object.keys(n),r=Object.keys(e).filter(h=>i.indexOf(h)!==-1),u={...e,...n};for(const h of r){const f=Df(e[h],n[h]);if(!f.valid)return{valid:!1,mergeErrorPath:[h,...f.mergeErrorPath]};u[h]=f.data}return{valid:!0,data:u}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const u=e[r],h=n[r],f=Df(u,h);if(!f.valid)return{valid:!1,mergeErrorPath:[r,...f.mergeErrorPath]};i.push(f.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function ax(e,n,i){const r=new Map;let u;for(const b of n.issues)if(b.code==="unrecognized_keys"){u??(u=b);for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).l=!0}else e.issues.push(b);for(const b of i.issues)if(b.code==="unrecognized_keys")for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).r=!0;else e.issues.push(b);const h=[...r].filter(([,b])=>b.l&&b.r).map(([b])=>b);if(h.length&&u&&e.issues.push({...u,keys:h}),jr(e))return e;const f=Df(n.value,i.value);if(!f.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(f.mergeErrorPath)}`);return e.value=f.data,e}const aE=te("$ZodRecord",(e,n)=>{Mt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Rr(u))return i.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),i;const h=[],f=n.keyType._zod.values;if(f){i.value={};const b=new Set;for(const w of f)if(typeof w=="string"||typeof w=="number"||typeof w=="symbol"){b.add(typeof w=="number"?w.toString():w);const k=n.valueType._zod.run({value:u[w],issues:[]},r);k instanceof Promise?h.push(k.then(j=>{j.issues.length&&i.issues.push(...Ar(w,j.issues)),i.value[w]=j.value})):(k.issues.length&&i.issues.push(...Ar(w,k.issues)),i.value[w]=k.value)}let v;for(const w in u)b.has(w)||(v=v??[],v.push(w));v&&v.length>0&&i.issues.push({code:"unrecognized_keys",input:u,inst:e,keys:v})}else{i.value={};for(const b of Reflect.ownKeys(u)){if(b==="__proto__")continue;let v=n.keyType._zod.run({value:b,issues:[]},r);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof b=="string"&&wS.test(b)&&v.issues.length){const j=n.keyType._zod.run({value:Number(b),issues:[]},r);if(j instanceof Promise)throw new Error("Async schemas not supported in object keys currently");j.issues.length===0&&(v=j)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(j=>js(j,r,Ss())),input:b,path:[b],inst:e});continue}const k=n.valueType._zod.run({value:u[b],issues:[]},r);k instanceof Promise?h.push(k.then(j=>{j.issues.length&&i.issues.push(...Ar(b,j.issues)),i.value[v.value]=j.value})):(k.issues.length&&i.issues.push(...Ar(b,k.issues)),i.value[v.value]=k.value)}}return h.length?Promise.all(h).then(()=>i):i}}),iE=te("$ZodEnum",(e,n)=>{Mt.init(e,n);const i=mS(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>h8.has(typeof u)).map(u=>typeof u=="string"?Dr(u):u.toString()).join("|")})$`),e._zod.parse=(u,h)=>{const f=u.value;return r.has(f)||u.issues.push({code:"invalid_value",values:i,input:f,inst:e}),u}}),sE=te("$ZodLiteral",(e,n)=>{if(Mt.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(n.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?Dr(r):r?Dr(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,u)=>{const h=r.value;return i.has(h)||r.issues.push({code:"invalid_value",values:n.values,input:h,inst:e}),r}}),oE=te("$ZodTransform",(e,n)=>{Mt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new uS(e.constructor.name);const u=n.transform(i.value,i);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(f=>(i.value=f,i));if(u instanceof Promise)throw new Nr;return i.value=u,i}});function ix(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const ES=te("$ZodOptional",(e,n)=>{Mt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",gt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Ng(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(n.innerType._zod.optin==="optional"){const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>ix(h,i.value)):ix(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),rE=te("$ZodExactOptional",(e,n)=>{ES.init(e,n),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),lE=te("$ZodNullable",(e,n)=>{Mt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Ng(i.source)}|null)$`):void 0}),gt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:n.innerType._zod.run(i,r)}),cE=te("$ZodDefault",(e,n)=>{Mt.init(e,n),e._zod.optin="optional",gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);if(i.value===void 0)return i.value=n.defaultValue,i;const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>sx(h,n)):sx(u,n)}});function sx(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const uE=te("$ZodPrefault",(e,n)=>{Mt.init(e,n),e._zod.optin="optional",gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=n.defaultValue),n.innerType._zod.run(i,r))}),dE=te("$ZodNonOptional",(e,n)=>{Mt.init(e,n),gt(e._zod,"values",()=>{const i=n.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>ox(h,e)):ox(u,e)}});function ox(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const mE=te("$ZodCatch",(e,n)=>{Mt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>(i.value=h.value,h.issues.length&&(i.value=n.catchValue({...i,error:{issues:h.issues.map(f=>js(f,r,Ss()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>js(h,r,Ss()))},input:i.value}),i.issues=[]),i)}}),pE=te("$ZodPipe",(e,n)=>{Mt.init(e,n),gt(e._zod,"values",()=>n.in._zod.values),gt(e._zod,"optin",()=>n.in._zod.optin),gt(e._zod,"optout",()=>n.out._zod.optout),gt(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const h=n.out._zod.run(i,r);return h instanceof Promise?h.then(f=>nd(f,n.in,r)):nd(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>nd(h,n.out,r)):nd(u,n.out,r)}});function nd(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const hE=te("$ZodReadonly",(e,n)=>{Mt.init(e,n),gt(e._zod,"propValues",()=>n.innerType._zod.propValues),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"optin",()=>n.innerType?._zod?.optin),gt(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(rx):rx(u)}});function rx(e){return e.value=Object.freeze(e.value),e}const fE=te("$ZodLazy",(e,n)=>{Mt.init(e,n),gt(e._zod,"innerType",()=>n.getter()),gt(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),gt(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),gt(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),gt(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(i,r)=>e._zod.innerType._zod.run(i,r)}),gE=te("$ZodCustom",(e,n)=>{Wn.init(e,n),Mt.init(e,n),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,u=n.fn(r);if(u instanceof Promise)return u.then(h=>lx(h,i,r,e));lx(u,i,r,e)}});function lx(e,n,i,r){if(!e){const u={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(u.params=r._zod.def.params),n.issues.push(bc(u))}}var cx;class yE{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...i){const r=i[0];return this._map.set(n,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const i=this._map.get(n);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(n),this}get(n){const i=n._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const u={...r,...this._map.get(n)};return Object.keys(u).length?u:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function bE(){return new yE}(cx=globalThis).__zod_globalRegistry??(cx.__zod_globalRegistry=bE());const lc=globalThis.__zod_globalRegistry;function vE(e,n){return new e({type:"string",...Re(n)})}function xE(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Re(n)})}function ux(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Re(n)})}function RS(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Re(n)})}function wE(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Re(n)})}function kE(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Re(n)})}function SE(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Re(n)})}function jE(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Re(n)})}function AE(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Re(n)})}function CE(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Re(n)})}function NE(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Re(n)})}function _E(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Re(n)})}function TE(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Re(n)})}function EE(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Re(n)})}function RE(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Re(n)})}function DE(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Re(n)})}function zE(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Re(n)})}function IE(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Re(n)})}function OE(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Re(n)})}function qE(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Re(n)})}function PE(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Re(n)})}function ME(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Re(n)})}function BE(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Re(n)})}function LE(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Re(n)})}function VE(e,n){return new e({type:"string",format:"date",check:"string_format",...Re(n)})}function $E(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Re(n)})}function UE(e,n){return new e({type:"string",format:"duration",check:"string_format",...Re(n)})}function GE(e,n){return new e({type:"number",checks:[],...Re(n)})}function KE(e,n){return new e({type:"number",coerce:!0,checks:[],...Re(n)})}function HE(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Re(n)})}function QE(e,n){return new e({type:"boolean",...Re(n)})}function FE(e,n){return new e({type:"null",...Re(n)})}function ZE(e){return new e({type:"unknown"})}function YE(e,n){return new e({type:"never",...Re(n)})}function dx(e,n){return new SS({check:"less_than",...Re(n),value:e,inclusive:!1})}function Kh(e,n){return new SS({check:"less_than",...Re(n),value:e,inclusive:!0})}function mx(e,n){return new jS({check:"greater_than",...Re(n),value:e,inclusive:!1})}function Hh(e,n){return new jS({check:"greater_than",...Re(n),value:e,inclusive:!0})}function px(e,n){return new l7({check:"multiple_of",...Re(n),value:e})}function DS(e,n){return new u7({check:"max_length",...Re(n),maximum:e})}function Nd(e,n){return new d7({check:"min_length",...Re(n),minimum:e})}function zS(e,n){return new m7({check:"length_equals",...Re(n),length:e})}function XE(e,n){return new p7({check:"string_format",format:"regex",...Re(n),pattern:e})}function JE(e){return new h7({check:"string_format",format:"lowercase",...Re(e)})}function WE(e){return new f7({check:"string_format",format:"uppercase",...Re(e)})}function eR(e,n){return new g7({check:"string_format",format:"includes",...Re(n),includes:e})}function tR(e,n){return new y7({check:"string_format",format:"starts_with",...Re(n),prefix:e})}function nR(e,n){return new b7({check:"string_format",format:"ends_with",...Re(n),suffix:e})}function Ur(e){return new v7({check:"overwrite",tx:e})}function aR(e){return Ur(n=>n.normalize(e))}function iR(){return Ur(e=>e.trim())}function sR(){return Ur(e=>e.toLowerCase())}function oR(){return Ur(e=>e.toUpperCase())}function rR(){return Ur(e=>m8(e))}function lR(e,n,i){return new e({type:"array",element:n,...Re(i)})}function cR(e,n,i){return new e({type:"custom",check:"custom",fn:n,...Re(i)})}function uR(e){const n=dR(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(bc(r,i.value,n._zod.def));else{const u=r;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=i.value),u.inst??(u.inst=n),u.continue??(u.continue=!n._zod.def.abort),i.issues.push(bc(u))}},e(i.value,i)));return n}function dR(e,n){const i=new Wn({check:"custom",...Re(n)});return i._zod.check=e,i}function IS(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??lc,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function nn(e,n,i={path:[],schemaPath:[]}){var r;const u=e._zod.def,h=n.seen.get(e);if(h)return h.count++,i.schemaPath.includes(e)&&(h.cycle=i.path),h.schema;const f={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,f);const b=e._zod.toJSONSchema?.();if(b)f.schema=b;else{const k={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,f.schema,k);else{const T=f.schema,N=n.processors[u.type];if(!N)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);N(e,n,T,k)}const j=e._zod.parent;j&&(f.ref||(f.ref=j),nn(j,n,k),n.seen.get(j).isParent=!0)}const v=n.metadataRegistry.get(e);return v&&Object.assign(f.schema,v),n.io==="input"&&Bn(e)&&(delete f.schema.examples,delete f.schema.default),n.io==="input"&&f.schema._prefault&&((r=f.schema).default??(r.default=f.schema._prefault)),delete f.schema._prefault,n.seen.get(e).schema}function OS(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const f of e.seen.entries()){const b=e.metadataRegistry.get(f[0])?.id;if(b){const v=r.get(b);if(v&&v!==f[0])throw new Error(`Duplicate schema id "${b}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(b,f[0])}}const u=f=>{const b=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const j=e.external.registry.get(f[0])?.id,T=e.external.uri??(q=>q);if(j)return{ref:T(j)};const N=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=N,{defId:N,ref:`${T("__shared")}#/${b}/${N}`}}if(f[1]===i)return{ref:"#"};const w=`#/${b}/`,k=f[1].schema.id??`__schema${e.counter++}`;return{defId:k,ref:w+k}},h=f=>{if(f[1].schema.$ref)return;const b=f[1],{ref:v,defId:w}=u(f);b.def={...b.schema},w&&(b.defId=w);const k=b.schema;for(const j in k)delete k[j];k.$ref=v};if(e.cycles==="throw")for(const f of e.seen.entries()){const b=f[1];if(b.cycle)throw new Error(`Cycle detected: #/${b.cycle?.join("/")}/<root>
51
-
52
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const f of e.seen.entries()){const b=f[1];if(n===f[0]){h(f);continue}if(e.external){const w=e.external.registry.get(f[0])?.id;if(n!==f[0]&&w){h(f);continue}}if(e.metadataRegistry.get(f[0])?.id){h(f);continue}if(b.cycle){h(f);continue}if(b.count>1&&e.reused==="ref"){h(f);continue}}}function qS(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=f=>{const b=e.seen.get(f);if(b.ref===null)return;const v=b.def??b.schema,w={...v},k=b.ref;if(b.ref=null,k){r(k);const T=e.seen.get(k),N=T.schema;if(N.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(N)):Object.assign(v,N),Object.assign(v,w),f._zod.parent===k)for(const E in v)E==="$ref"||E==="allOf"||E in w||delete v[E];if(N.$ref&&T.def)for(const E in v)E==="$ref"||E==="allOf"||E in T.def&&JSON.stringify(v[E])===JSON.stringify(T.def[E])&&delete v[E]}const j=f._zod.parent;if(j&&j!==k){r(j);const T=e.seen.get(j);if(T?.schema.$ref&&(v.$ref=T.schema.$ref,T.def))for(const N in v)N==="$ref"||N==="allOf"||N in T.def&&JSON.stringify(v[N])===JSON.stringify(T.def[N])&&delete v[N]}e.override({zodSchema:f,jsonSchema:v,path:b.path??[]})};for(const f of[...e.seen.entries()].reverse())r(f[0]);const u={};if(e.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?u.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?u.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const f=e.external.registry.get(n)?.id;if(!f)throw new Error("Schema is missing an `id` property");u.$id=e.external.uri(f)}Object.assign(u,i.def??i.schema);const h=e.external?.defs??{};for(const f of e.seen.entries()){const b=f[1];b.def&&b.defId&&(h[b.defId]=b.def)}e.external||Object.keys(h).length>0&&(e.target==="draft-2020-12"?u.$defs=h:u.definitions=h);try{const f=JSON.parse(JSON.stringify(u));return Object.defineProperty(f,"~standard",{value:{...n["~standard"],jsonSchema:{input:_d(n,"input",e.processors),output:_d(n,"output",e.processors)}},enumerable:!1,writable:!1}),f}catch{throw new Error("Error converting schema to JSON.")}}function Bn(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Bn(r.element,i);if(r.type==="set")return Bn(r.valueType,i);if(r.type==="lazy")return Bn(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Bn(r.innerType,i);if(r.type==="intersection")return Bn(r.left,i)||Bn(r.right,i);if(r.type==="record"||r.type==="map")return Bn(r.keyType,i)||Bn(r.valueType,i);if(r.type==="pipe")return Bn(r.in,i)||Bn(r.out,i);if(r.type==="object"){for(const u in r.shape)if(Bn(r.shape[u],i))return!0;return!1}if(r.type==="union"){for(const u of r.options)if(Bn(u,i))return!0;return!1}if(r.type==="tuple"){for(const u of r.items)if(Bn(u,i))return!0;return!!(r.rest&&Bn(r.rest,i))}return!1}const mR=(e,n={})=>i=>{const r=IS({...i,processors:n});return nn(e,r),OS(r,e),qS(r,e)},_d=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},f=IS({...u??{},target:h,io:n,processors:i});return nn(e,f),OS(f,e),qS(f,e)},pR={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},hR=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:f,format:b,patterns:v,contentEncoding:w}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof f=="number"&&(u.maxLength=f),b&&(u.format=pR[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),w&&(u.contentEncoding=w),v&&v.size>0){const k=[...v];k.length===1?u.pattern=k[0].source:k.length>1&&(u.allOf=[...k.map(j=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:j.source}))])}},fR=(e,n,i,r)=>{const u=i,{minimum:h,maximum:f,format:b,multipleOf:v,exclusiveMaximum:w,exclusiveMinimum:k}=e._zod.bag;typeof b=="string"&&b.includes("int")?u.type="integer":u.type="number",typeof k=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.minimum=k,u.exclusiveMinimum=!0):u.exclusiveMinimum=k),typeof h=="number"&&(u.minimum=h,typeof k=="number"&&n.target!=="draft-04"&&(k>=h?delete u.minimum:delete u.exclusiveMinimum)),typeof w=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=w,u.exclusiveMaximum=!0):u.exclusiveMaximum=w),typeof f=="number"&&(u.maximum=f,typeof w=="number"&&n.target!=="draft-04"&&(w<=f?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},gR=(e,n,i,r)=>{i.type="boolean"},yR=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},bR=(e,n,i,r)=>{i.not={}},vR=(e,n,i,r)=>{},xR=(e,n,i,r)=>{const u=e._zod.def,h=mS(u.entries);h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),i.enum=h},wR=(e,n,i,r)=>{const u=e._zod.def,h=[];for(const f of u.values)if(f===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof f=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(f))}else h.push(f);if(h.length!==0)if(h.length===1){const f=h[0];i.type=f===null?"null":typeof f,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[f]:i.const=f}else h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),h.every(f=>typeof f=="boolean")&&(i.type="boolean"),h.every(f=>f===null)&&(i.type="null"),i.enum=h},kR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},SR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},jR=(e,n,i,r)=>{const u=i,h=e._zod.def,{minimum:f,maximum:b}=e._zod.bag;typeof f=="number"&&(u.minItems=f),typeof b=="number"&&(u.maxItems=b),u.type="array",u.items=nn(h.element,n,{...r,path:[...r.path,"items"]})},AR=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const f=h.shape;for(const w in f)u.properties[w]=nn(f[w],n,{...r,path:[...r.path,"properties",w]});const b=new Set(Object.keys(f)),v=new Set([...b].filter(w=>{const k=h.shape[w]._zod;return n.io==="input"?k.optin===void 0:k.optout===void 0}));v.size>0&&(u.required=Array.from(v)),h.catchall?._zod.def.type==="never"?u.additionalProperties=!1:h.catchall?h.catchall&&(u.additionalProperties=nn(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},CR=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,f=u.options.map((b,v)=>nn(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=f:i.anyOf=f},NR=(e,n,i,r)=>{const u=e._zod.def,h=nn(u.left,n,{...r,path:[...r.path,"allOf",0]}),f=nn(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=w=>"allOf"in w&&Object.keys(w).length===1,v=[...b(h)?h.allOf:[h],...b(f)?f.allOf:[f]];i.allOf=v},_R=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object";const f=h.keyType,v=f._zod.bag?.patterns;if(h.mode==="loose"&&v&&v.size>0){const k=nn(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const j of v)u.patternProperties[j.source]=k}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=nn(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=nn(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const w=f._zod.values;if(w){const k=[...w].filter(j=>typeof j=="string"||typeof j=="number");k.length>0&&(u.required=k)}},TR=(e,n,i,r)=>{const u=e._zod.def,h=nn(u.innerType,n,r),f=n.seen.get(e);n.target==="openapi-3.0"?(f.ref=u.innerType,i.nullable=!0):i.anyOf=[h,{type:"null"}]},ER=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},RR=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},DR=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(u.defaultValue)))},zR=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType;let f;try{f=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=f},IR=(e,n,i,r)=>{const u=e._zod.def,h=n.io==="input"?u.in._zod.def.type==="transform"?u.out:u.in:u.out;nn(h,n,r);const f=n.seen.get(e);f.ref=h},OR=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},PS=(e,n,i,r)=>{const u=e._zod.def;nn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},qR=(e,n,i,r)=>{const u=e._zod.innerType;nn(u,n,r);const h=n.seen.get(e);h.ref=u},PR=te("ZodISODateTime",(e,n)=>{z7.init(e,n),Ft.init(e,n)});function MS(e){return LE(PR,e)}const MR=te("ZodISODate",(e,n)=>{I7.init(e,n),Ft.init(e,n)});function BS(e){return VE(MR,e)}const BR=te("ZodISOTime",(e,n)=>{O7.init(e,n),Ft.init(e,n)});function LR(e){return $E(BR,e)}const VR=te("ZodISODuration",(e,n)=>{q7.init(e,n),Ft.init(e,n)});function $R(e){return UE(VR,e)}const UR=(e,n)=>{gS.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>A8(e,i)},flatten:{value:i=>j8(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Rf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Rf,2)}},isEmpty:{get(){return e.issues.length===0}}})},za=te("ZodError",UR,{Parent:Error}),GR=Tg(za),KR=Eg(za),HR=nm(za),QR=am(za),FR=_8(za),ZR=T8(za),YR=E8(za),XR=R8(za),JR=D8(za),WR=z8(za),eD=I8(za),tD=O8(za),Bt=te("ZodType",(e,n)=>(Mt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:_d(e,"input"),output:_d(e,"output")}}),e.toJSONSchema=mR(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(_s(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>Ts(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>GR(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>HR(e,i,r),e.parseAsync=async(i,r)=>KR(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>QR(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>FR(e,i,r),e.decode=(i,r)=>ZR(e,i,r),e.encodeAsync=async(i,r)=>YR(e,i,r),e.decodeAsync=async(i,r)=>XR(e,i,r),e.safeEncode=(i,r)=>JR(e,i,r),e.safeDecode=(i,r)=>WR(e,i,r),e.safeEncodeAsync=async(i,r)=>eD(e,i,r),e.safeDecodeAsync=async(i,r)=>tD(e,i,r),e.refine=(i,r)=>e.check(XD(i,r)),e.superRefine=i=>e.check(JD(i)),e.overwrite=i=>e.check(Ur(i)),e.optional=()=>gx(e),e.exactOptional=()=>qD(e),e.nullable=()=>yx(e),e.nullish=()=>gx(yx(e)),e.nonoptional=i=>$D(e,i),e.array=()=>y(e),e.or=i=>Ze([e,i]),e.and=i=>RD(e,i),e.transform=i=>If(e,US(i)),e.default=i=>BD(e,i),e.prefault=i=>VD(e,i),e.catch=i=>GD(e,i),e.pipe=i=>If(e,i),e.readonly=()=>QD(e),e.describe=i=>{const r=e.clone();return lc.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return lc.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return lc.get(e);const r=e.clone();return lc.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),LS=te("_ZodString",(e,n)=>{Rg.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>hR(e,r,u);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(XE(...r)),e.includes=(...r)=>e.check(eR(...r)),e.startsWith=(...r)=>e.check(tR(...r)),e.endsWith=(...r)=>e.check(nR(...r)),e.min=(...r)=>e.check(Nd(...r)),e.max=(...r)=>e.check(DS(...r)),e.length=(...r)=>e.check(zS(...r)),e.nonempty=(...r)=>e.check(Nd(1,...r)),e.lowercase=r=>e.check(JE(r)),e.uppercase=r=>e.check(WE(r)),e.trim=()=>e.check(iR()),e.normalize=(...r)=>e.check(aR(...r)),e.toLowerCase=()=>e.check(sR()),e.toUpperCase=()=>e.check(oR()),e.slugify=()=>e.check(rR())}),nD=te("ZodString",(e,n)=>{Rg.init(e,n),LS.init(e,n),e.email=i=>e.check(xE(aD,i)),e.url=i=>e.check(jE(sD,i)),e.jwt=i=>e.check(BE(xD,i)),e.emoji=i=>e.check(AE(oD,i)),e.guid=i=>e.check(ux(hx,i)),e.uuid=i=>e.check(RS(cc,i)),e.uuidv4=i=>e.check(wE(cc,i)),e.uuidv6=i=>e.check(kE(cc,i)),e.uuidv7=i=>e.check(SE(cc,i)),e.nanoid=i=>e.check(CE(rD,i)),e.guid=i=>e.check(ux(hx,i)),e.cuid=i=>e.check(NE(lD,i)),e.cuid2=i=>e.check(_E(cD,i)),e.ulid=i=>e.check(TE(uD,i)),e.base64=i=>e.check(qE(yD,i)),e.base64url=i=>e.check(PE(bD,i)),e.xid=i=>e.check(EE(dD,i)),e.ksuid=i=>e.check(RE(mD,i)),e.ipv4=i=>e.check(DE(pD,i)),e.ipv6=i=>e.check(zE(hD,i)),e.cidrv4=i=>e.check(IE(fD,i)),e.cidrv6=i=>e.check(OE(gD,i)),e.e164=i=>e.check(ME(vD,i)),e.datetime=i=>e.check(MS(i)),e.date=i=>e.check(BS(i)),e.time=i=>e.check(LR(i)),e.duration=i=>e.check($R(i))});function o(e){return vE(nD,e)}const Ft=te("ZodStringFormat",(e,n)=>{Ut.init(e,n),LS.init(e,n)}),aD=te("ZodEmail",(e,n)=>{j7.init(e,n),Ft.init(e,n)}),hx=te("ZodGUID",(e,n)=>{k7.init(e,n),Ft.init(e,n)}),cc=te("ZodUUID",(e,n)=>{S7.init(e,n),Ft.init(e,n)});function iD(e){return RS(cc,e)}const sD=te("ZodURL",(e,n)=>{A7.init(e,n),Ft.init(e,n)}),oD=te("ZodEmoji",(e,n)=>{C7.init(e,n),Ft.init(e,n)}),rD=te("ZodNanoID",(e,n)=>{N7.init(e,n),Ft.init(e,n)}),lD=te("ZodCUID",(e,n)=>{_7.init(e,n),Ft.init(e,n)}),cD=te("ZodCUID2",(e,n)=>{T7.init(e,n),Ft.init(e,n)}),uD=te("ZodULID",(e,n)=>{E7.init(e,n),Ft.init(e,n)}),dD=te("ZodXID",(e,n)=>{R7.init(e,n),Ft.init(e,n)}),mD=te("ZodKSUID",(e,n)=>{D7.init(e,n),Ft.init(e,n)}),pD=te("ZodIPv4",(e,n)=>{P7.init(e,n),Ft.init(e,n)}),hD=te("ZodIPv6",(e,n)=>{M7.init(e,n),Ft.init(e,n)}),fD=te("ZodCIDRv4",(e,n)=>{B7.init(e,n),Ft.init(e,n)}),gD=te("ZodCIDRv6",(e,n)=>{L7.init(e,n),Ft.init(e,n)}),yD=te("ZodBase64",(e,n)=>{V7.init(e,n),Ft.init(e,n)}),bD=te("ZodBase64URL",(e,n)=>{U7.init(e,n),Ft.init(e,n)}),vD=te("ZodE164",(e,n)=>{G7.init(e,n),Ft.init(e,n)}),xD=te("ZodJWT",(e,n)=>{H7.init(e,n),Ft.init(e,n)}),Dg=te("ZodNumber",(e,n)=>{CS.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>fR(e,r,u),e.gt=(r,u)=>e.check(mx(r,u)),e.gte=(r,u)=>e.check(Hh(r,u)),e.min=(r,u)=>e.check(Hh(r,u)),e.lt=(r,u)=>e.check(dx(r,u)),e.lte=(r,u)=>e.check(Kh(r,u)),e.max=(r,u)=>e.check(Kh(r,u)),e.int=r=>e.check(fx(r)),e.safe=r=>e.check(fx(r)),e.positive=r=>e.check(mx(0,r)),e.nonnegative=r=>e.check(Hh(0,r)),e.negative=r=>e.check(dx(0,r)),e.nonpositive=r=>e.check(Kh(0,r)),e.multipleOf=(r,u)=>e.check(px(r,u)),e.step=(r,u)=>e.check(px(r,u)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function m(e){return GE(Dg,e)}const wD=te("ZodNumberFormat",(e,n)=>{Q7.init(e,n),Dg.init(e,n)});function fx(e){return HE(wD,e)}const kD=te("ZodBoolean",(e,n)=>{F7.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>gR(e,i,r)});function _(e){return QE(kD,e)}const SD=te("ZodNull",(e,n)=>{Z7.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>yR(e,i,r)});function de(e){return FE(SD,e)}const jD=te("ZodUnknown",(e,n)=>{Y7.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>vR()});function kn(){return ZE(jD)}const AD=te("ZodNever",(e,n)=>{X7.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>bR(e,i,r)});function CD(e){return YE(AD,e)}const ND=te("ZodArray",(e,n)=>{J7.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>jR(e,i,r,u),e.element=n.element,e.min=(i,r)=>e.check(Nd(i,r)),e.nonempty=i=>e.check(Nd(1,i)),e.max=(i,r)=>e.check(DS(i,r)),e.length=(i,r)=>e.check(zS(i,r)),e.unwrap=()=>e.element});function y(e,n){return lR(ND,e,n)}const VS=te("ZodObject",(e,n)=>{eE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>AR(e,i,r,u),gt(e,"shape",()=>n.shape),e.keyof=()=>S(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kn()}),e.loose=()=>e.clone({...e._zod.def,catchall:kn()}),e.strict=()=>e.clone({...e._zod.def,catchall:CD()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>v8(e,i),e.safeExtend=i=>x8(e,i),e.merge=i=>w8(e,i),e.pick=i=>y8(e,i),e.omit=i=>b8(e,i),e.partial=(...i)=>k8(GS,e,i[0]),e.required=(...i)=>S8(KS,e,i[0])});function d(e,n){const i={type:"object",shape:e??{},...Re(n)};return new VS(i)}function _D(e,n){return new VS({type:"object",shape:e,catchall:kn(),...Re(n)})}const $S=te("ZodUnion",(e,n)=>{TS.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>CR(e,i,r,u),e.options=n.options});function Ze(e,n){return new $S({type:"union",options:e,...Re(n)})}const TD=te("ZodDiscriminatedUnion",(e,n)=>{$S.init(e,n),tE.init(e,n)});function Me(e,n,i){return new TD({type:"union",options:n,discriminator:e,...Re(i)})}const ED=te("ZodIntersection",(e,n)=>{nE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>NR(e,i,r,u)});function RD(e,n){return new ED({type:"intersection",left:e,right:n})}const DD=te("ZodRecord",(e,n)=>{aE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_R(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function Qe(e,n,i){return new DD({type:"record",keyType:e,valueType:n,...Re(i)})}const zf=te("ZodEnum",(e,n)=>{iE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>xR(e,r,u),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,u)=>{const h={};for(const f of r)if(i.has(f))h[f]=n.entries[f];else throw new Error(`Key ${f} not found in enum`);return new zf({...n,checks:[],...Re(u),entries:h})},e.exclude=(r,u)=>{const h={...n.entries};for(const f of r)if(i.has(f))delete h[f];else throw new Error(`Key ${f} not found in enum`);return new zf({...n,checks:[],...Re(u),entries:h})}});function S(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new zf({type:"enum",entries:i,...Re(n)})}const zD=te("ZodLiteral",(e,n)=>{sE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>wR(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function R(e,n){return new zD({type:"literal",values:Array.isArray(e)?e:[e],...Re(n)})}const ID=te("ZodTransform",(e,n)=>{oE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>SR(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new uS(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(bc(h,i.value,n));else{const f=h;f.fatal&&(f.continue=!1),f.code??(f.code="custom"),f.input??(f.input=i.value),f.inst??(f.inst=e),i.issues.push(bc(f))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function US(e){return new ID({type:"transform",transform:e})}const GS=te("ZodOptional",(e,n)=>{ES.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>PS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function gx(e){return new GS({type:"optional",innerType:e})}const OD=te("ZodExactOptional",(e,n)=>{rE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>PS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function qD(e){return new OD({type:"optional",innerType:e})}const PD=te("ZodNullable",(e,n)=>{lE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>TR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function yx(e){return new PD({type:"nullable",innerType:e})}const MD=te("ZodDefault",(e,n)=>{cE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>RR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function BD(e,n){return new MD({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():hS(n)}})}const LD=te("ZodPrefault",(e,n)=>{uE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>DR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function VD(e,n){return new LD({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():hS(n)}})}const KS=te("ZodNonOptional",(e,n)=>{dE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ER(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function $D(e,n){return new KS({type:"nonoptional",innerType:e,...Re(n)})}const UD=te("ZodCatch",(e,n)=>{mE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>zR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function GD(e,n){return new UD({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const KD=te("ZodPipe",(e,n)=>{pE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>IR(e,i,r,u),e.in=n.in,e.out=n.out});function If(e,n){return new KD({type:"pipe",in:e,out:n})}const HD=te("ZodReadonly",(e,n)=>{hE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>OR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function QD(e){return new HD({type:"readonly",innerType:e})}const FD=te("ZodLazy",(e,n)=>{fE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>qR(e,i,r,u),e.unwrap=()=>e._zod.def.getter()});function ZD(e){return new FD({type:"lazy",getter:e})}const YD=te("ZodCustom",(e,n)=>{gE.init(e,n),Bt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>kR(e,i)});function XD(e,n={}){return cR(YD,e,n)}function JD(e){return uR(e)}function Es(e,n){return If(US(e),n)}const be={custom:"custom"};function qi(e){return KE(Dg,e)}const HS=d({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:_(),operator:_().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});d({keys:y(HS)});d({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});HS.extend({key:o()});const zg=S(["used","not-used","unknown","not-applicable"]);zg.enum;const Ig=S(["native-auto-v1","search-required-v1"]);Ig.enum;const WD=d({maxConcurrency:m().int().positive(),maxRequestsPerMinute:m().int().positive(),maxRequestsPerDay:m().int().positive()}),kt=o().min(1),Og=Qe(o(),o().trim().min(1));o().min(1);const un=d({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),qg=S(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);qg.enum;const Pg=d({everyDays:m().int().min(1).max(3650),startDate:o().date(),time:o().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"Time must be HH:mm")}).strict();d({id:o(),projectId:o(),kind:qg,cronExpr:o(),recurrence:Pg.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:_().default(!0),providers:y(kt).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const ez=o().datetime();d({kind:qg.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:Pg.optional(),timezone:o().optional().default("UTC"),enabled:_().optional().default(!0),providers:y(kt).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:ez.nullable().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'});const Mg=S(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high","health.degraded","health.recovered","review.negative","review.rating-dropped"]);d({id:o(),projectId:o(),channel:R("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(Mg),enabled:_().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});d({channel:R("webhook"),url:o().url(),events:y(Mg).min(1),source:o().optional()});class tz extends Error{code;statusCode;details;constructor(n,i,r,u){super(i),this.name="AppError",this.code=n,this.statusCode=r,this.details=u}toJSON(){return{error:{code:this.code,message:this.message,...this.details?{details:this.details}:{}}}}}function bx(e,n){return new tz("VALIDATION_ERROR",e,400,n)}function zi(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e==null)return"unknown error";try{const n=JSON.stringify(e);if(n!==void 0)return n}catch{}try{return String(e)}catch{return"unknown error"}}const nz=S(["fraction","percent"]),St=nz.enum,az="x-unit";function QS(e,n){return e.meta({[az]:n})}function xe(e=m()){return QS(e,St.fraction)}function Oe(e=m()){return QS(e,St.percent)}const iz={[St.fraction]:8,[St.percent]:6};function sz(e,n){const i=10**iz[n];return(Math.round(Number((e*i).toFixed(6)))+0)/i}function Qh(e,n=!1){const i=new Set,r=[];for(const u of e){const h=n?u.toLowerCase():u;i.has(h)||(i.add(h),r.push(u))}return r}function vx(e){try{const n=e.includes("://"),i=new URL(n?e:`https://${e}`);if(!n&&(i.pathname!=="/"||i.search||i.hash)||i.username||i.password||i.port)return null;const r=i.hostname.trim().toLowerCase().replace(/^www\./,"");return!r||r.includes("/")||r.includes("?")||r.includes("#")?null:r}catch{return null}}const oz=o().trim().min(1).refine(e=>vx(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>vx(e)??e),rz=o().trim().min(1),lz=o().trim().regex(/^[a-z]\w{0,39}$/i,{message:"GA4 event names must start with a letter and contain only letters, numbers, or underscores"}),Bg=d({marketingHosts:y(oz).overwrite(e=>Qh(e,!0)),brandTerms:y(rz).overwrite(e=>Qh(e,!0)),leadEventNames:y(lz).overwrite(e=>Qh(e))});function cz(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const Fh=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),FS=()=>cz(),xx=S(["never-synced","ready","error"]),uz=S(["landing-page","channel"]),dz=S(["30d","60d","90d"]),mz=S(["marketing","all"]),uc=BS(),_c=d({label:S(["earliest","middle","previous","latest"]),startDate:uc,endDate:uc}),Zh=_c.extend({sessions:m().int().nonnegative()}),wx=_c.extend({eventCount:m().int().nonnegative()}),kx=_c.extend({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),pz=_c.extend({propertyClicks:m().int().nonnegative(),propertyImpressions:m().int().nonnegative(),reportedQueryClicks:m().int().nonnegative(),reportedQueryImpressions:m().int().nonnegative(),brandedClicks:m().int().nonnegative(),brandedImpressions:m().int().nonnegative(),nonBrandedClicks:m().int().nonnegative(),nonBrandedImpressions:m().int().nonnegative(),unreportedClicks:m().int().nonnegative(),unreportedImpressions:m().int().nonnegative()}),hz=_c.extend({sessions:m().int().nonnegative(),engagementRate:xe(m().min(0).max(1)).nullable(),dailyTotalUsers:m().int().nonnegative().nullable(),dailyNewUsers:m().int().nonnegative().nullable(),metricsAvailable:_(),daysInPeriod:m().int().nonnegative(),daysWithEngagementRate:m().int().nonnegative(),daysWithUserSplit:m().int().nonnegative()}),fz=d({window:dz,bucketDays:R(30),filters:d({hostScope:mz,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:R("property")}),acquisition:d({status:xx,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(Zh),channels:y(d({channelGroup:o(),periods:y(Zh)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(Zh)}))}),leads:d({status:xx,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:uz.nullable(),hostAndPathFiltersApplied:_(),periods:y(wx),channels:y(d({channelGroup:o(),periods:y(wx)}))}),engagement:d({status:S(["ready","unavailable"]),availableFromDate:uc.nullable(),latestDate:uc.nullable(),periods:y(hz)}),searchDemand:d({status:S(["ready","unavailable"]),periods:y(pz),queries:y(d({query:o(),classification:S(["branded","non-branded"]),periods:y(kx)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(kx)})),latestDate:uc.nullable()})}),Tc=S(["sync","batch"]);Tc.enum;const Lg=Qe(o(),Tc),ZS=S(["submitting","submitted","ended","ingested","cancelled","failed","unknown"]),Sx=ZS.enum;Sx.submitted,Sx.ended;const Vg=S(["standard","batch"]),jx=Vg.enum,gz=d({inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative()}),yz=gz.extend({pricingTier:Vg,estimatedCostMicros:m().int().nonnegative().nullable(),priceSource:Ze([S(["default","override"]),de()])}),YS=d({inputPerMTok:m().nonnegative(),cachedInputPerMTok:m().nonnegative().optional(),cacheWritePerMTok:m().nonnegative().optional(),outputPerMTok:m().nonnegative(),searchPer1k:m().nonnegative().optional(),searchUnit:S(["query","prompt"]).optional(),batchTokenDiscount:m().min(0).max(1).optional()}).strict();d({models:Qe(o().min(1),YS).default({})}).strict();d({enabled:_().default(!1),maxRequestsPerBatch:m().int().positive().optional(),deadlineHours:m().positive().optional()}).strict();const bz=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,vz=/[\0-\x1F\x7F-\x9F]/,xz=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,wz=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var kz=class{src_Any=bz.source;src_Cc=vz.source;src_Z=wz.source;src_P=xz.source;src_ZPCc=[this.src_Z,this.src_P,this.src_Cc].join("|");src_ZCc=[this.src_Z,this.src_Cc].join("|");cache={};opts={maxLength:1e4,urlAuth:!1,schema_names:[]};constructor(e={}){this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,n,i=4){const r=this.escapeRE(e),u=this.escapeRE(n),h=`(?:(?!${this.src_ZCc}|${r}|${u}).)`;let f=`${r}${h}{0,1000}${u}`;for(let b=2;b<=i;b++)f=`${r}(?:${h}|${f}){0,1000}${u}`;return f}get_text_separators(){return this.cache.text_separators??=/[><\uff5c]/}get_pseudo_letter(){return this.cache.src_pseudo_letter??=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`)}get_ipv4_addr(){return this.cache.src_ip4??=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])")}get_ipv6_addr(){const e="[0-9A-Fa-f]{1,4}",n=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return this.cache.src_ip6_addr??=new RegExp(`(?:(?:${e}:){6}${n}|::(?:${e}:){5}${n}|(?:${e})?::(?:${e}:){4}${n}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${n}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${n}|(?:(?:${e}:){0,3}${e})?::${e}:${n}|(?:(?:${e}:){0,4}${e})?::${n}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`)}get_ipv6_url_host(){return this.cache.src_ip6_host??=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`)}get_ipv6_mail_host(){return this.cache.src_ipv6_mail_host??=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`)}get_auth(){return this.cache.src_auth??=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`)}get_port(){return this.cache.src_port??=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?")}get_host_terminator(){return this.cache.src_host_terminator??=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`)}get_path_terminator(){return this.cache.src_path_terminator??=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`)}get_path(){return this.cache.src_path??=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`)}get_mail_name(){return this.cache.src_mail_name??=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}")}get_xn(){return this.cache.src_xn??=new RegExp("xn--[a-z0-9\\-]{1,59}")}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){return this.cache.src_domain_root??=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`)}get_domain(){return this.cache.src_domain??=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`)}get_url_host_port(){return this.cache.url_host_port??=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source)}get_fuzzy_url_host_port(){return this.cache.fuzzy_url_host_port??=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source)}get_mail_host(){return this.cache.src_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source)}get_fuzzy_mail_host(){return this.cache.src_fuzzy_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source)}get_path_extra(){return this.cache.src_path_extra??=new RegExp("")}get_fuzzy_mail_host_search(){return this.cache.mail_fuzzy_host_search??=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig")}get_fuzzy_link_search(){return this.cache.link_fuzzy_search??=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig")}get_http_validator(){return this.cache.http_validator??=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy")}get_relative_proto_validator(){return this.cache.relative_proto_validator??=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy")}get_mail_name_validator(){return this.cache.mail_name_validator??=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`)}get_mailto_validator(){return this.cache.mailto_validator??=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy")}get_schema_names(){return this.cache.schema_names??=new RegExp((this.opts.schema_names||[]).map(e=>this.escapeRE(e)).join("|"))}get_schema_search(){return this.cache.schema_search??=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig")}get_schema_at_start(){return this.cache.schema_at_start??=new RegExp(`^${this.get_schema_search().source}`,"i")}},Yh={validate:(e,n,i)=>{const r=i.re.get_http_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)},Sz={"http:":Yh,"https:":Yh,"ftp:":Yh,"//":{validate:function(e,n,i){const r=i.re.get_relative_proto_validator();r.lastIndex=n;const u=r.exec(e);return u?n>=3&&e[n-3]===":"||n>=3&&e[n-3]==="/"?0:u[0].length:0},normalize:(e,n)=>n.normalize(e)},"mailto:":{validate:function(e,n,i){const r=i.re.get_mailto_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)}},jz="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Az="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Cz(){const e=Az.split("|");return jz.split("|").forEach(n=>{const i=n.indexOf(":"),r=n.slice(0,i);for(const u of n.slice(i+1))e.push(r+u)}),e}var Nz={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Cz(),urlAuth:!1,maxLength:1e4},Ax=class{schema;index;lastIndex;raw;text;url;constructor(e,n,i,r){const u=e.slice(i,r);this.schema=n.toLowerCase(),this.index=i,this.lastIndex=r,this.raw=u,this.text=u,this.url=u}},_z=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...Nz,...i},this.__schemas__={...Sz},this.re=n||new kz,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,n=null){if(!n)delete this.__schemas__[e];else{const i={normalize:(r,u)=>u.normalize(r),...n};this.__schemas__[e]=i}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let n,i;for(i=this.re.get_schema_search(),i.lastIndex=0;(n=i.exec(e))!==null;)if(this.testSchemaAt(e,n[2],i.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0,i.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),u=this.re.get_mail_name_validator();for(r.lastIndex=0;(n=r.exec(e))!==null;){const h=e.slice(Math.max(0,n.index-65),n.index);if(u.test(h))return!0}}return!1}testSchemaAt(e,n,i){return this.__schemas__[n.toLowerCase()]?this.__schemas__[n.toLowerCase()].validate(e.slice(0,i+this.__opts__.maxLength),i,this):0}match(e){const n=[],i=this.re.get_schema_search();let r,u,h,f,b,v,w=!1,k=!1,j=!1,T=0;if(!e.length)return null;for(i.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(u=this.re.get_fuzzy_mail_host_search(),u.lastIndex=0,h=this.re.get_mail_name_validator());;){const N=Math.max(T-1,0);if(u&&h&&!j&&(!b||b.index<T))for(u.lastIndex<N&&(u.lastIndex=N);;){const X=u.exec(e);if(!X){j=!0,b=void 0;break}const L=h.exec(e.slice(Math.max(0,X.index-65),X.index));if(L){if(b={schema:"mailto:",index:X.index-L[1].length,lastIndex:X.index+X[0].length},b.index>=T)break;u.lastIndex<N&&(u.lastIndex=N)}}if(r&&!k&&(!f||f.index<T))for(r.lastIndex<N&&(r.lastIndex=N);;){const X=r.exec(e);if(!X){k=!0,f=void 0;break}if(f={schema:"",index:X.index+X[1].length,lastIndex:X.index+X[0].length},f.index>=T)break;r.lastIndex<N&&(r.lastIndex=N)}let q=b;(!q||f&&(f.index<q.index||f.index===q.index&&f.lastIndex>q.lastIndex))&&(q=f);let E;if(!w)for(;;){if(!v){i.lastIndex<N&&(i.lastIndex=N);const Z=i.exec(e);if(!Z){w=!0;break}v={schema:Z[2],index:Z.index+Z[1].length,lastIndex:Z.index+Z[0].length}}if(v.index<T){v=void 0;continue}if(q&&v.index>q.index)break;const X=v;v=void 0;const L=this.testSchemaAt(e,X.schema,X.lastIndex);if(L){E={schema:X.schema,index:X.index,lastIndex:X.lastIndex+L};break}}let P=E;if((!P||b&&(b.index<P.index||b.index===P.index&&b.lastIndex>P.lastIndex))&&(P=b),(!P||f&&(f.index<P.index||f.index===P.index&&f.lastIndex>P.lastIndex))&&(P=f),!P)break;P===b?b=void 0:P===f&&(f=void 0);const H=new Ax(e,P.schema,P.index,P.lastIndex);H.schema?this.__schemas__[H.schema].normalize(H,this):this.normalize(H),n.push(H),T=P.lastIndex}return n.length?n:null}matchAtStart(e){if(!e.length)return null;const n=this.re.get_schema_at_start().exec(e);if(!n)return null;const i=this.testSchemaAt(e,n[2],n[0].length);if(!i)return null;const r=new Ax(e,n[2],n.index+n[1].length,n.index+n[0].length+i);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,n=!1){return e=Array.isArray(e)?e:[e],n?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const XS=JSON.parse('["aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mv","mw","mx","my","mz","na","nab","nagoya","name","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volvo","vote","voting","voto","voyage","vu","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"]');function Tz(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function Ez(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function Rz(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(Tz(n,h))return h}let r=0;if(n.startsWith("."))for(;r<n.length&&n[r]===".";)r+=1;return e.length===n.length-r?null:Ez(n,e)}function Dz(e,n){return e.slice(0,-n.length-1)}const Xh=/[\t\n\r]/g;let Of=!1;function Cx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function Nx(e,n,i){const r=i-n,u=e.charCodeAt(n)|32;if(r===2)return u===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(r===3){const h=e.charCodeAt(n+1)|32,f=e.charCodeAt(n+2)|32;return u===119&&h===115&&f===115||u===102&&h===116&&f===112?1:0}else if(r===4){const h=e.charCodeAt(n+1)|32,f=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&h===116&&f===116&&b===112?1:u===102&&h===105&&f===108&&b===101?2:0}else if(r===5)return u===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function dc(e,n,i=!1){let r=0,u=e.length,h=!1,f=!1;if(Of=!1,!n){if(e.startsWith("data:"))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;u>r+1&&e.charCodeAt(u-1)<=32;)u-=1;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{const P=e.indexOf(":/",r);if(P!==-1){const H=Nx(e,r,P);if(H===1)for(f=!0,r=P+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(H===2){f=!0,r=P+1;let X=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&X<2;)r+=1,X+=1;if(X<2)return null}else{for(let X=r;X<P;X+=1){const L=e.charCodeAt(X)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const Z=e.charCodeAt(X);return Z===9||Z===10||Z===13?dc(e.replace(Xh,""),n,i):null}}if(e.charCodeAt(P+2)===47)r=P+3;else return null}}else if(e.charCodeAt(r)!==91){let H=-1;for(let X=r;X<u;X+=1){const L=e.charCodeAt(X);if(L===9||L===10||L===13)return dc(e.replace(Xh,""),n,i);if(L===58){H=X;break}if(L===47||L===92||L===63||L===35)break}if(H!==-1){let X=!1;for(let L=H+1;L<u;L+=1){const Z=e.charCodeAt(L);if(Z===47||Z===92||Z===63||Z===35)break;if(Z===64){X=!0;break}}if(!X){let L=!0,Z=H+1;for(;Z<u;Z+=1){const Y=e.charCodeAt(Z);if(Y===47||Y===92||Y===63||Y===35)break;if(Y<48||Y>57){L=!1;break}}if(Z===H+1&&(L=!1),!L){const Y=Nx(e,r,H);if(Y===0){let ee=!1;for(let B=H+1;B<u;B+=1){const K=e.charCodeAt(B);if(K===47||K===92||K===63||K===35)break;if(K===58){ee=!0;break}}if(!ee)return null}else if(f=!0,r=H+1,Y===2){let ee=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&ee<2;)r+=1,ee+=1;if(ee<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,w=-1,k=-1,j=-1,T=!1,N=i,q=r-1,E=-1;if(i&&r<u){const P=e.charCodeAt(r);(!(Cx(P)||P===46||P===95)||P===45)&&(N=!1)}for(let P=r;P<u;P+=1){const H=e.charCodeAt(P);if(H<64)if(H===47||H===35||H===63){u=P;break}else H===58?(j===-1&&(j=P),k=P):H===9||H===10||H===13?T=!0:i&&(H===46?((P-q>64||E===46||E===45)&&(N=!1),q=P):(H<48||H>57)&&(H!==45||E===46)&&(N=!1));else if(f&&H===92){u=P;break}else H===64?(v=P,j=-1):H===93?w=P:H>=65&&H<=90?h=!0:i&&!Cx(H)&&(N=!1);i&&(E=H)}if(T)return dc(e.replace(Xh,""),n,i);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return w!==-1?e.slice(r+1,w).toLowerCase():null;if(k!==-1&&k>r&&k<u&&j===k&&(u=k),r>=u)return null;i&&N&&v===-1&&k===-1&&w===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-q-1<=63&&E!==45&&(Of=!0)}for(;u>r+1&&e.charCodeAt(u-1)===46;)u-=1;const b=r!==0||u!==e.length?e.slice(r,u):e;return h?b.toLowerCase():b}function zz(e){if(e.length<7||e.length>15)return!1;let n=0;for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);if(r===46)n+=1;else if(r<48||r>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function Iz(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,i=e.length;if(e[i-1]==="]"&&(i-=1),i-n>39)return!1;let r=!1;for(;n<i;n+=1){const u=e.charCodeAt(n);if(u===58)r=!0;else if(!(u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70))return!1}return r}function Oz(e){return Iz(e)||zz(e)}const qz=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function Pz(e){for(const n of qz)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function _x(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Tx(e){if(e.length>255||e.length===0||!_x(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,i=-1;const r=e.length;for(let u=0;u<r;u+=1){const h=e.charCodeAt(u);if(h===46){if(u-n>64||i===46||i===45)return!1;n=u}else if(!(_x(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function JS({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:i=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:h=!0,validHosts:f=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:i,detectSpecialUse:r,extractHostname:u,mixedInputs:h,validHosts:f,validateHostname:b}}const Mz=JS({});function Bz(e){return e===void 0?Mz:JS(e)}function Lz(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function Vz(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function WS(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function e2(e,n,i,r,u){const h=Bz(r);if(typeof e!="string")return u;let f=!1;return h.extractHostname?h.mixedInputs?(f=Tx(e),u.hostname=dc(e,f,h.validateHostname)):u.hostname=dc(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=Oz(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(f&&u.hostname===e)&&!Of&&!Tx(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=Pz(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=Rz(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=Lz(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=Dz(u.domain,u.publicSuffix)),u)}function $z(e,n,i){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),h=e.charCodeAt(r-1),f=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&h===111&&f===99&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(u===103&&h===114&&f===111&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(u===117&&h===100&&f===101&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(u===118&&h===111&&f===103&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(u===116&&h===101&&f===110&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(u===101&&h===100&&f===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}const yo=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),Td=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,313,331,332,335,337,338,340,374,375,377,380,381,385,387,391,394,426,429,442,443,451,452,454,464,478,479,480,489,490,527,532,548,568,574,615,616,643,670,671,819,825,828,829,830,835,840,849,871,872,873,874,875,876,877,895,897,898,901,903,904,906,908,923,938,943,944,946,947,948,949,950,952,955,960,961,962,964,965,968,971,972,973,986,988,1e3,1011,1019,1021,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1167,1169,1171,1191,1192,1193,1194,1196,1207,1238,1249,1261,1270,1277,1282,1295,1306,1319,1320,1331,1365,1366,1367,1382,1397,1469,1470,1472,1473,1507,1508,1509,1512,1516,1518,1547,1548,1556,1557,1558,1560,1562,1563,1565,1566,1567,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1594,1595,1596,1598,2053,2056,2057,2059,2066,2073,2083,2087,2098,2099,2100,2112,2113,2115,2117,2118,2125,2126,2128,2129,2131,2132,2133,2134,2135,2209,2211,2232,2233,2234,2236,2262,2263,2314,2315,2317,2324,2330,2340,2350,2403,2404,2405,2415,2429,2430,2433,2440,2441,2449,2450,2451,2452,2453,2464,2465,2466,2468,2469,2470,2471,2473,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2861,2868,2869,2870,2871,2872,2873,2875,2876,2880,2964,2977,2978,3414,3418,3432,3484,3512,3534,3592,3614,3629,3692,3743,3781,3817,3842,3984,4030,4081,4100,4134,4149,4169,4199,4230,4253,4284,4314,4346,4373,4448,4470,4508,4518,4552,4571,4597,4639,4689,4715,4784,4785,4787,4810,4833,4869,4900,4917,4974,4987,5011,5040,5042,5076,5092,5120,5425,5434,5443,5450,5467,5471,5477,5516,5518,5525,5532,5541,5548,5549,5560,5563,5578,5579,5588,5589,5598,5607,5613,5615,5616,5617,5653,5654,5656,5664,5671,5684,5688,5690,5691,5697,5704,5718,5728,5733,5741,5749,5755,5756,5760,5762,5763,5775,5776,5777,5778,5780,5781,5784,5786,5789,5793,5794,5800,5801,5802,5804,5806,5808,5809,5810,5813,5815,5818,5819,5821,6019,6026,6027,6037,6042,6059,6073,6082,6083,6084,6088,6089,6091,6093,6099,6100,6103,6104,6106,6107,6108,7008,7009,7013,7031,7040,7043,7050,7051,7053,7054,7055,7057,7109,7110,7113,7114,7231,7232,7243,7254,7261,7264,7273,7274,7275,7290,7345,7536,7538,7539,7541,7546,7559,7574,7581,7590,7593,7596,7603,7611,7615,7616,7617,7631,7635,7644,7645,7646,7650,7685,7686,7703,7710,7718,7719,7724,7732,7776,7777,7783,7786,7797,7802,7803,7806,7839,7840,7846,7853,7854,7863,7872,7887,7891,7943,7944,7949,7951,7954,7956,7957,7958,7967,7981,7989,8003,8015,8016,8018,8020,8042,8053,8059,8060,8072,8084,8171,8183,8185,8194,8197,8203,8228,8231,8232,8233,8235,8238,8241,8252,8254,8256,8284,8358,8365,8369,8370,8379,8401,8402,8407,8408,8487,8489,8491,8500,8504,8510,8516,8522,8532,8537,8538,8556,8567,8572,8577,8587,8593,8597,8603,8609,10217,10218,10219,10226,10228]),Ed=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,4,6,6,6,6,6,8,7,10,9,9,9,8,9,8,10,6,9,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,3,5,4,3,3,3,5,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,6,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,9,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,4,6,10,7,8,13,8,8,9,14,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,5,2,4,4,2,12,5,5,3,15,13,10,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,3,5,9,10,10,8,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,8,9,6,4,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,16,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,14,12,18,10,8,16,19,17,12,14,15,8,9,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,4,5,5,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,11,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,2,9,8,5,5,3,3,5,5,7,7,6,6,10,6,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,2,2,12,5,5,5,8,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),Ex=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,1,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,22,1,1,1,12,1,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,41,0,12,1,1,12,1,1,1,1,44,45,45,45,44,45,44,44,46,45,44,45,44,44,44,44,44,44,46,44,44,44,44,44,44,45,47,47,45,44,44,44,44,44,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,52,50,50,50,52,50,51,50,53,50,51,51,50,50,50,51,53,51,53,50,51,51,12,55,55,54,56,51,53,50,50,48,49,57,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,60,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,67,1,12,1,1,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,45,45,140,50,50,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,210,1,1,1,208,1,1,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,171,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,203,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,209,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,204,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,206,1,1,1,1,1,1,1,1,1,1,1,1,1,207,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,220,0,0,0,0,0,221,0,0,0,0,0,0,1,12,1,1,1,225,1,1,1,0,226,223,224,1,1,1,1,1,1,231,1,233,1,1,1,1,1,1,1,1,1,1,1,229,1,1,1,1,1,235,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,234,1,1,1,12,1,1,1,1,230,1,1,1,228,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,241,13,1,1,1,12,12,238,239,1,1,1,1,240,1,1,12,1,1,1,1,1,1,1,242,1,1,12,16,1,1,1,1,1,1,1,243,1,1,1,12,12,1,1,1,1,1,243,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,256,256,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,261,262,1,12,1,1,1,1,12,264,1,1,263,1,1,266,1,1,1,1,1,1,1,1,1,0,1,1,1,271,272,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,283,0,0,284,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,60,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,308,0,0,0,0,0,0,0,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,327,327,328,327,0,185,1,1,13,323,1,321,0,0,0,0,1,0,0,0,324,1,1,329,1,205,1,1,1,1,1,322,1,319,1,325,1,317,1,326,1,318,1,1,1,1,1,1,1,12,1,1,1,12,1,12,320,320,1,1,1,316,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,315,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,266,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,372,372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,340,351,1,1,339,374,1,345,1,1,337,369,1,1,355,336,341,1,1,1,348,379,357,1,1,1,1,1,1,358,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,367,371,0,0,79,1,1,0,365,342,378,343,346,353,1,368,0,1,0,79,362,360,1,0,0,1,1,1,0,0,0,0,381,1,1,352,1,79,1,0,1,1,1,384,1,0,0,79,359,0,1,338,1,1,1,0,1,1,361,1,0,1,1,1,0,1,386,349,1,1,0,1,0,0,377,0,1,1,1,79,370,1,1,366,363,1,1,1,1,1,1,1,1,1,1,1,344,1,1,1,1,1,1,1,1,1,1,1,376,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,380,1,1,1,0,0,383,0,0,0,1,356,1,0,79,382,1,0,0,0,0,385,1,1,0,0,1,0,1,0,354,0,350,0,1,1,1,0,1,1,0,373,347,375,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,400,400,1,1,12,12,1,400,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,412,1,1,0,1,1,1,1,205,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,430,430,1,1,0,0,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,445,1,12,12,1,1,1,1,1,12,1,1,1,1,453,1,1,1,455,1,1,1,1,1,1,1,1,1,1,452,1,447,1,1,1,1,435,1,1,1,1,1,1,1,1,448,12,1,1,1,1,454,1,1,1,449,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,317,1,433,1,1,12,451,1,1,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,454,1,1,1,1,317,1,450,1,1,1,439,1,1,1,1,1,440,1,456,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,446,1,1,1,1,1,1,1,12,1,1,1,1,1,436,1,1,1,1,1,1,1,220,457,1,1,1,1,1,12,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,462,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,466,466,466,466,466,466,466,0,466,466,466,466,466,1,466,466,466,0,466,466,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,478,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,472,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,492,1,1,1,491,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,490,1,1,1,1,1,1,1,1,372,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,494,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,505,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,507,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,60,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,527,1,1,1,1,1,1,1,525,1,1,12,1,529,239,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,539,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,228,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,572,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,577,1,220,1,328,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,79,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,280,306,411,535,0,4,68,236,254,282,307,334,388,413,0,499,519,536,597,9,0,61,88,398,409,429,575,0,497,518,532,612,0,30,6,0,461,500,602,560,70,0,7,285,255,389,463,416,538,79,598,0,576,309,418,465,9,105,288,506,6,30,0,311,79,391,79,483,10,6,131,248,275,0,613,509,0,563,0,64,6,6,251,95,2,432,399,410,596,0,6,0,6,286,103,6,561,501,540,0,464,390,273,287,8,71,104,599,543,392,312,300,419,146,74,290,546,510,601,564,335,330,479,6,75,149,11,0,249,522,547,565,514,551,570,611,36,6,260,295,333,304,218,30,528,553,218,42,216,265,296,305,406,423,481,274,0,73,562,0,403,417,299,79,247,79,0,581,545,504,292,421,79,393,387,0,0,0,9,555,571,217,0,424,407,531,516,573,615,85,218,43,297,396,425,569,0,511,293,276,79,215,80,28,390,30,6,394,331,303,604,592,524,550,513,0,258,81,30,405,422,0,30,426,0,219,593,517,9,408,427,218,248,86,222,594,574,557,482,428,397,250,227,87,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,82,0,129,0,0,84,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,503,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,495,0,0,0,0,0,0,404,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,515,0,0,0,0,0,0,0,0,0,0,0,0,496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,281,0,0,0,0,0,530,277,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,458,0,0,0,314,0,0,0,0,0,0,253,0,0,0,0,0,0,23,0,0,0,0,568,0,0,0,0,600,521,0,0,0,0,244,0,0,0,0,0,0,0,0,0,480,0,0,0,0,0,62,0,0,0,267,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,279,610,0,72,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,278,0,0,0,0,0,0,567,0,0,0,0,0,0,523,0,0,0,0,0,0,0,0,0,566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,502,0,0,0,0,0,554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,486,0,485,0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,537,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,237,0,0,0,0,0,0,0,0,0,0,84,0,606,0,0,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,520,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,0,614,0,0,431,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,544,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,291,0,0,0,214,0,0,0,0,0,0,558,0,270,0,0,130,0,0,0,0,0,559,0,0,0,0,0,0,0,414,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,0,0,0,0,0,5,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,534,0,0,0,415,0,0,401,0,0,0,0,0,0,603,0,0,0,541,0,0,90,0,542,0,0,0,0,0,0,0,0,0,0,508,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,556,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),qf="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultdetaexponyatnoopencrpplxzeaburwasmerframerzeropsconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubnorthflankbase44corespeedadaptableleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasvpsidwasantozqldorgcomvicasnactnetedugovnswtasconfhrsncomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugovtvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algmyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformapimediasiteprojedrydpagesjsu2u2-localx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyxnbayfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3stdlibqualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedonfabricawafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultdetais-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmstorjfidemopaasdymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformdatacenterhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1uk0cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomhzcnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingprotonetfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebiton-acornwixstudioon-k3sicp0icp12038jeleqotobigvlairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudtrentinosudtirolxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenaaquilabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardyfriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencevaldaostaxn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolfriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovipfscanvamypepw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintonohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmaplon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabcdenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscalecryptonomicoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvonoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradynmerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagecofigma-govcaffeinefigmacanvasoltstputerbarsysupportchatgptsquareomniweopensocialcpanelnotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovvmdhmyspreadshopadimono-ipbarsybytemarkbarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",Uz=621,Gz=625,t2=yo.length,n2=Ed.length,a2=new Uint32Array(n2),bd=new Uint32Array(n2),Pf=new Int32Array(t2).fill(-1);for(let e=0,n=0;e<t2;e+=1)for(let i=Td[e];i<Td[e+1];i+=1){a2[i]=n;const r=n+Ed[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^qf.charCodeAt(h);bd[i]=u>>>0,Ed[i]===1&&qf.charCodeAt(n)===42&&(Pf[e]=i),n=r}let Ii=-1,Mf=0,Bf=0;function Rx(e,n,i,r){if(Ed[e]!==r)return!1;const u=a2[e];for(let h=0;h<r;h+=1)if(qf.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function Dx(e,n,i,r,u){let h=Td[e],f=Td[e+1];for(;h<f;){const b=h+f>>>1,v=bd[b];if(v<n)h=b+1;else if(v>n)f=b;else{for(let w=b;w>=h&&bd[w]===n;w-=1)if(Rx(w,i,r,u))return w;for(let w=b+1;w<f&&bd[w]===n;w+=1)if(Rx(w,i,r,u))return w;return-1}}return-1}function zx(e,n,i){let r=n,u=e.length,h=5381;Ii=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const w=b+1;let k=Dx(r,h>>>0,e,w,u-w);if(k===-1&&(k=Pf[r]),k===-1)return Ii!==-1;r=Ex[k],(yo[r]&i)!==0&&(Ii=r,Mf=w,Bf=u),u=b,h=5381}else h=h*33^v}let f=Dx(r,h>>>0,e,0,u);return f===-1&&(f=Pf[r]),f!==-1&&(r=Ex[f],(yo[r]&i)!==0&&(Ii=r,Mf=0,Bf=u)),Ii!==-1}function i2(e,n,i){if($z(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(zx(e,Gz,r)){i.isIcann=(yo[Ii]&1)!==0,i.isPrivate=(yo[Ii]&2)!==0,i.publicSuffix=e.slice(Bf+1);return}if(zx(e,Uz,r)){i.isIcann=(yo[Ii]&1)!==0,i.isPrivate=(yo[Ii]&2)!==0,i.publicSuffix=e.slice(Mf);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const Rd=Vz();function Kz(e,n){return WS(Rd),e2(e,0,i2,n,Rd).hostname}function Hz(e,n){return WS(Rd),e2(e,5,i2,n,Rd).domainWithoutSuffix}const Qz={allowPrivateDomains:!0};new _z({fuzzyLink:!0,fuzzyEmail:!1}).tlds(XS);function qW(e,n){if(!e)return"";const i=e.trim();if(!i)return"";if(/^https?:\/\//i.test(i))return i;if(i.startsWith("//"))return`https:${i}`;const r=n.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"");return r?i.startsWith("/")?`https://${r}${i}`:`https://${r}/${i}`:i}function PW(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:"#"}function MW(e){const n=e??"",i=n.indexOf("?"),r=i===-1?n:n.slice(0,i),u=i===-1?"":n.slice(i+1),h=r||"/";if(!u)return{path:h,querySummary:null,raw:n};let f="";try{f=Fz(new URLSearchParams(u))}catch{f="tracking params"}return{path:h,querySummary:f||null,raw:n}}function Fz(e){const i=Array.from(e.keys()).length;if(i===0)return"";const r=i===1?"param":"params",u=Zz(e);return u?`${u} · ${i} ${r}`:`${i} tracking ${r}`}function Zz(e){if(e.has("fbclid"))return"Facebook Ad";if(e.has("gclid")||e.has("gbraid")||e.has("wbraid"))return"Google Ad";if(e.has("msclkid"))return"Microsoft Ad";if(e.has("ttclid"))return"TikTok Ad";if(e.has("li_fat_id"))return"LinkedIn Ad";if(e.has("twclid"))return"X / Twitter Ad";if(e.has("epik"))return"Pinterest Ad";for(const r of e.keys())if(r.startsWith("hsa_"))return"Search Ad";const n=e.get("utm_source"),i=e.get("utm_medium");return n&&i?`${n} / ${i}`:n?`Source: ${n}`:i?`Medium: ${i}`:null}function Ec(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=Kz(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function s2(e){return e==null||e.trim()===""?"":Hz(e,Qz)?.toLowerCase()??""}const Yz=new Intl.Segmenter("en",{granularity:"word"}),Xz=/[^\p{L}\p{N}]+/gu,Jz=/[\p{L}\p{N}]+/gu,Wz=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,e9=new RegExp("\\P{ASCII}","u");function t9(e){if(!e9.test(e))return e;let n="";for(const i of e){if(i.charCodeAt(0)<128){n+=i;continue}const r=i.normalize("NFD"),u=r[0];n+=r.length>1&&Wz.test(u)?u:i}return n}function o2(e){return t9(e.normalize("NFKC")).toLocaleLowerCase("en")}function r2(e){const n=[];for(const i of Yz.segment(e))if(i.isWordLike)for(const r of i.segment.match(Jz)??[])n.push(r);return n}function n9(e){return r2(o2(e))}function Ka(e){return n9(e).join("")}const Ix=new WeakMap;function a9(e){if(!e)return null;const n=o2(e);return{normalized:n,stripped:n.replace(Xz,"")}}function i9(e){const n=Ix.get(e);if(n)return n;const i=r2(e.normalized);return Ix.set(e,i),i}function s9(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=Ka(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function o9(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?a9(n):n;if(!i)return!1;let r=!1;for(const h of e.keys)if(i.stripped.includes(h)){r=!0;break}if(!r)return!1;const u=i9(i);for(let h=0;h<u.length;h++){let f="";for(let b=h;b<u.length;b++){if(f+=u[b],e.keys.has(f))return!0;if(f.length>=e.longest)break}}return!1}const r9=d({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});d({accounts:y(r9),total:m().int().nonnegative()});const l9=d({id:o(),projectId:o(),accountName:o(),locationName:o(),displayName:o(),primaryCategoryDisplayName:o().nullable(),storefrontAddress:o().nullable(),websiteUri:o().nullable(),placeId:o().nullable(),mapsUri:o().nullable(),additionalCategories:y(o()),description:o().nullable(),serviceArea:Qe(o(),kn()).nullable(),regularHours:Qe(o(),kn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:_(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});d({locations:y(l9),totalDiscovered:m().int().nonnegative(),totalSelected:m().int().nonnegative()});d({selectAllNew:_().default(!0),accountName:o().optional(),switchAccount:_().default(!1)});d({selected:_()});d({locationNames:y(o()).optional(),daysOfMetrics:m().int().positive().max(540).optional(),monthsOfKeywords:m().int().positive().max(18).optional()});d({runId:o(),status:o()});const c9=d({locationName:o(),date:o(),metric:o(),value:m().int()});d({metrics:y(c9),total:m().int().nonnegative()});const u9=d({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:m().int().nullable(),valueThreshold:m().int().nullable()});d({keywords:y(u9),total:m().int().nonnegative(),thresholdedPct:Oe(m().min(0).max(100))});const d9=d({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:_(),providerType:o().nullable()});d({placeActions:y(d9),total:m().int().nonnegative()});const m9=d({locationName:o(),populatedGroupCount:m().int().nonnegative(),syncedAt:o(),attributes:Qe(o(),kn())});d({lodging:y(m9),total:m().int().nonnegative()});const p9=d({name:o(),valueType:o(),values:y(Ze([_(),o()])),unsetValues:y(o()),uris:y(o())}),h9=d({locationName:o(),attributeCount:m().int().nonnegative(),syncedAt:o(),attributes:y(p9)});d({attributes:y(h9),total:m().int().nonnegative()});const f9=d({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:Qe(o(),kn())});d({places:y(f9),total:m().int().nonnegative()});const l2=S(["gbp","places"]),$g=m().int().min(1).max(4),g9=S(["ok","unavailable","error"]),c2=S(["none","baseline","stale","pending","sent","skipped","suppressed"]);c2.enum;const y9=d({locationName:o(),origin:l2,reviewName:o(),starRating:m().int().min(1).max(5).nullable(),negative:_(),comment:o().nullable(),reviewerName:o().nullable(),createTime:o().nullable(),updateTime:o(),replied:_().nullable(),replyComment:o().nullable(),replyUpdateTime:o().nullable(),reviewUri:o().nullable(),firstSeenAt:o(),lastSeenAt:o(),alertState:c2,alertStateAt:o().nullable()}),b9=d({locationName:o(),displayName:o(),reviewsAccess:g9.nullable(),reviewsAccessReason:o().nullable(),reviewsCheckedAt:o().nullable(),rating:m().nullable(),reviewCount:m().int().nonnegative().nullable(),ratingOrigin:l2.nullable(),ratingObservedAt:o().nullable()});d({negativeMaxStars:m().int().min(1).max(4),locations:y(b9),reviews:y(y9),total:m().int().nonnegative()});d({scope:d({locationName:o().nullable(),locationCount:m().int().nonnegative()}),performance:d({totals:Qe(o(),m()),recent7d:Qe(o(),m()),prior7d:Qe(o(),m()),deltaPct:Qe(o(),Oe().nullable())}),freshness:d({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:m().int().nonnegative()}),timeseries:y(d({date:o(),pending:_(),metrics:Qe(o(),m())})),keywords:d({total:m().int().nonnegative(),thresholdedCount:m().int().nonnegative(),thresholdedPct:Oe(m().min(0).max(100))}),placeActions:d({total:m().int().nonnegative(),hasReservationCta:_(),hasBookingCta:_(),hasDirectMerchantCta:_()}),lodging:d({lodgingLocationCount:m().int().nonnegative(),populatedLodgingCount:m().int().nonnegative(),emptyLodgingCount:m().int().nonnegative()}),profileCompleteness:d({locationCount:m().int().nonnegative(),withSecondaryCategories:m().int().nonnegative(),secondaryCategoryTotal:m().int().nonnegative(),withDescription:m().int().nonnegative(),withServiceArea:m().int().nonnegative(),withHours:m().int().nonnegative(),withPrimaryPhone:m().int().nonnegative(),permanentlyClosed:m().int().nonnegative(),temporarilyClosed:m().int().nonnegative()})});const v9={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function x9(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function BW(e){return v9[e]??x9(e)}const w9=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],k9=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function LW(e){return w9.includes(e)?"conversion":k9.includes(e)?"reach":"other"}new Set(XS.map(e=>e.toLowerCase()));const S9=4,u2=S(["cli","api","config-file"]);function j9(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function A9(e,n){return n?e.some(i=>i.label===n):!0}const d2=20,m2=200,C9=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional(),aliases:y(o()).optional(),country:o().length(2),language:o().min(2),tags:y(o()).optional(),labels:Qe(o(),o()).optional(),providers:y(kt).optional(),providerModels:Og.optional(),providerDispatchModes:Lg.optional(),locations:y(un).optional(),defaultLocation:o().nullable().optional(),measurement:Bg.optional(),autoExtractBacklinks:_().optional(),qualifiedAliases:y(o().trim().min(1).max(m2)).max(d2).optional(),negativeReviewMaxStars:$g.nullable().optional(),configSource:u2.optional()});C9.extend({name:o().trim().min(1).max(120)});const N9=d({id:o(),name:o(),displayName:o().optional(),canonicalDomain:o(),ownedDomains:y(o()).default([]),aliases:y(o()).default([]),qualifiedAliases:y(o()).default([]),country:o().length(2),language:o().min(2),tags:y(o()).default([]),labels:Qe(o(),o()).default({}),providers:y(o()).default([]),providerModels:Og.default({}),providerDispatchModes:Lg.default({}),locations:y(un).default([]),defaultLocation:o().nullable().optional(),measurement:Bg.default(FS),autoExtractBacklinks:_().default(!1),negativeReviewMaxStars:$g.nullable().optional(),configSource:u2.default("cli"),configRevision:m().int().positive().default(1),createdAt:o().optional(),updatedAt:o().optional()});d({id:o(),query:o(),createdAt:o()});d({id:o(),keyword:o(),createdAt:o()});d({queries:y(o().trim().min(1)).min(1)});d({keywords:y(o().trim().min(1)).min(1)});d({provider:kt,count:m().int().min(1).max(20).optional()});d({id:o(),domain:o(),createdAt:o()});d({competitors:y(o().trim().min(1)).min(1)});function Dd(e){return Ec(e)??e.trim().toLowerCase().replace(/^www\./,"")}function p2(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const u of n){const h=u.trim();if(!h)continue;const f=Dd(h);i.has(f)||(i.add(f),r.push(h))}return r}function _9(e,n){if(!n||n.length===0)return[];const i=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const h of n){const f=h.trim();if(!f)continue;const b=f.toLowerCase();b!==i&&(r.has(b)||(r.add(b),u.push(f)))}return u}function T9(e){const n=[],i=new Set,r=h=>{const f=Ka(h);!f||i.has(f)||(i.add(f),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of _9(e.displayName,e.aliases))r(h);for(const h of p2({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const f=s2(h);if(Ka(f).length>=S9)r(f);else{const b=Dd(h);b.includes(".")&&r(b)}}return n}const E9=d({name:o().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:Qe(o(),o()).optional().default({})}),R9=d({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:Pg.optional(),timezone:o().optional().default("UTC"),providers:y(kt).optional().default([]),enabled:_().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'}).optional(),D9=d({channel:R("webhook"),url:o().url(),events:y(Mg).min(1)}),z9=d({gsc:d({propertyUrl:o()}).optional(),syncSchedule:d({preset:o().optional(),cron:o().optional()}).optional()}).optional(),Ox=y(o().min(1)),I9=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional().default([]),aliases:y(o().min(1)).optional().default([]),qualifiedAliases:y(o().min(1).max(m2)).max(d2).optional(),country:o().length(2),language:o().min(2),queries:Ox.optional(),keywords:Ox.optional(),competitors:y(o().min(1)).optional().default([]),providers:y(kt).optional().default([]),providerModels:Og.optional().default({}),providerDispatchModes:Lg.optional(),locations:y(un).optional().default([]),defaultLocation:o().optional(),measurement:Bg.optional().default(FS),schedule:R9,notifications:y(D9).optional().default([]),google:z9,autoExtractBacklinks:_().optional().default(!1),negativeReviewMaxStars:$g.optional()}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=j9(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),A9(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});d({apiVersion:R("canonry/v1"),kind:R("Project"),metadata:E9,spec:I9});const O9=["branded","non-brand"],Gr=S(O9),Ug=S(["all","branded","non-brand"]);function q9(e){const n=e.filter(r=>Ka(r).length>0);if(n.length===0)return null;const i=s9(n);return i.keys.size===0?null:{matcher:i,classify(r){return o9(i,r)?"branded":"non-brand"}}}const P9=2,M9=o().regex(/^[a-f0-9]{64}$/),sm=o().trim().min(1).max(256),qx=S(["sensitive","insensitive"]),fe=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),B9=o().trim().min(1).refine(e=>Ec(e)!==null,"A competitor domain must be a valid hostname"),L9=Me("kind",[d({kind:R("exact"),url:o().min(1),pathCase:qx}).strict(),d({kind:R("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:qx}).strict(),d({kind:R("host"),host:o().min(1)}).strict()]),V9=d({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),$9=d({projectBrand:V9}).strict(),U9=d({stableKey:fe,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(L9),mentionNotApplicable:_(),discoveryIdentity:o().min(1).nullable()}).strict(),h2=d({stableKey:fe,label:o().trim().min(1),domain:B9,aliases:y(o().min(1))}).strict(),G9=d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.optional(),targetKeys:y(fe),competitors:y(h2)}).strict(),K9=S(["manual","query-set","template","discovery","research"]),H9=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:Qe(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),f2=d({source:K9,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:H9.optional()}).strict(),Q9=d({queryId:sm,queryText:o().min(1),provenance:f2}).strict(),om=d({providers:y(kt).min(1),models:Qe(kt,o().min(1)),location:un.nullable()}).strict(),F9=d({stableKey:o().min(1),queryId:sm,queryText:o().min(1),context:om,expectedSnapshots:m().int().nonnegative()}).strict(),Gg=Gr,Z9=d({targetKey:fe,queryId:sm,queryClass:Gg,classificationSource:S(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),Kg=d({executionNodeKey:o().min(1),targetKey:fe,queryId:sm}).strict(),g2=d({stableKey:fe,label:o().trim().min(1),kind:R("market"),groupKey:fe.optional(),usageEdges:y(Kg)}).strict();function Px(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const rm=d({schemaVersion:R(P9),identities:$9,targets:y(U9),groups:y(G9),querySnapshots:y(Q9),assignments:y(Z9),executionNodes:y(F9),usageEdges:y(Kg),reportingScopes:y(g2).optional(),compiledChecksum:M9}).strict().superRefine((e,n)=>{const i=new Set;for(const b of e.executionNodes)i.has(b.stableKey)&&n.addIssue({code:be.custom,path:["executionNodes"],message:`Duplicate execution node key "${b.stableKey}"`}),i.add(b.stableKey);const r=new Set(e.targets.map(b=>b.stableKey));e.usageEdges.forEach((b,v)=>{i.has(b.executionNodeKey)||n.addIssue({code:be.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:be.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(Px)),h=new Set;e.reportingScopes?.forEach((b,v)=>{if(h.has(b.stableKey)&&n.addIssue({code:be.custom,path:["reportingScopes",v,"stableKey"],message:`Duplicate reporting scope key "${b.stableKey}"`}),h.add(b.stableKey),b.groupKey!==void 0){const k=e.groups.find(j=>j.stableKey===b.groupKey);(!k||b.usageEdges.some(j=>!k.targetKeys.includes(j.targetKey)))&&n.addIssue({code:be.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const w=new Set;b.usageEdges.forEach((k,j)=>{const T=Px(k);u.has(T)||n.addIssue({code:be.custom,path:["reportingScopes",v,"usageEdges",j],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),w.has(T)&&n.addIssue({code:be.custom,path:["reportingScopes",v,"usageEdges",j],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),w.add(T)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:be.custom,path:["assignments",v,"targetKey"],message:`Assignment references unknown Target "${b.targetKey}"`})});const f=new Map;e.groups.forEach((b,v)=>{f.has(b.stableKey)&&n.addIssue({code:be.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),f.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const w=b.parentGroupKey;if(w===void 0)return;if(w===b.stableKey){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const k=f.get(w);if(!k){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+w});return}const j=new Set(k.targetKeys);b.targetKeys.forEach((q,E)=>{j.has(q)||n.addIssue({code:be.custom,path:["groups",v,"targetKeys",E],message:"Group target membership must be a subset of its parent."})});const T=new Set([b.stableKey]);let N=k;for(;N.parentGroupKey!==void 0;){if(T.has(N.stableKey)){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}T.add(N.stableKey);const q=f.get(N.parentGroupKey);if(!q)break;N=q}});for(const b of e.groups)for(const v of b.targetKeys)r.has(v)||n.addIssue({code:be.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),Hg=100;function zr(e){return d({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:m().int().nonnegative().optional()}).strict()}const Rc=S(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),vn=Me("state",[d({state:R("available"),value:xe(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional(),unattributed:m().int().positive().optional()}).strict(),d({state:R("unavailable"),reason:Rc}).strict()]),vc=Me("state",[d({state:R("available"),value:m().int().nonnegative(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional()}).strict(),d({state:R("unavailable"),reason:Rc}).strict()]),Qg=S(["all","group","property"]),Ia=Ug,Y9=S(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),Fg=S(["not_measured","queued","running","complete","partial","failed"]),X9=S(["run_measurement","review_flags","complete_setup","republish_setup","none"]);d({scope:Qg,groupKey:fe.optional(),targetKey:fe.optional(),queryClass:Ia.optional(),provider:kt.optional(),location:o().trim().min(1).optional(),from:o().trim().min(1).optional(),to:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),search:o().optional(),sort:Y9.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(Hg).optional()}).strict();const J9=d({provider:kt,mentionCoverage:vn,citationCoverage:vn}).strict(),W9=d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict(),Lf=d({groupKey:fe,label:o().trim().min(1)}).strict(),eI=d({targetKey:fe,label:o().min(1),metro:Lf.nullable().optional(),otherMetros:y(Lf).min(1).optional(),mentionCoverage:vn,citationCoverage:vn,providers:y(J9),flags:m().int().nonnegative()}).strict(),tI=d({kind:S(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:m().int().nonnegative(),share:xe(m().min(0).max(1))}).strict(),nI=d({groupKey:fe,queryClass:R("non-brand"),denominator:m().int().positive(),entries:y(tI)}).strict();d({mode:S(["active-v1","active-v2"]),scope:d({kind:Qg,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:Ia,measurement:d({state:Fg,currentRunId:o().min(1).optional(),displayedRunId:o().min(1).optional(),completed:m().int().nonnegative(),expected:m().int().nonnegative(),completedAt:o().datetime().optional(),includesHistoricalData:_().optional()}).strict(),nextAction:d({kind:X9,count:m().int().nonnegative().optional()}).strict(),metrics:d({propertiesMentioned:vc,mentionCoverage:vn,citationCoverage:vn,brandPresence:vn,sov:vn.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:zr(eI),outcomes:W9,flags:d({total:m().int().nonnegative()}).strict(),namedShareOfVoice:nI.optional()}).strict();const y2=S(["sources","answers"]),aI=y2.enum;aI.sources;d({targetKey:fe,queryClass:Ia.optional(),provider:kt.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:y2.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(Hg).optional()}).strict();const b2=1,Dc=m().int().positive(),hn=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),zc=o().trim().min(1).max(256),Mx=S(["sensitive","insensitive"]);function zd(e){const n=Ec(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function iI(e){const n=[];let i=!1;for(let r=0;r<e.length;r++){const u=e[r];u==="/"?(i||n.push(u),i=!0):(n.push(u),i=!1)}for(;n.length>1&&n.at(-1)==="/";)n.pop();return n.length?n.join(""):"/"}function Bx(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function v2(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return iI(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function Vf(e){const n=e.trim();if(!n||n.includes("?")||n.includes("#")||n.includes("://")||n.includes("\\"))throw new Error(`Invalid measurement path prefix: ${e}`);const i=n.startsWith("/")?n:`/${n}`;for(const r of i.split("/")){let u;try{u=decodeURIComponent(r)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}if(u==="."||u==="..")throw new Error(`Invalid measurement path prefix: ${e}`)}try{return v2(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function sI(e){const n=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e);if(!n)throw new Error(`Invalid exact measurement URL: ${e}`);return e.slice(n[0].length).split(/[?#]/,1)[0]||"/"}function Lx(e){const n=e.trim();if(!n||n.includes("\\"))throw new Error(`Invalid exact measurement URL: ${e}`);let i;try{i=new URL(n)}catch{throw new Error(`Invalid exact measurement URL: ${e}`)}if(i.protocol!=="http:"&&i.protocol!=="https:"||i.username||i.password||i.port||i.search||i.hash)throw new Error(`Invalid exact measurement URL: ${e}`);const r=zd(i.hostname),u=Vf(sI(n));return`https://${r}${u}`}const xc=o().trim().min(1).refine(e=>{try{return zd(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>zd(e)),oI=o().trim().min(1).refine(e=>{try{return Vf(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>Vf(e)),rI=o().trim().min(1).refine(e=>{try{return Lx(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>Lx(e)),lI=Me("kind",[d({kind:R("exact"),url:rI,pathCase:Mx}).strict(),d({kind:R("prefix"),host:xc,pathPrefix:oI,pathCase:Mx}).strict(),d({kind:R("host"),host:xc}).strict()]),x2=o().trim().min(1).max(256).refine(e=>Ka(e).length>0,"A target alias must contain mention text"),cI=Qe(o().trim().min(1),o()),uI=xc,w2=d({stableKey:hn,label:o().trim().min(1),urls:y(lI).min(1),aliases:y(x2),metadata:cI.optional()}).strict(),Zg=d({stableKey:hn,label:o().trim().min(1),targetKeys:y(hn).min(1),competitors:y(uI).optional()}).strict(),k2=d({targetKey:hn,queryIds:y(zc).min(1),context:un.nullable().optional()}).strict();function dI(e,n){return e<n?-1:e>n?1:0}function mI(e,n=i=>i){const i=new Set,r=new Set;for(const u of e){const h=n(u);i.has(h)&&r.add(h),i.add(h)}return r}function Jh(e,n,i,r,u){for(const h of mI(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function Vx(e){if(e.kind==="host")return{host:e.host,pathname:null};if(e.kind==="prefix")return{host:e.host,pathname:e.pathPrefix};const n=new URL(e.url);return{host:zd(n.hostname),pathname:v2(n.pathname||"/")}}function pI(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&Bx(e)===Bx(i)}function hI(e,n){if(e.kind!==n.kind)return!1;const i=Vx(e),r=Vx(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:pI(i.pathname,e.pathCase,r.pathname,n.pathCase)}function fI(e){const n=new Set;return[...e].sort(dI).filter(i=>{const r=Ka(i);return n.has(r)?!1:(n.add(r),!0)})}const S2=d({schemaVersion:R(b2),targets:y(w2).min(1),groups:y(Zg).optional(),targetQuerySelections:y(k2).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];Jh(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),Jh(n,i.map(v=>v.stableKey),["groups"],"group stable key");const u=new Set(e.targets.map(v=>v.stableKey)),h=new Set(i.map(v=>v.stableKey));for(const v of u)h.has(v)&&n.addIssue({code:"custom",path:["groups"],message:`Target and group stable keys must be globally unique: ${v}`});const f=new Map,b=[];e.targets.forEach((v,w)=>{for(const k of fI(v.aliases)){const j=Ka(k),T=f.get(j);T&&T!==v.stableKey&&n.addIssue({code:"custom",path:["targets",w,"aliases"],message:`Target alias is already assigned to target ${T}: ${k}`}),f.set(j,v.stableKey)}v.urls.forEach((k,j)=>{b.find(N=>N.targetKey!==v.stableKey&&hI(N.matcher,k))&&n.addIssue({code:"custom",path:["targets",w,"urls",j],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:k})})}),i.forEach((v,w)=>{Jh(n,v.targetKeys,["groups",w,"targetKeys"],"group target key");for(let k=0;k<v.targetKeys.length;k++){const j=v.targetKeys[k];u.has(j)||n.addIssue({code:"custom",path:["groups",w,"targetKeys",k],message:`Unknown target: ${j}`})}}),r.forEach((v,w)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",w,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});S2.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));d({expectedActiveRevision:Dc.nullable(),plan:S2}).strict();const gI=d({queryId:zc,queryText:o().min(1)}).strict(),Yg=d({stableKey:o().min(1),queryText:o().min(1),context:un.nullable(),expectedSnapshots:m().int().nonnegative()}).strict(),yI=d({kind:R("baseline"),executionNodeKey:o().min(1),queryId:zc}).strict(),bI=d({kind:R("target"),executionNodeKey:o().min(1),queryId:zc,targetKey:hn}).strict(),$f=Me("kind",[yI,bI]),j2=d({code:R("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(hn).min(1),aliases:y(o().min(1)).min(1)}).strict(),A2=w2.extend({mentionNotApplicable:_()}),C2=d({schemaVersion:R(b2),defaultContext:un.nullable(),effectiveOwnedHosts:y(xc),projectCanonicalHost:xc,projectBrandNames:y(x2),targets:y(A2),groups:y(Zg),targetQuerySelections:y(k2),querySnapshots:y(gI),executionNodes:y(Yg),usageEdges:y($f),warnings:y(j2)}).strict(),vI=C2,N2=Me("schemaVersion",[C2,rm]),Xg=o().regex(/^[a-f0-9]{64}$/),Jg=o().datetime(),_2=d({schemaVersion:R(1),language:o().min(1).optional(),providers:y(o().min(1)).min(1),models:Qe(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),xI=d({groups:y(hn).optional(),targets:y(hn).optional()}).strict(),wI=d({groups:y(hn),targets:y(hn),queries:y(o().min(1)),resolvedTargets:y(hn)}).strict().superRefine((e,n)=>{e.resolvedTargets.length===0&&e.queries.length===0&&n.addIssue({code:"custom",path:["resolvedTargets"],message:"A recorded scope must name something it measured"})});d({stableKey:hn,retiredAt:o().datetime()});d({active:d({revision:Dc,checksum:Xg,createdAt:Jg,plan:N2}).nullable()});d({versions:y(d({revision:Dc,checksum:Xg,createdAt:Jg,active:_()}))});d({version:d({revision:Dc,checksum:Xg,createdAt:Jg,active:_(),plan:N2})});const vd=d({targets:m().int(),groups:m().int(),queries:m().int(),executionNodes:m().int(),usageEdges:m().int(),baselineEdges:m().int(),targetEdges:m().int(),dedupSavings:m().int()}).strict(),kI=S(["invalid-authoring","duplicate-identity","unknown-target","unknown-query","invalid-project-context","unowned-target-url","owned-competitor","target-query-context-conflict","target-url-ownership-tie","target-alias-cross-target-collision","target-alias-project-brand-collision","target-alias-prefix-overlap"]),T2=d({id:kI,severity:S(["fail","warn"]),message:o().min(1),path:y(Ze([o(),m().int()]))}).strict(),SI=d({baseline:m().int().nonnegative(),target:m().int().nonnegative()}).strict(),E2=d({ok:R(!0),checks:y(T2),executionNodes:y(Yg),dedupSaved:m().int().nonnegative(),usageEdges:SI,estCostUsd:de(),plan:vI,warnings:y(j2),counts:vd}).strict(),R2=d({ok:R(!1),checks:y(T2).min(1),executionNodes:y(Yg).length(0),dedupSaved:R(0),usageEdges:d({baseline:R(0),target:R(0)}).strict(),estCostUsd:de()}).strict();Me("ok",[E2,R2]);const ad=d({targetKey:hn,context:un.nullable(),queryIds:y(zc)}).strict();function $x(e){return d({added:y(e),removed:y(e),changed:y(d({stableKey:hn,before:e,after:e}).strict()),unchanged:y(hn)}).strict()}const jI=E2.extend({diff:d({activeRevision:Dc.nullable(),targets:$x(A2),groups:$x(Zg),querySelections:d({added:y(ad),removed:y(ad),changed:y(d({targetKey:hn,before:ad,after:ad}).strict()),unchanged:y(d({targetKey:hn,context:un.nullable()}).strict())}).strict(),execution:d({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y($f),removedUsageEdges:y($f),counts:d({before:vd.nullable(),after:vd,delta:vd.nullable()}).strict()}).strict()}).strict()}).strict(),AI=R2.extend({diff:de()}).strict();Me("ok",[jI,AI]);const CI=1,NI=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),D2=d({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o()),qualifiedAliases:y(o()).optional()}).strict(),z2=d({provider:kt.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),I2=d({domain:o(),label:o(),aliases:y(o())}).strict(),O2=d({queryId:NI,queryText:o(),provenance:o().nullable()}).strict(),_I=O2.extend({queryClass:Gr.nullable()}).strict();function q2(e,n){const i=new Set;e.engines.forEach((h,f)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:be.custom,path:["engines",f,"provider"],message:`Duplicate engine provider "${h.provider}"`}),i.add(b)});const r=new Set;e.queries.forEach((h,f)=>{r.has(h.queryId)&&n.addIssue({code:be.custom,path:["queries",f,"queryId"],message:`Duplicate query id "${h.queryId}"`}),r.add(h.queryId)});const u=new Set;e.competitors?.forEach((h,f)=>{const b=h.domain;u.has(b)&&n.addIssue({code:be.custom,path:["competitors",f,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}d({capturedAt:o().datetime(),identity:D2,country:o(),language:o(),location:un.nullable(),engines:y(z2).min(1),competitors:y(I2).optional(),queries:y(O2)}).strict().superRefine(q2);d({schemaVersion:R(CI),capturedAt:o().datetime(),identity:D2,country:o(),language:o(),location:un.nullable(),engines:y(z2).min(1),competitors:y(I2).optional(),queries:y(_I)}).strict().superRefine(q2);const TI=S(["auto","simple","advanced"]),P2=S(["simple","advanced"]),M2=S(["branded","non-brand","unknown","all"]),EI=S(["branded","non-brand","unknown"]),Wg=S(["project","group","market","property"]),B2=Me("kind",[d({kind:R("all")}).strict(),d({kind:R("none")}).strict(),d({kind:R("exact"),value:o().trim().min(1)}).strict()]);function RI(e){if(e===void 0||e==="")return{kind:"all"};const n=e.normalize("NFKC").trim();return n===""?{kind:"all"}:n.toLocaleLowerCase("en")==="none"?{kind:"none"}:{kind:"exact",value:n}}const wt=o().trim().min(1),Pi=o().datetime(),DI={mode:TI.default("auto"),queryClass:M2.default("non-brand"),scope:Wg.default("project"),scopeKey:wt.optional(),marketKey:wt.optional(),provider:wt.optional(),model:wt.optional(),location:o().trim().min(1).optional(),from:Pi.optional(),to:Pi.optional(),revision:m().int().positive().optional(),runId:wt.optional(),queryKey:wt.optional(),queryId:wt.optional(),search:o().trim().min(1).optional(),cursor:wt.optional(),limit:m().int().min(1).max(100).default(50)},Id=d(DI).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:be.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:be.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:be.custom,path:["marketKey"],message:"marketKey is not valid for market scope"}),e.from!==void 0&&e.to!==void 0&&e.from>e.to&&n.addIssue({code:be.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:be.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});Id.transform(e=>({...e,location:RI(e.location)}));const Ra=d({numerator:m().int().nonnegative().nullable(),denominator:m().int().nonnegative().nullable(),rate:xe(m().min(0).max(1)).nullable(),reason:S(["no-population","incomplete","evidence-incomplete","identity-ambiguous","not-applicable"]).optional(),unattributed:m().int().positive().optional()}).strict().superRefine((e,n)=>{if(e.numerator===null||e.denominator===null||e.rate===null){(e.numerator!==null||e.denominator!==null||e.rate!==null||e.reason===void 0)&&n.addIssue({code:be.custom,message:"Unavailable rates require null values and a reason"}),e.unattributed!==void 0&&n.addIssue({code:be.custom,path:["unattributed"],message:"Only an available rate can leave answers out"});return}e.reason!==void 0&&n.addIssue({code:be.custom,message:"Available rates cannot carry a reason"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:be.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:be.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),L2=Me("kind",[d({kind:R("frozen-simple"),definitionRevision:de()}).strict(),d({kind:R("legacy-simple"),definitionRevision:de()}).strict(),d({kind:R("frozen-advanced"),definitionRevision:m().int().positive()}).strict(),d({kind:R("unsupported-advanced-v1"),definitionRevision:m().int().positive()}).strict()]),Od=d({id:wt,label:o().trim().min(1),kind:Wg,targetCount:m().int().nonnegative(),parentGroupIds:y(wt).optional(),marketKeys:y(wt).optional()}).strict(),zI=d({provider:wt,model:wt}).strict(),II=d({providers:y(wt),models:y(zI),locations:y(B2)}).strict(),OI=d({queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ra,citationCoverage:Ra,propertyReach:Ra,outcomes:d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict().superRefine((e,n)=>{e.bothSignals+e.mentionedOnly+e.citedOnly+e.neither+e.notMeasured!==e.total&&n.addIssue({code:be.custom,message:"Outcome partition must sum to total"})})}).strict(),qI=d({runId:wt,createdAt:Pi,revision:m().int().positive().nullable(),provenance:L2,queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ra,citationCoverage:Ra,continuity:d({state:S(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),PI=d({sourceSnapshotIds:y(wt).default([]),queryKey:wt,queryId:o().nullable(),query:o(),provider:wt,model:o().nullable(),location:o().nullable(),targetKeys:y(wt),marketKeys:y(wt).optional(),answerCount:m().int().nonnegative(),mentionCoverage:Ra,citationCoverage:Ra}).strict(),MI=d({answerId:wt,runId:wt,queryKey:wt,query:o(),provider:wt,model:o().nullable(),location:o().nullable(),targetKeys:y(wt),mentioned:_().nullable(),mentionUnavailableReason:R("identity-ambiguous").optional(),cited:_().nullable(),answerText:o().nullable(),createdAt:Pi,sources:y(o()),observedCompetitors:y(wt)}).strict(),BI=d({domain:wt,answerCount:m().int().nonnegative(),mentionCoverage:Ra,citationCoverage:Ra}).strict(),LI=d({name:wt,answerCount:m().int().nonnegative()}).strict(),VI=Me("state",[d({state:R("available")}).strict(),d({state:R("unavailable"),reason:R("frozen-competitor-identity-missing")}).strict()]),Ux=d({id:wt,label:o().trim().min(1),queryCount:m().int().nonnegative(),mentionCoverage:Ra,citationCoverage:Ra}).strict();function Gx(e){return d({items:y(e),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict()}const V2=S(["current-unavailable","previous-unavailable","not-applicable"]),VW=V2.enum,Wh=Me("state",[d({state:R("available"),previous:Ra,delta:xe(m().min(-1).max(1))}).strict(),d({state:R("unavailable"),reason:V2}).strict()]),Kx=d({id:wt,createdAt:Pi,completedAt:Pi.nullable()}).strict(),$2=S(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),$W=$2.enum,$I=Me("state",[d({state:R("available"),previousRun:Kx,mentionCoverage:Wh,citationCoverage:Wh,propertyReach:Wh}).strict(),d({state:R("unavailable"),reason:$2,previousRun:Kx.nullable()}).strict()]),U2=d({queryClass:EI,summary:OI,trend:y(qI),comparison:$I.optional(),queries:Gx(PI),evidence:Gx(MI),competitorAvailability:VI,competitors:y(BI),observedCompetitors:y(LI),breakdown:d({properties:y(Ux),groups:y(Ux)}).strict()}).strict(),UI=S(["measured","not-measured","partial"]),GI=d({state:UI,activeRevision:m().int().positive().nullable(),measuredRevision:m().int().positive().nullable(),awaitingSweep:_(),pendingAssignmentCount:m().int().nonnegative(),completedAt:Pi.nullable()}).strict(),G2=d({mode:P2,queryClass:M2,scope:Od,market:Od.optional(),provider:o().nullable(),model:o().nullable(),location:B2,time:d({from:Pi.nullable(),to:Pi.nullable()}).strict(),revision:m().int().positive().nullable(),run:d({id:o().nullable(),explicit:_()}).strict(),provenance:L2,measurement:GI,availability:Me("state",[d({state:R("available")}).strict(),d({state:R("unsupported"),reason:R("advanced-v1")}).strict()])}).strict();d({selection:G2,scopeOptions:y(Od),filterOptions:II,populations:y(U2).min(1)}).strict().superRefine((e,n)=>{const i=e.selection.queryClass==="all"?["branded","non-brand","unknown"]:[e.selection.queryClass],r=e.populations.map(u=>u.queryClass);(r.length!==i.length||r.some((u,h)=>u!==i[h]))&&n.addIssue({code:be.custom,path:["populations"],message:"Populations must exactly match the selected query class order"});for(const[u,h]of e.populations.entries()){const f=h.comparison;if(f?.state==="available")for(const b of["mentionCoverage","citationCoverage","propertyReach"]){const v=f[b];if(v.state!=="available")continue;const w=["populations",u,"comparison",b],k=h.summary[b].rate,j=v.previous.rate;k===null&&n.addIssue({code:be.custom,path:w,message:"Available changes require a current rate"}),j===null&&n.addIssue({code:be.custom,path:[...w,"previous","rate"],message:"Available changes require a previous rate"}),k!==null&&j!==null&&Math.abs(v.delta-(k-j))>Number.EPSILON&&n.addIssue({code:be.custom,path:[...w,"delta"],message:"Delta must equal current minus previous"}),e.selection.run.id===null&&n.addIssue({code:be.custom,path:w,message:"Available changes require a selected run"})}}});const K2=S(["retired-scope","retired-market"]),KI=K2.enum,HI=d({reason:K2,kind:Wg.exclude(["project"]),key:wt}).strict().superRefine((e,n)=>{e.reason===KI["retired-market"]&&e.kind!=="market"&&n.addIssue({code:be.custom,path:["kind"],message:"retired-market details must name a market"})});function UW(e){const n=HI.safeParse(e);return n.success?n.data:void 0}function QI(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const e0=o().regex(/^[a-f0-9]{64}$/),ua=o().trim().min(1).max(256),Ha=o().trim().min(1).max(4e3),t0=o().datetime(),lm=o().regex(/^qtw_[a-f0-9]{64}$/),H2=o().regex(/^qtp_[a-f0-9]{64}$/),n0=S(["simple","advanced"]),Q2=d({templateId:ua,templateVersion:o().trim().min(1).max(256),template:Ha,bindings:Qe(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:Ha}).strict(),FI=d({source:S(["manual","query-set","template","research","discovery"]),sourceId:ua.nullable(),capturedAt:o().datetime(),template:Q2.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:be.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:be.custom,path:["template"],message:"Only a template query may carry template provenance."})}),ZI=Me("source",[d({source:R("manual"),text:Ha}).strict(),d({source:R("template"),templateId:ua,templateVersion:o().trim().min(1).max(256),template:Ha}).strict(),d({source:R("research"),researchRunQueryId:ua}).strict(),d({source:R("discovery"),discoveryProbeId:ua}).strict()]),a0=d({targetKeys:y(fe).optional(),groupKeys:y(fe).optional(),marketKeys:y(fe).optional()}).strict(),YI=d({providers:y(kt).min(1),models:Qe(kt,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),XI=d({input:ZI,audience:a0.optional(),contexts:y(YI).min(1).optional(),queryClass:Gr.optional()}).strict(),JI=d({queryId:ua.optional(),queryText:Ha.optional(),audience:a0.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:be.custom,message:"Provide exactly one of queryId or queryText."})}),WI=d({queryId:ua,audience:a0.optional(),text:Ha.optional(),queryClass:Ze([Gr,de()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:be.custom,message:"Provide query text or a classification change."})}),eO=d({additions:y(XI),removals:y(JI),edits:y(WI).optional()}).strict(),tO=eO.extend({expectedWorkspaceVersion:lm}).strict();tO.extend({previewToken:H2,reviewedAt:t0}).strict();const nO=d({stableKey:fe,label:o().trim().min(1)}).strict(),aO=d({stableKey:fe,parentGroupKey:fe.optional(),label:o().trim().min(1),targetKeys:y(fe)}).strict(),iO=d({stableKey:fe,groupKey:fe.optional(),label:o().trim().min(1),usageEdges:y(Kg)}).strict(),sO=d({targetKey:fe,groupKeys:y(fe),marketKeys:y(fe),queryClass:Gr.nullable(),classificationSource:S(["frozen","server","operator"]),contexts:y(om).min(1)}).strict(),F2=d({queryId:ua,queryText:Ha,normalizedText:Ha,provenance:FI.nullable(),state:S(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(sO)}).strict(),oO=d({researchRunId:ua,researchRunQueryId:ua,queryText:Ha,createdAt:o().datetime()}).strict(),rO=d({discoverySessionId:ua,discoveryProbeId:ua,queryText:Ha,createdAt:o().datetime()}).strict();d({mode:n0,workspaceVersion:lm,active:d({revision:m().int().positive(),compiledChecksum:e0}).strict().nullable(),defaultContexts:y(om),targets:y(nO),groups:y(aO),markets:y(iO),scopeOptions:y(Od).optional(),tracked:y(F2),savedSources:d({research:y(oO),discovery:y(rO)}).strict()}).strict();const id=d({queryId:ua,queryText:Ha,assignmentCount:m().int().nonnegative()}).strict(),Z2=d({added:y(id),removed:y(id),reused:y(id),unchanged:y(id),noOp:_()}).strict(),Y2=d({existingNodes:m().int().nonnegative(),existingProviderCalls:m().int().nonnegative(),nextSweepNodes:m().int().nonnegative(),nextSweepProviderCalls:m().int().nonnegative(),addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),removedNodes:m().int().nonnegative(),removedProviderCalls:m().int().nonnegative()}).strict();d({mode:n0,workspaceVersion:lm,previewToken:H2,reviewedAt:t0,active:d({revision:m().int().positive(),compiledChecksum:e0}).strict().nullable(),tracked:y(F2),diff:Z2,workload:Y2}).strict();d({committed:_(),mode:n0,workspaceVersion:lm,reviewedAt:t0,active:d({revision:m().int().positive(),compiledChecksum:e0}).strict().nullable(),diff:Z2,workload:Y2}).strict();const cm=S(["complete","partial","failed","unsupported"]);cm.enum;S(["proposed","alias","shared","unmatched","excluded"]);S(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const lO=S(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),cO=d({kind:S(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),Hx=d({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),i0=d({primary:Hx,aliases:y(Hx).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(cO).optional()}).strict();d({sitemapUrl:o().url().refine(e=>{try{const n=new URL(e).protocol;return n==="http:"||n==="https:"}catch{return!1}},"Sitemap URL must use http or https"),rule:i0,maxUrls:m().int().positive().max(1e4).optional()}).strict();const ef=d({url:o(),canonicalUrl:o().nullable(),classification:S(["shared","unmatched","excluded"]),reason:S(["excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"])}).strict().superRefine((e,n)=>{({shared:["shared-path"],unmatched:["unmatched-path","alias-without-primary","unsupported-slug"],excluded:["excluded-slug"]})[e.classification].includes(e.reason)||n.addIssue({code:"custom",message:"Discovery classification and reason do not match"})}),uO=d({classification:R("proposed"),reason:R("primary-match"),stableKey:hn,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),dO=d({classification:R("alias"),reason:R("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:hn}).strict(),mO=d({kind:lO,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();d({proposed:y(uO),aliases:y(dO),shared:y(ef),unmatched:y(ef),excluded:y(ef),diagnostics:y(mO)}).strict().superRefine((e,n)=>{const i=[["shared",["shared"]],["unmatched",["unmatched"]],["excluded",["excluded"]]];for(const[r,u]of i)for(const h of e[r])u.includes(h.classification)||n.addIssue({code:"custom",path:[r],message:"Discovery item is in the wrong result bucket"})});const s0=S(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),X2=S(["baseline","target"]),J2=S(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),xo=Ze([d({numerator:m().int().nonnegative(),denominator:m().int().positive(),rate:xe(m().min(0).max(1)),unattributed:m().int().positive().optional()}).strict(),d({numerator:de(),denominator:de(),rate:de(),reason:J2}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"})}),pO=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),hO=d({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:pO,context:un.nullable(),requestedModel:o().trim().min(1).optional()}).strict();d({schemaVersion:R(1),expectedSlots:y(hO)}).strict().superRefine((e,n)=>{const i=new Set;for(const[r,u]of e.expectedSlots.entries()){const h=[u.executionId,u.provider].join("\0");i.has(h)&&n.addIssue({code:"custom",path:["expectedSlots",r],message:"Duplicate expected provider slot"}),i.add(h)}});const um=d({executed:m().int().nonnegative(),expected:m().int().nonnegative(),complete:_(),sourceComplete:_(),sourceCompleteObservations:m().int().nonnegative(),answerComplete:_()}).strict(),Qx=Ze([d({domain:o().trim().min(1),own:_(),presentIn:m().int().nonnegative(),of:m().int().positive()}).strict(),d({domain:o().trim().min(1),own:_(),presentIn:de(),of:de(),reason:J2}).strict()]),fO=d({domains:y(Qx),providers:y(d({provider:kt,domains:y(Qx)}).strict())}).strict(),gO=d({provider:kt,completeness:um,answerCoverage:xo}).strict(),yO=d({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:um,answerCoverage:xo,targetCoverage:xo,sov:fO,providers:y(gO)}).strict(),bO=d({provider:kt,completeness:um,citationCoverage:xo,mentionCoverage:xo}).strict(),vO=d({id:o().trim().min(1),label:o().trim().min(1),completeness:um,citationCoverage:xo,mentionCoverage:xo,providers:y(bO)}).strict(),W2=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:X2,provider:kt,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:_(),historical:_(),evidenceComplete:_(),classification:s0,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),xO=d({sourceUrl:o(),normalizedUrl:o().nullable(),classification:s0,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),wO=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:X2,provider:kt,queryText:o().trim().min(1),location:o().nullable(),queryClass:Ze([S(["branded","non-brand"]),de()]),mentioned:_().nullable(),cited:_().nullable(),sources:y(xO),sourceCount:m().int().nonnegative(),sourcesTruncated:_(),bridged:_(),historical:_(),evidenceComplete:_()}).strict(),kO=d({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),SO=d({id:o().trim().min(1),status:S(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();d({revision:m().int().positive(),run:SO.nullable(),groups:y(yO),targets:y(vO),evidence:y(W2),diagnostics:kO}).strict();d({property:d({targetKey:fe,label:o().min(1)}).strict(),queryClass:Ia,measurement:d({state:Fg,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:zr(W2).optional(),answers:zr(wO).optional()}).strict().refine(e=>e.evidence===void 0!=(e.answers===void 0),{message:"Exactly one of evidence or answers is present, naming the shape that was served."});const ma=S(["queued","running","completed","partial","failed","cancelled"]),tn=ma.enum,o0=S(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync","google-ads-sync","gtm-sync"]),ze=o0.enum;d({kind:o0.optional(),status:ma.optional()});const r0=S(["manual","scheduled","config-apply","backfill","probe"]),ks=r0.enum,Mi=S(["cited","not-cited"]),qd=Mi.enum,Pd=S(["visible","not-visible"]);Pd.enum;const wc=S(["mentioned","not-mentioned"]);wc.enum;const ej=S(["new","cited","lost","emerging","not-cited"]);ej.enum;const jO=S(["new","mentioned","lost","emerging","not-mentioned"]);jO.enum;const AO=S([ks.manual,ks.probe]);d({kind:R(ze["answer-visibility"]).optional(),trigger:AO.optional(),providers:y(kt).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:xI.optional(),location:o().min(1).optional(),allLocations:_().optional(),noLocation:_().optional(),dispatchMode:Tc.optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const CO=d({message:o(),raw:kn().optional()}),NO=d({message:o().optional(),providers:Qe(o(),CO).optional()}),_O=Qe(o(),R(Tc.enum.batch)),TO=d({id:o(),provider:o(),model:o(),status:ZS,requestCount:m().int().nonnegative(),ingestedCount:m().int().nonnegative(),recordedCount:m().int().nonnegative(),submittedAt:o().nullable(),endedAt:o().nullable(),deadlineAt:o(),error:o().nullable()}),EO=d({provider:o(),pricingTier:Vg,answers:m().int().nonnegative(),inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative(),estimatedCostMicros:m().int().nonnegative().nullable(),unpricedAnswers:m().int().nonnegative()}),RO=d({id:o(),projectId:o(),kind:o0,status:ma,trigger:r0.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:Qe(o(),kn()).nullable().optional(),measurementScope:wI.nullable().optional(),measurementExecutionIdentity:_2.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:NO.nullable().optional(),queryBasketRevision:m().int().nullable().optional(),dispatchModes:_O.optional(),createdAt:o()});function l0(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const dm=d({uri:o(),title:o()}),DO=d({status:S(["applied","ignored","browser-implicit","unknown"]),resolved:un.nullable().optional()}),tj=d({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:kt,citationState:Mi,answerMentioned:_().optional(),visibilityState:Pd.optional(),mentionState:wc.optional(),transition:ej.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:Ze([cm,de()]).default(null),sourceCount:m().int().nonnegative().nullable().default(null),resolvedCount:m().int().nonnegative().nullable().default(null),captureVersion:m().int().positive().nullable().default(null),retrievalStatus:Ze([zg,de()]).default(null),retrievalContract:Ze([Ig,de()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(dm).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:un.nullable().optional(),supportedContext:DO.nullable().optional(),dispatchMode:Ze([Tc,de()]).optional(),stopReason:o().nullable().optional(),usage:yz.nullable().optional(),createdAt:o()});d({snapshots:y(tj),total:m().int().nonnegative()});const zO=d({queryId:o().nullable(),query:o().nullable(),run1State:Mi.nullable(),run2State:Mi.nullable(),run1AnswerMentioned:_().nullable(),run2AnswerMentioned:_().nullable(),run1VisibilityState:Pd.nullable(),run2VisibilityState:Pd.nullable(),run1MentionState:wc.nullable().optional(),run2MentionState:wc.nullable().optional(),changed:_(),visibilityChanged:_()});d({run1:o(),run2:o(),diff:y(zO)});const IO=RO.extend({snapshots:y(tj).optional(),providerBatches:y(TO).optional(),usage:y(EO).optional()}),OO=d({totalRuns:m().int().nonnegative(),run:IO.nullable()});d({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:kn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const c0=S(["queued","running","completed","partial","failed"]);c0.enum;const nj=S(["not_answer_visibility","not_plan_run","scoped_or_probe","status_not_partial","plan_revision_changed","manifest_unreadable","model_not_frozen","model_retired","provider_not_in_plan","provider_nothing_missing","provider_not_configured","too_old","superseded","quota_insufficient"]);nj.enum;d({providers:y(kt).min(1).optional(),dryRun:_().optional()}).strict();const aj=d({id:o(),runId:o(),projectId:o(),status:c0,providers:y(o()),expected:m().int().nonnegative(),filled:m().int().nonnegative(),error:o().nullable(),createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable()}),qO=d({runId:o(),status:ma,planned:_(),readable:_(),expected:m().int().nonnegative(),executed:m().int().nonnegative(),missing:m().int().nonnegative(),missingByProvider:Qe(o(),m().int().nonnegative()),fillable:_(),refusal:d({code:nj,message:o()}).nullable(),latestFill:aj.nullable()}),PO=S(["queued","already-complete","dry-run"]);d({outcome:PO,completeness:qO,fill:aj.nullable()});const Qa=o().trim().min(1),Ao=o().trim().min(1),MO=o().trim().min(1),Pe=m().int().nonnegative(),Ic=d({state:Fg,displayedRunId:Qa.nullable(),planRevision:m().int().positive(),completedAt:o().datetime().nullable()}).strict(),Co=d({targetKey:fe,label:Ao}).strict(),da={runId:Qa.optional(),provider:kt.optional(),location:MO.optional()},Ir=o().trim().min(1),tf=5,BO=10,LO=10,VO="tied Properties are ordered by name, not ranked";d({runId:da.runId,groupKey:fe.optional(),queryClass:Ia.default("non-brand"),provider:da.provider,location:da.location,limit:m().int().positive().max(50).optional(),includeNestedMarkets:_().optional()}).strict();const Fx=Lf,ij={metro:Fx.nullable(),otherMetros:y(Fx).min(1).optional(),submarkets:y(Ao),queries:Pe},sj=d({name:Ir,answers:Pe}).strict(),$O=d({name:Ir,occurrences:Pe}).strict(),u0=d({domain:o().trim().min(1),answers:Pe}).strict(),UO=Co.extend({...ij,mentionCoverage:vn,citationCoverage:vn,flags:Pe,namedInsteadInAnswerText:y(sj).max(tf),namedInsteadInAnswerTextTotal:Pe,citedDomains:y(u0).max(tf),citedDomainsTotal:Pe,recommendedInstead:y($O).max(tf).meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerText, which carries the same names in the same order. occurrences counts answers, exactly as answers does there."}),recommendedInsteadTotal:Pe.meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerTextTotal, which it always equals."}),recommendedInsteadTruncated:_().meta({deprecated:!0,description:"Deprecated: true when namedInsteadInAnswerTextTotal exceeds the names returned in namedInsteadInAnswerText."})}).strict().superRefine((e,n)=>{e.namedInsteadInAnswerText.length>e.namedInsteadInAnswerTextTotal&&n.addIssue({code:be.custom,path:["namedInsteadInAnswerTextTotal"],message:"Total cannot be smaller than the returned names"}),e.citedDomains.length>e.citedDomainsTotal&&n.addIssue({code:be.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),e.recommendedInsteadTotal!==e.namedInsteadInAnswerTextTotal&&n.addIssue({code:be.custom,path:["recommendedInsteadTotal"],message:"The deprecated total must equal namedInsteadInAnswerTextTotal"}),e.recommendedInstead.length>e.recommendedInsteadTotal&&n.addIssue({code:be.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:be.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),GO=d({metro:Ao.nullable(),count:m().int().positive()}).strict(),KO=d({count:m().int().min(2),mentionRate:xe(),citationRate:xe(),note:R(VO),byMetro:y(GO).optional(),namedInstead:y(sj).max(LO).optional(),namedInsteadTotal:Pe.optional()}).strict().superRefine((e,n)=>{e.namedInstead!==void 0&&(e.namedInsteadTotal===void 0||e.namedInstead.length>e.namedInsteadTotal)&&n.addIssue({code:be.custom,path:["namedInsteadTotal"],message:"Total cannot be smaller than the returned names"})}),HO=d({properties:Pe,answers:Pe,domains:y(u0).max(BO),domainTotal:Pe}).strict().superRefine((e,n)=>{e.domains.length>e.domainTotal&&n.addIssue({code:be.custom,path:["domainTotal"],message:"Total cannot be smaller than the returned domains"}),e.domains.some(i=>i.answers>e.answers)&&n.addIssue({code:be.custom,path:["domains"],message:"A domain cannot be cited by more answers than the basis holds"})}),QO=d({groupKey:fe,label:Ao,parentGroupKey:fe.nullable(),childMarketCount:Pe,propertyCount:Pe,propertiesMentioned:vc,mentionCoverage:vn,citationCoverage:vn}).strict(),Zx=Co.extend({...ij,mentionCoverage:vn.options[0],citationCoverage:vn}).strict(),FO=d({eligiblePropertyCount:Pe,strongest:y(Zx).max(50),weakest:y(Zx).max(50),excluded:y(Co.extend({reason:Rc}).strict()),truncated:_()}).strict();d({portfolio:d({groupKey:fe.nullable(),label:Ao.nullable(),measurementScope:Ze([S(["full","spot_check"]),de()])}).strict(),measurement:Ic,queryClass:Ia,engines:y(kt),metrics:d({propertiesMentioned:vc,mentionCoverage:vn,citationCoverage:vn}).strict(),weakestProperties:y(UO),tiedAtWeakest:KO.nullable(),weakestAnswerSources:HO.nullable(),mentionRanking:FO,markets:y(QO),totalMarkets:Pe,marketsTruncated:_(),totalProperties:Pe,truncated:_()}).strict().superRefine((e,n)=>{e.marketsTruncated!==e.markets.length<e.totalMarkets&&n.addIssue({code:be.custom,path:["marketsTruncated"],message:"Market truncation must agree with the market total"})});d({targetKey:fe,runId:da.runId,provider:da.provider,location:da.location,queryClass:Ia.optional(),offset:m().int().nonnegative().optional(),limit:m().int().positive().max(100).optional()}).strict();S(["answered","missing"]);const Uf={queryId:Qa,text:Ao,class:Gg,provider:kt,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},ZO=Me("status",[d({resultId:Qa,...Uf,status:R("answered"),mentioned:_().nullable(),cited:_().nullable(),recommendedInstead:y(Ir),answerExcerpt:o().nullable()}).strict(),d({resultId:de(),...Uf,status:R("missing"),mentioned:de(),cited:de(),recommendedInstead:y(Ir).length(0),answerExcerpt:de()}).strict()]);d({property:Co,measurement:Ic,queryClass:Ia,questions:y(ZO),total:Pe,truncated:_()}).strict();d({targetKey:fe,resultId:Qa}).strict();const YO=d({url:Qa,classification:s0,matchedTargetKeys:y(fe),assigned:_(),historical:_(),evidenceComplete:_()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:be.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});d({property:Co,measurement:Ic,question:d({resultId:Qa,...Uf,status:R("answered")}).strict(),mentioned:_().nullable(),cited:_().nullable(),recommendedInstead:y(Ir),answer:o().nullable(),sources:y(YO),captureStatus:Ze([cm,de()]),retrievalStatus:Ze([zg,de()]),retrievalContract:Ze([Ig,de()])}).strict();d({targetKey:fe,runId:da.runId,provider:da.provider,location:da.location,queryClass:Ia.optional(),limit:m().int().positive().max(50).optional()}).strict();const XO=Me("state",[d({state:R("available"),answeredResults:Pe,targetMissResults:Pe,recommendationOccurrences:Pe}).strict(),d({state:R("unavailable"),reason:Rc}).strict()]),JO=d({name:Ir,occurrences:Pe,providers:y(kt).max(5),providerTotal:Pe,providersTruncated:_(),questions:y(Ao).max(5),questionTotal:Pe,questionsTruncated:_()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:be.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:be.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:be.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})}),WO=10;d({property:Co,measurement:Ic,queryClass:Ia,basis:XO,competitors:y(JO),total:Pe,truncated:_(),citedDomains:y(u0).max(WO).optional(),citedDomainsTotal:Pe.optional(),citedDomainsAnswers:Pe.optional()}).strict().superRefine((e,n)=>{const{citedDomains:i,citedDomainsTotal:r,citedDomainsAnswers:u}=e;if(i!==void 0){if(r===void 0||u===void 0){n.addIssue({code:be.custom,path:["citedDomains"],message:"Cited domains require their total and answer basis"});return}i.length>r&&n.addIssue({code:be.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),i.some(h=>h.answers>u)&&n.addIssue({code:be.custom,path:["citedDomains"],message:"A domain cannot be cited by more answers than the basis holds"})}});const oj=S(["magnitude","label"]),eq=2;d({runId:da.runId,scope:Qg.default("all"),groupKey:fe.optional(),targetKey:fe.optional(),queryClass:Ia.default("all"),provider:da.provider,location:da.location,limit:m().int().positive().max(50).optional(),sort:oj.optional()}).strict().superRefine((e,n)=>{e.scope==="all"&&(e.groupKey!==void 0||e.targetKey!==void 0)&&n.addIssue({code:be.custom,path:["scope"],message:"All scope cannot name a group or Property"}),e.scope==="group"&&(e.groupKey===void 0||e.targetKey!==void 0)&&n.addIssue({code:be.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:be.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const rj=S(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),lj=Ic.extend({executionIdentity:Qa.nullable(),measurementScope:Ze([S(["full","spot_check"]),de()])}).strict();function cj(e,n){if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:be.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:be.custom,path:["delta"],message:"Delta must equal current minus previous"})}const uj=d({state:R("unavailable"),reason:Rc}).strict(),Md=Me("state",[d({state:R("available"),previous:vn,current:vn,delta:xe()}).strict().superRefine(cj),uj]),tq=Me("state",[d({state:R("available"),previous:vc,current:vc,delta:m().int()}).strict().superRefine(cj),uj]),nf=d({propertiesMentioned:tq,mentionCoverage:Md,citationCoverage:Md}).strict(),nq=d({improved:Pe,declined:Pe,mixed:Pe,withinNoise:Pe,unchanged:Pe,notComparable:Pe,total:Pe,noiseAnswers:R(eq)}).strict().superRefine((e,n)=>{e.improved+e.declined+e.mixed+e.withinNoise+e.unchanged+e.notComparable!==e.total&&n.addIssue({code:be.custom,path:["total"],message:"Move buckets must sum to total"})}),aq=Co.extend({mentionCoverage:Md,citationCoverage:Md,flags:Pe,mentionAnswersDelta:m().int().nullable().optional(),citationAnswersDelta:m().int().nullable().optional(),denominatorChanged:_().optional(),withinNoise:_().optional()}).strict();d({current:lj,queryClass:Ia.optional(),comparison:Me("state",[d({state:R("available"),previous:d({displayedRunId:Qa,planRevision:m().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:Qa,measurementScope:S(["full","spot_check"])}).strict(),metrics:nf,metricsByClass:d({branded:nf,nonBrand:nf}).strict().optional(),sort:oj.optional(),distribution:nq.optional(),changedProperties:y(aq),totalProperties:Pe,truncated:_()}).strict(),d({state:R("unavailable"),reason:rj}).strict()])}).strict().superRefine((e,n)=>{if(e.comparison.state!=="available")return;const{distribution:i}=e.comparison;if(i!==void 0&&i.total-i.unchanged!==e.comparison.totalProperties&&n.addIssue({code:be.custom,path:["comparison","distribution"],message:"Changed Properties must equal the distribution total less unchanged"}),e.current.displayedRunId===null||e.current.executionIdentity===null){n.addIssue({code:be.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:be.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:be.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})});d({runId:da.runId}).strict();const iq=S(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),Oc=d({state:R("unavailable"),reason:iq}).strict(),sq=d({state:R("available"),expected:Pe,executed:Pe,answered:Pe,missing:Pe}).strict(),oq=Me("state",[sq,Oc]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:be.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:be.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),rq=d({state:R("available"),complete:Pe,partial:Pe,failed:Pe,unsupported:Pe,notRecorded:Pe}).strict(),lq=Me("state",[rq,Oc]),cq=d({state:R("available"),used:Pe,notUsed:Pe,unknown:Pe,notApplicable:Pe,notRecorded:Pe}).strict(),uq=Me("state",[cq,Oc]),dq=d({state:R("available"),expectedQuestions:Pe,answeredQuestions:Pe,missingQuestions:Pe}).strict(),mq=Me("state",[dq,Oc]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:be.custom,message:"Expected questions must equal answered plus missing"})}),Yx=Me("state",[d({state:R("available"),answered:Pe,unattributed:Pe}).strict(),Oc]).superRefine((e,n)=>{e.state==="available"&&e.unattributed>e.answered&&n.addIssue({code:be.custom,path:["unattributed"],message:"Unattributed answers cannot exceed answered"})}),pq=d({status:c0,providers:y(o()),expected:Pe,filled:Pe,createdAt:o(),finishedAt:o().nullable()}).strict();d({run:lj,completeness:oq,capture:lq,retrieval:uq,population:mq,comparison:Me("state",[d({state:R("available"),previousDisplayedRunId:Qa}).strict(),d({state:R("unavailable"),reason:rj}).strict()]),unattributedByClass:d({branded:Yx,nonBrand:Yx}).strict().optional(),latestFill:pq.nullable().optional()}).strict().superRefine((e,n)=>{if(e.completeness.state!=="available")return;const i=e.completeness.executed;e.capture.state==="available"&&e.capture.complete+e.capture.partial+e.capture.failed+e.capture.unsupported+e.capture.notRecorded!==i&&n.addIssue({code:be.custom,path:["capture"],message:"Capture counts must total executed snapshots"}),e.retrieval.state==="available"&&e.retrieval.used+e.retrieval.notUsed+e.retrieval.unknown+e.retrieval.notApplicable+e.retrieval.notRecorded!==i&&n.addIssue({code:be.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const Or=o().regex(/^[a-f0-9]{64}$/),Fa=o().trim().min(1).max(256),ri=m().int().positive(),Xx=d({kind:S(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),hq=S(["proposed","included","excluded"]),fq=S(["manual","sitemap"]),d0=d({stableKey:fe,label:o().trim().min(1),status:hq,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:fq,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),mm=d({providers:y(kt).optional(),models:Qe(kt,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),gq=S(["branded","non-brand","unclassified"]),yq=S(["rule","operator"]),dj=d({targetKey:fe,queryId:Fa,contextOverride:mm.optional(),executionContexts:y(om.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:f2.optional(),queryClass:gq,classificationSource:yq}).strict().superRefine((e,n)=>{e.contextOverride!==void 0&&e.executionContexts!==void 0&&n.addIssue({code:"custom",path:["executionContexts"],message:"Use either frozen execution contexts or a context override, not both."})}),pm=h2,mj=d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.optional(),targetKeys:y(fe),competitors:y(pm)}).strict(),bq=d({sitemapUrl:o().url(),rule:i0,exclusions:y(o().trim().min(1)),inputChecksum:Or,reviewedAt:o().datetime().optional()}).strict(),vq=d({providers:y(kt),models:Qe(kt,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),pj=g2,xq=d({defaultContext:vq,targets:y(d0),assignments:y(dj),groups:y(mj),reportingScopes:y(pj).optional(),discovery:bq.optional()}).strict(),wq=d({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:R(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:ri.nullable(),authoring:xq,createdBy:Xx,updatedBy:Xx,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),m0=d({targets:m().int().nonnegative(),includedTargets:m().int().nonnegative(),assignments:m().int().nonnegative(),unclassifiedAssignments:m().int().nonnegative(),groups:m().int().nonnegative(),competitors:m().int().nonnegative()}).strict(),kq=d({code:o().trim().min(1),message:o().trim().min(1),path:y(Ze([o(),m().int()]))}).strict(),hj=d({etag:o().trim().min(1),changed:_(),warnings:y(kq),counts:m0}).strict();d({draft:wq.nullable(),etag:o().trim().min(1).nullable()}).strict();zr(d0);zr(dj);zr(mj);d({search:o().optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(Hg).optional()}).strict();d({expectedActiveRevision:ri.nullable()}).strict();d({sitemapUrl:o().url(),rule:i0,exclusions:y(o().trim().min(1)).optional()}).strict();const Sq=d({discoveryIdentity:o().trim().min(1),action:S(["create","rebind","ignore"]),targetKey:fe.optional(),label:o().trim().min(1).optional()}).strict();d({selections:y(Sq),selectedTargetKeys:y(fe).optional()}).strict().superRefine((e,n)=>{e.selections.length===0&&e.selectedTargetKeys===void 0&&n.addIssue({code:"custom",message:"A proposal or reviewed Property selection is required."}),e.selectedTargetKeys&&new Set(e.selectedTargetKeys).size!==e.selectedTargetKeys.length&&n.addIssue({code:"custom",path:["selectedTargetKeys"],message:"Property keys must be unique."})});d({target:d0}).strict();d({targetKey:fe,label:o().trim().min(1)}).strict();d({targetKey:fe,mergedKeys:y(fe).min(1)}).strict();d({targetKey:fe,cleanup:R("assignments-and-group-memberships").optional()}).strict();d({targetKey:fe,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const fj={targetKeys:y(fe).optional(),groupKeys:y(fe).optional()};function gj(e,n){(e.targetKeys?.length??0)===0&&(e.groupKeys?.length??0)===0&&n.addIssue({code:"custom",message:"At least one Target or group selector is required."})}d(fj).strict().superRefine(gj);const jq=d({...fj,queryIds:y(Fa).min(1),contextOverride:mm.optional()}).strict().superRefine(gj);Ze([d({targetKey:fe,queryIds:y(Fa).min(1),contextOverride:mm.optional()}).strict(),jq]);const Aq=d({groupKey:fe,label:o().trim().min(1),memberCount:m().int().positive()}).strict();d({draftEtag:o().trim().min(1),groups:y(Aq),resolvedTargetKeys:y(fe),overlapCount:m().int().nonnegative(),assignments:d({requested:m().int().nonnegative(),added:m().int().nonnegative(),alreadyPresent:m().int().nonnegative()}).strict(),execution:d({addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),fullRunNodes:m().int().nonnegative(),fullRunProviderCalls:m().int().nonnegative()}).strict()}).strict();d({pairs:y(d({targetKey:fe,queryId:Fa}).strict()).min(1),contextOverride:mm.optional()}).strict();Ze([d({targetKey:fe,queryId:Fa}).strict(),d({targetKeys:y(fe).min(1),queryId:Fa}).strict()]);d({targetKey:fe}).strict();d({queryClass:Gg,assignments:y(d({targetKey:fe,queryId:Fa}).strict()).min(1)}).strict();d({group:d({stableKey:fe,label:o().trim().min(1),parentGroupKey:fe.nullable().optional(),targetKeys:y(fe),competitors:y(pm).optional()}).strict()}).strict();d({market:pj}).strict();d({groupKey:fe}).strict();d({groupKey:fe,competitor:pm}).strict();d({expectedActiveRevision:ri,groupKey:fe,domain:o().trim().min(1).refine(e=>Ec(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();hj.extend({groupKey:fe,competitor:pm,draftCreated:_(),published:d({revision:ri,competitorsChanged:R(!1)}).strict()}).strict();d({groupKey:fe,competitorKey:fe}).strict();const Bd=d({ruleId:o().trim().min(1),severity:S(["fail","warn"]),message:o().trim().min(1),path:y(Ze([o(),m().int()]))}).strict();Me("ok",[d({ok:R(!0),compiledChecksum:Or,checks:y(Bd),counts:m0,plan:rm}).strict(),d({ok:R(!1),compiledChecksum:de(),checks:y(Bd).min(1)}).strict()]);const Jx=d({added:y(o().trim().min(1)),removed:y(o().trim().min(1)),changed:y(o().trim().min(1)),unchanged:y(o().trim().min(1))}).strict(),Cq=d({activeRevision:ri.nullable(),targets:Jx,groups:Jx,assignments:d({added:m().int().nonnegative(),removed:m().int().nonnegative(),reclassified:m().int().nonnegative()}).strict(),execution:d({addedNodeKeys:y(o().trim().min(1)),removedNodeKeys:y(o().trim().min(1))}).strict()}).strict();Me("ok",[d({ok:R(!0),compiledChecksum:Or,checks:y(Bd),counts:m0,plan:rm,diff:Cq}).strict(),d({ok:R(!1),compiledChecksum:de(),checks:y(Bd).min(1),diff:de()}).strict()]);d({expectedActiveRevision:ri.nullable(),expectedCompiledChecksum:Or}).strict();d({published:_(),active:d({revision:ri,checksum:Or,compiledChecksum:Or,createdAt:o().datetime(),plan:rm}).strict()}).strict();d({discarded:_()}).strict();d({expectedActiveRevision:ri}).strict();d({deactivated:_(),previousRevision:ri.nullable()}).strict();const Nq=S(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),_q=S(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),Tq=S(["simple","draft-only","active-v1","active-v2"]);d({state:Nq,nextAction:_q,mode:Tq,answerVisibilityProviderReady:_(),activeRevision:ri.nullable(),activeSchemaVersion:Ze([R(1),R(2)]).nullable(),draft:d({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const yj=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),itemCount:m().int().nonnegative(),createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),Eq=d({queryId:Fa,queryText:o().min(1),position:m().int().nonnegative()}).strict();yj.extend({items:y(Eq)}).strict();d({querySets:y(yj)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Fa)}).strict();const Rq=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),pattern:o().trim().min(1),variables:y(o().trim().min(1)),createdAt:o().datetime(),updatedAt:o().datetime()}).strict();d({templates:y(Rq)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),pattern:o().trim().min(1),variables:y(o().trim().min(1))}).strict();d({bindings:y(Qe(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();d({created:y(d({queryId:Fa,queryText:o().min(1)}).strict()),existing:y(d({queryId:Fa,queryText:o().min(1)}).strict())}).strict();const Ld=o().regex(/^[a-f0-9]{64}$/),hm=m().int().positive();d({stableKey:fe,kind:S(["target","group"]),retiredAt:o().datetime().nullable()}).strict();d({csv:o()}).strict();S(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const Dq=S(["column-count","missing-property","missing-group","invalid-url","property-not-found","property-label-ambiguous","url-not-exact-match","target-proposed","target-excluded","group-label-ambiguous","group-key-conflict"]),Gf=d({dataRow:hm,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),nc=Gf.extend({reason:Dq}),zq=d({source:S(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:fe,kind:S(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),Iq=d({proposedGroupKey:fe,evidence:y(zq).min(1)}).strict(),Oq=Me("status",[Gf.extend({status:R("matched"),targetKey:fe,groupKey:fe}).strict(),nc.extend({status:R("ambiguous"),candidateTargetKeys:y(fe).min(1).optional(),candidateGroupKeys:y(fe).min(1).optional()}).strict(),nc.extend({status:R("unmatched")}).strict(),nc.extend({status:R("invalid"),groupKeyConflict:Iq.optional()}).strict(),Gf.extend({status:R("duplicate"),duplicateOfRow:hm,targetKey:fe,groupKey:fe}).strict(),nc.extend({status:R("proposed"),targetKey:fe}).strict(),nc.extend({status:R("excluded"),targetKey:fe}).strict()]),qq=d({normalizedGroupLabel:o(),groupKey:fe,label:o().trim().min(1),action:S(["create","extend"]),matchedRows:y(hm),targetKeys:y(fe),addedTargetKeys:y(fe),unchangedTargetKeys:y(fe)}).strict(),Pq=d({dataRows:m().int().nonnegative(),matchedRows:m().int().nonnegative(),ambiguousRows:m().int().nonnegative(),unmatchedRows:m().int().nonnegative(),invalidRows:m().int().nonnegative(),duplicateRows:m().int().nonnegative(),proposedRows:m().int().nonnegative(),excludedRows:m().int().nonnegative(),needsAttention:m().int().nonnegative(),groupsReady:m().int().nonnegative(),groupsToCreate:m().int().nonnegative(),groupsToExtend:m().int().nonnegative(),membershipsReady:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();d({draftEtag:o().trim().min(1),sourceChecksum:Ld,previewChecksum:Ld,rows:y(Oq),groupChanges:y(qq),counts:Pq}).strict();d({csv:o(),sourceChecksum:Ld,previewChecksum:Ld,acceptedRows:y(hm).min(1)}).strict().superRefine((e,n)=>{new Set(e.acceptedRows).size!==e.acceptedRows.length&&n.addIssue({code:"custom",path:["acceptedRows"],message:"Accepted CSV data rows must be unique."})});hj.extend({appliedRows:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();function bj(e,n){return Number((n===St.percent?e:e*100).toFixed(6))}function vj(e){return Math.round(Number((e*10).toFixed(4)))/10}function cn(e,n=St.fraction){if(e==null||!Number.isFinite(e))return"—";const i=bj(e,n);if(i===0)return"0%";const r=i<0?"-":"",u=Math.abs(i);if(u===100)return`${r}100%`;const h=vj(u);return h===0?`${r}<0.1%`:h===100&&u<100?`${r}>99.9%`:`${r}${h.toFixed(1)}%`}function Ln(e){return Number.isFinite(e)?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString("en-US"):"—"}function vo(e){if(!e)return"—";try{const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),i={month:"short",day:"numeric",year:"numeric"},r=n&&n[1]&&n[2]&&n[3]?new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]))):new Date(e);return Number.isNaN(r.getTime())?e:r.toLocaleDateString("en-US",n?{...i,timeZone:"UTC"}:i)}catch{return e}}function GW(e,n,i=800){const r=[];if(!/^\d{4}-\d{2}-\d{2}$/.test(e)||!/^\d{4}-\d{2}-\d{2}$/.test(n))return r;for(let u=e;u<=n&&(r.push(u),!(r.length>=i));u=Mq(u,1));return r}function Mq(e,n){if(!Number.isFinite(n))return e;const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!i?.[1]||!i[2]||!i[3])return e;const r=new Date(Date.UTC(Number(i[1]),Number(i[2])-1,Number(i[3])+Math.trunc(n)));if(Number.isNaN(r.getTime()))return e;const u=r.getUTCFullYear(),h=String(r.getUTCMonth()+1).padStart(2,"0"),f=String(r.getUTCDate()).padStart(2,"0");return`${u}-${h}-${f}`}function Bq(e,n){return!e&&!n?"":e&&n?`${vo(e)} → ${vo(n)}`:vo(e||n)}function Lq(e,n){if(!Number.isFinite(e)||!Number.isFinite(n)||n<=0)return null;const i=(e-n)/n;return Number.isFinite(i)?i:null}function KW(e,n){const i=Lq(e,n);return i===null?null:sz(i*100,St.percent)}function p0(e,n=St.fraction){return`${e>0?"+":""}${cn(e,n)}`}function HW(e){return e===null||e===0?"neutral":e>0?"positive":"negative"}function QW(e,n,i="vs prior 7 days"){return e.deltaPct===null?e.prior===0?"First baseline week":"":e.deltaPct>0?`Up ${cn(e.deltaPct,St.percent)} ${i} (${Ln(e.prior)} ${n})`:e.deltaPct<0?`Down ${cn(Math.abs(e.deltaPct),St.percent)} ${i} (${Ln(e.prior)} ${n})`:`Flat ${i} (${Ln(e.prior)} ${n})`}const xj=30;function Wx(e){return Math.round(e*10)/10}function Vq(e){return e.prior>=xj&&e.deltaPct!==null?`${p0(e.deltaPct,St.percent)} vs prior`:`${e.deltaAbs>0?"+":""}${Wx(e.deltaAbs)} vs ${Wx(e.prior)}`}function FW(e,n,i){return e.prior>=xj&&e.deltaPct!==null?`${p0(e.deltaPct,St.percent)} ${i}`:`${e.deltaAbs>0?"+":""}${Ln(Math.round(e.deltaAbs))} ${n} ${i}`}function wj(e,n=St.fraction){const i=bj(e,n);if(i===0)return{direction:"none",magnitude:"0"};const r=vj(Math.abs(i));return{direction:i>0?"up":"down",magnitude:r===0?"<0.1":r.toFixed(1)}}function $q(e,n=St.fraction){const{direction:i,magnitude:r}=wj(e,n);return`${i==="up"?"+":i==="down"?"-":""}${r} pts`}function ZW(e,n="UTC"){const i=new Date(e);if(!Number.isFinite(i.getTime()))return null;const r={weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"};try{return i.toLocaleString("en-US",{...r,timeZone:n})}catch{return i.toLocaleString("en-US",{...r,timeZone:"UTC"})}}const kj=S(["introduced","repointed","retired"]),Uq=kj.enum;d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:kj,confirmed:_(),sourceUrl:o().url(),note:o().min(1)});const Gq=[{modelId:"chatgpt-4o-latest",date:"2024-08-15",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released dynamic model for chatgpt-4o-latest—this model will point to the latest GPT-4o model used by ChatGPT." First moving id in the lineage.'},{modelId:"chatgpt-4o-latest",date:"2026-02-17",kind:"retired",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/deprecations.md",note:'Shutdown 2026-02-17, replacement gpt-5.1-chat-latest. Announced under the heading "2025-11-18: chatgpt-4o-latest snapshot".'},{modelId:"gpt-5.1-chat-latest",date:"2025-11-13",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.1 launch entry, not as a standalone entry."},{modelId:"gpt-5.2-chat-latest",date:"2025-12-11",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.2 launch entry."},{modelId:"gpt-5.2-chat-latest",date:"2026-02-10",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.2-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-03",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released gpt-5.3-chat-latest to the Chat Completions and Responses API. This model points to the GPT-5.3 Instant snapshot currently used in ChatGPT."'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-16",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.3-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"chat-latest",date:"2026-05-05",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released chat-latest snapshot which points to the latest Instant model currently used in ChatGPT... The underlying model snapshot will be regularly updated."'},{modelId:"chat-latest",date:"2026-05-28",kind:"repointed",confirmed:!1,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'UNCONFIRMED. The entry reads "Released chat-latest snapshot..." — the verb is "Released", the same boilerplate as the 2026-05-05 entry, not "Updated" as used on 2026-06-24. Only "the latest improvements" vs "our latest improvements" differs. Either a real change logged with copy-pasted text, or a duplicated entry; the record does not disambiguate.'},{modelId:"chat-latest",date:"2026-06-24",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim (re-read at source 2026-07-20): "Updated the chat-latest snapshot, which points to the latest Instant model currently used in ChatGPT." The verb is "Updated", unlike the "Released" boilerplate of 2026-05-05 and 2026-05-28, which is the wording the changelog reserves for a real change. Target model NOT named. The only unambiguous chat-latest change on record.'}];Uq.repointed;new Set(Gq.map(e=>e.modelId.toLowerCase()));const Kq=S(["not-exposed","no-known-change","known-change"]);Kq.enum;const Hq=d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:_(),sourceUrl:o().url()}),Qq=d({status:S(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(Hq),changeCount:m().int().nonnegative(),unverifiedChangeCount:m().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:_()}),Fq={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function Zq(e){const n=e.trim().toLowerCase();return Fq[n]??e.charAt(0).toUpperCase()+e.slice(1)}function af(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function ac(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function sf(e){return[...new Set(e.filter(n=>n!==null))].sort()}function Yq(e,n){const i=Zq(e),r=Array.isArray(n.changes)?n.changes:[],u=af(n.changeCount)||r.length,h=Math.min(u,af(n.unverifiedChangeCount)||af(n.unconfirmedChangeCount)||r.filter(k=>k.confirmed===!1).length),f=ac(n.knownGoodAsOf),b=n.checkedThroughPeriodEnd!==!1,v={engine:i,confirmedCount:u-h,unconfirmedCount:h,knownGoodAsOf:f,checkedThroughPeriodEnd:b};if(r.length>0)return{...v,confirmedDates:sf(r.filter(k=>k.confirmed!==!1).map(k=>ac(k.date))),unconfirmedDates:sf(r.filter(k=>k.confirmed===!1).map(k=>ac(k.date)))};const w=sf([ac(n.firstChangeDate),ac(n.lastChangeDate)]);return u===0?{...v,confirmedDates:[],unconfirmedDates:[]}:h===0?{...v,confirmedDates:w,unconfirmedDates:[]}:v.confirmedCount===0?{...v,confirmedDates:[],unconfirmedDates:w}:{...v,confirmedDates:[],unconfirmedDates:[]}}function Xq(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function ew(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${e[0]}`:`more than once between ${e[0]} and ${e[e.length-1]}`}function Jq(e){const n=ew(e.confirmedDates,e.confirmedCount),i=ew(e.unconfirmedDates,e.unconfirmedCount),r=`The model behind ${e.engine}`;if(e.confirmedCount>0&&e.unconfirmedCount===0)return n?`${r} was updated ${n}, inside this period.`:`${r} was updated inside this period.`;if(e.confirmedCount===0)return i?`${r} may have been updated ${i}, inside this period, though that is not confirmed.`:`${r} may have been updated inside this period, though that is not confirmed.`;if(n&&i)return`${r} was updated ${n}, inside this period, and may also have been updated ${i}.`;const u=e.unconfirmedCount>1?"more times":"once more";return`${r} was updated inside this period, and may have been updated ${u}, though that is not confirmed.`}function tw(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);return n.length===0?null:`We last checked for model updates on ${n.map(r=>r.knownGoodAsOf).sort()[0]}, and this period runs past that date, so there may be later updates we do not know about.`}function YW(e){const n=Object.entries(e??{}).map(([v,w])=>Yq(v,w??{})).sort((v,w)=>v.engine.localeCompare(w.engine));if(n.length===0)return null;const i=n.filter(v=>v.confirmedCount+v.unconfirmedCount>0);if(i.length===0){const v=[...new Set(n.map(N=>N.engine))],w=v.length>1,k=tw(n),j=[...new Set(n.map(N=>N.knownGoodAsOf).filter(N=>N!==null))].sort(),T=k??(j.length>0?`We last checked for model updates on ${j[0]}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${Xq(v)} in this period.`,detail:`${w?"These engines":"This engine"} can be moved onto a different underlying model without the data ever showing a different model name, so we check each period against a record of known updates. Nothing is listed inside this one.${T?` ${T}`:""}`}}const r=i.reduce((v,w)=>v+w.confirmedCount+w.unconfirmedCount,0),u=i.some(v=>v.confirmedCount>0),h=r===1?"this update":"these updates",f=u?`Some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`:`If so, some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`,b=tw(n);return{kind:"change",text:`${i.map(Jq).join(" ")} ${f}${b?` ${b}`:""}`}}const bo=d({slope:m(),intercept:m(),r2:m(),start:m(),end:m(),n:m(),startIndex:m(),endIndex:m()}),Wq=S(["gsc","ga4","gbp"]);d({id:o(),domain:o(),connectionType:Wq,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const eP=d({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:m(),impressions:m(),ctr:xe(),position:m()});S(["clicks","impressions","date"]);d({rows:y(eP),totalMatching:m(),truncated:_(),latestAvailableDate:o().nullable()});const tP=d({date:o(),clicks:m(),impressions:m(),ctr:xe(),position:m().nullable()}),Sj=d({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:m().nullable()}),nP=d({clicks:bo.nullable(),impressions:bo.nullable(),ctr:bo.nullable(),position:bo.nullable()}),nw=d({startDate:o(),endDate:o(),clicks:m(),impressions:m(),ctr:xe().nullable(),position:m().nullable(),source:S(["property-daily","dimensioned","mixed","empty"])}),aP=d({days:m(),basis:S(["prior-window","split-window"]).optional(),prior:nw,trailing:nw,comparable:_(),change:d({clicks:xe().nullable(),impressions:xe().nullable(),ctr:xe().nullable(),position:xe().nullable()})});d({totals:d({clicks:m(),impressions:m(),ctr:xe(),position:m().nullable(),positionDays:m(),days:m()}),daily:y(tP),window:Sj.optional(),trends:nP.optional(),periodComparison:aP.nullable().optional()});const iP=d({page:o(),clicks:m(),impressions:m(),ctr:xe()});d({rows:y(iP),totals:d({clicks:m(),impressions:m(),ctr:xe(),days:m(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:_()}).nullable(),totalsSource:R("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const sP=S(["google","page-summed","mixed"]),oP=d({query:o(),clicks:m(),impressions:m(),ctr:xe(),position:m(),days:m(),source:sP});d({rows:y(oP),totalMatching:m(),truncated:_(),window:Sj});const Kf=d({id:o(),url:o(),indexingState:o().nullable().optional(),verdict:o().nullable().optional(),coverageState:o().nullable().optional(),pageFetchState:o().nullable().optional(),robotsTxtState:o().nullable().optional(),crawlTime:o().nullable().optional(),lastCrawlResult:o().nullable().optional(),isMobileFriendly:_().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});S(["stable","reindexed","deindexed","still-missing","new"]);const rP=d({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),lP=d({reason:o(),count:m(),urls:y(Kf).default([])});d({summary:d({total:m(),indexed:m(),notIndexed:m(),deindexed:m(),percentage:Oe(),indexedShare:xe(m().min(0).max(1)).nullable(),notIndexedShare:xe(m().min(0).max(1)).nullable()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(Kf).default([]),notIndexed:y(Kf).default([]),deindexed:y(rP).default([]),reasonGroups:y(lP).default([])});d({url:o(),type:S(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const cP=d({url:o(),type:S(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:S(["success","error"]),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(cP).default([])});d({date:o(),indexed:m(),notIndexed:m(),unknownPages:m().default(0),verifiedByInspection:m().default(0),derivedFromImpressions:m().default(0),reasonBreakdown:Qe(o(),m()).default({})});const uP=d({siteUrl:o(),permissionLevel:o()});d({sites:y(uP).default([])});const dP=d({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),jj=d({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:_().optional(),isSitemapsIndex:_().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(dP).optional()});d({sitemaps:y(jj).default([]),summary:d({total:m().int().nonnegative(),indexes:m().int().nonnegative(),files:m().int().nonnegative()}),preferredSubmissionUrls:y(o()).default([])});d({sitemapUrls:y(o().url().refine(e=>{const n=new URL(e).protocol;return n==="http:"||n==="https:"},{message:"Sitemap URL must use http or https."})).min(1).max(50)});const mP=d({sitemapUrl:o(),status:S(["accepted","error"]),submittedAt:o().optional(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),accepted:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(mP)});d({sitemaps:y(jj),primarySitemapUrl:o(),run:d({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const pt=o().trim().min(1),aw=o().regex(/^[a-f0-9]{64}$/i);function pP(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const n=new Date(`${e}T00:00:00.000Z`);return!Number.isNaN(n.getTime())&&n.toISOString().slice(0,10)===e}const Xn=o().refine(pP,{message:"Expected a calendar date as YYYY-MM-DD."});function hP(e,n){const i=Date.parse(`${e}T00:00:00.000Z`),r=Date.parse(`${n}T00:00:00.000Z`);return Math.floor((r-i)/864e5)+1}const fP=S(["not-connected","selection-required","connected","stale"]),sd=fP.enum,Aj=S(["enabled","suspended","closed","canceled","unspecified","unknown"]);Aj.enum;const h0=S(["enabled","paused","removed","unknown"]);h0.enum;const Cj=S(["enabled","hidden","removed","unknown"]);Cj.enum;const f0=S(["customer","campaign"]);f0.enum;const Nj=S(["customer-goal","campaign-goal","custom-goal"]);Nj.enum;const _j=d({loginCustomerId:pt.nullable(),customerId:pt.nullable(),selectedAt:o().nullable()}).strict(),of=d({id:pt,projectId:pt,scopes:y(o()).default([]),selection:_j,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Hf=d({resourceName:pt,customerId:pt,parentCustomerId:pt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:_(),hidden:_(),testAccount:_(),level:m().int().nonnegative(),status:Aj}).strict(),gP=d({customers:y(Hf),totalAccessible:m().int().nonnegative(),truncated:_(),selection:_j,fetchedAt:o()}).strict();Me("status",[d({connected:R(!1),status:R(sd["not-connected"]),connection:de(),selectedCustomer:de()}).strict(),d({connected:R(!0),status:R(sd["selection-required"]),connection:of,selectedCustomer:de()}).strict(),d({connected:R(!0),status:R(sd.connected),connection:of,selectedCustomer:Hf}).strict(),d({connected:R(!0),status:R(sd.stale),connection:of,selectedCustomer:Hf}).strict()]);const yP=d({id:pt,resourceName:pt,name:o(),status:h0,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),bP=d({id:pt,resourceName:pt,name:o(),status:Cj,category:o(),origin:o(),primaryForGoal:_(),includeInConversionsMetric:_()}).strict(),vP=d({category:o(),origin:o(),biddable:_()}).strict(),xP=d({campaignId:pt,category:o(),origin:o(),biddable:_()}).strict(),wP=d({id:pt,name:o(),conversionActionIds:y(pt)}).strict(),kP=d({campaignId:pt,goalConfigLevel:f0,customGoalId:pt.nullable()}).strict(),SP=d({customerId:pt,fetchedAt:o(),campaigns:y(yP),conversionActions:y(bP),customerConversionGoals:y(vP),campaignConversionGoals:y(xP),campaignConversionGoalsComplete:_().optional(),customConversionGoals:y(wP),campaignGoalConfigurations:y(kP)}).strict(),jP=d({source:Nj,category:o().nullable(),origin:o().nullable(),customGoalId:pt.nullable(),biddable:_().nullable(),conversionActionIds:y(pt),primaryConversionActionIds:y(pt),secondaryConversionActionIds:y(pt),missingConversionActionIds:y(pt)}).strict(),AP=d({campaignId:pt,goalConfigLevel:f0,customGoalId:pt.nullable(),missingCustomGoalId:pt.nullable(),goals:y(jP)}).strict();d({customerId:pt,derivedAt:o(),campaigns:y(AP)}).strict();const Tj=50,Qf=31,CP=Tj*Qf,NP=d({campaignIds:y(pt).min(1).max(Tj),startDate:Xn,endDate:Xn}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:be.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:be.custom,path:["endDate"],message:"endDate must not precede startDate."});return}hP(e.startDate,e.endDate)>Qf&&n.addIssue({code:be.custom,path:["endDate"],message:`Campaign metrics may cover at most ${Qf} calendar days.`})}),_P=d({campaignId:pt,date:Xn,impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable()}).strict(),TP=d({query:NP,rows:y(_P).max(CP),truncated:_(),fetchedAt:o()}).strict(),Ej=S(["accessible-customers","inventory","campaign-metrics"]),rf=Ej.enum,g0=d({id:pt,projectId:pt,connectionId:pt,runId:pt,kind:Ej,customerId:pt.nullable(),payloadChecksum:aw,rawPayloadSha256:aw.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),EP=Me("kind",[d({kind:R(rf["accessible-customers"]),data:gP}).strict(),d({kind:R(rf.inventory),data:SP}).strict(),d({kind:R(rf["campaign-metrics"]),data:TP}).strict()]),RP=d({metadata:g0,payload:EP}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:be.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),DP=S(["7d","14d","30d"]),y0=d({impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable(),ctr:xe().nullable(),cpcMicros:m().int().nonnegative().nullable(),conversionRate:xe().nullable(),costPerConversionMicros:m().int().nonnegative().nullable()}),zP=d({date:Xn,origin:S(["provider","filled"]),impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),ctr:xe().nullable()}),IP=d({campaignId:pt,name:o().nullable(),status:h0,totals:y0}),OP=d({snapshotId:pt,capturedAt:o(),customerId:pt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Xn,openDate:Xn.nullable(),truncated:_(),campaignsQueried:m().int().nonnegative(),campaignsInInventory:m().int().nonnegative()}),qP=d({startDate:Xn,endDate:Xn,days:m().int().positive(),totals:y0}),PP=d({days:m().int().positive(),prior:qP,change:d({impressions:xe().nullable(),clicks:xe().nullable(),costMicros:xe().nullable(),conversions:xe().nullable(),ctr:xe().nullable(),conversionRate:xe().nullable()})});d({window:DP,startDate:Xn,endDate:Xn,days:m().int().positive(),totals:y0,daily:y(zP),campaigns:y(IP),comparison:PP.nullable(),comparisonUnavailableReason:S(["insufficient-history","no-snapshot"]).nullable(),source:OP.nullable()});const mt=o().trim().min(1),iw=o().regex(/^[a-f0-9]{64}$/i),MP=S(["not-connected","selection-required","connected","stale"]),od=MP.enum,BP=S(["live","draft"]),Rj=BP.enum,xd=d({accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),selectedAt:o().nullable()}).strict(),lf=d({id:mt,projectId:mt,scopes:y(o()).default([]),selection:xd,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Dj=d({id:mt,path:o(),name:o(),shareData:_().nullable()}).strict(),zj=d({accountId:mt,id:mt,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),b0=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),LP=d({accounts:y(Dj),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();d({accountId:mt,containers:y(zj),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();d({accountId:mt,containerId:mt,workspaces:y(b0),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();const VP=d({id:mt,name:o(),type:o(),paused:_(),firingTriggerIds:y(mt),blockingTriggerIds:y(mt),referencedVariableIds:y(mt),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),$P=d({id:mt,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),UP=d({id:mt,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),Ij=S(["recognized","unknown"]),sw=Ij.enum,GP=S(["literal","variable-ref","absent","unknown"]),fm=GP.enum,KP=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),Kr=d({source:R(fm.absent),literal:de(),variableRef:de()}).strict(),Hr=d({source:R(fm.unknown),literal:de(),variableRef:de()}).strict(),Qr=d({source:R(fm["variable-ref"]),literal:de(),variableRef:KP}).strict();function qc(e){return d({source:R(fm.literal),literal:e,variableRef:de()}).strict()}const HP=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),QP=o().trim().min(1).max(128).regex(/^[\w-]+$/),FP=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),ZP=o().trim().length(3).regex(/^[a-z]{3}$/i);Me("source",[qc(o().trim().min(1).max(256)),Qr,Kr,Hr]);const YP=Me("source",[qc(HP),Qr,Kr,Hr]),XP=Me("source",[qc(QP),Qr,Kr,Hr]),JP=Me("source",[qc(FP),Qr,Kr,Hr]),WP=Me("source",[Qr,Kr,Hr]),eM=Me("source",[qc(ZP),Qr,Kr,Hr]),Oj=S(["all-pages","custom-event","filtered","unknown"]);Oj.enum;const ow=d({operator:o().trim().min(1).max(64),value:o().max(2048),negated:_(),ignoreCase:_()}).strict(),tM=d({triggerId:mt,triggerType:o(),eventPredicates:y(ow),hostnamePredicates:y(ow),unsupportedConditionCount:m().int().nonnegative()}).strict(),qj=S(["not-google-ads-tag","unsupported-tag-type","custom-html-opaque","conversion-id-unresolved","conversion-label-unresolved","value-mapping-missing","transaction-id-mapping-missing","currency-mapping-missing","trigger-unresolved","hostname-filter-unresolved"]);qj.enum;const nM=d({tagId:mt,tagType:o(),recognition:Ij,recognitionReason:o().nullable(),conversionId:YP,conversionLabel:XP,value:JP,transactionId:WP,currency:eM,triggerStrategy:Oj,triggerIds:y(mt),triggerPredicates:y(tM),reviewReasons:y(qj)}).strict().superRefine((e,n)=>{e.recognition===sw.recognized&&e.recognitionReason!==null&&n.addIssue({code:be.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===sw.unknown&&!e.recognitionReason&&n.addIssue({code:be.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),Pj=d({accountId:mt,containerId:mt,workspaceId:mt.nullable(),tags:y(VP),triggers:y($P),variables:y(UP),googleAdsTagAssessments:y(nM).default([])}).strict(),aM=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:_()}).strict(),Mj=d({source:R(Rj.live),version:aM,graph:Pj,fetchedAt:o()}).strict(),Bj=d({source:R(Rj.draft),workspace:b0,graph:Pj,conflictCount:m().int().nonnegative(),fetchedAt:o()}).strict(),iM=d({account:Dj,container:zj,workspaces:y(b0),live:Mj.nullable(),draft:Bj.nullable(),fetchedAt:o()}).strict();Me("status",[d({connected:R(!1),status:R(od["not-connected"]),connection:de(),selection:de()}).strict(),d({connected:R(!0),status:R(od["selection-required"]),connection:lf,selection:xd}).strict(),d({connected:R(!0),status:R(od.connected),connection:lf,selection:xd}).strict(),d({connected:R(!0),status:R(od.stale),connection:lf,selection:xd}).strict()]);const Lj=S(["accounts","container","live","draft"]),rd=Lj.enum,v0=d({id:mt,projectId:mt,connectionId:mt,runId:mt,kind:Lj,accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),payloadChecksum:iw,rawPayloadSha256:iw.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),sM=Me("kind",[d({kind:R(rd.accounts),data:LP}).strict(),d({kind:R(rd.container),data:iM}).strict(),d({kind:R(rd.live),data:Mj}).strict(),d({kind:R(rd.draft),data:Bj}).strict()]),oM=d({metadata:v0,payload:sM}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:be.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),Yn=o().trim().min(1),rM=o().trim().min(1).refine(e=>Ec(e)!==null,"Expected a hostname or http(s) URL."),x0=S(["configured","statically-consistent","runtime-unverified","observed"]);x0.enum;const Vj=S(["pass","fail","unknown"]);Vj.enum;const $j=S(["ads-connection-missing","ads-conversion-action-missing","ads-goal-missing","ads-goal-not-biddable","ads-action-not-primary","gtm-connection-missing","gtm-live-graph-missing","gtm-tag-missing","gtm-tag-unrecognized","gtm-tag-paused","gtm-trigger-missing","gtm-variable-missing","gtm-event-mismatch","gtm-hostname-mismatch","gtm-value-mapping-missing","gtm-transaction-id-mapping-missing","gtm-currency-mapping-missing","gtm-conversion-id-mismatch","gtm-conversion-label-mismatch","runtime-event-not-observed","runtime-gtm-not-observed","runtime-ads-not-observed"]);$j.enum;const Uj=d({id:Yn,projectId:Yn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:d({customerId:Yn,conversionActionId:Yn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Yn).max(50).default([]),requireBiddableGoal:_().default(!0),requirePrimaryAction:_().default(!0)}).strict(),gtm:d({accountId:Yn,containerId:Yn,tagId:Yn,triggerIds:y(Yn).default([]),variableIds:y(Yn).default([])}).strict(),runtime:d({verificationRequired:_().default(!0),requireTransactionId:_().default(!0),requireValue:_().default(!0),requireCurrency:_().default(!0),productionHosts:y(rM).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();Uj.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const Gj=S(["not-run","consistent","inconsistent"]);Gj.enum;const Kj=S(["not-run","not-observed","observed"]);Kj.enum;d({staticCheck:Gj,runtimeVerificationRequired:_(),runtimeObservation:Kj}).strict();const lM=d({code:$j,subject:o().trim().min(1),outcome:Vj,status:x0,evidenceIds:y(Yn).default([])}).strict(),cM=d({contract:Uj,status:x0,findings:y(lM),evaluatedAt:o()}).strict(),rw=d({id:Yn,name:o(),detail:o(),active:_()});d({googleAds:d({customerId:Yn.nullable(),syncedAt:o().nullable(),conversionActions:y(rw)}),gtm:d({containerId:Yn.nullable(),syncedAt:o().nullable(),tags:y(rw)})});const mc=o().trim().min(1);function lw(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const uM=/^[\w-]+$/;function w0(e){const n=e.trim();return uM.test(n)?n:null}function dM(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??w0(n)}function mM(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:w0(i)}function pM(e,n,i){const r=e.trim(),u=/^accounts\/([\w-]+)\/containers\/([\w-]+)\/workspaces\/([\w-]+)$/.exec(r);return u?u[1]===n&&u[2]===i?u[3]:null:w0(r)}function hM(e){const n=lw(e.customerId);if(!n)return null;if(e.loginCustomerId===null)return{loginCustomerId:null,customerId:n};if(e.loginCustomerId===void 0)return{customerId:n};const i=lw(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function fM(e){const n=dM(e.accountId);if(!n)return null;const i=mM(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=pM(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const gm=S(["google-ads","gtm"]);gm.enum;d({provider:gm,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();d({provider:gm,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();d({loginCustomerId:mc.nullable().optional(),customerId:mc}).strict().superRefine((e,n)=>{hM(e)||n.addIssue({code:be.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});d({accountId:mc,containerId:mc,workspaceId:mc.optional()}).strict().superRefine((e,n)=>{fM(e)||n.addIssue({code:be.custom,message:"GTM resource paths must match the selected account and container."})});d({provider:gm,disconnected:_()}).strict();const Hj=100;d({snapshots:y(g0).max(Hj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:RP}).strict();d({snapshots:y(v0).max(Hj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:oM}).strict();d({assessment:cM,googleAdsSnapshot:g0.nullable(),gtmSnapshot:v0.nullable()}).strict();d({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const cf=d({id:o(),url:o(),httpCode:m().nullable().optional(),inIndex:_().nullable().optional(),lastCrawledDate:o().nullable().optional(),inIndexDate:o().nullable().optional(),inspectedAt:o(),documentSize:m().nullable().optional(),anchorCount:m().nullable().optional(),discoveryDate:o().nullable().optional()});d({summary:d({total:m(),indexed:m(),notIndexed:m(),unknown:m().optional(),percentage:Oe()}),lastInspectedAt:o().nullable(),indexed:y(cf).default([]),notIndexed:y(cf).default([]),unknown:y(cf).default([]).optional()});d({query:o(),impressions:m(),clicks:m(),ctr:xe(),averagePosition:m()});d({date:o(),indexed:m(),notIndexed:m(),unknown:m()});const gM=d({url:o(),status:S(["success","error"]),submittedAt:o(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(gM).default([])});const Qj=d({url:o(),verified:_()});d({sites:y(Qj).default([])});d({connected:_(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});d({connected:_(),domain:o(),siteUrl:o().nullable(),availableSites:y(Qj).default([])});d({siteUrl:o()});const yM=d({name:o(),alive:_(),lastUsed:o().nullable()});d({connected:_(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(yM).default([])});const Fr=S(["live","staging"]);d({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:Fr,createdAt:o(),updatedAt:o()});const cw=d({url:o(),reachable:_(),pageCount:m().nullable().optional(),version:o().nullable().optional(),error:o().nullable().optional(),plugins:y(o()).optional(),authenticatedUser:d({id:m(),slug:o()}).nullable().optional()});d({connected:_(),projectName:o(),defaultEnv:Fr,live:cw.nullable(),staging:cw.nullable(),adminUrl:o().nullable().optional()});const bM=d({id:m(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),Fj=d({title:o().nullable(),description:o().nullable(),noindex:_().nullable(),writable:_().default(!1),writeTargets:y(o()).default([])}),vM=d({type:o(),json:Qe(o(),kn())}),xM=bM.extend({env:Fr,content:o(),seo:Fj,schemaBlocks:y(vM).default([])}),uw=xM.extend({contentHash:o(),contentSnippet:o()}),Zj=d({manualRequired:R(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),wM=d({slug:o(),severity:S(["high","medium","low"]),code:S(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});d({slug:o(),title:o(),status:o(),wordCount:m(),seo:Fj,schemaPresent:_(),issues:y(wM).default([])});const kM=d({slug:o(),status:S(["applied","skipped","manual"]),error:o().optional(),manualAssist:Zj.optional()});d({env:Fr,strategy:S(["plugin","manual"]),results:y(kM)});const SM=d({slug:o(),status:S(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:Zj.optional(),error:o().optional()});d({env:Fr,results:y(SM)});const jM=d({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:_()});d({env:Fr,pages:y(jM)});const AM=d({name:o(),status:S(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});d({projectName:o(),steps:y(AM)});d({slug:o(),live:uw,staging:uw,hasDifferences:_(),differences:d({title:_(),slug:_(),content:_(),seoTitle:_(),seoDescription:_(),noindex:_(),schema:_()})});const CM=YS.shape.searchUnit.unwrap().enum;CM.query;const NM=d({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:_(),quota:WD.optional(),vertexConfigured:_().optional()}),_M=d({name:o(),displayName:o(),mode:S(["api","browser"]),modelConfigurable:_(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o(),tier:S(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:d({source:o(),flags:o()}),modelValidationHint:o()}),dw=d({configured:_()});d({providers:y(NM).default([]),providerCatalog:y(_M).default([]),google:dw,bing:dw});const TM=S(["recorded","errored","expired","canceled","parse_failed","duplicate"]);TM.enum;const EM=S(["not_plan_run","scoped_run","probe_run","batch_unavailable","model_not_frozen"]);EM.enum;jx.standard,jx.batch;const Yj=S(["all","api","browser"]);Yj.enum;const RM=S(["yes","no","unknown","not-mentioned"]),mw=y(o().min(1)),pw=d({companyName:o().min(1),domain:o().min(1),queries:mw.optional(),phrases:mw.optional(),competitors:y(o().min(1)).optional(),providers:y(o().trim().min(1)).min(1).optional().describe("Configured provider names to use for both answers and analysis. Omit to use all providers matching providerMode."),providerMode:Yj.optional().describe("Filter providers by transport; defaults to all. Browser-only selection requires manual queries and uses no API provider for analysis.")}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});pw.safeExtend({competitors:pw.shape.competitors.default([])});const DM=d({name:o(),count:m().int().nonnegative()}),zM=d({id:o(),name:o(),weight:m(),score:m(),findings:y(d({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),IM=d({url:o(),finalUrl:o(),auditedAt:o(),overallScore:m(),summary:o(),factors:y(zM).default([])}),OM=d({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),qM=d({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:_(),cited:_(),describedAccurately:RM,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(dm).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),PM=d({query:o(),providerResults:y(qM).default([])}),MM=d({totalQueries:m().int().nonnegative(),totalProviders:m().int().nonnegative(),totalComparisons:m().int().nonnegative(),mentionCount:m().int().nonnegative(),citationCount:m().int().nonnegative(),topCompetitors:y(DM).default([]),visibilityGap:o(),whatThisMeans:y(o()).default([]),recommendedActions:y(o()).default([])});d({companyName:o(),domain:o(),homepageUrl:o(),generatedAt:o(),queries:y(o()).default([]),competitors:y(o()).default([]),profile:OM,audit:IM,queryResults:y(PM).default([]),summary:MM});const Xj=Ze([ma,de()]),k0=S(["pass","partial","fail"]);k0.enum;const Jj=S(["up","down","flat"]);Jj.enum;const BM=d({id:o(),name:o(),weight:m(),sharePct:Oe(m().min(0).max(100)).nullable().default(null),avgScore:m(),status:k0,pagesPassing:m().int().nonnegative(),pagesPartial:m().int().nonnegative(),pagesFailing:m().int().nonnegative()}),LM=d({factorId:o(),factorName:o(),avgScore:m(),affectedPages:m().int().nonnegative(),totalPages:m().int().nonnegative(),affectedPct:Oe(m().nonnegative()),topRecommendations:y(o()).default([])});d({project:o(),hasData:_(),runId:o().nullable(),runStatus:Xj,sitemapUrl:o().nullable(),auditedAt:o().nullable(),aggregateScore:m(),pagesDiscovered:m().int().nonnegative(),pagesAudited:m().int().nonnegative(),pagesSkipped:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),deltaScore:m().nullable(),trend:Ze([Jj,de()]),previousScore:m().nullable(),previousAuditedAt:o().nullable(),factors:y(BM).default([]),crossCuttingIssues:y(LM).default([]),prioritizedFixes:y(o()).default([])});const Wj=d({id:o(),name:o(),weight:m(),score:m(),sharePct:Oe(m().min(0).max(100)).nullable().default(null)}),VM=d({url:o(),overallScore:m(),status:S(["success","error"]),error:o().nullable().optional(),factors:y(Wj).default([])});d({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:m().int().nonnegative(),pages:y(VM).default([])});const $M=d({runId:o(),auditedAt:o(),aggregateScore:m(),pagesAudited:m().int().nonnegative()});d({project:o(),points:y($M).default([])});const UM=S(["disabled","complete","partial","unavailable"]);UM.enum;const GM=d({pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),edges:m().int().nonnegative(),findings:m().int().nonnegative()}),KM=Me("state",[d({state:R("unavailable")}),d({state:R("disabled")}),d({state:R("complete"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()}),d({state:R("partial"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()})]);d({project:o(),hasCrawlData:_(),legacyAuditAvailable:_(),runId:o().nullable(),runStatus:Xj,requestedRootUrl:o().nullable(),rootUrl:o().nullable(),crawlSchemaVersion:o().nullable().optional(),engineVersion:o().nullable().optional(),normalizationVersion:o().nullable().optional(),indexabilityVersion:o().nullable().optional(),linkScoreVersion:o().nullable().optional(),effectiveOptions:Qe(o(),kn()).default({}),complete:_(),termination:o().nullable(),detailsAvailable:_(),counts:GM,deadLinks:KM});S(["complete","unknown","max-pages","max-edges","max-fetches","max-duration","max-bytes","max-page-bytes","max-depth","max-links-per-page","max-query-variants","max-sitemap-fanout","max-sitemap-urls","root-host-redirect"]);const ym=S(["eligible","hidden","resource","redirect","failed","unchecked"]),XW=ym.enum,JW=ym.options,wr={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},ld={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},HM={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function QM(e){return e.indexabilityReasons?.some(n=>n===HM.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function WW(e){switch(e.fetchState){case wr.fetchError:return"failed";case wr.discovered:return"unchecked";case wr.nonHtml:return"resource";case wr.redirect:return"redirect";case wr.robotsBlocked:return"hidden";case wr.html:break;default:return"unchecked"}if(QM(e))return"hidden";switch(e.indexabilityState){case ld.indexable:return"eligible";case ld.noindex:case ld.blocked:return"hidden";case ld.unknown:default:return"unchecked"}}const eee=15,FM=S(["navigation","content","unknown"]);FM.enum;const ZM=d({navigation:m().int().nonnegative(),content:m().int().nonnegative(),unknown:m().int().nonnegative()}),e3=S(["placement","ubiquity","unmeasured"]);e3.enum;const bm=S(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);bm.enum;function tee(e){switch(e){case"applied":case"applied-placement":case"applied-placement-with-ubiquity":case"applied-placement-partial":return!0;case"unavailable-too-few-pages":case"unavailable-legacy-scan":return!1}}const vm=S(["all","content","template"]);vm.enum;const YM=S(["anchor","redirect","canonical","link"]);YM.enum;const kc=d({nodeKey:o(),url:o(),finalUrl:o().nullable(),path:o(),parentPath:o(),discoverySource:o(),fetchState:o(),httpStatus:m().int().nullable(),canonicalUrl:o().nullable(),indexabilityState:o(),indexabilityReasons:y(o()).default([]),auditState:o(),auditScore:m().nullable(),inventoryEligible:_(),depth:m().int().nullable(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),inboundOccurrences:m().int().nonnegative(),outboundOccurrences:m().int().nonnegative(),linkScoreRaw:m().nullable(),linkScoreNormalized:Oe().nullable(),healthState:ym}),XM=d({type:S(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),hw=Wj.extend({status:k0,applicable:_().nullable(),findings:y(XM).default([]),recommendations:y(o()).default([])}),fw=d({id:o().min(1),severity:S(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),cd=d({project:o(),runId:o(),complete:_(),termination:o().nullable()}),gw=d({nodeKey:o(),url:o(),auditState:o()});Me("state",[d({state:R("no-crawl"),project:o(),runId:de()}),cd.extend({state:R("details-unavailable")}),cd.extend({state:R("not-found")}),cd.merge(gw).extend({state:R("not-audited"),auditScore:de(),factors:y(hw).length(0).default([]),criticalDefects:y(fw).length(0).default([])}),cd.merge(gw).extend({state:R("ready"),auditScore:m(),evidenceState:S(["complete","scores-only"]),factors:y(hw).default([]),criticalDefects:y(fw).default([])})]);const JM=S(["applied","unavailable-legacy-scan"]);d({project:o(),hasCrawlData:_(),runId:o().nullable(),total:m().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:Ze([JM,de()]).default(null),pages:y(kc).default([])});const WM=d({path:o(),url:o().nullable(),hasPage:_(),pageCount:m().int().positive(),inventoryEligibleCount:m().int().nonnegative(),fetchedCount:m().int().nonnegative()});d({project:o(),hasCrawlData:_(),runId:o().nullable(),parentPath:o(),nextCursor:o().nullable(),children:y(WM).default([])});const wo=d({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:_(),followable:_(),occurrences:m().int().positive(),followableOccurrences:m().int().nonnegative(),nofollowOccurrences:m().int().nonnegative(),anchors:y(o()).default([]),isTemplate:Ze([_(),de()]),templateRatio:Ze([xe(),de()]),templateSource:e3,placementOccurrences:Ze([ZM,de()])}),eB=d({nodeKey:o(),url:o(),path:o(),depth:m().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:m().nullable(),inventoryEligible:_(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),linkScoreNormalized:Oe().nullable(),healthState:ym,x:m(),y:m()}),tB=d({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:_(),occurrences:m().int().positive(),isTemplate:_()}),nB=S(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),aB=Me("state",[d({state:R("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:_()}),d({state:R("unavailable"),version:de(),reason:nB})]);d({project:o(),hasCrawlData:_(),runId:o().nullable(),rootNodeKey:o().nullable(),layout:aB,templateDetection:bm,linkKind:vm,totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),totalTemplateEdges:m().int().nonnegative(),totalContentEdges:m().int().nonnegative(),nodes:y(eB).default([]),edges:y(tB).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),sampled:_()});const nee=2e4,aee=5e4,iB=S(["focus","inbound","outbound","both","transitive"]),sB=kc.extend({distance:m().int().nonnegative(),relationToFocus:iB});d({project:o(),hasCrawlData:_(),runId:o().nullable(),complete:_(),termination:o().nullable(),state:S(["no-crawl","details-unavailable","ready"]),focusNodeKey:o().nullable(),focusUrl:o().nullable(),hops:m().int().min(0).max(3),totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),nodes:y(sB).default([]),edges:y(wo).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),countAccuracy:S(["exact","lower-bound"]),truncated:_()});const yw=d({nodeKey:o(),url:o(),path:o()});d({project:o(),runId:o().nullable(),complete:_(),termination:o().nullable(),state:S(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:yw.nullable(),to:yw.nullable(),maxDepth:m().int().positive(),visitedNodes:m().int().nonnegative(),nodes:y(kc).default([]),edges:y(wo).default([])});const t3=S(["added","removed","changed"]),oB=d({entity:R("page"),change:t3,key:o(),changedFields:y(o()).default([]),before:kc.nullable(),after:kc.nullable()}),rB=d({entity:R("link"),change:t3,key:o(),changedFields:y(o()).default([]),before:wo.nullable(),after:wo.nullable()}),lB=Me("entity",[oB,rB]),bw=d({added:m().int().nonnegative(),removed:m().int().nonnegative(),changed:m().int().nonnegative()}),cB=d({scope:S(["all","pages","links"]),change:S(["all","added","removed","changed"])});Me("state",[d({project:o(),state:R("unavailable"),reason:S(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),d({project:o(),state:R("incompatible"),reason:R("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),d({project:o(),state:R("ready"),fromRunId:o(),toRunId:o(),versions:d({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:cB,summaryState:S(["exact","omitted-on-continuation"]),summary:d({pages:bw,links:bw}).nullable(),total:m().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(lB).default([])})]);d({project:o(),hasCrawlData:_(),runId:o().nullable(),total:m().int().nonnegative(),nextCursor:o().nullable(),templateDetection:bm,linkKind:vm,edges:y(wo).default([])});d({project:o(),hasCrawlData:_(),runId:o().nullable(),nodeKey:o().nullable(),url:o().nullable(),templateDetection:bm,linkKind:vm,inbound:y(wo).default([]),outbound:y(wo).default([]),inboundTruncated:_(),outboundTruncated:_()});const vw=d({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:Qe(o(),kn()).default({})});Me("state",[d({project:o(),runId:o().nullable(),state:R("unavailable"),legacyAuditAvailable:_()}),d({project:o(),runId:o(),state:R("disabled"),checkDeadLinks:R(!1)}),d({project:o(),runId:o(),state:R("complete"),checkDeadLinks:R(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(vw).default([])}),d({project:o(),runId:o(),state:R("partial"),checkDeadLinks:R(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(vw).default([])})]);const iee=1e3,see=10,n3=100;d({sitemapUrl:o().url().optional(),limit:m().int().positive().max(2e3).optional(),maxPages:m().int().positive().max(5e4).optional(),maxEdges:m().int().positive().max(1e6).optional(),maxDepth:m().int().min(0).max(100).optional(),checkDeadLinks:_().default(!1)});d({runId:o(),status:ma});const uB=d({runId:o(),status:ma,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:_()});d({project:o(),scans:y(uB).default([])});const dB=S(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),mB=d({state:S(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),pB=d({id:o(),state:o(),pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),edgesDiscovered:m().int().nonnegative(),lastUpdatedAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()});d({project:o(),runId:o(),status:ma,phase:dB,attempt:pB.nullable(),layout:mB,error:o().nullable()});const hB=S(["waiting","collecting","terminal"]),fB=d({nodeKey:o(),url:o(),auditScore:m(),checksNeedingAttention:m().int().nonnegative()});d({project:o(),runId:o(),status:ma,state:hB,attemptId:o().nullable(),pagesAudited:m().int().nonnegative(),updatedAt:o().nullable(),examples:y(fB).max(12).default([])});const gB=d({basis:S(["tracked","observed"]).nullable(),availability:S(["measured","not-measured","unavailable"]),reason:S(["select-query-class","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),S0=gB.partial().shape;function oee(e){switch(e){case"select-query-class":return"Select a query class.";case"no-competitors":return"No competitors configured.";case"insufficient-observed":return"Requires 3 observed competitors mentioned in at least 3 answers each.";case"no-answers":return"No answer text in scope.";case"no-mentions":return"No brands mentioned in scope.";case"unavailable":return"Competitor evidence is unavailable.";default:return""}}function yB(e,n){const i=n?.availability==="unavailable"?"Unavailable":n?.availability==="not-measured"||e===null?"Not measured":cn(e,St.percent);return n?.basis?`${i} · ${n.basis} competitors`:i}function ree(e,n,i){return`Share of voice · ${n} queries: ${yB(e,i)}${i?.measurementScope==="all-markets"?" · all markets":""}`}const j0=S(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]),wd=j0.enum,A0=S(["cited","aspirational","wasted-surface"]),xw=A0.enum;xw.cited,xw.aspirational;const xm=S(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),bB=xm.enum;bB["direct-competitor"];const wm=S(["queued","seeding","probing","completed","failed"]);wm.enum;const a3=d({domain:o().min(1),hits:m().int().positive(),competitorType:xm.default("unknown")}),vB=d({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:A0.nullable().default(null),citationState:Mi,citedDomains:y(o()).default([]),answerMentioned:_().nullable().default(null),createdAt:o()}),xB=d({id:o(),projectId:o(),status:wm,icpDescription:o().nullable().optional(),seedProvider:o().nullable().optional(),seedCountRaw:m().int().nullable().optional(),seedCount:m().int().nullable().optional(),seedFromAnswerCount:m().int().nullable().optional(),seedFromGroundingCount:m().int().nullable().optional(),seedBrandFilteredCount:m().int().nullable().optional(),buyerDescription:o().nullable().optional(),locations:y(un).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(m()).nullable().optional(),dedupBandPairFraction:xe().nullable().optional(),dedupPairsTotal:m().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:Qe(o(),m().int()).nullable().optional(),canonicalCount:m().int().nullable().optional(),dedupThreshold:m().nullable().optional(),probeCount:m().int().nullable().optional(),citedCount:m().int().nullable().default(null),aspirationalCount:m().int().nullable().default(null),wastedCount:m().int().nullable().default(null),competitorMap:y(a3).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});xB.extend({probes:y(vB).default([])});const wB=500,kB=8,SB=["gemini","openai"],jB=S(SB);d({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(jB).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:m().min(0).max(1).optional(),maxProbes:m().int().positive().max(wB).optional(),probeConcurrency:m().int().min(1).max(kB).optional(),locations:y(o().min(1)).optional()});d({buckets:y(A0).min(1).optional(),includeCompetitors:_().optional(),competitorTypes:y(xm).min(1).optional()});d({sessionId:o(),projectId:o(),status:wm,queriesByBucket:d({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(a3)});d({sessionId:o(),projectId:o(),promoted:d({queries:y(o()),competitors:y(o())}),skipped:d({queries:y(o()),competitors:y(o())})});Ze([R("cli"),o().regex(/^discovery:.+$/)]);const AB=d({query:o().min(1),probeHits:m().int().positive()}),CB=d({rawCandidates:m().int().nonnegative(),admitted:m().int().nonnegative(),rejected:d({belowFloor:m().int().nonnegative(),length:m().int().nonnegative(),navigational:m().int().nonnegative(),duplicate:m().int().nonnegative(),offAnchor:m().int().nonnegative(),semanticDuplicate:m().int().nonnegative()})});d({sessionId:o(),projectId:o(),provider:o(),status:wm,minProbeHits:m().int().positive(),anchorApplied:_(),semanticNoveltyApplied:_(),candidates:y(AB),stats:CB});const C0=S(["own","direct-competitor","ota-aggregator","editorial-media","other"]);C0.enum;const km=S(["7d","30d","90d","all"]),ww=S(["improving","declining","stable"]),NB=S(["mentioned","cited"]);NB.enum;const Ff=d({citationRate:xe(),cited:m().int(),total:m().int(),mentionRate:xe(),mentionedCount:m().int()}),Zr=o().trim().min(1),_B=y(Zr).min(1).superRefine((e,n)=>{for(let i=1;i<e.length;i+=1)e[i-1]>=e[i]&&n.addIssue({code:"custom",message:"mixed model IDs must be sorted and unique",path:[i]})}),ko=Me("status",[d({status:R("known"),model:Zr}),d({status:R("unknown")}),d({status:R("mixed"),models:_B,includesUnknown:_()})]),TB=d({observedAt:o(),bucketStartDate:o(),from:ko,to:ko,fromPreWindowAnchor:_().optional(),anchorObservedAt:o().optional()}),i3=d({latestObservation:d({observedAt:o(),state:ko}),events:y(TB),eventTotal:m().int().nonnegative().optional(),anchorUnavailable:_().optional()}),EB=Qe(o(),i3),RB=i3.extend({latestServedModelIds:y(Zr).default([])}),DB=Qe(o(),RB),zB=d({observedAt:o(),configured:ko,served:ko}),IB=d({scope:S(["non-brand","pooled"]),rate:xe().nullable(),projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative()}),OB=d({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:m().int().nonnegative(),citationRate:xe(),cited:m().int(),total:m().int(),queryCount:m().int(),mentionRate:xe(),mentionedCount:m().int(),mentionShare:IB,byProvider:Qe(o(),Ff),modelEvidenceByProvider:Qe(o(),ko).default({}),basketRevision:m().int().nullable().default(null)}),uf=d({first:xe(m().min(0).max(1)),latest:xe(m().min(0).max(1)),delta:xe(m().min(-1).max(1))}),qB=d({citationRate:uf.nullable(),mentionRate:uf.nullable(),mentionShare:uf.nullable()}),PB=d({revision:m().int(),at:o(),added:y(o()),removed:y(o())}),MB=d({date:o(),delta:m().int(),label:o()}),BB=d({at:o(),identity:_2});d({window:km,mentionShareScope:S(["non-brand","pooled"]),buckets:y(OB),overall:Ff,byProvider:Qe(o(),Ff),trend:ww,mentionTrend:ww,windowChange:qB.default(()=>({citationRate:null,mentionRate:null,mentionShare:null})),queryChanges:y(MB),basketChanges:y(PB).default([]),executionIdentityChanges:y(BB).default([]),referenceBasketRevision:m().int().nullable().default(null),modelAttribution:EB.default({}),servedModelAttribution:DB.default({}),modelServiceMismatch:Qe(o(),zB).default({}),modelPointerChanges:Qe(o(),Qq).default({})});const kw=d({category:j0,label:o(),count:m().int(),percentage:xe(),topDomains:y(d({domain:o(),count:m().int()}))}),LB=d({domain:o(),count:m().int(),percentage:xe(),answerShare:xe().optional(),category:j0,label:o(),surfaceClass:C0}),VB=d({surfaceClass:C0,label:o(),count:m().int(),percentage:xe(),domainCount:m().int()}),Sw=d({totalCitedSlots:m().int(),answerTotal:m().int().optional(),answersWithSources:m().int().optional(),domainTotal:m().int(),entries:y(LB),truncatedDomainCount:m().int(),truncatedCitedSlots:m().int(),bySurfaceClass:y(VB)}),$B=d({answers:y(o()),distinctDomains:y(o()),answerDomainPairs:y(o()),runs:y(o())}),UB=S(["measurement-plan","query-text"]);d({runId:o().trim().min(1).optional(),queryClass:Ug.optional(),includeByQuery:S(["true","false","1","0"]).optional()});d({ranked:Sw,byProvider:Qe(o(),Sw),providersWithoutSources:y(o()).optional(),answerTotal:m().int().optional(),runCount:m().int().optional(),pooledAcrossRuns:_().optional(),unclassifiedAnswers:m().int().optional(),filters:d({runId:o().nullable(),queryClass:Ug,queryClassBasis:Ze([UB,de()]),includeByQuery:_()}).optional(),runId:o(),runIds:y(o()).optional(),countUnits:$B.optional(),window:km,limit:m().int().nullable(),overall:y(kw),byQuery:Qe(o(),y(kw)).optional()});const GB=S(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),KB=Me("kind",[d({kind:R("project")}).strict(),d({kind:R("group"),groupKey:o().trim().min(1)}).strict(),d({kind:R("all-markets")}).strict()]),s3=S(["all","branded","non-brand"]),o3=S(["project","all-markets"]);d({window:km.optional(),groupKey:o().trim().min(1).optional(),scope:o3.optional(),provider:o().trim().min(1).optional(),model:Zr.optional(),groupBy:R("model").optional(),queryClass:s3.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional()}).strict().superRefine((e,n)=>{e.scope==="all-markets"&&e.groupKey!==void 0&&n.addIssue({code:"custom",path:["groupKey"],message:"groupKey cannot be combined with scope=all-markets"}),e.model!==void 0&&e.provider===void 0&&n.addIssue({code:"custom",path:["provider"],message:"provider is required when filtering by model"})});const ws=d({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:GB,pinned:_(),mentionCount:m().int().nonnegative(),shareOfVoice:Oe(m().min(0).max(100)).nullable(),citationCount:m().int().nonnegative(),answeredResults:m().int().nonnegative(),firstSeenAt:o().datetime().nullable(),lastSeenAt:o().datetime().nullable(),sampleUrls:y(o().url()).max(3)}).strict(),r3=d({answeredResults:m().int().nonnegative(),sourceResults:m().int().nonnegative(),missingAnswerTextResults:m().int().nonnegative(),mentionCredits:m().int().nonnegative(),incompleteSourceResults:m().int().nonnegative(),excludedProbeResults:m().int().nonnegative(),excludedNonCompletedResults:m().int().nonnegative()}).strict(),HB=d({answers:y(o()),distinctNames:y(o()),runs:y(o())}).strict(),QB=50,FB=d({...S0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),provider:o().trim().min(1),model:Zr.nullable(),servedModels:ko,snapshotCount:m().int().positive(),project:ws,pinned:y(ws),observed:y(ws),otherSources:y(ws),evidence:r3,truncated:_()}).strict(),ZB=d({basis:R("requested-model"),groups:y(FB).max(QB),totalGroups:m().int().nonnegative(),truncated:_()}).strict();d({...S0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),window:km,scope:KB,project:ws,pinned:y(ws),observed:y(ws),otherSources:y(ws),evidence:r3,modelComparison:ZB.optional(),marketState:d({activeRevision:m().int().positive(),draft:d({etag:o().trim().min(1),pendingCompetitorDomains:y(o().trim().min(1))}).strict().nullable()}).strict().nullable(),filters:d({scope:o3,groupKey:o().nullable(),provider:o().nullable(),model:Zr.optional(),groupBy:R("model").optional(),queryClass:s3,location:o().nullable(),runId:o().nullable()}).strict(),truncated:_(),runCount:m().int().nonnegative().optional(),runIds:y(o()).optional(),countUnits:HB.optional()}).strict();const N0=d({total:m().int(),checked:m().int(),mentioned:m().int(),cited:m().int(),mentionRate:xe().nullable(),citedRate:xe().nullable()}),l3=N0.extend({provider:o(),firstObserved:o(),lastObserved:o()}),YB=N0.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(l3).optional()}),XB=d({since:o().nullable(),until:o().nullable(),lastRuns:m().int().nullable(),runCount:m().int()}),JB=S(["provider"]),Zf=d({domain:o(),mentions:m().int()}),c3=d({...S0,measurementScope:S(["project","all-markets"]).optional(),queryClass:S(["branded","non-brand","pooled"]),percent:Oe().nullable(),competitorCount:m().int().nonnegative(),projectMentions:m().int(),competitorMentions:m().int(),snapshotsWithAnswerText:m().int(),perCompetitor:y(Zf)});d({project:o(),groupBy:JB.optional(),window:XB,totals:N0,byProvider:y(l3).optional(),queries:y(YB),shareOfVoice:c3.optional()});const WB=S(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),eL=S(["up","down","flat"]),jw=d({availability:S(["available","no-observations","no-competitive-frame","classification-unavailable"]),point:xe().nullable(),ciLow:xe().nullable(),ciHigh:xe().nullable(),numerator:m().int(),denominator:m().int(),excludedUnknown:m().int().nonnegative().optional()}),tL=S(["mention-share-of-voice","cited-share-of-voice","mention-rate","cited-rate","mention-rate-branded","cited-rate-branded","mention-rate-non-brand","cited-rate-non-brand"]),nL=d({key:tL,label:o(),queryClass:S(["all","branded","non-brand","pooled"]),driftRobust:_(),from:jw,to:jw,rateRatio:m().nullable(),direction:Ze([eL,de()]),verdict:WB}),Vd=d({month:o(),since:o(),until:o(),runCount:m().int(),lowRunCount:_()}),u3=d({queryCount:m().int(),excludedFromOnly:m().int(),excludedToOnly:m().int(),providers:y(o()),excludedProviders:y(o())}),d3=d({provider:o(),fromModels:y(o()),toModels:y(o())}),aL=S(["included","model-discontinuous","model-unknown"]),iL=d({provider:o(),status:aL,fromModels:y(o()),toModels:y(o())}),sL=S(["comparable","model-discontinuous","model-unknown","insufficient-data"]),m3=d({status:sL,comparedProviders:y(o()),providers:y(iL)}),oL=d({provider:o(),from:d({checked:m().int(),mentioned:m().int(),cited:m().int()}),to:d({checked:m().int(),mentioned:m().int(),cited:m().int()})}),rL=d({from:d({count:m().int(),of:m().int()}),to:d({count:m().int(),of:m().int()})}),lL=d({scope:S(["project","group","market","property"]).optional(),scopeKey:o().min(1).optional(),marketKey:o().min(1).optional(),provider:o().min(1).optional(),location:o().min(1).optional()}),cL=d({from:Vd,to:Vd,basket:u3,continuity:m3,modelChanges:y(d3)});d({project:o(),selection:lL.optional(),classComparison:cL.optional(),from:Vd,to:Vd,basket:u3,metrics:y(nL),queriesMentioned:rL,byProvider:y(oL),modelChanges:y(d3),continuity:m3,competitors:d({from:y(Zf),to:y(Zf)})});S(["json","csv"]);const uL=d({runId:o(),runKind:R("answer-visibility"),runStatus:ma,runTrigger:r0,runCreatedAt:o(),runStartedAt:o().nullable(),runFinishedAt:o().nullable(),snapshotId:o(),snapshotCreatedAt:o(),queryId:o().nullable(),query:o().nullable(),provider:o(),model:o().nullable(),location:o().nullable(),citationState:Mi,cited:_(),answerMentioned:_().nullable(),mentionState:Ze([wc,de()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:Ze([cm,de()]),sourceCount:m().int().nonnegative().nullable(),resolvedCount:m().int().nonnegative().nullable(),captureVersion:m().int().positive().nullable(),competitorOverlap:y(o()),recommendedCompetitors:y(o()),answerText:o().nullable(),groundingSources:y(dm),searchQueries:y(o())}),dL=d({since:o().nullable(),until:o().nullable(),includeProbes:_()});d({schemaVersion:R("canonry.results-export/v1"),generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:dL,recordCount:m().int().nonnegative(),records:y(uL)});d({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:_().default(!1)}).strict().superRefine((e,n)=>{e.runIds.length+e.researchRunIds.length===0&&n.addIssue({code:"custom",message:"Select at least one saved run."}),(new Set(e.runIds).size!==e.runIds.length||new Set(e.researchRunIds).size!==e.researchRunIds.length)&&n.addIssue({code:"custom",message:"Run IDs must be unique."})});d({dryRun:_(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:m().int().nonnegative(),researchQueries:m().int().nonnegative(),insights:m().int().nonnegative(),healthSnapshots:m().int().nonnegative()});const Sm=S(["organic","paid"]);Sm.enum;d({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:_(),createdAt:o(),updatedAt:o()});d({date:o(),landingPage:o(),sessions:m(),organicSessions:m(),users:m()});const _0=S(["session","first_user","manual_utm"]),mL=d({source:o(),medium:o(),trafficClass:Sm,sessions:m(),users:m().optional(),sourceDimension:_0,share:xe()}),pL=d({source:o(),medium:o(),trafficClass:Sm,sourceDimension:_0,landingPage:o(),sessions:m(),users:m().optional()}),hL=d({source:o(),medium:o(),sessions:m(),users:m().optional(),channelGroup:o(),share:xe()}),ic=d({sessions:m(),sharePct:Oe(),sharePctDisplay:o()}),fL=d({organic:ic,social:ic,direct:ic,ai:ic,other:ic}),gL=d({totalSessions:m(),totalOrganicSessions:m(),totalDirectSessions:m(),totalUsers:m().nullable(),topPages:y(d({landingPage:o(),sessions:m(),organicSessions:m(),directSessions:m(),users:m(),organicShare:xe().nullable()})),aiReferrals:y(mL),aiReferralLandingPages:y(pL),aiSessionsDeduped:m(),aiUsersDeduped:m().optional(),paidAiSessionsDeduped:m(),paidAiUsersDeduped:m().optional(),organicAiSessionsDeduped:m(),organicAiUsersDeduped:m().optional(),aiSessionsBySession:m(),aiUsersBySession:m().optional(),paidAiSessionsBySession:m(),paidAiUsersBySession:m().optional(),organicAiSessionsBySession:m(),organicAiUsersBySession:m().optional(),socialReferrals:y(hL),socialSessions:m(),socialUsers:m().optional(),channelBreakdown:fL,organicSharePct:Oe(),aiSharePct:Oe(),aiSharePctBySession:Oe(),paidAiSharePct:Oe(),paidAiSharePctBySession:Oe(),organicAiSharePct:Oe(),organicAiSharePctBySession:Oe(),directSharePct:Oe(),socialSharePct:Oe(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:m(),otherSharePct:Oe(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});d({connected:_(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:S(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const yL=d({propertyId:o(),displayName:o(),accountName:o()});d({properties:y(yL)});d({synced:_(),rowCount:m().int().nonnegative(),aiReferralCount:m().int().nonnegative(),socialReferralCount:m().int().nonnegative(),days:m().int().nonnegative(),requestedDays:m().int().nonnegative(),clamped:_(),syncedAt:o(),measurement:d({acquisition:d({days:m().int().nonnegative(),status:S(["ready","error"]),rowCount:m().int().nonnegative(),error:o().optional()}),leads:d({days:m().int().nonnegative(),status:S(["ready","error","not-configured"]),rowCount:m().int().nonnegative(),attributionScope:S(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});const p3=S(["new","small-base","percent"]);p3.enum;const Yf=d({source:o(),sessions7d:m(),sessionsPrev7d:m(),changeSessions:m(),changePct:Oe().nullable(),changeBasis:p3});d({socialSessions7d:m(),socialSessionsPrev7d:m(),trend7dPct:Oe().nullable(),socialSessions30d:m(),socialSessionsPrev30d:m(),trend30dPct:Oe().nullable(),biggestMover:Yf.nullable()});const sc=d({sessions7d:m(),sessionsPrev7d:m(),trend7dPct:Oe().nullable(),sessions30d:m(),sessionsPrev30d:m(),trend30dPct:Oe().nullable()});d({organic:sc,ai:sc,social:sc,direct:sc,total:sc,aiBiggestMover:Yf.nullable(),socialBiggestMover:Yf.nullable()});gL.extend({windowStart:o().nullable(),windowEnd:o().nullable(),windowDays:m().nullable(),periodStart:o().nullable(),periodEnd:o().nullable()});d({date:o(),source:o(),medium:o(),trafficClass:Sm,landingPage:o(),sessions:m(),users:m(),sourceDimension:_0});const bL=d({source:o(),sessions:m(),paidSessions:m(),organicSessions:m()}),vL=d({date:o(),sessions:m(),paidSessions:m(),organicSessions:m(),bySource:y(bL)});d({days:y(vL),sources:y(o()),totalSessions:m(),totalPaidSessions:m(),totalOrganicSessions:m()});d({date:o(),source:o(),medium:o(),sessions:m(),users:m(),channelGroup:o()});d({date:o(),sessions:m(),organicSessions:m(),users:m(),usersSource:S(["deduplicated","landing-page-sum"])});d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:xe(),overallMentionRate:xe(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Qe(o(),d({citedRate:xe(),mentionRate:xe(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:S(["ready","no-data"]),reason:R("no-runs-yet").optional()});const xL=d({view:S(["project","visibility","property","queries","site-health"]),unavailableReason:o().trim().min(1).max(512).optional(),selection:Id.optional(),page:d({runId:o().trim().min(1).max(256).optional(),nodeKey:o().trim().min(1).max(2048).optional()}).strict().optional()}).strict().superRefine((e,n)=>{e.page&&e.view!=="site-health"&&n.addIssue({code:"custom",message:"Page context requires Site Health."}),e.selection&&!["visibility","property","queries"].includes(e.view)&&n.addIssue({code:"custom",message:"Measurement selection requires a measurement view."})}),wL=d({maxToolCalls:m().int().min(1).max(100).default(30),timeoutMs:m().int().min(1e3).max(6e5).default(18e4)}).strict(),T0=S(["claude","openai","gemini","zai","deepinfra"]),kL=d({id:T0,label:o(),defaultModel:o(),configured:_(),keySource:S(["config","env"]).nullable()});d({providers:y(kL).default([]),defaultProvider:T0.nullable()});const SL=S(["aero","user","compaction"]);SL.enum;const h3=128;d({key:o().min(1).max(h3),value:o().min(1)});d({key:o().min(1).max(h3)});d({prompt:o().trim().min(1),conversationId:o().min(1).nullable().optional(),provider:T0.optional(),modelId:o().trim().min(1).optional(),scope:S(["all","read-only"]).optional(),profile:S(["default","ads-operator"]).optional(),context:xL.optional(),limits:wL.optional()});const jL=_D({role:o(),content:kn().optional()}),f3=d({id:o(),title:o(),active:_(),modelProvider:o(),modelId:o(),createdAt:o(),updatedAt:o()});f3.extend({messages:y(jL),isStreaming:_()});d({conversations:y(f3),currentConversationId:o().nullable(),nextOffset:m().int().nullable()});d({id:iD()}).strict();d({id:o(),status:R("deleted")});const AL=["status","changes","gaps","insights"],CL=S(AL),NL=d({text:o().optional(),tool:d({name:o(),label:o(),arguments:Qe(o(),kn()),result:kn(),durationMs:m().int().nonnegative()})}),_L=d({id:CL,steps:y(NL),answer:o()});d({project:o(),seededAt:o(),starters:y(_L)});d({offset:qi().int().min(0).default(0),limit:qi().int().min(1).max(100).default(50)}).strict();const Yr=S(["commoncrawl","bing-webmaster"]);Yr.enum;const E0=S(["queued","downloading","querying","ready","failed"]);E0.enum;d({id:o(),release:o(),status:E0,phaseDetail:o().nullable().optional(),vertexPath:o().nullable().optional(),edgesPath:o().nullable().optional(),vertexSha256:o().nullable().optional(),edgesSha256:o().nullable().optional(),vertexBytes:m().int().nullable().optional(),edgesBytes:m().int().nullable().optional(),projectsProcessed:m().int().nullable().optional(),domainsDiscovered:m().int().nullable().optional(),downloadStartedAt:o().nullable().optional(),downloadFinishedAt:o().nullable().optional(),queryStartedAt:o().nullable().optional(),queryFinishedAt:o().nullable().optional(),error:o().nullable().optional(),createdAt:o(),updatedAt:o()});const TL=d({linkingDomain:o(),numHosts:m().int(),source:Yr}),EL=d({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Yr,excludedLinkingDomains:m().int().optional(),excludedHosts:m().int().optional()});d({source:Yr,summary:EL.nullable(),total:m().int(),rows:y(TL)});d({release:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Yr});const RL=d({source:Yr,connected:_(),hasData:_(),latestRelease:o().nullable(),totalLinkingDomains:m().int(),lastSyncedAt:o().nullable()});d({projectId:o(),targetDomain:o(),sources:y(RL),anyConnected:_(),anyData:_()});d({duckdbInstalled:_(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});d({installed:_(),version:o(),path:o(),alreadyPresent:_()});d({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:m().int().nullable(),edgesBytes:m().int().nullable(),lastModified:o().nullable()});d({release:o(),syncStatus:E0.nullable(),bytes:m().int(),lastUsedAt:o().nullable()});const DL="jev-1.13.0",Ee=o().trim().min(1).max(256),zt=m().int().nonnegative(),g3=Es(e=>typeof e=="string"?[e]:e,y(Ee).min(1).max(100)),df=xe(m().min(0).max(1)).nullable(),qr=S(["favorable","mixed","unfavorable","factual","subject-not-mentioned","wrong-subject","ambiguous-subject","ambiguous-judgment","subject-not-applicable","unsupported-language","missing-source-text","input-too-large","invalid-conclusion-evidence","pending","running","waiting-to-retry","failed","canceled"]);qr.enum;const R0=S(["disabled","not-measured","processing","partial","complete","failed","canceled","unsupported"]),D0=d({schemaVersion:Ze([R(1),R(2)]),requestedModel:R(DL),verdictVersion:Ee,identityVersion:Ee,evidenceVersion:Ee,segmentationVersion:Ee,preprocessingVersion:Ee,languagePolicy:R("en-only"),comparisonMethodVersion:R("wilson-independent-v1"),confidenceThreshold:m().min(0).max(1).nullable(),questions:d({identity:o(),judgment:o(),stance:o(),conclusion:o(),complaint:o()}).strict()}).strict();function y3(e){if(typeof e!="object"||e===null||!("schemaVersion"in e)||e.schemaVersion!==1)return e;const n=Object.fromEntries(Object.entries(e).filter(([i])=>i!=="themes"));return typeof n.questions=="object"&&n.questions!==null&&(n.questions=Object.fromEntries(Object.entries(n.questions).filter(([i])=>i!=="theme"))),n}Es(y3,D0);const b3=d({id:Ee,displayName:o(),aliases:y(o()),qualifiedAliases:y(o()).default([]),urls:y(o()),mentionNotApplicable:_()}).strict(),zL=d({queryId:Ee,executionNodeKey:Ee.nullable(),targetId:Ee,propertyId:Ee.nullable(),groupId:Ee.nullable(),marketId:Ee.nullable(),queryClass:S(["branded","non-brand"]),queryText:o().optional(),location:o().nullable()}).strict(),v3=d({queryId:Ee,queryText:o(),queryClass:S(["branded","non-brand"]),provider:Ee,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),revision:m().int().nullable(),usageEdges:y(zL),locationContext:un.nullable().default(null)}).strict(),Sc=d({id:Ee,text:o().min(1),start:zt,end:zt}).strict(),x3=d({kind:S(["reported","estimated","unknown"]),inputTokens:zt.nullable(),outputTokens:zt.nullable()}).strict(),IL=d({sourceSnapshotId:Ee,sourceText:o(),sourceTextHash:Ee,subject:b3,subjectHash:Ee,context:v3,language:o(),definition:D0,sentences:y(Sc)}).strict();Es(e=>typeof e!="object"||e===null||!("definition"in e)?e:{...e,definition:y3(e.definition)},IL);const mf={returnedModel:o().nullable(),usage:x3},OL=Me("kind",[d({kind:R("classified"),...mf,returnedModel:o(),outcome:qr,conclusion:y(Sc),complaint:y(Sc).nullable(),confidence:m().min(0).max(1).nullable()}).strict(),d({kind:R("abstained"),...mf,outcome:qr,reason:o()}).strict(),d({kind:R("failed"),...mf,outcome:R("failed"),error:d({code:Ee,message:o(),retryable:_(),retryAfterMs:m().nonnegative().nullable()}).strict()}).strict()]).superRefine((e,n)=>{e.kind==="classified"&&["favorable","mixed","unfavorable"].includes(e.outcome)&&e.conclusion.length===0&&n.addIssue({code:"custom",path:["conclusion"],message:"Judgments require conclusion evidence"})});Es(e=>typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([n])=>n!=="themes")):e,OL);const Xr=d({runId:Ee.optional(),runIds:g3.optional(),revision:qi().int().positive().optional(),mode:S(["auto","simple","advanced"]).default("auto"),queryClass:S(["branded","non-brand"]).default("branded"),scope:S(["project","property","group","market"]).default("project"),queryId:Ee.optional(),scopeKey:Ee.optional(),marketKey:Ee.optional(),provider:Ee.optional(),model:Ee.optional(),location:o().min(1).optional(),evaluationDefinitionId:Ee.optional(),executionNodeKey:Ee.optional()}).strict();function Pc(e,n){e.runId&&e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Choose runId or runIds, not both."}),e.runIds&&new Set(e.runIds).size!==e.runIds.length&&n.addIssue({code:"custom",path:["runIds"],message:"Run IDs must be unique."})}Xr.superRefine(Pc);const qL=S(["assessments","locations"]),PL=25,w3=500;Xr.extend({include:Es(e=>typeof e=="string"?e.split(",").map(n=>n.trim()).filter(Boolean):e,y(qL).max(2)).optional(),queryLimit:qi().int().min(1).max(w3).default(PL),queryCursor:o().min(1).max(16384).optional()}).superRefine(Pc);Xr.extend({assessmentId:Ee.optional(),cursor:o().min(1).max(16384).optional(),limit:qi().int().min(1).max(100).default(50)}).superRefine(Pc);Xr.extend({fromRunId:Ee,toRunId:Ee}).superRefine((e,n)=>{Pc(e,n),e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Comparison requires one explicit run per period."})});const z0=Xr.extend({runId:Ee.nullable(),revision:m().int().nullable(),evaluationDefinitionId:Ee.nullable(),mode:S(["simple","advanced"])}),I0=d(Object.fromEntries(qr.options.map(e=>[e,zt]))).strict(),ML=d({selected:zt,eligibleAssessments:zt,unadmittedAssessments:zt,judged:zt,distinctSourceAnswers:zt,counts:I0,expectedProviderSlots:zt,completedProviderSlots:zt}).strict(),BL=d({favorableRate:df,mixedRate:df,unfavorableRate:df,favorableDisplay:o(),mixedDisplay:o(),unfavorableDisplay:o(),interval:d({low:m(),high:m()}).strict().nullable(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Pr={state:R0,reason:o().nullable(),provisional:_(),coverage:ML,score:BL},Aw=d({...Pr,selection:z0,runIds:y(Ee)}).strict(),LL=d({...Pr,queryClass:R("all"),runIds:y(Ee)}).strict(),VL=d({configured:_(),branded:Aw,nonBrand:Aw,overall:LL.optional()}).strict(),$L=d({assessmentId:Ee.nullable(),sourceSnapshotId:Ee,runId:Ee,subjectId:Ee,subjectLabel:o(),executionNodeKey:Ee.nullable(),provider:Ee,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),evaluationDefinitionId:Ee.nullable(),state:R0,outcome:Ze([qr,de()]),reason:o().nullable()}).strict(),UL=d({...Pr,queryId:Ee,executionNodeKey:Ee.nullable().optional(),queryText:o(),queryClass:S(["branded","non-brand"]),sourceSnapshotIds:y(Ee),assessments:y($L).default([]),locations:y(d({...Pr,location:o().nullable(),sourceSnapshotIds:y(Ee)}).strict())}).strict(),GL=d({...Pr,dimension:S(["provider","property","market","query"]),key:o(),label:o(),queryClass:S(["branded","non-brand"])}).strict(),Xf=d({...Pr,configured:_(),selection:z0,evaluationDefinition:D0.nullable(),breakdowns:y(GL),queries:y(UL),queryPage:d({total:zt,limit:zt,nextCursor:o().nullable()}).strict().optional()}).strict();d({enabled:_().optional()}).strict();const KL=d({installEnabled:_(),enabled:_(),ready:_(),readinessReasons:y(o()),model:o(),enablementEpoch:zt,completionBoundary:zt,evaluationDefinitionId:Ee.nullable(),actions:d({configure:_(),backfill:_()}).strict(),experimental:R(!0),disclosure:o()}).strict(),k3=Xr.extend({runIds:g3.optional(),from:o().datetime().optional(),to:o().datetime().optional()}).superRefine(Pc);d({previewToken:o().min(1).max(65536),idempotencyKey:o().trim().min(1).max(128)}).strict();const HL=d({previewToken:o().nullable(),expiresAt:o().nullable(),selection:k3,evaluationDefinitionId:Ee.nullable(),eligibleAssessments:zt,alreadyClassified:zt,skipped:y(d({runId:Ee,reason:o(),count:zt}).strict()),estimatedInputTokens:zt,estimatedCostUsd:m().nonnegative().nullable(),estimateMethod:o()}).strict(),QL=S(["pending","running","waiting-to-retry","complete","partial","failed","canceled"]),FL=d({id:Ee,workItemId:Ee,dispatchedAt:o(),completedAt:o().nullable(),returnedModel:o().nullable(),usage:x3,errorCode:o().nullable()}).strict(),S3=d({id:Ee,projectId:Ee,origin:S(["automatic","backfill"]),state:QL,enablementEpoch:zt,evaluationDefinitionId:Ee,selection:k3,createdAt:o(),updatedAt:o(),counts:I0,selected:zt,cancellationReason:o().nullable(),attempts:y(FL),attemptCount:zt.optional(),nextAttemptCursor:o().nullable().optional()}).strict(),ZL=S3.omit({attempts:!0,attemptCount:!0,nextAttemptCursor:!0}).extend({attemptCount:zt}).strict(),YL=d({jobs:y(ZL)}).strict(),XL=50;d({attemptLimit:qi().int().min(1).max(200).default(XL),attemptCursor:o().min(1).max(4096).optional()}).strict();const JL=d({assessmentId:Ee,runId:Ee,sourceSnapshotId:Ee,sourceText:o(),sourceTextHash:Ee,subject:b3,subjectHash:Ee,context:v3,evaluationDefinitionId:Ee,outcome:qr,conclusion:y(Sc),complaint:y(Sc).nullable(),returnedModel:o().nullable(),reason:o().nullable()}).strict(),WL=d({state:R0,selection:z0.extend({assessmentId:Ee.optional()}),items:y(JL),nextCursor:o().nullable()}).strict(),eV=d({from:Xf,to:Xf,verdict:S(["improved","declined","no-clear-change"]).nullable(),favorableRateDelta:m().nullable(),refusalReasons:y(o()),commonUnits:zt,excludedFrom:zt,excludedTo:zt,changedScope:_(),method:R("wilson-independent-v1"),limitation:o()}).strict(),O0=S(["positive","caution","negative","neutral"]),xs=d({label:o(),value:o(),delta:o(),tone:O0,description:o(),tooltip:o().optional(),trend:y(Oe()),progress:Oe().optional(),providerCoverage:o().optional()}),Cw=d({projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative(),combinedMentionSnapshots:m().int().nonnegative(),perCompetitor:y(d({domain:o(),mentionSnapshots:m().int().nonnegative(),shareOfCompetitiveTotal:Oe()})),ranking:y(d({kind:S(["project","competitor"]),domain:o().nullable(),mentionSnapshots:m().int().nonnegative(),share:xe(m().min(0).max(1))})),snapshotsWithAnswerText:m().int().nonnegative(),snapshotsTotal:m().int().nonnegative(),score:Oe(m().min(0).max(100)).nullable()}),tV=xs.extend({breakdown:Cw,scope:S(["non-brand","pooled"]),branded:Cw}),pf=d({gained:m().int().nonnegative(),lost:m().int().nonnegative(),tone:O0,hasPreviousRun:_(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),nV=d({hasPreviousRun:_(),comparable:_(),querySetChanged:_(),previousRunAt:o().nullable(),currentQueryCount:m().int().nonnegative(),previousQueryCount:m().int().nonnegative(),comparableQueryCount:m().int().nonnegative(),addedQueryCount:m().int().nonnegative(),removedQueryCount:m().int().nonnegative(),addedQueries:y(o()),removedQueries:y(o())}),aV=d({id:o(),projectId:o(),runId:o().nullable(),type:S(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:S(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:d({action:o(),target:o().optional(),reason:o()}).optional(),cause:d({cause:o(),competitorDomain:o().optional(),details:o().optional()}).optional(),dismissed:_(),createdAt:o()}),iV=d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:xe(),overallMentionRate:xe(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Qe(o(),d({citedRate:xe(),mentionRate:xe(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:S(["ready","no-data"]),reason:R("no-runs-yet").optional()});d({sentiment:VL.optional(),project:N9,latestRun:OO,health:iV.nullable(),topInsights:y(aV),queryClassScope:d({queryClass:R("all"),figures:y(o()),note:o()}).optional(),queryCounts:d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),notCitedQueries:m().int().nonnegative(),citedRate:xe(),mentionedQueries:m().int().nonnegative(),notMentionedQueries:m().int().nonnegative(),mentionRate:xe()}),providers:y(d({provider:o(),citedRate:xe(),cited:m().int().nonnegative(),total:m().int().nonnegative()})),transitions:d({since:o().nullable(),gained:m().int().nonnegative(),lost:m().int().nonnegative(),emerging:m().int().nonnegative()}),scores:d({mention:xs,visibility:xs,mentionShare:tV,gapQueries:xs,mentionGaps:xs,indexCoverage:xs,competitorPressure:xs,runStatus:xs}),movementSummary:pf,citationMovement:pf,mentionMovement:pf,movementComparison:nV,competitors:y(d({id:o(),domain:o(),citationCount:m().int().nonnegative(),totalQueries:m().int().nonnegative(),pressureLabel:S(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(d({provider:o(),model:o().nullable(),score:Oe(),cited:m().int().nonnegative(),total:m().int().nonnegative(),trend:y(Oe()).optional()})),attentionItems:y(d({id:o(),tone:O0,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(d({runId:o(),createdAt:o(),citedCount:m().int().nonnegative(),totalCount:m().int().nonnegative(),citationRate:Oe(),mentionedCount:m().int().nonnegative(),mentionRate:Oe(),status:o()})),suggestedQueries:d({rows:y(d({query:o(),impressions:m(),clicks:m(),avgPosition:m(),reason:o()})),totalCandidates:m().int().nonnegative(),skippedAlreadyTracked:m().int().nonnegative()}),dateRangeLabel:o(),contextLabel:o()});S(["snapshot","insight"]);const sV=d({kind:R("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:Mi,matchedField:S(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),oV=d({kind:R("insight"),id:o(),runId:o().nullable(),type:S(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:S(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:S(["title","query","recommendation","cause"]),snippet:o(),dismissed:_(),createdAt:o()}),rV=Me("kind",[sV,oV]);d({query:o(),totalHits:m().int().nonnegative(),truncated:_(),hits:y(rV)});const j3=S(["create","expand","refresh","add-schema"]);j3.enum;function lV(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const A3=S(["gsc","competitor-evidence","both"]);A3.enum;const C3=S(["high","medium","low"]);C3.enum;function cV(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}const uV=S(["blog-post","comparison","listicle","how-to","guide","glossary"]);uV.enum;const N3=S(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);N3.enum;const q0=S(["ownable","ceded"]),lee=q0.enum;function cee(e){switch(e){case"ownable":return"Ownable";case"ceded":return"Ceded"}}const dV=d({url:o(),gscImpressions:m().nonnegative(),gscClicks:m().nonnegative(),gscAvgPosition:m().nonnegative().nullable(),organicSessions:m().nonnegative()}),mV=d({domain:o(),url:o(),title:o(),citationCount:m().int().nonnegative()}),pV=d({demand:m(),competitor:m(),absence:m(),gapSeverity:m()}),hV=d({actionId:o(),state:N3,lastUpdated:o()}),_3=d({targetRef:o(),query:o(),action:j3,ourBestPage:dV.nullable(),winningCompetitor:mV.nullable(),score:m(),scoreBreakdown:pV,drivers:y(o()),demandSource:A3,actionConfidence:C3,existingAction:hV.nullable(),winnabilityClass:q0,winnability:xe(m().min(0).max(1)).nullable()});d({targets:y(_3),contextMetrics:d({totalAiReferralSessions:m().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const fV=d({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});d({dismissals:y(fV)});d({targetRef:o().min(1),addressedUrl:o().url().optional(),note:o().max(500).optional()});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),responseText:o(),costMillicents:m().int().nonnegative(),generatedAt:o()});d({provider:o().optional(),model:o().optional(),forceRefresh:_().optional()});const gV=d({targetQuery:o().trim().min(1),winnabilityClass:q0,angle:o().trim().min(1),whyWinnable:o().trim().min(1),schemaHookup:o().trim().min(1),controllableSurfaceRationale:o().trim().min(1)});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),brief:gV,costMillicents:m().int().nonnegative(),generatedAt:o()});const yV=d({domain:o(),competitorType:xm,hits:m().int().nonnegative(),updatedAt:o()});d({classifications:y(yV)});const bV=d({uri:o(),title:o(),domain:o(),isOurDomain:_(),isCompetitor:_(),citationCount:m().int().nonnegative(),providers:y(kt)}),T3=d({query:o(),groundingSources:y(bV)});d({sources:y(T3),latestRunId:o()});const E3=d({query:o(),competitorDomains:y(o()),competitorCount:m().int().nonnegative(),missRate:xe(m().min(0).max(1)),lastSeenInRunId:o()});d({gaps:y(E3),latestRunId:o()});const R3=S(["ok","warn","fail","skipped"]);R3.enum;const P0=S(["global","project"]);P0.enum;const D3=S(["auth","config","providers","integrations","database","schedules","agent"]);D3.enum;const z3=S(["health","silent"]);z3.enum;const vV=o().regex(/^[1-9]\d{3}-(0[1-9]|1[0-2])$/,"Expected YYYY-MM"),xV=d({id:o(),category:D3,scope:P0,title:o(),status:R3,notificationPolicy:z3.optional().describe("Health checks page by default. Silent report advisories remain visible but never affect health alert state."),code:o().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:o(),remediation:o().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:Qe(o(),kn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:m().int().nonnegative().describe("How long the check took to execute.")});d({scope:P0,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),reportMonths:y(vV).optional().describe("Calendar months evaluated by project report readiness checks."),generatedAt:o().describe("ISO-8601 timestamp when this doctor run started."),durationMs:m().int().nonnegative(),summary:d({total:m().int().nonnegative(),ok:m().int().nonnegative(),warn:m().int().nonnegative(),fail:m().int().nonnegative(),skipped:m().int().nonnegative()}),checks:y(xV)});function wV(e){return e.trim().toLowerCase()}const kV=d({provider:o(),citationState:Mi,cited:_(),mentioned:_(),runId:o(),runCreatedAt:o()}),SV=d({queryId:o(),query:o(),providers:y(kV),citedCount:m().int().nonnegative(),mentionedCount:m().int().nonnegative(),totalProviders:m().int().nonnegative()}),jV=d({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),AV=d({providersConfigured:m().int().nonnegative(),providersCiting:m().int().nonnegative(),providersMentioning:m().int().nonnegative(),totalQueries:m().int().nonnegative(),queriesCitedAndMentioned:m().int().nonnegative(),queriesCitedOnly:m().int().nonnegative(),queriesMentionedOnly:m().int().nonnegative(),queriesInvisible:m().int().nonnegative(),latestRunId:o().nullable(),latestRunAt:o().nullable()});d({summary:AV,byQuery:y(SV),competitorGaps:y(jV),status:S(["ready","no-data"]),reason:S(["no-runs-yet","no-queries"]).optional()});const CV=d({selection:G2,historyWindow:d({from:o().datetime(),to:o().datetime()}).optional(),populations:y(U2.pick({queryClass:!0,summary:!0,trend:!0}))}),En={title:"AI visibility",description:"Each answer is counted once for its assigned properties. Branded and non-brand queries are measured separately.",simpleDescription:"Each saved answer is counted once. Branded and non-brand queries are measured separately.",queryType:"Query type",queries:"Queries measured",answers:"Answers measured",mentioned:"Mentioned",cited:"Cited",history:"Measurement history",latestMeasurement:"Latest measurement",allLocations:"All measured locations",noLocation:"No provider location",location:"Location",previousOutsideWindow:"Previous measurement outside this period",date:"Date",comparison:"Comparison",notMeasured:"Not measured",incomplete:"Evidence incomplete",ambiguous:"Property identity unverified",noPopulation:"No measured answers",notApplicable:"Not applicable",comparable:"Comparable",baseline:"Baseline",changed:"Measurement changed",unknownHistory:"Comparison unavailable"};function uee(e){return{branded:"Branded","non-brand":"Non-brand",unknown:"Unclassified"}[e]}function dee(e){return e.rate===null?En.notMeasured:cn(e.rate)}function mee(e){if(e.numerator!==null&&e.denominator!==null)return`${e.numerator} of ${e.denominator} answers`;switch(e.reason){case"no-population":return En.noPopulation;case"not-applicable":return En.notApplicable;case"identity-ambiguous":return En.ambiguous;default:return En.incomplete}}const pee="No answer could be tied to one property";function hee(e){return e.denominator===null||e.denominator===void 0||e.unattributed===void 0||e.unattributed<=0?null:`${e.unattributed} of ${e.denominator+e.unattributed} answers could not be tied to one property`}function fee(e,n=!1){const i=e==="first"?En.baseline:e==="comparable"?En.comparable:e==="legacy-unknown"?En.unknownHistory:En.changed;return n?`${i} · ${En.previousOutsideWindow}`:i}function gee(e){const n=e.selection.measurement.completedAt?.slice(0,10)??En.notMeasured;return`${En.latestMeasurement}: ${n}`}function yee(e){const n=e.historyWindow;return n===void 0?En.history:`${En.history} (${n.from.slice(0,10)} – ${n.to.slice(0,10)})`}function bee(e){const n=e.selection.location;return n.kind==="all"?En.allLocations:n.kind==="none"?En.noLocation:`${En.location}: ${n.value}`}const vee=[7,14,30,90],xee=30;Ze([R(7),R(14),R(30),R(90)]).describe("Report window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const NV=S(["prompt","request-param","browser-geo","ignored"]),_V=d({label:o(),city:o(),region:o(),country:o(),otherConfiguredLabels:y(o())}),TV=d({provider:o(),treatment:NV,description:o()}),EV=d({generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),location:_V.nullable(),providerLocationHandling:y(TV),periodStart:o().nullable(),periodEnd:o().nullable(),periodDays:m().int().positive()}),RV=d({visibilityBasis:S(["legacy-project-queries","frozen-populations"]).optional(),citationRate:Oe().nullable(),citedQueryCount:m().nullable(),totalQueryCount:m().nullable(),mentionRate:Oe().nullable(),mentionedQueryCount:m().nullable(),trend:S(["up","down","flat","unknown"]),queryCount:m(),competitorCount:m(),providerCount:m(),gsc:d({clicks:m(),impressions:m(),ctr:xe(),avgPosition:m(),periodStart:o(),periodEnd:o()}).nullable(),ga:d({sessions:m(),users:m(),periodStart:o(),periodEnd:o()}).nullable(),findings:y(d({title:o(),detail:o(),tone:S(["positive","caution","negative","neutral"])}))}),DV=d({citationState:S(["cited","not-cited","pending"]),answerMentioned:_().nullable(),model:o().nullable()}),zV=d({queries:y(o()),providers:y(o()),matrix:y(y(DV.nullable())),providerRates:y(d({provider:o(),citedCount:m(),mentionedCount:m(),totalCount:m(),citationRate:Oe(),mentionRate:Oe()}))}),IV=d({domain:o(),citationCount:m(),totalCount:m(),pressureLabel:S(["High","Moderate","Low","None"]),citedQueries:y(o()),sharePct:Oe(),theirCitedPages:y(d({url:o(),citedFor:y(o())}))}),OV=d({projectCitationCount:m(),competitors:y(IV)}),qV=d({domain:o(),mentionCount:m(),totalCount:m(),pressureLabel:S(["High","Moderate","Low","None"]),mentionedQueries:y(o()),sharePct:Oe().nullable()}),hf=d({shareOfVoice:c3.optional(),projectMentionCount:m(),totalAnswerSnapshots:m(),competitors:y(qV)}),PV=hf.extend({scope:S(["non-brand","pooled"]),nonBrand:hf,branded:hf}),MV=d({category:o(),label:o(),count:m(),sharePct:Oe()}),BV=d({categories:y(MV),topDomains:y(d({domain:o(),count:m(),isCompetitor:_()}))}),LV=d({query:o(),clicks:m(),impressions:m(),ctr:xe(),avgPosition:m(),category:S(["brand","lead-gen","industry","other"])}),VV=d({periodStart:o(),periodEnd:o(),totalClicks:m(),totalImpressions:m(),ctr:xe(),avgPosition:m(),topQueries:y(LV),categoryBreakdown:y(d({category:S(["brand","lead-gen","industry","other"]),clicks:m(),impressions:m(),sharePct:Oe()})),trend:y(d({date:o(),clicks:m(),impressions:m()})),trackedButNoGsc:y(o()),gscButNotTracked:y(o())}),$V=d({totalSessions:m(),totalUsers:m(),totalOrganicSessions:m(),periodStart:o(),periodEnd:o(),topLandingPages:y(d({page:o(),sessions:m(),users:m().optional(),organicSessions:m()})),channelBreakdown:y(d({channel:o(),sessions:m(),sharePct:Oe()}))}),UV=d({totalSessions:m(),organicSessions:m(),paidSessions:m(),channels:y(d({channelGroup:o(),sessions:m(),sharePct:Oe()})),topCampaigns:y(d({source:o(),medium:o(),sessions:m()}))}),GV=d({totalSessions:m(),paidSessions:m(),organicSessions:m(),totalUsers:m().optional(),paidUsers:m().optional(),organicUsers:m().optional(),bySource:y(d({source:o(),sessions:m(),users:m().optional(),paidSessions:m(),organicSessions:m(),sharePct:Oe()})),trend:y(d({date:o(),sessions:m()})),topLandingPages:y(d({page:o(),sessions:m(),users:m().optional()}))}),co=d({current:m(),prior:m(),deltaPct:Oe().nullable()}),KV=d({windowStart:o(),windowEnd:o(),hasData:_(),verifiedCrawlerHits:co,unverifiedCrawlerHits:co,aiUserFetchHits:co,referralArrivals:co,referralRedirects:m().int().nonnegative(),referralArrivalsByClass:d({paid:co,organic:co,unclassified:co}),referralArrivalsClassSummary:o(),byOperator:y(d({operator:o(),verifiedHits:m(),unverifiedHits:m(),userFetchHits:m(),referralArrivals:m(),deltaPct:Oe().nullable()})),topCrawledPaths:y(d({path:o(),verifiedHits:m(),unverifiedHits:m().default(0),distinctOperators:m()})),referralProducts:y(d({product:o(),arrivals:m(),distinctLandingPaths:m()})),dailyTrend:y(d({date:o(),verifiedCrawlerHits:m(),unverifiedCrawlerHits:m().default(0),userFetchHits:m(),referralArrivals:m()})),topReferralLandingPaths:y(d({path:o(),arrivals:m(),distinctProducts:m()}))}),HV=d({provider:S(["google","bing"]).nullable(),total:m(),indexed:m(),notIndexed:m(),deindexed:m(),unknown:m(),indexedPct:Oe()}),QV=d({runId:o(),date:o(),citationRate:Oe(),citedQueryCount:m(),totalQueryCount:m(),mentionRate:Oe(),mentionedQueryCount:m(),providerRates:y(d({provider:o(),citationRate:Oe(),mentionRate:Oe()}))}),I3=S(["regression","gain","opportunity"]),FV=I3.enum,Jf=d({id:o(),type:I3,severity:S(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:o().nullable(),createdAt:o(),instanceCount:m()}),ZV=d({horizon:S(["immediate","short-term","medium-term"]),title:o(),rationale:o()}),kr=d({current:m(),prior:m(),deltaAbs:m(),deltaPct:Oe().nullable(),direction:S(["up","down","flat"]),window:m().optional()}),YV=d({provider:o(),current:Oe(),prior:Oe(),deltaAbs:Oe(),direction:S(["up","down","flat"])}),XV=d({enoughHistory:_(),headline:o(),citationRate:kr.nullable(),mentionRate:kr.nullable(),citedQueryCount:kr.nullable(),mentionedQueryCount:kr.nullable(),gscClicksDelta:kr.nullable(),aiReferralsDelta:kr.nullable(),comparisonWindowDays:m().int().positive(),providerMovements:y(YV),wins:y(Jf),regressions:y(Jf)}),JV=S(["agency","client"]),O3=S(["agency","client","both"]),WV=S(["immediate","short-term","medium-term"]),e$=S(["high","medium","low"]);S(["positive","caution","negative","neutral"]);const t$=S(["content","competitors","provider","search-demand","indexing","location","monitoring"]),M0=d({audience:O3,priority:m(),horizon:WV,category:t$,title:o(),action:o(),why:y(o()),evidence:y(o()),successMetric:o(),confidence:e$,targetRef:o().optional()}),n$=d({headline:o(),overview:o(),actionItems:y(M0),confidenceNotes:y(o())}),a$=d({title:o(),detail:o(),severity:S(["positive","caution","negative","neutral"]),evidence:y(o())}),i$=d({priorities:y(M0),diagnostics:y(a$)});function wee(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function kee(e){return e==="High"?"negative":e==="Moderate"?"caution":e==="Low"?"positive":"neutral"}function s$(e){switch(e){case"critical":return"negative";case"high":return"negative";case"medium":return"caution";case"low":return"neutral"}}function See(e){return e.type===FV.gain?"positive":s$(e.severity)}function jee(e){switch(e){case wd.competitor:return"negative";case wd.directory:case wd.forum:return"caution";default:return"neutral"}}function Aee(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function o$(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function Cee(e){switch(e){case"content":return"Content";case"competitors":return"Competitors";case"provider":return"Provider";case"search-demand":return"Search demand";case"indexing":return"Indexing";case"location":return"Location";case"monitoring":return"Monitoring"}}function r$(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}d({visibility:CV.optional(),meta:EV,executiveSummary:RV,citationScorecard:zV,competitorLandscape:OV,mentionLandscape:PV,aiSourceOrigin:BV,gsc:VV.nullable(),ga:$V.nullable(),socialReferrals:UV.nullable(),aiReferrals:GV.nullable(),serverActivity:KV.nullable(),indexingHealth:HV.nullable(),citationsTrend:y(QV),whatsChanged:XV,insights:y(Jf),recommendedNextSteps:y(ZV),actionPlan:y(M0),clientSummary:n$,agencyDiagnostics:i$,contentOpportunities:y(_3),contentGaps:y(E3),groundingSources:y(T3)});const l$=Ze([R(60),R(90)]),c$=S(["earliest","middle","prior","latest"]),Sr=d({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),q3=d({name:c$,startDate:o(),endDate:o()}),u$=q3.extend({totals:Sr}),d$=q3.extend({organicSessions:m().int().nonnegative()}),ff=d({startDate:o(),endDate:o(),observedDays:m().int().nonnegative()}),ud=d({verified:m().int().nonnegative(),claimedUnverified:m().int().nonnegative(),unknownAiLike:m().int().nonnegative()}),Nw=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({contractVersion:R("organic-evidence/v1"),periodDays:l$,asOfDate:o().nullable(),coverage:d({gsc:_(),ga4:_(),server:_(),visibility:_()}),sourceCoverage:d({gsc:ff.nullable(),ga4:ff.nullable(),server:ff.nullable(),visibility:d({completedAt:o(),ageDays:m().nonnegative()}).nullable()}),gsc:d({propertyTotals:Sr,namedBrand:Sr,namedNonBrand:Sr,suppressedOrUnreportedResidual:Sr,cohorts:y(u$)}).nullable(),ga4:d({organicSessions:m().int().nonnegative(),cohorts:y(d$)}).nullable(),gaAiReferrals:d({paidSessions:m().int().nonnegative(),organicSessions:m().int().nonnegative()}).nullable(),server:d({crawlerHits:ud,userFetchHits:ud,referralSessions:Nw}).nullable(),visibility:d({runId:o(),completedAt:o(),ageDays:m().nonnegative(),answerPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative()}).nullable(),measurement:fz,pages:y(d({path:o(),gsc:Sr,ga4OrganicSessions:m().int().nonnegative(),server:d({crawlerHits:ud,userFetchHits:ud,referralSessions:Nw})})),findings:y(d({tone:S(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(d({code:o(),detail:o()}))});const m$=new Set(["a","an","and","for","from","in","near","of","on","or","the","to"]);function P3(e){return e.toLowerCase().match(/[a-z0-9]+/g)??[]}function M3(e){return e.length>4&&e.endsWith("ies")?`${e.slice(0,-3)}y`:e.length>4&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e}function B3(e){const n=e.meta.location;return n?new Set([n.label,n.city,n.region,n.country].flatMap(P3).map(M3).filter(Boolean)):new Set}function L3(e,n){const i=P3(e).map(M3).filter(Boolean).filter(r=>!m$.has(r)).filter(r=>!n.has(r));return[...new Set(i)].sort().join(" ")}function p$(e){return e.title.match(/"([^"]+)"/)?.[1]??e.successMetric.match(/"([^"]+)"/)?.[1]??e.title}function V3(e,n){const i=B3(e);if(n.length<=1||i.size===0)return[...n];const r=new Set,u=[];for(const h of n){if(h.category!=="content"){u.push(h);continue}const f=L3(p$(h),i);!f||r.has(f)||(r.add(f),u.push(h))}return u}function h$(e){const n=B3(e),i=e.contentOpportunities;if(i.length<=1||n.size===0)return i;const r=new Set;return i.filter(u=>{const h=L3(u.query,n);return!h||r.has(h)?!1:(r.add(h),!0)})}const f$=S(["claude","codex"]);f$.enum;const g$=S(["claude","codex","all"]);g$.enum;const $3=d({content:m().int().nonnegative(),sitemap:m().int().nonnegative(),robots:m().int().nonnegative(),asset:m().int().nonnegative(),other:m().int().nonnegative()}),y$=S(["content","sitemap","robots","asset","other"]),B0=S(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);B0.enum;const b$=S(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);b$.enum;const v$=S(["raw-request","aggregate-bucket"]),x$=v$.enum,w$=S(["observed","provider-aggregated","inferred"]),k$=w$.enum,S$=d({type:o().nullable(),labels:Qe(o(),o())}),j$=d({sourceType:B0,evidenceKind:R(x$["raw-request"]),confidence:R(k$.observed),eventId:o().min(1),observedAt:o().min(1),method:o().nullable(),requestUrl:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),latencyMs:m().nullable(),requestSizeBytes:m().int().nullable(),responseSizeBytes:m().int().nullable(),providerResource:S$,providerLabels:Qe(o(),o())});d({events:y(j$),rawEntryCount:m().int().nonnegative(),skippedEntryCount:m().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const U3=S(["connected","paused","error","archived"]),Nee=U3.enum,G3=S(["oauth","service-account"]);G3.enum;const A$=S(["verified","claimed_unverified","unknown_ai_like"]),_ee=A$.enum,C$=d({id:o().min(1),source:o().min(1),version:o().min(1)}),K3=d({manifestId:o().min(1),manifest:C$.nullable(),hits:m().int().nonnegative()});d({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:G3});d({baseUrl:o().url(),username:o().min(1)});const L0=S(["production","preview"]);L0.enum;d({projectId:o().min(1),teamId:o().min(1),environment:L0});const H3=d({id:o(),projectId:o(),sourceType:B0,displayName:o(),status:U3,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:m().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:Qe(o(),kn()),createdAt:o(),updatedAt:o()});d({gcpProjectId:o().min(1),serviceName:o().min(1).optional(),location:o().min(1).optional(),displayName:o().min(1).optional(),keyJson:o().optional()});d({baseUrl:o().url(),username:o().min(1),applicationPassword:o().min(1),displayName:o().min(1).optional()});d({projectId:o().min(1),teamId:o().min(1),token:o().min(1),environment:L0.optional(),displayName:o().min(1).optional()});const N$=S(["direct-push","queue-pull"]),Jr=N$.enum,V0=o().regex(/^(?=.{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,"Cloudflare Queue name must be 1-63 characters, use only letters, numbers, or dashes, and start and end with a letter or number"),Q3=d({schemaVersion:R(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),_$=Q3.extend({deliveryMode:R(Jr["direct-push"]),accountId:o().nullable()}),T$=Q3.extend({deliveryMode:R(Jr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:V0,retentionSeconds:m().int().min(60).max(1209600)});function F3(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}Es(F3,Me("deliveryMode",[_$,T$]));const Z3=d({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),E$=Z3.extend({deliveryMode:R(Jr["direct-push"]),accountId:o().min(1).optional()}),R$=Z3.extend({deliveryMode:R(Jr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:V0,retentionSeconds:m().int().min(60).max(1209600),apiToken:o().min(1)});Es(F3,Me("deliveryMode",[E$,R$]));const Y3=d({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),D$=Y3.extend({deliveryMode:R(Jr["direct-push"]),activationRequired:_().default(!1)}),z$=Y3.extend({deliveryMode:R(Jr["queue-pull"]),activationRequired:_().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:V0,retentionSeconds:m().int().min(60).max(1209600)});Me("deliveryMode",[D$,z$]);const I$=d({eventId:o().min(1),observedAt:o().datetime(),method:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),cf:d({verifiedBot:_().nullable(),botScore:m().int().nullable(),country:o().nullable(),asn:m().int().nullable(),asOrganization:o().nullable()}).nullable()});d({schemaVersion:R(1),workerVersion:o().min(1),events:y(I$).min(1).max(100)});d({acceptedEvents:m().int(),droppedEvents:m().int(),workerVersionAck:o(),crawlerBucketRows:m().int(),aiUserFetchBucketRows:m().int(),aiReferralBucketRows:m().int(),sampleRows:m().int()});d({sourceId:o(),runId:o(),syncedAt:o(),pulledEvents:m().int().nonnegative(),selfTrafficExcluded:m().int().nonnegative(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),unknownHits:m().int().nonnegative(),crawlerBucketRows:m().int().nonnegative(),aiUserFetchBucketRows:m().int().nonnegative(),aiReferralBucketRows:m().int().nonnegative(),sampleRows:m().int().nonnegative(),remainingBacklogCount:m().int().nonnegative().optional(),windowStart:o(),windowEnd:o()});d({days:m().int().positive().optional()});d({advanceToNow:R(!0)});d({sourceId:o(),runId:o(),status:ma,windowStart:o(),windowEnd:o(),daysRequested:m().int().positive(),daysApplied:m().int().positive()});const O$=d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:$3,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),sampleCount:m().int().nonnegative()});d({sources:y(H3)});const q$=H3.extend({totals24h:O$,latestRun:d({runId:o(),status:ma,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});d({sources:y(q$)});const P$=S(["crawler","ai-user-fetch","ai-referral"]),$0=P$.enum,X3=S(["hour","day"]);X3.enum;const M$=d({bucket:o(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),measured:_()}),B$=d({kind:R($0.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(K3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),pathClass:y$,status:m().int(),hits:m().int().nonnegative()}),L$=d({kind:R($0["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(K3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),status:m().int(),hits:m().int().nonnegative()}),V$=d({kind:R($0["ai-referral"]),sourceId:o(),tsHour:o(),product:o(),operator:o(),sourceDomain:o(),evidenceType:o(),landingPathNormalized:o(),status:m().int(),hits:m().int().nonnegative(),paidHits:m().int().nonnegative(),organicHits:m().int().nonnegative(),unknownHits:m().int().nonnegative()}),$$=Me("kind",[B$,L$,V$]);d({windowStart:o(),windowEnd:o(),series:d({granularity:X3,points:y(M$),coverageStart:o().nullable(),trends:d({crawlerContentHits:bo.nullable(),aiUserFetchHits:bo.nullable(),aiReferralLandedHits:bo.nullable()})}),totals:d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:$3,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),aiReferralPaidHits:m().int().nonnegative(),aiReferralOrganicHits:m().int().nonnegative(),aiReferralUnknownHits:m().int().nonnegative()}),eventRows:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:_()}),events:y($$)});const U0=S(["admin","viewer"]),U$=/^[a-z\d][\w.-]{0,63}$/i,G$=o().regex(U$,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),_w=12,K$=o().min(_w,`A password must be at least ${_w} characters.`),J3=d({id:o(),name:o(),role:U0,createdAt:o(),lastLoginAt:o().nullable()});d({users:y(J3)});d({name:G$,password:K$,role:U0});d({name:o().min(1),password:o().min(1)});d({authRequired:_(),user:J3.pick({name:!0,role:!0}).nullable()});const W3=S(["queued","running","completed","partial","failed"]),Tee=W3.enum,eA=S(["queued","running","completed","failed"]),Eee=eA.enum,H$=20,Q$=20,Wf=50,tA=d({kind:S(["market","property"]),key:fe,expectedPlanRevision:m().int().positive().optional()}).strict(),F$=d({kind:S(["market","property"]),key:fe,label:o().trim().min(1),planRevision:m().int().positive()}).strict(),nA=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function Ree(e){const n=new Set;return e.filter(i=>{const r=wV(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function Z$(e,n){const i=e?e.kind==="market"?{market:e.label,submarket:e.label}:{property:e.label,propertyBrand:e.label}:{};return n?{...i,location:n.label}:i}function Dee(e,n,i){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(w=>w[1]),h=[...new Set(u.filter(w=>!r.has(w)))];if(h.length)throw bx("The selected research template contains undeclared placeholders: "+h.join(", "));const f=Z$(n,i),b=e.variables.filter(w=>f[w]===void 0);if(b.length)throw bx("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(w=>[w,f[w]]));return{bindings:v,output:QI(e.pattern,v)}}const aA=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:un.nullable().optional()}).strict();d({queries:y(nA).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:un.nullable().optional(),scope:tA.optional(),template:aA.optional(),idempotencyKey:o().trim().min(1).max(128).optional()}).superRefine((e,n)=>{e.model&&!e.provider&&n.addIssue({code:be.custom,path:["provider"],message:"provider is required when model is supplied"})});const Y$=tA.extend({expectedPlanRevision:m().int().positive()}).strict(),X$=d({queries:y(nA).min(1).max(Wf),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:un.nullable(),scope:Y$.optional(),template:aA.optional()}).strict();d({idempotencyKey:o().trim().min(1).max(128),runs:y(X$).min(1).max(Q$)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>Wf&&n.addIssue({code:be.custom,path:["runs"],message:`A research batch may contain at most ${Wf} concrete queries across all destinations`})});const J$=d({kind:S(["api-key","user"]),id:o(),name:o(),role:U0.nullable(),limited:_().optional()}),iA=d({id:o(),projectId:o(),status:W3,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:un.nullable(),scope:F$.nullable().optional(),template:Q2.nullable().optional(),totalQueries:m().int(),completedQueries:m().int(),failedQueries:m().int(),error:o().nullable(),initiatedBy:J$.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),W$=d({id:o(),position:m().int(),query:o(),queryClass:Gr.nullable().optional(),status:eA,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(dm),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:_().nullable(),citationState:Mi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),eU=iA.extend({queries:y(W$)});d({runs:y(eU)});const tU=d({name:o(),displayName:o(),modelConfigurable:_(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o()}))});d({runs:y(iA),nextCursor:o().nullable().optional(),providers:y(tU).optional(),access:d({canRun:_(),dailyRunLimit:m().int().positive().nullable()}).optional()});d({apiKey:o().min(1)});d({id:o(),name:o(),status:o(),currencyCode:o().nullable(),timezone:o().nullable(),url:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable()});d({q:o().trim().min(1).max(200),limit:m().int().min(1).max(100).default(20)});const nU=d({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});d({count:m().int().nonnegative(),query:o(),results:y(nU)});const aU=d({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});d({pixels:y(aU)});const iU=d({id:o(),name:o().optional()}),sU=d({id:o(),name:o().optional(),eventType:o().optional(),customEventName:o().nullable().optional(),attributionWindowDays:m().int().positive().optional(),adAccountId:o().optional(),sourceIds:y(o()).optional(),sources:y(iU).optional(),archived:_().optional(),version:m().int().nonnegative().optional()});d({eventSettings:y(sU)});d({connected:_(),adAccountId:o().nullable().optional(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),timezone:o().nullable().optional(),status:o().nullable().optional(),reviewStatus:o().nullable().optional(),integrityReviewStatus:o().nullable().optional(),integrityDecision:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),conversionTrackingConfigured:_().optional()});d({disconnected:_()});d({runId:o(),status:o()});const oU=["campaign_id","ad_group_id","ad_id","ad_account_id","oppref"],rU=/^[\w.-]+=[^&#\s]*$/,lU=/\{([^}]*)\}/g,No=o().min(1).max(1e3).superRefine((e,n)=>{const i=u=>n.addIssue({code:"custom",message:u});if(e.startsWith("?")||e.startsWith("&")){i("Tracking template must not start with ? or &");return}const r=new Set;for(const u of e.split("&")){if(!rU.test(u)){i(`Tracking template pair '${u}' must be key=value without whitespace, # or &`);return}const h=u.slice(0,u.indexOf("="));if(r.has(h)){i(`Tracking template repeats the parameter '${h}'`);return}r.add(h)}for(const u of e.matchAll(lU)){const h=u[1];if(!oU.includes(h)){i(`Tracking template macro '{${h}}' is not supported`);return}}}),cU=d({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),Mc=S(["impressions","clicks"]);Mc.enum;const Bc=S(["impression","click"]);Bc.enum;const uU=d({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:cU.nullable().optional(),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),dU=d({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:Ze([Bc,de()]).optional(),maxBidMicros:m().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(uU).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),mU=d({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:m().int().nullable().optional(),endTime:m().int().nullable().optional(),biddingType:Ze([Mc,de()]).optional(),dailySpendLimitMicros:m().int().nullable().optional(),lifetimeSpendLimitMicros:m().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(dU).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()});d({campaigns:y(mU)});const sA=S(["campaign","ad_group"]);sA.enum;const pU=d({level:sA,entityId:o(),date:o(),impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:xe().nullable(),cpcMicros:m().int().nullable(),inProgress:_()});d({rows:y(pU),currencyCode:o().nullable().optional()});const oA=d({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),rA=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:xe().nullable(),cpcMicros:m().int().nullable()});d({connected:_(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),campaignCount:m().int(),adGroupCount:m().int(),adCount:m().int(),window:oA,totals:rA});const lA=S(["unavailable","partial","complete"]);lA.enum;const cA=S(["no_ads_connection","connection_not_synced","no_ads_sync","entity_rows_missing_sync_run_id","entity_rows_span_multiple_sync_runs","source_sync_missing","source_sync_not_ads_sync","source_sync_not_completed"]);cA.enum;const uA=S(["unavailable","reported"]);uA.enum;const hU={storedSnapshot:"stored_ads_snapshot"},dA=S(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);dA.enum;const fU=d({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),gU=d({id:o(),name:o(),status:o(),billingEventType:Ze([Bc,de()]),maxBidMicros:m().int().nullable(),contextHints:y(o()),ads:y(fU)}),yU=d({id:o(),name:o(),status:o(),biddingType:Ze([Mc,de()]),dailySpendLimitMicros:m().int().nullable(),lifetimeSpendLimitMicros:m().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(gU)});d({snapshot:d({status:lA,issue:Ze([cA,de()]),lastSyncedAt:o().nullable(),campaignCount:m().int().nonnegative(),adGroupCount:m().int().nonnegative(),adCount:m().int().nonnegative(),sourceSync:d({runId:o(),status:ma}).nullable()}),historicalCampaignRollups:d({status:uA,window:oA,totals:rA.nullable()}),storedConfiguration:d({basis:R(hU.storedSnapshot),connection:d({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:_()}).nullable(),campaigns:y(yU)}),assessment:d({state:dA})});const li=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),$t=o().min(1).max(200),_o=o().min(3).max(1e3).refine(e=>e.trim().length>0),Mr=m().int().min(946684800).max(4102444800),Br=m().int().positive().max(Number.MAX_SAFE_INTEGER),G0=o().regex(/^[a-f0-9]{64}$/),mA=y($t).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),pA=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),hA=S(["image_upload","campaign_create","campaign_update","campaign_pause","campaign_archive","campaign_tree_activate","ad_group_create","ad_group_update","ad_group_pause","ad_group_archive","ad_create","ad_update","ad_pause","ad_archive"]);hA.enum;const fA=S(["pending","reconciling","succeeded","failed","unknown"]),_r=fA.enum,gA=S(["known_entity","create_fingerprint","manual_only"]);gA.enum;const yA=S([_r.pending,_r.unknown,_r.reconciling]);yA.enum;const bA=S(["active","paused","archived"]);bA.enum;const vA=S(["file","campaign","ad_group","ad"]);vA.enum;const xA=S(["campaign","ad_group","ad"]);xA.enum;const K0=d({id:$t,expectedUpdatedAt:m().int().nonnegative()}).strict(),bU=K0,$d=1e3;function vU(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const xU=K0.extend({ads:y(bU).min(1).max($d-1)}).strict(),wU=K0.extend({adGroups:y(xU).min(1).max($d-1)}).strict();function kU(e,n){return e<n?-1:e>n?1:0}function Tw(e,n,i){for(let r=1;r<e.length;r+=1)if(kU(e[r-1].id,e[r].id)>=0){i.addIssue({code:"custom",path:n,message:"Activation manifest entities must be uniquely sorted by id"});return}}const wA=d({campaign:wU}).strict().superRefine((e,n)=>{vU(e)>$d&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${$d} entities`}),Tw(e.campaign.adGroups,["campaign","adGroups"],n);const r=new Set;for(let u=0;u<e.campaign.adGroups.length;u+=1){const h=e.campaign.adGroups[u];Tw(h.ads,["campaign","adGroups",u,"ads"],n);for(let f=0;f<h.ads.length;f+=1){const b=h.ads[f];r.has(b.id)&&n.addIssue({code:"custom",path:["campaign","adGroups",u,"ads",f,"id"],message:"An ad may appear only once in an activation manifest"}),r.add(b.id)}}}),kA=G0,SU=S(["approved","executing","consumed","revoked","expired","unknown"]),Oi=SU.enum,jU=S(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),Rs=jU.enum,AU=d({name:_o.optional(),description:o().max(4e3).nullable().optional(),status:bA.optional(),startTime:Mr.nullable().optional(),endTime:Mr.nullable().optional(),lifetimeSpendLimitMicros:Br.min(1e6).optional(),locationIds:y($t).max(100).optional(),biddingType:Mc.optional(),conversionEventSettingIds:mA.optional(),campaignId:$t.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:Br.max(1e8).optional(),billingEventType:Bc.optional(),adGroupId:$t.optional(),creativeFingerprint:G0.optional(),landingPageQueryStringTemplate:No.nullable().optional()}).strict();d({operationKey:li,imageUrl:pA});d({operationKey:li,name:_o,description:o().max(4e3).optional(),startTime:Mr.optional(),endTime:Mr.optional(),lifetimeSpendLimitMicros:Br.min(1e6),locationIds:y($t).min(1).max(100),biddingType:Mc.optional(),conversionEventSettingIds:mA.optional(),landingPageQueryStringTemplate:No.optional()}).superRefine((e,n)=>{e.startTime!==void 0&&e.endTime!==void 0&&e.endTime<=e.startTime&&n.addIssue({code:"custom",path:["endTime"],message:"endTime must be after startTime"})});d({operationKey:li,campaignId:$t,name:_o,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:Br.max(1e8),billingEventType:Bc.optional(),landingPageQueryStringTemplate:No.optional()});const SA=d({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:pA,fileId:$t});d({operationKey:li,adGroupId:$t,name:_o,creative:SA,landingPageQueryStringTemplate:No.optional()});function H0(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}d({operationKey:li,expectedUpdatedAt:m().int().nonnegative(),name:_o.optional(),description:o().max(4e3).nullable().optional(),startTime:Mr.nullable().optional(),endTime:Mr.nullable().optional(),lifetimeSpendLimitMicros:Br.min(1e6).optional(),locationIds:y($t).min(1).max(100).optional(),landingPageQueryStringTemplate:No.nullable().optional()}).refine(H0,{message:"At least one campaign field must be updated"});d({operationKey:li,expectedUpdatedAt:m().int().nonnegative(),name:_o.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:Br.max(1e8).optional(),landingPageQueryStringTemplate:No.nullable().optional()}).refine(H0,{message:"At least one ad group field must be updated"});d({operationKey:li,expectedUpdatedAt:m().int().nonnegative(),name:_o.optional(),creative:SA.optional(),landingPageQueryStringTemplate:No.nullable().optional()}).refine(H0,{message:"At least one ad field must be updated"});d({operationKey:li});d({operationKey:li,expectedUpdatedAt:m().int().nonnegative()});const jm=d({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:hA,state:fA,entityType:Ze([vA,de()]),entityId:o().nullable(),upstreamUpdatedAt:m().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:Ze([gA,de()]),reconcileParentId:$t.nullable(),reconcileFingerprint:G0.nullable(),reconcileFields:AU.nullable(),reconcileAttempts:m().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});d({operation:jm,replayed:_()});const It=MS({offset:!0}),Wr={id:$t,projectId:$t,adAccountId:$t,manifestHash:kA,manifest:wA,executorApiKeyId:$t,approverApiKeyId:$t,expiresAt:It,approvedAt:It,createdAt:It,updatedAt:It,revocationRequestedAt:It.nullable()},CU=d({...Wr,state:R(Oi.approved),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),NU=d({...Wr,state:R(Oi.executing),operationId:$t,executionStartedAt:It,consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),_U=d({...Wr,state:R(Oi.consumed),operationId:$t,executionStartedAt:It,consumedAt:It,revokedAt:de(),expiredAt:de()}).strict(),TU=d({...Wr,state:R(Oi.revoked),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:It,expiredAt:de()}).strict(),EU=d({...Wr,state:R(Oi.expired),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:de(),expiredAt:It}).strict(),RU=d({...Wr,state:R(Oi.unknown),operationId:$t,executionStartedAt:It,consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),jA=Me("state",[CU,NU,_U,TU,EU,RU]).superRefine((e,n)=>{e.executorApiKeyId===e.approverApiKeyId&&n.addIssue({code:"custom",path:["executorApiKeyId"],message:"The activation executor must use a different API key from the approver"}),e.revocationRequestedAt!==null&&e.state!==Oi.executing&&e.state!==Oi.unknown&&e.state!==Oi.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),Ds={id:$t,operationId:$t,ordinal:m().int().nonnegative(),entityType:xA,entityId:$t,expectedUpdatedAt:m().int().nonnegative(),createdAt:It,updatedAt:It},Lc={errorCode:de(),errorMessage:de()},Q0={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},DU=d({...Ds,...Lc,state:R(Rs.pending),providerUpdatedAt:de(),remediation:de(),startedAt:de(),finishedAt:de()}).strict(),zU=d({...Ds,...Lc,state:R(Rs.executing),providerUpdatedAt:de(),remediation:de(),startedAt:It,finishedAt:de()}).strict(),IU=d({...Ds,...Lc,state:R(Rs.active),providerUpdatedAt:m().int().nonnegative(),remediation:de(),startedAt:It,finishedAt:It}).strict(),OU=d({...Ds,...Q0,state:R(Rs.failed),providerUpdatedAt:Ze([m().int().nonnegative(),de()]),startedAt:It,finishedAt:It}).strict(),qU=d({...Ds,...Lc,state:R(Rs.rollback_executing),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:It,finishedAt:de()}).strict(),PU=d({...Ds,...Lc,state:R(Rs.rolled_back),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:It,finishedAt:It}).strict(),MU=d({...Ds,...Q0,state:R(Rs.rollback_failed),providerUpdatedAt:m().int().nonnegative(),startedAt:It,finishedAt:It}).strict(),BU=d({...Ds,...Q0,state:R(Rs.unknown),providerUpdatedAt:Ze([m().int().nonnegative(),de()]),startedAt:It,finishedAt:It}).strict(),LU=Me("state",[DU,zU,IU,OU,qU,PU,MU,BU]),eg={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},VU=S([eg.exact,eg.refreshSemanticallyUnchanged]);d({manifest:wA,executorApiKeyId:$t,expiresAt:It,versionPolicy:VU.default(eg.exact)}).strict();d({grant:jA}).strict();d({}).strict();d({operationKey:li,grantId:$t,manifestHash:kA}).strict();d({grant:jA,operation:jm,steps:y(LU)}).strict();const $U=[_r.pending,_r.unknown,_r.reconciling];function UU(e){if(e===void 0||e==="")return $U;if(Array.isArray(e)){const n=[];for(const i of e)typeof i=="string"?n.push(...i.split(",")):n.push(i);return n}return typeof e=="string"?e.split(",").filter(Boolean):e}d({state:Es(UU,y(yA).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:qi().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});d({operations:y(jm),count:m().int().nonnegative(),nextCursor:o().nullable()});d({}).strict();d({operation:jm,resolved:_()});d({campaignId:o().min(1).max(200).optional(),lookbackDays:qi().int().min(1).max(30).default(7)});const AA=S(["campaign","ad_group","ad"]);AA.enum;const CA=S(["both","live-only","stored-only"]);CA.enum;const GU=R("live-provider-read"),KU=d({date:o().nullable(),startTime:m().nullable(),endTime:m().nullable(),impressions:m().nullable(),clicks:m().nullable(),spend:m().nullable(),conversions:m().nullable(),ctr:xe().nullable(),cpc:m().nullable(),cpm:m().nullable()}),Ew=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int()}),HU=d({date:o(),live:Ew.nullable(),stored:Ew.nullable(),drifted:_()}),QU=d({field:o(),live:o().nullable(),stored:o().nullable()}),FU=d({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:m().nullable()}),ZU=d({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:m().nullable(),syncedAt:o()}),YU=d({entityType:AA,id:o(),parentId:o().nullable(),presence:CA,live:FU.nullable(),stored:ZU.nullable(),fieldDeltas:y(QU),liveMetrics:y(KU).nullable(),metricDeltas:y(HU).nullable(),drifted:_()}),XU=d({surface:o(),entityId:o().nullable(),upstreamStatus:m().int().nullable()});d({basis:GU,fetchedAt:o(),adAccountId:o(),storedSnapshotSyncedAt:o().nullable(),metricsWindow:d({lookbackDays:m().int().positive()}),bounds:d({maxCampaigns:m().int().positive(),maxAdGroupsPerCampaign:m().int().positive(),maxAdsPerAdGroup:m().int().positive(),maxReaderCalls:m().int().positive(),readerCalls:m().int().nonnegative(),maxPagesPerReaderCall:m().int().positive(),maxUpstreamHttpRequests:m().int().positive(),truncated:_()}),entities:y(YU),drift:d({entitiesCompared:m().int().nonnegative(),driftedEntities:m().int().nonnegative(),statusDrifted:m().int().nonnegative(),metricsDrifted:m().int().nonnegative()}),errors:y(XU)});const JU=d({status:S(["available","unavailable","not-supported"])}),Rw="*",WU=S(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),eG=S(["server","local"]);d({enabled:_(),configuredEnabled:_(),reason:WU,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:eG.optional()}).strict();const ft=1,gf=S(["system","project","queries","competitors","run","finish"]),tG=S(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),yf=S(["0","1","2-3","4-5","6-10","11+"]);function oi(e){return!Number.isFinite(e)||e<=0?"0":e<2?"1":e<4?"2-3":e<6?"4-5":e<11?"6-10":"11+"}const Dw=S(["api_unavailable","database_unavailable","worker_unavailable","no_provider","no_queries","provider_save_failed","project_create_failed","query_save_failed","run_rejected","run_failed","run_cancelled","rate_limited","provider_auth","network","unknown"]),nG=S(["wizard","platform","site_health"]),dd=d({eventId:o().uuid(),flowVersion:R(ft),onboardingSessionId:o().uuid(),surface:nG.optional()});Me("event",[dd.extend({event:R("onboarding.started"),step:gf,resumed:_()}).strict(),dd.extend({event:R("onboarding.step_completed"),step:gf,method:S(["existing","inline","manual","generated","skipped","automatic"]),countBucket:yf.optional(),nextAction:tG.optional()}).strict(),dd.extend({event:R("onboarding.blocked"),step:gf,action:S(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:Dw}).strict(),dd.extend({event:R("run.requested"),origin:R("dashboard_setup"),result:S(["queued","rejected"]),kind:S(["answer_visibility","site_health"]).optional(),providerCountBucket:yf,queryCountBucket:yf,reasonCode:Dw.optional()}).strict()]);d({accepted:_()});S(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const NA=4;function aG(e){return e.length<NA}const Vc=JV.enum.client,iG=O3.enum.both,sG=P2.enum.advanced;function Da(e,n,i=`${n}s`){return e===1?n:i}const oG=S(["client-summary","executive-summary","share-of-voice","whats-changed","client-action-plan","agency-action-plan","agency-diagnostics","citation-scorecard","competitor-landscape","ai-source-origin","gsc","ga","social-referrals","ai-referrals","server-activity","indexing-health","citations-trend","insights","content-opportunities","content-gaps","recommended-next-steps","client-evidence-summary"]),Dt=oG.enum;function zee(e,n){const i=e.visibility,r=i?.selection.mode===sG;return(n===Vc?[Dt["client-summary"],r?null:Dt["share-of-voice"],i?null:Dt["whats-changed"],e.serverActivity?Dt["server-activity"]:null,Dt["client-action-plan"],Dt["client-evidence-summary"]]:[i?Dt["client-summary"]:Dt["executive-summary"],r?null:Dt["share-of-voice"],i?null:Dt["whats-changed"],Dt["agency-action-plan"],r?null:Dt["agency-diagnostics"],r?null:Dt["citation-scorecard"],r?null:Dt["competitor-landscape"],Dt["ai-source-origin"],Dt.gsc,Dt.ga,Dt["social-referrals"],Dt["ai-referrals"],Dt["server-activity"],Dt["indexing-health"],r?null:Dt["citations-trend"],Dt.insights,h$(e).length>0?Dt["content-opportunities"]:null,e.contentGaps.length>0?Dt["content-gaps"]:null,Dt["recommended-next-steps"]]).filter(h=>h!==null)}const rG={gemini:"Gemini",openai:"ChatGPT",claude:"Claude",perplexity:"Perplexity",muse:"Muse",local:"Local model","cdp:chatgpt":"ChatGPT (browser)"};function lG(e){return rG[e]??e.charAt(0).toUpperCase()+e.slice(1)}function cG(e){switch(e){case"immediate":return"Do now";case"short-term":return"This month";case"medium-term":return"Next quarter"}}function uG(e){switch(e){case"high":return"Strong evidence";case"medium":return"Some evidence";case"low":return"Worth trying"}}function _A(e){if(!e)return"";const n=[e.city,e.region,e.country].filter(Boolean).join(", ");return n?`${e.label} (${n})`:e.label}const tg={eyebrow:"AI Visibility Report",market:"Market",noMarket:"No market set",generated:"Generated"};function Iee(e){return e?`${tg.market}: ${_A(e)}`:tg.noMarket}function Oee(e){return`Last ${e} days`}function zw(e,n=3){const i=e.slice(0,n),r=e.length-i.length;return`${i.join(", ")}${r>0?`, +${r} more`:""}`}function qee(e,n){return`${e.slice(0,n).join(", ")}${e.length>n?"…":""}`}function Pee(e){return`+${e} more`}function Mee(e){return`× ${e}`}function Bee(e){return`${e} bar chart`}function Lee(e){return`${e} line chart`}function TA(e){return e==="up"?"↑":e==="down"?"↓":"→"}function Vee(e){return e==="up"?"positive":e==="down"?"negative":"neutral"}function Iw(e){return wj(e,St.percent).magnitude}function EA(e){return $q(e,St.percent)}function $ee(e,n){return n==="%"?cn(e.current,St.percent):String(e.current)}function Uee(e,n){return n==="%"?`${EA(e.deltaAbs)} vs ${cn(e.prior,St.percent)}`:Vq(e)}function Gee(e){return`${EA(e.deltaAbs)} ${TA(e.direction)}`}function Kee(e){return`vs prior ${e} days`}function Hee(e){if(!e)return null;const n=e.window??1,i=cn(e.prior,St.percent),r=n>=2?`vs prior ${n} checks (avg ${i})`:`since last check (was ${i})`,u=TA(e.direction);return e.direction==="up"?{text:`Up ${Iw(e.deltaAbs)} points ${r}`,tone:"positive",arrow:u}:e.direction==="down"?{text:`Down ${Iw(e.deltaAbs)} points ${r}`,tone:"negative",arrow:u}:{text:`Holding steady ${r}`,tone:"neutral",arrow:u}}const Am={"client-summary":{heroEyebrow:"Overview",heroEmpty:"No AI check has been run yet. Run a check to see how AI tools answer customer queries about your business.",tiles:{mentioned:"AI mentions your name",cited:"AI links to your website",providers:"AI tools tested"},noData:"No data yet",explainer:{lead:"Mentions and links are different.",mention:{article:"A",term:"mention",definition:"is when AI says your name out loud in its answer."},link:{article:"A",term:"link",definition:"is when AI lists your website as a source it used."},closing:"AI can do either, both, or neither — that's why we track both."},queriesHeading:"Customer queries we tested",providerBarsHeading:"How often each AI tool mentions you",providerBarsSubtitle:"Higher is better. Each bar shows the share of customer queries where the AI named you in the answer."},"whats-changed":{client:{eyebrow:"Since last check",title:"What's different since last check",empty:"No comparison yet — trends will appear after a few more checks.",tiles:{mentionRate:"AI mentions your name",citationRate:"AI links to your website",mentionedQueryCount:"Queries AI mentioned you in",gscClicks:"Visitors from Google",aiReferrals:"Visitors from AI tools"},gscCountLabel:"visits",aiReferralsCountLabel:"visits",movementsHeading:"How each AI tool changed",movementHeaders:["AI tool","Was","Now","Change"],winsHeading:"What got better",winsEmpty:"No new wins this period.",regressionsHeading:"What got worse",regressionsEmpty:"Nothing got worse this period.",insightHeaders:["What changed","Customer query","AI tool"]},agency:{eyebrow:"Section 2",title:"What's Changed",empty:"Trends will appear after a few more checks.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",citedQueryCount:"Cited queries",gscClicks:"GSC clicks",aiReferrals:"AI referral sessions"},gscCountLabel:"clicks",aiReferralsCountLabel:"sessions",movementsHeading:"AI engine movements",movementHeaders:["Engine","Prior","Current","Change"],winsHeading:"Wins",winsEmpty:"No new gains in the latest check.",regressionsHeading:"Regressions",regressionsEmpty:"No new regressions in the latest check.",insightHeaders:["Severity","Title","Query","Provider"]},rateTileEmpty:"No prior data",trafficTileEmpty:"Not enough trend data"},"client-action-plan":{eyebrow:"Action plan",title:"What to do next",intro:"Approve these in order. They are sorted by what will move the needle fastest.",empty:"No recommendations yet — run an AI check to populate this.",rankTitle:"Priority — 1 will move the needle fastest",detailsSummary:"See the data behind this",whyLabel:"Why this matters",evidenceLabel:"What we saw",successLabel:"What success looks like:"},"agency-action-plan":{eyebrow:"Agency actions",title:"Agency Action Plan",intro:"The highest-leverage work, sorted by urgency and evidence strength.",empty:"No prioritized actions yet.",rankTitle:"Impact rank — 1 is the highest-leverage action",detailsSummary:"Evidence details",whyLabel:"Why",evidenceLabel:"Evidence",successLabel:"Win condition:"},"client-evidence-summary":{eyebrow:"What we based this on",title:"The signals behind this plan",intro:"The data behind the recommendations above. Switch to Agency for the full breakdowns.",empty:"No supporting evidence yet — this fills in after the first AI check.",sources:{heading:"Where AI gets its answers",subtitle:"The websites AI tools cited most often when answering customer queries about your industry.",competitorTag:"(competitor)"},indexing:{heading:"Pages Google can find on your site",subtitle:"Google indexing your site increases the chances of it appearing in AI search (especially Gemini)."},search:{heading:"What people search Google for",subtitleLead:"You appeared in",subtitleMiddle:"Google searches and got",subtitleTail:"this period."},opportunities:{heading:"Topics where you could improve",subtitle:"Customer queries where better content on your site would help AI cite you.",cededTag:"Ceded surface"}}};function Qee(e,n){return e>0?`When customers asked AI ${e} ${Da(e,"query","queries")} about your industry, AI mentioned you in ${n} of ${e===1?"them":"those queries"}.`:Am["client-summary"].heroEmpty}function Fee(e,n){return n>0?`Says your name in ${e} of ${n} ${Da(n,"query","queries")}`:Am["client-summary"].noData}function Zee(e,n){return n>0?`Cites your site as a source in ${e} of ${n} ${Da(n,"query","queries")}`:Am["client-summary"].noData}function Yee(e,n){return e.length>0?e.map(i=>lG(i)).join(", "):`${Ln(n)} ${Da(n,"query","queries")} tested`}function Xee(e){return`These are the ${e} ${Da(e,"query we asked","queries we asked")} every AI tool. The numbers above measure how often you came up.`}function Jee(e,n){const i=n===Vc?e.clientSummary.actionItems:e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan.filter(r=>r.audience===iG||r.audience===n);return V3(e,i)}function Wee(e,n){return e===Vc?cG(n):o$(n)}function ete(e,n){return e===Vc?uG(n):`${r$(n)} confidence`}function tte(e){return`${Ln(e)}×`}function nte(e,n){return`${Ln(e)} of ${Ln(n)} pages indexed`}function ate(e){return`${Da(e,"page is","pages are")} not indexed yet.`}function ite(e){return Da(e,"click")}function ste(e){return`${Ln(e)} ${Da(e,"search","searches")}`}function ote(e){return e>=90?"positive":e>=70?"caution":"negative"}const F0={"executive-summary":{eyebrow:"Section 1",title:"Executive Summary",intro:"Citation = source list. Mention = answer text. They are independent signals.",heroKicker:"Latest AI visibility check",emptyTitle:"No AI citation data yet",emptySubtitle:"Run a check to populate the first citation and mention baseline.",noQueries:"no queries",proofTiles:{citationTrend:"Citation trend",mentionCoverage:"Mention coverage",prioritizedActions:"Prioritized actions"},prioritizedActionsCopy:"Sorted for agency follow-up.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",queriesTracked:"Queries tracked",gscClicks:"GSC clicks",gaSessions:"GA sessions"},trendLabels:{up:"↑ Up",down:"↓ Down",flat:"→ Flat",unknown:"—"},marketScope:{heading:"Market Scope",currentLabel:"Current check",currentCopy:"All findings below are scoped to this run.",notIncludedLabel:"Not included",providerLabel:"Provider context",noOtherMarkets:"None",noProviders:"—",singleMarketCopy:"Single-market report; findings can be read as the current market view.",noMarketCopy:"No geographic hint was attached to this check; read findings as default-market or national results.",noProviderMetadataCopy:"No provider-level location metadata is available for this report.",warningTitle:"Location handling needs review",warningDetail:"used weak or indirect market handling. Treat provider-level differences cautiously."}},"agency-diagnostics":{eyebrow:"Agency diagnostics",title:"Technical Diagnostics",intro:"Fast-read operator flags behind the action plan.",empty:"No agency diagnostics available yet.",hiddenTitle:"Location caveat"},"recommended-next-steps":{eyebrow:"Section 16",title:"Recommended Next Steps",intro:"Action items bucketed by timing.",empty:"No outstanding actions."}};function rte(e){const n=F0["executive-summary"],i=e.executiveSummary,r=i.trend,u=r==="up"?n.trendLabels.up:r==="down"?n.trendLabels.down:r==="flat"?n.trendLabels.flat:n.trendLabels.unknown,h=r==="up"?"positive":r==="down"?"negative":"neutral",f=(i.totalQueryCount??0)>0,b=i.totalQueryCount===1?"query":"queries",v=e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan,w=i.gsc?RA(e):"";return{trendLabel:u,trendTone:h,title:f?`${i.citedQueryCount} of ${i.totalQueryCount} tracked ${b} cite ${e.meta.project.displayName}`:n.emptyTitle,subtitle:f?`${cn(i.citationRate,St.percent)} citation coverage and ${cn(i.mentionRate,St.percent)} mention coverage across ${i.providerCount} ${Da(i.providerCount,"provider")}.`:n.emptySubtitle,citedFragment:f?`${i.citedQueryCount}/${i.totalQueryCount} ${b} cited`:n.noQueries,mentionedFragment:f?`${i.mentionedQueryCount}/${i.totalQueryCount} ${b} mentioned`:n.noQueries,prioritizedActionCount:V3(e,v).length,providerCountLabel:`${i.providerCount} provider${i.providerCount===1?"":"s"}`,competitorCountLabel:`${i.competitorCount} competitor${i.competitorCount===1?"":"s"} tracked`,gscDelta:i.gsc?`${Ln(i.gsc.impressions)} imp · ${cn(i.gsc.ctr)} CTR${w?` · ${w}`:""}`:null,gaDelta:i.ga?`${Ln(i.ga.users)} users · ${vo(i.ga.periodStart)} → ${vo(i.ga.periodEnd)}`:null}}function lte(e){const n=F0["executive-summary"].marketScope,i=e.meta.location,r=e.meta.providerLocationHandling;if(!i&&r.length===0)return null;const u=i?.otherConfiguredLabels??[],h=r.filter(f=>f.treatment==="ignored"||f.treatment==="browser-geo").map(f=>f.provider);return{currentValue:i?_A(i):tg.noMarket,notIncludedValue:u.length>0?zw(u,4):n.noOtherMarkets,notIncludedCopy:i?u.length>0?`${u.length} configured ${Da(u.length,"market")} still ${u.length===1?"needs":"need"} a matching check before cross-market recommendations.`:n.singleMarketCopy:n.noMarketCopy,providerValue:r.length>0?Ln(r.length):n.noProviders,providerCopy:r.length>0?h.length>0?`${h.length} ${Da(h.length,"provider")} need a closer location check.`:`${r.length} ${Da(r.length,"provider")} received the market context.`:n.noProviderMetadataCopy,weakProviders:h.length>0?zw(h,4):null}}const dG={"citation-scorecard":{eyebrow:"Section 3",title:"Citation Scorecard",intro:"Per-engine citation and mention coverage from the latest check.",providerChartTitle:"Provider citation rate",empty:"Run a check to populate the citation matrix.",queryHeader:"Query",glyphs:{cited:"C",notCited:"c",mentioned:"M",notMentioned:"m",pending:"–",missingCell:"— —"},legend:{lead:"Legend:",citedMeaning:"= cited/not,",mentionedMeaning:"= mentioned/not,",pendingMeaning:"= no data."}},"competitor-landscape":{eyebrow:"Section 4",title:"Competitor Landscape",intro:"Who AI engines cite and mention instead of the client.",empty:"No competitor data yet. Add competitors and run a check.",noCompetitors:"No competitors configured.",citationsChartTitle:"Citations per domain",brandedChartTitle:"Mentions per domain · branded queries",headers:{domain:"Domain",pressure:"Pressure",citations:"Citations",citationShare:"Citation share",citedQueries:"Cited queries"},citationShareTooltip:"Citation share — % of cited-source slots that went to this competitor across tracked queries. Distinct from Mention Share."},"ai-source-origin":{eyebrow:"Section 5",title:"AI Citation Sources",intro:"External domains AI engines cited most in the latest check.",empty:"No source data yet. Run a check first.",topSourcesHeading:"Top sources",topSourceHeaders:["Domain","Citations","Tag"],trackedCompetitorTag:"Tracked competitor",externalTag:"External",categoriesHeading:"By source type"}};function cte(e){return`${cn(e.citationRate,St.percent)} (${e.citedCount}/${e.totalCount})`}const mG={"non-brand":"non-brand queries",pooled:"pooled queries · classification unavailable"};function pG(e){return mG[e]??"pooled queries · classification unavailable"}function ute(e){const n=pG(e.scope),i=e.branded;return{scopeLabel:n,mentionsHeader:`Mentions (${n})`,mentionsTooltip:e.scope==="non-brand"?`Mentions on ${n}. Branded queries are counted separately — the client is named on nearly all of them and a competitor cannot be, so pooling the two would rank the client on its own brand recall.`:`Mentions on ${n}. The project has no usable brand identity for a branded/non-brand split, so all tracked queries remain pooled and this is not a competitive category read.`,mentionsChartTitle:`Mentions per domain · ${n}`,mentionShareUnavailable:`Mention share unavailable for ${n}: no tracked brand was named, so the denominator is 0.`,brandedNote:`Branded queries contain the client's own name. The client is named on nearly all of them and a competitor structurally cannot be, so these are kept out of the competitive figure above. Read them as brand recall: ${i?.projectMentionCount??0} of ${i?.totalAnswerSnapshots??0} branded answers named the client.`}}function dte(e){return`${e} cited URL${e>1?"s":""}`}function mte(e){const n=e.find(r=>r.category===wd.competitor);if(!n)return null;const i=e.reduce((r,u)=>r+u.count,0);return{share:cn(n.sharePct,St.percent),detail:`of citations went to tracked competitors (${n.count} of ${i}).`}}function pte(e){return`(${cn(e,St.percent)})`}const hG={gsc:{eyebrow:"Section 6",title:"GSC Performance",empty:"Connect Google Search Console to populate this section.",tiles:{clicks:"Total clicks",impressions:"Total impressions",ctr:"Avg CTR",position:"Avg position"},trendTitle:"Clicks over time",topQueriesHeading:"Top queries",topQueryHeaders:["Query","Clicks","Imp.","CTR","Pos.","Category"],intentHeading:"Search demand by intent",intentCountLabel:"clicks",untrackedDemand:{heading:"AEO queries without search demand",subtitle:"Review whether these still belong in the tracking set."},suggestedQueries:{heading:"Search queries you should track",subtitle:"High-impression candidates to add to AEO tracking."}},ga:{eyebrow:"Section 7",title:"GA4 Traffic",empty:"Connect Google Analytics 4 to populate this section.",tiles:{sessions:"Total sessions",users:"Total users",organicSessions:"Organic sessions"},topPagesHeading:"Top landing pages",topPageHeaders:["Page","Sessions","Organic"],channelsHeading:"Channel mix",channelsCountLabel:"sessions"},"social-referrals":{eyebrow:"Section 8",title:"Social Referrals",intro:"Social traffic split by channel and campaign.",empty:"No social referral data yet.",tiles:{sessions:"Total sessions",organic:"Organic social",paid:"Paid social"},channelsHeading:"Social channel mix",channelsCountLabel:"sessions",campaignsHeading:"Top campaigns",campaignHeaders:["Source","Medium","Sessions"]},"ai-referrals":{eyebrow:"Section 9",title:"AI Referral Traffic",intro:"Traffic arriving from AI answer engines.",empty:"No AI referral traffic detected yet.",tiles:{sessions:"Total sessions"},trendTitle:"AI referral sessions over time",sourcesHeading:"AI sessions by source",sourcesCountLabel:"sessions",topPagesHeading:"Top AI landing pages",topPageHeaders:["Page","Sessions"]}};function RA(e){const n=e.executiveSummary.gsc,i=e.gsc,r=n?.periodStart||i?.periodStart||i?.trend.at(0)?.date||"",u=n?.periodEnd||i?.periodEnd||i?.trend.at(-1)?.date||"";return Bq(r,u)}function hte(e){const n=RA(e);return`Search demand signals to compare against AI visibility${n?` for ${n}`:""}.`}function fte(e){return`Site traffic from ${vo(e.periodStart)} to ${vo(e.periodEnd)}.`}function gte(e,n){return`${e} · ${cn(n,St.percent)}`}const Z0={"server-activity":{title:"AI Visibility — Server-Side",client:{eyebrow:"AI engine attention",introNoData:"Live telemetry from your server logs.",empty:"Your server-side traffic source is connected. Numbers will appear after the next sync.",tiles:{botRequests:"AI bot requests observed",userFetches:"AI user-fetch requests",referralSessions:"AI referral sessions"},userFetchFallback:"ChatGPT-User, Perplexity-User, MistralAI-User",operatorsHeading:"By AI tool",operatorsFootnote:"Bot requests are bulk crawl (GPTBot, PerplexityBot, …). User fetches are on-demand reads triggered by real users inside an AI surface (ChatGPT-User, Perplexity-User, …). Verified means the request came from an IP the operator publishes as its own; unverified means the user-agent matched but the IP is not in a published range. User-fetch totals count both, since many genuine user fetches come from outside any published range."},agency:{eyebrow:"Section 10",intro:"What AI engines actually do in your server logs — direct evidence, complementary to citations (which measure what they say).",emptyNotConnected:"Connect a server-side traffic source to surface what AI engines do directly in your server logs — distinct from GA4 click-throughs.",empty:"Source connected — collecting your first data. Numbers will appear after the next sync.",operatorsHeading:"Per AI operator",operatorsNote:"Verified means the request's source IP falls inside the operator's published range. Unverified bots claim the user-agent but the IP is not in a published range, so it could be the real bot or an imitator. User fetches are on-demand reads from an AI surface on behalf of a real user (ChatGPT-User, Perplexity-User, …), disjoint from bulk crawl and counted whether or not the IP can be verified.",noDelta:"—",crawledPathsHeading:"Top crawled paths",crawledPathHeaders:["Path","Hits","Verified","Distinct operators"],referralProductsHeading:"AI-referral sessions by product",referralProductsNote:"Where humans landed coming from each AI product (chatgpt.com, claude.ai, …).",referralProductHeaders:["Product","Sessions","Distinct landing paths"],referralLandingHeading:"Top AI-referral landing paths",referralLandingHeaders:["Path","Sessions","Distinct products"]},countNouns:{requests:"requests",hits:"hits",sessions:"sessions"}},"indexing-health":{eyebrow:"Section 11",title:"Indexing Health",empty:"Connect Google Search Console or Bing Webmaster Tools and run a sitemap inspection.",tiles:{indexed:"Indexed",total:"Total inspected",share:"Indexed share"},coverageHeading:"Coverage breakdown",coverageLabel:"Coverage stacked bar",segments:{indexed:"Indexed",notIndexed:"Not indexed",deindexed:"Deindexed",unknown:"Unknown"}},"citations-trend":{eyebrow:"Section 12",title:"Citations Over Time",intro:"Citation coverage across recent checks.",empty:"Run multiple checks to see a trend.",chartTitle:"Overall citation rate",breakdownHeading:"Check-by-check breakdown",breakdownHeaders:["Check","Cited queries","Per-engine rates"]}};function yte(e,n,i){const r=Z0["server-activity"],u=e===Vc;return{id:Dt["server-activity"],eyebrow:u?r.client.eyebrow:r.agency.eyebrow,title:r.title,intro:u?n?`What AI engines actually do in your server logs over the last ${i} days — the other half of citations.`:r.client.introNoData:r.agency.intro}}function Cm(e){return`${e}d`}function bte(e){const n=Cm(e);return["AI tool",`Bot requests (${n})`,`User fetches (${n})`,"Referral sessions"]}function vte(e){const n=Cm(e);return{verified:`Verified crawler hits (${n})`,unverified:`Unverified crawler hits (${n})`,userFetches:`AI user-fetch hits (${n})`,referralSessions:`AI-referral sessions (${n})`}}function xte(e){return["Operator","Verified hits","Unverified","User fetches","Referral sessions",`${Cm(e)} delta`]}function wte(e){return`Verified crawler hits over time (last ${e} days)`}function kte(e){return`Pages AI bots fetched most often (verified only, last ${Cm(e)}).`}function Ste(e){return e===null?Z0["server-activity"].agency.noDelta:p0(e,St.percent)}function jte(e){return e.verifiedHits+e.unverifiedHits}function Ate(e,n){return`${Ln(e)} verified · ${Ln(n)} unverified`}function Cte(e){return e>0?`${Ln(e)} blocked by redirects`:""}function Nte(e){return`Pages absent from ${e==="google"?"Google":"Bing"} are harder for AI engines to retrieve.`}function _te(e,n){return`${e}: ${n}`}function Tte(e){return`Building baseline (${e} of ${NA} checks completed). Trend will appear once more checks are recorded.`}function Ete(e){return e.map(n=>`${n.provider}: ${cn(n.citationRate,St.percent)}`).join(" · ")}const fG={insights:{eyebrow:"Section 13",title:"Insights & Alerts",intro:"Regressions, gains, and recurring alerts ordered by severity.",empty:"No insights yet — run a check to generate alerts.",headers:["Severity","Title","Query","Provider","Recommendation"],noRecommendation:"—"},"content-opportunities":{eyebrow:"Section 14",title:"Content Opportunities",intro:"Queries where content work has the clearest path to more AI citations. Opportunity score is 0–100, higher = stronger. Winnability flags whether the cited surface is ownable or ceded to aggregators/editorial.",headers:["Query","Action","Winnability","Score","Why","Our page","Winning competitor","Confidence"],scoreSuffix:"/100",scoreCardTooltip:"Opportunity score (0–100, higher = stronger)",scoreHeaderTooltip:"Opportunity score (0–100)",noDriverSignal:"No driver signal yet",noPage:"No page yet",noWinningCompetitor:"—"},"content-gaps":{eyebrow:"Section 15",title:"Content Gaps",intro:"Tracked queries where competitors are cited and the client is missing.",headers:["Query","Competitors cited","Domains","Miss rate"]}};function Rte(e){return`${lV(e.action)} · ${cV(e.actionConfidence)} confidence`}function Dte(e){return cn(e)}const zte={...Am,...F0,...dG,...hG,...Z0,...fG},DA=S(["trace","debug","info","warn","error","fatal"]),zA=d({runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),requestId:o().min(1).max(256).optional(),actor:o().min(1).max(512).optional(),credentialId:o().min(1).max(512).optional(),userAgent:o().min(1).max(512).optional(),actorSession:o().min(1).max(512).optional(),method:o().min(1).max(16).optional(),route:o().min(1).max(256).optional(),operationId:o().min(1).max(256).optional(),jobId:o().min(1).max(256).optional(),taskId:o().min(1).max(256).optional(),traceId:o().min(1).max(256).optional(),provider:o().min(1).max(256).optional(),errorCode:o().min(1).max(128).optional(),attempt:m().finite().optional(),count:m().finite().optional(),total:m().finite().optional(),progress:m().finite().optional(),httpStatus:m().finite().optional(),statusCode:m().finite().optional(),durationMs:m().finite().optional(),bytes:m().finite().optional(),retryAfterMs:m().finite().optional(),retriable:_().optional(),retrying:_().optional(),cancelled:_().optional(),success:_().optional()}).strict(),IA=d({cursor:o().min(1).max(512),ts:o().datetime(),level:DA,module:o().min(1).max(256),action:o().min(1).max(256),message:o().max(4096).optional(),runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),context:zA}).strict();d({level:DA.optional(),module:o().trim().min(1).max(256).optional(),runId:o().trim().min(1).max(256).optional(),projectId:o().trim().min(1).max(256).optional(),actor:o().trim().min(1).max(512).optional(),requestId:o().trim().min(1).max(256).optional(),since:o().datetime().optional(),until:o().datetime().optional(),limit:qi().int().min(1).max(200).default(100),cursor:o().trim().min(1).max(512).optional()}).strict().superRefine((e,n)=>{e.since&&e.until&&Date.parse(e.since)>Date.parse(e.until)&&n.addIssue({code:be.custom,path:["until"],message:'"until" must be on or after "since".'})});const OA=d({maxEntries:m().int().positive(),maxAgeSeconds:m().int().positive()}).strict(),gG=d({entries:y(IA),nextCursor:o().min(1).max(512).nullable(),truncated:m().int().nonnegative(),dropped:m().int().nonnegative(),retention:S(["process","durable"]),retentionPolicy:OA.optional(),captureErrors:m().int().nonnegative().optional(),observedAt:o().datetime()}).strict(),yG=d(zA.shape),bG=d({...IA.shape,context:yG});d({...gG.shape,entries:y(bG),retentionPolicy:d(OA.shape).optional()});function bf(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}d({startDate:Xn,endDate:Xn,sourceId:o().trim().min(1).optional(),burstThreshold:m().int().min(1).max(1e6).optional(),ratioThreshold:m().min(1).max(1e3).optional(),limit:m().int().min(1).max(500).optional()}).strict();const uo=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({scope:d({project:o(),sourceId:o().nullable(),attribution:R("project-source-only"),unavailableDimensions:y(S(["property","target","market"]))}),window:d({startDate:Xn,endDate:Xn,timeZone:R("UTC")}),rule:d({version:R("hourly-normalized-path-v1"),burstThreshold:m().int().positive(),ratioThreshold:m().positive(),calibration:S(["uncalibrated-default","request-override"]),grouping:y(o()),confirmsAutomation:R(!1)}),totals:d({raw:uo,redirects:uo,subresources:uo,countable:uo,suspected:uo,adjustedEstimate:uo}),bursts:y(d({sourceId:o(),product:o(),landingPathNormalized:o(),tsHour:o(),counts:uo})),evidence:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:_()}),comparison:d({status:R("unavailable"),serverCountable:m().int().nonnegative(),serverObservation:S(["missing","observed-zero","observed-positive"]),gaSessions:m().int().nonnegative().nullable(),gaObservation:S(["missing","observed-zero","observed-positive"]),observedRatio:m().nonnegative().nullable(),observedRatioAboveThreshold:_().nullable(),ratio:de(),reasons:y(o()),gaScope:R("project")}),caveats:y(o())});const vG=new Set(["optional","nullable","default","prefault","readonly","catch","nonoptional"]),Ow=64;function kd(e){return e._zod.def}function mo(e,n){return e.clone({...kd(e),...n})}function qw(e){if(e.length!==0){if(e.every(n=>typeof n=="string"))return o();if(e.every(n=>typeof n=="number"))return m();if(e.every(n=>typeof n=="boolean"))return _()}}function qA(e,n,i,r){if(r>Ow)throw new Error(`tolerantReadSchema: schema nesting exceeds ${Ow} levels`);const u=i.get(e);if(u)return u;const h=v=>qA(v,n,i,r+1),f=kd(e);let b=e;if(f.type==="object"){const v=Object.fromEntries(Object.entries(e.shape).map(([j,T])=>[j,h(T)])),w=f.catchall,k=n.get(e)??(w&&kd(w).type!=="never"?h(w):void 0);b=k?d(v).catchall(k):d(v)}else if(vG.has(f.type)){const v=f.innerType,w=h(v);b=w===v?e:mo(e,{innerType:w})}else if(f.type==="array"){const v=f.element,w=h(v);b=w===v?e:mo(e,{element:w})}else if(f.type==="pipe"){const v=f.in,w=f.out,k=h(v),j=h(w);b=k===v&&j===w?e:mo(e,{in:k,out:j})}else if(f.type==="union"){const v=f.options,w=v.map(h);b=w.some((j,T)=>j!==v[T])?f.discriminator?Ze(w):mo(e,{options:w}):e}else if(f.type==="record"){const v=f.keyType,w=f.valueType,k=kd(v).type==="enum"?o():v,j=h(w);b=k===v&&j===w?e:mo(e,{keyType:k,valueType:j})}else if(f.type==="intersection"){const v=f.left,w=f.right,k=h(v),j=h(w);b=k===v&&j===w?e:mo(e,{left:k,right:j})}else if(f.type==="tuple"){const v=f.items,w=f.rest,k=v.map(h),j=w&&h(w);b=j!==w||k.some((N,q)=>N!==v[q])?mo(e,{items:k,rest:j}):e}else if(f.type==="lazy"){const v=f.getter;b=ZD(()=>h(v()))}else f.type==="enum"?b=qw(Object.values(f.entries))??e:f.type==="literal"&&(b=qw(f.values)??e);return i.set(e,b),b}function To(e,n={}){const i=new Map(n.openKeys??[]);return qA(e,i,new Map,0)}const Eo={openKeys:[[I0,m().int().nonnegative()]]};To(KL,Eo);To(Xf,Eo);To(WL,Eo);To(eV,Eo);To(HL,Eo);To(S3,Eo);To(YL,Eo);class xn extends Error{code;statusCode;details;constructor(n,i,r,u){super(n),this.name="ApiError",this.code=r??"UNKNOWN",this.statusCode=i,this.details=u}}function Ite(e){if(e instanceof xn)return e.details;if(typeof e!="object"||e===null)return;const n=e.error,i=typeof n=="object"&&n!==null?n.details:e.details;return typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0}function Tr(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function xG(){if(typeof window>"u")return"legacy";const e=window.__CANONRY_CONFIG__?.dashboard?.onboardingMode??window.__CANONRY_CONFIG__?.onboardingMode;return e==="platform"||e==="auto"||e==="legacy"?e:"auto"}function wG(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function Y0(e){const n=wG();if(!n)return e;let i;const r=typeof window<"u"&&window.location?window.location.href:"http://localhost/";try{i=new URL(e,r)}catch{return e}const u=new URL(r).origin;if(i.origin!==u)return e;const f=`${Nm().replace(/\/$/,"")}/api/v1`;return i.pathname!==f&&!i.pathname.startsWith(`${f}/`)?e:(i.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?i.toString():`${i.pathname}${i.search}${i.hash}`)}function kG(e,n){const i={method:e.method,headers:e.headers,cache:e.cache,credentials:e.credentials,integrity:e.integrity,keepalive:e.keepalive,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal};return e.body&&(i.body=e.body,i.duplex="half"),new Request(n,i)}function PA(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function SG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function jG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function AG(){return typeof window>"u"?!1:window.__CANONRY_CONFIG__?.agent?.allowViewers===!0}function X0(){return Tr()}function CG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function ho(){return NG(ze["answer-visibility"])}function NG(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===ze["answer-visibility"]&&n?.managedSweeps===!0}function _G(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.research;if(e?.allowViewers!==!0)return null;const n=e.viewerDailyRunLimit;return{allowViewers:!0,viewerDailyRunLimit:Number.isInteger(n)&&(n??0)>0?n:H$}}function Pw(){return _G()?"Analyst":"View only"}function MA(){return PA()!==null}function TG(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const J0=TG();function EG(){const e=typeof window<"u"&&window.location?window.location.origin:"";return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?e+window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):e}function Nm(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function RG(e){const n=e.trim().toLowerCase().replace(/^\[|\]$/g,"");return n==="localhost"||n==="::1"?!0:/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)}function DG(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!RG(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function Ote(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function qte(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function zG(){if(!(typeof window>"u"))return DG(window.location,Nm())}function IG(e){return`${Nm()}${e}`}function OG(e,n){if(n===404)return"Health endpoint returned 404. Check basePath or reverse-proxy configuration and make sure the dashboard reaches /health instead of an API-prefixed route."}function qG(){return""}function PG(){return!!qG()}let BA=null;function Mw(e){BA=e}function W0(){BA?.()}const J=u8({baseUrl:EG()});J.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&W0(),e));J.interceptors.request.use(e=>{const n=Y0(e.url);return n===e.url?e:kG(e,n)});async function pe(e){const n=await e();if(n.error!==void 0&&n.error!==null){const i=n.response.status;let r=`API ${i}: ${n.response.statusText}`,u,h;if(typeof n.error=="object"&&n.error!==null){const f=n.error.error;if(typeof f=="string")r=f;else if(f&&typeof f=="object"){const b=f;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}else{const b=n.error;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}}else typeof n.error=="string"&&(r=n.error);throw new xn(r,i,u,h)}if(n.response.status!==204)return n.data}async function zs(e,n){const i=n?.body!=null,r=await fetch(Y0(`${J0}${e}`),{...n,credentials:n?.credentials??"same-origin",headers:{...i?{"Content-Type":"application/json"}:{},...n?.headers}});if(!r.ok){const u=await r.text();let h=`API ${r.status}: ${r.statusText}`,f,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?h=v.error:v.error?.message?(h=v.error.message,f=v.error.code,b=v.error.details):v.message&&(h=v.message)}catch{h=u}throw r.status===401&&!e.startsWith("/session")&&!e.startsWith("/auth/")&&W0(),new xn(h,r.status,f,b)}if(r.status!==204)return r.json()}function MG(e){return pe(()=>nS({client:J,path:{name:e}}))}function Pte(e){return pe(()=>sS({client:J,path:{name:e}}))}function ng(e){return pe(()=>oS({client:J,path:{id:e}}))}function LA(e){return pe(()=>iS({client:J,path:{name:e}}))}function BG(e,n,i){return pe(()=>L6({client:J,path:{name:e},query:{location:n,limit:i}}))}function VA(e,n){return pe(()=>wT({client:J,path:{name:e},query:{location:n?.location,since:n?.since}}))}function $A(e,n){return pe(()=>J5({client:J,path:{name:e},body:n}))}function LG(e){return pe(()=>Y5({client:J,body:e}))}function VG(e,n){return pe(()=>_6({client:J,path:{name:e},body:{queries:n}}))}function $G(e,n){return pe(()=>N6({client:J,path:{name:e},body:{queries:n}}))}function Mte(e,n){return pe(()=>C6({client:J,path:{name:e},body:{queries:n}}))}function UG(e,n){return pe(()=>xT({client:J,path:{name:e},body:n}))}function GG(e,n){return pe(()=>R6({client:J,path:{name:e},body:{competitors:n}}))}function Bte(e,n){return pe(()=>E6({client:J,path:{name:e},body:{competitors:n}}))}function Lte(e,n){return pe(()=>D6({client:J,path:{name:e,id:n}}))}async function Vte(e,n){const i=await MG(e);return $A(e,{displayName:n.displayName??i.displayName??i.name,canonicalDomain:n.canonicalDomain??i.canonicalDomain,ownedDomains:n.ownedDomains??i.ownedDomains,aliases:n.aliases??i.aliases,country:n.country??i.country,language:n.language??i.language,tags:i.tags,labels:i.labels,providers:n.providers??i.providers,providerModels:n.providerModels??i.providerModels??{},locations:n.locations??i.locations,defaultLocation:n.defaultLocation!==void 0?n.defaultLocation:i.defaultLocation,autoExtractBacklinks:i.autoExtractBacklinks})}function KG(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),pe(()=>I6({client:J,path:{name:e},body:i}))}function $te(e,n){return pe(()=>S6({client:J,path:{name:e},body:n}))}async function Ute(e,n){await pe(()=>j6({client:J,path:{name:e,label:n}}))}function Gte(e,n){return pe(()=>A6({client:J,path:{name:e},body:{label:n}}))}async function Kte(e){await pe(()=>X5({client:J,path:{name:e}}))}function Hte(){return pe(()=>rS({client:J}))}function Bw(){return zs("/session")}function HG(e){return zs("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function QG(e){return zs("/session",{method:"POST",body:JSON.stringify({password:e})})}function FG(e){return zs("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function ZG(){return zs("/session",{method:"DELETE"})}function vf(){return pe(()=>K6({client:J}))}function Lw(){return zs("/auth/session")}function YG(e,n){return zs("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function Vw(){return zs("/auth/logout",{method:"POST"})}function UA(e,n){return pe(()=>U6({client:J,path:{name:e},body:n}))}async function e1(e){for(let n=0;n<2;n+=1)try{await pe(()=>i_({client:J,body:e}));return}catch(i){if(!(!(i instanceof xn)||i.statusCode>=500)||n===1)return}}function Qte(e){return pe(()=>G6({client:J,body:e}))}function Fte(e,n){return pe(()=>Y6({client:J,path:{name:e},body:n}))}async function Zte(e,n){await pe(()=>F6({client:J,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function Yte(e){return pe(()=>J6({client:J,path:{name:e}}))}function Xte(e,n){return pe(()=>W6({client:J,path:{name:e},body:n}))}async function Jte(e,n){await pe(()=>e_({client:J,path:{name:e,id:n}}))}function Wte(e,n){return pe(()=>t_({client:J,path:{name:e,id:n}}))}function XG(e,n,i){return pe(()=>T6({client:J,path:{name:e},body:{provider:n,count:i}}))}function JG(e){return pe(()=>P6({client:J,body:e}))}function WG(e){return pe(()=>q6({client:J,body:e??{}}))}function ene(e,n){const i=zG();return pe(()=>N_({client:J,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function tne(e,n){return pe(()=>__({client:J,path:{name:e,type:n}}))}function nne(e,n,i){return pe(()=>E_({client:J,path:{name:e,type:n},body:{propertyId:i}}))}function ane(e,n,i){return pe(()=>R_({client:J,path:{name:e,type:n},body:{sitemapUrl:i}}))}function eK(e,n){return pe(()=>D_({client:J,path:{name:e},body:n??{}}))}function ine(e,n){const i={};return n&&n!=="all"&&(i.window=n),pe(()=>V6({client:J,path:{name:e},query:i}))}function sne(e,n){return pe(()=>O_({client:J,path:{name:e},body:{url:n}}))}function tK(e,n){return pe(()=>V_({client:J,path:{name:e},body:n??{}}))}function one(e,n){return pe(()=>L_({client:J,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function rne(e,n){return pe(()=>F5({client:J,path:{name:e},body:{sitemapUrls:n}}))}function nK(e,n){return pe(()=>n8({client:J,path:{name:e},body:n??{}}))}function lne(e,n){return pe(()=>UT({client:J,path:{name:e},body:n??{}}))}function cne(){return pe(()=>lS({client:J}))}function une(e,n){return pe(()=>Q6({client:J,body:{host:e,port:n}}))}function dne(e,n){return pe(()=>$_({client:J,path:{name:e},body:n}))}function mne(e,n){return pe(()=>X_({client:J,path:{name:e},body:{apiKey:n}}))}function pne(e){return pe(()=>J_({client:J,path:{name:e}}))}function hne(e,n){return pe(()=>tT({client:J,path:{name:e},body:{siteUrl:n}}))}function fne(e,n){return pe(()=>iT({client:J,path:{name:e},body:{url:n}}))}function gne(e,n){return pe(()=>sT({client:J,path:{name:e},body:{}}))}function yne(e,n){return pe(()=>oT({client:J,path:{name:e},body:n}))}function bne(e){return pe(()=>H6({client:J,body:{apiKey:e}}))}function GA(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function vne(e,n="agency",i){const r=new URLSearchParams({audience:n});i!==void 0&&r.set("period",String(i));const u=await fetch(Y0(`${J0}/projects/${encodeURIComponent(e)}/report.html?${r.toString()}`),{credentials:"same-origin",headers:{}});if(!u.ok)throw new xn(`Failed to download report: ${u.status}`,u.status);const h=await u.blob(),f=URL.createObjectURL(h),b=GA(u.headers.get("Content-Disposition"))??`canonry-report-${e}.html`,v=document.createElement("a");v.href=f,v.download=b,document.body.appendChild(v),v.click(),document.body.removeChild(v),URL.revokeObjectURL(f)}async function xne(e,n){const i=await fetch(`${J0}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw new xn(`Failed to download results: ${i.status}`,i.status);const r=await i.blob(),u=URL.createObjectURL(r),h=GA(i.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,f=document.createElement("a");f.href=u,f.download=h,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(u)}function wne(e,n){return pe(()=>dT({client:J,path:{name:e},body:{}}))}function kne(e,n){return pe(()=>lT({client:J,path:{name:e},body:n}))}function Sne(e){return pe(()=>cT({client:J,path:{name:e}}))}function jne(e,n){return pe(()=>IT({client:J,path:{name:e},body:n}))}function Ane(e,n){return pe(()=>OT({client:J,path:{name:e},body:n}))}function Cne(e,n){return pe(()=>qT({client:J,path:{name:e},body:n}))}function Nne(e,n,i){return pe(()=>PT({client:J,path:{name:e,id:n},body:i??{}}))}function _ne(e,n,i){return pe(()=>MT({client:J,path:{name:e,id:n},body:{}}))}function Tne(e,n){return pe(()=>gT({client:J,path:{name:e},query:{runId:n}}))}function aK(e){if(!e||typeof e!="object")return;const n=e;if(!(typeof n.current!="string"||typeof n.latest!="string"||typeof n.url!="string"||typeof n.upgradeCommand!="string"))return{current:n.current,latest:n.latest,url:n.url,upgradeCommand:n.upgradeCommand}}async function iK(e,n){const i=IG(e);try{const r=await fetch(i,{credentials:"same-origin"});if(!r.ok)return{label:n,state:"error",detail:`${n} ${r.status}: ${r.statusText}`,statusCode:r.status,hint:OG(e,r.status)};const u=await r.json(),h=typeof u.version=="string"?u.version:"unknown",f=typeof u.databaseUrlConfigured=="boolean"?u.databaseUrlConfigured:void 0,b=typeof u.lastHeartbeatAt=="string"?u.lastHeartbeatAt:void 0,v=aK(u.updateAvailable),w=JU.safeParse(u.mcp),k=[h,f===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:k,version:h,databaseConfigured:f,lastHeartbeatAt:b,...v?{updateAvailable:v}:{},...w.success?{mcp:w.data}:{}}}catch(r){return{label:n,state:"error",detail:r instanceof Error?r.message:"unreachable",hint:e==="/health"?`Request failed while checking ${i}. If this instance is served behind a sub-path, verify the dashboard basePath and reverse-proxy rewrites.`:void 0}}}function Ene(){return pe(()=>kT({client:J}))}function Rne(){return pe(()=>ST({client:J}))}function Dne(){return pe(()=>CT({client:J}))}function zne(){return pe(()=>jT({client:J}))}function Ine(e){return pe(()=>AT({client:J,body:e?{release:e}:{}}))}function One(){return pe(()=>NT({client:J}))}function qne(){return pe(()=>_T({client:J}))}function Pne(e){return pe(()=>TT({client:J,path:{release:e}}))}function Mne(e,n={}){return pe(()=>RT({client:J,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Bne(e,n={}){return pe(()=>DT({client:J,path:{name:e},query:{limit:n.limit!==void 0?String(n.limit):void 0,offset:n.offset!==void 0?String(n.offset):void 0,release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Lne(e,n={}){return pe(()=>zT({client:J,path:{name:e},query:{source:n.source}}))}function Vne(e,n){return pe(()=>ET({client:J,path:{name:e},body:{release:void 0}}))}async function $w(e,n){return pe(()=>s8({client:J,path:{name:e},query:n}))}async function sK(e,n){return pe(()=>o8({client:J,path:{name:e},body:{id:n}}))}async function oK(e,n){return pe(()=>l8({client:J,path:{name:e,id:n}}))}async function rK(e,n){return pe(()=>r8({client:J,path:{name:e,id:n}}))}async function lK(e,n){const i=f=>pe(()=>s6({client:J,path:{name:e},query:{...n,include:["assessments","locations"],queryLimit:w3,queryCursor:f}})),r=await i(),u=[...r.queries];let h=r.queryPage?.nextCursor??null;for(;h;){const f=await i(h);u.push(...f.queries),h=f.queryPage?.nextCursor??null}return{...r,queries:u,...r.queryPage?{queryPage:{...r.queryPage,nextCursor:null}}:{}}}function Sd(e){return pe(()=>a6({client:J,path:{name:e}}))}function cK(e,n){return pe(()=>i6({client:J,path:{name:e},body:n}))}function uK(e,n,i){return pe(()=>o6({client:J,path:{name:e},query:{...n,cursor:i,limit:50}}))}function dK(e,n){return pe(()=>r6({client:J,path:{name:e},query:n}))}function mK(e,n,i){return pe(()=>l6({client:J,path:{name:e},body:{previewToken:n,idempotencyKey:i}}))}function pK(e){return pe(()=>c6({client:J,path:{name:e}}))}function hK(e,n,i){return pe(()=>u6({client:J,path:{name:e,jobId:n},query:{attemptCursor:i}}))}const KA={account:null,canWrite:!0,isAdmin:!0},fK={account:null,canWrite:!1,isAdmin:!1};function gK(e){const n=e.scopes.includes(Rw);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(Rw)}}const HA=C.createContext(KA);function yK({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?fK:n?gK(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:KA;return l.jsx(HA.Provider,{value:u,children:r})}function pa(){return C.useContext(HA)}const QA="View only — your account cannot change this.";function pn(e){return(...n)=>{e(...n)}}const bK=6e3,vK=5,xK=180;let qn=[],wK=0;const ag=new Set,ig=new Map,sg=new Map;function Ud(){const e=[...qn];for(const n of ag)n(e)}function t1(e){const n=ig.get(e);n&&(clearTimeout(n),ig.delete(e));const i=sg.get(e);i&&(clearTimeout(i),sg.delete(e))}function FA(e){t1(e);const n=qn.length;qn=qn.filter(i=>i.id!==e),qn.length!==n&&Ud()}function Uw(e){t1(e.id),ig.set(e.id,setTimeout(()=>{og(e.id)},e.durationMs))}function kK(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function wn(e,n="negative",i=bK){const r=kK(e,n,i),u={id:String(++wK),title:r.title,detail:r.detail,tone:r.tone??n,durationMs:r.durationMs??i,dedupeKey:r.dedupeKey,cta:r.cta,state:"open"};if(r.dedupeKey){const h=qn.find(f=>f.dedupeKey===r.dedupeKey);if(h){if((r.dedupeMode??"drop")==="drop")return h.id;const f={...h,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return qn=qn.map(b=>b.id===h.id?f:b),Ud(),Uw(f),h.id}}return qn.length>=vK&&FA(qn[0].id),qn=[...qn,u],Ud(),Uw(u),u.id}function og(e){const n=qn.find(i=>i.id===e);!n||n.state==="closing"||(t1(e),qn=qn.map(i=>i.id===e?{...i,state:"closing"}:i),Ud(),sg.set(e,setTimeout(()=>{FA(e)},xK)))}function SK(e){return ag.add(e),()=>{ag.delete(e)}}function Gw(){return qn}const jK=5*6e4,jd=30*6e4,$ne=3e4,Une=6e4,Lr=3e4,AK=2e3,CK=3e4;function NK(){return new QN({defaultOptions:{queries:{staleTime:jK,retry:1,refetchOnWindowFocus:!1}},mutationCache:new FN({onError:(n,i,r,u)=>{u.meta?.skipGlobalErrorToast||wn({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const _K="modulepreload",TK=function(e,n){return new URL(e,n).href},Kw={},Li=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let w=function(k){return Promise.all(k.map(j=>Promise.resolve(j).then(T=>({status:"fulfilled",value:T}),T=>({status:"rejected",reason:T}))))};const f=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=w(i.map(k=>{if(k=TK(k,r),k in Kw)return;Kw[k]=!0;const j=k.endsWith(".css"),T=j?'[rel="stylesheet"]':"";if(r)for(let q=f.length-1;q>=0;q--){const E=f[q];if(E.href===k&&(!j||E.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${k}"]${T}`))return;const N=document.createElement("link");if(N.rel=j?"stylesheet":_K,j||(N.as="script"),N.crossOrigin="",N.href=k,v&&N.setAttribute("nonce",v),document.head.appendChild(N),j)return new Promise((q,E)=>{N.addEventListener("load",q),N.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${k}`)))})}))}function h(f){const b=new Event("vite:preloadError",{cancelable:!0});if(b.payload=f,window.dispatchEvent(b),!b.defaultPrevented)throw f}return u.then(f=>{for(const b of f||[])b.status==="rejected"&&h(b.reason);return n().catch(h)})},n1=C.createContext({view:null,publish:()=>()=>{}});function EK({children:e}){const[n,i]=C.useState(null),r=C.useCallback(u=>(i(u),()=>i(h=>h===u?null:h)),[]);return l.jsx(n1.Provider,{value:C.useMemo(()=>({view:n,publish:r}),[n,r]),children:e})}function Gne(e,n){const{publish:i}=C.useContext(n1),r=JSON.stringify(n);C.useEffect(()=>i({project:e,context:JSON.parse(r)}),[i,e,r])}function RK(e,n){const{view:i}=C.useContext(n1);return i?.project===e&&i.context.view===n.view?i.context:n}var DK=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(DK||{});const Kne={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},Hne={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},zK=l0;function Qne(e){return e.endsWith("%")?{figure:e.slice(0,-1),sign:"%"}:{figure:e,sign:""}}function IK(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const u=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${u}
53
-
54
- ${JSON.stringify(r.raw,null,2)}`):n.push(u)}return n.length>0?n.join(`
55
-
56
- `):"Run failed."}function OK(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function qK(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function Fne(e){return e===null?"Unknown":e?"Pass":"Fail"}function Hw(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function Zne(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function Yne(e,n){if(!e)return{freq:"custom",hour:6,customCron:n};if(e==="twice-daily")return{freq:"twice-daily",hour:6,customCron:""};const i=e.match(/^daily(?:@(\d+))?$/);if(i)return{freq:"daily",hour:i[1]?parseInt(i[1]):6,customCron:""};const r=e.match(/^(weekly@(?:mon|tue|wed|thu|fri|sat|sun))(?:@(\d+))?$/);return r?{freq:r[1],hour:r[2]?parseInt(r[2]):6,customCron:""}:{freq:"custom",hour:6,customCron:n}}function Xne(e,n,i){const r=i==="UTC"?"UTC":i.split("/").pop()?.replace(/_/g," ")??i;if(!e)return`Custom: ${n} · ${r}`;if(e==="twice-daily")return`Twice a day (6am & 6pm) · ${r}`;const u=e.match(/^daily(?:@(\d+))?$/);if(u){const f=u[1]?parseInt(u[1]):6;return`Every day at ${Hw(f)} · ${r}`}const h=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(h){const f={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=h[2]?parseInt(h[2]):6;return`Every ${f[h[1]]} at ${Hw(b)} · ${r}`}return`${e} · ${r}`}function PK(e,n){return n&&n!==e?`${e} · ${n}`:e}function Jne(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return PK(e,n)}function MK(e){const n=e.replace(/\/+$/,"")||"/";return n==="/"?"overview":n==="/projects"?"projects":n.startsWith("/projects/")?"project":n==="/runs"?"runs":n==="/traffic"||n.startsWith("/traffic/")?"traffic":n==="/backlinks"?"backlinks":n==="/settings"?"settings":n==="/setup"?"setup":"other"}function BK(e,n){return!n||n.includes(e)}const ZA=["overview","search-console","local","report","activity","backlinks","technical-aeo","history","settings"],LK=new Set(ZA);function VK(e){const n=e??ZA,i=[...new Set(n.filter(r=>LK.has(r)))];return i.length>0?i:["overview"]}function Wne(e){return e?VK(e.projectTabs):void 0}function eae(e,n){return BK(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const Qw={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},$K=/^(?:#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})|rgba?\([0-9.,%\s/]+\)|hsla?\([0-9.,%\s/a-z]+\))$/i;function UK(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function GK(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(Qw,i)?Qw[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();$K.test(h)&&(n[u]=h)}return n}const he=(e,n,i,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??z).getConfig().baseUrl};return i&&(u._infinite=i),n?.body&&(u.body=n.body),n?.headers&&(u.headers=n.headers),n?.path&&(u.path=n.path),n?.query&&(u.query=n.query),[u]},As=e=>he("getApiV1Projects",e),Ro=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Z5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:As(e)}),KK=e=>he("getApiV1ProjectsByName",e),HK=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await nS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KK(e)}),QK=e=>he("getApiV1ProjectsByNameMeasurementPlan",e),tae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QK(e)}),FK=e=>he("getApiV1ProjectsByNameMeasurementReport",e),nae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FK(e)}),ZK=e=>he("getApiV1ProjectsByNameMeasurementSetup",e),YK=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await t6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZK(e)}),$c=(e,n)=>{const i={...e[0]};return n.body&&(i.body={...e[0].body,...n.body}),n.headers&&(i.headers={...e[0].headers,...n.headers}),n.path&&(i.path={...e[0].path,...n.path}),n.query&&(i.query={...e[0].query,...n.query}),i},aae=e=>({mutationFn:async i=>{const{data:r}=await n6({...e,...i,throwOnError:!0});return r}}),XK=e=>he("getApiV1ProjectsByNameMeasurementOverview",e),iae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await aS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XK(e)}),JK=e=>he("getApiV1ProjectsByNameMeasurementOverview",e,!0),sae=e=>Nc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=$c(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await aS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:JK(e)}),WK=e=>he("getApiV1ProjectsByNameVisibilityReport",e),oae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WK(e)}),eH=e=>he("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),rae=e=>Nc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=$c(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await m6({...e,...h,signal:r,throwOnError:!0});return f},queryKey:eH(e)}),tH=e=>he("getApiV1ProjectsByNameMeasurementQuestionResult",e),lae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tH(e)}),nH=e=>he("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),cae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nH(e)}),aH=e=>he("getApiV1ProjectsByNameMeasurementQueryTemplates",e),uae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await f6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aH(e)}),dae=e=>({mutationFn:async i=>{const{data:r}=await g6({...e,...i,throwOnError:!0});return r}}),iH=e=>he("getApiV1ProjectsByNameResearchRuns",e,!0),mae=e=>Nc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=$c(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await y6({...e,...h,signal:r,throwOnError:!0});return f},queryKey:iH(e)}),pae=e=>({mutationFn:async i=>{const{data:r}=await b6({...e,...i,throwOnError:!0});return r}}),sH=e=>he("getApiV1ProjectsByNameQueryTracking",e),hae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await v6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sH(e)}),fae=e=>({mutationFn:async i=>{const{data:r}=await x6({...e,...i,throwOnError:!0});return r}}),gae=e=>({mutationFn:async i=>{const{data:r}=await w6({...e,...i,throwOnError:!0});return r}}),oH=e=>he("getApiV1ProjectsByNameResearchRunsByRunId",e),yae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oH(e)}),YA=e=>he("getApiV1ProjectsByNameQueries",e),bae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await iS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YA(e)}),rH=e=>he("getApiV1ProjectsByNameAnalyticsCompetitors",e),vae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await z6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rH(e)}),lH=e=>he("getApiV1ProjectsByNameRuns",e),XA=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await sS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lH(e)}),a1=e=>he("getApiV1Runs",e),_m=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:a1(e)}),cH=e=>he("getApiV1RunsById",e),i1=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await oS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cH(e)}),uH=e=>he("getApiV1ProjectsByNameHistory",e),xae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uH(e)}),dH=e=>he("getApiV1History",e),wae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dH(e)}),mH=e=>he("getApiV1ProjectsByNameSnapshotsDiff",e),kae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mH(e)}),pH=e=>he("getApiV1Settings",e),hH=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pH(e)}),fH=e=>he("getApiV1ProjectsByNameSchedule",e),gH=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Z6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fH(e)}),yH=e=>he("getApiV1ProjectsByNameSchedules",e),Sae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await X6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yH(e)}),JA=e=>he("getApiV1Telemetry",e),bH=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JA(e)}),vH=e=>({mutationFn:async i=>{const{data:r}=await a_({...e,...i,throwOnError:!0});return r}}),xH=e=>he("getApiV1CdpStatus",e),wH=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await lS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xH(e)}),kH=e=>he("getApiV1ProjectsByNameGoogleAdsStatus",e),jae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await s_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kH(e)}),Aae=e=>({mutationFn:async i=>{const{data:r}=await o_({...e,...i,throwOnError:!0});return r}}),SH=e=>he("getApiV1ProjectsByNameGoogleAdsCustomers",e),Cae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await r_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SH(e)}),Nae=e=>({mutationFn:async i=>{const{data:r}=await l_({...e,...i,throwOnError:!0});return r}}),_ae=e=>({mutationFn:async i=>{const{data:r}=await c_({...e,...i,throwOnError:!0});return r}}),jH=e=>he("getApiV1ProjectsByNameGoogleAdsPerformance",e),Tae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await u_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jH(e)}),AH=e=>he("getApiV1ProjectsByNameGoogleAdsSnapshots",e),Eae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AH(e)}),Rae=e=>({mutationFn:async i=>{const{data:r}=await m_({...e,...i,throwOnError:!0});return r}}),CH=e=>he("getApiV1ProjectsByNameGtmStatus",e),Dae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CH(e)}),zae=e=>({mutationFn:async i=>{const{data:r}=await h_({...e,...i,throwOnError:!0});return r}}),NH=e=>he("getApiV1ProjectsByNameGtmAccounts",e),Iae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await f_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NH(e)}),_H=e=>he("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),Oae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_H(e)}),TH=e=>he("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),qae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TH(e)}),Pae=e=>({mutationFn:async i=>{const{data:r}=await b_({...e,...i,throwOnError:!0});return r}}),Mae=e=>({mutationFn:async i=>{const{data:r}=await v_({...e,...i,throwOnError:!0});return r}}),EH=e=>he("getApiV1ProjectsByNameGtmSnapshots",e),Bae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await x_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EH(e)}),Lae=e=>({mutationFn:async i=>{const{data:r}=await w_({...e,...i,throwOnError:!0});return r}}),RH=e=>he("getApiV1ProjectsByNameConversionTrackingOptions",e),Vae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RH(e)}),DH=e=>he("getApiV1ProjectsByNameConversionTrackingContracts",e),$ae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:DH(e)}),Uae=e=>({mutationFn:async i=>{const{data:r}=await j_({...e,...i,throwOnError:!0});return r}}),zH=e=>he("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),Gae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zH(e)}),IH=e=>he("getApiV1ProjectsByNameGoogleConnections",e),Kae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await C_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IH(e)}),OH=e=>he("getApiV1ProjectsByNameGoogleProperties",e),Hae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OH(e)}),qH=e=>he("getApiV1ProjectsByNameGoogleGscPerformance",e),Qae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await z_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qH(e)}),PH=e=>he("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),Fae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await I_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PH(e)}),MH=e=>he("getApiV1ProjectsByNameGoogleGscInspections",e),Zae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await q_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MH(e)}),BH=e=>he("getApiV1ProjectsByNameGoogleGscDeindexed",e),Yae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await P_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BH(e)}),LH=e=>he("getApiV1ProjectsByNameGoogleGscCoverage",e),Xae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LH(e)}),VH=e=>he("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),Jae=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VH(e)}),Wae=e=>he("getApiV1ProjectsByNameGoogleGscSitemaps",e),$H=e=>he("getApiV1ProjectsByNameGbpLocations",e),eie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await U_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$H(e)}),tie=e=>({mutationFn:async i=>{const{data:r}=await G_({...e,...i,throwOnError:!0});return r}}),nie=e=>({mutationFn:async i=>{const{data:r}=await K_({...e,...i,throwOnError:!0});return r}}),UH=e=>he("getApiV1ProjectsByNameGbpKeywords",e),aie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UH(e)}),GH=e=>he("getApiV1ProjectsByNameGbpPlaceActions",e),iie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Q_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GH(e)}),KH=e=>he("getApiV1ProjectsByNameGbpLodging",e),sie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KH(e)}),HH=e=>he("getApiV1ProjectsByNameGbpPlaces",e),oie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Z_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HH(e)}),QH=e=>he("getApiV1ProjectsByNameGbpSummary",e),rie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QH(e)}),FH=e=>he("getApiV1ProjectsByNameBingStatus",e),lie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FH(e)}),ZH=e=>he("getApiV1ProjectsByNameBingSites",e),cie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await eT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZH(e)}),YH=e=>he("getApiV1ProjectsByNameBingCoverage",e),uie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await nT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YH(e)}),XH=e=>he("getApiV1ProjectsByNameBingInspections",e),die=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await aT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XH(e)}),JH=e=>he("getApiV1ProjectsByNameBingPerformance",e),mie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JH(e)}),WH=e=>he("getApiV1ProjectsByNameGaStatus",e),pie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await uT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WH(e)}),eQ=e=>he("getApiV1ProjectsByNameGaTraffic",e),hie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await mT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:eQ(e)}),tQ=e=>he("getApiV1ProjectsByNameGaAiReferralDaily",e),fie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tQ(e)}),nQ=e=>he("getApiV1ProjectsByNameGaSocialReferralHistory",e),gie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await hT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nQ(e)}),aQ=e=>he("getApiV1ProjectsByNameGaSessionHistory",e),yie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await fT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aQ(e)}),iQ=e=>he("getApiV1ProjectsByNameReport",e),bie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await yT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iQ(e)}),sQ=e=>he("getApiV1ProjectsByNameHealthHistory",e),vie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await bT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sQ(e)}),oQ=e=>he("getApiV1ProjectsByNameCitationsVisibility",e),xie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await vT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oQ(e)}),rQ=e=>he("getApiV1ProjectsByNameTrafficSources",e),wie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rQ(e)}),lQ=e=>he("getApiV1ProjectsByNameTrafficStatus",e),kie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await LT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lQ(e)}),cQ=e=>he("getApiV1ProjectsByNameTrafficSourcesById",e),Sie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cQ(e)}),uQ=e=>he("getApiV1ProjectsByNameTrafficEvents",e),jie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $T({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uQ(e)}),dQ=e=>he("getApiV1ProjectsByNameDiscoverSessions",e),Aie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await GT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dQ(e)}),mQ=e=>he("getApiV1ProjectsByNameDiscoverSessionsById",e),Cie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await KT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mQ(e)}),pQ=e=>he("getApiV1ProjectsByNameTechnicalAeo",e),hQ=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await HT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pQ(e)}),fQ=e=>he("getApiV1ProjectsByNameTechnicalAeoPages",e),Nie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await QT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fQ(e)}),gQ=e=>he("getApiV1ProjectsByNameTechnicalAeoTrend",e),_ie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await FT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gQ(e)}),yQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawl",e),Tie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await ZT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yQ(e)}),bQ=e=>he("getApiV1ProjectsByNameTechnicalAeoGraph",e),Eie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await YT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bQ(e)}),vQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),Rie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await XT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vQ(e)}),xQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),Die=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await cS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xQ(e)}),wQ=e=>he("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),zie=e=>Nc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=$c(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await cS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:wQ(e)}),kQ=e=>he("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),Iie=e=>Nc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=$c(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await JT({...e,...h,signal:r,throwOnError:!0});return f},queryKey:kQ(e)}),SQ=e=>he("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),Oie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await WT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SQ(e)}),jQ=e=>he("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),qie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jQ(e)}),AQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRuns",e),Pie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await t8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AQ(e)}),CQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),Mie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await a8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CQ(e)}),NQ=e=>he("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),Bie=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await i8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NQ(e)}),_Q=e=>he("getApiV1ProjectsByNameAgentProviders",e),TQ=e=>ye({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await c8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_Q(e)});function Fw(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function WA(e){switch(e){case"completed":return"positive";case"partial":return"caution";case"failed":return"negative";case"cancelled":return"caution";case"queued":case"running":return"neutral";default:return"neutral"}}function Lie(e){switch(e){case"cited":return"positive";case"emerging":return"caution";case"not-cited":return"caution";case"lost":return"negative";case"pending":return"neutral";default:return"neutral"}}const Vie={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function EQ(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function Vr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
57
- `):void 0}function RQ(e,n,i){const r=e.filter(f=>f.id!=="mcp").map(f=>{if(f.id==="api")return{...f,tone:Fw(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(f.id==="worker")return{...f,tone:Fw(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(j=>j.state==="ready").length,v=i.providerStatuses.length,w=b>0,k=i.providerStatuses.filter(j=>j.state==="ready").map(j=>EQ(j)).join(" · ");return{...f,label:"Providers",tone:w?"positive":"caution",detail:`${b} of ${v} configured`,meta:k||"None configured"}}),u=n.apiStatus.mcp,h={id:"mcp",label:"MCP",tone:"neutral",detail:"Unknown",meta:"MCP status is not available from this server."};return n.apiStatus.state==="checking"?(h.detail="Checking",h.meta="Checking MCP availability."):n.apiStatus.state==="ok"&&u&&(u.status==="available"?(h.tone="positive",h.detail="Available",h.meta="MCP is available for agent connections. This checks the server transport, not an individual client connection."):u.status==="unavailable"?(h.tone="negative",h.detail="Unavailable",h.meta="The MCP transport is not fully available. Contact your Canonry team."):(h.detail="Not enabled",h.meta="This server does not provide an MCP endpoint.")),r.splice(Math.max(0,r.findIndex(f=>f.id==="api")+1),0,h),r}function DQ(e,n){if(e.apiStatus.state!=="ok")return"Launch is blocked until the API responds cleanly.";if(e.apiStatus.databaseConfigured===!1)return"Launch is blocked until the API has a database connection configured.";if(e.workerStatus.state!=="ok")return"Launch is blocked until the worker is healthy and heartbeats are current.";if(!n.providerStatuses.some(i=>i.state==="ready"))return"Launch is blocked until at least one provider is configured."}function zQ(e,n,i){const r=DQ(n,i),u=structuredClone(e);return u.healthChecks=u.healthChecks.map(h=>{if(h.id==="api")return{...h,detail:n.apiStatus.detail,state:n.apiStatus.state==="ok"?"ready":"attention"};if(h.id==="worker")return{...h,detail:n.workerStatus.detail,state:n.workerStatus.state==="ok"?"ready":"attention"};const f=i.providerStatuses.some(b=>b.state==="ready");return{...h,detail:f?"At least one provider configured.":"No providers configured.",state:f?"ready":"attention"}}),u.launchState.enabled=r===void 0,u.launchState.blockedReason=r,u.launchState.summary=r??"Queue a visibility sweep first, then follow with a site audit to explain movement.",u}const eC="canonry.run-tracker",rg=new Set;let Zw=!1,IQ=0,Tm={runs:{},batches:{}};function OQ(){const e=Bi();for(const n of rg)n(e)}function qQ(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function PQ(){typeof window>"u"||window.sessionStorage.setItem(eC,JSON.stringify(Tm))}function tC(){Zw||(Zw=!0,!(typeof window>"u")&&(Tm=qQ(window.sessionStorage.getItem(eC))))}function Em(e){Tm=e,PQ(),OQ()}function Bi(){return tC(),Tm}function nC(e){return tC(),rg.add(e),()=>{rg.delete(e)}}function s1(e){const n=Bi();Em({...n,runs:{...n.runs,[e.id]:{runId:e.id,projectId:e.projectId,projectLabel:e.projectLabel,kind:e.kind,sourceAction:e.sourceAction,lastAnnouncedStatus:e.lastAnnouncedStatus??"queued",trackedAt:e.trackedAt??Date.now()}}})}function xf(e){const n=Bi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;Em({...n,runs:r})}function MQ(e){const n=Bi(),i=`batch_${Date.now()}_${++IQ}`;return Em({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function BQ(e){const n=Bi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;Em({...n,batches:r})}function LQ(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const VQ=10*6e4;function $Q(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function UQ(e,n){let i=0,r=0,u=0,h=0,f=0;for(const b of e){const v=n[b]?.status;v==="completed"?i+=1:v==="partial"?r+=1:v==="failed"?u+=1:v==="cancelled"?h+=1:f+=1}return{completed:i,partial:r,failed:u,cancelled:h,pending:f,finished:f===0}}const Yw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Xw=Vk,aC=(e,n)=>i=>{var r;if(n?.variants==null)return Xw(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,f=Object.keys(u).map(w=>{const k=i?.[w],j=h?.[w];if(k===null)return null;const T=Yw(k)||Yw(j);return u[w][T]}),b=i&&Object.entries(i).reduce((w,k)=>{let[j,T]=k;return T===void 0||(w[j]=T),w},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((w,k)=>{let{class:j,className:T,...N}=k;return Object.entries(N).every(q=>{let[E,P]=q;return Array.isArray(P)?P.includes({...h,...b}[E]):{...h,...b}[E]===P})?[...w,j,T]:w},[]);return Xw(e,f,v,i?.class,i?.className)},GQ=(e,n)=>{const i=new Array(e.length+n.length);for(let r=0;r<e.length;r++)i[r]=e[r];for(let r=0;r<n.length;r++)i[e.length+r]=n[r];return i},KQ=(e,n)=>({classGroupId:e,validator:n}),iC=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),Gd="-",Jw=[],HQ="arbitrary..",QQ=e=>{const n=ZQ(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return FQ(f);const b=f.split(Gd),v=b[0]===""&&b.length>1?1:0;return sC(b,v,n)},getConflictingClassGroupIds:(f,b)=>{if(b){const v=r[f],w=i[f];return v?w?GQ(w,v):v:w||Jw}return i[f]||Jw}}},sC=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const w=sC(e,n+1,h);if(w)return w}const f=i.validators;if(f===null)return;const b=n===0?e.join(Gd):e.slice(n).join(Gd),v=f.length;for(let w=0;w<v;w++){const k=f[w];if(k.validator(b))return k.classGroupId}},FQ=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),i=n.indexOf(":"),r=n.slice(0,i);return r?HQ+r:void 0})(),ZQ=e=>{const{theme:n,classGroups:i}=e;return YQ(i,n)},YQ=(e,n)=>{const i=iC();for(const r in e){const u=e[r];o1(u,i,r,n)}return i},o1=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const f=e[h];XQ(f,n,i,r)}},XQ=(e,n,i,r)=>{if(typeof e=="string"){JQ(e,n,i);return}if(typeof e=="function"){WQ(e,n,i,r);return}eF(e,n,i,r)},JQ=(e,n,i)=>{const r=e===""?n:oC(n,e);r.classGroupId=i},WQ=(e,n,i,r)=>{if(tF(e)){o1(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(KQ(i,e))},eF=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let f=0;f<h;f++){const[b,v]=u[f];o1(v,oC(n,b),i,r)}},oC=(e,n)=>{let i=e;const r=n.split(Gd),u=r.length;for(let h=0;h<u;h++){const f=r[h];let b=i.nextPart.get(f);b||(b=iC(),i.nextPart.set(f,b)),i=b}return i},tF=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,nF=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=Object.create(null),r=Object.create(null);const u=(h,f)=>{i[h]=f,n++,n>e&&(n=0,r=i,i=Object.create(null))};return{get(h){let f=i[h];if(f!==void 0)return f;if((f=r[h])!==void 0)return u(h,f),f},set(h,f){h in i?i[h]=f:u(h,f)}}},lg="!",Ww=":",aF=[],ek=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),iF=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let f=0,b=0,v=0,w;const k=u.length;for(let E=0;E<k;E++){const P=u[E];if(f===0&&b===0){if(P===Ww){h.push(u.slice(v,E)),v=E+1;continue}if(P==="/"){w=E;continue}}P==="["?f++:P==="]"?f--:P==="("?b++:P===")"&&b--}const j=h.length===0?u:u.slice(v);let T=j,N=!1;j.endsWith(lg)?(T=j.slice(0,-1),N=!0):j.startsWith(lg)&&(T=j.slice(1),N=!0);const q=w&&w>v?w-v:void 0;return ek(h,N,T,q)};if(n){const u=n+Ww,h=r;r=f=>f.startsWith(u)?h(f.slice(u.length)):ek(aF,!1,f,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},sF=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((i,r)=>{n.set(i,1e6+r)}),i=>{const r=[];let u=[];for(let h=0;h<i.length;h++){const f=i[h],b=f[0]==="[",v=n.has(f);b||v?(u.length>0&&(u.sort(),r.push(...u),u=[]),r.push(f)):u.push(f)}return u.length>0&&(u.sort(),r.push(...u)),r}},oF=e=>({cache:nF(e.cacheSize),parseClassName:iF(e),sortModifiers:sF(e),...QQ(e)}),rF=/\s+/,lF=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,f=[],b=e.trim().split(rF);let v="";for(let w=b.length-1;w>=0;w-=1){const k=b[w],{isExternal:j,modifiers:T,hasImportantModifier:N,baseClassName:q,maybePostfixModifierPosition:E}=i(k);if(j){v=k+(v.length>0?" "+v:v);continue}let P=!!E,H=r(P?q.substring(0,E):q);if(!H){if(!P){v=k+(v.length>0?" "+v:v);continue}if(H=r(q),!H){v=k+(v.length>0?" "+v:v);continue}P=!1}const X=T.length===0?"":T.length===1?T[0]:h(T).join(":"),L=N?X+lg:X,Z=L+H;if(f.indexOf(Z)>-1)continue;f.push(Z);const Y=u(H,P);for(let ee=0;ee<Y.length;++ee){const B=Y[ee];f.push(L+B)}v=k+(v.length>0?" "+v:v)}return v},cF=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=rC(i))&&(u&&(u+=" "),u+=r);return u},rC=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=rC(e[r]))&&(i&&(i+=" "),i+=n);return i},uF=(e,...n)=>{let i,r,u,h;const f=v=>{const w=n.reduce((k,j)=>j(k),e());return i=oF(w),r=i.cache.get,u=i.cache.set,h=b,b(v)},b=v=>{const w=r(v);if(w)return w;const k=lF(v,i);return u(v,k),k};return h=f,(...v)=>h(cF(...v))},dF=[],mn=e=>{const n=i=>i[e]||dF;return n.isThemeGetter=!0,n},lC=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,cC=/^\((?:(\w[\w-]*):)?(.+)\)$/i,mF=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,pF=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,hF=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fF=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,gF=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,yF=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,bs=e=>mF.test(e),at=e=>!!e&&!Number.isNaN(Number(e)),vs=e=>!!e&&Number.isInteger(Number(e)),wf=e=>e.endsWith("%")&&at(e.slice(0,-1)),Di=e=>pF.test(e),uC=()=>!0,bF=e=>hF.test(e)&&!fF.test(e),r1=()=>!1,vF=e=>gF.test(e),xF=e=>yF.test(e),wF=e=>!Ce(e)&&!Ne(e),kF=e=>Is(e,pC,r1),Ce=e=>lC.test(e),po=e=>Is(e,hC,bF),tk=e=>Is(e,EF,at),SF=e=>Is(e,gC,uC),jF=e=>Is(e,fC,r1),nk=e=>Is(e,dC,r1),AF=e=>Is(e,mC,xF),md=e=>Is(e,yC,vF),Ne=e=>cC.test(e),oc=e=>Do(e,hC),CF=e=>Do(e,fC),ak=e=>Do(e,dC),NF=e=>Do(e,pC),_F=e=>Do(e,mC),pd=e=>Do(e,yC,!0),TF=e=>Do(e,gC,!0),Is=(e,n,i)=>{const r=lC.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},Do=(e,n,i=!1)=>{const r=cC.exec(e);return r?r[1]?n(r[1]):i:!1},dC=e=>e==="position"||e==="percentage",mC=e=>e==="image"||e==="url",pC=e=>e==="length"||e==="size"||e==="bg-size",hC=e=>e==="length",EF=e=>e==="number",fC=e=>e==="family-name",gC=e=>e==="number"||e==="weight",yC=e=>e==="shadow",RF=()=>{const e=mn("color"),n=mn("font"),i=mn("text"),r=mn("font-weight"),u=mn("tracking"),h=mn("leading"),f=mn("breakpoint"),b=mn("container"),v=mn("spacing"),w=mn("radius"),k=mn("shadow"),j=mn("inset-shadow"),T=mn("text-shadow"),N=mn("drop-shadow"),q=mn("blur"),E=mn("perspective"),P=mn("aspect"),H=mn("ease"),X=mn("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Y=()=>[...Z(),Ne,Ce],ee=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],K=()=>[Ne,Ce,v],we=()=>[bs,"full","auto",...K()],Xe=()=>[vs,"none","subgrid",Ne,Ce],nt=()=>["auto",{span:["full",vs,Ne,Ce]},vs,Ne,Ce],Ue=()=>[vs,"auto",Ne,Ce],qe=()=>["auto","min","max","fr",Ne,Ce],ke=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],$e=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...K()],ne=()=>[bs,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...K()],ge=()=>[bs,"screen","full","dvw","lvw","svw","min","max","fit",...K()],Se=()=>[bs,"screen","full","lh","dvh","lvh","svh","min","max","fit",...K()],ae=()=>[e,Ne,Ce],_e=()=>[...Z(),ak,nk,{position:[Ne,Ce]}],Be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",NF,kF,{size:[Ne,Ce]}],le=()=>[wf,oc,po],ce=()=>["","none","full",w,Ne,Ce],Q=()=>["",at,oc,po],me=()=>["solid","dashed","dotted","double"],De=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[at,wf,ak,nk],it=()=>["","none",q,Ne,Ce],Ge=()=>["none",at,Ne,Ce],jt=()=>["none",at,Ne,Ce],He=()=>[at,Ne,Ce],re=()=>[bs,"full",...K()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Di],breakpoint:[Di],color:[uC],container:[Di],"drop-shadow":[Di],ease:["in","out","in-out"],font:[wF],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Di],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Di],shadow:[Di],spacing:["px",at],text:[Di],"text-shadow":[Di],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",bs,Ce,Ne,P]}],container:["container"],columns:[{columns:[at,Ce,Ne,b]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Y()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:we()}],"inset-x":[{"inset-x":we()}],"inset-y":[{"inset-y":we()}],start:[{"inset-s":we(),start:we()}],end:[{"inset-e":we(),end:we()}],"inset-bs":[{"inset-bs":we()}],"inset-be":[{"inset-be":we()}],top:[{top:we()}],right:[{right:we()}],bottom:[{bottom:we()}],left:[{left:we()}],visibility:["visible","invisible","collapse"],z:[{z:[vs,"auto",Ne,Ce]}],basis:[{basis:[bs,"full","auto",b,...K()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[at,bs,"auto","initial","none",Ce]}],grow:[{grow:["",at,Ne,Ce]}],shrink:[{shrink:["",at,Ne,Ce]}],order:[{order:[vs,"first","last","none",Ne,Ce]}],"grid-cols":[{"grid-cols":Xe()}],"col-start-end":[{col:nt()}],"col-start":[{"col-start":Ue()}],"col-end":[{"col-end":Ue()}],"grid-rows":[{"grid-rows":Xe()}],"row-start-end":[{row:nt()}],"row-start":[{"row-start":Ue()}],"row-end":[{"row-end":Ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":qe()}],"auto-rows":[{"auto-rows":qe()}],gap:[{gap:K()}],"gap-x":[{"gap-x":K()}],"gap-y":[{"gap-y":K()}],"justify-content":[{justify:[...ke(),"normal"]}],"justify-items":[{"justify-items":[...$e(),"normal"]}],"justify-self":[{"justify-self":["auto",...$e()]}],"align-content":[{content:["normal",...ke()]}],"align-items":[{items:[...$e(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...$e(),{baseline:["","last"]}]}],"place-content":[{"place-content":ke()}],"place-items":[{"place-items":[...$e(),"baseline"]}],"place-self":[{"place-self":["auto",...$e()]}],p:[{p:K()}],px:[{px:K()}],py:[{py:K()}],ps:[{ps:K()}],pe:[{pe:K()}],pbs:[{pbs:K()}],pbe:[{pbe:K()}],pt:[{pt:K()}],pr:[{pr:K()}],pb:[{pb:K()}],pl:[{pl:K()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":K()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":K()}],"space-y-reverse":["space-y-reverse"],size:[{size:ne()}],"inline-size":[{inline:["auto",...ge()]}],"min-inline-size":[{"min-inline":["auto",...ge()]}],"max-inline-size":[{"max-inline":["none",...ge()]}],"block-size":[{block:["auto",...Se()]}],"min-block-size":[{"min-block":["auto",...Se()]}],"max-block-size":[{"max-block":["none",...Se()]}],w:[{w:[b,"screen",...ne()]}],"min-w":[{"min-w":[b,"screen","none",...ne()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[f]},...ne()]}],h:[{h:["screen","lh",...ne()]}],"min-h":[{"min-h":["screen","lh","none",...ne()]}],"max-h":[{"max-h":["screen","lh",...ne()]}],"font-size":[{text:["base",i,oc,po]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,TF,SF]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",wf,Ce]}],"font-family":[{font:[CF,jF,n]}],"font-features":[{"font-features":[Ce]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,Ne,Ce]}],"line-clamp":[{"line-clamp":[at,"none",Ne,tk]}],leading:[{leading:[h,...K()]}],"list-image":[{"list-image":["none",Ne,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ne,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ae()}],"text-color":[{text:ae()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...me(),"wavy"]}],"text-decoration-thickness":[{decoration:[at,"from-font","auto",Ne,po]}],"text-decoration-color":[{decoration:ae()}],"underline-offset":[{"underline-offset":[at,"auto",Ne,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:K()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ne,Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ne,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_e()}],"bg-repeat":[{bg:Be()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},vs,Ne,Ce],radial:["",Ne,Ce],conic:[vs,Ne,Ce]},_F,AF]}],"bg-color":[{bg:ae()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:ae()}],"gradient-via":[{via:ae()}],"gradient-to":[{to:ae()}],rounded:[{rounded:ce()}],"rounded-s":[{"rounded-s":ce()}],"rounded-e":[{"rounded-e":ce()}],"rounded-t":[{"rounded-t":ce()}],"rounded-r":[{"rounded-r":ce()}],"rounded-b":[{"rounded-b":ce()}],"rounded-l":[{"rounded-l":ce()}],"rounded-ss":[{"rounded-ss":ce()}],"rounded-se":[{"rounded-se":ce()}],"rounded-ee":[{"rounded-ee":ce()}],"rounded-es":[{"rounded-es":ce()}],"rounded-tl":[{"rounded-tl":ce()}],"rounded-tr":[{"rounded-tr":ce()}],"rounded-br":[{"rounded-br":ce()}],"rounded-bl":[{"rounded-bl":ce()}],"border-w":[{border:Q()}],"border-w-x":[{"border-x":Q()}],"border-w-y":[{"border-y":Q()}],"border-w-s":[{"border-s":Q()}],"border-w-e":[{"border-e":Q()}],"border-w-bs":[{"border-bs":Q()}],"border-w-be":[{"border-be":Q()}],"border-w-t":[{"border-t":Q()}],"border-w-r":[{"border-r":Q()}],"border-w-b":[{"border-b":Q()}],"border-w-l":[{"border-l":Q()}],"divide-x":[{"divide-x":Q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...me(),"hidden","none"]}],"divide-style":[{divide:[...me(),"hidden","none"]}],"border-color":[{border:ae()}],"border-color-x":[{"border-x":ae()}],"border-color-y":[{"border-y":ae()}],"border-color-s":[{"border-s":ae()}],"border-color-e":[{"border-e":ae()}],"border-color-bs":[{"border-bs":ae()}],"border-color-be":[{"border-be":ae()}],"border-color-t":[{"border-t":ae()}],"border-color-r":[{"border-r":ae()}],"border-color-b":[{"border-b":ae()}],"border-color-l":[{"border-l":ae()}],"divide-color":[{divide:ae()}],"outline-style":[{outline:[...me(),"none","hidden"]}],"outline-offset":[{"outline-offset":[at,Ne,Ce]}],"outline-w":[{outline:["",at,oc,po]}],"outline-color":[{outline:ae()}],shadow:[{shadow:["","none",k,pd,md]}],"shadow-color":[{shadow:ae()}],"inset-shadow":[{"inset-shadow":["none",j,pd,md]}],"inset-shadow-color":[{"inset-shadow":ae()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ae()}],"ring-offset-w":[{"ring-offset":[at,po]}],"ring-offset-color":[{"ring-offset":ae()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":ae()}],"text-shadow":[{"text-shadow":["none",T,pd,md]}],"text-shadow-color":[{"text-shadow":ae()}],opacity:[{opacity:[at,Ne,Ce]}],"mix-blend":[{"mix-blend":[...De(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":De()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[at]}],"mask-image-linear-from-pos":[{"mask-linear-from":je()}],"mask-image-linear-to-pos":[{"mask-linear-to":je()}],"mask-image-linear-from-color":[{"mask-linear-from":ae()}],"mask-image-linear-to-color":[{"mask-linear-to":ae()}],"mask-image-t-from-pos":[{"mask-t-from":je()}],"mask-image-t-to-pos":[{"mask-t-to":je()}],"mask-image-t-from-color":[{"mask-t-from":ae()}],"mask-image-t-to-color":[{"mask-t-to":ae()}],"mask-image-r-from-pos":[{"mask-r-from":je()}],"mask-image-r-to-pos":[{"mask-r-to":je()}],"mask-image-r-from-color":[{"mask-r-from":ae()}],"mask-image-r-to-color":[{"mask-r-to":ae()}],"mask-image-b-from-pos":[{"mask-b-from":je()}],"mask-image-b-to-pos":[{"mask-b-to":je()}],"mask-image-b-from-color":[{"mask-b-from":ae()}],"mask-image-b-to-color":[{"mask-b-to":ae()}],"mask-image-l-from-pos":[{"mask-l-from":je()}],"mask-image-l-to-pos":[{"mask-l-to":je()}],"mask-image-l-from-color":[{"mask-l-from":ae()}],"mask-image-l-to-color":[{"mask-l-to":ae()}],"mask-image-x-from-pos":[{"mask-x-from":je()}],"mask-image-x-to-pos":[{"mask-x-to":je()}],"mask-image-x-from-color":[{"mask-x-from":ae()}],"mask-image-x-to-color":[{"mask-x-to":ae()}],"mask-image-y-from-pos":[{"mask-y-from":je()}],"mask-image-y-to-pos":[{"mask-y-to":je()}],"mask-image-y-from-color":[{"mask-y-from":ae()}],"mask-image-y-to-color":[{"mask-y-to":ae()}],"mask-image-radial":[{"mask-radial":[Ne,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":je()}],"mask-image-radial-to-pos":[{"mask-radial-to":je()}],"mask-image-radial-from-color":[{"mask-radial-from":ae()}],"mask-image-radial-to-color":[{"mask-radial-to":ae()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":Z()}],"mask-image-conic-pos":[{"mask-conic":[at]}],"mask-image-conic-from-pos":[{"mask-conic-from":je()}],"mask-image-conic-to-pos":[{"mask-conic-to":je()}],"mask-image-conic-from-color":[{"mask-conic-from":ae()}],"mask-image-conic-to-color":[{"mask-conic-to":ae()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_e()}],"mask-repeat":[{mask:Be()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ne,Ce]}],filter:[{filter:["","none",Ne,Ce]}],blur:[{blur:it()}],brightness:[{brightness:[at,Ne,Ce]}],contrast:[{contrast:[at,Ne,Ce]}],"drop-shadow":[{"drop-shadow":["","none",N,pd,md]}],"drop-shadow-color":[{"drop-shadow":ae()}],grayscale:[{grayscale:["",at,Ne,Ce]}],"hue-rotate":[{"hue-rotate":[at,Ne,Ce]}],invert:[{invert:["",at,Ne,Ce]}],saturate:[{saturate:[at,Ne,Ce]}],sepia:[{sepia:["",at,Ne,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Ne,Ce]}],"backdrop-blur":[{"backdrop-blur":it()}],"backdrop-brightness":[{"backdrop-brightness":[at,Ne,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[at,Ne,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",at,Ne,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[at,Ne,Ce]}],"backdrop-invert":[{"backdrop-invert":["",at,Ne,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[at,Ne,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[at,Ne,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",at,Ne,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":K()}],"border-spacing-x":[{"border-spacing-x":K()}],"border-spacing-y":[{"border-spacing-y":K()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ne,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[at,"initial",Ne,Ce]}],ease:[{ease:["linear","initial",H,Ne,Ce]}],delay:[{delay:[at,Ne,Ce]}],animate:[{animate:["none",X,Ne,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[E,Ne,Ce]}],"perspective-origin":[{"perspective-origin":Y()}],rotate:[{rotate:Ge()}],"rotate-x":[{"rotate-x":Ge()}],"rotate-y":[{"rotate-y":Ge()}],"rotate-z":[{"rotate-z":Ge()}],scale:[{scale:jt()}],"scale-x":[{"scale-x":jt()}],"scale-y":[{"scale-y":jt()}],"scale-z":[{"scale-z":jt()}],"scale-3d":["scale-3d"],skew:[{skew:He()}],"skew-x":[{"skew-x":He()}],"skew-y":[{"skew-y":He()}],transform:[{transform:[Ne,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:Y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],accent:[{accent:ae()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ae()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ne,Ce]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":K()}],"scroll-mx":[{"scroll-mx":K()}],"scroll-my":[{"scroll-my":K()}],"scroll-ms":[{"scroll-ms":K()}],"scroll-me":[{"scroll-me":K()}],"scroll-mbs":[{"scroll-mbs":K()}],"scroll-mbe":[{"scroll-mbe":K()}],"scroll-mt":[{"scroll-mt":K()}],"scroll-mr":[{"scroll-mr":K()}],"scroll-mb":[{"scroll-mb":K()}],"scroll-ml":[{"scroll-ml":K()}],"scroll-p":[{"scroll-p":K()}],"scroll-px":[{"scroll-px":K()}],"scroll-py":[{"scroll-py":K()}],"scroll-ps":[{"scroll-ps":K()}],"scroll-pe":[{"scroll-pe":K()}],"scroll-pbs":[{"scroll-pbs":K()}],"scroll-pbe":[{"scroll-pbe":K()}],"scroll-pt":[{"scroll-pt":K()}],"scroll-pr":[{"scroll-pr":K()}],"scroll-pb":[{"scroll-pb":K()}],"scroll-pl":[{"scroll-pl":K()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ne,Ce]}],fill:[{fill:["none",...ae()]}],"stroke-w":[{stroke:[at,oc,po,tk]}],stroke:[{stroke:["none",...ae()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},DF=uF(RF);function Oa(...e){return DF(Vk(e))}const zF=aC("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 focus-visible:ring-offset-2 focus-visible:ring-offset-overlay-scrim disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-on-inverse hover:bg-mono-200",secondary:"border border-base bg-bg text-heading hover:bg-bg-elevated",ghost:"text-secondary hover:bg-bg-elevated hover:text-primary",outline:"border border-base bg-transparent text-heading hover:bg-bg-elevated",destructive:"bg-negative-600 text-on-emphasis hover:bg-negative-700"},size:{default:"h-10 px-4 md:h-9",sm:"h-9 px-3 text-xs md:h-8",icon:"size-10 md:size-9"}},defaultVariants:{variant:"default",size:"default"}}),ue=C.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const f=r?n5:"button";return l.jsx(f,{ref:h,className:Oa(zF({variant:n,size:i,className:e})),...u})});ue.displayName="Button";const IF=aC("inline-flex items-center rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wide",{variants:{variant:{neutral:"border-base bg-bg text-neutral",success:"border-positive bg-positive-soft text-positive",warning:"border-caution-500/25 bg-caution-soft text-caution",destructive:"border-negative bg-negative-soft text-negative"}},defaultVariants:{variant:"neutral"}});function bC({className:e,variant:n,...i}){return l.jsx("div",{className:Oa(IF({variant:n}),e),...i})}const OF=220;function ik({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,f]=C.useState(!1),b=!e&&i&&r,v=()=>{f(!0),window.setTimeout(()=>{r?.(),f(!1)},OF)};return e?l.jsxs(We,{to:"/",className:"brand-lockup brand-lockup-compact","aria-label":"Canonry home",children:[l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"brand-copy",children:l.jsx("span",{className:"brand-mark",children:"Canonry"})})]}):l.jsxs("div",{className:"brand-lockup brand-lockup-wrapper",children:[l.jsx(We,{to:"/",className:"brand-icon-link","aria-label":"Canonry home",tabIndex:-1,children:l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"})}),l.jsxs("div",{className:"brand-copy",children:[l.jsx(We,{to:"/",className:"brand-mark",children:"Canonry"}),!b&&u?l.jsxs("span",{className:"brand-version",children:["v",n]}):null]}),b?l.jsxs("span",{className:`brand-update-bubble ${h?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[l.jsxs("a",{className:"brand-update-bubble-link",href:i.url,target:"_blank",rel:"noopener noreferrer",title:`Open release: ${i.upgradeCommand}`,"aria-label":`New version v${i.latest} available — open release page`,children:[l.jsxs("span",{className:"brand-update-bubble-from",children:["v",i.current]}),l.jsx(gc,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),l.jsxs("span",{className:"brand-update-bubble-to",children:["v",i.latest]})]}),l.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${i.latest}`,children:l.jsx($r,{className:"size-3","aria-hidden":"true"})})]}):null]})}function qF({provider:e}){const n={gemini:"border-blue-800/50 bg-blue-950/40 text-blue-300",openai:"border-green-800/50 bg-green-950/40 text-green-300",claude:"border-amber-800/50 bg-amber-950/40 text-amber-300",perplexity:"border-teal-800/50 bg-teal-950/40 text-teal-300",muse:"border-indigo-800/50 bg-indigo-950/40 text-indigo-300",local:"border-purple-800/50 bg-purple-950/40 text-purple-300"},r=Object.hasOwn(n,e)?`provider-badge--${e} ${n[e]}`:"border-zinc-700 bg-zinc-800 text-zinc-300";return l.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide ${r}`,children:e})}function bn({tone:e,children:n,...i}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return l.jsx(bC,{variant:r,...i,children:n})}function l1({status:e}){return l.jsx(bn,{tone:WA(e),children:OK(e)})}const cg=Lk,PF=Pk,vC=C.forwardRef(({className:e,...n},i)=>l.jsx(xg,{ref:i,className:Oa("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));vC.displayName=xg.displayName;const MF=400,BF=1200,LF=720,Kd=C.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=C.useState(LF),f=C.useRef(!1),b=C.useRef(0),v=C.useRef(0),w=C.useCallback(T=>{f.current=!0,b.current=T.clientX,v.current=u,T.target.setPointerCapture(T.pointerId),T.preventDefault()},[u]),k=C.useCallback(T=>{if(!f.current)return;const N=b.current-T.clientX,q=Math.min(BF,Math.max(MF,v.current+N));h(q)},[]),j=C.useCallback(()=>{f.current=!1},[]);return l.jsxs(PF,{children:[l.jsx(vC,{}),l.jsxs(wg,{ref:r,className:Oa("fixed z-50 flex flex-col bg-bg px-5 py-4 shadow-2xl overflow-hidden","max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:max-h-[88vh] max-md:rounded-t-2xl max-md:border-t","md:inset-y-0 md:right-0 md:h-full md:border-l","border-base",e),style:{width:`min(${u}px, 100vw)`},...i,children:[l.jsx("div",{className:"absolute inset-y-0 left-0 w-1.5 cursor-col-resize hover:bg-mono-700/50 active:bg-mono-600/50 transition-colors max-md:hidden",onPointerDown:w,onPointerMove:k,onPointerUp:j}),n,l.jsxs(Mk,{className:"absolute right-4 top-4 inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-bg-elevated hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:[l.jsx($r,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});Kd.displayName=wg.displayName;const ug=({className:e,...n})=>l.jsx("div",{className:Oa("flex flex-col gap-1.5 pr-10",e),...n}),Hd=C.forwardRef(({className:e,...n},i)=>l.jsx(kg,{ref:i,className:Oa("text-lg font-medium text-primary",e),...n}));Hd.displayName=kg.displayName;const Qd=C.forwardRef(({className:e,...n},i)=>l.jsx(Bk,{ref:i,className:Oa("text-sm text-muted",e),...n}));Qd.displayName=Bk.displayName;function hd({title:e,subtitle:n,children:i,open:r,onClose:u}){return l.jsx(cg,{open:r,onOpenChange:h=>h?void 0:u(),children:l.jsxs(Kd,{children:[l.jsxs(ug,{className:"drawer-head",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),l.jsx(Hd,{id:"drawer-title",children:e}),l.jsx(Qd,{className:"sr-only",children:n})]}),l.jsx("div",{className:"drawer-body",children:i})]})})}function _a({text:e,placement:n="top"}){const[i,r]=C.useState(null),u=C.useRef(null),h=C.useRef(null),f=C.useRef(!1),b=C.useCallback(()=>{if(!u.current)return;const k=u.current.getBoundingClientRect(),j=k.left+k.width/2,T=Math.min(224,window.innerWidth-16)/2;r({top:n==="bottom"?k.bottom:k.top,left:n==="bottom"?Math.max(T+8,Math.min(j,window.innerWidth-T-8)):j})},[n]);C.useLayoutEffect(()=>{if(n!=="bottom"||!i||!h.current)return;const k=h.current.getBoundingClientRect().bottom-window.innerHeight+8;if(k<=0)return;const j=Math.max(0,i.top-k);j!==i.top&&r({...i,top:j})},[n,i]);const v=C.useCallback(()=>r(null),[]),w=C.useCallback(()=>{i===null?b():v()},[i,b,v]);return l.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:b,onMouseLeave:v,children:[l.jsx("button",{ref:u,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":i!==null,onFocus:b,onBlur:v,onPointerDown:()=>{f.current=i!==null&&u.current?.ownerDocument.activeElement===u.current},onClick:k=>{k.detail===0?w():f.current?v():b()},onKeyDown:k=>{k.key==="Escape"&&v()},children:l.jsxs("svg",{className:"info-tooltip-icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 7v4M8 5.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),i!==null&&ZN.createPortal(l.jsx("span",{ref:h,"aria-hidden":"true",style:{position:"fixed",top:i.top,left:i.left,transform:n==="bottom"?"translateX(-50%) translateY(8px)":"translateX(-50%) translateY(calc(-100% - 8px))",zIndex:9999,pointerEvents:"none",width:n==="bottom"?"min(14rem, calc(100vw - 1rem))":"14rem",padding:"0.5rem 0.75rem",fontSize:n==="bottom"?"13px":"11px",fontWeight:400,textTransform:"none",letterSpacing:"normal",lineHeight:n==="bottom"?"18px":"1rem",color:"var(--color-neutral-text)",backgroundColor:"var(--color-bg-elevated)",border:"1px solid color-mix(in oklab, var(--color-border-strong) 60%, transparent)",borderRadius:"0.5rem",boxShadow:"0 10px 15px -3px var(--color-shadow-tooltip), 0 4px 6px -4px var(--color-shadow-tooltip)"},children:e}),document.body)]})}function VF(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function dg({url:e,title:n}){const i=VF(e),r=i&&/^https?:\/\//i.test(i)?i:null;return l.jsxs("span",{className:"block min-w-0 text-sm leading-6 [overflow-wrap:anywhere]",children:[n&&n!==e?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"mb-1 block font-medium text-heading",children:n})," "]}):null,r?l.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:e}):l.jsx("span",{className:"text-secondary",children:e})]})}const $F=/[\s\-_]+/;function UF(e){const n=e.split($F).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function sk(e,n){const i=GF(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(w=>w.startsWith("**")&&w.endsWith("**")?{type:"bold",value:w.slice(2,-2)}:{type:"text",value:w}),u=i.flatMap(w=>w.terms).filter(w=>w.trim().length>1);if(u.length===0)return r.map((w,k)=>w.type==="bold"?xr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const f=[...u].sort((w,k)=>k.length-w.length).map(UF).filter(w=>!!w);if(f.length===0)return r.map((w,k)=>w.type==="bold"?xr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const b=new RegExp(`(${f.join("|")})`,"gi"),v=new Map;for(const w of i)for(const k of w.terms){const j=Ka(k);j&&!v.has(j)&&v.set(j,w.className)}return r.flatMap((w,k)=>w.value.split(b).map((T,N)=>{if(!T)return null;if(N%2===1){const E=v.get(Ka(T))??"answer-highlight";return w.type==="bold"?xr.createElement("mark",{key:`hl-${k}-${N}`,className:E},xr.createElement("strong",{className:"text-strong font-semibold"},T)):xr.createElement("mark",{key:`hl-${k}-${N}`,className:E},T)}return w.type==="bold"?xr.createElement("strong",{key:`b-${k}-${N}`,className:"text-strong font-semibold"},T):T})).filter(Boolean)}function GF(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function kf(e,n){return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...e.mentionedCompetitorDomains??n?.mentionedCompetitorDomains??[]]}}function Sf(e,n){switch(e){case"new":return"First observation";case"emerging":return"First mention";case"lost":return"Lost since last run";default:return n==="mentioned"||n==="visible"?"Mentioned in latest run":n==="pending"?"Awaiting first run":"Not mentioned in latest run"}}function KF({evidence:e,project:n,onClose:i}){const[r,u]=C.useState(!1),[h,f]=C.useState("mentions"),[b,v]=C.useState(-1),[w,k]=C.useState(null),[j,T]=C.useState(!1),[N,q]=C.useState({}),E=p2(n.project),P=new Set(E.map(Dd)),H=e.runHistory,X=H.length>1,[L,Z]=C.useState(null),Y=C.useRef(!1);C.useEffect(()=>{if(Y.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const le=H.at(-1);le&&(Y.current=!0,ng(le.runId).then(ce=>{const Q=ce.snapshots?.find(me=>me.query===e.query&&me.provider===e.provider);Q&&Z({citationState:Q.citationState,answerMentioned:Q.answerMentioned,visibilityState:Q.visibilityState,visibilityTransition:le.visibilityTransition,provider:Q.provider,model:Q.model??e.model,answerSnippet:Q.answerText??e.answerSnippet,citedDomains:Q.citedDomains??e.citedDomains,...kf(Q,e),recommendedCompetitors:Q.recommendedCompetitors??e.recommendedCompetitors??[],matchedTerms:Q.matchedTerms??e.matchedTerms??[],groundingSources:Q.groundingSources??e.groundingSources,searchQueries:Q.searchQueries,evidenceUrls:Q.citedUrls??[],changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary})}).catch(()=>{}))},[e,H]);const ee=b>=0&&w!==null,B=ee?w:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:H.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...kf(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},K=B.visibilityState==="pending"||B.citationState==="pending",we=K?!1:B.visibilityState!=null?B.visibilityState==="visible":B.answerMentioned!=null?B.answerMentioned:B.citationState===qd.cited||B.citationState==="emerging",Xe=B.answerMentioned!=null||B.visibilityState!=null||B.mentionedCompetitorDomains.length>0||B.recommendedCompetitors.length>0,nt=B.citedDomains.length>0||B.citedCompetitorDomains.length>0||B.groundingSources.length>0||B.evidenceUrls.length>0,Ue=n.project.displayName||n.project.name,qe=[...E.map(Dd),Ue,Ue.split(" ").slice(0,2).join(" "),...B.matchedTerms].filter(le=>le.trim().length>2),ke=[...B.mentionedCompetitorDomains.flatMap(le=>{const ce=s2(le);return ce.length>=4?[ce]:[]}),...B.recommendedCompetitors].filter(le=>le.trim().length>2),$e=[{terms:qe,className:"answer-highlight-brand"},...ke.length>0?[{terms:ke,className:"answer-highlight-competitor"}]:[]],O=K?"pending":B.visibilityTransition==="lost"?"lost":we?"mentioned":"not-mentioned",ne=C.useRef(0),ge=C.useCallback(async le=>{const ce=++ne.current;if(le===-1||le===H.length-1){v(-1),k(null),u(!1);return}v(le),u(!1);const Q=H[le],me=`${Q.runId}::${e.query}::${e.provider}`;if(N[me]){k(N[me]);return}T(!0);try{const De=await ng(Q.runId);if(ce!==ne.current)return;const je=De.snapshots?.find(Ge=>Ge.query===e.query&&Ge.provider===e.provider)??De.snapshots?.find(Ge=>Ge.query===e.query),it=je?{citationState:je.citationState,answerMentioned:je.answerMentioned,visibilityState:je.visibilityState,visibilityTransition:Q.visibilityTransition,provider:je.provider,model:je.model??null,answerSnippet:je.answerText??"",citedDomains:je.citedDomains,...kf(je),recommendedCompetitors:je.recommendedCompetitors??[],matchedTerms:je.matchedTerms??[],groundingSources:je.groundingSources,searchQueries:je.searchQueries,evidenceUrls:je.citedUrls??[],changeLabel:Sf(Q.mentionTransition??Q.visibilityTransition,Q.mentionState??Q.visibilityState),summary:""}:{citationState:Q.citationState,answerMentioned:Q.answerMentioned,visibilityState:Q.visibilityState,visibilityTransition:Q.visibilityTransition,provider:e.provider,model:Q.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Sf(Q.mentionTransition??Q.visibilityTransition,Q.mentionState??Q.visibilityState),summary:"Snapshot data not available for this run."};q(Ge=>({...Ge,[me]:it})),k(it)}catch{if(ce!==ne.current)return;k({citationState:Q.citationState,answerMentioned:Q.answerMentioned,visibilityState:Q.visibilityState,visibilityTransition:Q.visibilityTransition,provider:e.provider,model:Q.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Sf(Q.mentionTransition??Q.visibilityTransition,Q.mentionState??Q.visibilityState),summary:"Failed to load historical run data."})}finally{ce===ne.current&&T(!1)}},[H,e.query,e.provider,N]),ae=(ee||e.historyScope!=="provider")&&B.model?`${B.provider} (${B.model}) · ${B.changeLabel.toLowerCase()}`:`${B.provider} · ${B.changeLabel.toLowerCase()}`,_e=!ee&&e.historyScope==="provider"?[e.model?`Current model: ${e.model}`:null,e.modelsSeen&&e.modelsSeen.length>1?`History spans ${e.modelsSeen.length} models`:null].filter(Boolean).join(" · "):"",Be=we?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:ae}:B.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:ae}:K?{label:"Pending",title:"Awaiting first run",meta:"No provider data yet"}:{label:"Not mentioned in answer",title:"Your brand or domain was not mentioned in this answer",meta:ae},ve=()=>{if(!B.answerSnippet)return null;const le=B.answerSnippet.split(`
58
- `),ce=[];let Q=[],me=0;const De=()=>{if(Q.length===0)return;const je=Q.join(" ").trim();je&&ce.push(l.jsx("p",{className:ce.length>0?"mt-2.5":"",children:sk(je,$e)},me++)),Q=[]};for(const je of le){const it=je.trim();if(/^[-\u2013\u2014]{3,}$/.test(it)){De(),ce.push(l.jsx("hr",{className:"border-default my-3"},me++));continue}const Ge=it.match(/^(#{1,3})\s+(\S.*)$/);if(Ge){De();const jt=Ge[1].length,He=Ge[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Ge[2],re=jt===1?"text-[13px] font-semibold text-heading mt-4 mb-1":jt===2?"text-xs font-semibold text-strong mt-3 mb-0.5":"text-xs font-medium text-neutral mt-2";ce.push(l.jsx("p",{className:re,children:sk(He,$e)},me++));continue}if(it===""){De();continue}Q.push(it)}return De(),ce};return l.jsx(Lk,{open:!0,onOpenChange:le=>{le||i()},children:l.jsxs(Pk,{children:[l.jsx(xg,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),l.jsxs(wg,{className:"evidence-modal","aria-describedby":void 0,children:[l.jsxs("div",{className:"evidence-modal-header",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("p",{className:"eyebrow eyebrow-soft",children:[n.project.name," ","·"," ",B.provider||"All providers"]}),l.jsx(kg,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),l.jsxs(Mk,{className:"inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-mono-800 hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 shrink-0",children:[l.jsx($r,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]}),X&&l.jsxs("div",{className:"evidence-modal-timeline",children:[l.jsx("p",{className:"drawer-section-label mb-1.5",children:"Run history"}),l.jsx("div",{className:"flex items-center gap-1 overflow-x-auto pb-1",children:H.map((le,ce)=>{const Q=b===-1&&ce===H.length-1||b===ce,me=le.visibilityState??(le.answerMentioned?"visible":"not-visible"),De=le.visibilityTransition??me,je=me==="visible"?"bg-positive-400":De==="emerging"?"bg-caution-400":De==="lost"?"bg-negative-400":"bg-mono-600",Ge=new Date(le.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),jt=!!(le.model&&ce>0&&H[ce-1]?.model&&H[ce-1].model!==le.model);return l.jsxs("button",{type:"button",className:`evidence-run-dot ${Q?"evidence-run-dot--selected":""}`,onClick:()=>{ge(ce===H.length-1?-1:ce)},"aria-label":[`Run ${Ge}: ${me}`,le.model?`model ${le.model}`:null,jt?"model changed":null].filter(Boolean).join(" — "),"aria-pressed":Q,children:[l.jsx("span",{className:`size-2 rounded-full ${je} ${jt?"ring-1 ring-caution-300/80 ring-offset-2 ring-offset-bg":""}`,"aria-hidden":"true"}),l.jsx("span",{className:"text-[10px] text-muted",children:Ge})]},ce)})}),b>=0&&b<H.length&&l.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(H[b].createdAt).toLocaleString()," ","—"," ",l.jsx("span",{className:"capitalize",children:H[b].visibilityState??(H[b].answerMentioned?"visible":"not-visible")}),l.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{ge(-1)},children:["←"," Back to latest"]})]}),!ee&&(e.modelTransitions?.length??0)>0&&l.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(le=>l.jsx("span",{className:"inline-flex items-center rounded-full border border-caution-400/30 bg-caution-400/10 px-2 py-1 text-[10px] text-caution-100",children:`${le.fromModel??"unknown"} -> ${le.toModel??"unknown"} on ${new Date(le.createdAt).toLocaleDateString()}`},`${le.runId}:${le.toModel??"unknown"}`))})]}),l.jsxs("div",{className:"evidence-modal-body",children:[j&&l.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!j&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"evidence-modal-main",children:[l.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${O}`,children:[l.jsx("p",{className:`evidence-position-label evidence-position-label--${O}`,children:Be.label}),l.jsx("p",{className:`evidence-position-title evidence-position-title--${O}`,children:Be.title}),l.jsx("p",{className:"evidence-position-meta",children:Be.meta}),_e&&l.jsx("p",{className:"mt-1 text-[11px] text-muted",children:_e})]}),B.answerSnippet&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"What the AI said"}),l.jsx("div",{className:`answer-snippet-block ${r?"evidence-answer-expanded":"evidence-answer-collapsed"}`,children:ve()}),B.answerSnippet.length>280&&l.jsx("button",{type:"button",className:"mt-1.5 text-xs text-muted hover:text-neutral transition-colors",onClick:()=>u(!r),children:r?"↑ Collapse":"↓ Show full answer"})]}),!B.answerSnippet&&!j&&l.jsx("div",{className:"rounded-lg border border-subtle bg-surface-subtle px-4 py-8 text-center text-faint text-sm",children:"No answer text recorded for this run"}),B.searchQueries.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Web searches the model ran"}),l.jsx(_a,{text:"The search queries this AI model issued while researching your prompt. They reveal how the model reformulated your query — the phrasings worth optimizing your content for. Distinct from grounding sources (what it found) and citations (what it linked)."})]}),l.jsx("ul",{className:"grid gap-1",children:B.searchQueries.map((le,ce)=>l.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[l.jsx(Sg,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),l.jsx("span",{className:"break-words",children:le})]},`${ce}-${le}`))})]}),!ee&&e.relatedTechnicalSignals.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:we?"Why you're visible":"What to fix"}),l.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((le,ce)=>l.jsxs("div",{className:"action-item",children:[l.jsx("svg",{className:`action-item-icon ${we?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:we?l.jsx("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}):l.jsxs(l.Fragment,{children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 5v3.5M8 10.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),l.jsx("span",{className:"action-item-text",children:le})]},ce))})]}),B.summary&&l.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:B.summary})]}),l.jsxs("div",{className:"evidence-modal-sidebar",children:[(Xe||nt)&&l.jsxs("div",{className:"sidebar-tabs",children:[l.jsx("button",{className:`sidebar-tab ${h==="mentions"?"sidebar-tab--active":""}`,onClick:()=>f("mentions"),type:"button",title:"Canonry's answer-level visibility assessment and any company names extracted from the answer text.",children:"Mentions"}),l.jsx("button",{className:`sidebar-tab ${h==="sources"?"sidebar-tab--active":""}`,onClick:()=>f("sources"),type:"button",title:"Grounding links the model used to build the answer. These are supporting sources, not the primary visibility signal.",children:"Sources"})]}),h==="mentions"&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Mention in answer"}),l.jsx(_a,{text:"Canonry scans the AI answer for your owned domains and project name. This is independent from grounding or citation sources."})]}),l.jsxs("div",{className:`mention-status mention-status--${we?"mentioned":"not-mentioned"}`,children:[l.jsx("span",{className:"mention-status-icon",children:K?"…":we?"✓":"—"}),l.jsx("span",{className:"mention-status-label",children:K?"Pending":we?"Mentioned":"Not mentioned"})]}),B.matchedTerms.length>0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Matched in answer"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:B.matchedTerms.map(le=>l.jsx("span",{className:"mention-chip mention-chip--brand",children:le},le))})]}),!K&&!we&&B.matchedTerms.length===0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Searched for"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:qe.map(le=>l.jsx("span",{className:"mention-chip mention-chip--muted",children:le},le))}),l.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(B.recommendedCompetitors.length>0||B.mentionedCompetitorDomains.length>0)&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Competitors in answer"}),l.jsx(_a,{text:"Competitors detected in the answer text. Includes tracked competitor brands and names extracted by Canonry; source-link competitors stay in the Sources tab."})]}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:(()=>{const le=B.mentionedCompetitorDomains.map(me=>me.replace(/^www\./,"")),ce=new Set(le.map(me=>Ka(me.replace(/\.[^.]+$/,""))));return[...B.recommendedCompetitors.filter(me=>!ce.has(Ka(me))),...le].map(me=>l.jsx("span",{className:"mention-chip mention-chip--competitor",children:me},me))})()})]})]}),h==="sources"&&l.jsxs(l.Fragment,{children:[B.citedDomains.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Domains from source links"}),l.jsx(_a,{text:"These domains were extracted from grounding or citation URLs. They are supporting-source metadata, not proof that the answer text mentioned them."})]}),l.jsx("div",{className:"citation-leaderboard",children:B.citedDomains.map((le,ce)=>{const Q=le.toLowerCase().replace(/^www\./,""),me=P.has(Q),De=!me&&B.citedCompetitorDomains.some(it=>it.toLowerCase().replace(/^www\./,"")===Q),je=me?"you":De?"competitor":"other";return l.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${je}`,children:[l.jsxs("span",{className:"citation-leaderboard-rank",children:["#",ce+1]}),l.jsx("span",{className:"citation-leaderboard-domain",children:le}),me&&l.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),De&&l.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},le)})})]}),B.groundingSources.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsxs("span",{children:["Grounding source links (",B.groundingSources.length,")"]}),l.jsx(_a,{text:"Links the model used as grounding or supporting context while producing the answer. These are not the same thing as answer visibility."})]}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:B.groundingSources.map((le,ce)=>l.jsx("li",{className:"min-w-0",children:l.jsx(dg,{url:le.uri,title:le.title})},ce))})]}),B.evidenceUrls.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"Evidence URLs"}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:B.evidenceUrls.map(le=>l.jsx("li",{className:"min-w-0",children:l.jsx(dg,{url:le})},le))})]}),B.citedDomains.length===0&&B.groundingSources.length===0&&B.evidenceUrls.length===0&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",ee?"for this run":"yet"]})]}),!Xe&&!nt&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",ee?"for this run":"yet"]})]})]})]})]})]})})}function HF(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function QF(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function FF(e,n){return QF(HF(e),n)}function Ua(e){const n=new Date("2026-02-20");return e.map((i,r)=>({runId:`run_mock_${r+1}`,citationState:i,createdAt:new Date(n.getTime()+r*2*24*60*60*1e3).toISOString()}))}const jf=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Fh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_harbor",name:"Harbor Legal Group",canonicalDomain:"harborlegal.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["lead gen"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Fh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_northstar",name:"Northstar Orthopedics",canonicalDomain:"northstarortho.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["multi-location"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Fh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1}];function Rm(e){return{id:e.id,projectId:e.projectId,projectName:e.projectName,kind:e.kind,kindLabel:e.kindLabel,status:e.status,trigger:e.trigger??"manual",createdAt:e.createdAt,startedAt:e.startedAt,duration:e.duration,statusDetail:e.statusDetail,summary:e.summary,triggerLabel:e.triggerLabel}}const ZF=Rm({id:"run_citypoint_visibility_20260308",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T12:15:00.000Z",startedAt:"Mar 8, 12:15 PM",duration:"6m 12s",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),YF=Rm({id:"run_citypoint_queued_20260309",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"queued",createdAt:"2026-03-09T08:05:00.000Z",startedAt:"Mar 9, 8:05 AM",duration:"Waiting for slot",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),XF=Rm({id:"run_harbor_visibility_20260308",projectId:"project_harbor",projectName:"Harbor Legal Group",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T11:05:00.000Z",startedAt:"Mar 8, 11:05 AM",duration:"5m 07s",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),JF=Rm({id:"run_northstar_visibility_20260308",projectId:"project_northstar",projectName:"Northstar Orthopedics",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"running",createdAt:"2026-03-08T13:40:00.000Z",startedAt:"Mar 8, 1:40 PM",duration:"3m 10s",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),WF=[{id:"evidence_citypoint_emergency_gemini",query:"emergency dentist brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"lost",changeLabel:"Lost since Mar 5",answerSnippet:"For urgent dental care in Brooklyn, Downtown Smiles and Harbor Dental are now cited first for emergency availability and same-day booking.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:["https://downtownsmiles.com/emergency-dentist-brooklyn","https://harbordental.com/same-day-emergency-care"],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing on the emergency service page","llms.txt not found during latest site audit","Location pages link weakly into the emergency care hub"],summary:"AI answers now cite two competitors while your emergency page is no longer grounded.",runHistory:Ua(["cited","cited","cited","cited","cited","cited","cited","not-cited","not-cited"])},{id:"evidence_citypoint_emergency_openai",query:"emergency dentist brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"Cited for 6 runs",answerSnippet:"Citypoint Dental is listed as a top emergency dentist in Brooklyn for same-day appointments and walk-in availability.",citedDomains:["citypointdental.com","downtownsmiles.com"],evidenceUrls:["https://citypointdental.com/emergency-dentist-brooklyn"],competitorDomains:["downtownsmiles.com"],groundingSources:[],relatedTechnicalSignals:["Emergency page indexed with structured data"],summary:"OpenAI cites your emergency page consistently alongside one competitor.",runHistory:Ua(["not-cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_emergency_claude",query:"emergency dentist brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"Based on the search results, top-rated emergency dental practices in Brooklyn include Downtown Smiles and Harbor Dental.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:[],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing","llms.txt not found"],summary:"Claude does not cite your domain for this emergency query.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_invisalign_openai",query:"best invisalign dentist downtown brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"emerging",changeLabel:"First citation in 7 days",answerSnippet:"Citypoint Dental appears as an emerging recommendation for Invisalign in Downtown Brooklyn, supported by recent before-and-after case pages.",citedDomains:["citypointdental.com","clearlineortho.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn","https://citypointdental.com/case-studies/invisalign-open-bite"],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["Structured data now present on two case-study pages","Internal links from service pages to case studies improved crawl depth"],summary:"Fresh case-study content is starting to earn citations on Invisalign prompts.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","cited"])},{id:"evidence_citypoint_invisalign_gemini",query:"best invisalign dentist downtown brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"cited",changeLabel:"Cited for 8 runs",answerSnippet:"Citypoint Dental in Downtown Brooklyn is highlighted for its Invisalign expertise and patient outcomes.",citedDomains:["citypointdental.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn"],competitorDomains:[],groundingSources:[],relatedTechnicalSignals:["Case study pages well-indexed"],summary:"Gemini consistently cites your Invisalign page with no competitor overlap.",runHistory:Ua(["cited","cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_invisalign_claude",query:"best invisalign dentist downtown brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For Invisalign in Downtown Brooklyn, Clear Line Ortho and Brooklyn Smiles are frequently recommended for their experienced orthodontists.",citedDomains:["clearlineortho.com","brooklynsmiles.com"],evidenceUrls:[],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["No before/after schema on case study pages"],summary:"Claude does not surface your Invisalign content despite strong page quality.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_claude",query:"pediatric dentist brooklyn heights",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 4 runs",answerSnippet:"Answers cite neighborhood-specific pediatric practices with stronger family-focused FAQ content and clearer insurance details.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:["https://brightkidsdental.com/pediatric-dentist-brooklyn-heights","https://parkpediatricdental.com/insurance"],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric service page exists for Brooklyn Heights","Insurance content is buried three clicks deep"],summary:"Coverage gap is content-driven, not purely technical.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_gemini",query:"pediatric dentist brooklyn heights",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For pediatric dentistry in Brooklyn Heights, Bright Kids Dental and Park Pediatric Dental are cited for family-friendly care.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:[],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric page for Brooklyn Heights"],summary:"Gemini does not surface your domain for pediatric queries in this area.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_openai",query:"pediatric dentist brooklyn heights",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"First citation this month",answerSnippet:"Citypoint Dental is mentioned as offering pediatric services in Brooklyn, though specialized pediatric-only practices are also highlighted.",citedDomains:["citypointdental.com","brightkidsdental.com"],evidenceUrls:["https://citypointdental.com/family-dentistry"],competitorDomains:["brightkidsdental.com"],groundingSources:[],relatedTechnicalSignals:["Family dentistry page recently updated"],summary:"OpenAI recently started citing your family dentistry page for this query.",runHistory:Ua(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];jf[0],9/21,8/21,4/21,jf[1],11/17,6/17,Ua(["cited","cited","cited","cited","cited"]),jf[2],15/19,4/19,Ua(["not-cited","not-cited","not-cited","cited"]);function eZ(e,n){return e.runs.find(i=>i.id===n)}function tZ(e,n){for(const i of e.projects){const r=i.visibilityEvidence.find(u=>u.id===n);if(r)return{project:i,evidence:r}}}function nZ(e,n,i){if(e){const r=e.visibilityEvidence.find(u=>u.id===i);if(r)return{project:e,evidence:r}}if(n)return tZ(n,i)}const aZ={regression:"negative",gain:"positive",opportunity:"caution","first-citation":"positive","provider-pickup":"positive","persistent-gap":"caution","competitor-gained":"negative","competitor-lost":"neutral","gbp-lodging-gap":"negative","gbp-listing-discrepancy":"negative","gbp-cta-gap":"caution","gbp-description-missing":"caution","gbp-metric-drop":"negative","gbp-keyword-drop":"negative"},iZ={opportunity:"write","persistent-gap":"write","competitor-gained":"write","competitor-lost":"write",regression:"investigate",gain:"monitor","first-citation":"monitor","provider-pickup":"monitor","gbp-lodging-gap":"write","gbp-listing-discrepancy":"write","gbp-cta-gap":"write","gbp-description-missing":"write","gbp-metric-drop":"investigate","gbp-keyword-drop":"investigate"},sZ={regression:"lost",gain:"emerging",opportunity:"not-cited","first-citation":"emerging","provider-pickup":"emerging","persistent-gap":"not-cited","competitor-gained":"cited","competitor-lost":"not-cited","gbp-lodging-gap":"not-cited","gbp-listing-discrepancy":"not-cited","gbp-cta-gap":"not-cited","gbp-description-missing":"not-cited","gbp-metric-drop":"lost","gbp-keyword-drop":"lost"},oZ={regression:"Regression",gain:"Gain",opportunity:"Opportunity","first-citation":"First citation","provider-pickup":"Pickup","persistent-gap":"Gap","competitor-gained":"Competitor","competitor-lost":"Competitor","gbp-lodging-gap":"Lodging gap","gbp-listing-discrepancy":"Listing gap","gbp-cta-gap":"Booking CTA","gbp-description-missing":"Description gap","gbp-metric-drop":"Metric drop","gbp-keyword-drop":"Keyword drop"};function rZ(e){return{id:e.id,tone:aZ[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??oZ[e.type],actionGroup:iZ[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:sZ[e.type]}]}}function lZ(e){return e.filter(n=>!n.dismissed).map(rZ)}function xC(e){return{id:e.id,name:e.name,displayName:e.displayName,canonicalDomain:e.canonicalDomain,ownedDomains:e.ownedDomains??[],aliases:e.aliases??[],qualifiedAliases:e.qualifiedAliases,country:e.country,language:e.language,tags:e.tags,labels:e.labels,providers:e.providers??[],providerModels:e.providerModels??{},providerDispatchModes:e.providerDispatchModes??{},measurement:e.measurement,locations:e.locations??[],defaultLocation:e.defaultLocation??null,autoExtractBacklinks:e.autoExtractBacklinks??!1,configSource:e.configSource,configRevision:e.configRevision,createdAt:e.createdAt,updatedAt:e.updatedAt}}function ok(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return e}}function cZ(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"<1s";const r=Math.floor(i/1e3);if(r<60)return`${r}s`;const u=Math.floor(r/60),h=r%60;return`${u}m ${h}s`}function wC(e){switch(e){case ze["answer-visibility"]:return"Answer visibility sweep";case ze["gsc-sync"]:return"GSC sync";case ze["inspect-sitemap"]:return"Sitemap inspection";case ze["ga-sync"]:return"GA sync";case ze["traffic-sync"]:return"Traffic sync";case ze["bing-inspect"]:return"Bing URL inspection";case ze["bing-inspect-sitemap"]:return"Bing sitemap inspection";case ze["site-audit"]:return"Site audit";case ze["backlink-extract"]:return"Backlink extract";case ze["aeo-discover-seed"]:return"Discovery (seed phase)";case ze["aeo-discover-probe"]:return"Discovery (probe phase)";case ze["gbp-sync"]:return"Business Profile sync";case ze["ads-sync"]:return"ChatGPT ads sync";case ze["google-ads-sync"]:return"Google Ads sync";case ze["gtm-sync"]:return"Tag Manager sync"}}function uZ(e){return e===ks.manual?"Manual":e===ks.scheduled?"Scheduled":e===ks["config-apply"]?"Config apply":e}function Dm(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:wC(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:e.startedAt?ok(e.startedAt):ok(e.createdAt),duration:cZ(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?kC(e.error):dZ(e),summary:mZ(e),triggerLabel:uZ(e.trigger)}}function kC(e){const n=l0(e);return n.length>200?n.slice(0,200)+"…":n}function dZ(e){switch(e.status){case tn.queued:return"Waiting for execution slot.";case tn.running:return"Provider queries in progress.";case tn.completed:return"All queries checked.";case tn.partial:return"Run completed with some queries skipped.";case tn.failed:return e.error?kC(e.error):"Run failed.";case tn.cancelled:return"Run was cancelled.";default:return""}}function mZ(e){const n=wC(e.kind);switch(e.status){case tn.queued:return`${n} queued`;case tn.running:return`${n} in progress`;case tn.completed:return`${n} completed`;case tn.partial:return`${n} partially completed`;case tn.failed:return`${n} failed`;case tn.cancelled:return`${n} cancelled`;default:return e.status}}function pZ(e,n,i,r,u){const h=[];let f=0;const b=new Set;if(i.length>0){const v=i.flatMap(E=>E.snapshots??[]),w=new Map;for(const E of v)if(E.query){const P=`${E.query}::${E.provider}::${E.location??""}`;w.set(P,E)}const k=new Set(v.map(E=>E.location??null));k.size===0&&k.add(null);const j=new Set(v.map(E=>E.provider)),T=new Set(n.flatMap(E=>Object.keys(E.providerRuns??{}))),N=[...new Set([...j,...T])].sort(),q=N.length>0?N:["gemini"];for(const E of n){if(E.runs.length===0)continue;b.add(E.query);const P=E.runs.at(-1),H=P?.transition??"not-cited";for(const X of q){const L=[...k].filter(ee=>w.has(`${E.query}::${X}::${ee??""}`)),Z=(E.providerRuns?.[X]?.length??0)>0,Y=L.length>0?L:Z?[null]:[];for(const ee of Y){const B=ee??"",K=w.get(`${E.query}::${X}::${B}`),we=K?.model??null,Xe=we?`${X}:${we}`:null,nt=E.providerRuns?.[X],Ue=Xe?E.modelRuns?.[Xe]:void 0,qe=re=>re?.filter(lt=>(lt.location??null)===ee),ke=L.length>0?qe(nt):nt,$e=L.length>0?qe(Ue):Ue,O=(ke?.length?ke:null)??($e?.length?$e:null),ne=ke?.length?"provider":$e?.length?"model":"query",ge=O?O.at(-1).transition:H,Se=O?O.at(-1).visibilityTransition??(O.at(-1).visibilityState==="visible"?"visible":"not-visible"):P?.visibilityTransition??(P?.visibilityState==="visible"?"visible":"not-visible"),ae=O?.at(-1)?.citationState,_e=O?.at(-1)?.visibilityState,Be=K?ge==="lost"?"lost":ge==="emerging"?"emerging":K.citationState===qd.cited?"cited":"not-cited":ae===qd.cited?"cited":"not-cited",ve=K?.visibilityState??(_e==="visible"?"visible":_e==="pending"?"pending":"not-visible"),le=rk(O||E.runs),ce=lk(O||E.runs),Q=hZ(E,X),me=(O??E.runs).map(re=>({runId:re.runId,citationState:re.citationState,createdAt:re.createdAt,model:Q.get(re.runId)??null,answerMentioned:re.answerMentioned,visibilityState:re.visibilityState,visibilityTransition:re.visibilityTransition,mentionState:re.mentionState,mentionTransition:re.mentionTransition})),De=fZ(me),je=ne==="provider"&&De.length<=1?"model":ne,it=gZ(me),Ge=K?.citedCompetitorDomains??[],jt=K?.mentionedCompetitorDomains??[],He=[...new Set([...Ge,...jt,...K?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${f++}`,query:E.query,queryId:K?.queryId??null,sourceSnapshotId:K?.id??null,sourceRunId:K?.runId??null,queryClass:u?.classify(E.query)??null,provider:K?.provider??X,model:K?.model??null,location:K?.location??ee,citationState:Be,answerMentioned:K?.answerMentioned,visibilityState:ve,visibilityChangeLabel:ck(Se,ce,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:ck(ge,le),answerSnippet:K?.answerText??"",citedDomains:K?.citedDomains??[],evidenceUrls:K?.citedUrls??[],citedCompetitorDomains:Ge,mentionedCompetitorDomains:jt,competitorDomains:He,recommendedCompetitors:K?.recommendedCompetitors??[],matchedTerms:K?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:K?.groundingSources??[],searchQueries:K?.searchQueries??[],summary:yZ(ve,Se,E.query),runHistory:me,historyScope:je,modelsSeen:De,modelTransitions:it})}}}}for(const v of r)b.has(v.query)||h.push({id:`evidence_${e}_${f++}`,query:v.query,queryId:v.id,sourceSnapshotId:null,sourceRunId:null,queryClass:u?.classify(v.query)??null,provider:"",model:null,location:null,citationState:"pending",visibilityState:"pending",visibilityChangeLabel:"Awaiting first run",changeLabel:"Awaiting first run",answerSnippet:"",citedDomains:[],evidenceUrls:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],competitorDomains:[],recommendedCompetitors:[],matchedTerms:[],relatedTechnicalSignals:[],groundingSources:[],searchQueries:[],summary:`"${v.query}" has been added but no visibility run has been triggered yet.`,runHistory:[],historyScope:"query",modelsSeen:[],modelTransitions:[]});return h}function hZ(e,n){const i=new Map,r=`${n}:`;for(const[u,h]of Object.entries(e.modelRuns??{})){if(!u.startsWith(r))continue;const f=u.slice(r.length),b=f==="unknown"?null:f;for(const v of h)i.set(v.runId,b)}return i}function fZ(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function gZ(e){const n=[];let i=null;for(const r of e){const u=r.model??null;u!==i&&i!==null&&n.push({runId:r.runId,createdAt:r.createdAt,fromModel:i,toModel:u}),i=u}return n}function rk(e){if(e.length===0)return 0;const n=e[e.length-1].citationState;let i=0;for(let r=e.length-1;r>=0&&e[r].citationState===n;r--)i++;return i}function lk(e){if(e.length===0)return 0;const n=e[e.length-1].visibilityState??"not-visible";let i=0;for(let r=e.length-1;r>=0&&(e[r].visibilityState??"not-visible")===n;r--)i++;return i}function ck(e,n,i){const r={positive:i?.positive??"cited",negative:i?.negative??"not cited",first:i?.first??"first citation"};switch(e){case"new":return"First observation";case"cited":case"visible":return n<=1?`${rc(r.positive)} in latest run`:`${rc(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return rc(r.first);case"not-cited":case"not-visible":return n<=1?`${rc(r.negative)} in latest run`:`${rc(r.negative)} across ${n} runs`;default:return e}}function rc(e){return e.charAt(0).toUpperCase()+e.slice(1)}function yZ(e,n,i){switch(n){case"lost":return`Mention was lost for "${i}". Your brand no longer appeared in the latest answer.`;case"emerging":return`Your brand started appearing in AI answers for "${i}".`}switch(e){case"visible":return`Your brand or domain is mentioned in AI answers for "${i}".`;case"pending":return`"${i}" has been added but no run has been triggered yet.`;default:return`Your brand or domain was not mentioned in AI answers for "${i}".`}}function SC(e){const n=xC(e.project),i=q9(T9(e.project)),r=pZ(n.name,e.timeline,e.latestRunDetails,e.queries,i),h=[...e.runs].sort((f,b)=>b.createdAt.localeCompare(f.createdAt)).map(f=>Dm(f,e.project.displayName||e.project.name));return e.overview?bZ(n,e.overview,r,h):vZ(n,r,h)}function bZ(e,n,i,r){const u=lZ(n.topInsights);for(const h of n.attentionItems)h.id.startsWith("insight_")||u.push({id:h.id,tone:h.tone,title:h.title,detail:h.detail,actionLabel:h.actionLabel,actionGroup:"investigate",affectedPhrases:[]});return{project:e,dateRangeLabel:n.dateRangeLabel,contextLabel:n.contextLabel,mentionSummary:n.scores.mention,visibilitySummary:n.scores.visibility,mentionShareSummary:n.scores.mentionShare,queryCounts:{cited:n.queryCounts.citedQueries,total:n.queryCounts.totalQueries},gapQueries:n.scores.gapQueries,mentionGaps:n.scores.mentionGaps,indexCoverage:n.scores.indexCoverage,providerScores:n.providerScores,competitorPressure:n.scores.competitorPressure,runStatus:n.scores.runStatus,citationMovement:n.citationMovement,mentionMovement:n.mentionMovement,movementComparison:n.movementComparison,insights:u,visibilityEvidence:i,competitors:n.competitors.map(h=>({id:h.id,domain:h.domain,citationCount:h.citationCount,totalQueries:h.totalQueries,pressureLabel:h.pressureLabel,citedQueries:h.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),suggestedQueries:n.suggestedQueries}}function uk(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,combinedMentionSnapshots:0,perCompetitor:[],ranking:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function vZ(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,dateRangeLabel:"All time",contextLabel:`${e.country} / ${e.language.toUpperCase()}`,mentionSummary:{...r,label:"Mention Coverage"},visibilitySummary:{...r,label:"Citation Coverage"},mentionShareSummary:{...r,label:"Mention Share",scope:"non-brand",unavailable:!0,breakdown:uk(),branded:uk()},queryCounts:{cited:0,total:0},gapQueries:{...r,label:"Citation Gaps"},mentionGaps:{...r,label:"Mention Gaps"},indexCoverage:{...r,label:"Index Coverage"},providerScores:[],competitorPressure:{...r,label:"Competitor Pressure"},runStatus:{...r,label:"Run Status"},citationMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},mentionMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},movementComparison:{hasPreviousRun:!1,comparable:!1,querySetChanged:!1,previousRunAt:null,currentQueryCount:0,previousQueryCount:0,comparableQueryCount:0,addedQueryCount:0,removedQueryCount:0,addedQueries:[],removedQueries:[]},insights:[],visibilityEvidence:n,competitors:[],recentRuns:i.slice(0,5),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function xZ(e){const n=xC(e.project),i=[...e.runs].sort((T,N)=>N.createdAt.localeCompare(T.createdAt)),r=i.find(T=>T.kind===ze["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?Dm(r,u):wZ(e.project.id,u),f=e.overview;if(!f)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:h,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=f.scores.mention,v=b.progress??0,w=f.queryCounts.mentionedQueries,k=f.queryCounts.totalQueries,j=f.providers.length;return{project:n,hasMeasurement:k>0&&b.progress!=null,mentionScore:v,mentionDelta:k>0?`${w} of ${k} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:h,insight:k>0?`${w} of ${k} queries mentioned across ${j} provider${j===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:f.scores.competitorPressure.value,sentiment:f.sentiment}}function wZ(e,n){return{id:"none",projectId:e,projectName:n,kind:ze["answer-visibility"],kindLabel:"No runs yet",status:tn.queued,trigger:ks.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function kZ(e,n){const i=[],r=[],u=[];for(const f of e){r.push(SC(f)),u.push(xZ(f));const b=[...f.runs].sort((v,w)=>w.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(Dm(v,f.project.displayName||f.project.name))}i.sort((f,b)=>b.createdAt.localeCompare(f.createdAt));const h=e.length>0;return{portfolioOverview:{projects:u,attentionItems:h?SZ(r):[{id:"attention_setup",tone:"neutral",title:"No projects yet",detail:"Create your first project using the setup wizard, CLI, or API.",actionLabel:"Open setup",href:"/setup"}],recentRuns:i.slice(0,5),systemHealth:[{id:"api",label:"API",tone:"positive",detail:"Connected",meta:"Real-time data"},{id:"provider",label:"Gemini",tone:"positive",detail:"Configured",meta:"Provider active"}],...h?{}:{emptyState:{title:"No projects yet",detail:"Canonry becomes useful after one project, a small query set, and one competitor list are in place.",ctaLabel:"Launch setup",ctaHref:"/setup"}}},projects:r,runs:i,setup:{healthChecks:[{id:"api",label:"API reachable",detail:"API is responding.",state:"ready",guidance:"Required for project creation and run history."},{id:"provider",label:"Provider configured",detail:"Gemini key is configured.",state:"ready",guidance:"Required for answer-visibility sweeps."}],projectDraft:{name:"",canonicalDomain:"",country:"US",language:"en"},queryImportState:{mode:"paste",queryCount:0,preview:[]},competitorDraft:{domains:[],notes:"Use the CLI to add competitors."},launchState:{enabled:h,ctaLabel:h?"Trigger run":"Create a project first",summary:h?"Ready to run.":"Create a project first to launch a run."}},settings:{providerStatuses:(n?.providers??[]).map(f=>({name:f.name,displayName:f.displayName,keyUrl:f.keyUrl,modelHint:f.modelHint,model:f.model,defaultModel:f.defaultModel,state:f.configured?"ready":"needs-config",detail:f.configured?"Provider is configured.":f.name.toLowerCase()==="local"?"Base URL is missing.":"API key is missing.",quota:f.quota})),google:{state:n?.google?.configured?"ready":"needs-config",detail:n?.google?.configured?"Google OAuth app credentials are configured. Project-level GSC connections can be created from the dashboard.":"Google OAuth client ID and client secret are not configured yet."},bing:{state:n?.bing?.configured?"ready":"needs-config",detail:n?.bing?.configured?"Bing Webmaster Tools API key is configured. Project-level Bing connections can be created from the dashboard.":"Bing Webmaster Tools API key is not configured yet."},selfHostNotes:["Configuration is stored in ~/.canonry/config.yaml.","The local config file is the source of truth for authentication credentials.","Google OAuth app credentials and per-domain Google tokens are stored in local config, not the database.","Database is SQLite at ~/.canonry/data.db.","API key was auto-generated during canonry init."],bootstrapNote:"Use the UI, CLI, or ~/.canonry/config.yaml to manage settings. Authentication credentials persist to local config."}}}function SZ(e){const n=[];for(const i of e){const r=i.visibilityEvidence.filter(h=>h.citationState==="lost");r.length>0&&n.push({id:`attention_${i.project.id}_lost`,tone:"negative",title:`${i.project.displayName||i.project.name} lost citations`,detail:`${r.length} quer${r.length>1?"ies":"y"} lost citation.`,actionLabel:"Open project",href:`/projects/${encodeURIComponent(i.project.name)}`});const u=i.recentRuns.filter(h=>h.status===tn.running||h.status===tn.queued);u.length>0&&n.push({id:`attention_${i.project.id}_active`,tone:"neutral",title:`${i.project.displayName||i.project.name} has active runs`,detail:`${u.length} run${u.length>1?"s":""} in progress.`,actionLabel:"View runs",href:"/runs"})}return n.length===0&&n.push({id:"attention_stable",tone:"positive",title:"All projects stable",detail:"No citation losses or active runs to flag."}),n}const jC=C.createContext(null);jC.Provider;function Uc(){return C.useContext(jC)}function zm(e,n={}){const r=Uc()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,f=n.pauseProjectPolling??!1,{isAdmin:b}=pa(),v=yt({..._m({client:J,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:Lr,refetchInterval:L=>L.state.data?.some(ee=>ee.status==="running"||ee.status==="queued")?3e3:Lr}),w=yt({...Ro({client:J}),enabled:!r,refetchInterval:f?!1:L=>{const Z=L.state.data,Y=v.data?.some(B=>B.status==="running"||B.status==="queued");return(Z?.length??0)===0||!!Y?AK:CK}}),k=yt({...hH({client:J}),enabled:!r&&u&&b}),j=w.data??[],T=v.data??[],N=YN({queries:j.map(L=>{const Z=T.filter(B=>B.projectId===L.id),Y=Z.filter(B=>(B.status==="completed"||B.status==="partial")&&B.kind==="answer-visibility"&&B.trigger!=="probe").sort((B,K)=>K.createdAt.localeCompare(B.createdAt)),ee=Y.length>0?Y[0].id:"no-run";return{queryKey:["project-overview-slim",L.id,ee],queryFn:async()=>{const B=await VA(L.name).catch(()=>null);return{project:L,runs:Z,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:B}},enabled:!r&&h&&w.isSuccess&&v.isSuccess,staleTime:jd}})}),q=!h||N.every(L=>L.isSuccess),E=C.useMemo(()=>{if(r)return r;if(!w.data||!v.data||j.length>0&&!q)return null;const L=h?N.map(Z=>Z.data?{...Z.data,runs:T.filter(Y=>Y.projectId===Z.data.project.id)}:null).filter(Z=>Z!=null):j.map((Z,Y)=>{const ee=N[Y]?.data;return{project:Z,runs:T.filter(B=>B.projectId===Z.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:ee?.overview??null}});return kZ(L,k.data??null)},[r,w.data,v.data,k.data,h,q,N,j,T]),P=!r&&(w.isError||v.isError),H=!r&&!E&&!P,X=C.useCallback(async()=>{const L=[w.refetch(),v.refetch(),...h?N.map(Z=>Z.refetch()):[]];u&&L.push(k.refetch()),await Promise.all(L)},[u,h,N,w.refetch,v.refetch,k.refetch]);return{dashboard:E,isLoading:H,isError:P,refetch:X}}function jZ(e){return JSON.stringify(e.filter(n=>n.kind==="answer-visibility"&&n.trigger!=="probe"&&(n.status==="completed"||n.status==="partial")).map(n=>[n.id,n.status]).sort(([n],[i])=>n.localeCompare(i)))}async function mg(e,n,i="active"){const r=u=>{const h=u.queryKey[0];return h?._id==="getApiV1ProjectsByNameAnalyticsCompetitors"&&h.path?.name===n};return i==="active"&&await e.cancelQueries({predicate:r}),e.invalidateQueries({predicate:r,refetchType:i})}function $ie(e,n,i){const r=Jn(),u=C.useRef({projectName:e,revision:n,enabled:i});C.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&mg(r,e)},[i,e,r,n])}const AZ=20;function CZ(e,n={}){const i=Jn(),r=Uc(),u=C.useMemo(()=>!r||!e?null:r.dashboard.projects.find(Y=>Y.project.name===e)??null,[r,e]),h=yt({...HK({client:J,path:{name:e??""}}),enabled:!!e&&!u,staleTime:jd,refetchOnWindowFocus:"always"}),f=yt({...XA({client:J,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:Lr,refetchOnWindowFocus:"always",refetchInterval:Y=>Y.state.data?.some(K=>K.projectId===h.data?.id&&(K.status==="running"||K.status==="queued"))?3e3:Lr}),b=h.data??null,v=C.useMemo(()=>b?(f.data??[]).filter(Y=>Y.projectId===b.id):[],[b,f.data]),{latestRunIds:w,latestRunIdsKey:k,latestVisibilityRevision:j}=C.useMemo(()=>{const Y=v.filter(K=>(K.status==="completed"||K.status==="partial")&&K.kind==="answer-visibility"&&K.trigger!=="probe").sort((K,we)=>we.createdAt.localeCompare(K.createdAt)),ee=Y[0]?.createdAt??null,B=ee?Y.filter(K=>K.createdAt===ee).map(K=>K.id):[];return{latestRunIds:B,latestRunIdsKey:[...B].sort().join(","),latestVisibilityRevision:ee?`${ee}:${[...B].sort().join(",")}`:"none"}},[v]),T=!!b&&!!e&&f.isSuccess,N=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","overview"],queryFn:async()=>({project:b,overview:await VA(e)}),enabled:T&&n.overview===!0,staleTime:jd,refetchOnWindowFocus:"always"}),q=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","evidence"],queryFn:async()=>{const[Y,ee,B]=await Promise.all([LA(e),BG(e,void 0,AZ),Promise.all(w.map(K=>ng(K)))]);return{project:b,queries:Y,timeline:ee,latestRunDetails:B}},enabled:T&&n.evidence===!0,staleTime:jd,refetchOnWindowFocus:"always"}),E=C.useMemo(()=>{if(!b||!f.data)return u;const Y=n.evidence?q.data:void 0,ee={project:b,runs:v,queries:Y?.queries??[],timeline:Y?.timeline??[],latestRunDetails:Y?.latestRunDetails??[],overview:n.overview?N.data?.overview??null:null},B=SC(ee);return u&&!(n.overview&&N.data)?{...u,project:B.project,recentRuns:f.data?B.recentRuns:u.recentRuns,visibilityEvidence:Y?B.visibilityEvidence:u.visibilityEvidence}:B},[b,v,q.data,N.data,u,n.evidence,n.overview,f.data]),P=C.useCallback(async()=>{await Promise.all([h.refetch(),f.refetch(),i.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[h.refetch,f.refetch,i,b?.id]),H=h.isError||f.isError,X=!u&&(h.isLoading||f.isLoading),L=!!e&&n.overview===!0&&!u&&!H&&N.isPending,Z=!!e&&n.evidence===!0&&!u&&!H&&q.isPending;return{commandCenter:E,project:b,isLoading:X,isError:H,overviewLoading:L,overviewError:n.overview===!0&&N.isError&&!N.data,evidenceLoading:Z,evidenceError:n.evidence===!0&&q.isError&&!q.data,latestVisibilityRevision:j,competitorHistoryRevision:jZ(v),refetch:P}}const NZ=["health"];async function _Z(){const e=await iK("/health","API"),n=Tr()&&e.state==="ok"?{label:"Worker",state:"disabled",detail:"Background execution is disabled in this public demo."}:e.state==="ok"?{label:"Worker",state:"ok",detail:"In-process job runner"}:{label:"Worker",state:e.state,detail:`Depends on API health check · ${e.detail}`,statusCode:e.statusCode,hint:e.hint?`Worker status is inferred from API health in this deployment mode. ${e.hint}`:"Worker status is inferred from API health in this deployment mode."};return{apiStatus:e,workerStatus:n}}function c1(e,n){return yt({queryKey:NZ,queryFn:_Z,enabled:e,refetchInterval:15e3,initialData:n})}function TZ(e){return yt({...i1({client:J,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function u1(){const e=Cs(),n=Ik({strict:!1}),i=XN({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:Vn.to,search:w=>({...w,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:Vn.to,search:w=>({...w,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:Vn.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const EZ={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function RZ(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function DZ(){const e=C.useSyncExternalStore(SK,Gw,Gw),n=Cs(),{openRun:i}=u1(),r=C.useCallback(h=>{og(h)},[]),u=C.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),og(h.id))},[n,i]);return e.length===0?null:l.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(h=>l.jsxs("section",{role:h.tone==="negative"?"alert":"status","aria-live":h.tone==="negative"?"assertive":"polite","data-state":h.state,className:`toast-card ${EZ[h.tone]}`,children:[l.jsxs("div",{className:"toast-copy",children:[l.jsx("p",{className:"toast-title",children:h.title}),h.detail?l.jsx("p",{className:"toast-detail",children:h.detail}):null,h.cta?l.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(h),"aria-label":RZ(h),children:h.cta.label}):null]}),l.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:l.jsx($r,{className:"size-3.5"})})]},h.id))})}const zZ="https://github.com/Canonry/canonry",IZ="https://canonry.ai",dk="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",OZ=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"],["Reports","/projects/harbor-resorts/report"]]},{title:"Portfolio",links:[["Properties & markets","/projects/harbor-resorts"],["Queries & research","/projects/harbor-resorts/queries"],["Activity","/projects/harbor-resorts/activity"]]},{title:"Website",links:[["Site health","/projects/summit-roofing/technical-aeo"],["Local presence","/projects/summit-roofing/local"],["Backlinks","/projects/summit-roofing/backlinks"]]}];function qZ(){const e=C.useId();if(!Tr())return null;const n=Nm(),i=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":i};return l.jsxs("aside",{className:"demo-banner","aria-label":"Public demo",children:[l.jsx("p",{className:"demo-banner-name",children:"Canonry demo"}),l.jsx("p",{className:"demo-banner-facts",children:"View only. Fictional data."}),l.jsx("p",{className:"demo-banner-agent",children:dk}),l.jsxs("div",{className:"demo-banner-actions",children:[l.jsxs("a",{className:"demo-banner-primary",href:IZ,...r,children:["canonry.ai",l.jsx($k,{"aria-hidden":"true",size:14})]}),l.jsxs("a",{className:"demo-banner-secondary",href:zZ,...r,children:[l.jsx(Uk,{"aria-hidden":"true",size:15}),"GitHub"]}),l.jsxs("details",{onKeyDown:u=>{u.key==="Escape"&&(u.currentTarget.open=!1,u.currentTarget.querySelector("summary")?.focus())},children:[l.jsxs("summary",{children:["Explore ",l.jsx(Jd,{"aria-hidden":"true",size:14})]}),l.jsxs("div",{className:"demo-banner-panel",children:[l.jsx("p",{className:"demo-banner-panel-agent",children:dk}),l.jsxs("nav",{className:"demo-banner-examples","aria-label":"Demo examples",children:[l.jsx("a",{href:`${n}/projects/summit-roofing`,children:"Standard business"}),l.jsx("a",{href:`${n}/projects/harbor-resorts`,children:"Property portfolio"})]}),l.jsx("nav",{className:"demo-banner-features","aria-label":"Demo feature directory",children:OZ.map(({title:u,links:h})=>l.jsxs("section",{"aria-label":u,children:[l.jsx("h2",{children:u}),l.jsx("ul",{children:h.map(([f,b])=>l.jsx("li",{children:l.jsx("a",{href:`${n}${b}`,children:f})},b))})]},u))})]})]})]}),l.jsx("span",{id:i,hidden:!0,children:"Opens in a new tab"})]})}function pc(e){switch(e){case ze["answer-visibility"]:return"Visibility sweep";case ze["gsc-sync"]:return"GSC sync";case ze["inspect-sitemap"]:return"Sitemap inspection";case ze["ga-sync"]:return"GA sync";case ze["traffic-sync"]:return"Traffic sync";case ze["bing-inspect"]:return"Bing URL inspection";case ze["bing-inspect-sitemap"]:return"Bing sitemap inspection";case ze["site-audit"]:return"Technical audit";case ze["backlink-extract"]:return"Backlink extract";case ze["aeo-discover-seed"]:return"Discovery (seed phase)";case ze["aeo-discover-probe"]:return"Discovery (probe phase)";case ze["gbp-sync"]:return"Business Profile sync";case ze["ads-sync"]:return"ChatGPT ads sync";case ze["google-ads-sync"]:return"Google Ads sync";case ze["gtm-sync"]:return"Tag Manager sync"}}function mk(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function PZ(){const e=C.useSyncExternalStore(nC,Bi,Bi),n=C.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=yt({..._m({client:J}),enabled:i,staleTime:Lr}),u=C.useMemo(()=>new Map((r.data??[]).map(b=>[b.id,b.status])),[r.data]);if(!i)return null;const h=n.map(b=>({...b,status:u.get(b.runId)??b.lastAnnouncedStatus})),f=h.length===1?pc(h[0].kind):`${h.length} active tasks`;return l.jsxs("div",{className:"task-center",children:[l.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[h.length," active ",h.length===1?"task":"tasks","."," ",h.map(b=>`${pc(b.kind)} ${mk(b.status)}`).join(". "),"."]}),l.jsxs("details",{className:"task-center-details",children:[l.jsxs("summary",{className:"task-center-trigger",children:[l.jsx(Er,{className:"size-3.5 shrink-0 motion-safe:animate-spin","aria-hidden":"true"}),l.jsx("span",{className:"task-center-summary",children:f}),l.jsx("span",{className:"task-center-count","aria-hidden":"true",children:h.length}),l.jsx(Jd,{className:"task-center-chevron size-3.5 shrink-0","aria-hidden":"true"})]}),l.jsxs("div",{className:"task-center-panel",children:[l.jsxs("div",{className:"task-center-heading",children:[l.jsx("span",{children:"Active tasks"}),l.jsx("span",{className:"tabular-nums text-faint",children:h.length})]}),l.jsx("ul",{className:"task-center-list",children:h.map(b=>l.jsxs("li",{className:"task-center-item",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-[13px] font-medium text-strong",children:pc(b.kind)}),l.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),l.jsx(bn,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:mk(b.status)})]},b.runId))}),l.jsx(We,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}const d1={queryClass:"all"},MZ=["all","non-brand","branded"];function AC(e){return typeof e=="string"&&MZ.includes(e)}function BZ(e){const n=AC(e.class)?e.class:d1.queryClass,i=e.scope;if(typeof i!="string"||i==="all"||i.length===0)return{scope:"all",queryClass:n};const r=i.startsWith("group:")?i.slice(6):"";return r?{scope:"group",groupKey:r,queryClass:n}:{scope:"all",queryClass:n}}function Uie(e,n){return n===null||e===null?!1:e!==n}function Gie(e){return{scope:e.scope==="group"&&e.groupKey?`group:${e.groupKey}`:void 0,class:e.queryClass===d1.queryClass?void 0:e.queryClass}}function LZ(e,n){if(!(typeof e!="string"||e.length>16384||!n))try{const i=JSON.parse(e);if(typeof i!="object"||i===null||Array.isArray(i))return;const r=i,u=f=>typeof f=="string"&&f.trim().length>0,h=f=>f===null||u(f);return r.queryKey!==n||!u(r.provider)||r.queryClass!=="branded"&&r.queryClass!=="non-brand"&&r.queryClass!=="unknown"||!h(r.model)||!h(r.location)||!h(r.runId)||r.revision!==null&&(typeof r.revision!="number"||!Number.isSafeInteger(r.revision)||r.revision<=0)?void 0:{queryKey:n,queryClass:r.queryClass,provider:r.provider,model:r.model,location:r.location,runId:r.runId,revision:r.revision}}catch{return}}function VZ(e){const n=w=>typeof e[w]=="string"&&e[w]!==""?e[w]:void 0,i=BZ({scope:n("scope"),class:n("class")}),r=n("measurementScope")??(i.scope==="group"?"group":"project"),u=n("measurementScopeKey")??(n("measurementScope")?void 0:i.groupKey),h=n("queryClass")??n("class"),f={measurementScope:u&&(r==="group"||r==="market"||r==="property")?r:"project",queryClass:h==="unknown"||AC(h)?h:d1.queryClass};f.measurementScope!=="project"&&(f.measurementScopeKey=u);for(const[w,k]of[["measurementMarketKey","marketKey"],["measurementProvider","provider"],["measurementModel","model"],["measurementLocation","location"],["measurementFrom","from"],["measurementTo","to"],["measurementRunId","measurementRunId"],["measurementQueryKey","queryKey"]]){const j=n(w);j!==void 0&&(f[k]=j)}const b=Number(e.measurementRevision);Number.isSafeInteger(b)&&b>0&&(f.revision=b);const v=LZ(e.measurementAnswer,f.queryKey);return v&&(f.answer=v),f}function $Z(e){return{scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass,provider:e.provider,model:e.model,location:e.location,from:e.from,to:e.to,revision:e.revision,runId:e.measurementRunId,limit:25}}function Kie(e,n){const i={...e,...n};return["measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId"].some(r=>r in n)?(i.measurementQueryKey=n.measurementQueryKey,i.measurementAnswer=n.measurementAnswer):"measurementQueryKey"in n&&!("measurementAnswer"in n)&&(i.measurementAnswer=void 0),"measurementScope"in n&&(i.scope=void 0,"measurementMarketKey"in n||(i.measurementMarketKey=void 0),i.measurementQueryKey=void 0,n.measurementScope==="project"&&(i.measurementScopeKey=void 0)),"queryClass"in n&&(i.class=void 0),i}function Hie(e){return{...e,onboarding:void 0,manageQueries:void 0,siteHealthRunId:void 0,siteScan:void 0,setupProject:void 0}}function UZ(e,n){const i=/\/properties\/([^/]+)/.exec(e),r=VZ(n);if(i)return{view:"property",selection:Id.parse({scope:"property",scopeKey:decodeURIComponent(i[1]),queryClass:r.queryClass,limit:10})};if(e.endsWith("/technical-aeo"))return{view:"site-health"};if(e.endsWith("/queries")&&n.queryWorkspace==="research")return{view:"project"};const u=/^\/projects\/[^/]+\/?$/.test(e);if(u||e.endsWith("/queries")){const h=Id.safeParse($Z(e.endsWith("/queries")?{measurementScope:r.measurementScope,measurementScopeKey:r.measurementScopeKey,queryClass:r.queryClass}:r));return{view:u?"visibility":"queries",...h.success?{selection:h.data}:{unavailableReason:"The current measurement filters are invalid. Correct them before asking Aero about this view."}}}return{view:"project"}}function GZ(e,n={}){const{threshold:i=80}=n,r=C.useRef(null),u=C.useRef({scrollHeight:0,wasAtEnd:!0});function h(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function f(){const v=r.current;return v?h(v)<=i:!0}function b(){const v=r.current;v&&(v.scrollTop=v.scrollHeight,u.current.wasAtEnd=!0,u.current.scrollHeight=v.scrollHeight)}return C.useEffect(()=>{const v=r.current;if(!v)return;const w=()=>{u.current.wasAtEnd=h(v)<=i};return v.addEventListener("scroll",w,{passive:!0}),()=>v.removeEventListener("scroll",w)},[i]),C.useLayoutEffect(()=>{const v=r.current;if(!v)return;const w=v.scrollHeight;w>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=w),u.current.scrollHeight=w},e),C.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const w=new ResizeObserver(()=>{const k=v.scrollHeight;k>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=k),u.current.scrollHeight=k});return w.observe(v),v.firstElementChild&&w.observe(v.firstElementChild),()=>w.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:f}}const pg="Sweeps are run by your Canonry team",KZ="Scans are run by your Canonry team",pk="Next sweep unavailable",HZ="Sweep running…",QZ="Next sweep:";function FZ(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function ZZ({projectName:e,kind:n=ze["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===ze["site-audit"],h=yt({...gH({client:J,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),f=h.isError?void 0:h.data,b=f?.enabled&&f.nextRunAt?new Date(f.nextRunAt):null,v=b&&Number.isFinite(b.getTime())?u?b.toLocaleString("en-GB",{weekday:"long",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",timeZone:"UTC",hourCycle:"h23"}):FZ(b.toISOString(),f?.timezone):null,k=(h.error instanceof xn?h.error.code:h.error?.error?.code)==="NOT_FOUND",j=!v||k||!f?.enabled;return l.jsx("p",{className:"text-sm text-secondary",role:"status",children:u?l.jsxs(l.Fragment,{children:[i&&l.jsx("span",{className:"text-neutral",children:"Scan running… · "}),v&&b?l.jsxs(l.Fragment,{children:["Next scan ",l.jsxs("time",{dateTime:b.toISOString(),children:[v," UTC"]})," · managed by your Canonry team"]}):KZ]}):i?HZ:j?pk:v&&b?l.jsxs(l.Fragment,{children:[QZ," ",l.jsx("time",{dateTime:b.toISOString(),children:v})]}):pk})}const YZ=300,XZ=400,JZ=900,WZ=32,hk=28;let eY=0;function tY(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function hg(){return new DOMException("Preview stopped","AbortError")}function nY(e,n){return n?.aborted?Promise.reject(hg()):new Promise((i,r)=>{const u=()=>{clearTimeout(h),r(hg())},h=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);n?.addEventListener("abort",u,{once:!0})})}function aY(e){const n=e.match(/\S+\s*|\s+/g)??[];if(n.length<2)return[];const i=Math.ceil(n.length/WZ),r=[];for(let u=i;u<n.length;u+=i)r.push(n.slice(0,u).join(""));return r}function iY(e){return typeof e=="string"?e:JSON.stringify(e??null)}async function sY({starter:e,signal:n,onEvent:i,reducedMotion:r=!1}){const u=async b=>{if(n?.aborted)throw hg();r||await nY(b,n)},h=Date.now(),f=++eY;await u(YZ);for(const[b,v]of e.steps.entries()){const{name:w,label:k,arguments:j,result:T,durationMs:N}=v.tool,q=`preview-${e.id}-${f}-${b}`,E={role:"assistant",timestamp:Date.now(),stopReason:"toolUse",content:[...v.text?[{type:"text",text:v.text}]:[],{type:"toolCall",id:q,name:w,arguments:j}]};i({type:"message_end",message:E}),i({type:"tool_execution_start",toolCallId:q,toolName:w,label:k,args:j}),await u(Math.min(JZ,Math.max(XZ,N))),i({type:"tool_execution_end",toolCallId:q,toolName:w,result:T,isError:!1});const P={role:"toolResult",toolCallId:q,timestamp:Date.now(),isError:!1,aeroToolLabel:k,aeroDurationMs:N,content:[{type:"text",text:iY(T)}]};i({type:"message_end",message:P})}if(!r){for(const b of aY(e.answer))await u(hk),i({type:"message_update",message:{role:"assistant",content:[{type:"text",text:b}]},assistantMessageEvent:{}});await u(hk)}i({type:"message_end",message:{role:"assistant",timestamp:Date.now(),stopReason:"stop",content:[{type:"text",text:e.answer}]}}),i({type:"aero_turn_status",status:{reason:"completed",toolCalls:e.steps.length,modelCalls:e.steps.length+1,durationMs:Date.now()-h}})}async function Im(e){try{return await e.json()}catch{return{}}}function oY(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const Om=oY();function qm(e){e===401&&W0()}async function Af(e){const n=await fetch(`${Om}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){qm(n.status);const i=await Im(n);throw new xn(i.error?.message??`transcript fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function rY(e){const n=await fetch(`${Om}/projects/${encodeURIComponent(e)}/agent/preview`,{credentials:"include"});if(!n.ok){qm(n.status);const i=await Im(n);throw new xn(i.error?.message??`preview fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function lY(e){const n=await fetch(`${Om}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){qm(n.status);const i=await Im(n);throw new xn(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function cY({project:e,prompt:n,conversationId:i,provider:r,modelId:u,scope:h,profile:f,context:b,limits:v,signal:w,onEvent:k}){const j={prompt:n};i!==void 0&&(j.conversationId=i),r&&(j.provider=r),u&&(j.modelId=u),h&&(j.scope=h),f&&(j.profile=f),b&&(j.context=b),v&&(j.limits=v);const T=await fetch(`${Om}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(j),signal:w});if(!T.ok||!T.body){qm(T.status);const X=await Im(T);throw new xn(X.error?.message??`prompt failed: ${T.status}`,T.status,X.error?.code)}let N=!1;const q=T.body.getReader(),E=new TextDecoder;let P="";const H=()=>{q.cancel().catch(()=>{})};w?.addEventListener("abort",H,{once:!0}),w?.aborted&&H();try{for(;;){const{value:X,done:L}=await q.read();if(L)break;P+=E.decode(X,{stream:!0});let Z=P.indexOf(`
59
-
60
- `);for(;Z!==-1;){const Y=P.slice(0,Z);P=P.slice(Z+2);for(const ee of Y.split(`
61
- `)){if(!ee.startsWith("data:"))continue;const B=ee.slice(5).trim();if(!B)continue;let K;try{K=JSON.parse(B)}catch{continue}K.type==="stream_close"&&(N=!0),k(K)}Z=P.indexOf(`
62
-
63
- `)}}if(w?.aborted)throw new DOMException("Turn stopped","AbortError");if(!N)throw new Error("Connection ended before Aero finished. Review the partial answer before retrying.")}finally{w?.removeEventListener("abort",H);try{q.releaseLock()}catch{}}}function Ad(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const fg=[{id:"status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{id:"changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{id:"gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{id:"insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."}],uY="https://canonry.ai",dY="This demo plays sample answers only. Pick a starting point, or type / to choose one.",mY="Stopped. The sample answer so far is kept.";function fk(e){return{queryKey:["aero-preview",e],queryFn:()=>rY(e),staleTime:1/0,gcTime:1/0}}const gk=[{command:"/status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{command:"/changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{command:"/gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{command:"/insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."},{command:"/last-run",label:"Last run",prompt:"Summarize the latest run for this project: which engines answered, what moved in mentions and citations, and anything that failed."},{command:"/run-sweep",label:"Run sweep now",prompt:"Run a new answer-visibility sweep for this project now and tell me when it lands."},{command:"/queries",label:"Queries",prompt:"List the tracked queries for this project and flag any that are obvious duplicates or underperformers."},{command:"/competitors",label:"Competitors",prompt:"Which competitors do engines name most often on queries where we are not named, and on which engines?"},{command:"/new",label:"New conversation (save current)",action:"new"}],fd=e=>`canonry:aero:provider:${e}`,pY=e=>`canonry:aero:scope:${e}`;function yk(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function hY(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function bk(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function fY({projectName:e,context:n,preview:i=X0()}){const r=ho(),{canWrite:u,account:h}=pa(),f=Jn(),b=h?.role==="viewer",[v,w]=C.useState(!1),[k,j]=C.useState(!1),[T,N]=C.useState([]),[q,E]=C.useState(void 0),P=C.useRef(!1),[H,X]=C.useState(!1),[L,Z]=C.useState(!1),[Y,ee]=C.useState(null),[B,K]=C.useState(!1),[we,Xe]=C.useState(!1),[nt,Ue]=C.useState(null),qe=C.useRef(!1),[ke,$e]=C.useState(""),[O,ne]=C.useState(!1),[ge,Se]=C.useState([]),[ae,_e]=C.useState(""),[Be,ve]=C.useState(null),[le,ce]=C.useState(null),[Q,me]=C.useState(null),De=C.useRef(!0),[je,it]=C.useState(()=>yk(fd(e))??null),Ge=r||b||i?null:je,[jt]=C.useState(()=>yk(pY(e))==="all"?"all":"read-only"),He=r||b||i?"read-only":jt,re=C.useRef(null),lt=C.useRef(null),Gt=C.useRef(null),ea=C.useRef(null),{ref:ci}=GZ([T,ae,ge]),Le=C.useRef(null);C.useLayoutEffect(()=>{const oe=Le.current;if(!oe)return;oe.style.height="auto";const Ie=k?bY:yY;oe.scrollHeight>0&&(oe.style.height=`${Math.min(oe.scrollHeight,Ie)}px`)},[ke,k,v]);const[ct,Kt]=C.useState(0),Ht=C.useMemo(()=>{const oe=ke.trimStart();if(!oe.startsWith("/"))return[];if(/\s/.test(oe))return[];const Ie=oe.toLowerCase();return gk.filter(Ye=>(!(r||b)||Ye.command!=="/run-sweep")&&(!b||Ye.action!=="new")&&(!i||fg.some(Qt=>Qt.prompt===Ye.prompt))&&(Ye.command.startsWith(Ie)||Ye.label.toLowerCase().includes(Ie.slice(1))))},[ke,r,b,i]);C.useEffect(()=>{Kt(oe=>Ht.length===0?0:Math.min(oe,Ht.length-1))},[Ht.length]);const Rn=yt({...TQ({client:J,path:{name:e}}),enabled:!b&&!i,staleTime:6e4}),Lt=C.useMemo(()=>{const oe=Rn.data?.providers??[];if(Ge){const Ye=oe.find(Qt=>Qt.id===Ge&&Qt.configured);if(Ye)return Ye}const Ie=Rn.data?.defaultProvider;return Ie?oe.find(Ye=>Ye.id===Ie)??null:null},[Ge,Rn.data]),ui=b||i||Lt!==null;yt({...fk(e),enabled:i&&v}),C.useEffect(()=>{if(!Rn.data||!Ge)return;Rn.data.providers.find(Ie=>Ie.id===Ge&&Ie.configured)||(it(null),bk(fd(e)))},[Rn.data,Ge,e]);const Os=C.useCallback(oe=>{it(oe),oe?hY(fd(e),oe):bk(fd(e))},[e]);C.useEffect(()=>{if(!v)return;const oe=Ie=>{Ie.key==="Escape"&&(L?Z(!1):k?j(!1):w(!1))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[v,k,L]),C.useEffect(()=>{if(!v||!ui||i)return;let oe=!1;ve(null);const Ie=()=>{oe||O||qe.current||Af(e).then(st=>{oe||qe.current||(Xe(st.isStreaming??!1),E(st.conversationId??null),!oe&&!st.isStreaming&&(lt.current===null||st.updatedAt&&st.updatedAt!==lt.current.previous)&&(N(st.messages),re.current=st.updatedAt,lt.current=null))}).catch(st=>{oe||ve(zi(st))})};Ie();const Qt=window.setInterval(Ie,15e3);return()=>{oe=!0,window.clearInterval(Qt)}},[v,e,O,ui,B,i]),C.useEffect(()=>(De.current=!0,()=>{De.current=!1,ea.current?.abort()}),[e]);async function Un(oe,Ie=n){const Ye=oe.trim();if(!Ye||L||O||B||qe.current||we||!ui)return;if(i){await di(Ye);return}if(r&&/^\/run-sweep(?:\s|$)/i.test(Ye)){ve(pg);return}ve(null),ce(null),me({prompt:Ye,context:Ie}),$e(""),ne(!0),_e(""),Gt.current=null,Se([]),lt.current={previous:re.current};const Qt={role:"user",content:Ye,timestamp:Date.now(),aeroContext:Ie};N(et=>[...et,Qt]);const st=new AbortController;ea.current=st;try{await cY({project:e,prompt:Ye,conversationId:q,provider:Ge??void 0,scope:He,context:Ie,signal:st.signal,onEvent:qs});const et=await Af(e);De.current&&!et.isStreaming&&(E(et.conversationId??null),N(et.messages),re.current=et.updatedAt,lt.current=null)}catch(et){if(!De.current)return;b&&(lt.current=null);const Xt=Gt.current;Xt&&Ad(Xt).trim()&&N(Za=>[...Za,Xt]),st.signal.aborted?ce("Stopped. Partial response preserved. An action already dispatched may still finish."):ve(zi(et))}finally{De.current&&(ne(!1),_e(""),Se(et=>et.map(Xt=>Xt.endedAt===void 0?{...Xt,interrupted:!0}:Xt))),ea.current=null}}async function di(oe){const Ie=gk.find(st=>st.command===oe.toLowerCase())?.prompt??oe,Ye=fg.find(st=>st.prompt===Ie)?.id;if(!Ye){ve(null),me(null),ce(dY);return}ve(null),ce(null),me({prompt:Ie}),$e(""),ne(!0),_e(""),Gt.current=null,Se([]),N(st=>[...st,{role:"user",content:Ie,timestamp:Date.now()}]);const Qt=new AbortController;ea.current=Qt;try{const st=await f.ensureQueryData(fk(e));if(Qt.signal.aborted)throw new DOMException("Preview stopped","AbortError");const et=st.starters.find(Xt=>Xt.id===Ye);if(!et)throw new Error("This demo has no sample answer for that starting point.");await sY({starter:et,signal:Qt.signal,onEvent:qs,reducedMotion:tY()})}catch(st){if(!De.current)return;const et=Gt.current;et&&Ad(et).trim()&&N(Xt=>[...Xt,et]),Qt.signal.aborted?ce(mY):ve(zi(st))}finally{De.current&&(ne(!1),_e(""),Se(st=>st.map(et=>et.endedAt===void 0?{...et,interrupted:!0}:et))),ea.current=null}}function qs(oe){if(De.current)switch(oe.type){case"message_update":oe.message.role==="assistant"&&(Gt.current=oe.message),_e(Ad(oe.message));break;case"message_end":if(oe.message.role!=="user"){const Ie=oe.message;N(Ye=>[...Ye,Ie])}oe.message.role==="assistant"&&(Gt.current=null,_e(""),oe.message.errorMessage&&ve(oe.message.errorMessage));break;case"aero_turn_status":oe.status?.reason==="tool-limit"?ce("Tool-call limit reached. Partial response preserved."):oe.status?.reason==="time-limit"?ce("Time limit reached. Partial response preserved."):oe.status?.reason==="completed"&&me(null);break;case"tool_execution_start":Se(Ie=>[...Ie,{id:oe.toolCallId,name:oe.toolName,label:oe.label,args:oe.args,startedAt:Date.now()}]);break;case"tool_execution_end":Se(Ie=>Ie.map(Ye=>Ye.id===oe.toolCallId?{...Ye,endedAt:Date.now(),isError:oe.isError,result:oe.result}:Ye));break;case"error":ve(oe.message);break}}async function Vi(oe,Ie=!1){if(!(O||we||qe.current)){qe.current=!0,K(!0),ve(null);try{await oe();const Ye=await Af(e);if(!De.current)return;lt.current=null,re.current=Ye.updatedAt,E(Ye.conversationId??null),N(Ye.messages),Se([]),_e(""),ce(null),me(null),Ue(null),Z(Ie),ee(Ie?await $w(e):null),Le.current?.focus()}catch(Ye){De.current&&ve(zi(Ye))}finally{qe.current=!1,De.current&&K(!1)}}}async function $i(){if(i){if(O)return;N([]),Se([]),_e(""),ve(null),ce(null),me(null),Le.current?.focus();return}await Vi(()=>b?lY(e):sK(e,crypto.randomUUID()))}async function Ps(oe=!1){if(!(qe.current||P.current)){P.current=!0,X(!0),Z(!0),ve(null);try{const Ie=await $w(e,{offset:oe?Y?.nextOffset??0:0});De.current&&ee(Ye=>oe&&Ye?{...Ie,conversations:[...Ye.conversations,...Ie.conversations]}:Ie)}catch(Ie){De.current&&ve(zi(Ie))}finally{P.current=!1,De.current&&X(!1)}}}const fn=T.length===0,At=!(b||i);if(At&&Rn.isPending)return null;if(At&&Rn.isError)return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[l.jsx(ed,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"font-medium text-strong",children:"Aero could not check provider availability."}),l.jsx(ue,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{Rn.refetch()},children:"Try again"})]})});const gn=Lt&&!Lt.configured?Lt:null;if(At&&(!Lt||gn))return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[l.jsx(ed,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsxs("span",{className:"flex items-center gap-1.5 font-medium text-strong",children:[gn?`Aero is set to ${gn.label.replace(/\s+\(.+\)$/,"")}, which has no API key.`:"Aero needs an answer-engine provider.",l.jsx(_a,{text:gn?`Set ${CC(gn.id)} on the server, or providers.${gn.id}.apiKey in its config.yaml.`:"Aero is the built-in AEO analyst. It reads your Canonry data with you once a provider is connected."})]}),gn?null:u?l.jsx(ue,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:l.jsx(We,{to:"/settings",children:"Open Settings"})}):l.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const Sn=v&&k?"pointer-events-auto fixed inset-0 z-40 flex items-stretch justify-center bg-bg/70 p-4 sm:p-8 backdrop-blur-sm":"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",Ms=k?"pointer-events-auto flex h-full w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-2xl":"pointer-events-auto w-full max-w-3xl",fa=k?"flex-1 overflow-y-auto px-6 py-5 text-sm text-strong":"max-h-[40vh] min-h-[120px] overflow-y-auto px-4 py-3 text-sm text-strong";return l.jsx("div",{className:Sn,onClick:oe=>{k&&oe.target===oe.currentTarget&&j(!1)},children:l.jsx("div",{className:Ms,children:v?l.jsxs("div",{"data-aero-panel":!0,className:k?"flex h-full flex-col":"flex flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-xl backdrop-blur",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-mono-800/70 px-4 py-2.5",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ed,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),l.jsx("span",{className:"text-sm font-medium text-heading",children:"Aero"}),l.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted",children:O||we?"working…":e})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[!r&&!b&&!i&&l.jsx(gY,{providers:Rn.data?.providers??[],active:Lt,override:Ge,onPick:Os,disabled:O}),l.jsx("button",{type:"button",onClick:()=>j(oe=>!oe),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":k?"Collapse":"Expand",title:k?"Collapse":"Expand",children:k?l.jsx(a5,{className:"h-3.5 w-3.5","aria-hidden":"true"}):l.jsx(i5,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),l.jsx("button",{type:"button",onClick:()=>{j(!1),w(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:l.jsx($r,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-subtle px-4 py-2",children:[l.jsxs(ue,{variant:"outline",size:"sm",disabled:O||we||B,onClick:pn($i),title:b||i?"Clear this conversation and start fresh.":"Save this conversation and start fresh. Shared project notes are kept.",children:[l.jsx(Tf,{className:"h-3.5 w-3.5","aria-hidden":"true"})," New conversation"]}),!b&&!i&&l.jsxs(ue,{variant:"ghost",size:"sm","aria-expanded":L,"aria-controls":"aero-history",disabled:B,onClick:()=>{L?Z(!1):Ps()},children:[l.jsx(Gk,{className:"h-3.5 w-3.5","aria-hidden":"true"})," History"]})]}),L?l.jsxs("div",{id:"aero-history",className:fa,"aria-label":"Conversation history",children:[l.jsxs("h3",{className:"mb-2 text-sm font-medium text-heading",children:["Conversations in ",e]}),Y?Y.conversations.length===0?l.jsx("p",{className:"text-sm text-secondary",children:"No saved conversations yet. Your conversations will appear here."}):l.jsx("ul",{className:"divide-y divide-default",children:Y.conversations.map(oe=>l.jsxs("li",{className:"py-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{className:"min-w-0 flex-1 rounded-md px-2 py-1 text-left hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-positive-500",disabled:O||we||B,onClick:()=>{oe.active?Z(!1):Vi(()=>oK(e,oe.id))},children:[l.jsx("span",{className:"block truncate text-sm text-heading",children:oe.title}),l.jsxs("span",{className:"text-xs text-secondary",children:[oe.active?"Current · ":"",new Date(oe.updatedAt).toLocaleString()]})]}),l.jsx(ue,{variant:"ghost",size:"sm",disabled:O||we||B,"aria-label":`Delete conversation: ${oe.title}`,onClick:()=>Ue(oe.id),children:"Delete"})]}),nt===oe.id&&l.jsxs("div",{role:"group","aria-label":"Confirm conversation deletion",className:"mt-2 rounded-md border border-default p-3 text-sm text-secondary",children:[l.jsx("p",{children:"Delete this conversation permanently? Shared project notes will be kept."}),l.jsxs("div",{className:"mt-2 flex gap-2",children:[l.jsx(ue,{variant:"destructive",size:"sm",disabled:B,onClick:()=>{Vi(async()=>{await rK(e,oe.id)},!0)},children:"Delete conversation"}),l.jsx(ue,{variant:"ghost",size:"sm",disabled:B,onClick:()=>Ue(null),children:"Cancel"})]})]})]},oe.id))}):l.jsx("p",{className:"text-sm text-secondary",children:H?"Loading history…":"History could not be loaded. Close and reopen History to retry."}),Y?.nextOffset!=null&&l.jsx(ue,{variant:"ghost",size:"sm",disabled:H,onClick:()=>{Ps(!0)},children:H?"Loading…":"Load more"})]}):l.jsxs("div",{ref:ci,className:fa,children:[fn&&!O&&l.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[l.jsx("p",{className:"text-sm text-secondary",children:i?l.jsxs(l.Fragment,{children:["See how Aero answers about ",l.jsx("span",{className:"text-strong",children:e}),". Choose a starting point."]}):l.jsxs(l.Fragment,{children:["Ask about ",l.jsx("span",{className:"text-strong",children:e})," or choose a starting point."]})}),l.jsx(vk,{onPick:oe=>{Un(oe)}})]}),kY(T,e,Ge,He,ge,O,!b&&!i),O&&ae&&l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(NC,{content:ae})]}),O&&!ae&&ge.every(oe=>oe.endedAt!==void 0)&&l.jsx(NY,{}),i&&!fn&&!O&&l.jsxs("div",{className:"mt-4 flex flex-col gap-2 border-t border-subtle pt-3",children:[l.jsx("p",{className:"text-xs text-secondary",children:"Try another starting point."}),l.jsx(vk,{onPick:oe=>{Un(oe)}})]})]}),(Be||le)&&l.jsxs("div",{role:Be?"alert":"status",className:"mx-3 my-2 flex flex-wrap items-center gap-2 rounded-md border border-base bg-surface px-3 py-2 text-sm text-secondary",children:[l.jsx("span",{className:"flex-1",children:Be??le}),Q&&!O&&l.jsx(ue,{variant:"outline",size:"sm",onClick:()=>{He==="all"?($e(Q.prompt),Le.current?.focus()):Un(Q.prompt,Q.context)},children:He==="all"?"Review prompt":"Retry"})]}),i&&l.jsxs("p",{className:"border-t border-subtle px-4 py-2 text-xs text-secondary",children:["Sample answers on demo data."," ",l.jsxs("a",{href:uY,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",children:["Aero answers from your own Canonry data.",l.jsx($k,{className:"h-3 w-3","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]}),l.jsxs("div",{className:"relative",children:[!L&&Ht.length>0&&l.jsx(xY,{title:i?"Starting points":"Commands",matches:Ht,selectedIndex:ct,onHover:Kt,onPick:oe=>{$e(""),Le.current?.focus(),oe.action==="new"?$i():Un(oe.prompt)}}),l.jsxs("form",{className:"flex items-end gap-2 border-t border-mono-800/70 bg-bg/80 px-3 py-2.5",onSubmit:oe=>{if(oe.preventDefault(),Ht.length>0){const Ie=Ht[ct];$e(""),Ie.action==="new"?$i():Un(Ie.prompt);return}Un(ke)},children:[l.jsx("textarea",{ref:Le,value:ke,onChange:oe=>$e(oe.target.value),onKeyDown:oe=>{if(Ht.length>0){if(oe.key==="ArrowDown"){oe.preventDefault(),Kt(Ie=>(Ie+1)%Ht.length);return}if(oe.key==="ArrowUp"){oe.preventDefault(),Kt(Ie=>(Ie-1+Ht.length)%Ht.length);return}if(oe.key==="Tab"){oe.preventDefault();const Ie=Ht[ct];$e(`${Ie.command} `);return}if(oe.key==="Escape"){oe.preventDefault(),$e("");return}}if(oe.key==="Enter"&&!oe.shiftKey)if(oe.preventDefault(),Ht.length>0){const Ie=Ht[ct];$e(""),Ie.action==="new"?$i():Un(Ie.prompt)}else Un(ke)},disabled:L||B,placeholder:L?"Open a conversation to continue…":i?"Type / for a starting point":"Ask Aero, or / for commands…","aria-label":"Message Aero",rows:k?3:1,className:"flex-1 resize-none overflow-y-auto bg-transparent text-sm text-heading placeholder:text-mono-600 focus:outline-none disabled:opacity-60"}),O?l.jsxs(ue,{type:"button",variant:"outline",size:"sm",onClick:()=>ea.current?.abort(),"aria-label":"Stop Aero",children:[l.jsx(s5,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Stop"]}):l.jsx(ue,{type:"submit",size:"sm",disabled:!ke.trim()||L||B||we,"aria-label":"Send",children:l.jsx(o5,{className:"h-4 w-4","aria-hidden":"true"})})]})]})]}):l.jsx("button",{type:"button",onClick:()=>w(!0),className:"flex w-full items-center justify-between rounded-lg border border-mono-800/80 bg-bg/95 px-4 py-2 text-left text-sm text-secondary shadow-lg transition hover:border-strong hover:bg-bg-elevated/90 hover:text-strong",children:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(ed,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function gY({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,f]=C.useState(!1),b=C.useRef(null);if(C.useEffect(()=>{if(!h)return;const w=j=>{b.current?.contains(j.target)||f(!1)},k=j=>{j.key==="Escape"&&f(!1)};return window.addEventListener("mousedown",w),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",w),window.removeEventListener("keydown",k)}},[h]),e.length===0)return null;const v=n?.label.replace(/\s+\(.+\)$/,"")??"No provider";return l.jsxs("div",{ref:b,className:"relative",children:[l.jsxs("button",{type:"button",onClick:()=>f(w=>!w),disabled:u,className:"flex items-center gap-1 rounded-md px-2 py-1 text-sm text-secondary transition hover:bg-surface-inset hover:text-strong disabled:opacity-50","aria-label":"Switch agent model","aria-haspopup":"listbox","aria-expanded":h,title:n?`${n.label} · ${n.defaultModel}`:"Pick a provider",children:[l.jsx("span",{className:"font-medium text-strong",children:v}),l.jsx(Jd,{className:"h-3 w-3","aria-hidden":"true"})]}),h&&l.jsxs("div",{role:"listbox",className:"absolute right-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-base bg-bg shadow-xl",children:[l.jsx("div",{className:"border-b border-default px-3 py-2 text-sm font-medium text-secondary",children:"Answer engine"}),l.jsx("ul",{className:"max-h-72 overflow-y-auto py-1",children:e.map(w=>{const k=n?.id===w.id,j=i===w.id;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":k,disabled:!w.configured,onClick:()=>{w.configured&&(r(j?null:w.id),f(!1))},className:"flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition enabled:hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",title:w.configured?w.defaultModel:`Add ${CC(w.id)} in Settings or your environment`,children:[l.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:k?l.jsx(Wd,{className:"h-3 w-3 text-positive-400","aria-hidden":"true"}):null}),l.jsx("span",{className:"min-w-0 flex-1 truncate font-medium text-heading",children:w.label.replace(/\s+\(.+\)$/,"")}),j&&l.jsx("span",{className:"rounded-md border border-positive-800/60 bg-positive-950/60 px-2 py-0.5 text-[11px] text-positive",children:"Selected"}),!w.configured&&l.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},w.id)})}),i&&l.jsx("button",{type:"button",onClick:()=>{r(null),f(!1)},className:"w-full border-t border-default px-3 py-2 text-left text-[11px] text-secondary transition hover:bg-bg-elevated hover:text-heading",children:"Reset to default"})]})]})}const yY=144,bY=288,Cf=288,vY=8;function xY({title:e,matches:n,selectedIndex:i,onHover:r,onPick:u}){const h=C.useRef(null),f=C.useRef(null),b=C.useRef(null),[v,w]=C.useState(Cf);return C.useLayoutEffect(()=>{const k=h.current,j=k?.closest("[data-aero-panel]"),T=k?.parentElement;if(!k||!j||!T)return;const N=T.getBoundingClientRect().top-j.getBoundingClientRect().top-vY*2-(f.current?.getBoundingClientRect().height??0);w(N>0?Math.min(Cf,Math.floor(N)):Cf)},[n.length]),C.useEffect(()=>{b.current?.querySelector('[aria-selected="true"]')?.scrollIntoView?.({block:"nearest"})},[i]),l.jsxs("div",{ref:h,className:"absolute inset-x-3 bottom-full mb-2 overflow-hidden rounded-lg border border-base bg-bg/98 shadow-2xl",children:[l.jsx("div",{ref:f,className:"border-b border-default px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted",children:e}),l.jsx("ul",{ref:b,role:"listbox",className:"overflow-y-auto py-1",style:{maxHeight:v},children:n.map((k,j)=>{const T=j===i;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":T,onMouseEnter:()=>r(j),onClick:()=>u(k),className:`flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition ${T?"bg-bg-elevated text-heading":"text-neutral hover:bg-bg-elevated/60"}`,children:[l.jsx("span",{className:"font-medium",children:k.label}),l.jsx("span",{className:"ml-auto font-mono text-[11px] text-secondary",children:k.command})]})},k.command)})})]})}function vk({onPick:e}){return l.jsx("div",{className:"flex flex-wrap gap-1.5",children:fg.map(n=>l.jsx("button",{type:"button",onClick:()=>e(n.prompt),className:"rounded-md border border-base bg-bg-elevated/70 px-3 py-1.5 text-sm text-neutral transition hover:border-strong hover:bg-mono-800/70 hover:text-heading",children:n.label},n.label))})}function CC(e){switch(e){case"claude":return"ANTHROPIC_API_KEY";case"openai":return"OPENAI_API_KEY";case"gemini":return"GEMINI_API_KEY";case"zai":return"ZAI_API_KEY";case"deepinfra":return"DEEPINFRA_TOKEN"}}function wY(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function kY(e,n,i,r,u,h,f=!0){const b=[];for(let v=0;v<e.length;v++){const w=e[v],k=wY(w,v);if(w.role==="user"){const j=typeof w.content=="string"?w.content:JSON.stringify(w.content);if(j.startsWith("[system]"))continue;b.push(l.jsx(SY,{text:j,projectName:n,providerOverride:i,scope:r,context:w.aeroContext,cliCopy:f},k));continue}if(w.role==="assistant"){const j=new Map;let T=v+1;for(;T<e.length&&e[T].role==="toolResult";){const E=e[T];j.set(E.toolCallId,E),T++}const N=AY(w,j).map(E=>{const P=u.find(X=>X.id===E.id),H={...E,...P};return{...H,interrupted:H.endedAt===void 0&&(!h||H.interrupted)}}),q=Ad(w);b.push(l.jsxs(C.Fragment,{children:[q.trim()&&l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(NC,{content:q})]}),N.length>0&&l.jsx("div",{className:"mt-3 space-y-1.5",children:N.map(E=>l.jsx(CY,{trail:E},E.id))})]},k)),v=T-1;continue}}return b}function SY({text:e,projectName:n,providerOverride:i,scope:r,context:u,cliCopy:h=!0}){const[f,b]=C.useState(!1),v=C.useMemo(()=>jY(n,e,i,r,u),[n,e,i,r,u]);async function w(){try{await navigator.clipboard.writeText(v),b(!0),window.setTimeout(()=>b(!1),1500)}catch{}}return l.jsxs("div",{className:"group relative mt-3 rounded-md bg-bg-elevated/60 px-3 py-2 text-strong",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted",children:"You"}),h&&l.jsx("button",{type:"button",onClick:pn(w),className:"inline-flex items-center gap-1 rounded border border-mono-800/70 bg-bg/60 px-1.5 py-0.5 text-[10px] text-secondary opacity-0 transition hover:border-strong hover:text-heading group-hover:opacity-100 focus:opacity-100","aria-label":"Copy as CLI command",title:v,children:f?l.jsxs(l.Fragment,{children:[l.jsx(Wd,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):l.jsxs(l.Fragment,{children:[l.jsx(jg,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),l.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function jY(e,n,i,r,u){const h=["canonry","agent","ask",bf(e),bf(n)];return i&&h.push("--provider",i),r==="read-only"&&h.push("--scope","read-only"),u&&h.push("--context",bf(JSON.stringify(u))),h.join(" ")}function AY(e,n){const i=[];for(const r of e.content){if(r.type!=="toolCall")continue;const u=r,h=n.get(u.id);i.push({id:u.id,name:u.name,args:u.arguments,label:h?.aeroToolLabel,durationMs:h?.aeroDurationMs,endedAt:h?.timestamp,isError:h?.isError,result:h?.content})}return i}function CY({trail:e}){const[n,i]=C.useState(!1),r=e.endedAt===void 0&&!e.interrupted,u=!r&&e.isError===!0,h=e.durationMs??(e.endedAt!=null&&e.startedAt!=null?e.endedAt-e.startedAt:null),f=h==null||h<0?null:h<1e3?`${h}ms`:`${(h/1e3).toFixed(1)}s`,b=u?"border-negative-800/50":r?"border-positive-800/50":"border-mono-800/70",v=u?"bg-negative-950/20":r?"bg-positive-950/20":"bg-surface-hover";return l.jsxs("div",{className:`rounded-md border ${b} ${v}`,children:[l.jsxs("button",{type:"button",onClick:()=>i(w=>!w),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":n,children:[l.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:r?l.jsx(Er,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?l.jsx(Kk,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):l.jsx(r5,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),l.jsx("span",{className:"text-sm font-medium text-heading",children:e.label??e.name.replace(/^(?:canonry|aero)_/,"").replace(/_/g," ")}),l.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[r?l.jsx("span",{className:"text-positive-400",children:"running…"}):l.jsxs(l.Fragment,{children:[l.jsx("span",{children:e.interrupted?"interrupted":u?"failed":"done"}),f&&l.jsx("span",{children:f})]}),l.jsx(Ag,{className:`h-3 w-3 transition-transform ${n?"rotate-90":""}`,"aria-hidden":"true"})]})]}),n&&l.jsxs("div",{className:"border-t border-default px-2.5 py-2 text-[11px] text-secondary",children:[l.jsx("div",{className:"mb-2 text-xs text-secondary",children:e.name}),l.jsx("div",{className:"mb-1 text-xs text-secondary",children:"Inputs"}),l.jsx("pre",{className:"mb-2 overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:xk(e.args)}),!r&&e.result!==void 0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:u?"Error":"Result"}),l.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:xk(e.result)})]})]})]})}function xk(e){try{const n=typeof e=="string"?e:JSON.stringify(e,null,2);return n.length>2e3?`${n.slice(0,2e3)}
64
- … (${n.length-2e3} more chars)`:n}catch{return String(e)}}function NC({content:e}){return l.jsx("div",{className:"text-heading",children:l.jsx(S5,{remarkPlugins:[j5],components:{h1:n=>l.jsx("h1",{...n,className:"mt-3 mb-2 text-base font-semibold text-primary"}),h2:n=>l.jsx("h2",{...n,className:"mt-3 mb-2 text-sm font-semibold text-primary"}),h3:n=>l.jsx("h3",{...n,className:"mt-3 mb-1.5 text-sm font-semibold text-heading"}),h4:n=>l.jsx("h4",{...n,className:"mt-2 mb-1 text-xs font-semibold uppercase tracking-wide text-neutral"}),p:n=>l.jsx("p",{...n,className:"mb-2 leading-relaxed"}),ul:n=>l.jsx("ul",{...n,className:"mb-2 ml-4 list-disc space-y-1"}),ol:n=>l.jsx("ol",{...n,className:"mb-2 ml-4 list-decimal space-y-1"}),li:n=>l.jsx("li",{...n,className:"marker:text-mono-600"}),strong:n=>l.jsx("strong",{...n,className:"font-semibold text-primary"}),em:n=>l.jsx("em",{...n,className:"text-strong"}),code:({children:n,...i})=>l.jsx("code",{...i,className:"rounded bg-mono-800/70 px-1 py-0.5 font-mono text-[12px] text-positive-200",children:n}),pre:n=>l.jsx("pre",{...n,className:"mb-2 overflow-x-auto rounded-md border border-base bg-bg-elevated/70 p-3 font-mono text-xs text-strong"}),a:n=>l.jsx("a",{...n,className:"text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",target:"_blank",rel:"noopener noreferrer"}),table:n=>l.jsx("div",{className:"mb-2 overflow-x-auto",children:l.jsx("table",{...n,className:"w-full border-collapse text-xs"})}),thead:n=>l.jsx("thead",{...n,className:"border-b border-base"}),th:n=>l.jsx("th",{...n,className:"px-2 py-1 text-left font-semibold text-neutral"}),tr:n=>l.jsx("tr",{...n,className:"border-b border-mono-900"}),td:n=>l.jsx("td",{...n,className:"px-2 py-1 text-strong"}),blockquote:n=>l.jsx("blockquote",{...n,className:"mb-2 border-l-2 border-strong pl-3 italic text-secondary"}),hr:()=>l.jsx("hr",{className:"my-3 border-base"})},children:e})})}function NY(){return l.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsxs("div",{className:"flex items-center gap-1","aria-label":"Aero is thinking",children:[l.jsx("span",{className:"aero-dot h-1.5 w-1.5 rounded-full bg-positive-400/80"}),l.jsx("span",{className:"aero-dot aero-dot-2 h-1.5 w-1.5 rounded-full bg-positive-400/60"}),l.jsx("span",{className:"aero-dot aero-dot-3 h-1.5 w-1.5 rounded-full bg-positive-400/40"})]})]})}function _C({isAdmin:e,account:n}){return e||n?.role==="viewer"&&AG()}function _Y(){const{isAdmin:e,account:n}=pa(),i=Ok(),r=/^\/projects\/([^/]+)/.exec(i.pathname),u=r?decodeURIComponent(r[1]):null,h=yt({...Ro({client:J}),enabled:u!==null,staleTime:6e4}),f=UZ(i.pathname,i.search),b=h.data??[],v=b.find(T=>T.id===u)??b.find(T=>T.name===u),w=RK(v?.name??u??"",f),k=X0(),j=k||_C({isAdmin:e,account:n});return!u||!j||!v?null:l.jsx(fY,{projectName:v.name,context:w,preview:k},v.name)}const gg={project:"getApiV1ProjectsByName",google:"getApiV1ProjectsByNameGoogle",gsc:"getApiV1ProjectsByNameGoogleGsc",bing:"getApiV1ProjectsByNameBing",ga:"getApiV1ProjectsByNameGa",gbp:"getApiV1ProjectsByNameGbp",ads:"getApiV1ProjectsByNameAds",googleAds:"getApiV1ProjectsByNameGoogleAds",gtm:"getApiV1ProjectsByNameGtm",conversionTracking:"getApiV1ProjectsByNameConversionTracking",traffic:"getApiV1ProjectsByNameTraffic",discovery:"getApiV1ProjectsByNameDiscover",researchRuns:"getApiV1ProjectsByNameResearchRuns",visibilityReport:"getApiV1ProjectsByNameVisibilityReport",queryTracking:"getApiV1ProjectsByNameQueryTracking",technicalAeo:"getApiV1ProjectsByNameTechnicalAeo",runs:"getApiV1ProjectsByNameRuns"};function On(e,n){const i=gg[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function Qie(e,n){return e.invalidateQueries({predicate:i=>{const r=i.queryKey[0];return r?.path?.name!==n||typeof r._id!="string"?!1:r._id.startsWith("getApiV1ProjectsByNameMeasurement")||r._id===gg.queryTracking||r._id===gg.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function jc(e,n,i){switch(e.invalidateQueries({queryKey:a1({client:J})}),e.invalidateQueries({queryKey:As({client:J})}),On(e,"runs"),n){case ze["answer-visibility"]:mg(e,i,"none"),On(e,"visibilityReport"),On(e,"queryTracking");return;case ze["backlink-extract"]:return;case ze["site-audit"]:On(e,"technicalAeo");return;case ze["gsc-sync"]:case ze["inspect-sitemap"]:On(e,"gsc");return;case ze["ga-sync"]:On(e,"ga");return;case ze["traffic-sync"]:On(e,"ga"),On(e,"traffic");return;case ze["bing-inspect"]:case ze["bing-inspect-sitemap"]:On(e,"bing");return;case ze["aeo-discover-seed"]:case ze["aeo-discover-probe"]:mg(e,i);return;case ze["gbp-sync"]:On(e,"gbp");return;case ze["ads-sync"]:On(e,"ads");return;case ze["google-ads-sync"]:On(e,"googleAds"),On(e,"conversionTracking");return;case ze["gtm-sync"]:On(e,"gtm"),On(e,"conversionTracking");return;default:return n}}const wk=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:Uk},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:f5},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:g5}],kk=e=>({label:e,state:"checking",detail:"Checking service health"}),TY={apiStatus:kk("API"),workerStatus:kk("Worker")};function EY(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function RY(e){const n=pc(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function DY(e,n){return e.error?`${n}: ${l0(e.error)}`:e.location?`${n} · ${e.location}`:n}function Sk(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function zY(e,n){return[e.completed>0?`${e.completed} completed`:null,e.partial>0?`${e.partial} partial`:null,e.failed>0?`${e.failed} failed`:null,e.cancelled>0?`${e.cancelled} cancelled`:null,n>0?`${n} skipped at queue time`:null].filter(Boolean).join(", ")}function IY(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function OY(){const e=Jn(),n=C.useSyncExternalStore(nC,Bi,Bi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=yt({..._m({client:J}),enabled:i,staleTime:Lr,refetchInterval:3e3}),u=yt({...Ro({client:J}),enabled:i}),h=C.useRef({}),f=C.useCallback(()=>{r.refetch()},[r.refetch]);return C.useEffect(()=>{i&&f()},[i,f]),C.useEffect(()=>{if(!i||typeof window>"u")return;const b=()=>{document.visibilityState==="visible"&&f()};return window.addEventListener("focus",f),document.addEventListener("visibilitychange",b),()=>{window.removeEventListener("focus",f),document.removeEventListener("visibilitychange",b)}},[i,f]),C.useEffect(()=>{const b=r.data??[],v=u.data??[],w=Object.fromEntries(b.map(j=>[j.id,j])),k=Object.fromEntries(b.map(j=>[j.id,j.status]));for(const j of Object.values(n.runs)){const T=w[j.runId];if(!T||!LQ(T.status)||(h.current[T.id]??j.lastAnnouncedStatus)===T.status)continue;const q=v.find(P=>P.id===T.projectId);if(q&&jc(e,T.kind,q.name),j.sourceAction==="run-all"){xf(T.id);continue}const E=Sk(T.projectId,j.projectLabel,v);wn({title:RY(T),detail:DY(T,E),tone:EY(T.status),dedupeKey:`run:${T.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:T.id}}),xf(T.id)}if(r.data!==void 0){const j=new Set(b.map(N=>N.id)),T=$Q(Object.values(n.runs),j,Date.now(),VQ);for(const N of T){const q=v.find(E=>E.id===N.projectId);q&&jc(e,N.kind,q.name),N.sourceAction!=="run-all"&&wn({title:`${pc(N.kind)} status unavailable`,detail:Sk(N.projectId,N.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${N.runId}`,dedupeMode:"replace"}),xf(N.runId)}}for(const j of Object.values(n.batches)){const T=UQ(j.runIds,w);T.finished&&(wn({title:"Run-all batch finished",detail:zY(T,j.skippedCount),tone:IY(T),dedupeKey:`batch:${j.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),BQ(j.batchId))}h.current=k},[u.data,r.data,n,e]),null}function qY(){const{account:e,isAdmin:n}=pa(),i=Uc(),r=C.useMemo(()=>PA(),[]),u=C.useMemo(SG,[]),h=C.useMemo(jG,[]),f=X0()||h&&_C({isAdmin:n,account:e}),b=C.useMemo(CG,[]),v=Ok(),{dashboard:w,isLoading:k,refetch:j}=zm(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:v.pathname==="/setup"}),q=c1(!i,i?.health).data??i?.health??TY,{runId:E,evidenceId:P,closeDrawer:H}=u1(),[X,L]=C.useState(!1),[Z,Y]=C.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[ee,B]=C.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[K]=C.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),we=K?{current:q.apiStatus.version??"0.0.0",latest:K,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:q.apiStatus.updateAvailable,Xe=b&&we&&we.latest!==ee,nt=()=>{if(we){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",we.latest)}catch{}B(we.latest)}},Ue=()=>{const re=!Z;try{re?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}Y(re)},qe=TZ(E),ke=qe.data??null,$e=qe.isLoading;C.useEffect(()=>{ke&&ke.status!=="running"&&ke.status!=="queued"&&j()},[ke?.status,j]),C.useEffect(()=>{L(!1)},[v.pathname]),C.useEffect(()=>{if(typeof window>"u"||!E&&!P)return;const re=lt=>{lt.key==="Escape"&&H()};return window.addEventListener("keydown",re),()=>{window.removeEventListener("keydown",re)}},[E,P,H]);const O=w??i?.dashboard??null,ne=v.pathname==="/setup",ge=ne&&O!==null&&O.portfolioOverview.projects.length===0,Se=ne&&(v.search.onboarding==="site-health"||v.search.onboarding==="first-run"||v.search.onboarding==="complete"),[ae,_e]=C.useState(ge);C.useEffect(()=>{ne?ge&&_e(!0):_e(!1)},[ge,ne]);const ve=ne&&(Se||ge||ae||ne&&O===null),le=ve?"app-shell-focus":Z?"app-shell-sidebar-hidden":"",ce=E?(O?eZ(O,E):void 0)??(ke?Dm(ke,O?.projects.find(re=>re.project.id===ke.projectId)?.project.displayName??O?.projects.find(re=>re.project.id===ke.projectId)?.project.name??"Unknown project"):void 0):void 0,Q=C.useMemo(()=>FF(v.pathname,O),[v.pathname,O]),{commandCenter:me,evidenceLoading:De,evidenceError:je,isError:it,refetch:Ge}=CZ(P?Q:null,{evidence:!0}),jt=C.useMemo(()=>{if(P)return nZ(me,O,P)},[P,me,O]),He=(()=>{const re=v.pathname;if(re==="/")return"Portfolio";if(re==="/projects")return"Projects";if(re==="/runs")return"Runs";if(re==="/history")return"History";if(re==="/settings")return"Settings";if(re==="/setup")return"Setup";if(re==="/backlinks")return"Backlink data";if(re==="/traffic"||re.startsWith("/traffic/"))return"Traffic sources";if(re.startsWith("/projects/")){const lt=O?.projects.find(Gt=>Gt.project.name===Q);return lt?.project.displayName||lt?.project.name||Q||"Projects"}return"Not found"})();if(r){const re=!r.views||r.views.includes(MK(v.pathname));return l.jsxs("div",{className:"app-shell app-shell-embed","data-theme":UK(r.theme),style:GK(r.theme),children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx("main",{id:"content",className:"page-shell",children:re?l.jsx(_f,{}):l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This view is not available in embed mode."})})]})}return l.jsxs(l.Fragment,{children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx(qZ,{}),l.jsxs("div",{className:`app-shell ${le}${Tr()?" app-shell-demo":""}`,children:[!ve&&!Z&&l.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[l.jsx("div",{className:"sidebar-brand",children:l.jsx(ik,{version:q.apiStatus.version,updateAvailable:Xe?we:null,onDismissUpdate:nt})}),l.jsxs("nav",{className:"sidebar-nav",children:[l.jsxs(We,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(l5,{className:"sidebar-icon"}),l.jsx("span",{children:"Portfolio"})]}),l.jsxs(We,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(c5,{className:"sidebar-icon"}),l.jsx("span",{children:"Projects"})]}),l.jsxs(We,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(u5,{className:"sidebar-icon"}),l.jsx("span",{children:"Runs"})]}),l.jsxs(We,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(Gk,{className:"sidebar-icon"}),l.jsx("span",{children:"History"})]}),l.jsxs(We,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(d5,{className:"sidebar-icon"}),l.jsx("span",{children:"Traffic sources"})]}),!Tr()&&l.jsxs(We,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(m5,{className:"sidebar-icon"}),l.jsx("span",{children:"Backlink data"})]}),n&&l.jsxs(We,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(p5,{className:"sidebar-icon"}),l.jsx("span",{children:"Settings"})]}),k?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),[1,2,3].map(re=>l.jsxs("div",{className:"sidebar-skeleton-item",children:[l.jsx("span",{className:"skeleton-circle size-2"}),l.jsx("span",{className:"skeleton-text flex-1",style:{width:`${50+re*15}%`}})]},re))]}):O&&O.projects.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),O.projects.map(re=>{const lt=re.visibilitySummary.tone;return l.jsxs(We,{to:"/projects/$projectName",params:{projectName:re.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[l.jsx("span",{className:`sidebar-dot sidebar-dot-${lt}`}),l.jsx("span",{children:re.project.displayName||re.project.name})]},re.project.id)})]}):k?null:l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&l.jsxs(We,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(h5,{className:"sidebar-icon"}),l.jsx("span",{children:"Setup"})]})]})]}),e&&l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:Pw()}):null]}),l.jsx(ue,{type:"button",variant:"ghost",size:"sm",onClick:pn(async()=>{await Vw(),window.location.reload()}),children:"Sign out"})]}),u?l.jsx("div",{className:"sidebar-footer",children:wk.map(({label:re,href:lt,Icon:Gt})=>l.jsx("a",{className:"sidebar-footer-icon",href:lt,target:"_blank",rel:"noopener noreferrer",title:re,"aria-label":re,children:l.jsx(Gt,{className:"size-4"})},lt))}):null]}),l.jsxs("div",{className:"main-area",children:[l.jsxs("header",{className:"topbar",children:[l.jsxs("div",{className:"topbar-left",children:[!ve&&l.jsx(ue,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":Z?"Show sidebar":"Hide sidebar","aria-controls":Z?void 0:"desktop-sidebar","aria-expanded":!Z,title:Z?"Show sidebar":"Hide sidebar",onClick:Ue,children:Z?l.jsx(y5,{className:"size-4"}):l.jsx(b5,{className:"size-4"})}),l.jsx("div",{className:"topbar-brand-mobile",children:l.jsx(ik,{compact:!0})}),l.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[l.jsx(We,{to:"/",children:"Home"}),l.jsx(Ag,{className:"breadcrumb-sep size-3"}),l.jsx("span",{className:"breadcrumb-current",children:He})]})]}),l.jsxs("div",{className:"topbar-actions",children:[l.jsx(PZ,{}),l.jsxs("div",{className:"health-pill-row",children:[l.jsxs("span",{className:`health-pill health-pill-${q.apiStatus.state}`,title:Vr(q.apiStatus),children:["API ",q.apiStatus.state==="ok"?"ok":q.apiStatus.state]}),l.jsx("span",{className:`health-pill health-pill-${q.workerStatus.state}`,title:Vr(q.workerStatus),children:`Worker ${q.workerStatus.state==="ok"?"ok":q.workerStatus.state}`})]}),ve?null:l.jsxs(ue,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":X,"aria-controls":"mobile-nav",onClick:()=>L(re=>!re),children:[l.jsx(v5,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),ve?null:l.jsxs("div",{id:"mobile-nav",className:`mobile-nav ${X?"mobile-nav-open":""}`,children:[l.jsxs(ue,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>L(!1),children:[l.jsx($r,{className:"size-5"}),l.jsx("span",{className:"sr-only",children:"Close navigation"})]}),l.jsx(We,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),l.jsx(We,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),l.jsx(We,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),l.jsx(We,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),l.jsx(We,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!Tr()&&l.jsx(We,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&l.jsx(We,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),O&&O.projects.length>0?l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),O.projects.map(re=>l.jsx(We,{to:"/projects/$projectName",params:{projectName:re.project.name},className:"mobile-nav-link",children:re.project.name},re.project.id))]}):null,e&&l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Signed in"}),l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:Pw()}):null]}),l.jsx(ue,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:pn(async()=>{await Vw(),window.location.reload()}),children:"Sign out"})]})]})]}),l.jsx("main",{id:"content",className:`page-shell ${f&&Q?"pb-20":""}`.trim(),children:k&&!i?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-40"}),l.jsx("div",{className:"skeleton-text-sm w-72"})]}),l.jsx("div",{className:"page-skeleton-grid",children:[1,2,3].map(re=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text w-full"}),l.jsx("div",{className:"skeleton-text-sm w-3/4"})]},re))}),l.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(re=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-20"}),l.jsx("div",{className:"space-y-2",children:[1,2,3].map(lt=>l.jsx("div",{className:"skeleton-text-sm w-full"},lt))})]},re))})]}):l.jsx(_f,{})}),l.jsxs("footer",{className:"footer",children:[l.jsxs("span",{className:"footer-brand",children:[l.jsx("span",{children:l.jsx("a",{href:"https://canonry.ai",children:"Canonry"})}),q.apiStatus.version&&q.apiStatus.version!=="unknown"?l.jsxs("span",{className:"footer-version",children:["v",q.apiStatus.version]}):null]}),u?l.jsx("div",{className:"footer-links",children:wk.map(({label:re,href:lt,Icon:Gt})=>l.jsx("a",{href:lt,target:"_blank",rel:"noopener noreferrer",title:re,"aria-label":re,className:"footer-icon",children:l.jsx(Gt,{className:"size-3.5"})},lt))}):null]})]}),E&&!ce&&$e?l.jsx(hd,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:H,children:l.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,E&&!ce&&qe.isError?l.jsx(hd,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:H,children:l.jsx("p",{className:"text-sm text-negative",children:qe.error instanceof Error?qe.error.message:"Run details are unavailable."})}):null,ce?l.jsxs(hd,{open:!0,title:ce.summary,subtitle:`${ce.projectName} · ${ce.kindLabel}`,onClose:H,children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[l.jsx(l1,{status:ce.status}),l.jsx("span",{className:"text-secondary",children:ce.startedAt}),l.jsx("span",{className:"text-muted",children:ce.duration}),l.jsx("span",{className:"text-faint",children:ce.triggerLabel})]}),ce.status==="failed"&&ce.statusDetail&&l.jsx("p",{className:"mt-2 text-sm text-negative",children:ce.statusDetail}),l.jsxs("div",{className:"mt-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted mb-2",children:"Activity Log"}),$e?l.jsx("p",{className:"text-sm text-muted",children:"Loading run details..."}):ke?.snapshots&&ke.snapshots.length>0?l.jsxs("div",{className:"space-y-2",children:[ke.snapshots.map(re=>l.jsxs("div",{className:"rounded-lg border border-default bg-surface p-3",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[l.jsx("p",{className:"text-sm font-medium text-strong truncate",children:re.query??"Unknown query"}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(qF,{provider:re.provider}),l.jsx(bC,{variant:re.citationState===qd.cited?"success":"neutral",children:re.citationState})]})]}),re.model&&l.jsx("p",{className:"text-[11px] text-muted font-mono",children:re.model}),re.citedDomains.length>0&&l.jsxs("p",{className:"text-xs text-muted mt-1",children:[l.jsx("span",{className:"text-secondary",children:"Sources:"})," ",re.citedDomains.join(", ")]}),re.citedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",re.citedCompetitorDomains.join(", ")]}),re.mentionedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",re.mentionedCompetitorDomains.join(", ")]}),re.groundingSources&&re.groundingSources.length>0&&l.jsxs("details",{className:"mt-2",children:[l.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[re.groundingSources.length," grounding source",re.groundingSources.length!==1?"s":""]}),l.jsx("ul",{className:"mt-2 space-y-3",children:re.groundingSources.map((lt,Gt)=>l.jsx("li",{className:"min-w-0",children:l.jsx(dg,{url:lt.uri,title:lt.title})},Gt))})]}),re.answerText&&l.jsxs("details",{className:"mt-1",children:[l.jsx("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:"Answer preview"}),l.jsx("p",{className:"mt-1 text-xs text-secondary leading-relaxed whitespace-pre-wrap",children:re.answerText})]})]},re.id)),ke.status==="running"&&l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Running remaining queries..."]})]}):ke&&ke.status==="running"?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Waiting for first query result..."]}):ke&&ke.status==="queued"?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-mono-500 animate-pulse"}),"Run queued, waiting for execution slot..."]}):ke&&ke.error?l.jsxs("div",{className:"rounded-lg border border-negative-800/40 bg-negative-950/20 p-3",children:[l.jsx("p",{className:"text-sm font-medium text-negative mb-2",children:"Run failed"}),l.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 text-negative",children:IK(ke.error)})]}):l.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,P&&!jt?l.jsx(hd,{open:!0,title:De?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:H,children:De?l.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading answer…"}):l.jsxs(l.Fragment,{children:[l.jsx("p",{role:"alert",className:"text-sm text-secondary",children:je||it?"Could not load this answer.":"This answer is not in the available query evidence."}),l.jsx(ue,{type:"button",variant:"outline",onClick:()=>{Ge()},children:"Retry"})]})}):null,jt?l.jsx(KF,{evidence:jt.evidence,project:jt.project,onClose:H}):null,l.jsx(OY,{}),l.jsx(DZ,{}),f?l.jsx(_Y,{}):null]})]})}class PY extends C.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,i){console.error("[ErrorBoundary]",n,i.componentStack)}handleReset=()=>{this.setState({error:null})};render(){return this.state.error?l.jsx("div",{className:"page-container",children:l.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-20 text-center",children:[l.jsx("div",{className:"rounded-full bg-negative-950/40 p-3",children:l.jsx(Kk,{className:"size-6 text-negative-400"})}),l.jsx("h2",{className:"text-lg font-semibold text-heading",children:"Something went wrong"}),l.jsx("p",{className:"text-sm text-secondary max-w-md",children:this.state.error.message||"An unexpected error occurred while rendering this page."}),l.jsxs("div",{className:"flex gap-3 mt-2",children:[l.jsxs(ue,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[l.jsx(x5,{className:"size-3.5 mr-1.5"}),"Try again"]}),l.jsx(ue,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const Ta=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Oa("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));Ta.displayName="Card";const Cr=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Oa("flex flex-col gap-1.5 p-5",e),...n}));Cr.displayName="CardHeader";const TC=C.forwardRef(({className:e,...n},i)=>l.jsx("h3",{ref:i,className:Oa("font-medium tracking-tight text-primary",e),...n}));TC.displayName="CardTitle";const Fd=C.forwardRef(({className:e,...n},i)=>l.jsx("p",{ref:i,className:Oa("text-sm text-muted",e),...n}));Fd.displayName="CardDescription";const fo=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Oa("p-5 pt-0",e),...n}));fo.displayName="CardContent";function yg({disabled:e,title:n,...i}){const{canWrite:r}=pa();return r?l.jsx(ue,{disabled:e,title:n,...i}):l.jsx(ue,{...i,disabled:!0,title:QA})}function m1({title:e,children:n}){const{isAdmin:i}=pa();return i?l.jsx(l.Fragment,{children:n}):l.jsxs(Ta,{className:"surface-card mx-auto mt-8 max-w-lg",children:[l.jsxs(Cr,{children:[l.jsxs(TC,{children:[e," is for administrators"]}),l.jsx(Fd,{children:"Your account has view-only access. You can read everything this install has measured; changing how it is set up needs an administrator account."})]}),l.jsx(fo,{children:l.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}function Fie(e,n,i){return{mode:n,scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass==="non-brand"?"non-brand":"branded",provider:e.provider,model:e.model,location:e.location,runId:e.measurementRunId,revision:e.revision,evaluationDefinitionId:i}}function Zie(e,n,i){const r=[...new Set(n.filter(u=>!i||u.provider===i).map(u=>u.sourceRunId).filter(u=>!!u))].sort();return{...e,mode:"simple",scope:"project",scopeKey:void 0,marketKey:void 0,provider:i||void 0,model:void 0,revision:void 0,runId:r.length===1?r[0]:void 0,runIds:r.length>1?r:void 0}}function hc(e,n,i,r){return["sentiment",e,n,i??null,r??null]}const EC=5e3,MY=new Set(["pending","running","waiting-to-retry"]);function jk(e){return MY.has(e.state)}function BY(e){const n=e?.coverage.counts;return!!(n&&n.pending+n.running+n["waiting-to-retry"]>0)}function LY(e,n){return BY(e)||n?EC:!1}function VY(e,n,i=!0){const r=yt({queryKey:hc(e,"settings"),queryFn:()=>Sd(e),retry:!1,staleTime:0,refetchOnWindowFocus:"always"}),u=yt({queryKey:hc(e,"jobs"),queryFn:()=>pK(e),enabled:!!r.data?.actions.configure,retry:!1,refetchOnWindowFocus:"always",refetchInterval:w=>w.state.data?.jobs.some(jk)?EC:!1}),h=!!u.data?.jobs.some(jk),f=w=>{const k={...n,queryClass:w};return{queryKey:hc(e,"summary",k),queryFn:()=>lK(e,k),enabled:i&&!!(r.data?.enabled&&r.data.installEnabled),retry:!1,staleTime:0,refetchOnWindowFocus:"always",refetchInterval:j=>LY(j.state.data,h)}},b=yt(f("branded")),v=yt(f("non-brand"));return{settings:r,branded:b,nonBrand:v,jobs:u}}const Ac={branded:"Branded","non-brand":"Non-brand"},Cc={states:{disabled:"Sentiment is off.","not-measured":"No ratings yet.",processing:"Analyzing sentiment…",canceled:"Analysis canceled.",partial:"Partial results.",failed:"Analysis failed.",complete:"Analysis complete.",unsupported:"Sentiment unavailable."},noJudgments:"No ratings available.",overall:"Overall sentiment is the share of favorable judgments across branded and non-brand queries. Each saved answer-subject assessment counts once. Factual, unmentioned, unsupported, and unclassified answers are excluded.",favorable:"The favorable share of favorable, mixed and unfavorable ratings. Each rating evaluates one subject in an answer. Branded and non-brand queries are measured separately."};function el(e){return e.replaceAll("-"," ").replace(/^./,n=>n.toUpperCase())}const $Y=["branded","non-brand"];function RC(e){return e.interval?`${cn(e.interval.low,St.fraction)} to ${cn(e.interval.high,St.fraction)}`:null}function UY({value:e,label:n}){const i=e.score.favorableRate!==null&&e.coverage.judged>0;return l.jsx("div",{role:"group","aria-label":`${n} favorable share`,children:i?l.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[l.jsx("span",{className:"font-mono text-lg text-primary",children:e.score.favorableDisplay}),l.jsxs("span",{className:"text-sm text-secondary",children:["· ",e.coverage.judged," ",e.coverage.judged===1?"rating":"ratings"]}),e.provisional&&l.jsx("span",{className:"text-sm text-caution",children:"Partial results"})]}):l.jsx("p",{className:"text-sm text-secondary",children:e.state==="complete"?Cc.noJudgments:Cc.states[e.state]})})}function GY({value:e}){const{coverage:n,score:i}=e,r=RC(i);return!n.selected&&!n.eligibleAssessments&&!e.reason?null:l.jsxs("details",{className:"mt-3 max-w-sm text-sm text-secondary",children:[l.jsx("summary",{className:"w-fit cursor-pointer rounded-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",children:"Details"}),l.jsxs("dl",{className:"mt-2 space-y-1",children:[n.selected>0&&l.jsxs("div",{className:"flex flex-wrap justify-between gap-x-6",children:[l.jsx("dt",{children:"Rated assessments"}),l.jsxs("dd",{children:[n.judged," of ",n.selected]})]}),n.distinctSourceAnswers>0&&l.jsxs("div",{className:"flex flex-wrap justify-between gap-x-6",children:[l.jsx("dt",{children:"Source answers"}),l.jsx("dd",{children:n.distinctSourceAnswers})]}),n.unadmittedAssessments>0&&l.jsxs("div",{className:"flex flex-wrap justify-between gap-x-6",children:[l.jsx("dt",{children:"Not yet analyzed"}),l.jsx("dd",{children:n.unadmittedAssessments})]}),Object.entries(n.counts).filter(([u,h])=>h>0&&!["favorable","mixed","unfavorable"].includes(u)).map(([u,h])=>l.jsxs("div",{className:"flex flex-wrap justify-between gap-x-6",children:[l.jsx("dt",{children:el(u)}),l.jsx("dd",{children:h})]},u)),r&&l.jsxs("div",{className:"flex flex-wrap justify-between gap-x-6",children:[l.jsxs("dt",{className:"flex items-center gap-1",children:["95% confidence range ",l.jsx(_a,{text:i.limitation,placement:"bottom"})]}),l.jsx("dd",{children:r})]})]}),e.reason&&l.jsx("p",{className:"mt-2 max-w-prose break-words",children:e.reason})]})}function DC(e){return!!(e?.configured&&e.overall&&e.overall.coverage.judged>0&&e.overall.score.favorableRate!==null)&&!MA()}function KY({value:e}){if(!DC(e))return null;const n=e.overall,i=RC(n.score),r=`${Cc.overall} ${n.coverage.judged} of ${n.coverage.selected} judged${i?`, 95% interval ${i}`:""}. ${n.provisional?"Provisional. ":""}${Cc.states[n.state]}${n.reason?` ${n.reason}`:""}`;return l.jsx("div",{className:"project-row-stat","data-sentiment-score":!0,children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("p",{className:"metric-inline-label",children:"Sentiment"}),l.jsx("span",{className:"relative z-10",children:l.jsx(_a,{text:r,placement:"bottom"})})]}),l.jsxs("p",{className:"metric-inline-value",children:[n.score.favorableDisplay,l.jsx("span",{className:"sr-only",children:" favorable judgments, all query classes"})]}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})})}const zo=C.createContext(null);function Yie(){return C.useContext(zo)?.configured??!1}function Xie({projectName:e,selection:n,runOptions:i=[],waitForResolvedRun:r=!1,evidenceReady:u=!0,hasSourceEvidence:h=!0,children:f}){return l.jsx(HY,{projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f})}function HY({projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f}){const b=JSON.stringify([e,n]),[v,w]=C.useState(null),k=C.useCallback(qe=>w(ke=>ke?.key===b&&ke?.runId===qe?.runId&&ke?.revision===qe?.revision?ke:qe?{...qe,key:b}:null),[b]),j=u&&(!r||v?.key===b),T=r&&j&&v?{...n,runId:v.runId,revision:v.revision}:n,N=JSON.stringify([e,T]),{settings:q,branded:E,nonBrand:P,jobs:H}=VY(e,T,j&&h),[X,L]=C.useState(!1),[Z,Y]=C.useState(null),ee=C.useRef(null);C.useEffect(()=>{L(!1),Y(null)},[N]);const B=j&&!!(q.data?.enabled&&q.data.installEnabled),we=(n.queryClass==="non-brand"?P.data:E.data)?.selection,Xe={...T,...we?{...we,runId:we.runId??void 0,runIds:we.runId?void 0:we.runIds,revision:we.revision??void 0,evaluationDefinitionId:we.evaluationDefinitionId??void 0}:{}},nt=Xe.runId&&!i.some(qe=>qe.id===Xe.runId)?[{id:Xe.runId,label:"Displayed sweep"},...i]:i,Ue=qe=>{qe.preventDefault(),ee.current?.focus()};return l.jsxs(zo.Provider,{value:{projectName:e,selection:T,resolveSource:k,settings:q,summaries:{branded:E,"non-brand":P},configured:B,hasSourceEvidence:h,openManage:qe=>{ee.current=qe,L(!0)},openEvidence:(qe,ke,$e)=>{ee.current=$e,Y({selection:qe,label:ke})}},children:[f,l.jsx(cg,{open:X&&!!q.data?.actions.configure,onOpenChange:L,children:l.jsxs(Kd,{onCloseAutoFocus:Ue,className:"overflow-y-auto",children:[l.jsxs(ug,{children:[l.jsx(Hd,{children:"Manage sentiment"}),l.jsx(Qd,{children:"Classify saved answers and review the cost before submitting a backfill."})]}),q.data?.actions.configure&&l.jsx(aX,{projectName:e,settings:q.data,selection:Xe,runOptions:nt},JSON.stringify([q.data.evaluationDefinitionId,q.data.enabled,q.data.enablementEpoch])),H.data&&l.jsx(JY,{projectName:e,jobs:H.data.jobs})]})}),l.jsx(cg,{open:Z!==null,onOpenChange:qe=>{qe||Y(null)},children:l.jsxs(Kd,{onCloseAutoFocus:Ue,className:"overflow-y-auto",children:[l.jsxs(ug,{children:[l.jsxs(Hd,{children:["Sentiment evidence",Z?`: ${Z.label}`:""]}),l.jsx(Qd,{children:"Stored judgments and exact quotations for the selected query and scope."})]}),Z&&l.jsx(ZY,{projectName:e,selection:Z.selection},JSON.stringify(Z.selection))]})})]})}function Jie(e,n){const i=C.useContext(zo)?.resolveSource;C.useEffect(()=>{i?.(e?{runId:e,revision:n??void 0}:null)},[i,e,n])}function Wie(){const e=C.useContext(zo);return e?.settings.data?.actions.configure?l.jsx(yg,{type:"button",variant:"outline",size:"sm",onClick:n=>e.openManage(n.currentTarget),children:e.settings.data.enabled?"Manage sentiment":"Enable sentiment"}):null}function ese({queryClass:e="all"}){const n=C.useContext(zo);if(!n?.configured||e==="unknown"||e==="unclassified")return null;const i=e==="all"?$Y:[e];return l.jsx("div",{className:"sentiment-headlines mb-4 flex flex-wrap items-start gap-x-8 gap-y-3","aria-label":"Favorable answer scores",children:i.map(r=>{const u=n.summaries[r];return l.jsxs("div",{className:"min-w-0 max-w-full",children:[l.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[l.jsxs("span",{className:"text-sm text-secondary",children:["Favorable · ",Ac[r]]}),l.jsx(_a,{text:Cc.favorable})]}),n.hasSourceEvidence?u.data?l.jsxs(l.Fragment,{children:[l.jsx(UY,{value:u.data,label:Ac[r]}),l.jsx(GY,{value:u.data})]}):u.isError?l.jsxs("p",{role:"alert",className:"text-sm text-secondary",children:["Couldn’t load sentiment. ",l.jsx(ue,{variant:"ghost",onClick:()=>{u.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading sentiment…"}):l.jsx("p",{className:"text-sm text-secondary",children:"No saved answers."})]},r)})})}function tse({queryId:e,sourceSnapshotIds:n=[],queryClass:i,location:r,showLabel:u=!1}){const h=C.useContext(zo);if(!h?.configured)return null;const f=i?h.summaries[i]:void 0,b=h.hasSourceEvidence?f?.data:void 0,v=b?.queries.filter(T=>T.queryClass===i&&(e?T.queryId===e:n.length>0)&&n.every(N=>T.sourceSnapshotIds.includes(N)))??[],w=v.length===1?v[0]:void 0,k=r===void 0?w:w?.locations.find(T=>T.location===r);if(!w||!k)return l.jsx("span",{className:"text-sm text-secondary",children:h.hasSourceEvidence&&f?.isPending&&(e||n.length)?"Loading…":"Unavailable"});const j={...h.selection,...b.selection,runId:b.selection.runId??void 0,runIds:b.selection.runId?void 0:b.selection.runIds,revision:b.selection.revision??void 0,evaluationDefinitionId:b.selection.evaluationDefinitionId??void 0,queryClass:w.queryClass,queryId:w.queryId,executionNodeKey:w.executionNodeKey??void 0,...r===void 0?{}:{location:r??"none"}};return l.jsxs(ue,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View ${Ac[w.queryClass]} sentiment evidence for ${w.queryText}`,onKeyDown:T=>T.stopPropagation(),onClick:T=>{T.stopPropagation(),h.openEvidence(j,w.queryText,T.currentTarget)},children:[u&&l.jsx("span",{className:"text-sm font-normal text-secondary",children:"Favorable"}),l.jsx("span",{className:"font-mono text-primary",children:k.score.favorableDisplay}),l.jsxs("span",{className:"text-sm font-normal text-secondary",children:[k.coverage.judged," judged"]}),k.provisional&&l.jsx("span",{className:"text-xs font-normal text-caution",children:"Provisional"})]})}function QY(e){return e.outcome==="subject-not-mentioned"?"Not mentioned":e.outcome==="running"?"Classifying":e.outcome==="waiting-to-retry"?"Retrying":e.outcome?el(e.outcome):e.state==="not-measured"?"Not classified":e.state==="processing"?"Classifying":e.state==="failed"?"Failed":e.state==="canceled"?"Canceled":"Unavailable"}function nse({queryId:e,sourceSnapshotIds:n,queryClass:i,provider:r,model:u,location:h,showSubjects:f=!1,showLabel:b=!1}){const v=C.useContext(zo);if(!v?.configured)return null;const w=i?v.summaries[i]:void 0,k=v.hasSourceEvidence?w?.data:void 0,j=k?.queries.filter(q=>q.queryClass===i&&(!e||q.queryId===e)&&n.length>0&&n.every(E=>q.sourceSnapshotIds.includes(E)))??[],T=j.length===1?j[0]:void 0,N=T?.assessments?.filter(q=>n.includes(q.sourceSnapshotId)&&q.provider===r&&q.location===h&&(u===void 0||q.servedModel===u))??[];return l.jsxs("div",{role:"group",className:"text-sm text-secondary","aria-label":`${r||"Saved answer"} sentiment`,children:[b&&l.jsx("span",{className:"block text-sm text-secondary",children:"Sentiment"}),N.length?N.map(q=>{const E=QY(q),P=q.outcome==="favorable"?"positive":q.outcome==="unfavorable"?"negative":q.outcome==="mixed"?"caution":"neutral",H=l.jsxs(l.Fragment,{children:[f&&l.jsxs("span",{children:[q.subjectLabel," · "]}),l.jsx(bn,{tone:P,className:"max-w-full shrink-0 rounded-none border-0 bg-transparent p-0 text-sm font-normal tracking-normal [overflow-wrap:normal]",children:E})]}),X={...v.selection,...k.selection,runId:k.selection.runId??void 0,runIds:k.selection.runId?void 0:k.selection.runIds,revision:k.selection.revision??void 0,evaluationDefinitionId:k.selection.evaluationDefinitionId??void 0,queryClass:T.queryClass,queryId:T.queryId,executionNodeKey:T.executionNodeKey??void 0,assessmentId:q.assessmentId??void 0};return l.jsxs("div",{className:"flex items-center gap-1",children:[q.assessmentId?l.jsx(ue,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-wrap justify-start whitespace-normal px-1 text-left text-sm","aria-label":`View ${q.provider} sentiment evidence for ${q.subjectLabel}: ${E}`,onKeyDown:L=>L.stopPropagation(),onClick:L=>{L.stopPropagation(),v.openEvidence(X,`${T.queryText} · ${q.provider} · ${q.subjectLabel}`,L.currentTarget)},children:H}):l.jsx("span",{children:H}),q.reason&&l.jsx(_a,{text:q.reason})]},JSON.stringify([q.sourceSnapshotId,q.subjectId,q.assessmentId]))}):l.jsx("span",{children:v.hasSourceEvidence&&w?.isPending&&n.length?"Loading…":"Unavailable"})]})}function FY({item:e}){return l.jsxs("article",{className:"space-y-4 border-b border-default py-5 text-sm text-secondary",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("strong",{className:"text-primary",children:e.subject.displayName}),l.jsx(bn,{tone:"neutral",children:el(e.outcome)}),l.jsx("span",{children:Ac[e.context.queryClass]}),l.jsx("span",{children:e.context.provider}),l.jsx("span",{children:e.context.servedModel??"Source model unavailable"}),l.jsx("span",{children:e.context.location??"No location"})]}),e.reason&&l.jsx("p",{children:e.reason}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Conclusion evidence"}),e.conclusion.length?e.conclusion.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No valid conclusion evidence is available."})]}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Complaint evidence"}),e.complaint?.length?e.complaint.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No complaint was identified."})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Original source answer"}),l.jsx("p",{className:"mt-2 whitespace-pre-wrap break-words text-primary",children:e.sourceText})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Assessment provenance"}),l.jsxs("dl",{className:"mt-3 space-y-2 break-all",children:[l.jsx("dt",{children:"Query"}),l.jsx("dd",{children:e.context.queryText}),l.jsx("dt",{children:"Subject"}),l.jsxs("dd",{children:[e.subject.displayName," (",e.subject.id,")"]}),l.jsx("dt",{children:"Run"}),l.jsx("dd",{children:e.runId}),l.jsx("dt",{children:"Revision"}),l.jsx("dd",{children:e.context.revision??"Unavailable"}),l.jsx("dt",{children:"Evaluator"}),l.jsx("dd",{children:e.returnedModel??"Unavailable"}),l.jsx("dt",{children:"Evaluation definition"}),l.jsx("dd",{children:e.evaluationDefinitionId}),l.jsx("dt",{children:"Source snapshot"}),l.jsx("dd",{children:e.sourceSnapshotId}),l.jsx("dt",{children:"Source hash"}),l.jsx("dd",{children:e.sourceTextHash}),e.context.usageEdges.map((n,i)=>l.jsxs("div",{children:[l.jsx("dt",{children:"Assignment"}),l.jsxs("dd",{children:["Target ",n.targetId,"; Property ",n.propertyId??"None","; market ",n.marketId??"None","; ",n.queryClass]})]},i))]})]})]})}function ZY({projectName:e,selection:n}){const[i,r]=C.useState(),u=yt({queryKey:hc(e,"evidence",n,i),queryFn:()=>uK(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",className:"mt-4 text-sm text-secondary",children:"Loading sentiment evidence…"}):u.isError?l.jsxs("p",{role:"alert",className:"mt-4 text-sm text-secondary",children:["Could not load sentiment evidence. ",l.jsx(ue,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry evidence"})]}):l.jsxs(l.Fragment,{children:[u.data.items.length?u.data.items.map(h=>l.jsx(FY,{item:h},h.assessmentId)):l.jsx("p",{className:"mt-4 text-sm text-secondary",children:"No stored sentiment evidence for this query and scope."}),l.jsxs("div",{className:"mt-3 flex gap-2",children:[i&&l.jsx(ue,{variant:"outline",onClick:()=>r(void 0),children:"First evidence page"}),u.data.nextCursor&&l.jsx(ue,{variant:"outline",onClick:()=>r(u.data.nextCursor??void 0),children:"Next evidence page"})]})]})}function YY({projectName:e,jobId:n}){const[i,r]=C.useState(),u=yt({queryKey:hc(e,`job:${n}`,void 0,i),queryFn:()=>hK(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",children:"Loading attempts…"}):u.isError?l.jsxs("p",{role:"alert",children:["Could not load attempts. ",l.jsx(ue,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry attempts"})]}):l.jsxs(l.Fragment,{children:[u.data.attempts.map(h=>l.jsxs("p",{children:[h.errorCode??"Request complete","; ",h.usage.kind==="unknown"?"Usage unknown":`${h.usage.inputTokens??"Unknown"} input tokens (${h.usage.kind})`]},h.id)),l.jsxs("div",{className:"mt-2 flex gap-2",children:[i&&l.jsx(ue,{variant:"outline",onClick:()=>r(void 0),children:"Newest attempts"}),u.data.nextAttemptCursor&&l.jsx(ue,{variant:"outline",onClick:()=>r(u.data.nextAttemptCursor??void 0),children:"Older attempts"})]})]})}function XY({projectName:e,job:n}){const[i,r]=C.useState(!1);return l.jsxs("details",{onToggle:u=>r(u.currentTarget.open),children:[l.jsx("summary",{children:"Job details"}),n.cancellationReason&&l.jsx("p",{children:n.cancellationReason}),Object.entries(n.counts).filter(([,u])=>u>0).map(([u,h])=>l.jsxs("p",{children:[el(u),": ",h]},u)),l.jsxs("p",{children:["Attempts: ",n.attemptCount]}),i&&n.attemptCount>0&&l.jsx(YY,{projectName:e,jobId:n.id})]})}function JY({projectName:e,jobs:n}){return l.jsxs("details",{className:"mt-6 text-sm text-secondary",children:[l.jsx("summary",{className:"cursor-pointer",children:"Recent sentiment jobs"}),n.length===0?l.jsx("p",{className:"mt-2",children:"No sentiment jobs have been submitted."}):l.jsx("div",{className:"data-table-wrapper mt-3",children:l.jsxs("table",{className:"data-table","aria-label":"Sentiment jobs",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Submitted"}),l.jsx("th",{children:"State"}),l.jsx("th",{children:"Selected"}),l.jsx("th",{children:"Details"})]})}),l.jsx("tbody",{children:n.map(i=>l.jsxs("tr",{children:[l.jsx("td",{children:qK(i.createdAt)}),l.jsx("td",{children:el(i.state)}),l.jsx("td",{children:i.selected}),l.jsx("td",{children:l.jsx(XY,{projectName:e,job:i})})]},i.id))})]})})]})}const WY={probe:"Probe sweeps","unsupported-run-kind":"Not an answer sweep","failed-run":"Failed sweep","incomplete-run":"Incomplete sweep","legacy-missing-provenance":"Saved without its frozen query and subject record","legacy-missing-language":"Saved before the answer language was recorded","excluded-branded":"Branded answers (backfill that class separately)","excluded-non-brand":"Non-brand answers (backfill that class separately)"};function eX(e){return WY[e]??el(e)}function zC(e){return[e.provider&&`engine ${e.provider}`,e.model&&`model ${e.model}`,e.location&&(e.location==="none"?"no location":`location ${e.location}`),e.scope!=="project"&&e.scopeKey&&`${e.scope} ${e.scopeKey}`,e.marketKey&&`market ${e.marketKey}`,e.queryId&&`query ${e.queryId}`,e.revision!==void 0&&`revision ${e.revision}`].filter(n=>!!n)}function tX(e){const n=zC(e);return[`${Ac[e.queryClass]} queries`,...n.length?n:["whole sweep"]].join(" · ")}function nX(e,n,i,r){return r?{...e,queryClass:i,queryId:void 0,runIds:void 0,runId:n}:{mode:"auto",scope:"project",queryClass:i,runId:n}}function aX({projectName:e,settings:n,selection:i,runOptions:r}){const u=Jn(),[h,f]=C.useState(n.enabled),[b,v]=C.useState(i.runId??""),[w,k]=C.useState(i.queryClass),[j,T]=C.useState(!1),[N,q]=C.useState(null),E=C.useRef(null),P=zC({...i,queryId:void 0}),H=()=>u.invalidateQueries({queryKey:["sentiment",e]}),X=()=>{q(null),E.current=null},L=Ga({mutationFn:async()=>{if(!(await Sd(e)).actions.configure)throw new Error("Administrator permission is required to configure sentiment.");return cK(e,{enabled:h})},onSuccess:async()=>{X(),await H(),await u.invalidateQueries({queryKey:["project-overview-slim"]})},onError:H}),Z=Ga({mutationFn:async()=>{if(!(await Sd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return dK(e,nX(i,b,w,j&&P.length>0))},onSuccess:B=>{q(B),E.current=crypto.randomUUID()},onError:H}),Y=Ga({mutationFn:async()=>{if(!N?.previewToken||!E.current)throw new Error("Create and review a backfill preview first.");if(!(await Sd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return mK(e,N.previewToken,E.current)},onSuccess:async()=>{X(),await H()},onError:H}),ee=L.isPending||Z.isPending||Y.isPending;return l.jsxs("div",{className:"mt-5 space-y-5 text-sm text-secondary",children:[l.jsx("p",{children:n.disclosure}),!n.ready&&l.jsx("p",{children:n.readinessReasons.join("; ")||"An operator must configure sentiment on this installation."}),l.jsxs("form",{className:"space-y-3",onSubmit:B=>{B.preventDefault(),L.mutate()},children:[l.jsxs("label",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",checked:h,disabled:ee,onChange:B=>{f(B.target.checked),X()}}),"Enable project sentiment"]}),l.jsx("p",{children:"Enabling applies to future completed sweeps. Past sweeps require an explicit backfill."}),l.jsx(yg,{type:"submit",disabled:ee,children:L.isPending?"Saving…":"Save sentiment settings"}),L.isError&&l.jsx("p",{role:"alert",children:zi(L.error)}),L.isSuccess&&l.jsx("p",{role:"status",children:"Sentiment settings saved."})]}),n.actions.backfill&&l.jsxs("section",{className:"space-y-3",children:[l.jsx("h3",{children:"Backfill a saved sweep"}),l.jsxs("label",{className:"block",children:["Saved sweep",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:b,disabled:ee,onChange:B=>{v(B.target.value),X()},children:[l.jsx("option",{value:"",children:"Select a saved sweep"}),r.map(B=>l.jsx("option",{value:B.id,children:B.label},B.id))]})]}),l.jsxs("label",{className:"block",children:["Query class",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:w,disabled:ee,onChange:B=>{k(B.target.value),X()},children:[l.jsx("option",{value:"non-brand",children:"Non-brand"}),l.jsx("option",{value:"branded",children:"Branded"})]})]}),l.jsx("p",{children:"The backfill covers every engine, location and query of the chosen sweep for this query class."}),P.length>0&&l.jsxs("label",{className:"flex items-start gap-2",children:[l.jsx("input",{type:"checkbox",className:"mt-1",checked:j,disabled:ee,onChange:B=>{T(B.target.checked),X()}}),l.jsxs("span",{children:["Limit to the current view",l.jsx("span",{className:"block",children:P.join(" · ")})]})]}),l.jsx(ue,{variant:"outline",disabled:ee||!b||!n.enabled||!n.ready,onClick:()=>{X(),Z.mutate()},children:Z.isPending?"Preparing preview…":"Preview sentiment backfill"}),Z.isError&&l.jsx("p",{role:"alert",children:zi(Z.error)}),N&&l.jsxs("div",{className:"space-y-3",children:[l.jsxs("dl",{className:"grid grid-cols-[1fr_auto] gap-2",children:[l.jsx("dt",{children:"Selection"}),l.jsx("dd",{className:"text-right",children:tX(N.selection)}),l.jsx("dt",{children:"Eligible assessments"}),l.jsx("dd",{children:N.eligibleAssessments}),l.jsx("dt",{children:"Already classified"}),l.jsx("dd",{children:N.alreadyClassified}),l.jsx("dt",{children:"Estimated input tokens"}),l.jsx("dd",{children:N.estimatedInputTokens}),l.jsx("dt",{children:"Estimated cost (USD)"}),l.jsx("dd",{children:N.estimatedCostUsd??"Unavailable"})]}),l.jsx(_a,{text:N.estimateMethod}),N.eligibleAssessments===0&&l.jsx("p",{children:"No saved answers in this selection can be classified."}),N.skipped.length>0&&l.jsxs("div",{children:[l.jsx("p",{children:"Not included:"}),l.jsx("ul",{"aria-label":"Skipped assessments",className:"list-disc pl-5",children:N.skipped.map(B=>l.jsxs("li",{children:[eX(B.reason),": ",B.count]},`${B.runId}:${B.reason}`))})]}),l.jsx(yg,{disabled:ee||!N.previewToken||N.eligibleAssessments===0,onClick:()=>Y.mutate(),children:Y.isPending?"Submitting…":"Confirm sentiment backfill"})]}),Y.isError&&l.jsxs("p",{role:"alert",children:[zi(Y.error)," Retry uses the same request key."]}),Y.isSuccess&&l.jsx("p",{role:"status",children:"Backfill submitted. Progress is available in Recent jobs."})]})]})}const iX=20,sX=6;function oX({points:e,tone:n}){const i=C.useId();if(e.length===0)return null;const r=42,u=132,h=5,f=u-h*2,b=r-h*2,v=b-sX,w=P=>h+P/Math.max(e.length-1,1)*f,k=aG(e),j=Math.min(...e),T=Math.max(...e),N=Math.max(T-j,iX),q=(T+j)/2-N/2,E=e.map((P,H)=>({x:w(H),y:h+(1-(P-q)/N)*v}));return l.jsxs("svg",{className:`sparkline sparkline-${n}${k?" sparkline-provisional":""}`,viewBox:`0 0 ${u} ${r}`,"aria-hidden":"true",children:[l.jsx("defs",{children:l.jsx("clipPath",{id:i,children:l.jsx("rect",{x:h,y:h,width:f,height:b,rx:"8"})})}),l.jsx("line",{className:"sparkline-guide",x1:h,x2:u-h,y1:r-h,y2:r-h}),E.length===1?l.jsx("circle",{className:"sparkline-point",cx:E[0].x,cy:E[0].y,r:"3"}):l.jsx("polyline",{clipPath:`url(#${i})`,points:E.map(P=>`${P.x},${P.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function rX({project:e}){return l.jsxs("div",{className:`project-row relative${DC(e.sentiment)?" project-row-with-sentiment":""}`,children:[l.jsx("div",{className:"project-row-chart",children:l.jsx(oX,{points:e.trend,tone:WA(e.lastRun.status)})}),l.jsxs("div",{className:"project-row-primary",children:[l.jsxs(We,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"after:absolute after:inset-0 after:rounded-xl focus-visible:outline-none focus-visible:after:ring-2 focus-visible:after:ring-mono-400",children:[l.jsx("p",{className:"project-name",children:e.project.name}),l.jsx("p",{className:"project-domain",children:e.project.canonicalDomain})]}),l.jsx("p",{className:"project-insight",children:e.insight})]}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsx("p",{className:"metric-inline-label",children:"Mentioned"}),l.jsx("p",{className:`metric-inline-value ${e.mentionTone==="caution"?"text-caution-400":""}`,children:e.hasMeasurement===!1?"Not measured":cn(e.mentionScore,St.percent)}),l.jsx("p",{className:`metric-inline-caption${e.providerCoverage?" text-caution":""}`,title:e.providerCoverage,children:e.providerCoverage?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"sr-only",children:"Partial sweep: "}),e.providerCoverage]}):e.mentionDelta})]})}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("p",{className:"metric-inline-label",children:[l.jsx("span",{"aria-hidden":"true",children:"Pressure"}),l.jsx("span",{className:"sr-only",children:"Competitor pressure"})]}),l.jsx("p",{className:"metric-inline-value",children:e.hasMeasurement===!1?"Not measured":e.competitorPressureLabel}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})}),l.jsx(KY,{value:e.sentiment}),l.jsx("span",{className:"project-row-link",children:l.jsx(Ag,{className:"h-4 w-4 text-muted"})})]})}function lX(){const{isAdmin:e}=pa(),n=Uc(),{dashboard:i,isLoading:r,isError:u,refetch:h}=zm(),f=i??n?.dashboard,v=c1(!n,n?.health),{openRun:w}=u1();if(u&&!f)return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio unavailable"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project list."})]})}),l.jsxs("div",{className:"max-w-xl rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Your projects have not been changed."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(ue,{type:"button",variant:"secondary",className:"mt-4",onClick:()=>{h()},children:"Retry loading portfolio"})]})]});if(!f||r)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-32"}),l.jsx("div",{className:"skeleton-text-sm w-64"})]}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(E=>l.jsxs("div",{className:"rounded-xl border border-default bg-surface p-4 flex items-center gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx("div",{className:"skeleton-text w-36"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton h-8 w-20 rounded"})]},E))})]});const k=f.portfolioOverview,j=k.projects.length>0&&k.projects.every(E=>E.hasMeasurement===!1),T=k.attentionItems.map(E=>j&&E.id==="attention_stable"?{...E,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:E),N=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},q=RQ(k.systemHealth.filter(E=>e||E.id==="api"||E.id==="worker"),N,f.settings);return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio"}),l.jsx("p",{className:"page-subtitle",children:"Visibility across all projects."})]})}),k.projects.length>0?l.jsx("div",{className:"project-list project-list-scrollable",children:k.projects.map(E=>l.jsx(rX,{project:E},E.project.id))}):l.jsxs(Ta,{className:"surface-card empty-card",children:[l.jsx("h3",{children:k.emptyState?.title??"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:k.emptyState?.detail}),l.jsx(ue,{size:"sm",asChild:!0,children:l.jsx(We,{to:k.emptyState?.ctaHref==="/setup"||!k.emptyState?.ctaHref?"/setup":"/",children:k.emptyState?.ctaLabel??"Launch setup"})})]}),l.jsxs("div",{className:"overview-secondary-grid",children:[T.length>0&&l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Needs attention"}),l.jsx("h2",{className:"section-title-sm",children:"What changed"})]})}),l.jsx("div",{className:"attention-list attention-list-scrollable",children:T.map(E=>E.href?l.jsxs(We,{to:E.href,className:`attention-item attention-item-${E.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:E.title}),l.jsx("p",{className:"attention-detail",children:E.detail})]}),E.actionLabel&&l.jsx("span",{className:"attention-action",children:E.actionLabel})]},E.id):l.jsxs("div",{className:`attention-item attention-item-static attention-item-${E.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:E.title}),l.jsx("p",{className:"attention-detail",children:E.detail})]}),E.actionLabel&&l.jsx("span",{className:"attention-action",children:E.actionLabel})]},E.id))})]}),l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Recent runs"}),l.jsx("h2",{className:"section-title-sm",children:"Activity"})]})}),l.jsx("div",{className:"compact-stack compact-stack-scrollable",children:k.recentRuns.length>0?k.recentRuns.map(E=>l.jsxs("button",{className:"compact-run",type:"button",onClick:()=>w(E.id),children:[l.jsxs("div",{children:[l.jsx("p",{className:"compact-run-title",children:E.projectName}),l.jsx("p",{className:"compact-run-detail",children:E.summary})]}),l.jsx(l1,{status:E.status})]},E.id)):l.jsx("p",{className:"supporting-copy",children:"Run history appears here after the first launch."})})]})]}),l.jsxs("section",{className:"page-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"System health"}),l.jsx("h2",{className:"section-title-sm",children:"Infrastructure"})]})}),l.jsx("div",{className:"divide-y divide-default border-y border-default",children:q.map(E=>{const P=E.id==="api"?N.apiStatus:E.id==="worker"?N.workerStatus:void 0,H=P?P.state==="ok"?void 0:Vr(P):E.tone==="positive"?void 0:E.meta;return l.jsxs("div",{className:"flex items-start justify-between gap-4 py-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:E.label}),H&&l.jsx("p",{className:"mt-1 text-sm text-secondary",children:H})]}),l.jsx(bn,{tone:E.tone,title:P?Vr(P):E.meta,children:E.detail})]},E.id)})})]})]})}const cX='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function uX(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;const n=e.target;if(n&&typeof n.closest=="function"&&n.closest(cX))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function dX({onApplied:e}){const{canWrite:n}=pa(),[i,r]=C.useState(""),[u,h]=C.useState(!1),[f,b]=C.useState([]),[v,w]=C.useState([]);if(MA()||!n)return null;const k=async()=>{if(!i.trim())return;h(!0),b([]),w([]);const j=A5(i),T=[],N=[];for(let q=0;q<j.length;q++){const E=j[q];if(E.errors.length>0){T.push(`Document ${q+1}: ${E.errors[0]?.message}`);continue}const P=E.toJSON();if(!(!P||typeof P!="object"))try{const H=await JG(P);N.push(`Applied "${H.displayName||H.name}" (revision ${H.configRevision})`)}catch(H){T.push(`Document ${q+1}: ${zi(H)}`)}}b(N),w(T),h(!1),N.length>0&&(wn({title:"YAML applied",detail:`Applied ${N.length} document${N.length===1?"":"s"} successfully.`,tone:T.length>0?"caution":"positive",dedupeKey:"yaml:apply",dedupeMode:"replace"}),e())};return l.jsxs("section",{className:"mt-8",children:[l.jsx("div",{className:"page-section-divider"}),l.jsx("div",{className:"section-head mt-6",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Config as code"}),l.jsx("h2",{className:"text-sm font-medium text-strong",children:"Apply YAML"})]})}),l.jsxs("p",{className:"text-muted text-sm mb-3",children:["Paste a ",l.jsx("code",{className:"text-secondary",children:"canonry.yaml"})," config (multi-document YAML with ",l.jsx("code",{className:"text-secondary",children:"---"})," separators supported)."]}),l.jsx("textarea",{className:"setup-input w-full font-mono text-xs",rows:10,placeholder:`apiVersion: canonry/v1
65
- kind: Project
66
- metadata:
67
- name: my-project
68
- spec:
69
- canonicalDomain: example.com
70
- country: US
71
- language: en
72
- queries: []`,value:i,onChange:j=>r(j.target.value)}),f.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:f.map((j,T)=>l.jsx("li",{className:"text-positive-400 text-sm",children:j},T))}),v.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:v.map((j,T)=>l.jsx("li",{className:"text-negative-400 text-sm",children:j},T))}),l.jsx("div",{className:"mt-3",children:l.jsx(ue,{type:"button",disabled:!i.trim()||u,onClick:pn(k),children:u?"Applying...":"Apply"})})]})}function mX(){const{dashboard:e,isLoading:n,refetch:i}=zm(),{canWrite:r,isAdmin:u}=pa(),h=Cs();if(!e||n)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-28"}),l.jsx("div",{className:"skeleton-text-sm w-40"})]}),l.jsxs("div",{className:"rounded-xl border border-default bg-surface overflow-hidden",children:[l.jsx("div",{className:"p-3 border-b border-default flex gap-8",children:["Name","Domain","Mentions","Last run","Country"].map(b=>l.jsx("div",{className:"skeleton-text-sm w-16"},b))}),[1,2,3].map(b=>l.jsxs("div",{className:"p-3 border-b border-subtle flex gap-8 items-center",children:[l.jsxs("div",{className:"flex-1 space-y-1",children:[l.jsx("div",{className:"skeleton-text w-28"}),l.jsx("div",{className:"skeleton-text-sm w-16"})]}),l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton h-5 w-14 rounded-full"}),l.jsx("div",{className:"skeleton h-5 w-16 rounded-full"}),l.jsx("div",{className:"skeleton-text-sm w-8"})]},b))]})]});const f=e.projects;return l.jsxs("div",{className:"page-container",children:[l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Projects"}),l.jsxs("p",{className:"page-subtitle",children:[f.length," project",f.length!==1?"s":""," tracked"]})]}),u?l.jsx("div",{className:"page-header-right",children:l.jsxs(ue,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Tf,{className:"size-4 mr-1.5"}),f.length===0?"Map a site":"Add project"]})}):null]}),f.length>0?l.jsx("div",{className:"data-table-wrapper",children:l.jsxs("table",{className:"data-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Name"}),l.jsx("th",{children:"Domain"}),l.jsx("th",{children:"Mentions"}),l.jsx("th",{children:"Last run"}),l.jsx("th",{className:"text-right",children:"Country"})]})}),l.jsx("tbody",{children:f.map(b=>{const v=b.recentRuns[0];return l.jsxs("tr",{className:"cursor-pointer",onClick:w=>{uX(w)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[l.jsxs("td",{children:[l.jsx(We,{to:"/projects/$projectName",params:{projectName:b.project.name},className:"text-heading font-medium hover:underline",children:b.project.displayName||b.project.name}),l.jsx("p",{className:"text-[11px] text-muted",children:b.project.name})]}),l.jsx("td",{className:"text-secondary",children:b.project.canonicalDomain}),l.jsx("td",{children:l.jsx(bn,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),l.jsx("td",{className:"text-muted text-sm",children:v?l.jsx(l1,{status:v.status}):l.jsx("span",{className:"text-faint",children:"No runs"})}),l.jsx("td",{className:"text-right text-muted",children:b.project.country})]},b.project.id)})})]})}):l.jsxs(Ta,{className:"surface-card empty-card",children:[l.jsx("h3",{children:"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:"Map a public site to capture its Page Health baseline and exact fixes."}),u?l.jsxs(ue,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Tf,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?l.jsx(dX,{onApplied:()=>{i()}}):null]})}const Ak="canonry.onboarding-session.v1",Zd="canonry.onboarding-launched-run.v1",p1="canonry.onboarding-handoff.v1",pX=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,hX=["system","project","queries","competitors","run"];function fX(e){return hX[e]??"system"}function gX(e){if(!e.apiReady)return"api_unavailable";if(e.databaseConfigured===!1)return"database_unavailable";if(!e.workerReady)return"worker_unavailable";if(!e.providerReady)return"no_provider"}function yX(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const bX={NO_PROVIDER:"no_provider",NO_QUERIES:"no_queries",RATE_LIMITED:"rate_limited",QUOTA_EXCEEDED:"rate_limited",PROVIDER_AUTH:"provider_auth",AUTH_INVALID:"provider_auth",FORBIDDEN:"provider_auth",NETWORK:"network",CONNECTION_ERROR:"network",RUN_IN_PROGRESS:"run_rejected",RUN_CANCELLED:"run_cancelled"};function fc(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return bX[i]??n}function h1(){try{const e=typeof window<"u"?window.sessionStorage.getItem(Ak):null;if(e&&pX.test(e))return e;const n=bg();return typeof window<"u"&&window.sessionStorage.setItem(Ak,n),n}catch{return bg()}}function f1(){return bg()}function IC(e){if(!e||typeof e!="object")return!1;const n=e;return typeof n.projectName=="string"&&n.projectName.length>0&&typeof n.runId=="string"&&n.runId.length>0&&typeof n.handled=="boolean"}function OC(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(Zd,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function qC(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(Zd);if(!n)return null;const i=JSON.parse(n);return!IC(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function Yd(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(Zd);if(!n)return;const i=JSON.parse(n);if(!IC(i)||i.runId!==e)return;window.sessionStorage.setItem(Zd,JSON.stringify({...i,handled:!0}))}catch{}}function vX(e){try{typeof window<"u"&&window.sessionStorage.setItem(p1,e)}catch{}}function xX(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(p1)===e}catch{return!1}}function wX(){try{typeof window<"u"&&window.sessionStorage.removeItem(p1)}catch{}}function bg(){const e=globalThis.crypto;if(e.randomUUID)return e.randomUUID();const n=new Uint8Array(16);if(e.getRandomValues)e.getRandomValues(n);else for(let r=0;r<n.length;r+=1)n[r]=Math.floor(Math.random()*256);n[6]=n[6]&15|64,n[8]=n[8]&63|128;const i=[...n].map(r=>r.toString(16).padStart(2,"0")).join("");return`${i.slice(0,8)}-${i.slice(8,12)}-${i.slice(12,16)}-${i.slice(16,20)}-${i.slice(20)}`}class kX extends Error{constructor(){super(QA),this.name="ViewOnlyError"}}function SX(e){if(!e.canWrite)throw new kX}function PC(e){e.invalidateQueries({queryKey:a1({client:J})}),e.invalidateQueries({queryKey:As({client:J})})}function Io(){const e=pa();return()=>{SX(e)}}function jX(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function AX(e,n){const i=e??"Project";return n==="gsc-sync"?`${i} will refresh after the sync completes.`:n==="inspect-sitemap"?`${i} will notify you when sitemap inspection finishes.`:`${i} will notify you when the run finishes.`}function g1(e,n){s1({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),wn({title:jX(e.kind),detail:AX(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function CX(e){const n=e.filter(f=>f.status!=="conflict"&&f.status!=="error"),i=e.filter(f=>f.status==="conflict"),r=e.filter(f=>f.status==="error"),u=i.length+r.length;if(n.length===0){const f=[r.length>0?`${r.length} need provider or query setup`:null,i.length>0?`${i.length} already have an active run`:null].filter(b=>b!==null);wn({title:"No runs queued",detail:f.length>0?`${f.join("; ")}.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const f of n)s1({id:f.id,projectId:f.projectId,kind:f.kind,projectLabel:f.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=MQ({runIds:n.map(f=>f.id),queuedCount:n.length,skippedCount:u});wn({title:"Run-all batch queued",detail:u>0?`${n.length} project${n.length===1?"":"s"} queued; ${u} need attention or already have an active run.`:`${n.length} project${n.length===1?"":"s"} queued.`,tone:u>0?"caution":"neutral",dedupeKey:`batch:${h}`,dedupeMode:"replace"})}function Pm(e,n){if(e instanceof xn&&e.code==="RUN_IN_PROGRESS"){wn({title:"Run already in progress",detail:n?.projectLabel?`${n.projectLabel} already has an active run. Wait for it to finish, then retry.`:"This project already has an active run. Wait for it to finish, then retry.",tone:"caution",durationMs:8e3,dedupeKey:`run-in-progress:${n?.projectKey??"project"}:${n?.sourceAction??"run"}`,dedupeMode:"replace"});return}wn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function NX(){const e=Io(),n=Jn();return Ga({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>KG(i,r),onSuccess:(i,r)=>{PC(n),g1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(i,r)=>{r.sourceAction!=="setup-launch"&&Pm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function ase(){const e=Io(),n=Jn();return Ga({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:i=>WG(i),onSuccess:i=>{PC(n),CX(i)},onError:i=>{wn({title:i instanceof Error?i.message:"Failed to queue runs",tone:"negative"})}})}function _X(){const e=Io(),n=Jn();return Ga({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,body:r})=>nK(i,r),onSuccess:(i,r)=>{jc(n,ze["site-audit"],r.projectName),s1({id:i.runId,projectId:r.projectId,kind:ze["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:i.status}),wn({title:i.status==="running"?"Site Health scan already running":"Site Health scan queued",detail:`${r.projectLabel??r.projectName} will refresh automatically when the scan finishes.`,tone:"neutral",dedupeKey:`run:${i.runId}`,dedupeMode:"replace"})},onError:(i,r)=>{r.suppressErrorToast||Pm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function ise(){const e=Io(),n=Jn();return Ga({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>eK(i,r),onSuccess:(i,r)=>{jc(n,ze["gsc-sync"],r.projectName),g1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(i,r)=>{Pm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function sse(){const e=Io(),n=Jn();return Ga({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>tK(i,r),onSuccess:(i,r)=>{jc(n,ze["inspect-sitemap"],r.projectName),g1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(i,r)=>{Pm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function y1(e){if(!Array.isArray(e.queryKey)||e.queryKey.length<=1)return!1;const n=e.queryKey[0];return n==="projects"||n==="project-dashboard-full"}function ose(){const e=Io(),n=Jn();return Ga({onMutate:e,mutationFn:({projectName:i,queries:r})=>$G(i,r),onSuccess:()=>{n.invalidateQueries({queryKey:As({client:J})}),n.invalidateQueries({predicate:y1})}})}function rse(){const e=Io(),n=Jn();return Ga({onMutate:e,mutationFn:({projectName:i,body:r})=>UG(i,r),onSuccess:()=>{On(n,"project"),n.invalidateQueries({predicate:y1})}})}const Ck=[{id:"site",label:"Scan site",optional:!1},{id:"fixes",label:"Page health",optional:!1},{id:"visibility",label:"AI Visibility",optional:!0},{id:"done",label:"Next steps",optional:!1}],TX={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function So({current:e,outcomes:n={}}){const i=Ck.findIndex(r=>r.id===e);return l.jsx("ol",{"aria-label":"Onboarding progress",className:"grid border-y border-default sm:grid-cols-4 sm:divide-x sm:divide-default",children:Ck.map((r,u)=>{const h=u<i?n[r.id]:void 0,f=u<i&&h===void 0,b=u===i,v=h?TX[h]:null;return l.jsxs("li",{"aria-current":b?"step":void 0,className:"flex min-h-12 items-center gap-3 py-2 sm:px-3 sm:first:pl-0 sm:last:pr-0",children:[l.jsx("span",{"aria-hidden":"true",className:`flex size-6 shrink-0 items-center justify-center rounded-full border text-xs font-semibold tabular-nums ${b?"border-accent bg-accent text-on-inverse":f?"border-positive bg-positive-soft text-positive":"border-default bg-surface-subtle text-muted"}`,children:f?"✓":h==="skipped"||h==="incomplete"?"–":u+1}),l.jsxs("span",{className:"flex min-w-0 flex-wrap items-baseline gap-x-2",children:[l.jsx("span",{className:`text-sm font-medium ${b||f?"text-heading":"text-secondary"}`,children:r.label}),v?l.jsx("span",{className:"text-[13px] text-secondary",children:v}):r.optional&&!h?l.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,f?l.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function EX(){return[{id:"search-console",icon:Sg,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:Hk,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:Qk,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:Ef,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:Fk,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:w5,label:"Your agent",detail:"Read this project from Claude Code, Codex, or any MCP client.",action:"Docs",href:"https://github.com/Canonry/canonry/blob/main/docs/mcp.md"}]}function RX({projectName:e}){const n=EX();return l.jsxs("section",{"aria-labelledby":"next-steps-heading",className:"mt-6 border-t border-default pt-5",children:[l.jsx("h2",{id:"next-steps-heading",className:"text-sm font-medium text-heading",children:"What else this project can do"}),l.jsx("ul",{className:"mt-3 divide-y divide-default",children:n.map(({id:i,icon:r,label:u,detail:h,action:f,to:b,href:v})=>l.jsxs("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 py-3",children:[l.jsx(r,{className:"size-4 shrink-0 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"min-w-36 text-sm font-medium text-heading",children:u}),l.jsx("span",{className:"min-w-0 flex-1 text-sm text-secondary",children:h}),b?l.jsxs(We,{to:b,params:{projectName:e},className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]}):l.jsxs("a",{href:v,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]})]},i))})]})}function DX({providerName:e,keyUrl:n,modelHint:i,compact:r=!1,leadingField:u,secondaryActions:h,onSaved:f}){const b=e.toLowerCase()==="local",v=r&&e.toLowerCase()==="gemini"&&!!n,[w,k]=C.useState(""),[j,T]=C.useState(""),[N,q]=C.useState(""),[E,P]=C.useState(""),[H,X]=C.useState(""),[L,Z]=C.useState(""),[Y,ee]=C.useState(!1),[B,K]=C.useState(null),[we,Xe]=C.useState(!1),nt=b?j.trim().length>0:w.trim().length>0;async function Ue(){if(nt){ee(!0),K(null),Xe(!1);try{const ae=ce=>{const Q=parseInt(ce.trim(),10);return Number.isFinite(Q)&&Q>0?Q:void 0},_e={},Be=ae(E);Be!==void 0&&(_e.maxConcurrency=Be);const ve=ae(H);ve!==void 0&&(_e.maxRequestsPerMinute=ve);const le=ae(L);le!==void 0&&(_e.maxRequestsPerDay=le),await UA(e.toLowerCase(),{...w.trim()?{apiKey:w.trim()}:{},...j.trim()?{baseUrl:j.trim()}:{},...N.trim()?{model:N.trim()}:{},...Object.keys(_e).length>0?{quota:_e}:{}}),k(""),T(""),q(""),P(""),X(""),Z(""),Xe(!0),wn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),f()}catch(ae){K(ae instanceof Error?ae.message:"Failed to update provider")}finally{ee(!1)}}}const qe=i??"Use default model",ke=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",$e=r?"setup-input min-h-11 w-full":"mt-0.5 w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",O=l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:ke,htmlFor:`model-${e}`,children:"Model (optional)"}),l.jsx("input",{id:`model-${e}`,type:"text",className:$e,placeholder:qe,value:N,onChange:ae=>q(ae.target.value)})]}),l.jsxs("div",{children:[l.jsx("label",{className:ke,children:"Quota (optional)"}),l.jsxs("div",{className:"mt-0.5 grid grid-cols-3 gap-1.5",children:[l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"Concurrent",value:E,onChange:ae=>P(ae.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Max concurrent"})]}),l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/min",value:H,onChange:ae=>X(ae.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per minute"})]}),l.jsxs("div",{children:[l.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/day",value:L,onChange:ae=>Z(ae.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),ne=b?l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:ke,htmlFor:`base-url-${e}`,children:"Base URL"}),l.jsx("input",{id:`base-url-${e}`,type:"text",className:$e,placeholder:"http://localhost:11434/v1",value:j,onChange:ae=>T(ae.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,ge=l.jsxs("div",{className:r?"min-w-0 space-y-1.5":void 0,children:[l.jsxs("div",{className:r?"flex items-center justify-between gap-3":"flex items-center justify-between",children:[l.jsxs("label",{className:ke,htmlFor:`api-key-${e}`,children:["API key",b?" (optional)":""]}),n&&!v&&l.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-secondary hover:text-neutral underline underline-offset-2",children:["Get API key ","↗"]})]}),l.jsx("input",{id:`api-key-${e}`,type:"password",autoComplete:"new-password",autoCapitalize:"none",spellCheck:!1,className:$e,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:w,onChange:ae=>k(ae.target.value)})]}),Se=l.jsx(ue,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!nt||Y,onClick:pn(Ue),children:Y?"Saving...":r?"Save connection":"Save"});return l.jsxs("div",{className:r?"space-y-3":"mt-3 rounded-lg border border-base bg-bg-elevated/40 p-3 space-y-2",children:[v&&l.jsxs("div",{className:"flex flex-wrap items-start gap-x-6 gap-y-3 pb-2",children:[l.jsxs("div",{className:"min-w-0 flex-1 basis-72 space-y-1",children:[l.jsx("h3",{className:"text-base font-semibold text-heading",children:"Start with Gemini’s free tier"}),l.jsxs("p",{className:"max-w-prose text-sm text-secondary",children:["Get a key in Google AI Studio, then paste it below. Free usage has model and rate limits; paid usage is billed by Google."," ",l.jsx("a",{href:"https://ai.google.dev/gemini-api/docs/pricing",target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2",children:"Pricing and limits"})]})]}),l.jsx(ue,{variant:"outline",className:"min-h-11",asChild:!0,children:l.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:["Get a free Gemini API key ","↗"]})})]}),r?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:u?"grid items-start gap-3 sm:grid-cols-[minmax(0,0.7fr)_minmax(0,1.3fr)]":void 0,children:[u,ge]}),ne]}):l.jsxs(l.Fragment,{children:[ne,ge]}),r?l.jsxs("details",{children:[l.jsx("summary",{className:"min-h-11 cursor-pointer text-sm text-secondary py-3",children:"Advanced provider settings"}),l.jsx("div",{className:"space-y-3 pt-2",children:O})]}):O,B&&l.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:B}),we&&l.jsx("p",{className:"text-sm text-positive-400",children:"Provider updated."}),r?l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Se,h]}):Se]})}const Xd="cdp:chatgpt";function go(e){return e.trim().toLowerCase()}function zX({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(go),u=new Set(r),h=r.length===0||r.some(w=>w!==Xd),f=r.length===0||u.has(Xd);if(h&&n!==void 0&&n.map(go).some(k=>r.length===0||u.has(k))||f&&i===!0)return!0;if(!(h&&n===void 0||f&&i===void 0))return!1}const IX=[{label:"System check",description:"Verify your instance is ready"},{label:"Create project",description:"Name, domain, and locale"},{label:"Queries",description:"Add queries to track"},{label:"Competitors",description:"Add competitor domains"},{label:"Launch",description:"Start your first visibility sweep"}],OX=[{label:"Queries"},{label:"First sweep"}];function Nk(e,n){return(e==="completed"||e==="partial")&&n>0}function _k(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function MC(e){return e.queryCounts.total>0}function qX(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!MC(i))??e.at(0)??null}function PX({current:e,labels:n}){return l.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((i,r)=>{const u=r<e,h=r===e;return l.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${h?"setup-step-active":""}`,role:"listitem","aria-current":h?"step":void 0,children:[l.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),l.jsx("span",{children:i.label})]},i.label)})})}function MX({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=pa();return e&&r?l.jsx(Tk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):l.jsx(m1,{title:e?"Set up AI Visibility":"Setup",children:l.jsx(Tk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function Tk({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=Uc(),{isAdmin:u}=pa(),{dashboard:h,isLoading:f,refetch:b}=zm(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,w=Cs(),k=C.useCallback(T=>{T&&e&&T.focus()},[e]),j=()=>{if(!e){w({to:"/",replace:!0});return}if(i){w({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}w({to:"/projects/$projectName",params:{projectName:e},replace:!0})};return!v||f?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-24"}),l.jsx("div",{className:"skeleton-text-sm w-80"})]}),l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-32"}),l.jsx("div",{className:"space-y-3 mt-3",children:[1,2,3].map(T=>l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1 flex-1",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton h-6 w-16 rounded-full"})]},T))})]})]}):e&&!v.projects.some(T=>T.project.name===e)?l.jsxs("div",{className:"page-container",children:[n?l.jsx(So,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:k,tabIndex:-1,className:"page-title",children:"Set up AI Visibility"}),l.jsx("p",{className:"page-subtitle",children:"Choose what to track, then run your first visibility sweep."})]}),n?l.jsx("div",{className:"page-header-right",children:l.jsx(ue,{type:"button",variant:"outline",onClick:j,children:"Skip AI Visibility"})}):null]}),l.jsxs(Ta,{role:"alert",className:"compact-stack",children:[l.jsx("h2",{children:"Project not found"}),l.jsx("p",{className:"text-secondary",children:"Canonry could not find the project handed off from Site Health. Refresh the project list or choose a project to continue."}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),l.jsx(ue,{type:"button",asChild:!0,children:l.jsx(We,{to:"/projects",children:"View projects"})})]})]})]}):l.jsx(BX,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:k,siteHealthOnboarding:n,onboardingFinish:i})}function BX({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:f,onboardingFinish:b}){const v=e.settings,{isAdmin:w}=pa(),j=c1(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},T=zQ(e.setup,j,v),N=!!u,q=Cs(),E=Jn(),P=C.useRef(h1()).current,H=C.useRef(new Set),X=C.useCallback((U,Fe)=>{if(Fe){if(H.current.has(Fe))return;H.current.add(Fe)}e1({surface:"wizard",...U,eventId:f1()})},[]),L=qX(e.projects,u),Z=L?e.runs.filter(U=>U.projectId===L.project.id).sort((U,Fe)=>Fe.createdAt.localeCompare(U.createdAt)):[],Y=L?.queryCounts.total??0,ee=L?.project.name,B=yt({queryKey:["setup","resume-queries",ee],queryFn:()=>ee?LA(ee):Promise.resolve([]),enabled:!!ee}),K=B.data??[],we=B.data?.length??Y,Xe=L?.competitors.map(U=>U.domain)??[],nt=Z.at(0)??null,Ue=!!L&&MC(L),qe=!!L&&B.isPending,ke=N?2:_k({launchReady:T.launchState.enabled,hasProject:!!L,queryCount:we,competitorCount:Xe.length,hasRunAttempt:Z.length>0||Ue}),$e=_k({launchReady:!0,hasProject:!!L,queryCount:we,competitorCount:Xe.length,hasRunAttempt:Z.length>0||Ue}),[O,ne]=C.useState(ke),[ge,Se]=C.useState(!qe),ae=N&&(qe||!ge),[_e,Be]=C.useState(L?.project.name??""),[ve,le]=C.useState(L?.project.displayName??""),[ce,Q]=C.useState(L?.project.canonicalDomain??""),[me,De]=C.useState(L?.project.country??"US"),[je,it]=C.useState(L?.project.language??"en"),[Ge,jt]=C.useState(L?.project.autoExtractBacklinks??!1),[He,re]=C.useState(L?.project.name??null),[lt,Gt]=C.useState(null),[ea,ci]=C.useState(!1),Le=()=>{if(!He){q({to:"/",replace:!!u});return}q({to:f?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:He},replace:!!u})},ct=(U=!1)=>{if(!b||!He){Le();return}q({to:"/setup",search:{onboarding:"complete",setupProject:He,...U?{skipped:"visibility"}:{}},replace:!0})},Kt=()=>ct(!0),[Ht,Rn]=C.useState(K.map(U=>U.query).join(`
73
- `)),[Lt,ui]=C.useState(we>0),[Os,Un]=C.useState(null),[di,qs]=C.useState(!1),[Vi,$i]=C.useState(!1),Ps=v.providerStatuses.filter(U=>U.state==="ready"),fn=L?.project.providers.map(go)??[],At=Ps.filter(U=>fn.length===0||fn.includes(go(U.name))),gn=Ps.map(U=>go(U.name)),Sn=At.length>0,Ms=fn.length===0||fn.includes(Xd),fa=N&&!w,oe=yt({...YK({client:J,path:{name:ee??""}}),enabled:fa&&!!ee,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),Ie=oe.data?.answerVisibilityProviderReady,Ye=fa&&(oe.isError||oe.isSuccess&&typeof Ie!="boolean"),Qt=yt({...wH({client:J}),enabled:!fa&&Ms&&!Sn,staleTime:6e4,retry:!1}),st=Ms?Qt.isSuccess?typeof Qt.data.browserVersion=="string":Qt.isError?!1:void 0:!1,et=fa?oe.isSuccess&&oe.isFetchedAfterMount&&!oe.isFetching?Ie:void 0:zX({projectProviders:fn,configuredApiProviders:gn,cdpConfigured:st}),Xt=At.length+(st===!0?1:0),[Za,Bs]=C.useState(At[0]?.name??""),[Oo,Ls]=C.useState(5),[Gc,tl]=C.useState(!1),[nl,al]=C.useState(null),[il,sl]=C.useState(""),qo=C.useRef(!1),Kc=C.useCallback(U=>{!U||!qo.current||(qo.current=!1,U.focus({preventScroll:!0}))},[]),[ga,an]=C.useState(!1),[Dn,Ui]=C.useState(!1),[Po,Hc]=C.useState(!1),Mo=v.providerStatuses.filter(U=>go(U.name)!==Xd&&(fn.length===0||fn.includes(go(U.name)))),ta=Mo.find(U=>U.name===il)??Mo.find(U=>U.state!=="ready")??Mo.at(0),Gi=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(He??_e)} (${ce}).
74
- 1. Read the project, its existing tracked queries, and Site Health findings. Ask about my customers, services, and locations if needed, then propose relevant customer queries.
75
- 2. Check the configured connection's capabilities, then use Canonry's Research flow to test a small approved batch. Retrieve saved answers and any available sources. Compare brand mentions separately from site citations; unavailable citation evidence is not a "not cited" result. Text-only routes can inform query research but cannot establish an AI Visibility baseline. Research does not add queries to tracking. If more candidates are needed, propose ICP Discovery separately.
76
- 3. Recommend a short list with reasons. Ask before provider usage. Once I approve, preserve existing queries and return the combined list, one query per line, for me to paste into setup. Do not change tracked queries or launch a visibility sweep.`,ol=async()=>{Hc(!1);try{await navigator.clipboard.writeText(Gi),Ui(!0)}catch{Hc(!0)}},[mi,Ki]=C.useState(Xe.join(`
77
- `)),[Hi,Qi]=C.useState(Xe.length>0),[Jt,rl]=C.useState(null),[ll,Ya]=C.useState(!1),cl=C.useRef(qC(ee)).current?.runId??null,ul=C.useRef(cl),[Xa,Lm]=C.useState(!!cl||!!nt&&!Ue),[pi,$s]=C.useState(!1),[jn,zn]=C.useState(null),[Fi,Vm]=C.useState(cl??(Ue?null:nt?.id??null)),dl=NX(),Ja=yt({...i1({client:J,path:{id:Fi??""}}),enabled:!!Fi,refetchInterval:({state:U})=>{const Fe=U.data?.status;return Fe==="completed"||Fe==="partial"||Fe==="failed"||Fe==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[Zi,Qc]=C.useState(""),[In,Bo]=C.useState(!1),[ml,Lo]=C.useState(null),Gn=_e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),na=Ht.split(`
78
- `).map(U=>U.trim()).filter(Boolean),hi=mi.split(`
79
- `).map(U=>U.trim()).filter(Boolean),ya=Math.max(we,Lt?na.length:0),ba=gX({apiReady:j.apiStatus.state==="ok",databaseConfigured:j.apiStatus.databaseConfigured,workerReady:j.workerStatus.state==="ok",providerReady:et!==!1}),Wa=(ba&&ba!=="no_provider"?T.launchState.blockedReason:Ye?"Provider readiness could not be checked. Try again.":et===void 0?"Checking provider readiness before launch.":ba==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(He?ya===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");C.useEffect(()=>{ge||qe||(N||ne(ke),K.length>0&&(Rn(K.map(U=>U.query).join(`
80
- `)),ui(!0)),Se(!0))},[K,ke,N,ge,qe]),C.useEffect(()=>{if(At.length===0){Bs("");return}At.some(U=>U.name===Za)||Bs(At[0].name)},[At,Za]),C.useEffect(()=>{ge&&(X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.started",step:fX(ke),resumed:!!L},"onboarding.started"),!L&&ke>0&&X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[X,ke,P,ge,L]),C.useEffect(()=>{N||!yX(j)||!ba||X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"system",action:ba==="no_provider"?"configure_provider":"continue",reasonCode:ba},`onboarding.blocked:system:${ba}`)},[X,j,N,P,ba]);const qa=Ja.data?.status,Vo=Ja.data?.snapshots?.length??0;C.useEffect(()=>{if(!Xa||!qa)return;const U=ul.current;if(!U||U!==Fi)return;if(Nk(qa,Vo)){X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:oi(Vo)},"onboarding.step_completed:run"),Yd(U);return}const Fe=qa==="cancelled"?"run_cancelled":qa==="failed"||(qa==="completed"||qa==="partial")&&Vo===0?"run_failed":void 0;Fe&&(X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Fe},`onboarding.blocked:run:${Fe}`),Yd(U))},[X,Fi,P,qa,Vo,Xa]);const Um=async()=>{if(!(!Gn||!ce)){ci(!0),Gt(null);try{const U=await $A(Gn,{displayName:ve||_e,canonicalDomain:ce,country:me,language:je,autoExtractBacklinks:Ge});re(Gn),wn({title:"Project created",detail:`${U.displayName||U.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${U.name}`,dedupeMode:"drop"}),await r(),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),ne(2)}catch(U){Gt(U instanceof Error?U.message:"Failed to create project"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{ci(!1)}}},$o=async()=>{if(!He)return;const U=na;if(U.length!==0){qs(!0),Un(null);try{await VG(He,U),ui(!0),N?await Promise.all([E.invalidateQueries({queryKey:YA({client:J,path:{name:He}})}),E.invalidateQueries({predicate:y1}),E.invalidateQueries({queryKey:["setup","resume-queries",He]})]):await r(),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"queries",method:Vi?"generated":"manual",countBucket:oi(U.length)},"onboarding.step_completed:queries"),ne(N?4:3)}catch(Fe){Un(Fe instanceof Error?Fe.message:"Failed to save queries"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{qs(!1)}}},Pa=async()=>{if(!(!He||!Za)){tl(!0),al(null);try{const U=await XG(He,Za,Oo);if(U.queries.length>0){const Fe=Ht?Ht.trimEnd()+`
81
- `+U.queries.join(`
82
- `):U.queries.join(`
83
- `);Rn(Fe),$i(!0)}}catch(U){al(U instanceof Error?U.message:"Failed to generate queries"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:fc(U,"unknown")},"onboarding.blocked:queries:generate")}finally{tl(!1)}}},pl=async()=>{if(!He)return;const U=hi;if(U.length!==0){Ya(!0),rl(null);try{await GG(He,U),Qi(!0),await r(),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:oi(U.length)},"onboarding.step_completed:competitors"),ne(4)}catch(Fe){rl(Fe instanceof Error?Fe.message:"Failed to save competitors"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Ya(!1)}}},hl=async()=>{const U=Zi.trim();if(U){Bo(!0),Lo(null);try{await UA("gemini",{apiKey:U}),wn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),Qc(""),await r(),Bs(v.providerStatuses.find(Fe=>Fe.name.toLowerCase()==="gemini")?.name??"gemini"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Fe){Lo(Fe instanceof Error?Fe.message:"Failed to save Gemini key"),X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{Bo(!1)}}},fi=async()=>{if(!ho()){if(!He||Wa){zn(Wa??"Complete setup before launching the first sweep.");const U=ba??(He?ya===0?"no_queries":"run_rejected":"unknown");fa||X({flowVersion:ft,onboardingSessionId:P,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:oi(Xt),queryCountBucket:oi(ya),reasonCode:U});return}$s(!0),zn(null);try{const U=await dl.mutateAsync({projectName:He,projectLabel:ve||_e||He,sourceAction:"setup-launch"});Vm(U.id),Lm(!0),OC(He,U.id),ul.current=U.id,fa||X({flowVersion:ft,onboardingSessionId:P,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:oi(Xt),queryCountBucket:oi(ya)}),await r()}catch(U){zn(U instanceof Error?U.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),fa||X({flowVersion:ft,onboardingSessionId:P,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:oi(Xt),queryCountBucket:oi(ya),reasonCode:fc(U,"run_rejected")})}finally{$s(!1)}}},Pn=()=>ne(U=>N?2:Math.max(0,U-1)),Uo=(U,Fe,gi)=>{X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:U,method:"existing",...gi===void 0?{}:{countBucket:oi(gi)}},`onboarding.step_completed:${U}`),ne(Fe)},fl=()=>{if(X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),N){Kt();return}ne(3)},Fc=()=>{X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),ne(4)},Us=N?"section":Ta,va=et!==!0||st===!0?l.jsx(ue,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Ms&&Qt.refetch()},children:"Check again"}):null,gl=(et===!1||ga)&&!!ta,Gs=N&&(O===2||O===4)?w?l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-3 border-b border-default pb-6 mb-6",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:et===!1?"Connect a provider":"Answer engine provider"}),l.jsx(bn,{tone:et===!0?"positive":"neutral",children:et===!0?"Configured":et===!1?"Not connected":"Checking"})]}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:et===!0?At.length>0?`${At.map(U=>U.displayName??U.name).join(", ")} available for this project. Research and sweeps use your provider account.`:"ChatGPT in Chrome is configured for sweeps. Query Research needs an API provider.":et===!1?"An answer engine is required for visibility sweeps. You can save queries now and connect later.":"Checking available providers. You can choose queries while this finishes."}),et===!1||ga?ta?l.jsx("div",{children:l.jsx(DX,{compact:!0,leadingField:l.jsxs("div",{className:"min-w-0 space-y-1.5",children:[l.jsx("label",{className:"block text-sm font-medium text-secondary",htmlFor:"setup-provider",children:"Provider to connect"}),l.jsx("select",{ref:Kc,id:"setup-provider",className:"setup-input",value:ta.name,onChange:U=>{U.target.value!==ta.name&&(qo.current=document.activeElement===U.currentTarget,sl(U.target.value))},children:Mo.map(U=>l.jsx("option",{value:U.name,children:U.displayName??U.name},U.name))})]}),secondaryActions:va,providerName:ta.name,keyUrl:ta.keyUrl,modelHint:ta.modelHint,onSaved:()=>{an(!1),r()}},ta.name)}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:fn.length>0?`This project's provider selection is ${fn.join(", ")}. Configure an allowed provider in Settings, or change the selection in project Settings.`:"Provider configuration is unavailable here. Open Settings to connect an answer engine, then check again."}):null,l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[et===!0&&!ga&&ta?l.jsx(ue,{type:"button",variant:"outline",size:"sm",onClick:()=>an(!0),children:"Configure a provider"}):null,!ta||st===!0?l.jsx(ue,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(We,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,gl?null:va]})]}):l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-2 border-b border-default pb-6 mb-6",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:"Answer engine provider"}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Provider settings are managed by an administrator."}),Ye?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Provider readiness could not be checked. Try again."}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",role:"status",children:et===!0?"An answer engine is available for this project.":et===!1?"Ask an administrator to connect an answer engine for this project. You can save queries now.":"Checking provider readiness. You can save queries now."}),l.jsx(ue,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:oe.isFetching,onClick:()=>{oe.refetch()},children:Ye?"Retry provider check":"Check again"})]}):null,ei=(()=>{switch(O){case 0:return l.jsxs(Ta,{className:"surface-card step-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),l.jsx("h2",{children:"System check"})]})}),l.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),l.jsx("div",{className:"compact-stack",children:T.healthChecks.map(U=>l.jsxs("div",{className:"health-check-row",children:[l.jsxs("div",{children:[l.jsx("p",{className:"run-row-title",children:U.label}),l.jsx("p",{className:"supporting-copy",children:U.detail}),U.id==="provider"&&U.state!=="ready"&&l.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[l.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",l.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"aistudio.google.com"}),")."]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"password",value:Zi,onChange:Fe=>Qc(Fe.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-sm text-heading placeholder:text-faint focus:border-mono-600 focus:outline-none font-mono",disabled:In}),l.jsx(ue,{type:"button",size:"sm",disabled:In||!Zi.trim(),onClick:pn(hl),children:In?"Saving...":"Save"})]}),ml&&l.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[l.jsx("p",{children:ml}),l.jsx("p",{children:"Check that the key is complete, then retry Save."})]}),l.jsxs("p",{className:"text-sm text-secondary",children:["Connect more answer engines later in"," ",l.jsx(We,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),l.jsx(bn,{tone:U.state==="ready"?"positive":"caution",title:U.id==="api"?Vr(j.apiStatus):U.id==="worker"?Vr(j.workerStatus):U.detail,children:U.state==="ready"?"Ready":"Attention"})]},U.id))}),l.jsxs("div",{className:"setup-nav",children:[T.launchState.blockedReason?l.jsx("p",{role:"status",className:"supporting-copy text-negative",children:T.launchState.blockedReason}):l.jsx("span",{}),l.jsx(ue,{type:"button",disabled:!T.launchState.enabled,title:T.launchState.blockedReason,onClick:()=>{X({flowVersion:ft,onboardingSessionId:P,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),ne($e)},children:"Continue"})]})]});case 1:return l.jsxs(Ta,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),l.jsx("h2",{children:"Create project"})]}),He?l.jsx(bn,{tone:"positive",children:"Created"}):null]}),He?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Project ",l.jsx("span",{className:"text-heading font-medium",children:He})," created successfully."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),l.jsx(ue,{type:"button",onClick:()=>Uo("project",2),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),l.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:_e,onChange:U=>Be(U.target.value)}),Gn&&Gn!==_e?l.jsxs("p",{className:"supporting-copy",children:["Slug: ",Gn]}):null]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),l.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:ve,onChange:U=>le(U.target.value)})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),l.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:ce,onChange:U=>Q(U.target.value)})]}),l.jsxs("div",{className:"setup-field-row",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),l.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:me,onChange:U=>De(U.target.value.toUpperCase())})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),l.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:je,onChange:U=>it(U.target.value.toLowerCase())})]})]}),l.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[l.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:Ge,onChange:U=>jt(U.target.checked)}),l.jsxs("span",{className:"flex-1",children:[l.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),l.jsxs("span",{className:"block text-xs text-muted mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",l.jsx(We,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),lt?l.jsx("p",{className:"text-negative-400 text-sm",children:lt}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),l.jsx(ue,{type:"button",disabled:!Gn||!ce||ea,onClick:pn(Um),children:ea?"Creating...":"Create project"})]})]})]});case 2:return l.jsxs(Us,{className:N?"visibility-setup-section step-card":"surface-card step-card","aria-labelledby":"setup-queries-heading",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:N?"Step 1 of 2":"Step 3 of 5"}),l.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),ae?l.jsx(bn,{tone:"neutral",children:"Loading"}):B.isError?l.jsx(bn,{tone:"negative",children:"Load failed"}):Lt?l.jsxs(bn,{tone:"positive",children:[na.length," saved"]}):l.jsxs(bn,{tone:"neutral",children:[na.length," quer",na.length!==1?"ies":"y"]})]}),l.jsx("p",{className:"supporting-copy",children:"Add the queries your customers use, one per line. You can refine your list later."}),l.jsxs("div",{className:"space-y-2 border-b border-default pb-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 space-y-1",children:[l.jsx("h3",{className:"text-sm font-semibold text-heading",children:"Research queries with your agent"}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Ask your agent to compare answers and available sources with Canonry Research, then recommend queries. Research does not change your tracked queries."})]}),l.jsx(ue,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:pn(ol),children:Dn?"Research prompt copied":"Copy research prompt"})]}),l.jsxs("details",{open:Po||void 0,className:"text-sm text-secondary",children:[l.jsx("summary",{className:"min-h-11 cursor-pointer py-3 text-link",children:"View agent prompt"}),l.jsx("textarea",{"aria-label":"Agent query research prompt",readOnly:!0,className:"setup-textarea mt-2 w-full",rows:8,value:Gi})]}),Po?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),ae?l.jsx("div",{className:"rounded-md border border-default bg-bg-elevated/40 p-4 text-sm text-secondary",role:"status",children:"Loading saved queries…"}):B.isError?l.jsxs("div",{className:"compact-stack",children:[l.jsx("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:"Saved queries could not be loaded. Retry before changing the query basket."}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:N?Le:Pn,children:"Back"}),l.jsx(ue,{type:"button",onClick:()=>{B.refetch()},children:"Retry loading queries"})]})]}):Lt?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:na.map(U=>l.jsx("li",{children:U},U))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:N?Le:Pn,children:"Back"}),l.jsx(ue,{type:"button",variant:"outline",onClick:()=>ui(!1),children:"Edit queries"}),l.jsx(ue,{type:"button",onClick:()=>Uo("queries",N?4:3,na.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[At.length>0?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"flex items-end gap-2",children:[l.jsxs("div",{className:"setup-field flex-1",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),l.jsx("select",{id:"gen-provider",className:"setup-input",value:Za,onChange:U=>Bs(U.target.value),children:At.map(U=>l.jsxs("option",{value:U.name,children:[U.displayName??U.name,U.model?` (${U.model})`:""]},U.name))})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),l.jsx("select",{id:"gen-count",className:"setup-input",value:Oo,onChange:U=>Ls(Number(U.target.value)),children:[3,5,10,15,20].map(U=>l.jsx("option",{value:U,children:U},U))})]}),l.jsx(ue,{type:"button",variant:"outline",disabled:Gc||!Za,onClick:pn(Pa),children:Gc?"Analyzing site...":"Generate"})]}),nl?l.jsx("p",{className:"text-negative-400 text-sm",children:nl}):null]}):null,N?null:l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),l.jsx("textarea",{id:"queries",className:"setup-textarea",rows:6,placeholder:`emergency dentist brooklyn
84
- best invisalign downtown brooklyn
85
- pediatric dentist brooklyn heights`,value:Ht,onChange:U=>Rn(U.target.value)})]}),Os?l.jsx("p",{className:"text-negative-400 text-sm",children:Os}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:N?Le:Pn,children:"Back"}),l.jsx(ue,{type:"button",variant:"ghost",onClick:fl,children:N?"Finish without AI Visibility":"Skip for now"}),l.jsx(ue,{type:"button",disabled:na.length===0||di,onClick:pn($o),children:di?"Saving...":`Save ${na.length} quer${na.length!==1?"ies":"y"}`})]})]})]});case 3:return l.jsxs(Ta,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),l.jsx("h2",{children:"Add competitors"})]}),Hi?l.jsx(bn,{tone:"positive",children:"Saved"}):null]}),l.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),Hi?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:hi.map(U=>l.jsx("li",{children:U},U))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),l.jsx(ue,{type:"button",onClick:()=>Uo("competitors",4,hi.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),l.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
86
- competitor2.com`,value:mi,onChange:U=>Ki(U.target.value)})]}),Jt?l.jsx("p",{className:"text-negative-400 text-sm",children:Jt}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Fc,children:"Skip"}),l.jsx(ue,{type:"button",disabled:hi.length===0||ll,onClick:pn(pl),children:ll?"Saving...":`Save ${hi.length} competitor${hi.length!==1?"s":""}`})]})]})]})]});case 4:{const U=Ja.data,Fe=U?.status??(Fi===nt?.id?nt.status:void 0),gi=Fe==="completed"||Fe==="partial"||Fe==="failed"||Fe==="cancelled",Ma=U?.snapshots??[],Go=Ma.filter(Ba=>Ba.citationState==="cited").length,Zc=Ma.filter(Ba=>Ba.answerMentioned===!0).length,An=new Set(Ma.map(Ba=>Ba.query).filter(Ba=>!!Ba)).size,ti=Fe?Nk(Fe,Ma.length):!1,Ks=Ue&&!Xa,Hs=jn??(U?.error?zK(U.error):Fe==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Fe==="completed"||Fe==="partial")&&Ma.length===0?"The sweep finished without producing any snapshots.":nt?.statusDetail||"The sweep did not produce a baseline.");let Qs=null;return Ks||ti?Qs=l.jsx(bn,{tone:"positive",children:"Complete"}):jn&&!Xa?Qs=l.jsx(bn,{tone:"negative",children:"Failed"}):gi?Qs=l.jsx(bn,{tone:"negative",children:Fe==="cancelled"?"Cancelled":"Failed"}):Xa&&(Qs=l.jsx(bn,{tone:"caution",children:"Running"})),l.jsxs(Ta,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:N?"Step 2 of 2":"Step 5 of 5"}),l.jsx("h2",{children:ho()?"AI Visibility":"Launch first run"})]}),Qs]}),Ks?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-secondary",children:["Setup is complete. ",l.jsx("span",{className:"text-strong font-medium",children:He})," already has a successful answer-visibility baseline."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(ue,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):!Xa&&ho()?l.jsxs("div",{className:"compact-stack",children:[He?l.jsx(ZZ,{projectName:He}):l.jsx("p",{className:"text-sm text-secondary",children:pg}),jn&&l.jsx("p",{role:"alert",className:"text-sm text-negative",children:jn}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(ue,{type:"button",onClick:Le,children:"Open project dashboard →"})]})]}):Xa?gi?ti?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",l.jsx("span",{className:"text-heading font-medium",children:He}),":"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Mentioned"}),l.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[Zc,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",An]})]}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries naming your brand"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Cited"}),l.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[Go,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",An]})]}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries citing your site"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Results"}),l.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:Ma.length}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&He?l.jsx(RX,{projectName:He}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(ue,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:Hs}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:ho()?pg:w?"Fix provider or query configuration if needed, then retry without leaving setup.":"Ask an administrator to review the provider and query configuration."})]}),l.jsxs("div",{className:"setup-nav",children:[w&&!ho()?l.jsx(ue,{type:"button",variant:"outline",asChild:!0,children:l.jsx(We,{to:"/settings",children:"Configure providers"})}):l.jsx("span",{}),ho()||!w?l.jsx(ue,{type:"button",onClick:Le,children:"Open project dashboard →"}):l.jsx(ue,{type:"button",disabled:pi||!!Wa,onClick:pn(fi),children:pi?"Retrying...":"Retry visibility sweep"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsx("p",{className:"text-neutral",children:"Sweep running. This usually takes 30 to 60 seconds."}),l.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:l.jsxs("p",{children:["Status: ",l.jsx("span",{className:"text-neutral",children:Fe??"queued"})]})}),Ja.isError&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:Ja.error instanceof Error?Ja.error.message:"Could not refresh the sweep status."}),l.jsx(ue,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Ja.refetch()},children:"Retry status check"})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(ue,{type:"button",variant:"outline",onClick:f?()=>ct():Le,children:f?"Finish setup":"Watch on project page"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"supporting-copy",children:["Your queries are saved. Run a first sweep to get a baseline for"," ",l.jsx("span",{className:"text-heading font-medium",children:He}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Wa||jn)&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:jn??Wa}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:"Resolve the blocker above, then retry the sweep here."})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(ue,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),l.jsx(ue,{type:"button",variant:"ghost",onClick:Kt,children:"Finish without running"}),ba==="no_provider"&&!N?l.jsx(ue,{type:"button",asChild:!0,children:l.jsx(We,{to:"/settings",children:"Configure a provider"})}):l.jsx(ue,{type:"button",disabled:pi||!!Wa,title:Wa,onClick:pn(fi),children:pi?"Launching...":jn?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return l.jsxs("div",{className:N?"page-container visibility-setup":"page-container",children:[f?l.jsx(So,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:u?h:void 0,tabIndex:u?-1:void 0,className:"page-title",children:u?"Set up AI Visibility":"Setup"}),l.jsx("p",{className:"page-subtitle",children:u?"Connect an answer engine, then choose queries for your first sweep.":"Create a project and run its first visibility check."})]}),f?l.jsx("div",{className:"page-header-right",children:l.jsx(ue,{type:"button",variant:"outline",className:"min-h-11",onClick:Kt,children:"Skip AI Visibility"})}):null]}),f?null:l.jsx(PX,{current:N?O===4?1:0:O,labels:N?OX:IX}),l.jsxs("section",{className:"setup-wizard",children:[Gs,ei]})]})}const Nf="canonry mcp install --client claude-code",LX="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function VX(){const e=C.useRef(h1()).current,n=C.useRef(new Set),i=C.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),e1({...u,flowVersion:ft,onboardingSessionId:e,surface:"platform",eventId:f1()}))},[e]);return C.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),C.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const Mm=C.createContext(()=>{});function $X({projectName:e,skippedVisibility:n=!1}){const i=yt({...hQ({client:J,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=VX(),h=Ek(e,ze["site-audit"]),f=Ek(e,ze["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...UX(f,n)};return l.jsx(Mm.Provider,{value:u,children:l.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[l.jsx(So,{current:"done",outcomes:b}),l.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[l.jsx(GX,{}),l.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:Ea(250),children:"Setup complete"}),l.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:Ea(350),children:"You’re set."}),l.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:Ea(450),children:["Canonry is tracking ",l.jsx("span",{className:"font-medium text-heading",children:e}),". Here’s how to get the most out of it from here."]})]}),l.jsxs("div",{className:"mt-14 grid gap-4 md:grid-cols-6",children:[l.jsx(gd,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:l.jsx(QX,{projectName:e})}),l.jsx(gd,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:l.jsx(YX,{projectName:e})}),l.jsx(gd,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:l.jsx(WX,{projectName:e})}),l.jsx(gd,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:l.jsx(eJ,{projectName:e,score:r?.aggregateScore??null})})]}),l.jsxs("div",{className:"onb-reveal mt-12 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",style:Ea(1e3),children:[l.jsx(ue,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:l.jsxs(We,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,l.jsx(gc,{className:"size-4","aria-hidden":"true"})]})}),l.jsx(ue,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:l.jsx(We,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function Ek(e,n){const i=yt({...XA({client:J,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>Rk(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return Rk(i)}function UX(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function Rk(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==ks.probe);if(!n.some(i=>i.status===tn.completed||i.status===tn.partial))return n.some(i=>i.status===tn.queued||i.status===tn.running)?"pending":n.length>0?"incomplete":"skipped"}function Ea(e){return{"--onb-delay":`${e}ms`}}function GX(){return l.jsx("div",{className:"onb-check relative mx-auto size-20","aria-hidden":"true",children:l.jsxs("svg",{viewBox:"0 0 80 80",className:"relative size-20",children:[l.jsx("circle",{className:"onb-check-ring",cx:"40",cy:"40",r:"36",fill:"none",strokeWidth:"3",pathLength:"1"}),l.jsx("path",{className:"onb-check-mark",d:"M25 41 L35 51 L56 30",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",pathLength:"1"})]})})}function gd({className:e="",delayMs:n,labelledBy:i,children:r}){return l.jsx("section",{"aria-labelledby":i,className:`onb-reveal onb-tile flex flex-col overflow-hidden rounded-2xl border border-default bg-surface p-6 md:p-7 ${e}`,style:Ea(n),children:r})}function Bm({id:e,eyebrow:n,title:i,children:r}){return l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted",children:n}),l.jsx("h2",{id:e,className:"mt-1.5 text-2xl font-semibold tracking-tight text-heading",children:i}),l.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const yd=[{id:"diagnose",label:"Diagnose",prompt:"Why did we lose citations this week?",calls:["canonry_insights_list","canonry_competitor_landscape"],reply:"Two engines started citing a competitor’s comparison page instead of yours. Want me to draft one that answers the same query?"},{id:"fix",label:"Fix",prompt:"Fix the weakest pages on the site.",calls:["canonry_technical_aeo_pages","canonry_site_health_page_audit"],reply:"The lowest-scoring pages are missing structured data and answer-first intros. I’ve written the changes for you to review."},{id:"automate",label:"Automate",prompt:"Re-check everything every Monday and tell me in Slack.",calls:["canonry_schedule_set","canonry_agent_webhook_attach"],reply:"Done. A sweep runs every Monday, and I’ll post what changed to Slack."}],KX=9e3;function HX(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function QX({projectName:e}){const n=C.useContext(Mm),[i,r]=C.useState(0),[u,h]=C.useState(!1),[f,b]=C.useState(!1);C.useEffect(()=>{if(u||HX())return;const k=window.setTimeout(()=>r(j=>(j+1)%yd.length),KX);return()=>window.clearTimeout(k)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(Nf),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{wn({tone:"negative",title:"Could not copy the command",detail:`Run ${Nf} in your terminal.`})}},w=yd[i]??yd[0];return l.jsxs(l.Fragment,{children:[l.jsxs(Bm,{id:"onb-agent-heading",eyebrow:"Your agent",title:"Let your agent run it.",children:["Your agent can do everything in Canonry: diagnose a drop, fix pages, run sweeps and scans, and write the client report. Use Claude Code, Codex, Cursor, or Aero, the analyst built into"," ",l.jsx("span",{className:"text-heading",children:e})," that reviews every sweep on its own."]}),l.jsxs("div",{className:"mt-6 flex flex-1 flex-col rounded-xl border border-default bg-bg",onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),onFocus:()=>h(!0),children:[l.jsxs("div",{className:"flex items-center gap-1 border-b border-default px-3 py-2",role:"tablist","aria-label":"Example agent sessions",children:[yd.map((k,j)=>l.jsx("button",{type:"button",role:"tab","aria-selected":j===i,onClick:()=>{r(j),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${j===i?"bg-surface-inset text-heading":"text-muted hover:text-secondary"}`,children:k.label},k.id)),l.jsx("span",{className:"ml-auto text-xs text-faint",children:"Example"})]}),l.jsxs("div",{role:"tabpanel","aria-label":`${w.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[l.jsxs("p",{className:"onb-type text-heading",style:Ea(150),children:[l.jsx("span",{className:"text-muted",children:"> "}),w.prompt]}),w.calls.map((k,j)=>l.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:Ea(1300+j*450),children:[l.jsx("span",{className:"text-positive",children:"●"})," ",k]},k)),l.jsx("p",{className:"onb-line mt-3 text-secondary",style:Ea(1500+w.calls.length*450),children:w.reply}),l.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:Ea(1900+w.calls.length*450),"aria-hidden":"true"})]},w.id)]}),l.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[l.jsx("code",{className:"min-w-0 flex-1 truncate rounded-lg border border-default bg-surface-inset px-3 py-2 font-mono text-[13px] text-heading",children:Nf}),l.jsxs(ue,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[f?l.jsx(Wd,{className:"size-4","aria-hidden":"true"}):l.jsx(jg,{className:"size-4","aria-hidden":"true"}),f?"Copied":"Copy"]}),l.jsx("a",{href:LX,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const FX=[{icon:Sg,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:Hk,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:Fk,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],ZX=["GPTBot","ClaudeBot","PerplexityBot"];function YX({projectName:e}){const n=C.useContext(Mm);return l.jsxs(l.Fragment,{children:[l.jsx(Bm,{id:"onb-data-heading",eyebrow:"Server-side traffic",title:"See the AI bots.",children:"AI crawlers and answer-engine fetches never run JavaScript, so Google Analytics never sees them. Canonry reads them straight from your server."}),l.jsx(XX,{}),l.jsxs(We,{to:"/traffic",onClick:()=>n("connect_server_traffic"),"aria-label":"Connect server-side traffic",className:"group flex items-center gap-3 rounded-xl border border-strong bg-surface-inset px-4 py-3 text-sm font-medium text-heading transition-colors hover:bg-surface-inset-hover",children:[l.jsx(Zk,{className:"size-4 text-positive","aria-hidden":"true"}),l.jsxs("span",{className:"flex-1",children:["Connect your server",l.jsx("span",{className:"block text-xs font-normal text-secondary",children:"Cloudflare, Vercel, WordPress, or Cloud Run"})]}),l.jsx(gc,{className:"size-4 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]}),l.jsx("p",{className:"mt-5 text-xs font-medium uppercase tracking-wide text-muted",children:"Also connect"}),l.jsx("ul",{className:"mt-1 divide-y divide-default",children:FX.map(({icon:i,label:r,action:u,to:h})=>l.jsx("li",{children:l.jsxs(We,{to:h,params:{projectName:e},"aria-label":`Connect ${r}`,onClick:()=>n(u),className:"group flex items-center gap-3 py-2.5 text-sm text-heading",children:[l.jsx(i,{className:"size-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"flex-1",children:r}),l.jsx(gc,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function XX(){const e=[22,70,118];return l.jsxs("div",{className:"relative my-6 h-36","aria-hidden":"true",children:[l.jsx("svg",{viewBox:"0 0 200 140",preserveAspectRatio:"none",className:"absolute inset-0 size-full",children:e.map((n,i)=>l.jsx("path",{className:"onb-flow",style:Ea(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),ZX.map((n,i)=>l.jsx("span",{className:"onb-bot absolute left-0 -translate-y-1/2 rounded-md border border-default bg-bg-elevated px-2 py-1 font-mono text-[11px] text-secondary",style:{top:`${(e[i]??70)/140*100}%`,...Ea(i*600)},children:n},n)),l.jsx("span",{className:"onb-hub absolute right-0 top-1/2 flex size-11 -translate-y-1/2 items-center justify-center rounded-2xl bg-accent text-on-inverse",children:l.jsx(Zk,{className:"size-5"})})]})}const JX=["M","T","W","T","F","S","S"];function WX({projectName:e}){return l.jsxs(l.Fragment,{children:[l.jsx(Bm,{id:"onb-schedule-heading",eyebrow:"Scheduled sweeps",title:"Runs on its own.",children:"Re-measure every week without lifting a finger, so a drop shows up before a customer notices."}),l.jsx("ol",{className:"mt-6 grid grid-cols-7 gap-2","aria-hidden":"true",children:JX.map((n,i)=>l.jsxs("li",{className:"flex flex-col items-center gap-2",children:[l.jsx("span",{className:"onb-day size-3 rounded-full bg-surface-inset",style:Ea(i*500)}),l.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),l.jsx(BC,{projectName:e,to:"/projects/$projectName/settings",icon:Qk,label:"Set a schedule",action:"set_schedule"})]})}function eJ({projectName:e,score:n}){return l.jsxs(l.Fragment,{children:[l.jsx(Bm,{id:"onb-alerts-heading",eyebrow:"Notifications",title:"Hear about changes.",children:"Get a webhook in Slack or anywhere else when a sweep finishes or a score moves."}),l.jsxs("div",{className:"relative mt-6 flex h-14 items-center","aria-hidden":"true",children:[l.jsx("span",{className:"onb-bell flex size-10 items-center justify-center rounded-full border border-default bg-bg-elevated",children:l.jsx(Ef,{className:"size-4 text-secondary"})}),l.jsxs("span",{className:"onb-toast ml-3 flex items-center gap-2 rounded-xl border border-default bg-bg-elevated px-3 py-2 text-sm shadow-[0_8px_24px_var(--color-shadow-panel)]",children:[l.jsx("span",{className:"size-2 rounded-full bg-positive-400"}),l.jsx("span",{className:"text-heading",children:e}),l.jsx("span",{className:"text-secondary",children:n===null?"sweep finished":`page health ${n}`})]})]}),l.jsx(BC,{projectName:e,to:"/projects/$projectName/settings",icon:Ef,label:"Add a notification",action:"add_notification"})]})}function BC({projectName:e,to:n,icon:i,label:r,action:u}){const h=C.useContext(Mm);return l.jsxs(We,{to:n,params:{projectName:e},onClick:()=>h(u),className:"group mt-6 inline-flex items-center gap-2 self-start text-sm font-medium text-link",children:[l.jsx(i,{className:"size-4","aria-hidden":"true"}),r,l.jsx(gc,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const tJ=C.lazy(async()=>({default:(await Li(()=>import("./SiteHealthSection-6qdXlFcO.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),nJ=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${n3} pages, then stops.`,aJ=1800,iJ="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",sJ="Help me set up Canonry for my public site.\n\nUse the official Canonry docs:\n- Agent quickstart: https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent\n- CLI reference: https://github.com/Canonry/canonry/blob/main/skills/canonry/references/canonry-cli.md\n- Plugin setup: https://github.com/Canonry/canonry/blob/main/docs/plugins.md\n- MCP setup: https://github.com/Canonry/canonry/blob/main/docs/mcp.md\n\nPick one path and stay on it. Use connected Canonry tools (plugin or MCP) only if you have them and I have not pointed you at a specific install. A connected tool runs in its own process and never sees `CANONRY_CONFIG_DIR`, `CANONRY_PORT`, or anything else you export in a shell, so it always acts on my default install. If I named a config directory, a port, or a sandbox, that is the shell path: use `cnry` and tell me which path you chose. Never mix the two in one run, and never create a duplicate project. The `cnry` and `canonry` commands are interchangeable.\n\n1. Ask for my public domain, country, and language. Do not create or scan anything yet. Country and language are only applied when a project is created, so if you reuse an existing project, report its country and language instead of changing them.\n2. Shell path only: confirm `cnry` is on PATH, then run `cnry --version`. If Canonry is missing, propose `npm install -g @canonry/canonry` and wait for approval. Then run `cnry doctor --format json`, which is the command that says whether config, database, and server are in place. `cnry --version` does not read config and succeeds on a completely unconfigured install, so it cannot answer this. If config is missing, run `cnry bootstrap` yourself: it is not interactive, takes about a second, and is safe to rerun. Do not hand it to me and wait. The interactive command is `cnry init`, which is optional provider and OAuth setup that Page Health does not need. Bootstrap prints an API key, so do not repeat its output back to me, and never ask me to paste passwords, API keys, OAuth credentials, or command output.\n3. Confirm the API is reachable. `cnry doctor --format json` reports it, and any project read exits non-zero with `CONNECTION_ERROR` when it is not. If it is unreachable, propose `cnry start` and wait for approval. Use `cnry start`, which is the background daemon, and not `cnry serve`, which runs in the foreground and will block you until I stop it, even though some error messages suggest it. Stop anything you started with `cnry stop`.\n4. List projects with the connected project tool or `cnry project list --format json`, and reuse one whose domain matches. Confirm the proposed name is not already assigned to a different domain. To find out whether a project has already been scanned, run `cnry technical-aeo score <project> --format json` with no `--run-id`, which reports the latest run. Read the `hasData` field, not the score: this command exits 0 and reports `aggregateScore: 0` for a project that has never been scanned, so reading the score alone would have you tell me my site scored zero. If `hasData` is true and `runStatus` is `completed` or `partial`, read that scan instead of starting a new one. If no project matches, show the exact create operation and wait for approval.\n5. Propose a bounded Site Health scan: `--max-pages 100` for a first look, plus whether dead-link checking is on (it is off unless you pass `--check-dead-links`). Show the connected operation or the exact `cnry technical-aeo run <project> --max-pages 100 --wait --format json` command with the project name filled in, and wait for separate approval before scanning. `--wait` polls for up to 15 minutes and returns only the run id and status. If the status it returns is still `queued` or `running`, the scan has not finished: do not rerun it or report results, poll `cnry technical-aeo progress <project> --run-id <run-id> --format json` until it is terminal. If `--wait` outruns your own tool timeout first, recover the run id with `cnry technical-aeo score <project> --format json` and poll the same way.\n6. When the run is `completed` or `partial`, read `cnry technical-aeo crawl <project> --run-id <run-id> --format json` first. It is the only one of these commands that carries `termination` and `complete`; the score and pages commands do not. Then read `cnry technical-aeo score <project> --run-id <run-id> --format json` and `cnry technical-aeo pages <project> --run-id <run-id> --sort score-asc --limit 10 --format jsonl`. Tell me the termination reason in plain words and whether the scan covered the whole site or stopped at a page, link, depth, or time limit. A `partial` run scored the pages it reached and not my site, so never present it as a full-site result. If it stopped early, the fix depends on the reason, so say which: a page or depth limit needs a larger budget, a time limit needs a smaller scan (a lower `--max-pages` or `--max-depth`). If the run failed or was cancelled, inspect the run error and stop.\n7. Summarize only completed evidence, then propose AI Visibility setup. Ask before you add queries, connect providers, start a provider-backed or quota-consuming run, edit files, or publish.";function oJ(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const rJ="2000-01-01T00:00:00.000Z",lJ=5e3;function cJ(e,n){const i=new Set,r=new Map;for(const f of n)f.trigger!==ks.probe&&(r.has(f.projectId)||r.set(f.projectId,f.id),(f.status===tn.completed||f.status===tn.partial)&&i.add(f.projectId));const h=(e.every(f=>f.createdAt)?[...e].sort((f,b)=>(f.createdAt??"").localeCompare(b.createdAt??"")||f.name.localeCompare(b.name)):e).find(f=>!i.has(f.id));return h?{projectName:h.name,runId:r.get(h.id)}:null}const LC=[{value:"US",label:"United States"},{value:"CA",label:"Canada"},{value:"GB",label:"United Kingdom"},{value:"AU",label:"Australia"},{value:"NZ",label:"New Zealand"},{value:"IE",label:"Ireland"},{value:"DE",label:"Germany"},{value:"FR",label:"France"},{value:"ES",label:"Spain"},{value:"IT",label:"Italy"},{value:"NL",label:"Netherlands"},{value:"BR",label:"Brazil"},{value:"MX",label:"Mexico"},{value:"IN",label:"India"},{value:"SG",label:"Singapore"},{value:"JP",label:"Japan"}],VC=[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"nl",label:"Dutch"},{value:"ja",label:"Japanese"}];function uJ(e,n){try{const i=new Intl.DisplayNames(["en"],{type:"region"}),r=new Intl.DisplayNames(["en"],{type:"language"}),u=e.length===2?i.of(e.toUpperCase()):void 0,h=n?r.of(n.toLowerCase()):void 0;return`${u??(e||"Country")} · ${h??(n||"Language")}`}catch{return`${e||"Country"} · ${n||"Language"}`}}function dJ(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:LC.some(u=>u.value===i),languageValid:VC.some(u=>u.value===r)}}function mJ(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function pJ(e){const n=e.trim();if(!n)return null;const i=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`https://${n}`;let r;try{r=new URL(i)}catch{return null}if(r.protocol!=="http:"&&r.protocol!=="https:")return null;const u=r.hostname.toLowerCase().replace(/^www\./,"");if(!u||u==="localhost"||mJ(u)||!u.includes("."))return null;const h=u.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return h?{canonicalDomain:u,projectName:h,displayName:u}:null}async function hJ(e,n=aJ){let i;const r=new Promise(h=>{i=setTimeout(()=>h({state:"timed-out"}),n)}),u=await Promise.race([e.then(h=>({state:"queued",run:h})),r]);return i&&clearTimeout(i),u}function fJ(e,n){e.catch(()=>{wn({title:"Site Health scan did not start",detail:"The project is safe. Choose Run scan in Site Health to retry.",tone:"negative",dedupeKey:`site-health-dispatch:${n}`})})}function $C(e){const n=C.useRef(h1()).current,i=C.useRef(new Set),r=C.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}e1({...u,surface:e,eventId:f1()})},[e]);return{onboardingSessionId:n,emit:r}}function Dk(e,n){return e instanceof xn&&e.statusCode===409?"A project with this name already exists. Change the project name, or open the existing project.":e instanceof Error&&e.message?e.message:n}function vg(){return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Preparing setup"}),l.jsx("p",{className:"page-subtitle",children:"Checking the projects already on this install."})]})}),l.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-default bg-surface p-4 text-sm text-secondary",role:"status",children:[l.jsx(Er,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function gJ({onRetry:e}){return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t load projects"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not confirm whether this install already has a project."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Setup is paused to protect existing projects."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(ue,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function yJ({projectName:e,initialRunId:n}){return l.jsx(m1,{title:"Site Health setup",children:l.jsx(bJ,{projectName:e,initialRunId:n})})}function bJ({projectName:e,initialRunId:n}){const i=Cs(),r=yt({...Ro({client:J}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=$C("site_health"),[f]=C.useState(()=>xX(n));C.useEffect(()=>{f&&wX()},[f]),C.useEffect(()=>{e&&h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!f},"onboarding.started")},[h,f,n,u,e]),C.useEffect(()=>{!e||!n||qC(e)?.runId!==n&&OC(e,n)},[n,e]);const v=yt({...i1({client:J,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:N})=>{const q=N.data?.status;return q==="completed"||q==="partial"||q==="failed"||q==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(C.useEffect(()=>{if(!e||!n||!v)return;if(v==="completed"||v==="partial"){h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),Yd(n);return}if(v!=="failed"&&v!=="cancelled")return;const N=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:N},`onboarding.blocked:run:${N}`),Yd(n)},[h,n,u,e,v]),!e)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsx("p",{className:"page-subtitle",children:"This setup link does not identify a project."})]})}),l.jsx(ue,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});if(r.isPending)return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx(So,{current:"site"}),l.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Er,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health setup…"]})]});if(r.isError)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t resume setup"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project for this Site Health scan."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(ue,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const w=r.data.find(N=>N.name===e);if(!w)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsxs("p",{className:"page-subtitle",children:["Canonry could not find ",e,". It will not open a different project."]})]})}),l.jsx(ue,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});const k=()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:w.name},replace:!0})},j=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:w.name},replace:!0})},T=()=>{h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),i({to:"/setup",search:{onboarding:"complete",setupProject:w.name,skipped:"visibility"},replace:!0})};return l.jsxs("div",{className:"page-container max-w-7xl py-8 md:py-10",children:[l.jsx("h1",{className:"sr-only",children:"Set up Canonry"}),l.jsx(C.Suspense,{fallback:l.jsxs("div",{className:"space-y-5",children:[l.jsx(So,{current:"site"}),l.jsxs("div",{className:"flex min-h-72 items-center justify-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Er,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:l.jsx(tJ,{projectName:w.name,projectId:w.id,initialRunId:n,onReleaseInitialRun:k,showOnboardingActions:!0,onContinueOnboarding:j,onSkipOnboarding:T})})]})}function vJ(){const e=Ik({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=xG(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,f]=C.useState(!1),[b,v]=C.useState(void 0),w=yt({...Ro({client:J}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),k=yt({..._m({client:J,query:{kind:ze["site-audit"],since:rJ,limit:lJ}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),j=u==="auto"&&w.isSuccess&&w.isFetchedAfterMount&&w.data.length===0;C.useEffect(()=>{j&&f(!0)},[j]);const T=u!=="auto"?{state:"idle"}:w.isSuccess&&w.isFetchedAfterMount?{state:"success",projectCount:w.data.length}:w.isError?{state:"error"}:{state:"loading"},N=u==="legacy"?"legacy":h||j?"platform":oJ(u,T);if(e.onboarding==="complete"&&e.setupProject)return l.jsx($X,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return l.jsx(yJ,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const q=u==="auto"&&N==="legacy"&&!e.setupProject&&w.isSuccess;if(q&&b===void 0)return k.isError?v(null):k.isSuccess&&k.isFetchedAfterMount&&v(cJ(w.data,k.data)),l.jsx(vg,{});const E=q?b:null;return E?l.jsx(xJ,{projectName:E.projectName,runId:E.runId}):N==="legacy"?l.jsx(MX,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):N==="loading"?l.jsx(vg,{}):N==="retry"?l.jsx(gJ,{onRetry:()=>{w.refetch()}}):l.jsx(wJ,{onActivationStarted:()=>f(!0),skipSiteScan:e.siteScan==="skip"})}function xJ({projectName:e,runId:n}){const i=Cs();return C.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),l.jsx(vg,{})}function wJ({onActivationStarted:e,skipSiteScan:n}){return l.jsx(m1,{title:"Site Health setup",children:l.jsx(kJ,{onActivationStarted:e,skipSiteScan:n})})}function kJ({onActivationStarted:e,skipSiteScan:n}){const i=Cs(),r=Jn(),u=_X(),h=yt({...bH({client:J}),retry:!1}),f=Ga(vH()),[b,v]=C.useState(""),[w,k]=C.useState(""),[j,T]=C.useState(""),[N,q]=C.useState("US"),[E,P]=C.useState("en"),[H,X]=C.useState(!1),[L,Z]=C.useState("idle"),[Y,ee]=C.useState(null),[B,K]=C.useState(null),[we,Xe]=C.useState(!1),[nt,Ue]=C.useState(null),[qe,ke]=C.useState(!1),$e=h.isError?void 0:h.data,O=typeof $e?.enabled=="boolean"?$e.enabled:null,ne=f.isPending?f.variables.body.enabled:O,[ge,Se]=C.useState(null),ae=C.useRef(null),{onboardingSessionId:_e,emit:Be}=$C("platform");C.useEffect(()=>{Be({flowVersion:ft,onboardingSessionId:_e,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Be,_e]);const ve=pJ(b),le=w||ve?.projectName||"",ce=j||ve?.displayName||"",Q=L==="creating"||L==="dispatching",me=B??nt,De=uJ(N,E),{countryValid:je,languageValid:it}=dJ(N,E),Ge=je&&it;C.useEffect(()=>{me&&ae.current?.focus()},[me]);const jt=(Le,ct)=>i({to:"/setup",search:{...ct?{siteHealthRunId:ct}:{},onboarding:"site-health",setupProject:Le.name},replace:!0}),He=async Le=>{Z("dispatching"),Ue(null);try{const ct=u.mutateAsync({projectName:Le.name,projectId:Le.id,projectLabel:Le.displayName||Le.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:n3}}),Kt=await hJ(ct);if(Kt.state==="queued"){Be({flowVersion:ft,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),vX(Kt.run.runId),await jt(Le,Kt.run.runId);return}ct.then(()=>{Be({flowVersion:ft,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},Ht=>{Be({flowVersion:ft,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:fc(Ht,"run_rejected")})}),fJ(ct,Le.id),await jt(Le)}catch(ct){Z("recovery"),Ue(Dk(ct,"The project was created, but the Site Health scan could not be started."));const Kt=fc(ct,"run_rejected");Be({flowVersion:ft,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Kt}),Be({flowVersion:ft,onboardingSessionId:_e,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Kt},`onboarding.blocked:run:${Kt}`)}},re=async Le=>{if(Le.preventDefault(),!(!ve||!n&&!H||!Ge||Q)){Z("creating"),K(null),Xe(!1),Ue(null);try{const ct=await LG({name:le,displayName:ce,canonicalDomain:ve.canonicalDomain,country:N,language:E});if(e(),ee(ct),Be({flowVersion:ft,onboardingSessionId:_e,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:As({client:J})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:ct.name},replace:!0});return}await He(ct)}catch(ct){Z("idle");const Kt=ct instanceof xn&&ct.statusCode===409;Xe(Kt),K(Dk(ct,"Could not create the project. Try again.")),Be({flowVersion:ft,onboardingSessionId:_e,event:"onboarding.blocked",step:"project",action:"save",reasonCode:fc(ct,"project_create_failed")},"onboarding.blocked:project"),Kt&&(e(),r.invalidateQueries({queryKey:As({client:J})}))}}},lt=()=>{Y&&!Q&&He(Y)},Gt=()=>{Q||i({to:"/projects"})},ea=async()=>{try{await navigator.clipboard.writeText(sJ),ke(!0)}catch{wn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},ci=async Le=>{Se(null);try{const ct=await f.mutateAsync({client:J,body:{enabled:Le}});r.setQueryData(JA({client:J}),ct),ct.enabled!==Le&&Se(`The server kept telemetry ${ct.enabled?"on":"off"}. Check its telemetry settings.`)}catch{Se("Could not update telemetry. Try again.")}};return Y&&L==="recovery"?l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx(So,{current:"site"}),l.jsx("div",{className:"page-header mt-8",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project created"}),l.jsxs("p",{className:"page-subtitle",children:[Y.displayName||Y.name," is ready. The Site Health scan needs another try."]})]})}),l.jsxs("div",{ref:ae,className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:nt}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"You can retry the scan or continue setup and retry from Site Health."}),l.jsxs("div",{className:"mt-4 flex flex-wrap gap-3",children:[l.jsx(ue,{type:"button",onClick:lt,children:"Retry Site Health scan"}),l.jsx(ue,{type:"button",variant:"secondary",onClick:()=>{jt(Y)},children:"Continue setup"})]})]})]}):l.jsxs("div",{className:"page-container max-w-xl py-8 md:py-12",children:[n?null:l.jsx(So,{current:"site"}),l.jsxs("header",{className:`mb-8 ${n?"":"mt-8"}`,children:[l.jsx("h1",{id:"site-map-setup-title",className:"text-2xl font-semibold tracking-[-0.025em] text-heading",children:n?"Create a project":"Scan your site"}),l.jsx("p",{className:"mt-2 max-w-lg text-sm leading-6 text-secondary",children:n?"Add a public domain, then choose the queries you want to track. No site scan will run.":"Enter your public website to see its pages, structure, internal links, and technical SEO scores."})]}),l.jsxs("form",{"aria-labelledby":"site-map-setup-title",className:"space-y-6",onSubmit:pn(re),noValidate:!0,children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm font-medium text-heading",htmlFor:"launchpad-domain",children:"Website URL"}),l.jsx("input",{id:"launchpad-domain",className:"h-11 w-full rounded-md border border-strong bg-bg-elevated/50 px-3 text-base text-heading outline-none transition placeholder:text-muted focus:border-mono-500 focus:ring-1 focus:ring-mono-500",type:"text",inputMode:"url",autoComplete:"url",autoCapitalize:"none",spellCheck:!1,required:!0,"aria-invalid":!!(b&&!ve),"aria-describedby":b&&!ve?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:Le=>{v(Le.target.value),K(null),Xe(!1)}}),l.jsx("p",{id:"launchpad-domain-hint",className:"text-sm text-secondary",children:n?l.jsxs(l.Fragment,{children:["A public domain is still required."," ",l.jsx(We,{to:"/setup",search:{experience:"platform"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Map with Site Health instead"})]}):l.jsxs(l.Fragment,{children:["Only public pages are scanned."," ",l.jsx(We,{to:"/setup",search:{experience:"platform",onboarding:"first-run",siteScan:"skip"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Set up without a site scan"})]})}),b&&!ve?l.jsx("p",{id:"launchpad-domain-error",className:"text-sm text-negative",role:"alert",children:"Enter a public domain, such as example.com."}):null]}),l.jsxs("details",{className:"group border-y border-default",children:[l.jsxs("summary",{className:"flex min-h-11 cursor-pointer list-none items-center justify-between gap-4 py-3 text-sm [&::-webkit-details-marker]:hidden",children:[l.jsx("span",{className:"font-medium text-heading",children:"Project name and locale"}),l.jsxs("span",{className:"flex items-center gap-2 text-secondary",children:[De,l.jsx(Jd,{className:"size-4 transition-transform group-open:rotate-180 motion-reduce:transition-none","aria-hidden":"true"})]})]}),l.jsxs("div",{className:"space-y-5 border-t border-default py-4",children:[ve?l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Project"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-project-name",children:"Project name"}),l.jsx("input",{id:"launchpad-project-name",className:"setup-input h-10",type:"text",value:le,onChange:Le=>k(Le.target.value)})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-display-name",children:"Display name"}),l.jsx("input",{id:"launchpad-display-name",className:"setup-input h-10",type:"text",value:ce,onChange:Le=>T(Le.target.value)})]})]})]}):null,l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Locale"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-country",children:"Country"}),l.jsx("select",{id:"launchpad-country",className:"setup-input h-10",value:N,onChange:Le=>q(Le.target.value),children:LC.map(Le=>l.jsx("option",{value:Le.value,children:Le.label},Le.value))})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-language",children:"Language"}),l.jsx("select",{id:"launchpad-language",className:"setup-input h-10",value:E,onChange:Le=>P(Le.target.value),children:VC.map(Le=>l.jsx("option",{value:Le.value,children:Le.label},Le.value))})]})]})]})]})]}),n?null:l.jsxs("label",{className:"flex min-h-11 cursor-pointer items-start gap-3 py-2",children:[l.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg",type:"checkbox",checked:H,onChange:Le=>X(Le.target.checked),"aria-label":"Allow Canonry to scan this public site."}),l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"text-sm leading-5 text-heading",children:"Allow Canonry to scan this public site."}),l.jsx(_a,{text:nJ})]})]}),me?l.jsxs("div",{ref:ae,className:"rounded-md border border-negative bg-negative-soft p-3",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:me}),we?l.jsx(ue,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:Gt,children:"View projects"}):null]}):null,l.jsxs("div",{className:"grid gap-2",children:[l.jsx(ue,{className:"h-11 w-full",type:"submit",disabled:!ve||!n&&!H||!Ge||Q,children:L==="creating"||L==="dispatching"?l.jsxs(l.Fragment,{children:[l.jsx(Er,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),L==="dispatching"?l.jsx("span",{className:"text-center text-sm text-secondary",role:"status",children:"Opening Site Health when the scan is ready."}):null]})]}),l.jsxs("section",{className:"mt-8 border-t border-default pt-6","aria-labelledby":"agent-setup-title",children:[l.jsx("p",{id:"agent-setup-title",className:"text-sm font-medium text-heading",children:"Use your agent instead"}),l.jsx("p",{className:"mt-1 text-sm leading-5 text-secondary",children:"Copy a complete CLI setup request into any agent."}),l.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-1",children:[l.jsxs(ue,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:pn(ea),children:[qe?l.jsx(Wd,{className:"size-3.5","aria-hidden":"true"}):l.jsx(jg,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{"aria-live":"polite",children:qe?"Copied setup request":"Copy setup request"})]}),l.jsx(ue,{asChild:!0,variant:"ghost",size:"sm",children:l.jsxs("a",{href:iJ,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",l.jsx(k5,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),O!==null?l.jsxs("section",{className:"mt-6 border-t border-default pt-5","aria-labelledby":"telemetry-title",children:[l.jsxs("label",{className:`flex min-h-11 items-start gap-3 py-2 ${f.isPending?"cursor-wait":"cursor-pointer"}`,children:[l.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg accent-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mono-500 disabled:cursor-wait",type:"checkbox",checked:ne??!1,disabled:f.isPending,onChange:Le=>{ci(Le.target.checked)},"aria-describedby":"telemetry-detail"}),l.jsxs("span",{className:"grid gap-0.5",children:[l.jsx("span",{id:"telemetry-title",className:"text-sm leading-5 text-heading",children:"Share anonymous product telemetry"}),l.jsx("span",{id:"telemetry-detail",className:"max-w-[70ch] text-sm leading-5 text-secondary",children:"Helps prioritize improvements. Canonry does not send raw domains, URLs, queries, answer content, or credentials."})]})]}),f.isPending?l.jsx("p",{className:"mt-1 text-sm text-secondary",role:"status",children:"Saving preference…"}):null,ge?l.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:ge}):null]}):null]})}function SJ(){return l.jsx("div",{className:"page-container",children:l.jsx("section",{className:"page-section",children:l.jsxs(Ta,{className:"surface-card empty-card",children:[l.jsx("h1",{children:"Route not found"}),l.jsx("p",{children:"The current path does not map to a dashboard view."}),l.jsx(ue,{asChild:!0,children:l.jsx(We,{to:"/",children:"Return to overview"})})]})})})}const ha=Ns(()=>Li(()=>import("./ProjectPage-d1djqfh3.js"),__vite__mapDeps([5,1,2,6,0,3,4,7,8,9,10,11,12]),import.meta.url),"ProjectPage"),jJ=Ns(()=>Li(()=>import("./RunsPage-DuBhw2uc.js"),__vite__mapDeps([13,1,6,11,4,2,8,12]),import.meta.url),"RunsPage"),AJ=Ns(()=>Li(()=>import("./HistoryPage-CACIL005.js"),__vite__mapDeps([14,1,10,11,4,2,8,12]),import.meta.url),"HistoryPage"),CJ=Ns(()=>Li(()=>import("./SettingsPage-MUpfB0HH.js"),__vite__mapDeps([15,1,11,4,2,8,12]),import.meta.url),"SettingsPage"),NJ=Ns(()=>Li(()=>import("./BacklinksPage-DI9BmaYt.js"),__vite__mapDeps([16,1,2,11,4,8,12]),import.meta.url),"BacklinksPage"),_J=Ns(()=>Li(()=>import("./TrafficPage--nGSOgqn.js"),__vite__mapDeps([17,1,9,2,11,4,8,12]),import.meta.url),"TrafficPage"),TJ=Ns(()=>Li(()=>import("./TrafficSourceDetailPage-BPqNmuws.js"),__vite__mapDeps([18,1,9,3,4,2,11,8,12]),import.meta.url),"TrafficSourceDetailPage"),EJ=Ns(()=>Li(()=>import("./MeasurementPropertyPage-D_i3t0DT.js"),__vite__mapDeps([19,1,3,4,7,8,2,11,12]),import.meta.url),"MeasurementPropertyPage");function RJ(){return l.jsx(PY,{children:l.jsx(EK,{children:l.jsx(qY,{})})})}const Vn=JN()({component:RJ,validateSearch:e=>({manageQueries:e.manageQueries===!0||e.manageQueries==="true"?!0:void 0,runId:typeof e.runId=="string"?e.runId:void 0,siteHealthRunId:typeof e.siteHealthRunId=="string"?e.siteHealthRunId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0,onboarding:e.onboarding==="site-health"||e.onboarding==="first-run"||e.onboarding==="complete"?e.onboarding:void 0,experience:e.experience==="legacy"||e.experience==="platform"?e.experience:void 0,siteScan:e.siteScan==="skip"?"skip":void 0,skipped:e.skipped==="visibility"?"visibility":void 0,setupProject:typeof e.setupProject=="string"?e.setupProject:void 0,scope:typeof e.scope=="string"?e.scope:void 0,class:typeof e.class=="string"?e.class:void 0,...Object.fromEntries(["queryWorkspace","researchMode","trackingQueryId","measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId","measurementQueryKey","measurementAnswer"].map(n=>[n,typeof e[n]=="string"?e[n]:void 0]))})}),DJ=Pt({getParentRoute:()=>Vn,path:"/",component:lX,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(As({client:J}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(Ro({client:J}))}catch{return}if(n.length===0)throw qk({to:"/setup"})}}),zJ=Pt({getParentRoute:()=>Vn,path:"/projects",component:mX}),IJ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,$n=Pt({getParentRoute:()=>Vn,path:"/projects/$projectName",component:()=>l.jsx(_f,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!IJ.test(r))return;let u=e.queryClient.getQueryData(As({client:J}));if(!u)try{u=await e.queryClient.ensureQueryData(Ro({client:J}))}catch{return}const h=u.find(f=>f.id===r);if(h)throw qk({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),OJ=Pt({getParentRoute:()=>$n,path:"/",component:()=>l.jsx(ha,{tab:"overview"})}),qJ=Pt({getParentRoute:()=>$n,path:"/portfolio",component:()=>l.jsx(ha,{tab:"portfolio"})}),PJ=Pt({getParentRoute:()=>$n,path:"/search-console",component:()=>l.jsx(ha,{tab:"search-console"})}),MJ=Pt({getParentRoute:()=>$n,path:"/conversions",component:()=>l.jsx(ha,{tab:"conversions"})}),BJ=Pt({getParentRoute:()=>$n,path:"/local",component:()=>l.jsx(ha,{tab:"local"})}),LJ=Pt({getParentRoute:()=>$n,path:"/discovery",component:()=>l.jsx(ha,{tab:"discovery"})}),VJ=Pt({getParentRoute:()=>$n,path:"/queries",component:()=>l.jsx(ha,{tab:"queries"})}),$J=Pt({getParentRoute:()=>$n,path:"/properties/$targetKey",component:()=>l.jsx(EJ,{})}),UJ=Pt({getParentRoute:()=>$n,path:"/report",component:()=>l.jsx(ha,{tab:"report"})}),GJ=Pt({getParentRoute:()=>$n,path:"/activity",component:()=>l.jsx(ha,{tab:"activity"})}),KJ=Pt({getParentRoute:()=>$n,path:"/backlinks",component:()=>l.jsx(ha,{tab:"backlinks"})}),HJ=Pt({getParentRoute:()=>$n,path:"/technical-aeo",component:()=>l.jsx(ha,{tab:"technical-aeo"})}),QJ=Pt({getParentRoute:()=>$n,path:"/history",component:()=>l.jsx(ha,{tab:"history"})}),FJ=Pt({getParentRoute:()=>$n,path:"/settings",component:()=>l.jsx(ha,{tab:"settings"})}),ZJ=Pt({getParentRoute:()=>Vn,path:"/runs",component:jJ}),YJ=Pt({getParentRoute:()=>Vn,path:"/history",component:AJ}),XJ=Pt({getParentRoute:()=>Vn,path:"/settings",component:CJ,beforeLoad:({context:e})=>{}}),JJ=Pt({getParentRoute:()=>Vn,path:"/setup",component:vJ}),WJ=Pt({getParentRoute:()=>Vn,path:"/backlinks",component:NJ}),eW=Pt({getParentRoute:()=>Vn,path:"/traffic",component:_J}),tW=Pt({getParentRoute:()=>Vn,path:"/traffic/$projectName/$sourceId",component:TJ}),nW=Pt({getParentRoute:()=>Vn,path:"*",component:SJ}),aW=Vn.addChildren([DJ,zJ,$n.addChildren([OJ,qJ,PJ,MJ,BJ,LJ,VJ,$J,UJ,GJ,KJ,HJ,QJ,FJ]),ZJ,YJ,XJ,JJ,WJ,eW,tW,nW]);function iW(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const zk=iW(),sW=zk==="/"?"":zk.replace(/\/$/,"");function oW(e,n){return WN({routeTree:aW,basepath:sW||"/",context:{queryClient:e},...n?.initialEntries})}const rW=6e4;function lW(){const e=C.useRef(PG()).current,[n,i]=C.useState(e?"ready":"checking"),[r,u]=C.useState(null),[h,f]=C.useState(null),[b,v]=C.useState(e),[w,k]=C.useState(!1),[j,T]=C.useState(""),[N,q]=C.useState(""),[E,P]=C.useState(""),[H,X]=C.useState(!1),[L,Z]=C.useState("password"),[Y,ee]=C.useState(null),[B,K]=C.useState(!1),[we,Xe]=C.useState(!1),nt=C.useRef(null),Ue=C.useRef(null),qe=C.useRef(null),ke=()=>{const Q=r?`${r.name}:${r.role}`:e?"api-key:explicit":h?`api-key:${h.id}`:"no-accounts";if(!nt.current||qe.current!==Q){Ue.current?.clear();const me=NK();Ue.current=me,nt.current=oW(me),qe.current=Q}return{queryClient:Ue.current,router:nt.current}},$e=Q=>Q.authRequired?(k(!0),u(Q.user),f(null),v(!1),i(Q.user?"ready":"account-login"),!0):!1;C.useEffect(()=>{let Q=!1;const me=async(De,je=!1)=>{try{const it=await vf();if(Q)return;f(it),v(!1),i("ready")}catch(it){if(Q)return;if(je&&it instanceof xn&&it.statusCode===401)return ZG().then(()=>{Q||(ee(null),f(null),v(!1),Xe(!0),i("login"))}).catch(Ge=>{Q||(ee(Ge instanceof Error?Ge.message:"Could not clear the invalid session"),i(De))});ee(it instanceof Error?it.message:"Could not verify API key access"),i(De)}};return e?(me("api-key-error"),()=>{Q=!0}):(Promise.allSettled([Lw(),Bw()]).then(([De,je])=>{if(Q||De.status==="fulfilled"&&$e(De.value))return;if(je.status==="rejected"){const Ge=je.reason;ee(Ge instanceof Error?Ge.message:"Failed to reach the Canonry API"),i("login");return}const it=je.value;it.authenticated?(v(!0),me("api-key-error",!0)):(f(null),v(!1),i(it.setupRequired?"setup":"login"))}),()=>{Q=!0})},[]),C.useEffect(()=>{if(n!=="ready"||e)return;const Q=setInterval(()=>{if(w){Lw().then(me=>{me.authRequired&&!me.user&&(Xe(!0),u(null),f(null),i("account-login"))}).catch(()=>{});return}Bw().then(me=>{me.authenticated||(Xe(!0),f(null),i(me.setupRequired?"setup":"login"))}).catch(()=>{})},rW);return Mw(()=>{Xe(!0),u(null),f(null),v(!1),i(w?"account-login":"login")}),()=>{clearInterval(Q),Mw(null)}},[n,w,e]);const O=async Q=>{if(Q.preventDefault(),!N.trim()||N.trim().length<8){ee("Password must be at least 8 characters");return}if(N!==E){ee("Passwords do not match");return}K(!0),ee(null);try{if(!(await HG(N.trim())).authenticated){ee("Setup failed");return}q(""),P(""),X(!1),Xe(!1),f(null),v(!0),i("checking");try{const De=await vf();f(De),v(!1),i("ready")}catch(De){ee(De instanceof Error?De.message:"Could not verify API key access"),i("api-key-error")}}catch(me){ee(me instanceof xn||me instanceof Error?me.message:"Setup failed")}finally{K(!1)}},ne=Q=>{q(Q),ee(null)},ge=Q=>{P(Q),ee(null)},Se=async Q=>{if(Q.preventDefault(),!!N.trim()){K(!0),ee(null);try{if(!(L==="api-key"?await FG(N.trim()):await QG(N.trim())).authenticated){ee(L==="api-key"?"Invalid API key":"Incorrect password");return}const De=await vf();f(De),v(!1),q(""),X(!1),Xe(!1),i("ready")}catch(me){ee(me instanceof xn||me instanceof Error?me.message:"Authentication failed")}finally{K(!1)}}},ae=Q=>{Z(Q),q(""),X(!1),ee(null)},_e=async Q=>{if(Q.preventDefault(),!(!j.trim()||!N)){K(!0),ee(null);try{const me=await YG(j.trim(),N);if(!me.user){ee("Incorrect name or password.");return}q(""),Xe(!1),u(me.user),f(null),v(!1),i("ready")}catch(me){ee(me instanceof xn?me.message:"Incorrect name or password.")}finally{K(!1)}}};if(n==="ready"){const{queryClient:Q,router:me}=ke();return l.jsx(yK,{account:r,apiKey:h,apiKeyPending:b,children:l.jsx(e5,{client:Q,children:l.jsx(t5,{router:me})})})}const Be=N.trim(),ve=N.length>0&&Be.length<8,le=E.length>0&&N!==E,ce=Be.length>=8&&N===E;return l.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:l.jsxs("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col items-center justify-center gap-5",children:[l.jsxs("div",{"data-testid":"auth-brand",className:"flex items-center gap-2.5",children:[l.jsx("img",{className:"size-7",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"text-lg font-semibold tracking-tight text-heading",children:"Canonry"})]}),l.jsx(Ta,{className:"surface-card w-full",children:n==="checking"?l.jsx(fo,{className:"py-8",children:l.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):n==="api-key-error"?l.jsxs(l.Fragment,{children:[l.jsxs(Cr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Could not verify API key access"})]}),l.jsxs(fo,{className:"space-y-4",children:[l.jsx("p",{className:"supporting-copy",children:Y??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),l.jsx(ue,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?l.jsxs(l.Fragment,{children:[l.jsxs(Cr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"})]}),l.jsxs(fo,{children:[we?l.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"You were signed out — please sign in again."}):null,l.jsxs("form",{className:"space-y-4",onSubmit:pn(_e),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-name",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Name"}),l.jsx("input",{autoFocus:!0,id:"account-name",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"text",name:"username",autoComplete:"username",value:j,onChange:Q=>{T(Q.target.value),ee(null)},"aria-invalid":!!Y,"aria-describedby":Y?"account-login-error":void 0})]}),l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-password",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),l.jsx("input",{id:"account-password",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",name:"password",autoComplete:"current-password",value:N,onChange:Q=>ne(Q.target.value),"aria-invalid":!!Y,"aria-describedby":Y?"account-login-error":void 0})]}),Y?l.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:Y}):null,l.jsx(ue,{type:"submit",disabled:B||!j.trim()||!N,children:B?"Signing in…":"Sign in"})]})]})]}):n==="setup"?l.jsxs(l.Fragment,{children:[l.jsxs(Cr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Create a dashboard password"}),l.jsx(Fd,{children:"This password protects the dashboard on this computer."})]}),l.jsx(fo,{children:l.jsxs("form",{className:"space-y-4",onSubmit:pn(O),children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-new",children:"Password"}),l.jsx("input",{autoFocus:!0,id:"dashboard-password-new",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:H?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:N,onChange:Q=>ne(Q.target.value),"aria-invalid":ve,"aria-describedby":"dashboard-password-new-help"}),l.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:ve?"block text-sm text-negative-400":"block text-sm text-secondary",children:ve?"Enter at least 8 characters.":"Use at least 8 characters."})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-confirm",children:"Confirm password"}),l.jsx("input",{id:"dashboard-password-confirm",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:H?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:E,onChange:Q=>ge(Q.target.value),"aria-invalid":le,"aria-describedby":"dashboard-password-confirm-help"}),l.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:le?"block text-sm text-negative-400":"block text-sm text-secondary",children:le?"Passwords do not match.":"Enter the same password again."})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-password-show",children:[l.jsx("input",{id:"dashboard-password-show",type:"checkbox",checked:H,onChange:Q=>X(Q.target.checked)}),"Show passwords"]}),Y?l.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:Y}):null,l.jsx(ue,{type:"submit",disabled:B||!ce,children:B?"Creating password…":"Create password and continue"})]})})]}):l.jsxs(l.Fragment,{children:[l.jsxs(Cr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"}),l.jsx(Fd,{children:L==="api-key"?"Enter an API key from this Canonry install. This opens the dashboard with that key’s access and does not change the password.":"Enter your dashboard password to continue."})]}),l.jsxs(fo,{children:[we?l.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,l.jsxs("form",{className:"space-y-4",onSubmit:pn(Se),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"dashboard-password-current",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:L==="api-key"?"Canonry API key":"Password"}),l.jsx("input",{autoFocus:!0,id:"dashboard-password-current",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:H?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:N,onChange:Q=>ne(Q.target.value),"aria-invalid":!!Y,"aria-describedby":Y?"dashboard-password-login-error":void 0})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-login-password-show",children:[l.jsx("input",{id:"dashboard-login-password-show",type:"checkbox",checked:H,onChange:Q=>X(Q.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),Y?l.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:Y}):null,l.jsx(ue,{type:"submit",disabled:B||!N.trim(),children:B?"Signing in…":"Open dashboard"}),l.jsx(ue,{type:"button",variant:"ghost",onClick:()=>ae(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const UC=document.getElementById("root");if(!UC)throw new Error("Expected #root element for web app bootstrap.");E5.createRoot(UC).render(l.jsx(C.StrictMode,{children:l.jsx(lW,{})}));export{wn as $,wne as A,ue as B,qd as C,Sne as D,kne as E,pa as F,DK as G,ise as H,_a as I,sse as J,VF as K,qK as L,Vie as M,GW as N,Kne as O,Fne as P,Hte as Q,St as R,ese as S,bn as T,Une as U,Kae as V,Fae as W,Qae as X,tne as Y,ene as Z,dne as _,Lie as a,mae as a$,Xae as a0,Jae as a1,one as a2,Wae as a3,rne as a4,ane as a5,sne as a6,Zae as a7,Yae as a8,Hae as a9,LQ as aA,ng as aB,Vne as aC,jd as aD,xie as aE,zi as aF,pg as aG,ho as aH,qF as aI,jK as aJ,oae as aK,$Z as aL,ine as aM,YW as aN,wj as aO,$q as aP,Jie as aQ,Wie as aR,UW as aS,Ite as aT,KI as aU,En as aV,$W as aW,hee as aX,VW as aY,HK as aZ,hH as a_,nne as aa,eie as ab,rie as ac,aie as ad,sie as ae,iie as af,oie as ag,Tne as ah,s1 as ai,ze as aj,nie as ak,nC as al,Bi as am,tie as an,yg as ao,w9 as ap,k9 as aq,LW as ar,BW as as,Dne as at,Mne as au,Bne as av,xn as aw,Lne as ax,Pte as ay,zK as az,oee as b,wW as b$,yae as b0,pae as b1,Tee as b2,Ree as b3,Q$ as b4,Dee as b5,aH as b6,dae as b7,Z$ as b8,Wf as b9,Aae as bA,zae as bB,Nae as bC,Pae as bD,_ae as bE,Mae as bF,Rae as bG,Lae as bH,Uae as bI,SX as bJ,Tae as bK,pe as bL,OW as bM,IW as bN,zW as bO,DW as bP,TW as bQ,_W as bR,RW as bS,EW as bT,NW as bU,CW as bV,vW as bW,xW as bX,AW as bY,jW as bZ,SW as b_,Eee as ba,_G as bb,hae as bc,uae as bd,sH as be,fae as bf,Qie as bg,gae as bh,Aie as bi,Cie as bj,lne as bk,a1 as bl,vie as bm,XA as bn,kae as bo,jae as bp,Dae as bq,$ae as br,Vae as bs,Eae as bt,Bae as bu,Gae as bv,Cae as bw,Iae as bx,Oae as by,qae as bz,yB as c,HW as c$,kW as c0,bW as c1,yW as c2,gW as c3,fW as c4,t6 as c5,pee as c6,gee as c7,uee as c8,yee as c9,Dte as cA,Aee as cB,See as cC,Mee as cD,aG as cE,Tte as cF,Ete as cG,_te as cH,Nte as cI,fte as cJ,hte as cK,mte as cL,pte as cM,jee as cN,ute as cO,cte as cP,Jee as cQ,Wee as cR,wee as cS,Cee as cT,ete as cU,yte as cV,KW as cW,Ate as cX,Cte as cY,wte as cZ,Ste as c_,fee as ca,dee as cb,mee as cc,xee as cd,rse as ce,bie as cf,tg as cg,bee as ch,Iee as ci,Oee as cj,vo as ck,zee as cl,vee as cm,vne as cn,Dt as co,h$ as cp,ote as cq,zte as cr,tte as cs,nte as ct,ate as cu,ite as cv,ste as cw,lV as cx,lee as cy,zw as cz,Yie as d,Hd as d$,jte as d0,kte as d1,ree as d2,rte as d3,Hee as d4,Qee as d5,Fee as d6,Zee as d7,Yee as d8,Xee as d9,Kee as dA,Gte as dB,Ute as dC,$te as dD,xne as dE,yH as dF,Sae as dG,Xne as dH,ZW as dI,Hw as dJ,Fte as dK,Zte as dL,Zne as dM,Yne as dN,Yte as dO,Xte as dP,Wte as dQ,Jte as dR,Uc as dS,Ro as dT,PA as dU,eae as dV,Wne as dW,CZ as dX,cg as dY,Kd as dZ,ug as d_,lG as da,Rte as db,cee as dc,qW as dd,cV as de,Lee as df,gte as dg,MW as dh,kee as di,qee as dj,Bee as dk,Pee as dl,QW as dm,bte as dn,vte as dp,xte as dq,$ee as dr,TA as ds,Vee as dt,Uee as du,FW as dv,Gee as dw,lte as dx,PW as dy,dte as dz,tse as e,Qte as e$,Qd as e0,VZ as e1,YK as e2,go as e3,Xd as e4,wH as e5,zX as e6,ose as e7,Kie as e8,BZ as e9,As as eA,KK as eB,ZK as eC,Kte as eD,lie as eE,eK as eF,gne as eG,uie as eH,die as eI,mie as eJ,cie as eK,Hne as eL,mne as eM,pne as eN,hne as eO,yne as eP,fne as eQ,Lr as eR,_m as eS,ase as eT,Dm as eU,l1 as eV,xae as eW,wae as eX,DG as eY,Ote as eZ,qte as e_,Gie as ea,NX as eb,bae as ec,tae as ed,Uie as ee,sae as ef,nae as eg,vae as eh,$ie as ei,aae as ej,tn as ek,Pie as el,FZ as em,BG as en,BK as eo,ZZ as ep,Hie as eq,Fie as er,Zie as es,Xie as et,ks as eu,Mte as ev,$G as ew,Bte as ex,Lte as ey,Vte as ez,cn as f,iee as f$,cne as f0,une as f1,m1 as f2,zm as f3,c1 as f4,DX as f5,bne as f6,Vr as f7,Fw as f8,Ene as f9,lae as fA,sk as fB,WW as fC,Li as fD,Oa as fE,JW as fF,NG as fG,hQ as fH,_ie as fI,Nie as fJ,_X as fK,Rie as fL,KZ as fM,see as fN,eee as fO,Mie as fP,Bie as fQ,Tie as fR,Eie as fS,XW as fT,zie as fU,qie as fV,Die as fW,Oie as fX,So as fY,n3 as fZ,tee as f_,zne as fa,One as fb,qne as fc,Rne as fd,Ine as fe,Pne as ff,bf as fg,_ne as fh,Sie as fi,uX as fj,_ee as fk,$0 as fl,Jne as fm,wie as fn,jie as fo,Nne as fp,Nee as fq,Ane as fr,Cne as fs,jne as ft,kie as fu,Gne as fv,aI as fw,rae as fx,iae as fy,cae as fz,nse as g,Iie as g0,HM as g1,aee as g2,nee as g3,dg as h,Ec as i,s2 as j,$ne as k,pie as l,fie as m,Ta as n,Ln as o,J as p,MA as q,Tr as r,Qne as s,OK as t,u1 as u,On as v,pn as w,hie as x,yie as y,gie as z};