@canonry/canonry 7.7.0 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-workspace/skills/aero/SKILL.md +43 -17
- package/assets/agent-workspace/skills/aero/references/agent-operations.md +4 -1
- package/assets/agent-workspace/skills/aero/references/portfolio-analysis.md +15 -7
- package/assets/agent-workspace/skills/canonry/SKILL.md +4 -1
- package/assets/assets/{AuditHistoryPanel-qumC-I56.js → AuditHistoryPanel-AJlkzSmq.js} +1 -1
- package/assets/assets/{BacklinksPage-BNyYcY5w.js → BacklinksPage-IhPtSh39.js} +1 -1
- package/assets/assets/{HistoryPage-CQfOM6NA.js → HistoryPage-B-vNinvd.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-D0LTQHL7.js → MeasurementPropertyPage-s1kKo2TD.js} +1 -1
- package/assets/assets/{ProjectPage-QQErJAT8.js → ProjectPage-iH_9g_lU.js} +1 -1
- package/assets/assets/{RunsPage-CniAGDVF.js → RunsPage-BSbEUlNZ.js} +1 -1
- package/assets/assets/{SettingsPage-BPsrE4ao.js → SettingsPage-zHyljW2M.js} +1 -1
- package/assets/assets/SiteHealthSection-AYGPjoka.js +4 -0
- package/assets/assets/{TrafficPage-DXKk92zy.js → TrafficPage-CY_qggoW.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-4POLIA_c.js → TrafficSourceDetailPage-aJ2Vk6Pd.js} +1 -1
- package/assets/assets/{extract-error-message-C6t0hB2w.js → extract-error-message-CHEe8sOP.js} +1 -1
- package/assets/assets/index-DfamSNSD.js +86 -0
- package/assets/assets/{react-sigma_core.esm.min-D7GjzWYV.js → react-sigma_core.esm.min-2sZRqoN4.js} +1 -1
- package/assets/assets/{v2-overview-adapter-ChE5k_dV.js → v2-overview-adapter-ZNgNU_Yp.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-ODEAE5T5.js → chunk-AAMKTL6B.js} +3 -3
- package/dist/{chunk-WJJTKZKK.js → chunk-DO7XPDG5.js} +5977 -5743
- package/dist/{chunk-75RSUOHZ.js → chunk-KRFTA4I7.js} +1126 -475
- package/dist/{chunk-LFUSODDL.js → chunk-L35TGPAV.js} +444 -158
- package/dist/{chunk-WBTYXLXL.js → chunk-LO56QXPO.js} +5 -4
- package/dist/{chunk-JJXTHJ4E.js → chunk-T2V2PESH.js} +4 -3
- package/dist/{chunk-3DB43KT2.js → chunk-ZLB7WX5D.js} +26 -33
- package/dist/cli.js +67 -28
- package/dist/{demo-server-UWBPY743.js → demo-server-KDMG3APY.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{intelligence-service-LOH37GPJ.js → intelligence-service-LAXJFE3U.js} +2 -2
- package/dist/mcp.js +4 -4
- package/package.json +7 -7
- package/assets/assets/SiteHealthSection-zW3ykBCu.js +0 -4
- package/assets/assets/index-DBQ-8jB1.js +0 -86
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-zW3ykBCu.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-N6vOpZmh.js","./ChartPrimitives-CYlrwLJs.js","./vendor-recharts-D-cUuLZo.js","./ProjectPage-QQErJAT8.js","./v2-overview-adapter-ChE5k_dV.js","./vendor-markdown-B4giJcws.js","./extract-error-message-C6t0hB2w.js","./AuditHistoryPanel-qumC-I56.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-CniAGDVF.js","./HistoryPage-CQfOM6NA.js","./SettingsPage-BPsrE4ao.js","./BacklinksPage-BNyYcY5w.js","./TrafficPage-DXKk92zy.js","./TrafficSourceDetailPage-4POLIA_c.js","./MeasurementPropertyPage-D0LTQHL7.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as i5,d as s5,r as N,j as l,Q as o5,M as r5,q as xe,e as Ec,L as et,a as l5,t as br,u as yt,f as c5,h as da,k as Ts,l as Hk,m as u5,n as Qk,O as Pf,o as ii,p as d5,s as Mt,v as _0,x as Es,y as m5,z as p5,A as h5}from"./vendor-tanstack-ZXXkndVj.js";import{S as f5,O as T0,P as Fk,C as E0,a as Zk,T as R0,D as Yk,R as Xk}from"./vendor-radix-twS1M3FF.js";import{c as Jk}from"./vendor-recharts-D-cUuLZo.js";import{A as xc,X as Pr,S as D0,a as Wk,G as eS,C as Rc,L as Nr,R as ad,M as g5,b as y5,P as Mf,H as tS,c as b5,d as v5,e as om,f as z0,T as nS,W as x5,g as I0,h as w5,i as k5,j as S5,k as j5,l as A5,m as N5,n as C5,B as _5,F as T5,o as E5,p as R5,q as D5,r as z5,s as aS,t as iS,u as Bf,v as sS,w as I5,x as oS,E as O5}from"./vendor-lucide-N6vOpZmh.js";import{M as q5,r as P5}from"./vendor-markdown-B4giJcws.js";import{p as M5}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 Zh={exports:{}},ec={},Yh={exports:{}},Xh={};var nx;function B5(){return nx||(nx=1,(function(e){function n(q,J){var be=q.length;q.push(J);e:for(;0<be;){var Se=be-1>>>1,ee=q[Se];if(0<u(ee,J))q[Se]=J,q[be]=ee,be=Se;else break e}}function i(q){return q.length===0?null:q[0]}function r(q){if(q.length===0)return null;var J=q[0],be=q.pop();if(be!==J){q[0]=be;e:for(var Se=0,ee=q.length,Ce=ee>>>1;Se<Ce;){var Pe=2*(Se+1)-1,ve=q[Pe],de=Pe+1,ce=q[de];if(0>u(ve,be))de<ee&&0>u(ce,ve)?(q[Se]=ce,q[de]=be,Se=de):(q[Se]=ve,q[Pe]=be,Se=Pe);else if(de<ee&&0>u(ce,be))q[Se]=ce,q[de]=be,Se=de;else break e}}return J}function u(q,J){var be=q.sortIndex-J.sortIndex;return be!==0?be:q.id-J.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=[],x=[],k=1,S=null,_=3,C=!1,I=!1,P=!1,T=!1,U=typeof setTimeout=="function"?setTimeout:null,X=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function H(q){for(var J=i(x);J!==null;){if(J.callback===null)r(x);else if(J.startTime<=q)r(x),J.sortIndex=J.expirationTime,n(v,J);else break;J=i(x)}}function Z(q){if(P=!1,H(q),!I)if(i(v)!==null)I=!0,ae||(ae=!0,$e());else{var J=i(x);J!==null&&Ue(Z,J.startTime-q)}}var ae=!1,M=-1,Y=5,le=-1;function Je(){return T?!0:!(e.unstable_now()-le<Y)}function nt(){if(T=!1,ae){var q=e.unstable_now();le=q;var J=!0;try{e:{I=!1,P&&(P=!1,X(M),M=-1),C=!0;var be=_;try{t:{for(H(q),S=i(v);S!==null&&!(S.expirationTime>q&&Je());){var Se=S.callback;if(typeof Se=="function"){S.callback=null,_=S.priorityLevel;var ee=Se(S.expirationTime<=q);if(q=e.unstable_now(),typeof ee=="function"){S.callback=ee,H(q),J=!0;break t}S===i(v)&&r(v),H(q)}else r(v);S=i(v)}if(S!==null)J=!0;else{var Ce=i(x);Ce!==null&&Ue(Z,Ce.startTime-q),J=!1}}break e}finally{S=null,_=be,C=!1}J=void 0}}finally{J?$e():ae=!1}}}var $e;if(typeof L=="function")$e=function(){L(nt)};else if(typeof MessageChannel<"u"){var qe=new MessageChannel,ke=qe.port2;qe.port1.onmessage=nt,$e=function(){ke.postMessage(null)}}else $e=function(){U(nt,0)};function Ue(q,J){M=U(function(){q(e.unstable_now())},J)}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(q){q.callback=null},e.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<q?Math.floor(1e3/q):5},e.unstable_getCurrentPriorityLevel=function(){return _},e.unstable_next=function(q){switch(_){case 1:case 2:case 3:var J=3;break;default:J=_}var be=_;_=J;try{return q()}finally{_=be}},e.unstable_requestPaint=function(){T=!0},e.unstable_runWithPriority=function(q,J){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var be=_;_=q;try{return J()}finally{_=be}},e.unstable_scheduleCallback=function(q,J,be){var Se=e.unstable_now();switch(typeof be=="object"&&be!==null?(be=be.delay,be=typeof be=="number"&&0<be?Se+be:Se):be=Se,q){case 1:var ee=-1;break;case 2:ee=250;break;case 5:ee=1073741823;break;case 4:ee=1e4;break;default:ee=5e3}return ee=be+ee,q={id:k++,callback:J,priorityLevel:q,startTime:be,expirationTime:ee,sortIndex:-1},be>Se?(q.sortIndex=be,n(x,q),i(v)===null&&q===i(x)&&(P?(X(M),M=-1):P=!0,Ue(Z,be-Se))):(q.sortIndex=ee,n(v,q),I||C||(I=!0,ae||(ae=!0,$e()))),q},e.unstable_shouldYield=Je,e.unstable_wrapCallback=function(q){var J=_;return function(){var be=_;_=J;try{return q.apply(this,arguments)}finally{_=be}}}})(Xh)),Xh}var ax;function L5(){return ax||(ax=1,Yh.exports=B5()),Yh.exports}var ix;function U5(){if(ix)return ec;ix=1;var e=L5(),n=i5(),i=s5();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 x(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 w=!1,j=p.child;j;){if(j===s){w=!0,s=p,c=g;break}if(j===c){w=!0,c=p,s=g;break}j=j.sibling}if(!w){for(j=g.child;j;){if(j===s){w=!0,s=g,c=p;break}if(j===c){w=!0,c=g,s=p;break}j=j.sibling}if(!w)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 S=Object.assign,_=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),I=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),X=Symbol.for("react.consumer"),L=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),ae=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),le=Symbol.for("react.activity"),Je=Symbol.for("react.memo_cache_sentinel"),nt=Symbol.iterator;function $e(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 P:return"Fragment";case U:return"Profiler";case T:return"StrictMode";case Z:return"Suspense";case ae:return"SuspenseList";case le:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case I:return"Portal";case L:return t.displayName||"Context";case X:return(t._context.displayName||"Context")+".Consumer";case H:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case M:return a=t.displayName||null,a!==null?a:ke(t.type)||"Memo";case Y:a=t._payload,t=t._init;try{return ke(t(a))}catch{}}return null}var Ue=Array.isArray,q=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,be={pending:!1,data:null,method:null,action:null},Se=[],ee=-1;function Ce(t){return{current:t}}function Pe(t){0>ee||(t.current=Se[ee],Se[ee]=null,ee--)}function ve(t,a){ee++,Se[ee]=t.current,t.current=a}var de=Ce(null),ce=Ce(null),Q=Ce(null),pe=Ce(null);function Ie(t,a){switch(ve(Q,a),ve(ce,t),ve(de,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?Av(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=Av(a),t=Nv(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Pe(de),ve(de,t)}function je(){Pe(de),Pe(ce),Pe(Q)}function st(t){t.memoizedState!==null&&ve(pe,t);var a=de.current,s=Nv(a,t.type);a!==s&&(ve(ce,t),ve(de,s))}function Ve(t){ce.current===t&&(Pe(de),Pe(ce)),pe.current===t&&(Pe(pe),Yl._currentValue=be)}var jt,Ke;function me(t){if(jt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);jt=a&&a[1]||"",Ke=-1<s.stack.indexOf(`
|
|
3
|
-
at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
|
-
`+jt+t+Ke}var at=!1;function zt(t,a){if(!t||at)return"";at=!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 K=F}Reflect.construct(t,[],se)}else{try{se.call()}catch(F){K=F}t.call(se.prototype)}}else{try{throw Error()}catch(F){K=F}(se=t())&&typeof se.catch=="function"&&se.catch(function(){})}}catch(F){if(F&&K&&typeof F.stack=="string")return[F.stack,K.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(),w=g[0],j=g[1];if(w&&j){var D=w.split(`
|
|
5
|
-
`),$=j.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 te=`
|
|
7
|
-
`+D[c].replace(" at new "," at ");return t.displayName&&te.includes("<anonymous>")&&(te=te.replace("<anonymous>",t.displayName)),te}while(1<=c&&0<=p);break}}}finally{at=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?me(s):""}function On(t,a){switch(t.tag){case 26:case 27:case 5:return me(t.type);case 16:return me("Lazy");case 13:return t.child!==a&&a!==null?me("Suspense Fallback"):me("Suspense");case 19:return me("SuspenseList");case 0:case 15:return zt(t.type,!1);case 11:return zt(t.type.render,!1);case 1:return zt(t.type,!0);case 31:return me("Activity");default:return""}}function Kt(t){try{var a="",s=null;do a+=On(t,s),s=t,t=t.return;while(t);return a}catch(c){return`
|
|
8
|
-
Error generating stack: `+c.message+`
|
|
9
|
-
`+c.stack}}var Me=Object.prototype.hasOwnProperty,ct=e.unstable_scheduleCallback,Ht=e.unstable_cancelCallback,Qt=e.unstable_shouldYield,Tn=e.unstable_requestPaint,Ut=e.unstable_now,li=e.unstable_getCurrentPriorityLevel,Ps=e.unstable_ImmediatePriority,ci=e.unstable_UserBlockingPriority,En=e.unstable_NormalPriority,zo=e.unstable_LowPriority,Ms=e.unstable_IdlePriority,Bs=e.log,ui=e.unstable_setDisableYieldValue,gn=null,_t=null;function Vn(t){if(typeof Bs=="function"&&ui(t),_t&&typeof _t.setStrictMode=="function")try{_t.setStrictMode(gn,t)}catch{}}var Ft=Math.clz32?Math.clz32:Jn,Ls=Math.log,za=Math.LN2;function Jn(t){return t>>>=0,t===0?32:31-(Ls(t)/za|0)|0}var oe=256,Te=262144,Ze=4194304;function It(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 Xe(t,a,s){var c=t.pendingLanes;if(c===0)return 0;var p=0,g=t.suspendedLanes,w=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~g,c!==0?p=It(c):(w&=j,w!==0?p=It(w):s||(s=j&~t,s!==0&&(p=It(s))))):(j=c&~g,j!==0?p=It(j):w!==0?p=It(w):s||(s=c&~t,s!==0&&(p=It(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 sn(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 di(){var t=Ze;return Ze<<=1,(Ze&62914560)===0&&(Ze=4194304),t}function Io(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function Us(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Zc(t,a,s,c,p,g){var w=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 j=t.entanglements,D=t.expirationTimes,$=t.hiddenUpdates;for(s=w&~s;0<s;){var te=31-Ft(s),se=1<<te;j[te]=0,D[te]=-1;var K=$[te];if(K!==null)for($[te]=null,te=0;te<K.length;te++){var F=K[te];F!==null&&(F.lane&=-536870913)}s&=~se}c!==0&&Xr(t,c,0),g!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=g&~(w&~a))}function Xr(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var c=31-Ft(a);t.entangledLanes|=a,t.entanglements[c]=t.entanglements[c]|1073741824|s&261930}function Jr(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var c=31-Ft(s),p=1<<c;p&a|t[c]&a&&(t[c]|=a),s&=~p}}function Wr(t,a){var s=a&-a;return s=(s&42)!==0?1:el(s),(s&(t.suspendedLanes|a))!==0?0:s}function el(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 tl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Oo(){var t=J.p;return t!==0?t:(t=window.event,t===void 0?32:Zv(t.type))}function Yc(t,a){var s=J.p;try{return J.p=t,a()}finally{J.p=s}}var ha=Math.random().toString(36).slice(2),on="__reactFiber$"+ha,Rn="__reactProps$"+ha,Hi="__reactContainer$"+ha,qo="__reactEvents$"+ha,Xc="__reactListeners$"+ha,Po="__reactHandles$"+ha,Wn="__reactResources$"+ha,Qi="__reactMarker$"+ha;function nl(t){delete t[on],delete t[Rn],delete t[qo],delete t[Xc],delete t[Po]}function mi(t){var a=t[on];if(a)return a;for(var s=t.parentNode;s;){if(a=s[Hi]||s[on]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=zv(t);t!==null;){if(s=t[on])return s;t=zv(t)}return a}t=s,s=t.parentNode}return null}function Fi(t){if(t=t[on]||t[Hi]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Zi(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Yi(t){var a=t[Wn];return a||(a=t[Wn]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function en(t){t[Qi]=!0}var al=new Set,il={};function Ha(t,a){Vs(t,a),Vs(t+"Capture",a)}function Vs(t,a){for(il[t]=a,t=0;t<a.length;t++)al.add(a[t])}var sl=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]*$"),ol={},Qa={};function Qm(t){return Me.call(Qa,t)?!0:Me.call(ol,t)?!1:sl.test(t)?Qa[t]=!0:(ol[t]=!0,!1)}function pi(t,a,s){if(Qm(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 kn(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 Dn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Xi(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Fm(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(w){s=""+w,g.call(this,w)}}),Object.defineProperty(t,a,{enumerable:c.enumerable}),{getValue:function(){return s},setValue:function(w){s=""+w},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function rl(t){if(!t._valueTracker){var a=Xi(t)?"checked":"value";t._valueTracker=Fm(t,a,""+t[a])}}function Fa(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),c="";return t&&(c=Xi(t)?t.checked?"true":"false":t.value),t=c,t!==s?(a.setValue(t),!0):!1}function Ji(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 Jc=/[\n"\\]/g;function zn(t){return t.replace(Jc,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Mo(t,a,s,c,p,g,w,j){t.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.type=w:t.removeAttribute("type"),a!=null?w==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+Dn(a)):t.value!==""+Dn(a)&&(t.value=""+Dn(a)):w!=="submit"&&w!=="reset"||t.removeAttribute("value"),a!=null?Bo(t,w,Dn(a)):s!=null?Bo(t,w,Dn(s)):c!=null&&t.removeAttribute("value"),p==null&&g!=null&&(t.defaultChecked=!!g),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Dn(j):t.removeAttribute("name")}function ll(t,a,s,c,p,g,w,j){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)){rl(t);return}s=s!=null?""+Dn(s):"",a=a!=null?""+Dn(a):s,j||a===t.value||(t.value=a),t.defaultValue=a}c=c??p,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(t.name=w),rl(t)}function Bo(t,a,s){a==="number"&&Ji(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function $n(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=""+Dn(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 ea(t,a,s){if(a!=null&&(a=""+Dn(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+Dn(s):""}function hi(t,a,s,c){if(a==null){if(c!=null){if(s!=null)throw Error(r(92));if(Ue(c)){if(1<c.length)throw Error(r(93));c=c[0]}s=c}s==null&&(s=""),a=s}s=Dn(a),t.defaultValue=s,c=t.textContent,c===s&&c!==""&&c!==null&&(t.value=c),rl(t)}function fa(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var ga=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 Zm(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||ga.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Za(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&&Zm(t,p,c)}else for(var g in a)a.hasOwnProperty(g)&&Zm(t,g,a[g])}function Ia(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 Lo=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"]]),Ym=/^[\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 Uo(t){return Ym.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Oa(){}var cl=null;function ul(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var fi=null,qn=null;function Vo(t){var a=Fi(t);if(a&&(t=a.stateNode)){var s=t[Rn]||null;e:switch(t=a.stateNode,a.type){case"input":if(Mo(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="'+zn(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var c=s[a];if(c!==t&&c.form===t.form){var p=c[Rn]||null;if(!p)throw Error(r(90));Mo(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&&Fa(c)}break e;case"textarea":ea(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&$n(t,!!s.multiple,a,!1)}}}var dl=!1;function ml(t,a,s){if(dl)return t(a,s);dl=!0;try{var c=t(a);return c}finally{if(dl=!1,(fi!==null||qn!==null)&&(Ou(),fi&&(a=fi,t=qn,qn=fi=null,Vo(a),t)))for(a=0;a<t.length;a++)Vo(t[a])}}function Gs(t,a){var s=t.stateNode;if(s===null)return null;var c=s[Rn]||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 ya=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),pl=!1;if(ya)try{var Ks={};Object.defineProperty(Ks,"passive",{get:function(){pl=!0}}),window.addEventListener("test",Ks,Ks),window.removeEventListener("test",Ks,Ks)}catch{pl=!1}var Ya=null,G=null,Qe=null;function gi(){if(Qe)return Qe;var t,a=G,s=a.length,c,p="value"in Ya?Ya.value:Ya.textContent,g=p.length;for(t=0;t<s&&a[t]===p[t];t++);var w=s-t;for(c=1;c<=w&&a[s-c]===p[g-c];c++);return Qe=p.slice(t,1<c?1-c:void 0)}function Wi(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 qa(){return!0}function hl(){return!1}function Sn(t){function a(s,c,p,g,w){this._reactName=s,this._targetInst=p,this.type=c,this.nativeEvent=g,this.target=w,this.currentTarget=null;for(var j in t)t.hasOwnProperty(j)&&(s=t[j],this[j]=s?s(g):g[j]);return this.isDefaultPrevented=(g.defaultPrevented!=null?g.defaultPrevented:g.returnValue===!1)?qa:hl,this.isPropagationStopped=hl,this}return S(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=qa)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=qa)},persist:function(){},isPersistent:qa}),a}var yi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Xa=Sn(yi),fl=S({},yi,{view:0,detail:0}),n4=Sn(fl),Xm,Jm,gl,Wc=S({},fl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ep,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!==gl&&(gl&&t.type==="mousemove"?(Xm=t.screenX-gl.screenX,Jm=t.screenY-gl.screenY):Jm=Xm=0,gl=t),Xm)},movementY:function(t){return"movementY"in t?t.movementY:Jm}}),_1=Sn(Wc),a4=S({},Wc,{dataTransfer:0}),i4=Sn(a4),s4=S({},fl,{relatedTarget:0}),Wm=Sn(s4),o4=S({},yi,{animationName:0,elapsedTime:0,pseudoElement:0}),r4=Sn(o4),l4=S({},yi,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),c4=Sn(l4),u4=S({},yi,{data:0}),T1=Sn(u4),d4={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},m4={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"},p4={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function h4(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=p4[t])?!!a[t]:!1}function ep(){return h4}var f4=S({},fl,{key:function(t){if(t.key){var a=d4[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=Wi(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?m4[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ep,charCode:function(t){return t.type==="keypress"?Wi(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Wi(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),g4=Sn(f4),y4=S({},Wc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),E1=Sn(y4),b4=S({},fl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ep}),v4=Sn(b4),x4=S({},yi,{propertyName:0,elapsedTime:0,pseudoElement:0}),w4=Sn(x4),k4=S({},Wc,{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}),S4=Sn(k4),j4=S({},yi,{newState:0,oldState:0}),A4=Sn(j4),N4=[9,13,27,32],tp=ya&&"CompositionEvent"in window,yl=null;ya&&"documentMode"in document&&(yl=document.documentMode);var C4=ya&&"TextEvent"in window&&!yl,R1=ya&&(!tp||yl&&8<yl&&11>=yl),D1=" ",z1=!1;function I1(t,a){switch(t){case"keyup":return N4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function O1(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var $o=!1;function _4(t,a){switch(t){case"compositionend":return O1(a);case"keypress":return a.which!==32?null:(z1=!0,D1);case"textInput":return t=a.data,t===D1&&z1?null:t;default:return null}}function T4(t,a){if($o)return t==="compositionend"||!tp&&I1(t,a)?(t=gi(),Qe=G=Ya=null,$o=!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 R1&&a.locale!=="ko"?null:a.data;default:return null}}var E4={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 q1(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!E4[t.type]:a==="textarea"}function P1(t,a,s,c){fi?qn?qn.push(c):qn=[c]:fi=c,a=Vu(a,"onChange"),0<a.length&&(s=new Xa("onChange","change",null,s,c),t.push({event:s,listeners:a}))}var bl=null,vl=null;function R4(t){vv(t,0)}function eu(t){var a=Zi(t);if(Fa(a))return t}function M1(t,a){if(t==="change")return a}var B1=!1;if(ya){var np;if(ya){var ap="oninput"in document;if(!ap){var L1=document.createElement("div");L1.setAttribute("oninput","return;"),ap=typeof L1.oninput=="function"}np=ap}else np=!1;B1=np&&(!document.documentMode||9<document.documentMode)}function U1(){bl&&(bl.detachEvent("onpropertychange",V1),vl=bl=null)}function V1(t){if(t.propertyName==="value"&&eu(vl)){var a=[];P1(a,vl,t,ul(t)),ml(R4,a)}}function D4(t,a,s){t==="focusin"?(U1(),bl=a,vl=s,bl.attachEvent("onpropertychange",V1)):t==="focusout"&&U1()}function z4(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return eu(vl)}function I4(t,a){if(t==="click")return eu(a)}function O4(t,a){if(t==="input"||t==="change")return eu(a)}function q4(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var ta=typeof Object.is=="function"?Object.is:q4;function xl(t,a){if(ta(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(!Me.call(a,p)||!ta(t[p],a[p]))return!1}return!0}function $1(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function G1(t,a){var s=$1(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=$1(s)}}function K1(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?K1(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function H1(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Ji(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=Ji(t.document)}return a}function ip(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 P4=ya&&"documentMode"in document&&11>=document.documentMode,Go=null,sp=null,wl=null,op=!1;function Q1(t,a,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;op||Go==null||Go!==Ji(c)||(c=Go,"selectionStart"in c&&ip(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}),wl&&xl(wl,c)||(wl=c,c=Vu(sp,"onSelect"),0<c.length&&(a=new Xa("onSelect","select",null,a,s),t.push({event:a,listeners:c}),a.target=Go)))}function Hs(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var Ko={animationend:Hs("Animation","AnimationEnd"),animationiteration:Hs("Animation","AnimationIteration"),animationstart:Hs("Animation","AnimationStart"),transitionrun:Hs("Transition","TransitionRun"),transitionstart:Hs("Transition","TransitionStart"),transitioncancel:Hs("Transition","TransitionCancel"),transitionend:Hs("Transition","TransitionEnd")},rp={},F1={};ya&&(F1=document.createElement("div").style,"AnimationEvent"in window||(delete Ko.animationend.animation,delete Ko.animationiteration.animation,delete Ko.animationstart.animation),"TransitionEvent"in window||delete Ko.transitionend.transition);function Qs(t){if(rp[t])return rp[t];if(!Ko[t])return t;var a=Ko[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in F1)return rp[t]=a[s];return t}var Z1=Qs("animationend"),Y1=Qs("animationiteration"),X1=Qs("animationstart"),M4=Qs("transitionrun"),B4=Qs("transitionstart"),L4=Qs("transitioncancel"),J1=Qs("transitionend"),W1=new Map,lp="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(" ");lp.push("scrollEnd");function Pa(t,a){W1.set(t,a),Ha(a,[t])}var tu=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)},ba=[],Ho=0,cp=0;function nu(){for(var t=Ho,a=cp=Ho=0;a<t;){var s=ba[a];ba[a++]=null;var c=ba[a];ba[a++]=null;var p=ba[a];ba[a++]=null;var g=ba[a];if(ba[a++]=null,c!==null&&p!==null){var w=c.pending;w===null?p.next=p:(p.next=w.next,w.next=p),c.pending=p}g!==0&&ey(s,p,g)}}function au(t,a,s,c){ba[Ho++]=t,ba[Ho++]=a,ba[Ho++]=s,ba[Ho++]=c,cp|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function up(t,a,s,c){return au(t,a,s,c),iu(t)}function Fs(t,a){return au(t,null,null,a),iu(t)}function ey(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-Ft(s),t=g.hiddenUpdates,c=t[p],c===null?t[p]=[a]:c.push(a),a.lane=s|536870912),g):null}function iu(t){if(50<$l)throw $l=0,vh=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Qo={};function U4(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 na(t,a,s,c){return new U4(t,a,s,c)}function dp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function bi(t,a){var s=t.alternate;return s===null?(s=na(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 ty(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 su(t,a,s,c,p,g){var w=0;if(c=t,typeof t=="function")dp(t)&&(w=1);else if(typeof t=="string")w=HC(t,s,de.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case le:return t=na(31,s,a,p),t.elementType=le,t.lanes=g,t;case P:return Zs(s.children,p,g,a);case T:w=8,p|=24;break;case U:return t=na(12,s,a,p|2),t.elementType=U,t.lanes=g,t;case Z:return t=na(13,s,a,p),t.elementType=Z,t.lanes=g,t;case ae:return t=na(19,s,a,p),t.elementType=ae,t.lanes=g,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:w=10;break e;case X:w=9;break e;case H:w=11;break e;case M:w=14;break e;case Y:w=16,c=null;break e}w=29,s=Error(r(130,t===null?"null":typeof t,"")),c=null}return a=na(w,s,a,p),a.elementType=t,a.type=c,a.lanes=g,a}function Zs(t,a,s,c){return t=na(7,t,c,a),t.lanes=s,t}function mp(t,a,s){return t=na(6,t,null,a),t.lanes=s,t}function ny(t){var a=na(18,null,null,0);return a.stateNode=t,a}function pp(t,a,s){return a=na(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var ay=new WeakMap;function va(t,a){if(typeof t=="object"&&t!==null){var s=ay.get(t);return s!==void 0?s:(a={value:t,source:a,stack:Kt(a)},ay.set(t,a),a)}return{value:t,source:a,stack:Kt(a)}}var Fo=[],Zo=0,ou=null,kl=0,xa=[],wa=0,es=null,Ja=1,Wa="";function vi(t,a){Fo[Zo++]=kl,Fo[Zo++]=ou,ou=t,kl=a}function iy(t,a,s){xa[wa++]=Ja,xa[wa++]=Wa,xa[wa++]=es,es=t;var c=Ja;t=Wa;var p=32-Ft(c)-1;c&=~(1<<p),s+=1;var g=32-Ft(a)+p;if(30<g){var w=p-p%5;g=(c&(1<<w)-1).toString(32),c>>=w,p-=w,Ja=1<<32-Ft(a)+p|s<<p|c,Wa=g+t}else Ja=1<<g|s<<p|c,Wa=t}function hp(t){t.return!==null&&(vi(t,1),iy(t,1,0))}function fp(t){for(;t===ou;)ou=Fo[--Zo],Fo[Zo]=null,kl=Fo[--Zo],Fo[Zo]=null;for(;t===es;)es=xa[--wa],xa[wa]=null,Wa=xa[--wa],xa[wa]=null,Ja=xa[--wa],xa[wa]=null}function sy(t,a){xa[wa++]=Ja,xa[wa++]=Wa,xa[wa++]=es,Ja=a.id,Wa=a.overflow,es=t}var jn=null,qt=null,ht=!1,ts=null,ka=!1,gp=Error(r(519));function ns(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Sl(va(a,t)),gp}function oy(t){var a=t.stateNode,s=t.type,c=t.memoizedProps;switch(a[on]=t,a[Rn]=c,s){case"dialog":lt("cancel",a),lt("close",a);break;case"iframe":case"object":case"embed":lt("load",a);break;case"video":case"audio":for(s=0;s<Kl.length;s++)lt(Kl[s],a);break;case"source":lt("error",a);break;case"img":case"image":case"link":lt("error",a),lt("load",a);break;case"details":lt("toggle",a);break;case"input":lt("invalid",a),ll(a,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":lt("invalid",a);break;case"textarea":lt("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||Sv(a.textContent,s)?(c.popover!=null&&(lt("beforetoggle",a),lt("toggle",a)),c.onScroll!=null&<("scroll",a),c.onScrollEnd!=null&<("scrollend",a),c.onClick!=null&&(a.onclick=Oa),a=!0):a=!1,a||ns(t,!0)}function ry(t){for(jn=t.return;jn;)switch(jn.tag){case 5:case 31:case 13:ka=!1;return;case 27:case 3:ka=!0;return;default:jn=jn.return}}function Yo(t){if(t!==jn)return!1;if(!ht)return ry(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")||Ih(t.type,t.memoizedProps)),s=!s),s&&qt&&ns(t),ry(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));qt=Dv(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));qt=Dv(t)}else a===27?(a=qt,gs(t.type)?(t=Bh,Bh=null,qt=t):qt=a):qt=jn?ja(t.stateNode.nextSibling):null;return!0}function Ys(){qt=jn=null,ht=!1}function yp(){var t=ts;return t!==null&&(Qn===null?Qn=t:Qn.push.apply(Qn,t),ts=null),t}function Sl(t){ts===null?ts=[t]:ts.push(t)}var bp=Ce(null),Xs=null,xi=null;function as(t,a,s){ve(bp,a._currentValue),a._currentValue=s}function wi(t){t._currentValue=bp.current,Pe(bp)}function vp(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 xp(t,a,s,c){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var g=p.dependencies;if(g!==null){var w=p.child;g=g.firstContext;e:for(;g!==null;){var j=g;g=p;for(var D=0;D<a.length;D++)if(j.context===a[D]){g.lanes|=s,j=g.alternate,j!==null&&(j.lanes|=s),vp(g.return,s,t),c||(w=null);break e}g=j.next}}else if(p.tag===18){if(w=p.return,w===null)throw Error(r(341));w.lanes|=s,g=w.alternate,g!==null&&(g.lanes|=s),vp(w,s,t),w=null}else w=p.child;if(w!==null)w.return=p;else for(w=p;w!==null;){if(w===t){w=null;break}if(p=w.sibling,p!==null){p.return=w.return,w=p;break}w=w.return}p=w}}function Xo(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 w=p.alternate;if(w===null)throw Error(r(387));if(w=w.memoizedProps,w!==null){var j=p.type;ta(p.pendingProps.value,w.value)||(t!==null?t.push(j):t=[j])}}else if(p===pe.current){if(w=p.alternate,w===null)throw Error(r(387));w.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(Yl):t=[Yl])}p=p.return}t!==null&&xp(a,t,s,c),a.flags|=262144}function ru(t){for(t=t.firstContext;t!==null;){if(!ta(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Js(t){Xs=t,xi=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function An(t){return ly(Xs,t)}function lu(t,a){return Xs===null&&Js(t),ly(t,a)}function ly(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},xi===null){if(t===null)throw Error(r(308));xi=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else xi=xi.next=a;return s}var V4=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()})}},$4=e.unstable_scheduleCallback,G4=e.unstable_NormalPriority,rn={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function wp(){return{controller:new V4,data:new Map,refCount:0}}function jl(t){t.refCount--,t.refCount===0&&$4(G4,function(){t.controller.abort()})}var Al=null,kp=0,Jo=0,Wo=null;function K4(t,a){if(Al===null){var s=Al=[];kp=0,Jo=Ah(),Wo={status:"pending",value:void 0,then:function(c){s.push(c)}}}return kp++,a.then(cy,cy),a}function cy(){if(--kp===0&&Al!==null){Wo!==null&&(Wo.status="fulfilled");var t=Al;Al=null,Jo=0,Wo=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function H4(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 uy=q.S;q.S=function(t,a){Qb=Ut(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&K4(t,a),uy!==null&&uy(t,a)};var Ws=Ce(null);function Sp(){var t=Ws.current;return t!==null?t:Dt.pooledCache}function cu(t,a){a===null?ve(Ws,Ws.current):ve(Ws,a.pool)}function dy(){var t=Sp();return t===null?null:{parent:rn._currentValue,pool:t}}var er=Error(r(460)),jp=Error(r(474)),uu=Error(r(542)),du={then:function(){}};function my(t){return t=t.status,t==="fulfilled"||t==="rejected"}function py(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(Oa,Oa),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,fy(t),t;default:if(typeof a.status=="string")a.then(Oa,Oa);else{if(t=Dt,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,fy(t),t}throw to=a,er}}function eo(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(to=s,er):s}}var to=null;function hy(){if(to===null)throw Error(r(459));var t=to;return to=null,t}function fy(t){if(t===er||t===uu)throw Error(r(483))}var tr=null,Nl=0;function mu(t){var a=Nl;return Nl+=1,tr===null&&(tr=[]),py(tr,t,a)}function Cl(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function pu(t,a){throw a.$$typeof===_?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function gy(t){function a(B,O){if(t){var V=B.deletions;V===null?(B.deletions=[O],B.flags|=16):V.push(O)}}function s(B,O){if(!t)return null;for(;O!==null;)a(B,O),O=O.sibling;return null}function c(B){for(var O=new Map;B!==null;)B.key!==null?O.set(B.key,B):O.set(B.index,B),B=B.sibling;return O}function p(B,O){return B=bi(B,O),B.index=0,B.sibling=null,B}function g(B,O,V){return B.index=V,t?(V=B.alternate,V!==null?(V=V.index,V<O?(B.flags|=67108866,O):V):(B.flags|=67108866,O)):(B.flags|=1048576,O)}function w(B){return t&&B.alternate===null&&(B.flags|=67108866),B}function j(B,O,V,ie){return O===null||O.tag!==6?(O=mp(V,B.mode,ie),O.return=B,O):(O=p(O,V),O.return=B,O)}function D(B,O,V,ie){var Le=V.type;return Le===P?te(B,O,V.props.children,ie,V.key):O!==null&&(O.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===Y&&eo(Le)===O.type)?(O=p(O,V.props),Cl(O,V),O.return=B,O):(O=su(V.type,V.key,V.props,null,B.mode,ie),Cl(O,V),O.return=B,O)}function $(B,O,V,ie){return O===null||O.tag!==4||O.stateNode.containerInfo!==V.containerInfo||O.stateNode.implementation!==V.implementation?(O=pp(V,B.mode,ie),O.return=B,O):(O=p(O,V.children||[]),O.return=B,O)}function te(B,O,V,ie,Le){return O===null||O.tag!==7?(O=Zs(V,B.mode,ie,Le),O.return=B,O):(O=p(O,V),O.return=B,O)}function se(B,O,V){if(typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint")return O=mp(""+O,B.mode,V),O.return=B,O;if(typeof O=="object"&&O!==null){switch(O.$$typeof){case C:return V=su(O.type,O.key,O.props,null,B.mode,V),Cl(V,O),V.return=B,V;case I:return O=pp(O,B.mode,V),O.return=B,O;case Y:return O=eo(O),se(B,O,V)}if(Ue(O)||$e(O))return O=Zs(O,B.mode,V,null),O.return=B,O;if(typeof O.then=="function")return se(B,mu(O),V);if(O.$$typeof===L)return se(B,lu(B,O),V);pu(B,O)}return null}function K(B,O,V,ie){var Le=O!==null?O.key:null;if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return Le!==null?null:j(B,O,""+V,ie);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case C:return V.key===Le?D(B,O,V,ie):null;case I:return V.key===Le?$(B,O,V,ie):null;case Y:return V=eo(V),K(B,O,V,ie)}if(Ue(V)||$e(V))return Le!==null?null:te(B,O,V,ie,null);if(typeof V.then=="function")return K(B,O,mu(V),ie);if(V.$$typeof===L)return K(B,O,lu(B,V),ie);pu(B,V)}return null}function F(B,O,V,ie,Le){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return B=B.get(V)||null,j(O,B,""+ie,Le);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case C:return B=B.get(ie.key===null?V:ie.key)||null,D(O,B,ie,Le);case I:return B=B.get(ie.key===null?V:ie.key)||null,$(O,B,ie,Le);case Y:return ie=eo(ie),F(B,O,V,ie,Le)}if(Ue(ie)||$e(ie))return B=B.get(V)||null,te(O,B,ie,Le,null);if(typeof ie.then=="function")return F(B,O,V,mu(ie),Le);if(ie.$$typeof===L)return F(B,O,V,lu(O,ie),Le);pu(O,ie)}return null}function Ae(B,O,V,ie){for(var Le=null,bt=null,Ee=O,tt=O=0,dt=null;Ee!==null&&tt<V.length;tt++){Ee.index>tt?(dt=Ee,Ee=null):dt=Ee.sibling;var vt=K(B,Ee,V[tt],ie);if(vt===null){Ee===null&&(Ee=dt);break}t&&Ee&&vt.alternate===null&&a(B,Ee),O=g(vt,O,tt),bt===null?Le=vt:bt.sibling=vt,bt=vt,Ee=dt}if(tt===V.length)return s(B,Ee),ht&&vi(B,tt),Le;if(Ee===null){for(;tt<V.length;tt++)Ee=se(B,V[tt],ie),Ee!==null&&(O=g(Ee,O,tt),bt===null?Le=Ee:bt.sibling=Ee,bt=Ee);return ht&&vi(B,tt),Le}for(Ee=c(Ee);tt<V.length;tt++)dt=F(Ee,B,tt,V[tt],ie),dt!==null&&(t&&dt.alternate!==null&&Ee.delete(dt.key===null?tt:dt.key),O=g(dt,O,tt),bt===null?Le=dt:bt.sibling=dt,bt=dt);return t&&Ee.forEach(function(ws){return a(B,ws)}),ht&&vi(B,tt),Le}function Ge(B,O,V,ie){if(V==null)throw Error(r(151));for(var Le=null,bt=null,Ee=O,tt=O=0,dt=null,vt=V.next();Ee!==null&&!vt.done;tt++,vt=V.next()){Ee.index>tt?(dt=Ee,Ee=null):dt=Ee.sibling;var ws=K(B,Ee,vt.value,ie);if(ws===null){Ee===null&&(Ee=dt);break}t&&Ee&&ws.alternate===null&&a(B,Ee),O=g(ws,O,tt),bt===null?Le=ws:bt.sibling=ws,bt=ws,Ee=dt}if(vt.done)return s(B,Ee),ht&&vi(B,tt),Le;if(Ee===null){for(;!vt.done;tt++,vt=V.next())vt=se(B,vt.value,ie),vt!==null&&(O=g(vt,O,tt),bt===null?Le=vt:bt.sibling=vt,bt=vt);return ht&&vi(B,tt),Le}for(Ee=c(Ee);!vt.done;tt++,vt=V.next())vt=F(Ee,B,tt,vt.value,ie),vt!==null&&(t&&vt.alternate!==null&&Ee.delete(vt.key===null?tt:vt.key),O=g(vt,O,tt),bt===null?Le=vt:bt.sibling=vt,bt=vt);return t&&Ee.forEach(function(a5){return a(B,a5)}),ht&&vi(B,tt),Le}function Rt(B,O,V,ie){if(typeof V=="object"&&V!==null&&V.type===P&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case C:e:{for(var Le=V.key;O!==null;){if(O.key===Le){if(Le=V.type,Le===P){if(O.tag===7){s(B,O.sibling),ie=p(O,V.props.children),ie.return=B,B=ie;break e}}else if(O.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===Y&&eo(Le)===O.type){s(B,O.sibling),ie=p(O,V.props),Cl(ie,V),ie.return=B,B=ie;break e}s(B,O);break}else a(B,O);O=O.sibling}V.type===P?(ie=Zs(V.props.children,B.mode,ie,V.key),ie.return=B,B=ie):(ie=su(V.type,V.key,V.props,null,B.mode,ie),Cl(ie,V),ie.return=B,B=ie)}return w(B);case I:e:{for(Le=V.key;O!==null;){if(O.key===Le)if(O.tag===4&&O.stateNode.containerInfo===V.containerInfo&&O.stateNode.implementation===V.implementation){s(B,O.sibling),ie=p(O,V.children||[]),ie.return=B,B=ie;break e}else{s(B,O);break}else a(B,O);O=O.sibling}ie=pp(V,B.mode,ie),ie.return=B,B=ie}return w(B);case Y:return V=eo(V),Rt(B,O,V,ie)}if(Ue(V))return Ae(B,O,V,ie);if($e(V)){if(Le=$e(V),typeof Le!="function")throw Error(r(150));return V=Le.call(V),Ge(B,O,V,ie)}if(typeof V.then=="function")return Rt(B,O,mu(V),ie);if(V.$$typeof===L)return Rt(B,O,lu(B,V),ie);pu(B,V)}return typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint"?(V=""+V,O!==null&&O.tag===6?(s(B,O.sibling),ie=p(O,V),ie.return=B,B=ie):(s(B,O),ie=mp(V,B.mode,ie),ie.return=B,B=ie),w(B)):s(B,O)}return function(B,O,V,ie){try{Nl=0;var Le=Rt(B,O,V,ie);return tr=null,Le}catch(Ee){if(Ee===er||Ee===uu)throw Ee;var bt=na(29,Ee,null,B.mode);return bt.lanes=ie,bt.return=B,bt}}}var no=gy(!0),yy=gy(!1),is=!1;function Ap(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Np(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 ss(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function os(t,a,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(wt&2)!==0){var p=c.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),c.pending=a,a=iu(t),ey(t,null,s),a}return au(t,c,a,s),iu(t)}function _l(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,Jr(t,s)}}function Cp(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 w={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};g===null?p=g=w:g=g.next=w,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 _p=!1;function Tl(){if(_p){var t=Wo;if(t!==null)throw t}}function El(t,a,s,c){_p=!1;var p=t.updateQueue;is=!1;var g=p.firstBaseUpdate,w=p.lastBaseUpdate,j=p.shared.pending;if(j!==null){p.shared.pending=null;var D=j,$=D.next;D.next=null,w===null?g=$:w.next=$,w=D;var te=t.alternate;te!==null&&(te=te.updateQueue,j=te.lastBaseUpdate,j!==w&&(j===null?te.firstBaseUpdate=$:j.next=$,te.lastBaseUpdate=D))}if(g!==null){var se=p.baseState;w=0,te=$=D=null,j=g;do{var K=j.lane&-536870913,F=K!==j.lane;if(F?(ut&K)===K:(c&K)===K){K!==0&&K===Jo&&(_p=!0),te!==null&&(te=te.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Ae=t,Ge=j;K=a;var Rt=s;switch(Ge.tag){case 1:if(Ae=Ge.payload,typeof Ae=="function"){se=Ae.call(Rt,se,K);break e}se=Ae;break e;case 3:Ae.flags=Ae.flags&-65537|128;case 0:if(Ae=Ge.payload,K=typeof Ae=="function"?Ae.call(Rt,se,K):Ae,K==null)break e;se=S({},se,K);break e;case 2:is=!0}}K=j.callback,K!==null&&(t.flags|=64,F&&(t.flags|=8192),F=p.callbacks,F===null?p.callbacks=[K]:F.push(K))}else F={lane:K,tag:j.tag,payload:j.payload,callback:j.callback,next:null},te===null?($=te=F,D=se):te=te.next=F,w|=K;if(j=j.next,j===null){if(j=p.shared.pending,j===null)break;F=j,j=F.next,F.next=null,p.lastBaseUpdate=F,p.shared.pending=null}}while(!0);te===null&&(D=se),p.baseState=D,p.firstBaseUpdate=$,p.lastBaseUpdate=te,g===null&&(p.shared.lanes=0),ds|=w,t.lanes=w,t.memoizedState=se}}function by(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function vy(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)by(s[t],a)}var nr=Ce(null),hu=Ce(0);function xy(t,a){t=Ei,ve(hu,t),ve(nr,a),Ei=t|a.baseLanes}function Tp(){ve(hu,Ei),ve(nr,nr.current)}function Ep(){Ei=hu.current,Pe(nr),Pe(hu)}var aa=Ce(null),Sa=null;function rs(t){var a=t.alternate;ve(tn,tn.current&1),ve(aa,t),Sa===null&&(a===null||nr.current!==null||a.memoizedState!==null)&&(Sa=t)}function Rp(t){ve(tn,tn.current),ve(aa,t),Sa===null&&(Sa=t)}function wy(t){t.tag===22?(ve(tn,tn.current),ve(aa,t),Sa===null&&(Sa=t)):ls()}function ls(){ve(tn,tn.current),ve(aa,aa.current)}function ia(t){Pe(aa),Sa===t&&(Sa=null),Pe(tn)}var tn=Ce(0);function fu(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Ph(s)||Mh(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 ki=0,We=null,Tt=null,ln=null,gu=!1,ar=!1,ao=!1,yu=0,Rl=0,ir=null,Q4=0;function Jt(){throw Error(r(321))}function Dp(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!ta(t[s],a[s]))return!1;return!0}function zp(t,a,s,c,p,g){return ki=g,We=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,q.H=t===null||t.memoizedState===null?ib:Fp,ao=!1,g=s(c,p),ao=!1,ar&&(g=Sy(a,s,c,p)),ky(t),g}function ky(t){q.H=Il;var a=Tt!==null&&Tt.next!==null;if(ki=0,ln=Tt=We=null,gu=!1,Rl=0,ir=null,a)throw Error(r(300));t===null||cn||(t=t.dependencies,t!==null&&ru(t)&&(cn=!0))}function Sy(t,a,s,c){We=t;var p=0;do{if(ar&&(ir=null),Rl=0,ar=!1,25<=p)throw Error(r(301));if(p+=1,ln=Tt=null,t.updateQueue!=null){var g=t.updateQueue;g.lastEffect=null,g.events=null,g.stores=null,g.memoCache!=null&&(g.memoCache.index=0)}q.H=sb,g=a(s,c)}while(ar);return g}function F4(){var t=q.H,a=t.useState()[0];return a=typeof a.then=="function"?Dl(a):a,t=t.useState()[0],(Tt!==null?Tt.memoizedState:null)!==t&&(We.flags|=1024),a}function Ip(){var t=yu!==0;return yu=0,t}function Op(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function qp(t){if(gu){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}gu=!1}ki=0,ln=Tt=We=null,ar=!1,Rl=yu=0,ir=null}function Pn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ln===null?We.memoizedState=ln=t:ln=ln.next=t,ln}function nn(){if(Tt===null){var t=We.alternate;t=t!==null?t.memoizedState:null}else t=Tt.next;var a=ln===null?We.memoizedState:ln.next;if(a!==null)ln=a,Tt=t;else{if(t===null)throw We.alternate===null?Error(r(467)):Error(r(310));Tt=t,t={memoizedState:Tt.memoizedState,baseState:Tt.baseState,baseQueue:Tt.baseQueue,queue:Tt.queue,next:null},ln===null?We.memoizedState=ln=t:ln=ln.next=t}return ln}function bu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Dl(t){var a=Rl;return Rl+=1,ir===null&&(ir=[]),t=py(ir,t,a),a=We,(ln===null?a.memoizedState:ln.next)===null&&(a=a.alternate,q.H=a===null||a.memoizedState===null?ib:Fp),t}function vu(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Dl(t);if(t.$$typeof===L)return An(t)}throw Error(r(438,String(t)))}function Pp(t){var a=null,s=We.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var c=We.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=bu(),We.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]=Je;return a.index++,s}function Si(t,a){return typeof a=="function"?a(t):a}function xu(t){var a=nn();return Mp(a,Tt,t)}function Mp(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 w=p.next;p.next=g.next,g.next=w}a.baseQueue=p=g,c.pending=null}if(g=t.baseState,p===null)t.memoizedState=g;else{a=p.next;var j=w=null,D=null,$=a,te=!1;do{var se=$.lane&-536870913;if(se!==$.lane?(ut&se)===se:(ki&se)===se){var K=$.revertLane;if(K===0)D!==null&&(D=D.next={lane:0,revertLane:0,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null}),se===Jo&&(te=!0);else if((ki&K)===K){$=$.next,K===Jo&&(te=!0);continue}else se={lane:0,revertLane:$.revertLane,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},D===null?(j=D=se,w=g):D=D.next=se,We.lanes|=K,ds|=K;se=$.action,ao&&s(g,se),g=$.hasEagerState?$.eagerState:s(g,se)}else K={lane:se,revertLane:$.revertLane,gesture:$.gesture,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},D===null?(j=D=K,w=g):D=D.next=K,We.lanes|=se,ds|=se;$=$.next}while($!==null&&$!==a);if(D===null?w=g:D.next=j,!ta(g,t.memoizedState)&&(cn=!0,te&&(s=Wo,s!==null)))throw s;t.memoizedState=g,t.baseState=w,t.baseQueue=D,c.lastRenderedState=g}return p===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function Bp(t){var a=nn(),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 w=p=p.next;do g=t(g,w.action),w=w.next;while(w!==p);ta(g,a.memoizedState)||(cn=!0),a.memoizedState=g,a.baseQueue===null&&(a.baseState=g),s.lastRenderedState=g}return[g,c]}function jy(t,a,s){var c=We,p=nn(),g=ht;if(g){if(s===void 0)throw Error(r(407));s=s()}else s=a();var w=!ta((Tt||p).memoizedState,s);if(w&&(p.memoizedState=s,cn=!0),p=p.queue,Vp(Cy.bind(null,c,p,t),[t]),p.getSnapshot!==a||w||ln!==null&&ln.memoizedState.tag&1){if(c.flags|=2048,sr(9,{destroy:void 0},Ny.bind(null,c,p,s,a),null),Dt===null)throw Error(r(349));g||(ki&127)!==0||Ay(c,a,s)}return s}function Ay(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=We.updateQueue,a===null?(a=bu(),We.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function Ny(t,a,s,c){a.value=s,a.getSnapshot=c,_y(a)&&Ty(t)}function Cy(t,a,s){return s(function(){_y(a)&&Ty(t)})}function _y(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!ta(t,s)}catch{return!0}}function Ty(t){var a=Fs(t,2);a!==null&&Fn(a,t,2)}function Lp(t){var a=Pn();if(typeof t=="function"){var s=t;if(t=s(),ao){Vn(!0);try{s()}finally{Vn(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Si,lastRenderedState:t},a}function Ey(t,a,s,c){return t.baseState=s,Mp(t,Tt,typeof c=="function"?c:Si)}function Z4(t,a,s,c,p){if(Su(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(w){g.listeners.push(w)}};q.T!==null?s(!0):g.isTransition=!1,c(g),s=a.pending,s===null?(g.next=a.pending=g,Ry(a,g)):(g.next=s.next,a.pending=s.next=g)}}function Ry(t,a){var s=a.action,c=a.payload,p=t.state;if(a.isTransition){var g=q.T,w={};q.T=w;try{var j=s(p,c),D=q.S;D!==null&&D(w,j),Dy(t,a,j)}catch($){Up(t,a,$)}finally{g!==null&&w.types!==null&&(g.types=w.types),q.T=g}}else try{g=s(p,c),Dy(t,a,g)}catch($){Up(t,a,$)}}function Dy(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(c){zy(t,a,c)},function(c){return Up(t,a,c)}):zy(t,a,s)}function zy(t,a,s){a.status="fulfilled",a.value=s,Iy(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,Ry(t,s)))}function Up(t,a,s){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do a.status="rejected",a.reason=s,Iy(a),a=a.next;while(a!==c)}t.action=null}function Iy(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function Oy(t,a){return a}function qy(t,a){if(ht){var s=Dt.formState;if(s!==null){e:{var c=We;if(ht){if(qt){t:{for(var p=qt,g=ka;p.nodeType!==8;){if(!g){p=null;break t}if(p=ja(p.nextSibling),p===null){p=null;break t}}g=p.data,p=g==="F!"||g==="F"?p:null}if(p){qt=ja(p.nextSibling),c=p.data==="F!";break e}}ns(c)}c=!1}c&&(a=s[0])}}return s=Pn(),s.memoizedState=s.baseState=a,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oy,lastRenderedState:a},s.queue=c,s=tb.bind(null,We,c),c.dispatch=s,c=Lp(!1),g=Qp.bind(null,We,!1,c.queue),c=Pn(),p={state:a,dispatch:null,action:t,pending:null},c.queue=p,s=Z4.bind(null,We,p,g,s),p.dispatch=s,c.memoizedState=t,[a,s,!1]}function Py(t){var a=nn();return My(a,Tt,t)}function My(t,a,s){if(a=Mp(t,a,Oy)[0],t=xu(Si)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var c=Dl(a)}catch(w){throw w===er?uu:w}else c=a;a=nn();var p=a.queue,g=p.dispatch;return s!==a.memoizedState&&(We.flags|=2048,sr(9,{destroy:void 0},Y4.bind(null,p,s),null)),[c,g,t]}function Y4(t,a){t.action=a}function By(t){var a=nn(),s=Tt;if(s!==null)return My(a,s,t);nn(),a=a.memoizedState,s=nn();var c=s.queue.dispatch;return s.memoizedState=t,[a,c,!1]}function sr(t,a,s,c){return t={tag:t,create:s,deps:c,inst:a,next:null},a=We.updateQueue,a===null&&(a=bu(),We.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 Ly(){return nn().memoizedState}function wu(t,a,s,c){var p=Pn();We.flags|=t,p.memoizedState=sr(1|a,{destroy:void 0},s,c===void 0?null:c)}function ku(t,a,s,c){var p=nn();c=c===void 0?null:c;var g=p.memoizedState.inst;Tt!==null&&c!==null&&Dp(c,Tt.memoizedState.deps)?p.memoizedState=sr(a,g,s,c):(We.flags|=t,p.memoizedState=sr(1|a,g,s,c))}function Uy(t,a){wu(8390656,8,t,a)}function Vp(t,a){ku(2048,8,t,a)}function X4(t){We.flags|=4;var a=We.updateQueue;if(a===null)a=bu(),We.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function Vy(t){var a=nn().memoizedState;return X4({ref:a,nextImpl:t}),function(){if((wt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function $y(t,a){return ku(4,2,t,a)}function Gy(t,a){return ku(4,4,t,a)}function Ky(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 Hy(t,a,s){s=s!=null?s.concat([t]):null,ku(4,4,Ky.bind(null,a,t),s)}function $p(){}function Qy(t,a){var s=nn();a=a===void 0?null:a;var c=s.memoizedState;return a!==null&&Dp(a,c[1])?c[0]:(s.memoizedState=[t,a],t)}function Fy(t,a){var s=nn();a=a===void 0?null:a;var c=s.memoizedState;if(a!==null&&Dp(a,c[1]))return c[0];if(c=t(),ao){Vn(!0);try{t()}finally{Vn(!1)}}return s.memoizedState=[c,a],c}function Gp(t,a,s){return s===void 0||(ki&1073741824)!==0&&(ut&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=Zb(),We.lanes|=t,ds|=t,s)}function Zy(t,a,s,c){return ta(s,a)?s:nr.current!==null?(t=Gp(t,s,c),ta(t,a)||(cn=!0),t):(ki&42)===0||(ki&1073741824)!==0&&(ut&261930)===0?(cn=!0,t.memoizedState=s):(t=Zb(),We.lanes|=t,ds|=t,a)}function Yy(t,a,s,c,p){var g=J.p;J.p=g!==0&&8>g?g:8;var w=q.T,j={};q.T=j,Qp(t,!1,a,s);try{var D=p(),$=q.S;if($!==null&&$(j,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var te=H4(D,c);zl(t,a,te,ra(t))}else zl(t,a,c,ra(t))}catch(se){zl(t,a,{then:function(){},status:"rejected",reason:se},ra())}finally{J.p=g,w!==null&&j.types!==null&&(w.types=j.types),q.T=w}}function J4(){}function Kp(t,a,s,c){if(t.tag!==5)throw Error(r(476));var p=Xy(t).queue;Yy(t,p,a,be,s===null?J4:function(){return Jy(t),s(c)})}function Xy(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:be,baseState:be,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Si,lastRenderedState:be},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Si,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function Jy(t){var a=Xy(t);a.next===null&&(a=t.alternate.memoizedState),zl(t,a.next.queue,{},ra())}function Hp(){return An(Yl)}function Wy(){return nn().memoizedState}function eb(){return nn().memoizedState}function W4(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=ra();t=ss(s);var c=os(a,t,s);c!==null&&(Fn(c,a,s),_l(c,a,s)),a={cache:wp()},t.payload=a;return}a=a.return}}function eC(t,a,s){var c=ra();s={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Su(t)?nb(a,s):(s=up(t,a,s,c),s!==null&&(Fn(s,t,c),ab(s,a,c)))}function tb(t,a,s){var c=ra();zl(t,a,s,c)}function zl(t,a,s,c){var p={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(Su(t))nb(a,p);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var w=a.lastRenderedState,j=g(w,s);if(p.hasEagerState=!0,p.eagerState=j,ta(j,w))return au(t,a,p,0),Dt===null&&nu(),!1}catch{}if(s=up(t,a,p,c),s!==null)return Fn(s,t,c),ab(s,a,c),!0}return!1}function Qp(t,a,s,c){if(c={lane:2,revertLane:Ah(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Su(t)){if(a)throw Error(r(479))}else a=up(t,s,c,2),a!==null&&Fn(a,t,2)}function Su(t){var a=t.alternate;return t===We||a!==null&&a===We}function nb(t,a){ar=gu=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function ab(t,a,s){if((s&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,Jr(t,s)}}var Il={readContext:An,use:vu,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useLayoutEffect:Jt,useInsertionEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useSyncExternalStore:Jt,useId:Jt,useHostTransitionStatus:Jt,useFormState:Jt,useActionState:Jt,useOptimistic:Jt,useMemoCache:Jt,useCacheRefresh:Jt};Il.useEffectEvent=Jt;var ib={readContext:An,use:vu,useCallback:function(t,a){return Pn().memoizedState=[t,a===void 0?null:a],t},useContext:An,useEffect:Uy,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,wu(4194308,4,Ky.bind(null,a,t),s)},useLayoutEffect:function(t,a){return wu(4194308,4,t,a)},useInsertionEffect:function(t,a){wu(4,2,t,a)},useMemo:function(t,a){var s=Pn();a=a===void 0?null:a;var c=t();if(ao){Vn(!0);try{t()}finally{Vn(!1)}}return s.memoizedState=[c,a],c},useReducer:function(t,a,s){var c=Pn();if(s!==void 0){var p=s(a);if(ao){Vn(!0);try{s(a)}finally{Vn(!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=eC.bind(null,We,t),[c.memoizedState,t]},useRef:function(t){var a=Pn();return t={current:t},a.memoizedState=t},useState:function(t){t=Lp(t);var a=t.queue,s=tb.bind(null,We,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:$p,useDeferredValue:function(t,a){var s=Pn();return Gp(s,t,a)},useTransition:function(){var t=Lp(!1);return t=Yy.bind(null,We,t.queue,!0,!1),Pn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var c=We,p=Pn();if(ht){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),Dt===null)throw Error(r(349));(ut&127)!==0||Ay(c,a,s)}p.memoizedState=s;var g={value:s,getSnapshot:a};return p.queue=g,Uy(Cy.bind(null,c,g,t),[t]),c.flags|=2048,sr(9,{destroy:void 0},Ny.bind(null,c,g,s,a),null),s},useId:function(){var t=Pn(),a=Dt.identifierPrefix;if(ht){var s=Wa,c=Ja;s=(c&~(1<<32-Ft(c)-1)).toString(32)+s,a="_"+a+"R_"+s,s=yu++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=Q4++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:Hp,useFormState:qy,useActionState:qy,useOptimistic:function(t){var a=Pn();a.memoizedState=a.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=s,a=Qp.bind(null,We,!0,s),s.dispatch=a,[t,a]},useMemoCache:Pp,useCacheRefresh:function(){return Pn().memoizedState=W4.bind(null,We)},useEffectEvent:function(t){var a=Pn(),s={impl:t};return a.memoizedState=s,function(){if((wt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},Fp={readContext:An,use:vu,useCallback:Qy,useContext:An,useEffect:Vp,useImperativeHandle:Hy,useInsertionEffect:$y,useLayoutEffect:Gy,useMemo:Fy,useReducer:xu,useRef:Ly,useState:function(){return xu(Si)},useDebugValue:$p,useDeferredValue:function(t,a){var s=nn();return Zy(s,Tt.memoizedState,t,a)},useTransition:function(){var t=xu(Si)[0],a=nn().memoizedState;return[typeof t=="boolean"?t:Dl(t),a]},useSyncExternalStore:jy,useId:Wy,useHostTransitionStatus:Hp,useFormState:Py,useActionState:Py,useOptimistic:function(t,a){var s=nn();return Ey(s,Tt,t,a)},useMemoCache:Pp,useCacheRefresh:eb};Fp.useEffectEvent=Vy;var sb={readContext:An,use:vu,useCallback:Qy,useContext:An,useEffect:Vp,useImperativeHandle:Hy,useInsertionEffect:$y,useLayoutEffect:Gy,useMemo:Fy,useReducer:Bp,useRef:Ly,useState:function(){return Bp(Si)},useDebugValue:$p,useDeferredValue:function(t,a){var s=nn();return Tt===null?Gp(s,t,a):Zy(s,Tt.memoizedState,t,a)},useTransition:function(){var t=Bp(Si)[0],a=nn().memoizedState;return[typeof t=="boolean"?t:Dl(t),a]},useSyncExternalStore:jy,useId:Wy,useHostTransitionStatus:Hp,useFormState:By,useActionState:By,useOptimistic:function(t,a){var s=nn();return Tt!==null?Ey(s,Tt,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:Pp,useCacheRefresh:eb};sb.useEffectEvent=Vy;function Zp(t,a,s,c){a=t.memoizedState,s=s(c,a),s=s==null?a:S({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var Yp={enqueueSetState:function(t,a,s){t=t._reactInternals;var c=ra(),p=ss(c);p.payload=a,s!=null&&(p.callback=s),a=os(t,p,c),a!==null&&(Fn(a,t,c),_l(a,t,c))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var c=ra(),p=ss(c);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=os(t,p,c),a!==null&&(Fn(a,t,c),_l(a,t,c))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=ra(),c=ss(s);c.tag=2,a!=null&&(c.callback=a),a=os(t,c,s),a!==null&&(Fn(a,t,s),_l(a,t,s))}};function ob(t,a,s,c,p,g,w){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,g,w):a.prototype&&a.prototype.isPureReactComponent?!xl(s,c)||!xl(p,g):!0}function rb(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&&Yp.enqueueReplaceState(a,a.state,null)}function io(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=S({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function lb(t){tu(t)}function cb(t){console.error(t)}function ub(t){tu(t)}function ju(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(c){setTimeout(function(){throw c})}}function db(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 Xp(t,a,s){return s=ss(s),s.tag=3,s.payload={element:null},s.callback=function(){ju(t,a)},s}function mb(t){return t=ss(t),t.tag=3,t}function pb(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(){db(a,s,c)}}var w=s.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(t.callback=function(){db(a,s,c),typeof p!="function"&&(ms===null?ms=new Set([this]):ms.add(this));var j=c.stack;this.componentDidCatch(c.value,{componentStack:j!==null?j:""})})}function tC(t,a,s,c,p){if(s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(a=s.alternate,a!==null&&Xo(a,s,p,!0),s=aa.current,s!==null){switch(s.tag){case 31:case 13:return Sa===null?qu():s.alternate===null&&Wt===0&&(Wt=3),s.flags&=-257,s.flags|=65536,s.lanes=p,c===du?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([c]):a.add(c),kh(t,c,p)),!1;case 22:return s.flags|=65536,c===du?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)),kh(t,c,p)),!1}throw Error(r(435,s.tag))}return kh(t,c,p),qu(),!1}if(ht)return a=aa.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,c!==gp&&(t=Error(r(422),{cause:c}),Sl(va(t,s)))):(c!==gp&&(a=Error(r(423),{cause:c}),Sl(va(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,c=va(c,s),p=Xp(t.stateNode,c,p),Cp(t,p),Wt!==4&&(Wt=2)),!1;var g=Error(r(520),{cause:c});if(g=va(g,s),Vl===null?Vl=[g]:Vl.push(g),Wt!==4&&(Wt=2),a===null)return!0;c=va(c,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=Xp(s.stateNode,c,t),Cp(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"&&(ms===null||!ms.has(g))))return s.flags|=65536,p&=-p,s.lanes|=p,p=mb(p),pb(p,t,s,c),Cp(s,p),!1}s=s.return}while(s!==null);return!1}var Jp=Error(r(461)),cn=!1;function Nn(t,a,s,c){a.child=t===null?yy(a,null,s,c):no(a,t.child,s,c)}function hb(t,a,s,c,p){s=s.render;var g=a.ref;if("ref"in c){var w={};for(var j in c)j!=="ref"&&(w[j]=c[j])}else w=c;return Js(a),c=zp(t,a,s,w,g,p),j=Ip(),t!==null&&!cn?(Op(t,a,p),ji(t,a,p)):(ht&&j&&hp(a),a.flags|=1,Nn(t,a,c,p),a.child)}function fb(t,a,s,c,p){if(t===null){var g=s.type;return typeof g=="function"&&!dp(g)&&g.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=g,gb(t,a,g,c,p)):(t=su(s.type,null,c,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(g=t.child,!oh(t,p)){var w=g.memoizedProps;if(s=s.compare,s=s!==null?s:xl,s(w,c)&&t.ref===a.ref)return ji(t,a,p)}return a.flags|=1,t=bi(g,c),t.ref=a.ref,t.return=a,a.child=t}function gb(t,a,s,c,p){if(t!==null){var g=t.memoizedProps;if(xl(g,c)&&t.ref===a.ref)if(cn=!1,a.pendingProps=c=g,oh(t,p))(t.flags&131072)!==0&&(cn=!0);else return a.lanes=t.lanes,ji(t,a,p)}return Wp(t,a,s,c,p)}function yb(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 bb(t,a,g,s,c)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&cu(a,g!==null?g.cachePool:null),g!==null?xy(a,g):Tp(),wy(a);else return c=a.lanes=536870912,bb(t,a,g!==null?g.baseLanes|s:s,s,c)}else g!==null?(cu(a,g.cachePool),xy(a,g),ls(),a.memoizedState=null):(t!==null&&cu(a,null),Tp(),ls());return Nn(t,a,p,s),a.child}function Ol(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function bb(t,a,s,c,p){var g=Sp();return g=g===null?null:{parent:rn._currentValue,pool:g},a.memoizedState={baseLanes:s,cachePool:g},t!==null&&cu(a,null),Tp(),wy(a),t!==null&&Xo(t,a,c,!0),a.childLanes=p,null}function Au(t,a){return a=Cu({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function vb(t,a,s){return no(a,t.child,null,s),t=Au(a,a.pendingProps),t.flags|=2,ia(a),a.memoizedState=null,t}function nC(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=Au(a,c),a.lanes=536870912,Ol(null,t);if(Rp(a),(t=qt)?(t=Rv(t,ka),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:es!==null?{id:Ja,overflow:Wa}:null,retryLane:536870912,hydrationErrors:null},s=ny(t),s.return=a,a.child=s,jn=a,qt=null)):t=null,t===null)throw ns(a);return a.lanes=536870912,null}return Au(a,c)}var g=t.memoizedState;if(g!==null){var w=g.dehydrated;if(Rp(a),p)if(a.flags&256)a.flags&=-257,a=vb(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(cn||Xo(t,a,s,!1),p=(s&t.childLanes)!==0,cn||p){if(c=Dt,c!==null&&(w=Wr(c,s),w!==0&&w!==g.retryLane))throw g.retryLane=w,Fs(t,w),Fn(c,t,w),Jp;qu(),a=vb(t,a,s)}else t=g.treeContext,qt=ja(w.nextSibling),jn=a,ht=!0,ts=null,ka=!1,t!==null&&sy(a,t),a=Au(a,c),a.flags|=4096;return a}return t=bi(t.child,{mode:c.mode,children:c.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Nu(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 Wp(t,a,s,c,p){return Js(a),s=zp(t,a,s,c,void 0,p),c=Ip(),t!==null&&!cn?(Op(t,a,p),ji(t,a,p)):(ht&&c&&hp(a),a.flags|=1,Nn(t,a,s,p),a.child)}function xb(t,a,s,c,p,g){return Js(a),a.updateQueue=null,s=Sy(a,c,s,p),ky(t),c=Ip(),t!==null&&!cn?(Op(t,a,g),ji(t,a,g)):(ht&&c&&hp(a),a.flags|=1,Nn(t,a,s,g),a.child)}function wb(t,a,s,c,p){if(Js(a),a.stateNode===null){var g=Qo,w=s.contextType;typeof w=="object"&&w!==null&&(g=An(w)),g=new s(c,g),a.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,g.updater=Yp,a.stateNode=g,g._reactInternals=a,g=a.stateNode,g.props=c,g.state=a.memoizedState,g.refs={},Ap(a),w=s.contextType,g.context=typeof w=="object"&&w!==null?An(w):Qo,g.state=a.memoizedState,w=s.getDerivedStateFromProps,typeof w=="function"&&(Zp(a,s,w,c),g.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(w=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),w!==g.state&&Yp.enqueueReplaceState(g,g.state,null),El(a,c,g,p),Tl(),g.state=a.memoizedState),typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!0}else if(t===null){g=a.stateNode;var j=a.memoizedProps,D=io(s,j);g.props=D;var $=g.context,te=s.contextType;w=Qo,typeof te=="object"&&te!==null&&(w=An(te));var se=s.getDerivedStateFromProps;te=typeof se=="function"||typeof g.getSnapshotBeforeUpdate=="function",j=a.pendingProps!==j,te||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(j||$!==w)&&rb(a,g,c,w),is=!1;var K=a.memoizedState;g.state=K,El(a,c,g,p),Tl(),$=a.memoizedState,j||K!==$||is?(typeof se=="function"&&(Zp(a,s,se,c),$=a.memoizedState),(D=is||ob(a,s,D,c,K,$,w))?(te||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=w,c=D):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!1)}else{g=a.stateNode,Np(t,a),w=a.memoizedProps,te=io(s,w),g.props=te,se=a.pendingProps,K=g.context,$=s.contextType,D=Qo,typeof $=="object"&&$!==null&&(D=An($)),j=s.getDerivedStateFromProps,($=typeof j=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(w!==se||K!==D)&&rb(a,g,c,D),is=!1,K=a.memoizedState,g.state=K,El(a,c,g,p),Tl();var F=a.memoizedState;w!==se||K!==F||is||t!==null&&t.dependencies!==null&&ru(t.dependencies)?(typeof j=="function"&&(Zp(a,s,j,c),F=a.memoizedState),(te=is||ob(a,s,te,c,K,F,D)||t!==null&&t.dependencies!==null&&ru(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"||w===t.memoizedProps&&K===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&K===t.memoizedState||(a.flags|=1024),a.memoizedProps=c,a.memoizedState=F),g.props=c,g.state=F,g.context=D,c=te):(typeof g.componentDidUpdate!="function"||w===t.memoizedProps&&K===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||w===t.memoizedProps&&K===t.memoizedState||(a.flags|=1024),c=!1)}return g=c,Nu(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=no(a,t.child,null,p),a.child=no(a,null,s,p)):Nn(t,a,s,p),a.memoizedState=g.state,t=a.child):t=ji(t,a,p),t}function kb(t,a,s,c){return Ys(),a.flags|=256,Nn(t,a,s,c),a.child}var eh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function th(t){return{baseLanes:t,cachePool:dy()}}function nh(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=oa),t}function Sb(t,a,s){var c=a.pendingProps,p=!1,g=(a.flags&128)!==0,w;if((w=g)||(w=t!==null&&t.memoizedState===null?!1:(tn.current&2)!==0),w&&(p=!0,a.flags&=-129),w=(a.flags&32)!==0,a.flags&=-33,t===null){if(ht){if(p?rs(a):ls(),(t=qt)?(t=Rv(t,ka),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:es!==null?{id:Ja,overflow:Wa}:null,retryLane:536870912,hydrationErrors:null},s=ny(t),s.return=a,a.child=s,jn=a,qt=null)):t=null,t===null)throw ns(a);return Mh(t)?a.lanes=32:a.lanes=536870912,null}var j=c.children;return c=c.fallback,p?(ls(),p=a.mode,j=Cu({mode:"hidden",children:j},p),c=Zs(c,p,s,null),j.return=a,c.return=a,j.sibling=c,a.child=j,c=a.child,c.memoizedState=th(s),c.childLanes=nh(t,w,s),a.memoizedState=eh,Ol(null,c)):(rs(a),ah(a,j))}var D=t.memoizedState;if(D!==null&&(j=D.dehydrated,j!==null)){if(g)a.flags&256?(rs(a),a.flags&=-257,a=ih(t,a,s)):a.memoizedState!==null?(ls(),a.child=t.child,a.flags|=128,a=null):(ls(),j=c.fallback,p=a.mode,c=Cu({mode:"visible",children:c.children},p),j=Zs(j,p,s,null),j.flags|=2,c.return=a,j.return=a,c.sibling=j,a.child=c,no(a,t.child,null,s),c=a.child,c.memoizedState=th(s),c.childLanes=nh(t,w,s),a.memoizedState=eh,a=Ol(null,c));else if(rs(a),Mh(j)){if(w=j.nextSibling&&j.nextSibling.dataset,w)var $=w.dgst;w=$,c=Error(r(419)),c.stack="",c.digest=w,Sl({value:c,source:null,stack:null}),a=ih(t,a,s)}else if(cn||Xo(t,a,s,!1),w=(s&t.childLanes)!==0,cn||w){if(w=Dt,w!==null&&(c=Wr(w,s),c!==0&&c!==D.retryLane))throw D.retryLane=c,Fs(t,c),Fn(w,t,c),Jp;Ph(j)||qu(),a=ih(t,a,s)}else Ph(j)?(a.flags|=192,a.child=t.child,a=null):(t=D.treeContext,qt=ja(j.nextSibling),jn=a,ht=!0,ts=null,ka=!1,t!==null&&sy(a,t),a=ah(a,c.children),a.flags|=4096);return a}return p?(ls(),j=c.fallback,p=a.mode,D=t.child,$=D.sibling,c=bi(D,{mode:"hidden",children:c.children}),c.subtreeFlags=D.subtreeFlags&65011712,$!==null?j=bi($,j):(j=Zs(j,p,s,null),j.flags|=2),j.return=a,c.return=a,c.sibling=j,a.child=c,Ol(null,c),c=a.child,j=t.child.memoizedState,j===null?j=th(s):(p=j.cachePool,p!==null?(D=rn._currentValue,p=p.parent!==D?{parent:D,pool:D}:p):p=dy(),j={baseLanes:j.baseLanes|s,cachePool:p}),c.memoizedState=j,c.childLanes=nh(t,w,s),a.memoizedState=eh,Ol(t.child,c)):(rs(a),s=t.child,t=s.sibling,s=bi(s,{mode:"visible",children:c.children}),s.return=a,s.sibling=null,t!==null&&(w=a.deletions,w===null?(a.deletions=[t],a.flags|=16):w.push(t)),a.child=s,a.memoizedState=null,s)}function ah(t,a){return a=Cu({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function Cu(t,a){return t=na(22,t,null,a),t.lanes=0,t}function ih(t,a,s){return no(a,t.child,null,s),t=ah(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function jb(t,a,s){t.lanes|=a;var c=t.alternate;c!==null&&(c.lanes|=a),vp(t.return,a,s)}function sh(t,a,s,c,p,g){var w=t.memoizedState;w===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:c,tail:s,tailMode:p,treeForkCount:g}:(w.isBackwards=a,w.rendering=null,w.renderingStartTime=0,w.last=c,w.tail=s,w.tailMode=p,w.treeForkCount=g)}function Ab(t,a,s){var c=a.pendingProps,p=c.revealOrder,g=c.tail;c=c.children;var w=tn.current,j=(w&2)!==0;if(j?(w=w&1|2,a.flags|=128):w&=1,ve(tn,w),Nn(t,a,c,s),c=ht?kl:0,!j&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&jb(t,s,a);else if(t.tag===19)jb(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&&fu(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),sh(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&&fu(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}sh(a,!0,s,null,g,c);break;case"together":sh(a,!1,null,null,void 0,c);break;default:a.memoizedState=null}return a.child}function ji(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),ds|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(Xo(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=bi(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=bi(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function oh(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&ru(t)))}function aC(t,a,s){switch(a.tag){case 3:Ie(a,a.stateNode.containerInfo),as(a,rn,t.memoizedState.cache),Ys();break;case 27:case 5:st(a);break;case 4:Ie(a,a.stateNode.containerInfo);break;case 10:as(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Rp(a),null;break;case 13:var c=a.memoizedState;if(c!==null)return c.dehydrated!==null?(rs(a),a.flags|=128,null):(s&a.child.childLanes)!==0?Sb(t,a,s):(rs(a),t=ji(t,a,s),t!==null?t.sibling:null);rs(a);break;case 19:var p=(t.flags&128)!==0;if(c=(s&a.childLanes)!==0,c||(Xo(t,a,s,!1),c=(s&a.childLanes)!==0),p){if(c)return Ab(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),ve(tn,tn.current),c)break;return null;case 22:return a.lanes=0,yb(t,a,s,a.pendingProps);case 24:as(a,rn,t.memoizedState.cache)}return ji(t,a,s)}function Nb(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)cn=!0;else{if(!oh(t,s)&&(a.flags&128)===0)return cn=!1,aC(t,a,s);cn=(t.flags&131072)!==0}else cn=!1,ht&&(a.flags&1048576)!==0&&iy(a,kl,a.index);switch(a.lanes=0,a.tag){case 16:e:{var c=a.pendingProps;if(t=eo(a.elementType),a.type=t,typeof t=="function")dp(t)?(c=io(t,c),a.tag=1,a=wb(null,a,t,c,s)):(a.tag=0,a=Wp(null,a,t,c,s));else{if(t!=null){var p=t.$$typeof;if(p===H){a.tag=11,a=hb(null,a,t,c,s);break e}else if(p===M){a.tag=14,a=fb(null,a,t,c,s);break e}}throw a=ke(t)||t,Error(r(306,a,""))}}return a;case 0:return Wp(t,a,a.type,a.pendingProps,s);case 1:return c=a.type,p=io(c,a.pendingProps),wb(t,a,c,p,s);case 3:e:{if(Ie(a,a.stateNode.containerInfo),t===null)throw Error(r(387));c=a.pendingProps;var g=a.memoizedState;p=g.element,Np(t,a),El(a,c,null,s);var w=a.memoizedState;if(c=w.cache,as(a,rn,c),c!==g.cache&&xp(a,[rn],s,!0),Tl(),c=w.element,g.isDehydrated)if(g={element:c,isDehydrated:!1,cache:w.cache},a.updateQueue.baseState=g,a.memoizedState=g,a.flags&256){a=kb(t,a,c,s);break e}else if(c!==p){p=va(Error(r(424)),a),Sl(p),a=kb(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,qt=ja(t.firstChild),jn=a,ht=!0,ts=null,ka=!0,s=yy(a,null,c,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Ys(),c===p){a=ji(t,a,s);break e}Nn(t,a,c,s)}a=a.child}return a;case 26:return Nu(t,a),t===null?(s=Pv(a.type,null,a.pendingProps,null))?a.memoizedState=s:ht||(s=a.type,t=a.pendingProps,c=$u(Q.current).createElement(s),c[on]=a,c[Rn]=t,Cn(c,s,t),en(c),a.stateNode=c):a.memoizedState=Pv(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return st(a),t===null&&ht&&(c=a.stateNode=Iv(a.type,a.pendingProps,Q.current),jn=a,ka=!0,p=qt,gs(a.type)?(Bh=p,qt=ja(c.firstChild)):qt=p),Nn(t,a,a.pendingProps.children,s),Nu(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&ht&&((p=c=qt)&&(c=zC(c,a.type,a.pendingProps,ka),c!==null?(a.stateNode=c,jn=a,qt=ja(c.firstChild),ka=!1,p=!0):p=!1),p||ns(a)),st(a),p=a.type,g=a.pendingProps,w=t!==null?t.memoizedProps:null,c=g.children,Ih(p,g)?c=null:w!==null&&Ih(p,w)&&(a.flags|=32),a.memoizedState!==null&&(p=zp(t,a,F4,null,null,s),Yl._currentValue=p),Nu(t,a),Nn(t,a,c,s),a.child;case 6:return t===null&&ht&&((t=s=qt)&&(s=IC(s,a.pendingProps,ka),s!==null?(a.stateNode=s,jn=a,qt=null,t=!0):t=!1),t||ns(a)),null;case 13:return Sb(t,a,s);case 4:return Ie(a,a.stateNode.containerInfo),c=a.pendingProps,t===null?a.child=no(a,null,c,s):Nn(t,a,c,s),a.child;case 11:return hb(t,a,a.type,a.pendingProps,s);case 7:return Nn(t,a,a.pendingProps,s),a.child;case 8:return Nn(t,a,a.pendingProps.children,s),a.child;case 12:return Nn(t,a,a.pendingProps.children,s),a.child;case 10:return c=a.pendingProps,as(a,a.type,c.value),Nn(t,a,c.children,s),a.child;case 9:return p=a.type._context,c=a.pendingProps.children,Js(a),p=An(p),c=c(p),a.flags|=1,Nn(t,a,c,s),a.child;case 14:return fb(t,a,a.type,a.pendingProps,s);case 15:return gb(t,a,a.type,a.pendingProps,s);case 19:return Ab(t,a,s);case 31:return nC(t,a,s);case 22:return yb(t,a,s,a.pendingProps);case 24:return Js(a),c=An(rn),t===null?(p=Sp(),p===null&&(p=Dt,g=wp(),p.pooledCache=g,g.refCount++,g!==null&&(p.pooledCacheLanes|=s),p=g),a.memoizedState={parent:c,cache:p},Ap(a),as(a,rn,p)):((t.lanes&s)!==0&&(Np(t,a),El(a,null,null,s),Tl()),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),as(a,rn,c)):(c=g.cache,as(a,rn,c),c!==p.cache&&xp(a,[rn],s,!0))),Nn(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function Ai(t){t.flags|=4}function rh(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(Wb())t.flags|=8192;else throw to=du,jp}else t.flags&=-16777217}function Cb(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Vv(a))if(Wb())t.flags|=8192;else throw to=du,jp}function _u(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?di():536870912,t.lanes|=a,cr|=a)}function ql(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 Pt(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 iC(t,a,s){var c=a.pendingProps;switch(fp(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Pt(a),null;case 1:return Pt(a),null;case 3:return s=a.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),a.memoizedState.cache!==c&&(a.flags|=2048),wi(rn),je(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(Yo(a)?Ai(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,yp())),Pt(a),null;case 26:var p=a.type,g=a.memoizedState;return t===null?(Ai(a),g!==null?(Pt(a),Cb(a,g)):(Pt(a),rh(a,p,null,c,s))):g?g!==t.memoizedState?(Ai(a),Pt(a),Cb(a,g)):(Pt(a),a.flags&=-16777217):(t=t.memoizedProps,t!==c&&Ai(a),Pt(a),rh(a,p,t,c,s)),null;case 27:if(Ve(a),s=Q.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&Ai(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Pt(a),null}t=de.current,Yo(a)?oy(a):(t=Iv(p,c,s),a.stateNode=t,Ai(a))}return Pt(a),null;case 5:if(Ve(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&Ai(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Pt(a),null}if(g=de.current,Yo(a))oy(a);else{var w=$u(Q.current);switch(g){case 1:g=w.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:g=w.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":g=w.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":g=w.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":g=w.createElement("div"),g.innerHTML="<script><\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?w.createElement("select",{is:c.is}):w.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?w.createElement(p,{is:c.is}):w.createElement(p)}}g[on]=a,g[Rn]=c;e:for(w=a.child;w!==null;){if(w.tag===5||w.tag===6)g.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===a)break e;for(;w.sibling===null;){if(w.return===null||w.return===a)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}a.stateNode=g;e:switch(Cn(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&&Ai(a)}}return Pt(a),rh(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&Ai(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(r(166));if(t=Q.current,Yo(a)){if(t=a.stateNode,s=a.memoizedProps,c=null,p=jn,p!==null)switch(p.tag){case 27:case 5:c=p.memoizedProps}t[on]=a,t=!!(t.nodeValue===s||c!==null&&c.suppressHydrationWarning===!0||Sv(t.nodeValue,s)),t||ns(a,!0)}else t=$u(t).createTextNode(c),t[on]=a,a.stateNode=t}return Pt(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(c=Yo(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[on]=a}else Ys(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Pt(a),t=!1}else s=yp(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(ia(a),a):(ia(a),null);if((a.flags&128)!==0)throw Error(r(558))}return Pt(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=Yo(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[on]=a}else Ys(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Pt(a),p=!1}else p=yp(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(ia(a),a):(ia(a),null)}return ia(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),_u(a,a.updateQueue),Pt(a),null);case 4:return je(),t===null&&Th(a.stateNode.containerInfo),Pt(a),null;case 10:return wi(a.type),Pt(a),null;case 19:if(Pe(tn),c=a.memoizedState,c===null)return Pt(a),null;if(p=(a.flags&128)!==0,g=c.rendering,g===null)if(p)ql(c,!1);else{if(Wt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=fu(t),g!==null){for(a.flags|=128,ql(c,!1),t=g.updateQueue,a.updateQueue=t,_u(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)ty(s,t),s=s.sibling;return ve(tn,tn.current&1|2),ht&&vi(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&Ut()>zu&&(a.flags|=128,p=!0,ql(c,!1),a.lanes=4194304)}else{if(!p)if(t=fu(g),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,_u(a,t),ql(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!ht)return Pt(a),null}else 2*Ut()-c.renderingStartTime>zu&&s!==536870912&&(a.flags|=128,p=!0,ql(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=Ut(),t.sibling=null,s=tn.current,ve(tn,p?s&1|2:s&1),ht&&vi(a,c.treeForkCount),t):(Pt(a),null);case 22:case 23:return ia(a),Ep(),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&&(Pt(a),a.subtreeFlags&6&&(a.flags|=8192)):Pt(a),s=a.updateQueue,s!==null&&_u(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&&Pe(Ws),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),wi(rn),Pt(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function sC(t,a){switch(fp(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return wi(rn),je(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ve(a),null;case 31:if(a.memoizedState!==null){if(ia(a),a.alternate===null)throw Error(r(340));Ys()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(ia(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Ys()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Pe(tn),null;case 4:return je(),null;case 10:return wi(a.type),null;case 22:case 23:return ia(a),Ep(),t!==null&&Pe(Ws),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return wi(rn),null;case 25:return null;default:return null}}function _b(t,a){switch(fp(a),a.tag){case 3:wi(rn),je();break;case 26:case 27:case 5:Ve(a);break;case 4:je();break;case 31:a.memoizedState!==null&&ia(a);break;case 13:ia(a);break;case 19:Pe(tn);break;case 10:wi(a.type);break;case 22:case 23:ia(a),Ep(),t!==null&&Pe(Ws);break;case 24:wi(rn)}}function Pl(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,w=s.inst;c=g(),w.destroy=c}s=s.next}while(s!==p)}}catch(j){Ct(a,a.return,j)}}function cs(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 w=c.inst,j=w.destroy;if(j!==void 0){w.destroy=void 0,p=a;var D=s,$=j;try{$()}catch(te){Ct(p,D,te)}}}c=c.next}while(c!==g)}}catch(te){Ct(a,a.return,te)}}function Tb(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{vy(a,s)}catch(c){Ct(t,t.return,c)}}}function Eb(t,a,s){s.props=io(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(c){Ct(t,a,c)}}function Ml(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){Ct(t,a,p)}}function ei(t,a){var s=t.ref,c=t.refCleanup;if(s!==null)if(typeof c=="function")try{c()}catch(p){Ct(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){Ct(t,a,p)}else s.current=null}function Rb(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){Ct(t,t.return,p)}}function lh(t,a,s){try{var c=t.stateNode;CC(c,t.type,s,a),c[Rn]=a}catch(p){Ct(t,t.return,p)}}function Db(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&gs(t.type)||t.tag===4}function ch(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Db(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&&gs(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 uh(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=Oa));else if(c!==4&&(c===27&&gs(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(uh(t,a,s),t=t.sibling;t!==null;)uh(t,a,s),t=t.sibling}function Tu(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&&gs(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(Tu(t,a,s),t=t.sibling;t!==null;)Tu(t,a,s),t=t.sibling}function zb(t){var a=t.stateNode,s=t.memoizedProps;try{for(var c=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);Cn(a,c,s),a[on]=t,a[Rn]=s}catch(g){Ct(t,t.return,g)}}var Ni=!1,un=!1,dh=!1,Ib=typeof WeakSet=="function"?WeakSet:Set,yn=null;function oC(t,a){if(t=t.containerInfo,Dh=Yu,t=H1(t),ip(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 w=0,j=-1,D=-1,$=0,te=0,se=t,K=null;t:for(;;){for(var F;se!==s||p!==0&&se.nodeType!==3||(j=w+p),se!==g||c!==0&&se.nodeType!==3||(D=w+c),se.nodeType===3&&(w+=se.nodeValue.length),(F=se.firstChild)!==null;)K=se,se=F;for(;;){if(se===t)break t;if(K===s&&++$===p&&(j=w),K===g&&++te===c&&(D=w),(F=se.nextSibling)!==null)break;se=K,K=se.parentNode}se=F}s=j===-1||D===-1?null:{start:j,end:D}}else s=null}s=s||{start:0,end:0}}else s=null;for(zh={focusedElem:t,selectionRange:s},Yu=!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=io(s.type,p);t=c.getSnapshotBeforeUpdate(Ae,g),c.__reactInternalSnapshotBeforeUpdate=t}catch(Ge){Ct(s,s.return,Ge)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)qh(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":qh(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 Ob(t,a,s){var c=s.flags;switch(s.tag){case 0:case 11:case 15:_i(t,s),c&4&&Pl(5,s);break;case 1:if(_i(t,s),c&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(w){Ct(s,s.return,w)}else{var p=io(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(w){Ct(s,s.return,w)}}c&64&&Tb(s),c&512&&Ml(s,s.return);break;case 3:if(_i(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{vy(t,a)}catch(w){Ct(s,s.return,w)}}break;case 27:a===null&&c&4&&zb(s);case 26:case 5:_i(t,s),a===null&&c&4&&Rb(s),c&512&&Ml(s,s.return);break;case 12:_i(t,s);break;case 31:_i(t,s),c&4&&Mb(t,s);break;case 13:_i(t,s),c&4&&Bb(t,s),c&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=fC.bind(null,s),OC(t,s))));break;case 22:if(c=s.memoizedState!==null||Ni,!c){a=a!==null&&a.memoizedState!==null||un,p=Ni;var g=un;Ni=c,(un=a)&&!g?Ti(t,s,(s.subtreeFlags&8772)!==0):_i(t,s),Ni=p,un=g}break;case 30:break;default:_i(t,s)}}function qb(t){var a=t.alternate;a!==null&&(t.alternate=null,qb(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&nl(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,Gn=!1;function Ci(t,a,s){for(s=s.child;s!==null;)Pb(t,a,s),s=s.sibling}function Pb(t,a,s){if(_t&&typeof _t.onCommitFiberUnmount=="function")try{_t.onCommitFiberUnmount(gn,s)}catch{}switch(s.tag){case 26:un||ei(s,a),Ci(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:un||ei(s,a);var c=Vt,p=Gn;gs(s.type)&&(Vt=s.stateNode,Gn=!1),Ci(t,a,s),Ql(s.stateNode),Vt=c,Gn=p;break;case 5:un||ei(s,a);case 6:if(c=Vt,p=Gn,Vt=null,Ci(t,a,s),Vt=c,Gn=p,Vt!==null)if(Gn)try{(Vt.nodeType===9?Vt.body:Vt.nodeName==="HTML"?Vt.ownerDocument.body:Vt).removeChild(s.stateNode)}catch(g){Ct(s,a,g)}else try{Vt.removeChild(s.stateNode)}catch(g){Ct(s,a,g)}break;case 18:Vt!==null&&(Gn?(t=Vt,Tv(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),yr(t)):Tv(Vt,s.stateNode));break;case 4:c=Vt,p=Gn,Vt=s.stateNode.containerInfo,Gn=!0,Ci(t,a,s),Vt=c,Gn=p;break;case 0:case 11:case 14:case 15:cs(2,s,a),un||cs(4,s,a),Ci(t,a,s);break;case 1:un||(ei(s,a),c=s.stateNode,typeof c.componentWillUnmount=="function"&&Eb(s,a,c)),Ci(t,a,s);break;case 21:Ci(t,a,s);break;case 22:un=(c=un)||s.memoizedState!==null,Ci(t,a,s),un=c;break;default:Ci(t,a,s)}}function Mb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{yr(t)}catch(s){Ct(a,a.return,s)}}}function Bb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{yr(t)}catch(s){Ct(a,a.return,s)}}function rC(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new Ib),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new Ib),a;default:throw Error(r(435,t.tag))}}function Eu(t,a){var s=rC(t);a.forEach(function(c){if(!s.has(c)){s.add(c);var p=gC.bind(null,t,c);c.then(p,p)}})}function Kn(t,a){var s=a.deletions;if(s!==null)for(var c=0;c<s.length;c++){var p=s[c],g=t,w=a,j=w;e:for(;j!==null;){switch(j.tag){case 27:if(gs(j.type)){Vt=j.stateNode,Gn=!1;break e}break;case 5:Vt=j.stateNode,Gn=!1;break e;case 3:case 4:Vt=j.stateNode.containerInfo,Gn=!0;break e}j=j.return}if(Vt===null)throw Error(r(160));Pb(g,w,p),Vt=null,Gn=!1,g=p.alternate,g!==null&&(g.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)Lb(a,t),a=a.sibling}var Ma=null;function Lb(t,a){var s=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Kn(a,t),Hn(t),c&4&&(cs(3,t,t.return),Pl(3,t),cs(5,t,t.return));break;case 1:Kn(a,t),Hn(t),c&512&&(un||s===null||ei(s,s.return)),c&64&&Ni&&(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=Ma;if(Kn(a,t),Hn(t),c&512&&(un||s===null||ei(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[Qi]||g[on]||g.namespaceURI==="http://www.w3.org/2000/svg"||g.hasAttribute("itemprop"))&&(g=p.createElement(c),p.head.insertBefore(g,p.querySelector("head > title"))),Cn(g,c,s),g[on]=t,en(g),c=g;break e;case"link":var w=Lv("link","href",p).get(c+(s.href||""));if(w){for(var j=0;j<w.length;j++)if(g=w[j],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)){w.splice(j,1);break t}}g=p.createElement(c),Cn(g,c,s),p.head.appendChild(g);break;case"meta":if(w=Lv("meta","content",p).get(c+(s.content||""))){for(j=0;j<w.length;j++)if(g=w[j],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)){w.splice(j,1);break t}}g=p.createElement(c),Cn(g,c,s),p.head.appendChild(g);break;default:throw Error(r(468,c))}g[on]=t,en(g),c=g}t.stateNode=c}else Uv(p,t.type,t.stateNode);else t.stateNode=Bv(p,c,t.memoizedProps);else g!==c?(g===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):g.count--,c===null?Uv(p,t.type,t.stateNode):Bv(p,c,t.memoizedProps)):c===null&&t.stateNode!==null&&lh(t,t.memoizedProps,s.memoizedProps)}break;case 27:Kn(a,t),Hn(t),c&512&&(un||s===null||ei(s,s.return)),s!==null&&c&4&&lh(t,t.memoizedProps,s.memoizedProps);break;case 5:if(Kn(a,t),Hn(t),c&512&&(un||s===null||ei(s,s.return)),t.flags&32){p=t.stateNode;try{fa(p,"")}catch(Ae){Ct(t,t.return,Ae)}}c&4&&t.stateNode!=null&&(p=t.memoizedProps,lh(t,p,s!==null?s.memoizedProps:p)),c&1024&&(dh=!0);break;case 6:if(Kn(a,t),Hn(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,s=t.stateNode;try{s.nodeValue=c}catch(Ae){Ct(t,t.return,Ae)}}break;case 3:if(Hu=null,p=Ma,Ma=Gu(a.containerInfo),Kn(a,t),Ma=p,Hn(t),c&4&&s!==null&&s.memoizedState.isDehydrated)try{yr(a.containerInfo)}catch(Ae){Ct(t,t.return,Ae)}dh&&(dh=!1,Ub(t));break;case 4:c=Ma,Ma=Gu(t.stateNode.containerInfo),Kn(a,t),Hn(t),Ma=c;break;case 12:Kn(a,t),Hn(t);break;case 31:Kn(a,t),Hn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Eu(t,c)));break;case 13:Kn(a,t),Hn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Du=Ut()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Eu(t,c)));break;case 22:p=t.memoizedState!==null;var D=s!==null&&s.memoizedState!==null,$=Ni,te=un;if(Ni=$||p,un=te||D,Kn(a,t),un=te,Ni=$,Hn(t),c&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||D||Ni||un||so(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){D=s=a;try{if(g=D.stateNode,p)w=g.style,typeof w.setProperty=="function"?w.setProperty("display","none","important"):w.display="none";else{j=D.stateNode;var se=D.memoizedProps.style,K=se!=null&&se.hasOwnProperty("display")?se.display:null;j.style.display=K==null||typeof K=="boolean"?"":(""+K).trim()}}catch(Ae){Ct(D,D.return,Ae)}}}else if(a.tag===6){if(s===null){D=a;try{D.stateNode.nodeValue=p?"":D.memoizedProps}catch(Ae){Ct(D,D.return,Ae)}}}else if(a.tag===18){if(s===null){D=a;try{var F=D.stateNode;p?Ev(F,!0):Ev(D.stateNode,!1)}catch(Ae){Ct(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,Eu(t,s))));break;case 19:Kn(a,t),Hn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Eu(t,c)));break;case 30:break;case 21:break;default:Kn(a,t),Hn(t)}}function Hn(t){var a=t.flags;if(a&2){try{for(var s,c=t.return;c!==null;){if(Db(c)){s=c;break}c=c.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,g=ch(t);Tu(t,g,p);break;case 5:var w=s.stateNode;s.flags&32&&(fa(w,""),s.flags&=-33);var j=ch(t);Tu(t,j,w);break;case 3:case 4:var D=s.stateNode.containerInfo,$=ch(t);uh(t,$,D);break;default:throw Error(r(161))}}catch(te){Ct(t,t.return,te)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function Ub(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;Ub(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function _i(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Ob(t,a.alternate,a),a=a.sibling}function so(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:cs(4,a,a.return),so(a);break;case 1:ei(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&Eb(a,a.return,s),so(a);break;case 27:Ql(a.stateNode);case 26:case 5:ei(a,a.return),so(a);break;case 22:a.memoizedState===null&&so(a);break;case 30:so(a);break;default:so(a)}t=t.sibling}}function Ti(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var c=a.alternate,p=t,g=a,w=g.flags;switch(g.tag){case 0:case 11:case 15:Ti(p,g,s),Pl(4,g);break;case 1:if(Ti(p,g,s),c=g,p=c.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch($){Ct(c,c.return,$)}if(c=g,p=c.updateQueue,p!==null){var j=c.stateNode;try{var D=p.shared.hiddenCallbacks;if(D!==null)for(p.shared.hiddenCallbacks=null,p=0;p<D.length;p++)by(D[p],j)}catch($){Ct(c,c.return,$)}}s&&w&64&&Tb(g),Ml(g,g.return);break;case 27:zb(g);case 26:case 5:Ti(p,g,s),s&&c===null&&w&4&&Rb(g),Ml(g,g.return);break;case 12:Ti(p,g,s);break;case 31:Ti(p,g,s),s&&w&4&&Mb(p,g);break;case 13:Ti(p,g,s),s&&w&4&&Bb(p,g);break;case 22:g.memoizedState===null&&Ti(p,g,s),Ml(g,g.return);break;case 30:break;default:Ti(p,g,s)}a=a.sibling}}function mh(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&&jl(s))}function ph(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&jl(t))}function Ba(t,a,s,c){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Vb(t,a,s,c),a=a.sibling}function Vb(t,a,s,c){var p=a.flags;switch(a.tag){case 0:case 11:case 15:Ba(t,a,s,c),p&2048&&Pl(9,a);break;case 1:Ba(t,a,s,c);break;case 3:Ba(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&&jl(t)));break;case 12:if(p&2048){Ba(t,a,s,c),t=a.stateNode;try{var g=a.memoizedProps,w=g.id,j=g.onPostCommit;typeof j=="function"&&j(w,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(D){Ct(a,a.return,D)}}else Ba(t,a,s,c);break;case 31:Ba(t,a,s,c);break;case 13:Ba(t,a,s,c);break;case 23:break;case 22:g=a.stateNode,w=a.alternate,a.memoizedState!==null?g._visibility&2?Ba(t,a,s,c):Bl(t,a):g._visibility&2?Ba(t,a,s,c):(g._visibility|=2,or(t,a,s,c,(a.subtreeFlags&10256)!==0||!1)),p&2048&&mh(w,a);break;case 24:Ba(t,a,s,c),p&2048&&ph(a.alternate,a);break;default:Ba(t,a,s,c)}}function or(t,a,s,c,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var g=t,w=a,j=s,D=c,$=w.flags;switch(w.tag){case 0:case 11:case 15:or(g,w,j,D,p),Pl(8,w);break;case 23:break;case 22:var te=w.stateNode;w.memoizedState!==null?te._visibility&2?or(g,w,j,D,p):Bl(g,w):(te._visibility|=2,or(g,w,j,D,p)),p&&$&2048&&mh(w.alternate,w);break;case 24:or(g,w,j,D,p),p&&$&2048&&ph(w.alternate,w);break;default:or(g,w,j,D,p)}a=a.sibling}}function Bl(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:Bl(s,c),p&2048&&mh(c.alternate,c);break;case 24:Bl(s,c),p&2048&&ph(c.alternate,c);break;default:Bl(s,c)}a=a.sibling}}var Ll=8192;function rr(t,a,s){if(t.subtreeFlags&Ll)for(t=t.child;t!==null;)$b(t,a,s),t=t.sibling}function $b(t,a,s){switch(t.tag){case 26:rr(t,a,s),t.flags&Ll&&t.memoizedState!==null&&QC(s,Ma,t.memoizedState,t.memoizedProps);break;case 5:rr(t,a,s);break;case 3:case 4:var c=Ma;Ma=Gu(t.stateNode.containerInfo),rr(t,a,s),Ma=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=Ll,Ll=16777216,rr(t,a,s),Ll=c):rr(t,a,s));break;default:rr(t,a,s)}}function Gb(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 Ul(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,Hb(c,t)}Gb(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Kb(t),t=t.sibling}function Kb(t){switch(t.tag){case 0:case 11:case 15:Ul(t),t.flags&2048&&cs(9,t,t.return);break;case 3:Ul(t);break;case 12:Ul(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Ru(t)):Ul(t);break;default:Ul(t)}}function Ru(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,Hb(c,t)}Gb(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:cs(8,a,a.return),Ru(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,Ru(a));break;default:Ru(a)}t=t.sibling}}function Hb(t,a){for(;yn!==null;){var s=yn;switch(s.tag){case 0:case 11:case 15:cs(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:jl(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(qb(c),c===s){yn=null;break e}if(p!==null){p.return=g,yn=p;break e}yn=g}}}var lC={getCacheForType:function(t){var a=An(rn),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return An(rn).controller.signal}},cC=typeof WeakMap=="function"?WeakMap:Map,wt=0,Dt=null,rt=null,ut=0,Nt=0,sa=null,us=!1,lr=!1,hh=!1,Ei=0,Wt=0,ds=0,oo=0,fh=0,oa=0,cr=0,Vl=null,Qn=null,gh=!1,Du=0,Qb=0,zu=1/0,Iu=null,ms=null,mn=0,ps=null,ur=null,Ri=0,yh=0,bh=null,Fb=null,$l=0,vh=null;function ra(){return(wt&2)!==0&&ut!==0?ut&-ut:q.T!==null?Ah():Oo()}function Zb(){if(oa===0)if((ut&536870912)===0||ht){var t=Te;Te<<=1,(Te&3932160)===0&&(Te=262144),oa=t}else oa=536870912;return t=aa.current,t!==null&&(t.flags|=32),oa}function Fn(t,a,s){(t===Dt&&(Nt===2||Nt===9)||t.cancelPendingCommit!==null)&&(dr(t,0),hs(t,ut,oa,!1)),Us(t,s),((wt&2)===0||t!==Dt)&&(t===Dt&&((wt&2)===0&&(oo|=s),Wt===4&&hs(t,ut,oa,!1)),ti(t))}function Yb(t,a,s){if((wt&6)!==0)throw Error(r(327));var c=!s&&(a&127)===0&&(a&t.expiredLanes)===0||xt(t,a),p=c?mC(t,a):wh(t,a,!0),g=c;do{if(p===0){lr&&!c&&hs(t,a,0,!1);break}else{if(s=t.current.alternate,g&&!uC(s)){p=wh(t,a,!1),g=!1;continue}if(p===2){if(g=a,t.errorRecoveryDisabledLanes&g)var w=0;else w=t.pendingLanes&-536870913,w=w!==0?w:w&536870912?536870912:0;if(w!==0){a=w;e:{var j=t;p=Vl;var D=j.current.memoizedState.isDehydrated;if(D&&(dr(j,w).flags|=256),w=wh(j,w,!1),w!==2){if(hh&&!D){j.errorRecoveryDisabledLanes|=g,oo|=g,p=4;break e}g=Qn,Qn=p,g!==null&&(Qn===null?Qn=g:Qn.push.apply(Qn,g))}p=w}if(g=!1,p!==2)continue}}if(p===1){dr(t,0),hs(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:hs(c,a,oa,!us);break e;case 2:Qn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Du+300-Ut(),10<p)){if(hs(c,a,oa,!us),Xe(c,0,!0)!==0)break e;Ri=a,c.timeoutHandle=Cv(Xb.bind(null,c,s,Qn,Iu,gh,a,oa,oo,cr,us,g,"Throttled",-0,0),p);break e}Xb(c,s,Qn,Iu,gh,a,oa,oo,cr,us,g,null,-0,0)}}break}while(!0);ti(t)}function Xb(t,a,s,c,p,g,w,j,D,$,te,se,K,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:Oa},$b(a,g,se);var Ae=(g&62914560)===g?Du-Ut():(g&4194048)===g?Qb-Ut():0;if(Ae=FC(se,Ae),Ae!==null){Ri=g,t.cancelPendingCommit=Ae(sv.bind(null,t,a,g,s,c,p,w,j,D,te,se,null,K,F)),hs(t,g,w,!$);return}}sv(t,a,g,s,c,p,w,j,D)}function uC(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(!ta(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 hs(t,a,s,c){a&=~fh,a&=~oo,t.suspendedLanes|=a,t.pingedLanes&=~a,c&&(t.warmLanes|=a),c=t.expirationTimes;for(var p=a;0<p;){var g=31-Ft(p),w=1<<g;c[g]=-1,p&=~w}s!==0&&Xr(t,s,a)}function Ou(){return(wt&6)===0?(Gl(0),!1):!0}function xh(){if(rt!==null){if(Nt===0)var t=rt.return;else t=rt,xi=Xs=null,qp(t),tr=null,Nl=0,t=rt;for(;t!==null;)_b(t.alternate,t),t=t.return;rt=null}}function dr(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,EC(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Ri=0,xh(),Dt=t,rt=s=bi(t.current,null),ut=a,Nt=0,sa=null,us=!1,lr=xt(t,a),hh=!1,cr=oa=fh=oo=ds=Wt=0,Qn=Vl=null,gh=!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-Ft(c),g=1<<p;a|=t[p],c&=~g}return Ei=a,nu(),s}function Jb(t,a){We=null,q.H=Il,a===er||a===uu?(a=hy(),Nt=3):a===jp?(a=hy(),Nt=4):Nt=a===Jp?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,sa=a,rt===null&&(Wt=1,ju(t,va(a,t.current)))}function Wb(){var t=aa.current;return t===null?!0:(ut&4194048)===ut?Sa===null:(ut&62914560)===ut||(ut&536870912)!==0?t===Sa:!1}function ev(){var t=q.H;return q.H=Il,t===null?Il:t}function tv(){var t=q.A;return q.A=lC,t}function qu(){Wt=4,us||(ut&4194048)!==ut&&aa.current!==null||(lr=!0),(ds&134217727)===0&&(oo&134217727)===0||Dt===null||hs(Dt,ut,oa,!1)}function wh(t,a,s){var c=wt;wt|=2;var p=ev(),g=tv();(Dt!==t||ut!==a)&&(Iu=null,dr(t,a)),a=!1;var w=Wt;e:do try{if(Nt!==0&&rt!==null){var j=rt,D=sa;switch(Nt){case 8:xh(),w=6;break e;case 3:case 2:case 9:case 6:aa.current===null&&(a=!0);var $=Nt;if(Nt=0,sa=null,mr(t,j,D,$),s&&lr){w=0;break e}break;default:$=Nt,Nt=0,sa=null,mr(t,j,D,$)}}dC(),w=Wt;break}catch(te){Jb(t,te)}while(!0);return a&&t.shellSuspendCounter++,xi=Xs=null,wt=c,q.H=p,q.A=g,rt===null&&(Dt=null,ut=0,nu()),w}function dC(){for(;rt!==null;)nv(rt)}function mC(t,a){var s=wt;wt|=2;var c=ev(),p=tv();Dt!==t||ut!==a?(Iu=null,zu=Ut()+500,dr(t,a)):lr=xt(t,a);e:do try{if(Nt!==0&&rt!==null){a=rt;var g=sa;t:switch(Nt){case 1:Nt=0,sa=null,mr(t,a,g,1);break;case 2:case 9:if(my(g)){Nt=0,sa=null,av(a);break}a=function(){Nt!==2&&Nt!==9||Dt!==t||(Nt=7),ti(t)},g.then(a,a);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:my(g)?(Nt=0,sa=null,av(a)):(Nt=0,sa=null,mr(t,a,g,7));break;case 5:var w=null;switch(rt.tag){case 26:w=rt.memoizedState;case 5:case 27:var j=rt;if(w?Vv(w):j.stateNode.complete){Nt=0,sa=null;var D=j.sibling;if(D!==null)rt=D;else{var $=j.return;$!==null?(rt=$,Pu($)):rt=null}break t}}Nt=0,sa=null,mr(t,a,g,5);break;case 6:Nt=0,sa=null,mr(t,a,g,6);break;case 8:xh(),Wt=6;break e;default:throw Error(r(462))}}pC();break}catch(te){Jb(t,te)}while(!0);return xi=Xs=null,q.H=c,q.A=p,wt=s,rt!==null?0:(Dt=null,ut=0,nu(),Wt)}function pC(){for(;rt!==null&&!Qt();)nv(rt)}function nv(t){var a=Nb(t.alternate,t,Ei);t.memoizedProps=t.pendingProps,a===null?Pu(t):rt=a}function av(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=xb(s,a,a.pendingProps,a.type,void 0,ut);break;case 11:a=xb(s,a,a.pendingProps,a.type.render,a.ref,ut);break;case 5:qp(a);default:_b(s,a),a=rt=ty(a,Ei),a=Nb(s,a,Ei)}t.memoizedProps=t.pendingProps,a===null?Pu(t):rt=a}function mr(t,a,s,c){xi=Xs=null,qp(a),tr=null,Nl=0;var p=a.return;try{if(tC(t,p,a,s,ut)){Wt=1,ju(t,va(s,t.current)),rt=null;return}}catch(g){if(p!==null)throw rt=p,g;Wt=1,ju(t,va(s,t.current)),rt=null;return}a.flags&32768?(ht||c===1?t=!0:lr||(ut&536870912)!==0?t=!1:(us=t=!0,(c===2||c===9||c===3||c===6)&&(c=aa.current,c!==null&&c.tag===13&&(c.flags|=16384))),iv(a,t)):Pu(a)}function Pu(t){var a=t;do{if((a.flags&32768)!==0){iv(a,us);return}t=a.return;var s=iC(a.alternate,a,Ei);if(s!==null){rt=s;return}if(a=a.sibling,a!==null){rt=a;return}rt=a=t}while(a!==null);Wt===0&&(Wt=5)}function iv(t,a){do{var s=sC(t.alternate,t);if(s!==null){s.flags&=32767,rt=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){rt=t;return}rt=t=s}while(t!==null);Wt=6,rt=null}function sv(t,a,s,c,p,g,w,j,D){t.cancelPendingCommit=null;do Mu();while(mn!==0);if((wt&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(g=a.lanes|a.childLanes,g|=cp,Zc(t,s,g,w,j,D),t===Dt&&(rt=Dt=null,ut=0),ur=a,ps=t,Ri=s,yh=g,bh=p,Fb=c,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,yC(En,function(){return uv(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||c){c=q.T,q.T=null,p=J.p,J.p=2,w=wt,wt|=4;try{oC(t,a,s)}finally{wt=w,J.p=p,q.T=c}}mn=1,ov(),rv(),lv()}}function ov(){if(mn===1){mn=0;var t=ps,a=ur,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=q.T,q.T=null;var c=J.p;J.p=2;var p=wt;wt|=4;try{Lb(a,t);var g=zh,w=H1(t.containerInfo),j=g.focusedElem,D=g.selectionRange;if(w!==j&&j&&j.ownerDocument&&K1(j.ownerDocument.documentElement,j)){if(D!==null&&ip(j)){var $=D.start,te=D.end;if(te===void 0&&(te=$),"selectionStart"in j)j.selectionStart=$,j.selectionEnd=Math.min(te,j.value.length);else{var se=j.ownerDocument||document,K=se&&se.defaultView||window;if(K.getSelection){var F=K.getSelection(),Ae=j.textContent.length,Ge=Math.min(D.start,Ae),Rt=D.end===void 0?Ge:Math.min(D.end,Ae);!F.extend&&Ge>Rt&&(w=Rt,Rt=Ge,Ge=w);var B=G1(j,Ge),O=G1(j,Rt);if(B&&O&&(F.rangeCount!==1||F.anchorNode!==B.node||F.anchorOffset!==B.offset||F.focusNode!==O.node||F.focusOffset!==O.offset)){var V=se.createRange();V.setStart(B.node,B.offset),F.removeAllRanges(),Ge>Rt?(F.addRange(V),F.extend(O.node,O.offset)):(V.setEnd(O.node,O.offset),F.addRange(V))}}}}for(se=[],F=j;F=F.parentNode;)F.nodeType===1&&se.push({element:F,left:F.scrollLeft,top:F.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<se.length;j++){var ie=se[j];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}Yu=!!Dh,zh=Dh=null}finally{wt=p,J.p=c,q.T=s}}t.current=a,mn=2}}function rv(){if(mn===2){mn=0;var t=ps,a=ur,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=q.T,q.T=null;var c=J.p;J.p=2;var p=wt;wt|=4;try{Ob(t,a.alternate,a)}finally{wt=p,J.p=c,q.T=s}}mn=3}}function lv(){if(mn===4||mn===3){mn=0,Tn();var t=ps,a=ur,s=Ri,c=Fb;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?mn=5:(mn=0,ur=ps=null,cv(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(ms=null),tl(s),a=a.stateNode,_t&&typeof _t.onCommitFiberRoot=="function")try{_t.onCommitFiberRoot(gn,a,void 0,(a.current.flags&128)===128)}catch{}if(c!==null){a=q.T,p=J.p,J.p=2,q.T=null;try{for(var g=t.onRecoverableError,w=0;w<c.length;w++){var j=c[w];g(j.value,{componentStack:j.stack})}}finally{q.T=a,J.p=p}}(Ri&3)!==0&&Mu(),ti(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===vh?$l++:($l=0,vh=t):$l=0,Gl(0)}}function cv(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,jl(a)))}function Mu(){return ov(),rv(),lv(),uv()}function uv(){if(mn!==5)return!1;var t=ps,a=yh;yh=0;var s=tl(Ri),c=q.T,p=J.p;try{J.p=32>s?32:s,q.T=null,s=bh,bh=null;var g=ps,w=Ri;if(mn=0,ur=ps=null,Ri=0,(wt&6)!==0)throw Error(r(331));var j=wt;if(wt|=4,Kb(g.current),Vb(g,g.current,w,s),wt=j,Gl(0,!1),_t&&typeof _t.onPostCommitFiberRoot=="function")try{_t.onPostCommitFiberRoot(gn,g)}catch{}return!0}finally{J.p=p,q.T=c,cv(t,a)}}function dv(t,a,s){a=va(s,a),a=Xp(t.stateNode,a,2),t=os(t,a,2),t!==null&&(Us(t,2),ti(t))}function Ct(t,a,s){if(t.tag===3)dv(t,t,s);else for(;a!==null;){if(a.tag===3){dv(a,t,s);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(ms===null||!ms.has(c))){t=va(s,t),s=mb(2),c=os(a,s,2),c!==null&&(pb(s,c,a,t),Us(c,2),ti(c));break}}a=a.return}}function kh(t,a,s){var c=t.pingCache;if(c===null){c=t.pingCache=new cC;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)||(hh=!0,p.add(s),t=hC.bind(null,t,a,s),a.then(t,t))}function hC(t,a,s){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,Dt===t&&(ut&s)===s&&(Wt===4||Wt===3&&(ut&62914560)===ut&&300>Ut()-Du?(wt&2)===0&&dr(t,0):fh|=s,cr===ut&&(cr=0)),ti(t)}function mv(t,a){a===0&&(a=di()),t=Fs(t,a),t!==null&&(Us(t,a),ti(t))}function fC(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),mv(t,s)}function gC(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),mv(t,s)}function yC(t,a){return ct(t,a)}var Bu=null,pr=null,Sh=!1,Lu=!1,jh=!1,fs=0;function ti(t){t!==pr&&t.next===null&&(pr===null?Bu=pr=t:pr=pr.next=t),Lu=!0,Sh||(Sh=!0,vC())}function Gl(t,a){if(!jh&&Lu){jh=!0;do for(var s=!1,c=Bu;c!==null;){if(t!==0){var p=c.pendingLanes;if(p===0)var g=0;else{var w=c.suspendedLanes,j=c.pingedLanes;g=(1<<31-Ft(42|t)+1)-1,g&=p&~(w&~j),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(s=!0,gv(c,g))}else g=ut,g=Xe(c,c===Dt?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||xt(c,g)||(s=!0,gv(c,g));c=c.next}while(s);jh=!1}}function bC(){pv()}function pv(){Lu=Sh=!1;var t=0;fs!==0&&TC()&&(t=fs);for(var a=Ut(),s=null,c=Bu;c!==null;){var p=c.next,g=hv(c,a);g===0?(c.next=null,s===null?Bu=p:s.next=p,p===null&&(pr=s)):(s=c,(t!==0||(g&3)!==0)&&(Lu=!0)),c=p}mn!==0&&mn!==5||Gl(t),fs!==0&&(fs=0)}function hv(t,a){for(var s=t.suspendedLanes,c=t.pingedLanes,p=t.expirationTimes,g=t.pendingLanes&-62914561;0<g;){var w=31-Ft(g),j=1<<w,D=p[w];D===-1?((j&s)===0||(j&c)!==0)&&(p[w]=sn(j,a)):D<=a&&(t.expiredLanes|=j),g&=~j}if(a=Dt,s=ut,s=Xe(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,s===0||t===a&&(Nt===2||Nt===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Ht(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&&Ht(c),tl(s)){case 2:case 8:s=ci;break;case 32:s=En;break;case 268435456:s=Ms;break;default:s=En}return c=fv.bind(null,t),s=ct(s,c),t.callbackPriority=a,t.callbackNode=s,a}return c!==null&&c!==null&&Ht(c),t.callbackPriority=2,t.callbackNode=null,2}function fv(t,a){if(mn!==0&&mn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(Mu()&&t.callbackNode!==s)return null;var c=ut;return c=Xe(t,t===Dt?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Yb(t,c,a),hv(t,Ut()),t.callbackNode!=null&&t.callbackNode===s?fv.bind(null,t):null)}function gv(t,a){if(Mu())return null;Yb(t,a,!0)}function vC(){RC(function(){(wt&6)!==0?ct(Ps,bC):pv()})}function Ah(){if(fs===0){var t=Jo;t===0&&(t=oe,oe<<=1,(oe&261888)===0&&(oe=256)),fs=t}return fs}function yv(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Uo(""+t)}function bv(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 xC(t,a,s,c,p){if(a==="submit"&&s&&s.stateNode===p){var g=yv((p[Rn]||null).action),w=c.submitter;w&&(a=(a=w[Rn]||null)?yv(a.formAction):w.getAttribute("formAction"),a!==null&&(g=a,w=null));var j=new Xa("action","action",null,c,p);t.push({event:j,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(fs!==0){var D=w?bv(p,w):new FormData(p);Kp(s,{pending:!0,data:D,method:p.method,action:g},null,D)}}else typeof g=="function"&&(j.preventDefault(),D=w?bv(p,w):new FormData(p),Kp(s,{pending:!0,data:D,method:p.method,action:g},g,D))},currentTarget:p}]})}}for(var Nh=0;Nh<lp.length;Nh++){var Ch=lp[Nh],wC=Ch.toLowerCase(),kC=Ch[0].toUpperCase()+Ch.slice(1);Pa(wC,"on"+kC)}Pa(Z1,"onAnimationEnd"),Pa(Y1,"onAnimationIteration"),Pa(X1,"onAnimationStart"),Pa("dblclick","onDoubleClick"),Pa("focusin","onFocus"),Pa("focusout","onBlur"),Pa(M4,"onTransitionRun"),Pa(B4,"onTransitionStart"),Pa(L4,"onTransitionCancel"),Pa(J1,"onTransitionEnd"),Vs("onMouseEnter",["mouseout","mouseover"]),Vs("onMouseLeave",["mouseout","mouseover"]),Vs("onPointerEnter",["pointerout","pointerover"]),Vs("onPointerLeave",["pointerout","pointerover"]),Ha("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ha("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ha("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ha("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ha("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ha("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Kl="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(" "),SC=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Kl));function vv(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 w=c.length-1;0<=w;w--){var j=c[w],D=j.instance,$=j.currentTarget;if(j=j.listener,D!==g&&p.isPropagationStopped())break e;g=j,p.currentTarget=$;try{g(p)}catch(te){tu(te)}p.currentTarget=null,g=D}else for(w=0;w<c.length;w++){if(j=c[w],D=j.instance,$=j.currentTarget,j=j.listener,D!==g&&p.isPropagationStopped())break e;g=j,p.currentTarget=$;try{g(p)}catch(te){tu(te)}p.currentTarget=null,g=D}}}}function lt(t,a){var s=a[qo];s===void 0&&(s=a[qo]=new Set);var c=t+"__bubble";s.has(c)||(xv(a,t,2,!1),s.add(c))}function _h(t,a,s){var c=0;a&&(c|=4),xv(s,t,c,a)}var Uu="_reactListening"+Math.random().toString(36).slice(2);function Th(t){if(!t[Uu]){t[Uu]=!0,al.forEach(function(s){s!=="selectionchange"&&(SC.has(s)||_h(s,!1,t),_h(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[Uu]||(a[Uu]=!0,_h("selectionchange",!1,a))}}function xv(t,a,s,c){switch(Zv(a)){case 2:var p=XC;break;case 8:p=JC;break;default:p=Gh}s=p.bind(null,a,s,t),p=void 0,!pl||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 Eh(t,a,s,c,p){var g=c;if((a&1)===0&&(a&2)===0&&c!==null)e:for(;;){if(c===null)return;var w=c.tag;if(w===3||w===4){var j=c.stateNode.containerInfo;if(j===p)break;if(w===4)for(w=c.return;w!==null;){var D=w.tag;if((D===3||D===4)&&w.stateNode.containerInfo===p)return;w=w.return}for(;j!==null;){if(w=mi(j),w===null)return;if(D=w.tag,D===5||D===6||D===26||D===27){c=g=w;continue e}j=j.parentNode}}c=c.return}ml(function(){var $=g,te=ul(s),se=[];e:{var K=W1.get(t);if(K!==void 0){var F=Xa,Ae=t;switch(t){case"keypress":if(Wi(s)===0)break e;case"keydown":case"keyup":F=g4;break;case"focusin":Ae="focus",F=Wm;break;case"focusout":Ae="blur",F=Wm;break;case"beforeblur":case"afterblur":F=Wm;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=_1;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":F=i4;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":F=v4;break;case Z1:case Y1:case X1:F=r4;break;case J1:F=w4;break;case"scroll":case"scrollend":F=n4;break;case"wheel":F=S4;break;case"copy":case"cut":case"paste":F=c4;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":F=E1;break;case"toggle":case"beforetoggle":F=A4}var Ge=(a&4)!==0,Rt=!Ge&&(t==="scroll"||t==="scrollend"),B=Ge?K!==null?K+"Capture":null:K;Ge=[];for(var O=$,V;O!==null;){var ie=O;if(V=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||V===null||B===null||(ie=Gs(O,B),ie!=null&&Ge.push(Hl(O,ie,V))),Rt)break;O=O.return}0<Ge.length&&(K=new F(K,Ae,null,s,te),se.push({event:K,listeners:Ge}))}}if((a&7)===0){e:{if(K=t==="mouseover"||t==="pointerover",F=t==="mouseout"||t==="pointerout",K&&s!==cl&&(Ae=s.relatedTarget||s.fromElement)&&(mi(Ae)||Ae[Hi]))break e;if((F||K)&&(K=te.window===te?te:(K=te.ownerDocument)?K.defaultView||K.parentWindow:window,F?(Ae=s.relatedTarget||s.toElement,F=$,Ae=Ae?mi(Ae):null,Ae!==null&&(Rt=h(Ae),Ge=Ae.tag,Ae!==Rt||Ge!==5&&Ge!==27&&Ge!==6)&&(Ae=null)):(F=null,Ae=$),F!==Ae)){if(Ge=_1,ie="onMouseLeave",B="onMouseEnter",O="mouse",(t==="pointerout"||t==="pointerover")&&(Ge=E1,ie="onPointerLeave",B="onPointerEnter",O="pointer"),Rt=F==null?K:Zi(F),V=Ae==null?K:Zi(Ae),K=new Ge(ie,O+"leave",F,s,te),K.target=Rt,K.relatedTarget=V,ie=null,mi(te)===$&&(Ge=new Ge(B,O+"enter",Ae,s,te),Ge.target=V,Ge.relatedTarget=Rt,ie=Ge),Rt=ie,F&&Ae)t:{for(Ge=jC,B=F,O=Ae,V=0,ie=B;ie;ie=Ge(ie))V++;ie=0;for(var Le=O;Le;Le=Ge(Le))ie++;for(;0<V-ie;)B=Ge(B),V--;for(;0<ie-V;)O=Ge(O),ie--;for(;V--;){if(B===O||O!==null&&B===O.alternate){Ge=B;break t}B=Ge(B),O=Ge(O)}Ge=null}else Ge=null;F!==null&&wv(se,K,F,Ge,!1),Ae!==null&&Rt!==null&&wv(se,Rt,Ae,Ge,!0)}}e:{if(K=$?Zi($):window,F=K.nodeName&&K.nodeName.toLowerCase(),F==="select"||F==="input"&&K.type==="file")var bt=M1;else if(q1(K))if(B1)bt=O4;else{bt=z4;var Ee=D4}else F=K.nodeName,!F||F.toLowerCase()!=="input"||K.type!=="checkbox"&&K.type!=="radio"?$&&Ia($.elementType)&&(bt=M1):bt=I4;if(bt&&(bt=bt(t,$))){P1(se,bt,s,te);break e}Ee&&Ee(t,K,$),t==="focusout"&&$&&K.type==="number"&&$.memoizedProps.value!=null&&Bo(K,"number",K.value)}switch(Ee=$?Zi($):window,t){case"focusin":(q1(Ee)||Ee.contentEditable==="true")&&(Go=Ee,sp=$,wl=null);break;case"focusout":wl=sp=Go=null;break;case"mousedown":op=!0;break;case"contextmenu":case"mouseup":case"dragend":op=!1,Q1(se,s,te);break;case"selectionchange":if(P4)break;case"keydown":case"keyup":Q1(se,s,te)}var tt;if(tp)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 $o?I1(t,s)&&(dt="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(dt="onCompositionStart");dt&&(R1&&s.locale!=="ko"&&($o||dt!=="onCompositionStart"?dt==="onCompositionEnd"&&$o&&(tt=gi()):(Ya=te,G="value"in Ya?Ya.value:Ya.textContent,$o=!0)),Ee=Vu($,dt),0<Ee.length&&(dt=new T1(dt,t,null,s,te),se.push({event:dt,listeners:Ee}),tt?dt.data=tt:(tt=O1(s),tt!==null&&(dt.data=tt)))),(tt=C4?_4(t,s):T4(t,s))&&(dt=Vu($,"onBeforeInput"),0<dt.length&&(Ee=new T1("onBeforeInput","beforeinput",null,s,te),se.push({event:Ee,listeners:dt}),Ee.data=tt)),xC(se,t,$,s,te)}vv(se,a)})}function Hl(t,a,s){return{instance:t,listener:a,currentTarget:s}}function Vu(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=Gs(t,s),p!=null&&c.unshift(Hl(t,p,g)),p=Gs(t,a),p!=null&&c.push(Hl(t,p,g))),t.tag===3)return c;t=t.return}return[]}function jC(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function wv(t,a,s,c,p){for(var g=a._reactName,w=[];s!==null&&s!==c;){var j=s,D=j.alternate,$=j.stateNode;if(j=j.tag,D!==null&&D===c)break;j!==5&&j!==26&&j!==27||$===null||(D=$,p?($=Gs(s,g),$!=null&&w.unshift(Hl(s,$,D))):p||($=Gs(s,g),$!=null&&w.push(Hl(s,$,D)))),s=s.return}w.length!==0&&t.push({event:a,listeners:w})}var AC=/\r\n?/g,NC=/\u0000|\uFFFD/g;function kv(t){return(typeof t=="string"?t:""+t).replace(AC,`
|
|
10
|
-
`).replace(NC,"")}function Sv(t,a){return a=kv(a),kv(t)===a}function Et(t,a,s,c,p,g){switch(s){case"children":typeof c=="string"?a==="body"||a==="textarea"&&c===""||fa(t,c):(typeof c=="number"||typeof c=="bigint")&&a!=="body"&&fa(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":Za(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=Uo(""+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"&&Et(t,a,"name",p.name,p,null),Et(t,a,"formEncType",p.formEncType,p,null),Et(t,a,"formMethod",p.formMethod,p,null),Et(t,a,"formTarget",p.formTarget,p,null)):(Et(t,a,"encType",p.encType,p,null),Et(t,a,"method",p.method,p,null),Et(t,a,"target",p.target,p,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=Uo(""+c),t.setAttribute(s,c);break;case"onClick":c!=null&&(t.onclick=Oa);break;case"onScroll":c!=null&<("scroll",t);break;case"onScrollEnd":c!=null&<("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=Uo(""+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":lt("beforetoggle",t),lt("toggle",t),pi(t,"popover",c);break;case"xlinkActuate":kn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":kn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":kn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":kn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":kn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":kn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":kn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":kn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":kn(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=Lo.get(s)||s,pi(t,s,c))}}function Rh(t,a,s,c,p,g){switch(s){case"style":Za(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"?fa(t,c):(typeof c=="number"||typeof c=="bigint")&&fa(t,""+c);break;case"onScroll":c!=null&<("scroll",t);break;case"onScrollEnd":c!=null&<("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Oa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!il.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[Rn]||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 Cn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":lt("error",t),lt("load",t);var c=!1,p=!1,g;for(g in s)if(s.hasOwnProperty(g)){var w=s[g];if(w!=null)switch(g){case"src":c=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Et(t,a,g,w,s,null)}}p&&Et(t,a,"srcSet",s.srcSet,s,null),c&&Et(t,a,"src",s.src,s,null);return;case"input":lt("invalid",t);var j=g=w=p=null,D=null,$=null;for(c in s)if(s.hasOwnProperty(c)){var te=s[c];if(te!=null)switch(c){case"name":p=te;break;case"type":w=te;break;case"checked":D=te;break;case"defaultChecked":$=te;break;case"value":g=te;break;case"defaultValue":j=te;break;case"children":case"dangerouslySetInnerHTML":if(te!=null)throw Error(r(137,a));break;default:Et(t,a,c,te,s,null)}}ll(t,g,j,D,$,w,p,!1);return;case"select":lt("invalid",t),c=w=g=null;for(p in s)if(s.hasOwnProperty(p)&&(j=s[p],j!=null))switch(p){case"value":g=j;break;case"defaultValue":w=j;break;case"multiple":c=j;default:Et(t,a,p,j,s,null)}a=g,s=w,t.multiple=!!c,a!=null?$n(t,!!c,a,!1):s!=null&&$n(t,!!c,s,!0);return;case"textarea":lt("invalid",t),g=p=c=null;for(w in s)if(s.hasOwnProperty(w)&&(j=s[w],j!=null))switch(w){case"value":c=j;break;case"defaultValue":p=j;break;case"children":g=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(r(91));break;default:Et(t,a,w,j,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":Et(t,a,D,c,s,null));return;case"dialog":lt("beforetoggle",t),lt("toggle",t),lt("cancel",t),lt("close",t);break;case"iframe":case"object":lt("load",t);break;case"video":case"audio":for(c=0;c<Kl.length;c++)lt(Kl[c],t);break;case"image":lt("error",t),lt("load",t);break;case"details":lt("toggle",t);break;case"embed":case"source":case"link":lt("error",t),lt("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:Et(t,a,$,c,s,null)}return;default:if(Ia(a)){for(te in s)s.hasOwnProperty(te)&&(c=s[te],c!==void 0&&Rh(t,a,te,c,s,void 0));return}}for(j in s)s.hasOwnProperty(j)&&(c=s[j],c!=null&&Et(t,a,j,c,s,null))}function CC(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,w=null,j=null,D=null,$=null,te=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)||Et(t,a,F,null,c,se)}}for(var K in c){var F=c[K];if(se=s[K],c.hasOwnProperty(K)&&(F!=null||se!=null))switch(K){case"type":g=F;break;case"name":p=F;break;case"checked":$=F;break;case"defaultChecked":te=F;break;case"value":w=F;break;case"defaultValue":j=F;break;case"children":case"dangerouslySetInnerHTML":if(F!=null)throw Error(r(137,a));break;default:F!==se&&Et(t,a,K,F,c,se)}}Mo(t,w,j,D,$,te,g,p);return;case"select":F=w=j=K=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)||Et(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":K=g;break;case"defaultValue":j=g;break;case"multiple":w=g;default:g!==D&&Et(t,a,p,g,c,D)}a=j,s=w,c=F,K!=null?$n(t,!!s,K,!1):!!c!=!!s&&(a!=null?$n(t,!!s,a,!0):$n(t,!!s,s?[]:"",!1));return;case"textarea":F=K=null;for(j in s)if(p=s[j],s.hasOwnProperty(j)&&p!=null&&!c.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:Et(t,a,j,null,c,p)}for(w in c)if(p=c[w],g=s[w],c.hasOwnProperty(w)&&(p!=null||g!=null))switch(w){case"value":K=p;break;case"defaultValue":F=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==g&&Et(t,a,w,p,c,g)}ea(t,K,F);return;case"option":for(var Ae in s)K=s[Ae],s.hasOwnProperty(Ae)&&K!=null&&!c.hasOwnProperty(Ae)&&(Ae==="selected"?t.selected=!1:Et(t,a,Ae,null,c,K));for(D in c)K=c[D],F=s[D],c.hasOwnProperty(D)&&K!==F&&(K!=null||F!=null)&&(D==="selected"?t.selected=K&&typeof K!="function"&&typeof K!="symbol":Et(t,a,D,K,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 Ge in s)K=s[Ge],s.hasOwnProperty(Ge)&&K!=null&&!c.hasOwnProperty(Ge)&&Et(t,a,Ge,null,c,K);for($ in c)if(K=c[$],F=s[$],c.hasOwnProperty($)&&K!==F&&(K!=null||F!=null))switch($){case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(r(137,a));break;default:Et(t,a,$,K,c,F)}return;default:if(Ia(a)){for(var Rt in s)K=s[Rt],s.hasOwnProperty(Rt)&&K!==void 0&&!c.hasOwnProperty(Rt)&&Rh(t,a,Rt,void 0,c,K);for(te in c)K=c[te],F=s[te],!c.hasOwnProperty(te)||K===F||K===void 0&&F===void 0||Rh(t,a,te,K,c,F);return}}for(var B in s)K=s[B],s.hasOwnProperty(B)&&K!=null&&!c.hasOwnProperty(B)&&Et(t,a,B,null,c,K);for(se in c)K=c[se],F=s[se],!c.hasOwnProperty(se)||K===F||K==null&&F==null||Et(t,a,se,K,c,F)}function jv(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function _C(){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,w=p.initiatorType,j=p.duration;if(g&&j&&jv(w)){for(w=0,j=p.responseEnd,c+=1;c<s.length;c++){var D=s[c],$=D.startTime;if($>j)break;var te=D.transferSize,se=D.initiatorType;te&&jv(se)&&(D=D.responseEnd,w+=te*(D<j?1:(j-$)/(D-$)))}if(--c,a+=8*(g+w)/(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 Dh=null,zh=null;function $u(t){return t.nodeType===9?t:t.ownerDocument}function Av(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 Nv(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 Ih(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 Oh=null;function TC(){var t=window.event;return t&&t.type==="popstate"?t===Oh?!1:(Oh=t,!0):(Oh=null,!1)}var Cv=typeof setTimeout=="function"?setTimeout:void 0,EC=typeof clearTimeout=="function"?clearTimeout:void 0,_v=typeof Promise=="function"?Promise:void 0,RC=typeof queueMicrotask=="function"?queueMicrotask:typeof _v<"u"?function(t){return _v.resolve(null).then(t).catch(DC)}:Cv;function DC(t){setTimeout(function(){throw t})}function gs(t){return t==="head"}function Tv(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),yr(a);return}c--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")c++;else if(s==="html")Ql(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,Ql(s);for(var g=s.firstChild;g;){var w=g.nextSibling,j=g.nodeName;g[Qi]||j==="SCRIPT"||j==="STYLE"||j==="LINK"&&g.rel.toLowerCase()==="stylesheet"||s.removeChild(g),g=w}}else s==="body"&&Ql(t.ownerDocument.body);s=p}while(s);yr(a)}function Ev(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 qh(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":qh(s),nl(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function zC(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[Qi])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=ja(t.nextSibling),t===null)break}return null}function IC(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=ja(t.nextSibling),t===null))return null;return t}function Rv(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=ja(t.nextSibling),t===null))return null;return t}function Ph(t){return t.data==="$?"||t.data==="$~"}function Mh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function OC(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 ja(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 Bh=null;function Dv(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return ja(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function zv(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 Iv(t,a,s){switch(a=$u(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 Ql(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);nl(t)}var Aa=new Map,Ov=new Set;function Gu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Di=J.d;J.d={f:qC,r:PC,D:MC,C:BC,L:LC,m:UC,X:$C,S:VC,M:GC};function qC(){var t=Di.f(),a=Ou();return t||a}function PC(t){var a=Fi(t);a!==null&&a.tag===5&&a.type==="form"?Jy(a):Di.r(t)}var hr=typeof document>"u"?null:document;function qv(t,a,s){var c=hr;if(c&&typeof a=="string"&&a){var p=zn(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),Ov.has(p)||(Ov.add(p),t={rel:t,crossOrigin:s,href:a},c.querySelector(p)===null&&(a=c.createElement("link"),Cn(a,"link",t),en(a),c.head.appendChild(a)))}}function MC(t){Di.D(t),qv("dns-prefetch",t,null)}function BC(t,a){Di.C(t,a),qv("preconnect",t,a)}function LC(t,a,s){Di.L(t,a,s);var c=hr;if(c&&t&&a){var p='link[rel="preload"][as="'+zn(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+zn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+zn(s.imageSizes)+'"]')):p+='[href="'+zn(t)+'"]';var g=p;switch(a){case"style":g=fr(t);break;case"script":g=gr(t)}Aa.has(g)||(t=S({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),Aa.set(g,t),c.querySelector(p)!==null||a==="style"&&c.querySelector(Fl(g))||a==="script"&&c.querySelector(Zl(g))||(a=c.createElement("link"),Cn(a,"link",t),en(a),c.head.appendChild(a)))}}function UC(t,a){Di.m(t,a);var s=hr;if(s&&t){var c=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+zn(c)+'"][href="'+zn(t)+'"]',g=p;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=gr(t)}if(!Aa.has(g)&&(t=S({rel:"modulepreload",href:t},a),Aa.set(g,t),s.querySelector(p)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Zl(g)))return}c=s.createElement("link"),Cn(c,"link",t),en(c),s.head.appendChild(c)}}}function VC(t,a,s){Di.S(t,a,s);var c=hr;if(c&&t){var p=Yi(c).hoistableStyles,g=fr(t);a=a||"default";var w=p.get(g);if(!w){var j={loading:0,preload:null};if(w=c.querySelector(Fl(g)))j.loading=5;else{t=S({rel:"stylesheet",href:t,"data-precedence":a},s),(s=Aa.get(g))&&Lh(t,s);var D=w=c.createElement("link");en(D),Cn(D,"link",t),D._p=new Promise(function($,te){D.onload=$,D.onerror=te}),D.addEventListener("load",function(){j.loading|=1}),D.addEventListener("error",function(){j.loading|=2}),j.loading|=4,Ku(w,a,c)}w={type:"stylesheet",instance:w,count:1,state:j},p.set(g,w)}}}function $C(t,a){Di.X(t,a);var s=hr;if(s&&t){var c=Yi(s).hoistableScripts,p=gr(t),g=c.get(p);g||(g=s.querySelector(Zl(p)),g||(t=S({src:t,async:!0},a),(a=Aa.get(p))&&Uh(t,a),g=s.createElement("script"),en(g),Cn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function GC(t,a){Di.M(t,a);var s=hr;if(s&&t){var c=Yi(s).hoistableScripts,p=gr(t),g=c.get(p);g||(g=s.querySelector(Zl(p)),g||(t=S({src:t,async:!0,type:"module"},a),(a=Aa.get(p))&&Uh(t,a),g=s.createElement("script"),en(g),Cn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function Pv(t,a,s,c){var p=(p=Q.current)?Gu(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=fr(s.href),s=Yi(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=fr(s.href);var g=Yi(p).hoistableStyles,w=g.get(t);if(w||(p=p.ownerDocument||p,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,w),(g=p.querySelector(Fl(t)))&&!g._p&&(w.instance=g,w.state.loading=5),Aa.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},Aa.set(t,s),g||KC(p,t,s,w.state))),a&&c===null)throw Error(r(528,""));return w}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=gr(s),s=Yi(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 fr(t){return'href="'+zn(t)+'"'}function Fl(t){return'link[rel="stylesheet"]['+t+"]"}function Mv(t){return S({},t,{"data-precedence":t.precedence,precedence:null})}function KC(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}),Cn(a,"link",s),en(a),t.head.appendChild(a))}function gr(t){return'[src="'+zn(t)+'"]'}function Zl(t){return"script[async]"+t}function Bv(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+zn(s.href)+'"]');if(c)return a.instance=c,en(c),c;var p=S({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),en(c),Cn(c,"style",p),Ku(c,s.precedence,t),a.instance=c;case"stylesheet":p=fr(s.href);var g=t.querySelector(Fl(p));if(g)return a.state.loading|=4,a.instance=g,en(g),g;c=Mv(s),(p=Aa.get(p))&&Lh(c,p),g=(t.ownerDocument||t).createElement("link"),en(g);var w=g;return w._p=new Promise(function(j,D){w.onload=j,w.onerror=D}),Cn(g,"link",c),a.state.loading|=4,Ku(g,s.precedence,t),a.instance=g;case"script":return g=gr(s.src),(p=t.querySelector(Zl(g)))?(a.instance=p,en(p),p):(c=s,(p=Aa.get(g))&&(c=S({},s),Uh(c,p)),t=t.ownerDocument||t,p=t.createElement("script"),en(p),Cn(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,Ku(c,s.precedence,t));return a.instance}function Ku(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,w=0;w<c.length;w++){var j=c[w];if(j.dataset.precedence===a)g=j;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 Lh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function Uh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var Hu=null;function Lv(t,a,s){if(Hu===null){var c=new Map,p=Hu=new Map;p.set(s,c)}else p=Hu,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[Qi]||g[on]||t==="link"&&g.getAttribute("rel")==="stylesheet")&&g.namespaceURI!=="http://www.w3.org/2000/svg"){var w=g.getAttribute(a)||"";w=t+w;var j=c.get(w);j?j.push(g):c.set(w,[g])}}return c}function Uv(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function HC(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 Vv(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function QC(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=fr(c.href),g=a.querySelector(Fl(p));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Qu.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=g,en(g);return}g=a.ownerDocument||a,c=Mv(c),(p=Aa.get(p))&&Lh(c,p),g=g.createElement("link"),en(g);var w=g;w._p=new Promise(function(j,D){w.onload=j,w.onerror=D}),Cn(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=Qu.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var Vh=0;function FC(t,a){return t.stylesheets&&t.count===0&&Zu(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var c=setTimeout(function(){if(t.stylesheets&&Zu(t,t.stylesheets),t.unsuspend){var g=t.unsuspend;t.unsuspend=null,g()}},6e4+a);0<t.imgBytes&&Vh===0&&(Vh=62500*_C());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Zu(t,t.stylesheets),t.unsuspend)){var g=t.unsuspend;t.unsuspend=null,g()}},(t.imgBytes>Vh?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(p)}}:null}function Qu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Fu=null;function Zu(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Fu=new Map,a.forEach(ZC,t),Fu=null,Qu.call(t))}function ZC(t,a){if(!(a.state.loading&4)){var s=Fu.get(t);if(s)var c=s.get(null);else{s=new Map,Fu.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g<p.length;g++){var w=p[g];(w.nodeName==="LINK"||w.getAttribute("media")!=="not all")&&(s.set(w.dataset.precedence,w),c=w)}c&&s.set(null,c)}p=a.instance,w=p.getAttribute("data-precedence"),g=s.get(w)||c,g===c&&s.set(null,p),s.set(w,p),this.count++,c=Qu.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 Yl={$$typeof:L,Provider:null,Consumer:null,_currentValue:be,_currentValue2:be,_threadCount:0};function YC(t,a,s,c,p,g,w,j,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=Io(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Io(0),this.hiddenUpdates=Io(null),this.identifierPrefix=c,this.onUncaughtError=p,this.onCaughtError=g,this.onRecoverableError=w,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=D,this.incompleteTransitions=new Map}function $v(t,a,s,c,p,g,w,j,D,$,te,se){return t=new YC(t,a,s,w,D,$,te,se,j),a=1,g===!0&&(a|=24),g=na(3,null,null,a),t.current=g,g.stateNode=t,a=wp(),a.refCount++,t.pooledCache=a,a.refCount++,g.memoizedState={element:c,isDehydrated:s,cache:a},Ap(g),t}function Gv(t){return t?(t=Qo,t):Qo}function Kv(t,a,s,c,p,g){p=Gv(p),c.context===null?c.context=p:c.pendingContext=p,c=ss(a),c.payload={element:s},g=g===void 0?null:g,g!==null&&(c.callback=g),s=os(t,c,a),s!==null&&(Fn(s,t,a),_l(s,t,a))}function Hv(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function $h(t,a){Hv(t,a),(t=t.alternate)&&Hv(t,a)}function Qv(t){if(t.tag===13||t.tag===31){var a=Fs(t,67108864);a!==null&&Fn(a,t,67108864),$h(t,67108864)}}function Fv(t){if(t.tag===13||t.tag===31){var a=ra();a=el(a);var s=Fs(t,a);s!==null&&Fn(s,t,a),$h(t,a)}}var Yu=!0;function XC(t,a,s,c){var p=q.T;q.T=null;var g=J.p;try{J.p=2,Gh(t,a,s,c)}finally{J.p=g,q.T=p}}function JC(t,a,s,c){var p=q.T;q.T=null;var g=J.p;try{J.p=8,Gh(t,a,s,c)}finally{J.p=g,q.T=p}}function Gh(t,a,s,c){if(Yu){var p=Kh(c);if(p===null)Eh(t,a,c,Xu,s),Yv(t,c);else if(e5(p,t,a,s,c))c.stopPropagation();else if(Yv(t,c),a&4&&-1<WC.indexOf(t)){for(;p!==null;){var g=Fi(p);if(g!==null)switch(g.tag){case 3:if(g=g.stateNode,g.current.memoizedState.isDehydrated){var w=It(g.pendingLanes);if(w!==0){var j=g;for(j.pendingLanes|=2,j.entangledLanes|=2;w;){var D=1<<31-Ft(w);j.entanglements[1]|=D,w&=~D}ti(g),(wt&6)===0&&(zu=Ut()+500,Gl(0))}}break;case 31:case 13:j=Fs(g,2),j!==null&&Fn(j,g,2),Ou(),$h(g,2)}if(g=Kh(c),g===null&&Eh(t,a,c,Xu,s),g===p)break;p=g}p!==null&&c.stopPropagation()}else Eh(t,a,c,null,s)}}function Kh(t){return t=ul(t),Hh(t)}var Xu=null;function Hh(t){if(Xu=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 Xu=t,null}function Zv(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(li()){case Ps:return 2;case ci:return 8;case En:case zo:return 32;case Ms:return 268435456;default:return 32}default:return 32}}var Qh=!1,ys=null,bs=null,vs=null,Xl=new Map,Jl=new Map,xs=[],WC="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 Yv(t,a){switch(t){case"focusin":case"focusout":ys=null;break;case"dragenter":case"dragleave":bs=null;break;case"mouseover":case"mouseout":vs=null;break;case"pointerover":case"pointerout":Xl.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Jl.delete(a.pointerId)}}function Wl(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=Fi(a),a!==null&&Qv(a)),t):(t.eventSystemFlags|=c,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function e5(t,a,s,c,p){switch(a){case"focusin":return ys=Wl(ys,t,a,s,c,p),!0;case"dragenter":return bs=Wl(bs,t,a,s,c,p),!0;case"mouseover":return vs=Wl(vs,t,a,s,c,p),!0;case"pointerover":var g=p.pointerId;return Xl.set(g,Wl(Xl.get(g)||null,t,a,s,c,p)),!0;case"gotpointercapture":return g=p.pointerId,Jl.set(g,Wl(Jl.get(g)||null,t,a,s,c,p)),!0}return!1}function Xv(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,Yc(t.priority,function(){Fv(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,Yc(t.priority,function(){Fv(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 Ju(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=Kh(t.nativeEvent);if(s===null){s=t.nativeEvent;var c=new s.constructor(s.type,s);cl=c,s.target.dispatchEvent(c),cl=null}else return a=Fi(s),a!==null&&Qv(a),t.blockedOn=s,!1;a.shift()}return!0}function Jv(t,a,s){Ju(t)&&s.delete(a)}function t5(){Qh=!1,ys!==null&&Ju(ys)&&(ys=null),bs!==null&&Ju(bs)&&(bs=null),vs!==null&&Ju(vs)&&(vs=null),Xl.forEach(Jv),Jl.forEach(Jv)}function Wu(t,a){t.blockedOn===a&&(t.blockedOn=null,Qh||(Qh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,t5)))}var ed=null;function Wv(t){ed!==t&&(ed=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){ed===t&&(ed=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(Hh(c||s)===null)continue;break}var g=Fi(s);g!==null&&(t.splice(a,3),a-=3,Kp(g,{pending:!0,data:p,method:s.method,action:c},c,p))}}))}function yr(t){function a(D){return Wu(D,t)}ys!==null&&Wu(ys,t),bs!==null&&Wu(bs,t),vs!==null&&Wu(vs,t),Xl.forEach(a),Jl.forEach(a);for(var s=0;s<xs.length;s++){var c=xs[s];c.blockedOn===t&&(c.blockedOn=null)}for(;0<xs.length&&(s=xs[0],s.blockedOn===null);)Xv(s),s.blockedOn===null&&xs.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],w=p[Rn]||null;if(typeof g=="function")w||Wv(s);else if(w){var j=null;if(g&&g.hasAttribute("formAction")){if(p=g,w=g[Rn]||null)j=w.formAction;else if(Hh(p)!==null)continue}else j=w.action;typeof j=="function"?s[c+1]=j:(s.splice(c,3),c-=3),Wv(s)}}}function ex(){function t(g){g.canIntercept&&g.info==="react-transition"&&g.intercept({handler:function(){return new Promise(function(w){return p=w})},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 Fh(t){this._internalRoot=t}td.prototype.render=Fh.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,c=ra();Kv(s,c,t,a,null,null)},td.prototype.unmount=Fh.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;Kv(t.current,2,null,t,null,null),Ou(),a[Hi]=null}};function td(t){this._internalRoot=t}td.prototype.unstable_scheduleHydration=function(t){if(t){var a=Oo();t={blockedOn:null,target:t,priority:a};for(var s=0;s<xs.length&&a!==0&&a<xs[s].priority;s++);xs.splice(s,0,t),s===0&&Xv(t)}};var tx=n.version;if(tx!=="19.2.4")throw Error(r(527,tx,"19.2.4"));J.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=x(a),t=t!==null?k(t):null,t=t===null?null:t.stateNode,t};var n5={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:q,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var nd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!nd.isDisabled&&nd.supportsFiber)try{gn=nd.inject(n5),_t=nd}catch{}}return ec.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,c="",p=lb,g=cb,w=ub;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&&(w=a.onRecoverableError)),a=$v(t,1,!1,null,null,s,c,null,p,g,w,ex),t[Hi]=a.current,Th(t),new Fh(a)},ec.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var c=!1,p="",g=lb,w=cb,j=ub,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&&(w=s.onCaughtError),s.onRecoverableError!==void 0&&(j=s.onRecoverableError),s.formState!==void 0&&(D=s.formState)),a=$v(t,1,!0,a,s??null,c,p,D,g,w,j,ex),a.context=Gv(null),s=a.current,c=ra(),c=el(c),p=ss(c),p.callback=null,os(s,p,c),s=c,a.current.lanes=s,Us(a,s),ti(a),t[Hi]=a.current,Th(t),new td(a)},ec.version="19.2.4",ec}var sx;function V5(){if(sx)return Zh.exports;sx=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(),Zh.exports=U5(),Zh.exports}var $5=V5();const G5={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},K5=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:f,sseMaxRetryDelay:b,sseSleepFn:v,url:x,...k})=>{let S;const _=v??(P=>new Promise(T=>setTimeout(T,P)));return{stream:async function*(){let P=h??3e3,T=0;const U=k.signal??new AbortController().signal;for(;!U.aborted;){T++;const X=k.headers instanceof Headers?k.headers:new Headers(k.headers);S!==void 0&&X.set("Last-Event-ID",S);try{const L={redirect:"follow",...k,body:k.serializedBody,headers:X,signal:U};let H=new Request(x,L);e&&(H=await e(x,L));const ae=await(k.fetch??globalThis.fetch)(H);if(!ae.ok)throw new Error(`SSE failed: ${ae.status} ${ae.statusText}`);if(!ae.body)throw new Error("No body in SSE response");const M=ae.body.pipeThrough(new TextDecoderStream).getReader();let Y="";const le=()=>{try{M.cancel()}catch{}};U.addEventListener("abort",le);try{for(;;){const{done:Je,value:nt}=await M.read();if(Je)break;Y+=nt;const $e=Y.split(`
|
|
11
|
-
|
|
12
|
-
`);Y=$e.pop()??"";for(const qe of $e){const ke=qe.split(`
|
|
13
|
-
`),Ue=[];let q;for(const Se of ke)if(Se.startsWith("data:"))Ue.push(Se.replace(/^data:\s*/,""));else if(Se.startsWith("event:"))q=Se.replace(/^event:\s*/,"");else if(Se.startsWith("id:"))S=Se.replace(/^id:\s*/,"");else if(Se.startsWith("retry:")){const ee=Number.parseInt(Se.replace(/^retry:\s*/,""),10);Number.isNaN(ee)||(P=ee)}let J,be=!1;if(Ue.length){const Se=Ue.join(`
|
|
14
|
-
`);try{J=JSON.parse(Se),be=!0}catch{J=Se}}be&&(u&&await u(J),r&&(J=await r(J))),i?.({data:J,event:q,id:S,retry:P}),Ue.length&&(yield J)}}}finally{U.removeEventListener("abort",le),M.releaseLock()}break}catch(L){if(n?.(L),f!==void 0&&T>=f)break;const H=Math.min(P*2**(T-1),b??3e4);await _(H)}}}()}},H5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Q5=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},F5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},rS=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(Q5(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=H5(r),f=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):rm({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+f:f},rm=({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)}`},lS=({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,S])=>{v=[...v,k,e?S:encodeURIComponent(S)]});const x=v.join(",");switch(r){case"form":return`${i}=${x}`;case"label":return`.${x}`;case"matrix":return`;${i}=${x}`;default:return x}}const f=F5(r),b=Object.entries(u).map(([v,x])=>rm({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:x})).join(f);return r==="label"||r==="matrix"?f+b:b},Z5=/\{[^{}]+\}/g,Y5=({path:e,url:n})=>{let i=n;const r=n.match(Z5);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,rS({explode:h,name:f,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,lS({explode:h,name:f,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${rm({name:f,value:v})}`);continue}const x=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,x)}return i},X5=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let f=(e??"")+h;n&&(f=Y5({path:n,url:f}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(f+=`?${b}`),f};function J5(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 W5=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},cS=({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=rS({allowReserved:e,explode:!0,name:f,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=lS({allowReserved:e,explode:!0,name:f,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=rm({allowReserved:e,name:f,value:b});v&&h.push(v)}}return h.join("&")},e6=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"}},t6=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,n6=async({security:e,...n})=>{for(const i of e){if(t6(n,i.name))continue;const r=await W5(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}}},ox=e=>X5({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:cS(e.querySerializer),url:e.url}),rx=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=uS(e.headers,n.headers),i},a6=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},uS=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?a6(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 Jh{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 i6=()=>({error:new Jh,request:new Jh,response:new Jh}),s6=cS({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),o6={"Content-Type":"application/json"},dS=(e={})=>({...G5,headers:o6,parseAs:"auto",querySerializer:s6,...e}),mS=(e={})=>{let n=rx(dS(),e);const i=()=>({...n}),r=x=>(n=rx(n,x),i()),u=i6(),h=async x=>{const k={...n,...x,fetch:x.fetch??n.fetch??globalThis.fetch,headers:uS(n.headers,x.headers),serializedBody:void 0};k.security&&await n6({...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 S=ox(k);return{opts:k,url:S}},f=async x=>{const{opts:k,url:S}=await h(x),_={redirect:"follow",...k,body:J5(k)};let C=new Request(S,_);for(const Z of u.request.fns)Z&&(C=await Z(C,k));const I=k.fetch;let P=await I(C);for(const Z of u.response.fns)Z&&(P=await Z(P,C,k));const T={request:C,response:P};if(P.ok){const Z=(k.parseAs==="auto"?e6(P.headers.get("Content-Type")):k.parseAs)??"json";if(P.status===204||P.headers.get("Content-Length")==="0"){let M;switch(Z){case"arrayBuffer":case"blob":case"text":M=await P[Z]();break;case"formData":M=new FormData;break;case"stream":M=P.body;break;default:M={};break}return k.responseStyle==="data"?M:{data:M,...T}}let ae;switch(Z){case"arrayBuffer":case"blob":case"formData":case"json":case"text":ae=await P[Z]();break;case"stream":return k.responseStyle==="data"?P.body:{data:P.body,...T}}return Z==="json"&&(k.responseValidator&&await k.responseValidator(ae),k.responseTransformer&&(ae=await k.responseTransformer(ae))),k.responseStyle==="data"?ae:{data:ae,...T}}const U=await P.text();let X;try{X=JSON.parse(U)}catch{}const L=X??U;let H=L;for(const Z of u.error.fns)Z&&(H=await Z(L,P,C,k));if(H=H||{},k.throwOnError)throw H;return k.responseStyle==="data"?void 0:{error:H,...T}},b=x=>k=>f({...k,method:x}),v=x=>async k=>{const{opts:S,url:_}=await h(k);return K5({...S,body:S.body,headers:S.headers,method:x,onRequest:async(C,I)=>{let P=new Request(C,I);for(const T of u.request.fns)T&&(P=await T(P,S));return P},url:_})};return{buildUrl:ox,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=mS(dS()),r6=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}}),l6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),c6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),u6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),pS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),d6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),m6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),p6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),h6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),ZW=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),YW=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}}),XW=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}}),JW=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}}),WW=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}}),eee=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}}),tee=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}}),nee=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}}),aee=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}}),iee=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}}),see=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}}),oee=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}}),ree=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}}),lee=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}}),cee=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}}),uee=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}}),f6=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}}),dee=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}}),mee=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),pee=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),hee=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}}),fee=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),hS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),g6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e}),y6=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}}),b6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment",...e}),v6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/evidence",...e}),x6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfill-preview",...e}),w6=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}}),k6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs",...e}),S6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs/{jobId}",...e}),j6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),A6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),N6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),C6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),_6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),T6=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}}),E6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),R6=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}}),D6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),z6=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}}),I6=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}}),O6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),q6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),P6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),M6=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}}),B6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),fS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),L6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),U6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),V6=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}}),$6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),G6=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),K6=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),H6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),gS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),Q6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),F6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),Z6=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),yS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),Y6=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),X6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),J6=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),W6=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),e_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),t_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),bS=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),n_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),a_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),i_=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),s_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),o_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),r_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),l_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),c_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),u_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),d_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),m_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),p_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),h_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),f_=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),g_=e=>(e.client??z).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),y_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),b_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/ui",...e,headers:{"Content-Type":"application/json",...e.headers}}),vS=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),v_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),x_=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}}),w_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),k_=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}}),S_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),j_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),A_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),N_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),C_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),__=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}}),T_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),E_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),R_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),D_=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}}),z_=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),I_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),O_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),q_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),P_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),M_=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}}),B_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),L_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),U_=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}}),V_=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),$_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),G_=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}}),K_=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}}),H_=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}}),Q_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),F_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),Z_=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}}),Y_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),X_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),J_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),W_=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),eT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),tT=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}}),nT=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}}),aT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),iT=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}}),sT=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}}),oT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),rT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),lT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),cT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),uT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),dT=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}}),mT=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),pT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),hT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),fT=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}}),gT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),yT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),bT=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}}),vT=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}}),xT=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}}),wT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),kT=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}}),ST=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),jT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),AT=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}}),NT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),CT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),_T=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),TT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),ET=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),RT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),DT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),zT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),IT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),OT=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),qT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),PT=e=>(e?.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),MT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),BT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),LT=e=>(e?.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),UT=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),VT=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}}),$T=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),GT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),KT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),HT=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}}),QT=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}}),FT=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}}),ZT=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}}),YT=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}}),XT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),JT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),WT=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),e8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),t8=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}}),n8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),a8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),i8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),s8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),o8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),r8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),l8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),c8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),xS=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),u8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),d8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),m8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),p8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),h8=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}}),f8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),g8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),y8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e}),b8=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}}),v8=e=>(e.client??z).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}",...e}),x8=e=>(e.client??z).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}/resume",...e}),w8=e=>(e.client??z).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function k8(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return mS(n)}function ne(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 x=f.prototype,k=Object.keys(x);for(let S=0;S<k.length;S++){const _=k[S];_ in b||(b[_]=x[_].bind(b))}}const u=i?.Parent??Object;class h extends u{}Object.defineProperty(h,"name",{value:e});function f(b){var v;const x=i?.Parent?new h:this;r(x,b),(v=x._zod).deferred??(v.deferred=[]);for(const k of x._zod.deferred)k();return x}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 jr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class wS extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const kS={};function Ns(e){return kS}function SS(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 Lf(e,n){return typeof n=="bigint"?n.toString():n}function lm(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function O0(e){return e==null}function q0(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function S8(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 lx=Symbol("evaluating");function gt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==lx)return r===void 0&&(r=lx,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 Rs(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function cx(e){return JSON.stringify(e)}function j8(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const jS="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function wc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const A8=lm(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Cr(e){if(wc(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(wc(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function AS(e){return Cr(e)?{...e}:Array.isArray(e)?[...e]:e}const N8=new Set(["string","number","symbol"]);function _r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ds(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function ze(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 C8(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const _8={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 T8(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=Rs(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 Ds(e,h)}function E8(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=Rs(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 Ds(e,h)}function R8(e,n){if(!Cr(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=Rs(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return jo(this,"shape",h),h}});return Ds(e,u)}function D8(e,n){if(!Cr(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Rs(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return jo(this,"shape",r),r}});return Ds(e,i)}function z8(e,n){const i=Rs(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 Ds(e,i)}function I8(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=Rs(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(i)for(const x in i){if(!(x in b))throw new Error(`Unrecognized key: "${x}"`);i[x]&&(v[x]=e?new e({type:"optional",innerType:b[x]}):b[x])}else for(const x in b)v[x]=e?new e({type:"optional",innerType:b[x]}):b[x];return jo(this,"shape",v),v},checks:[]});return Ds(n,f)}function O8(e,n,i){const r=Rs(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 Ds(n,r)}function wr(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 kr(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function id(e){return typeof e=="string"?e:e?.message}function Cs(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=id(e.inst?._zod.def?.error?.(e))??id(n?.error?.(e))??id(i.customError?.(e))??id(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function P0(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function kc(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const NS=(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,Lf,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},CS=ne("$ZodError",NS),_S=ne("$ZodError",NS,{Parent:Error});function q8(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 P8(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 M0=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 jr;if(f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>Cs(v,h,Ns())));throw jS(b,u?.callee),b}return f.value},B0=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=>Cs(v,h,Ns())));throw jS(b,u?.callee),b}return f.value},cm=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 jr;return h.issues.length?{success:!1,error:new(e??CS)(h.issues.map(f=>Cs(f,u,Ns())))}:{success:!0,data:h.value}},M8=cm(_S),um=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=>Cs(f,u,Ns())))}:{success:!0,data:h.value}},B8=um(_S),L8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return M0(e)(n,i,u)},U8=e=>(n,i,r)=>M0(e)(n,i,r),V8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return B0(e)(n,i,u)},$8=e=>async(n,i,r)=>B0(e)(n,i,r),G8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return cm(e)(n,i,u)},K8=e=>(n,i,r)=>cm(e)(n,i,r),H8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return um(e)(n,i,u)},Q8=e=>async(n,i,r)=>um(e)(n,i,r),F8=/^[cC][^\s-]{8,}$/,Z8=/^[0-9a-z]+$/,Y8=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,X8=/^[0-9a-vA-V]{20}$/,J8=/^[A-Za-z0-9]{27}$/,W8=/^[a-zA-Z0-9_-]{21}$/,eE=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,tE=/^([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})$/,ux=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)$/,nE=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,aE="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function iE(){return new RegExp(aE,"u")}const sE=/^(?:(?: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])$/,oE=/^(([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}|:))$/,rE=/^((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])$/,lE=/^(([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])$/,cE=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,TS=/^[A-Za-z0-9_-]*$/,uE=/^\+[1-9]\d{6,14}$/,ES="(?:(?:\\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])))",dE=new RegExp(`^${ES}$`);function RS(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 mE(e){return new RegExp(`^${RS(e)}$`)}function pE(e){const n=RS({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(`^${ES}T(?:${r})$`)}const hE=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},fE=/^-?\d+$/,DS=/^-?\d+(?:\.\d+)?$/,gE=/^(?:true|false)$/i,yE=/^null$/i,bE=/^[^A-Z]*$/,vE=/^[^a-z]*$/,Xn=ne("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),zS={number:"number",bigint:"bigint",object:"date"},IS=ne("$ZodCheckLessThan",(e,n)=>{Xn.init(e,n);const i=zS[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})}}),OS=ne("$ZodCheckGreaterThan",(e,n)=>{Xn.init(e,n);const i=zS[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})}}),xE=ne("$ZodCheckMultipleOf",(e,n)=>{Xn.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):S8(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})}}),wE=ne("$ZodCheckNumberFormat",(e,n)=>{Xn.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=_8[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=fE)}),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})}}),kE=ne("$ZodCheckMaxLength",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!O0(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=P0(u);r.issues.push({origin:f,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),SE=ne("$ZodCheckMinLength",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!O0(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=P0(u);r.issues.push({origin:f,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),jE=ne("$ZodCheckLengthEquals",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!O0(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=P0(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})}}),dm=ne("$ZodCheckStringFormat",(e,n)=>{var i,r;Xn.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=()=>{})}),AE=ne("$ZodCheckRegex",(e,n)=>{dm.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})}}),NE=ne("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=bE),dm.init(e,n)}),CE=ne("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=vE),dm.init(e,n)}),_E=ne("$ZodCheckIncludes",(e,n)=>{Xn.init(e,n);const i=_r(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})}}),TE=ne("$ZodCheckStartsWith",(e,n)=>{Xn.init(e,n);const i=new RegExp(`^${_r(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})}}),EE=ne("$ZodCheckEndsWith",(e,n)=>{Xn.init(e,n);const i=new RegExp(`.*${_r(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})}}),RE=ne("$ZodCheckOverwrite",(e,n)=>{Xn.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class DE{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 zE={major:4,minor:3,patch:6},Bt=ne("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=zE;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 x=wr(f),k;for(const S of b){if(S._zod.def.when){if(!S._zod.def.when(f))continue}else if(x)continue;const _=f.issues.length,C=S._zod.check(f);if(C instanceof Promise&&v?.async===!1)throw new jr;if(k||C instanceof Promise)k=(k??Promise.resolve()).then(async()=>{await C,f.issues.length!==_&&(x||(x=wr(f,_)))});else{if(f.issues.length===_)continue;x||(x=wr(f,_))}}return k?k.then(()=>f):f},h=(f,b,v)=>{if(wr(f))return f.aborted=!0,f;const x=u(b,r,v);if(x instanceof Promise){if(v.async===!1)throw new jr;return x.then(k=>e._zod.parse(k,v))}return e._zod.parse(x,v)};e._zod.run=(f,b)=>{if(b.skipChecks)return e._zod.parse(f,b);if(b.direction==="backward"){const x=e._zod.parse({value:f.value,issues:[]},{...b,skipChecks:!0});return x instanceof Promise?x.then(k=>h(k,f,b)):h(x,f,b)}const v=e._zod.parse(f,b);if(v instanceof Promise){if(b.async===!1)throw new jr;return v.then(x=>u(x,r,b))}return u(v,r,b)}}gt(e,"~standard",()=>({validate:u=>{try{const h=M8(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return B8(e,u).then(f=>f.success?{value:f.data}:{issues:f.error?.issues})}},vendor:"zod",version:1}))}),L0=ne("$ZodString",(e,n)=>{Bt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??hE(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}}),Gt=ne("$ZodStringFormat",(e,n)=>{dm.init(e,n),L0.init(e,n)}),IE=ne("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=tE),Gt.init(e,n)}),OE=ne("$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=ux(r))}else n.pattern??(n.pattern=ux());Gt.init(e,n)}),qE=ne("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=nE),Gt.init(e,n)}),PE=ne("$ZodURL",(e,n)=>{Gt.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})}}}),ME=ne("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=iE()),Gt.init(e,n)}),BE=ne("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=W8),Gt.init(e,n)}),LE=ne("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=F8),Gt.init(e,n)}),UE=ne("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=Z8),Gt.init(e,n)}),VE=ne("$ZodULID",(e,n)=>{n.pattern??(n.pattern=Y8),Gt.init(e,n)}),$E=ne("$ZodXID",(e,n)=>{n.pattern??(n.pattern=X8),Gt.init(e,n)}),GE=ne("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=J8),Gt.init(e,n)}),KE=ne("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=pE(n)),Gt.init(e,n)}),HE=ne("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=dE),Gt.init(e,n)}),QE=ne("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=mE(n)),Gt.init(e,n)}),FE=ne("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=eE),Gt.init(e,n)}),ZE=ne("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=sE),Gt.init(e,n),e._zod.bag.format="ipv4"}),YE=ne("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=oE),Gt.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})}}}),XE=ne("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=rE),Gt.init(e,n)}),JE=ne("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=lE),Gt.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 qS(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const WE=ne("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=cE),Gt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{qS(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function e7(e){if(!TS.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return qS(i)}const t7=ne("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=TS),Gt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{e7(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),n7=ne("$ZodE164",(e,n)=>{n.pattern??(n.pattern=uE),Gt.init(e,n)});function a7(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 i7=ne("$ZodJWT",(e,n)=>{Gt.init(e,n),e._zod.check=i=>{a7(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),PS=ne("$ZodNumber",(e,n)=>{Bt.init(e,n),e._zod.pattern=e._zod.bag.pattern??DS,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}}),s7=ne("$ZodNumberFormat",(e,n)=>{wE.init(e,n),PS.init(e,n)}),o7=ne("$ZodBoolean",(e,n)=>{Bt.init(e,n),e._zod.pattern=gE,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}}),r7=ne("$ZodNull",(e,n)=>{Bt.init(e,n),e._zod.pattern=yE,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}}),l7=ne("$ZodUnknown",(e,n)=>{Bt.init(e,n),e._zod.parse=i=>i}),c7=ne("$ZodNever",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function dx(e,n,i){e.issues.length&&n.issues.push(...kr(i,e.issues)),n.value[i]=e.value}const u7=ne("$ZodArray",(e,n)=>{Bt.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(x=>dx(x,i,f))):dx(v,i,f)}return h.length?Promise.all(h).then(()=>i):i}});function Rd(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(...kr(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function MS(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=C8(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function BS(e,n,i,r,u,h){const f=[],b=u.keySet,v=u.catchall._zod,x=v.def.type,k=v.optout==="optional";for(const S in n){if(b.has(S))continue;if(x==="never"){f.push(S);continue}const _=v.run({value:n[S],issues:[]},r);_ instanceof Promise?e.push(_.then(C=>Rd(C,i,S,n,k))):Rd(_,i,S,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 d7=ne("$ZodObject",(e,n)=>{if(Bt.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=lm(()=>MS(n));gt(e._zod,"propValues",()=>{const b=n.shape,v={};for(const x in b){const k=b[x]._zod;if(k.values){v[x]??(v[x]=new Set);for(const S of k.values)v[x].add(S)}}return v});const u=wc,h=n.catchall;let f;e._zod.parse=(b,v)=>{f??(f=r.value);const x=b.value;if(!u(x))return b.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),b;b.value={};const k=[],S=f.shape;for(const _ of f.keys){const C=S[_],I=C._zod.optout==="optional",P=C._zod.run({value:x[_],issues:[]},v);P instanceof Promise?k.push(P.then(T=>Rd(T,b,_,x,I))):Rd(P,b,_,x,I)}return h?BS(k,x,b,v,r.value,e):k.length?Promise.all(k).then(()=>b):b}}),m7=ne("$ZodObjectJIT",(e,n)=>{d7.init(e,n);const i=e._zod.parse,r=lm(()=>MS(n)),u=_=>{const C=new DE(["shape","payload","ctx"]),I=r.value,P=L=>{const H=cx(L);return`shape[${H}]._zod.run({ value: input[${H}], issues: [] }, ctx)`};C.write("const input = payload.value;");const T=Object.create(null);let U=0;for(const L of I.keys)T[L]=`key_${U++}`;C.write("const newResult = {};");for(const L of I.keys){const H=T[L],Z=cx(L),M=_[L]?._zod?.optout==="optional";C.write(`const ${H} = ${P(L)};`),M?C.write(`
|
|
17
|
-
if (${H}.issues.length) {
|
|
18
|
-
if (${Z} in input) {
|
|
19
|
-
payload.issues = payload.issues.concat(${H}.issues.map(iss => ({
|
|
20
|
-
...iss,
|
|
21
|
-
path: iss.path ? [${Z}, ...iss.path] : [${Z}]
|
|
22
|
-
})));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (${H}.value === undefined) {
|
|
27
|
-
if (${Z} in input) {
|
|
28
|
-
newResult[${Z}] = undefined;
|
|
29
|
-
}
|
|
30
|
-
} else {
|
|
31
|
-
newResult[${Z}] = ${H}.value;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
`):C.write(`
|
|
35
|
-
if (${H}.issues.length) {
|
|
36
|
-
payload.issues = payload.issues.concat(${H}.issues.map(iss => ({
|
|
37
|
-
...iss,
|
|
38
|
-
path: iss.path ? [${Z}, ...iss.path] : [${Z}]
|
|
39
|
-
})));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (${H}.value === undefined) {
|
|
43
|
-
if (${Z} in input) {
|
|
44
|
-
newResult[${Z}] = undefined;
|
|
45
|
-
}
|
|
46
|
-
} else {
|
|
47
|
-
newResult[${Z}] = ${H}.value;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
`)}C.write("payload.value = newResult;"),C.write("return payload;");const X=C.compile();return(L,H)=>X(_,L,H)};let h;const f=wc,b=!kS.jitless,x=b&&A8.value,k=n.catchall;let S;e._zod.parse=(_,C)=>{S??(S=r.value);const I=_.value;return f(I)?b&&x&&C?.async===!1&&C.jitless!==!0?(h||(h=u(n.shape)),_=h(_,C),k?BS([],I,_,C,S,e):_):i(_,C):(_.issues.push({expected:"object",code:"invalid_type",input:I,inst:e}),_)}});function mx(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=>!wr(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=>Cs(f,r,Ns())))}),n)}const LS=ne("$ZodUnion",(e,n)=>{Bt.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=>q0(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 x=v._zod.run({value:u.value,issues:[]},h);if(x instanceof Promise)b.push(x),f=!0;else{if(x.issues.length===0)return x;b.push(x)}}return f?Promise.all(b).then(v=>mx(v,u,e,h)):mx(b,u,e,h)}}),p7=ne("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,LS.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 x of v)u[b].add(x)}}return u});const r=lm(()=>{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(!wc(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)}}),h7=ne("$ZodIntersection",(e,n)=>{Bt.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,x])=>px(i,v,x)):px(i,h,f)}});function Uf(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(Cr(e)&&Cr(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=Uf(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=Uf(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 px(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}),wr(e))return e;const f=Uf(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 f7=ne("$ZodRecord",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Cr(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 x of f)if(typeof x=="string"||typeof x=="number"||typeof x=="symbol"){b.add(typeof x=="number"?x.toString():x);const k=n.valueType._zod.run({value:u[x],issues:[]},r);k instanceof Promise?h.push(k.then(S=>{S.issues.length&&i.issues.push(...kr(x,S.issues)),i.value[x]=S.value})):(k.issues.length&&i.issues.push(...kr(x,k.issues)),i.value[x]=k.value)}let v;for(const x in u)b.has(x)||(v=v??[],v.push(x));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"&&DS.test(b)&&v.issues.length){const S=n.keyType._zod.run({value:Number(b),issues:[]},r);if(S instanceof Promise)throw new Error("Async schemas not supported in object keys currently");S.issues.length===0&&(v=S)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(S=>Cs(S,r,Ns())),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(S=>{S.issues.length&&i.issues.push(...kr(b,S.issues)),i.value[v.value]=S.value})):(k.issues.length&&i.issues.push(...kr(b,k.issues)),i.value[v.value]=k.value)}}return h.length?Promise.all(h).then(()=>i):i}}),g7=ne("$ZodEnum",(e,n)=>{Bt.init(e,n);const i=SS(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>N8.has(typeof u)).map(u=>typeof u=="string"?_r(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}}),y7=ne("$ZodLiteral",(e,n)=>{if(Bt.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"?_r(r):r?_r(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}}),b7=ne("$ZodTransform",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new wS(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 jr;return i.value=u,i}});function hx(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const US=ne("$ZodOptional",(e,n)=>{Bt.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(`^(${q0(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=>hx(h,i.value)):hx(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),v7=ne("$ZodExactOptional",(e,n)=>{US.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)}),x7=ne("$ZodNullable",(e,n)=>{Bt.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(`^(${q0(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)}),w7=ne("$ZodDefault",(e,n)=>{Bt.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=>fx(h,n)):fx(u,n)}});function fx(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const k7=ne("$ZodPrefault",(e,n)=>{Bt.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))}),S7=ne("$ZodNonOptional",(e,n)=>{Bt.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=>gx(h,e)):gx(u,e)}});function gx(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 j7=ne("$ZodCatch",(e,n)=>{Bt.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=>Cs(f,r,Ns()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>Cs(h,r,Ns()))},input:i.value}),i.issues=[]),i)}}),A7=ne("$ZodPipe",(e,n)=>{Bt.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=>sd(f,n.in,r)):sd(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>sd(h,n.out,r)):sd(u,n.out,r)}});function sd(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const N7=ne("$ZodReadonly",(e,n)=>{Bt.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(yx):yx(u)}});function yx(e){return e.value=Object.freeze(e.value),e}const C7=ne("$ZodLazy",(e,n)=>{Bt.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)}),_7=ne("$ZodCustom",(e,n)=>{Xn.init(e,n),Bt.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=>bx(h,i,r,e));bx(u,i,r,e)}});function bx(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(kc(u))}}var vx;class T7{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 E7(){return new T7}(vx=globalThis).__zod_globalRegistry??(vx.__zod_globalRegistry=E7());const cc=globalThis.__zod_globalRegistry;function R7(e,n){return new e({type:"string",...ze(n)})}function D7(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ze(n)})}function xx(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ze(n)})}function VS(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ze(n)})}function z7(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ze(n)})}function I7(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ze(n)})}function O7(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ze(n)})}function q7(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ze(n)})}function P7(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ze(n)})}function M7(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ze(n)})}function B7(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ze(n)})}function L7(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ze(n)})}function U7(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ze(n)})}function V7(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ze(n)})}function $7(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ze(n)})}function G7(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ze(n)})}function K7(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ze(n)})}function H7(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ze(n)})}function Q7(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ze(n)})}function F7(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ze(n)})}function Z7(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ze(n)})}function Y7(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ze(n)})}function X7(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ze(n)})}function J7(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ze(n)})}function W7(e,n){return new e({type:"string",format:"date",check:"string_format",...ze(n)})}function eR(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...ze(n)})}function tR(e,n){return new e({type:"string",format:"duration",check:"string_format",...ze(n)})}function nR(e,n){return new e({type:"number",checks:[],...ze(n)})}function aR(e,n){return new e({type:"number",coerce:!0,checks:[],...ze(n)})}function iR(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ze(n)})}function sR(e,n){return new e({type:"boolean",...ze(n)})}function oR(e,n){return new e({type:"null",...ze(n)})}function rR(e){return new e({type:"unknown"})}function lR(e,n){return new e({type:"never",...ze(n)})}function wx(e,n){return new IS({check:"less_than",...ze(n),value:e,inclusive:!1})}function Wh(e,n){return new IS({check:"less_than",...ze(n),value:e,inclusive:!0})}function kx(e,n){return new OS({check:"greater_than",...ze(n),value:e,inclusive:!1})}function ef(e,n){return new OS({check:"greater_than",...ze(n),value:e,inclusive:!0})}function Sx(e,n){return new xE({check:"multiple_of",...ze(n),value:e})}function $S(e,n){return new kE({check:"max_length",...ze(n),maximum:e})}function Dd(e,n){return new SE({check:"min_length",...ze(n),minimum:e})}function GS(e,n){return new jE({check:"length_equals",...ze(n),length:e})}function cR(e,n){return new AE({check:"string_format",format:"regex",...ze(n),pattern:e})}function uR(e){return new NE({check:"string_format",format:"lowercase",...ze(e)})}function dR(e){return new CE({check:"string_format",format:"uppercase",...ze(e)})}function mR(e,n){return new _E({check:"string_format",format:"includes",...ze(n),includes:e})}function pR(e,n){return new TE({check:"string_format",format:"starts_with",...ze(n),prefix:e})}function hR(e,n){return new EE({check:"string_format",format:"ends_with",...ze(n),suffix:e})}function Mr(e){return new RE({check:"overwrite",tx:e})}function fR(e){return Mr(n=>n.normalize(e))}function gR(){return Mr(e=>e.trim())}function yR(){return Mr(e=>e.toLowerCase())}function bR(){return Mr(e=>e.toUpperCase())}function vR(){return Mr(e=>j8(e))}function xR(e,n,i){return new e({type:"array",element:n,...ze(i)})}function wR(e,n,i){return new e({type:"custom",check:"custom",fn:n,...ze(i)})}function kR(e){const n=SR(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(kc(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(kc(u))}},e(i.value,i)));return n}function SR(e,n){const i=new Xn({check:"custom",...ze(n)});return i._zod.check=e,i}function KS(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??cc,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 an(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 _=f.schema,C=n.processors[u.type];if(!C)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);C(e,n,_,k)}const S=e._zod.parent;S&&(f.ref||(f.ref=S),an(S,n,k),n.seen.get(S).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 HS(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 S=e.external.registry.get(f[0])?.id,_=e.external.uri??(I=>I);if(S)return{ref:_(S)};const C=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=C,{defId:C,ref:`${_("__shared")}#/${b}/${C}`}}if(f[1]===i)return{ref:"#"};const x=`#/${b}/`,k=f[1].schema.id??`__schema${e.counter++}`;return{defId:k,ref:x+k}},h=f=>{if(f[1].schema.$ref)return;const b=f[1],{ref:v,defId:x}=u(f);b.def={...b.schema},x&&(b.defId=x);const k=b.schema;for(const S in k)delete k[S];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 x=e.external.registry.get(f[0])?.id;if(n!==f[0]&&x){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,x={...v},k=b.ref;if(b.ref=null,k){r(k);const _=e.seen.get(k),C=_.schema;if(C.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(C)):Object.assign(v,C),Object.assign(v,x),f._zod.parent===k)for(const P in v)P==="$ref"||P==="allOf"||P in x||delete v[P];if(C.$ref&&_.def)for(const P in v)P==="$ref"||P==="allOf"||P in _.def&&JSON.stringify(v[P])===JSON.stringify(_.def[P])&&delete v[P]}const S=f._zod.parent;if(S&&S!==k){r(S);const _=e.seen.get(S);if(_?.schema.$ref&&(v.$ref=_.schema.$ref,_.def))for(const C in v)C==="$ref"||C==="allOf"||C in _.def&&JSON.stringify(v[C])===JSON.stringify(_.def[C])&&delete v[C]}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:zd(n,"input",e.processors),output:zd(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 jR=(e,n={})=>i=>{const r=KS({...i,processors:n});return an(e,r),HS(r,e),QS(r,e)},zd=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},f=KS({...u??{},target:h,io:n,processors:i});return an(e,f),HS(f,e),QS(f,e)},AR={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},NR=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:f,format:b,patterns:v,contentEncoding:x}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof f=="number"&&(u.maxLength=f),b&&(u.format=AR[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),x&&(u.contentEncoding=x),v&&v.size>0){const k=[...v];k.length===1?u.pattern=k[0].source:k.length>1&&(u.allOf=[...k.map(S=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))])}},CR=(e,n,i,r)=>{const u=i,{minimum:h,maximum:f,format:b,multipleOf:v,exclusiveMaximum:x,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 x=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=x,u.exclusiveMaximum=!0):u.exclusiveMaximum=x),typeof f=="number"&&(u.maximum=f,typeof x=="number"&&n.target!=="draft-04"&&(x<=f?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},_R=(e,n,i,r)=>{i.type="boolean"},TR=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},ER=(e,n,i,r)=>{i.not={}},RR=(e,n,i,r)=>{},DR=(e,n,i,r)=>{const u=e._zod.def,h=SS(u.entries);h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),i.enum=h},zR=(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},IR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},OR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},qR=(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=an(h.element,n,{...r,path:[...r.path,"items"]})},PR=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const f=h.shape;for(const x in f)u.properties[x]=an(f[x],n,{...r,path:[...r.path,"properties",x]});const b=new Set(Object.keys(f)),v=new Set([...b].filter(x=>{const k=h.shape[x]._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=an(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},MR=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,f=u.options.map((b,v)=>an(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=f:i.anyOf=f},BR=(e,n,i,r)=>{const u=e._zod.def,h=an(u.left,n,{...r,path:[...r.path,"allOf",0]}),f=an(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=x=>"allOf"in x&&Object.keys(x).length===1,v=[...b(h)?h.allOf:[h],...b(f)?f.allOf:[f]];i.allOf=v},LR=(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=an(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const S of v)u.patternProperties[S.source]=k}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=an(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=an(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const x=f._zod.values;if(x){const k=[...x].filter(S=>typeof S=="string"||typeof S=="number");k.length>0&&(u.required=k)}},UR=(e,n,i,r)=>{const u=e._zod.def,h=an(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"}]},VR=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},$R=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},GR=(e,n,i,r)=>{const u=e._zod.def;an(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)))},KR=(e,n,i,r)=>{const u=e._zod.def;an(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},HR=(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;an(h,n,r);const f=n.seen.get(e);f.ref=h},QR=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},FS=(e,n,i,r)=>{const u=e._zod.def;an(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},FR=(e,n,i,r)=>{const u=e._zod.innerType;an(u,n,r);const h=n.seen.get(e);h.ref=u},ZR=ne("ZodISODateTime",(e,n)=>{KE.init(e,n),Xt.init(e,n)});function ZS(e){return J7(ZR,e)}const YR=ne("ZodISODate",(e,n)=>{HE.init(e,n),Xt.init(e,n)});function YS(e){return W7(YR,e)}const XR=ne("ZodISOTime",(e,n)=>{QE.init(e,n),Xt.init(e,n)});function JR(e){return eR(XR,e)}const WR=ne("ZodISODuration",(e,n)=>{FE.init(e,n),Xt.init(e,n)});function eD(e){return tR(WR,e)}const tD=(e,n)=>{CS.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>P8(e,i)},flatten:{value:i=>q8(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Lf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Lf,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ta=ne("ZodError",tD,{Parent:Error}),nD=M0(Ta),aD=B0(Ta),iD=cm(Ta),sD=um(Ta),oD=L8(Ta),rD=U8(Ta),lD=V8(Ta),cD=$8(Ta),uD=G8(Ta),dD=K8(Ta),mD=H8(Ta),pD=Q8(Ta),Lt=ne("ZodType",(e,n)=>(Bt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:zd(e,"input"),output:zd(e,"output")}}),e.toJSONSchema=jR(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Rs(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)=>Ds(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>nD(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>iD(e,i,r),e.parseAsync=async(i,r)=>aD(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>sD(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>oD(e,i,r),e.decode=(i,r)=>rD(e,i,r),e.encodeAsync=async(i,r)=>lD(e,i,r),e.decodeAsync=async(i,r)=>cD(e,i,r),e.safeEncode=(i,r)=>uD(e,i,r),e.safeDecode=(i,r)=>dD(e,i,r),e.safeEncodeAsync=async(i,r)=>mD(e,i,r),e.safeDecodeAsync=async(i,r)=>pD(e,i,r),e.refine=(i,r)=>e.check(cz(i,r)),e.superRefine=i=>e.check(uz(i)),e.overwrite=i=>e.check(Mr(i)),e.optional=()=>Nx(e),e.exactOptional=()=>FD(e),e.nullable=()=>Cx(e),e.nullish=()=>Nx(Cx(e)),e.nonoptional=i=>ez(e,i),e.array=()=>y(e),e.or=i=>Fe([e,i]),e.and=i=>$D(e,i),e.transform=i=>$f(e,e2(i)),e.default=i=>XD(e,i),e.prefault=i=>WD(e,i),e.catch=i=>nz(e,i),e.pipe=i=>$f(e,i),e.readonly=()=>sz(e),e.describe=i=>{const r=e.clone();return cc.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return cc.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return cc.get(e);const r=e.clone();return cc.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),XS=ne("_ZodString",(e,n)=>{L0.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>NR(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(cR(...r)),e.includes=(...r)=>e.check(mR(...r)),e.startsWith=(...r)=>e.check(pR(...r)),e.endsWith=(...r)=>e.check(hR(...r)),e.min=(...r)=>e.check(Dd(...r)),e.max=(...r)=>e.check($S(...r)),e.length=(...r)=>e.check(GS(...r)),e.nonempty=(...r)=>e.check(Dd(1,...r)),e.lowercase=r=>e.check(uR(r)),e.uppercase=r=>e.check(dR(r)),e.trim=()=>e.check(gR()),e.normalize=(...r)=>e.check(fR(...r)),e.toLowerCase=()=>e.check(yR()),e.toUpperCase=()=>e.check(bR()),e.slugify=()=>e.check(vR())}),hD=ne("ZodString",(e,n)=>{L0.init(e,n),XS.init(e,n),e.email=i=>e.check(D7(fD,i)),e.url=i=>e.check(q7(yD,i)),e.jwt=i=>e.check(X7(DD,i)),e.emoji=i=>e.check(P7(bD,i)),e.guid=i=>e.check(xx(jx,i)),e.uuid=i=>e.check(VS(uc,i)),e.uuidv4=i=>e.check(z7(uc,i)),e.uuidv6=i=>e.check(I7(uc,i)),e.uuidv7=i=>e.check(O7(uc,i)),e.nanoid=i=>e.check(M7(vD,i)),e.guid=i=>e.check(xx(jx,i)),e.cuid=i=>e.check(B7(xD,i)),e.cuid2=i=>e.check(L7(wD,i)),e.ulid=i=>e.check(U7(kD,i)),e.base64=i=>e.check(F7(TD,i)),e.base64url=i=>e.check(Z7(ED,i)),e.xid=i=>e.check(V7(SD,i)),e.ksuid=i=>e.check($7(jD,i)),e.ipv4=i=>e.check(G7(AD,i)),e.ipv6=i=>e.check(K7(ND,i)),e.cidrv4=i=>e.check(H7(CD,i)),e.cidrv6=i=>e.check(Q7(_D,i)),e.e164=i=>e.check(Y7(RD,i)),e.datetime=i=>e.check(ZS(i)),e.date=i=>e.check(YS(i)),e.time=i=>e.check(JR(i)),e.duration=i=>e.check(eD(i))});function o(e){return R7(hD,e)}const Xt=ne("ZodStringFormat",(e,n)=>{Gt.init(e,n),XS.init(e,n)}),fD=ne("ZodEmail",(e,n)=>{qE.init(e,n),Xt.init(e,n)}),jx=ne("ZodGUID",(e,n)=>{IE.init(e,n),Xt.init(e,n)}),uc=ne("ZodUUID",(e,n)=>{OE.init(e,n),Xt.init(e,n)});function gD(e){return VS(uc,e)}const yD=ne("ZodURL",(e,n)=>{PE.init(e,n),Xt.init(e,n)}),bD=ne("ZodEmoji",(e,n)=>{ME.init(e,n),Xt.init(e,n)}),vD=ne("ZodNanoID",(e,n)=>{BE.init(e,n),Xt.init(e,n)}),xD=ne("ZodCUID",(e,n)=>{LE.init(e,n),Xt.init(e,n)}),wD=ne("ZodCUID2",(e,n)=>{UE.init(e,n),Xt.init(e,n)}),kD=ne("ZodULID",(e,n)=>{VE.init(e,n),Xt.init(e,n)}),SD=ne("ZodXID",(e,n)=>{$E.init(e,n),Xt.init(e,n)}),jD=ne("ZodKSUID",(e,n)=>{GE.init(e,n),Xt.init(e,n)}),AD=ne("ZodIPv4",(e,n)=>{ZE.init(e,n),Xt.init(e,n)}),ND=ne("ZodIPv6",(e,n)=>{YE.init(e,n),Xt.init(e,n)}),CD=ne("ZodCIDRv4",(e,n)=>{XE.init(e,n),Xt.init(e,n)}),_D=ne("ZodCIDRv6",(e,n)=>{JE.init(e,n),Xt.init(e,n)}),TD=ne("ZodBase64",(e,n)=>{WE.init(e,n),Xt.init(e,n)}),ED=ne("ZodBase64URL",(e,n)=>{t7.init(e,n),Xt.init(e,n)}),RD=ne("ZodE164",(e,n)=>{n7.init(e,n),Xt.init(e,n)}),DD=ne("ZodJWT",(e,n)=>{i7.init(e,n),Xt.init(e,n)}),U0=ne("ZodNumber",(e,n)=>{PS.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>CR(e,r,u),e.gt=(r,u)=>e.check(kx(r,u)),e.gte=(r,u)=>e.check(ef(r,u)),e.min=(r,u)=>e.check(ef(r,u)),e.lt=(r,u)=>e.check(wx(r,u)),e.lte=(r,u)=>e.check(Wh(r,u)),e.max=(r,u)=>e.check(Wh(r,u)),e.int=r=>e.check(Ax(r)),e.safe=r=>e.check(Ax(r)),e.positive=r=>e.check(kx(0,r)),e.nonnegative=r=>e.check(ef(0,r)),e.negative=r=>e.check(wx(0,r)),e.nonpositive=r=>e.check(Wh(0,r)),e.multipleOf=(r,u)=>e.check(Sx(r,u)),e.step=(r,u)=>e.check(Sx(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 nR(U0,e)}const zD=ne("ZodNumberFormat",(e,n)=>{s7.init(e,n),U0.init(e,n)});function Ax(e){return iR(zD,e)}const ID=ne("ZodBoolean",(e,n)=>{o7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_R(e,i,r)});function E(e){return sR(ID,e)}const OD=ne("ZodNull",(e,n)=>{r7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>TR(e,i,r)});function ue(e){return oR(OD,e)}const qD=ne("ZodUnknown",(e,n)=>{l7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>RR()});function wn(){return rR(qD)}const PD=ne("ZodNever",(e,n)=>{c7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ER(e,i,r)});function MD(e){return lR(PD,e)}const BD=ne("ZodArray",(e,n)=>{u7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>qR(e,i,r,u),e.element=n.element,e.min=(i,r)=>e.check(Dd(i,r)),e.nonempty=i=>e.check(Dd(1,i)),e.max=(i,r)=>e.check($S(i,r)),e.length=(i,r)=>e.check(GS(i,r)),e.unwrap=()=>e.element});function y(e,n){return xR(BD,e,n)}const JS=ne("ZodObject",(e,n)=>{m7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>PR(e,i,r,u),gt(e,"shape",()=>n.shape),e.keyof=()=>A(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:wn()}),e.loose=()=>e.clone({...e._zod.def,catchall:wn()}),e.strict=()=>e.clone({...e._zod.def,catchall:MD()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>R8(e,i),e.safeExtend=i=>D8(e,i),e.merge=i=>z8(e,i),e.pick=i=>T8(e,i),e.omit=i=>E8(e,i),e.partial=(...i)=>I8(t2,e,i[0]),e.required=(...i)=>O8(n2,e,i[0])});function d(e,n){const i={type:"object",shape:e??{},...ze(n)};return new JS(i)}function LD(e,n){return new JS({type:"object",shape:e,catchall:wn(),...ze(n)})}const WS=ne("ZodUnion",(e,n)=>{LS.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>MR(e,i,r,u),e.options=n.options});function Fe(e,n){return new WS({type:"union",options:e,...ze(n)})}const UD=ne("ZodDiscriminatedUnion",(e,n)=>{WS.init(e,n),p7.init(e,n)});function Be(e,n,i){return new UD({type:"union",options:n,discriminator:e,...ze(i)})}const VD=ne("ZodIntersection",(e,n)=>{h7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>BR(e,i,r,u)});function $D(e,n){return new VD({type:"intersection",left:e,right:n})}const GD=ne("ZodRecord",(e,n)=>{f7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>LR(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function He(e,n,i){return new GD({type:"record",keyType:e,valueType:n,...ze(i)})}const Vf=ne("ZodEnum",(e,n)=>{g7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>DR(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 Vf({...n,checks:[],...ze(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 Vf({...n,checks:[],...ze(u),entries:h})}});function A(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Vf({type:"enum",entries:i,...ze(n)})}const KD=ne("ZodLiteral",(e,n)=>{y7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>zR(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 KD({type:"literal",values:Array.isArray(e)?e:[e],...ze(n)})}const HD=ne("ZodTransform",(e,n)=>{b7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>OR(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new wS(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(kc(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(kc(f))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function e2(e){return new HD({type:"transform",transform:e})}const t2=ne("ZodOptional",(e,n)=>{US.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>FS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Nx(e){return new t2({type:"optional",innerType:e})}const QD=ne("ZodExactOptional",(e,n)=>{v7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>FS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function FD(e){return new QD({type:"optional",innerType:e})}const ZD=ne("ZodNullable",(e,n)=>{x7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>UR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Cx(e){return new ZD({type:"nullable",innerType:e})}const YD=ne("ZodDefault",(e,n)=>{w7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>$R(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function XD(e,n){return new YD({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():AS(n)}})}const JD=ne("ZodPrefault",(e,n)=>{k7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>GR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function WD(e,n){return new JD({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():AS(n)}})}const n2=ne("ZodNonOptional",(e,n)=>{S7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>VR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function ez(e,n){return new n2({type:"nonoptional",innerType:e,...ze(n)})}const tz=ne("ZodCatch",(e,n)=>{j7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>KR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function nz(e,n){return new tz({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const az=ne("ZodPipe",(e,n)=>{A7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>HR(e,i,r,u),e.in=n.in,e.out=n.out});function $f(e,n){return new az({type:"pipe",in:e,out:n})}const iz=ne("ZodReadonly",(e,n)=>{N7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>QR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function sz(e){return new iz({type:"readonly",innerType:e})}const oz=ne("ZodLazy",(e,n)=>{C7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>FR(e,i,r,u),e.unwrap=()=>e._zod.def.getter()});function rz(e){return new oz({type:"lazy",getter:e})}const lz=ne("ZodCustom",(e,n)=>{_7.init(e,n),Lt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>IR(e,i)});function cz(e,n={}){return wR(lz,e,n)}function uz(e){return kR(e)}function Gi(e,n){return $f(e2(e),n)}const ye={custom:"custom"};function Mi(e){return aR(U0,e)}const a2=d({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:E(),operator:E().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});d({keys:y(a2)});d({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});a2.extend({key:o()});const V0=A(["used","not-used","unknown","not-applicable"]);V0.enum;const $0=A(["native-auto-v1","search-required-v1"]);$0.enum;const dz=d({maxConcurrency:m().int().positive(),maxRequestsPerMinute:m().int().positive(),maxRequestsPerDay:m().int().positive()}),St=o().min(1),G0=He(o(),o().trim().min(1));o().min(1);const dn=d({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),K0=A(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);K0.enum;const H0=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:K0,cronExpr:o(),recurrence:H0.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:E().default(!0),providers:y(St).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const mz=o().datetime();d({kind:K0.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:H0.optional(),timezone:o().optional().default("UTC"),enabled:E().optional().default(!0),providers:y(St).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:mz.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 Q0=A(["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(Q0),enabled:E().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});d({channel:R("webhook"),url:o().url(),events:y(Q0).min(1),source:o().optional()});class pz 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 _x(e,n){return new pz("VALIDATION_ERROR",e,400,n)}function Ii(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 hz=A(["fraction","percent"]),Ua=hz.enum,fz="x-unit";function i2(e,n){return e.meta({[fz]:n})}function we(e=m()){return i2(e,Ua.fraction)}function ot(e=m()){return i2(e,Ua.percent)}Ua.fraction+"",Ua.percent+"";function tf(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 Tx(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 gz=o().trim().min(1).refine(e=>Tx(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>Tx(e)??e),yz=o().trim().min(1),bz=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"}),F0=d({marketingHosts:y(gz).overwrite(e=>tf(e,!0)),brandTerms:y(yz).overwrite(e=>tf(e,!0)),leadEventNames:y(bz).overwrite(e=>tf(e))});function vz(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const nf=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),s2=()=>vz(),Ex=A(["never-synced","ready","error"]),xz=A(["landing-page","channel"]),wz=A(["30d","60d","90d"]),kz=A(["marketing","all"]),dc=YS(),Dc=d({label:A(["earliest","middle","previous","latest"]),startDate:dc,endDate:dc}),af=Dc.extend({sessions:m().int().nonnegative()}),Rx=Dc.extend({eventCount:m().int().nonnegative()}),Dx=Dc.extend({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),Sz=Dc.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()}),jz=Dc.extend({sessions:m().int().nonnegative(),engagementRate:we(m().min(0).max(1)).nullable(),dailyTotalUsers:m().int().nonnegative().nullable(),dailyNewUsers:m().int().nonnegative().nullable(),metricsAvailable:E(),daysInPeriod:m().int().nonnegative(),daysWithEngagementRate:m().int().nonnegative(),daysWithUserSplit:m().int().nonnegative()}),Az=d({window:wz,bucketDays:R(30),filters:d({hostScope:kz,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:R("property")}),acquisition:d({status:Ex,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(af),channels:y(d({channelGroup:o(),periods:y(af)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(af)}))}),leads:d({status:Ex,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:xz.nullable(),hostAndPathFiltersApplied:E(),periods:y(Rx),channels:y(d({channelGroup:o(),periods:y(Rx)}))}),engagement:d({status:A(["ready","unavailable"]),availableFromDate:dc.nullable(),latestDate:dc.nullable(),periods:y(jz)}),searchDemand:d({status:A(["ready","unavailable"]),periods:y(Sz),queries:y(d({query:o(),classification:A(["branded","non-branded"]),periods:y(Dx)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(Dx)})),latestDate:dc.nullable()})}),zc=A(["sync","batch"]);zc.enum;const Z0=He(o(),zc),o2=A(["submitting","submitted","ended","ingested","cancelled","failed","unknown"]),zx=o2.enum;zx.submitted,zx.ended;const Y0=A(["standard","batch"]),Ix=Y0.enum,Nz=d({inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative()}),Cz=Nz.extend({pricingTier:Y0,estimatedCostMicros:m().int().nonnegative().nullable(),priceSource:Fe([A(["default","override"]),ue()])}),r2=d({inputPerMTok:m().nonnegative(),cachedInputPerMTok:m().nonnegative().optional(),cacheWritePerMTok:m().nonnegative().optional(),outputPerMTok:m().nonnegative(),searchPer1k:m().nonnegative().optional(),searchUnit:A(["query","prompt"]).optional(),batchTokenDiscount:m().min(0).max(1).optional()}).strict();d({models:He(o().min(1),r2).default({})}).strict();d({enabled:E().default(!1),maxRequestsPerBatch:m().int().positive().optional(),deadlineHours:m().positive().optional()}).strict();const _z=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Tz=/[\0-\x1F\x7F-\x9F]/,Ez=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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]/,Rz=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var Dz=class{src_Any=_z.source;src_Cc=Tz.source;src_Z=Rz.source;src_P=Ez.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")}},sf={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)},zz={"http:":sf,"https:":sf,"ftp:":sf,"//":{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)}},Iz="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",Oz="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function qz(){const e=Oz.split("|");return Iz.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 Pz={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:qz(),urlAuth:!1,maxLength:1e4},Ox=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}},Mz=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...Pz,...i},this.__schemas__={...zz},this.re=n||new Dz,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,x=!1,k=!1,S=!1,_=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 C=Math.max(_-1,0);if(u&&h&&!S&&(!b||b.index<_))for(u.lastIndex<C&&(u.lastIndex=C);;){const X=u.exec(e);if(!X){S=!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>=_)break;u.lastIndex<C&&(u.lastIndex=C)}}if(r&&!k&&(!f||f.index<_))for(r.lastIndex<C&&(r.lastIndex=C);;){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>=_)break;r.lastIndex<C&&(r.lastIndex=C)}let I=b;(!I||f&&(f.index<I.index||f.index===I.index&&f.lastIndex>I.lastIndex))&&(I=f);let P;if(!x)for(;;){if(!v){i.lastIndex<C&&(i.lastIndex=C);const H=i.exec(e);if(!H){x=!0;break}v={schema:H[2],index:H.index+H[1].length,lastIndex:H.index+H[0].length}}if(v.index<_){v=void 0;continue}if(I&&v.index>I.index)break;const X=v;v=void 0;const L=this.testSchemaAt(e,X.schema,X.lastIndex);if(L){P={schema:X.schema,index:X.index,lastIndex:X.lastIndex+L};break}}let T=P;if((!T||b&&(b.index<T.index||b.index===T.index&&b.lastIndex>T.lastIndex))&&(T=b),(!T||f&&(f.index<T.index||f.index===T.index&&f.lastIndex>T.lastIndex))&&(T=f),!T)break;T===b?b=void 0:T===f&&(f=void 0);const U=new Ox(e,T.schema,T.index,T.lastIndex);U.schema?this.__schemas__[U.schema].normalize(U,this):this.normalize(U),n.push(U),_=T.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 Ox(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 l2=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 Bz(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function Lz(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function Uz(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(Bz(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:Lz(n,e)}function Vz(e,n){return e.slice(0,-n.length-1)}const of=/[\t\n\r]/g;let Gf=!1;function qx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function Px(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 mc(e,n,i=!1){let r=0,u=e.length,h=!1,f=!1;if(Gf=!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 T=e.indexOf(":/",r);if(T!==-1){const U=Px(e,r,T);if(U===1)for(f=!0,r=T+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(U===2){f=!0,r=T+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<T;X+=1){const L=e.charCodeAt(X)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const H=e.charCodeAt(X);return H===9||H===10||H===13?mc(e.replace(of,""),n,i):null}}if(e.charCodeAt(T+2)===47)r=T+3;else return null}}else if(e.charCodeAt(r)!==91){let U=-1;for(let X=r;X<u;X+=1){const L=e.charCodeAt(X);if(L===9||L===10||L===13)return mc(e.replace(of,""),n,i);if(L===58){U=X;break}if(L===47||L===92||L===63||L===35)break}if(U!==-1){let X=!1;for(let L=U+1;L<u;L+=1){const H=e.charCodeAt(L);if(H===47||H===92||H===63||H===35)break;if(H===64){X=!0;break}}if(!X){let L=!0,H=U+1;for(;H<u;H+=1){const Z=e.charCodeAt(H);if(Z===47||Z===92||Z===63||Z===35)break;if(Z<48||Z>57){L=!1;break}}if(H===U+1&&(L=!1),!L){const Z=Px(e,r,U);if(Z===0){let ae=!1;for(let M=U+1;M<u;M+=1){const Y=e.charCodeAt(M);if(Y===47||Y===92||Y===63||Y===35)break;if(Y===58){ae=!0;break}}if(!ae)return null}else if(f=!0,r=U+1,Z===2){let ae=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&ae<2;)r+=1,ae+=1;if(ae<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,x=-1,k=-1,S=-1,_=!1,C=i,I=r-1,P=-1;if(i&&r<u){const T=e.charCodeAt(r);(!(qx(T)||T===46||T===95)||T===45)&&(C=!1)}for(let T=r;T<u;T+=1){const U=e.charCodeAt(T);if(U<64)if(U===47||U===35||U===63){u=T;break}else U===58?(S===-1&&(S=T),k=T):U===9||U===10||U===13?_=!0:i&&(U===46?((T-I>64||P===46||P===45)&&(C=!1),I=T):(U<48||U>57)&&(U!==45||P===46)&&(C=!1));else if(f&&U===92){u=T;break}else U===64?(v=T,S=-1):U===93?x=T:U>=65&&U<=90?h=!0:i&&!qx(U)&&(C=!1);i&&(P=U)}if(_)return mc(e.replace(of,""),n,i);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return x!==-1?e.slice(r+1,x).toLowerCase():null;if(k!==-1&&k>r&&k<u&&S===k&&(u=k),r>=u)return null;i&&C&&v===-1&&k===-1&&x===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-I-1<=63&&P!==45&&(Gf=!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 $z(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 Gz(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 Kz(e){return Gz(e)||$z(e)}const Hz=["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 Qz(e){for(const n of Hz)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function Mx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Bx(e){if(e.length>255||e.length===0||!Mx(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(!(Mx(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function c2({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 Fz=c2({});function Zz(e){return e===void 0?Fz:c2(e)}function Yz(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function Xz(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function u2(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 d2(e,n,i,r,u){const h=Zz(r);if(typeof e!="string")return u;let f=!1;return h.extractHostname?h.mixedInputs?(f=Bx(e),u.hostname=mc(e,f,h.validateHostname)):u.hostname=mc(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=Kz(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(f&&u.hostname===e)&&!Gf&&!Bx(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=Qz(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=Uz(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=Yz(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=Vz(u.domain,u.publicSuffix)),u)}function Jz(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 go=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]),Id=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]),Od=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]),Lx=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]),Kf="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",Wz=621,e9=625,m2=go.length,p2=Od.length,h2=new Uint32Array(p2),kd=new Uint32Array(p2),Hf=new Int32Array(m2).fill(-1);for(let e=0,n=0;e<m2;e+=1)for(let i=Id[e];i<Id[e+1];i+=1){h2[i]=n;const r=n+Od[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^Kf.charCodeAt(h);kd[i]=u>>>0,Od[i]===1&&Kf.charCodeAt(n)===42&&(Hf[e]=i),n=r}let Oi=-1,Qf=0,Ff=0;function Ux(e,n,i,r){if(Od[e]!==r)return!1;const u=h2[e];for(let h=0;h<r;h+=1)if(Kf.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function Vx(e,n,i,r,u){let h=Id[e],f=Id[e+1];for(;h<f;){const b=h+f>>>1,v=kd[b];if(v<n)h=b+1;else if(v>n)f=b;else{for(let x=b;x>=h&&kd[x]===n;x-=1)if(Ux(x,i,r,u))return x;for(let x=b+1;x<f&&kd[x]===n;x+=1)if(Ux(x,i,r,u))return x;return-1}}return-1}function $x(e,n,i){let r=n,u=e.length,h=5381;Oi=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const x=b+1;let k=Vx(r,h>>>0,e,x,u-x);if(k===-1&&(k=Hf[r]),k===-1)return Oi!==-1;r=Lx[k],(go[r]&i)!==0&&(Oi=r,Qf=x,Ff=u),u=b,h=5381}else h=h*33^v}let f=Vx(r,h>>>0,e,0,u);return f===-1&&(f=Hf[r]),f!==-1&&(r=Lx[f],(go[r]&i)!==0&&(Oi=r,Qf=0,Ff=u)),Oi!==-1}function f2(e,n,i){if(Jz(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if($x(e,e9,r)){i.isIcann=(go[Oi]&1)!==0,i.isPrivate=(go[Oi]&2)!==0,i.publicSuffix=e.slice(Ff+1);return}if($x(e,Wz,r)){i.isIcann=(go[Oi]&1)!==0,i.isPrivate=(go[Oi]&2)!==0,i.publicSuffix=e.slice(Qf);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const qd=Xz();function t9(e,n){return u2(qd),d2(e,0,f2,n,qd).hostname}function n9(e,n){return u2(qd),d2(e,5,f2,n,qd).domainWithoutSuffix}const a9={allowPrivateDomains:!0};new Mz({fuzzyLink:!0,fuzzyEmail:!1}).tlds(l2);function Ic(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=t9(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function Pd(e){return Ic(e)??e.trim().toLowerCase().replace(/^www\./,"")}function X0(e){return e==null||e.trim()===""?"":n9(e,a9)?.toLowerCase()??""}function gee(e){return X0(e)||e}const i9=new Intl.Segmenter("en",{granularity:"word"}),s9=/[^\p{L}\p{N}]+/gu,o9=/[\p{L}\p{N}]+/gu,r9=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,l9=new RegExp("\\P{ASCII}","u");function c9(e){if(!l9.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&&r9.test(u)?u:i}return n}function g2(e){return c9(e.normalize("NFKC")).toLocaleLowerCase("en")}function y2(e){const n=[];for(const i of i9.segment(e))if(i.isWordLike)for(const r of i.segment.match(o9)??[])n.push(r);return n}function u9(e){return y2(g2(e))}function Va(e){return u9(e).join("")}const Gx=new WeakMap;function d9(e){if(!e)return null;const n=g2(e);return{normalized:n,stripped:n.replace(s9,"")}}function m9(e){const n=Gx.get(e);if(n)return n;const i=y2(e.normalized);return Gx.set(e,i),i}function p9(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=Va(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function h9(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?d9(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=m9(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 f9=d({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});d({accounts:y(f9),total:m().int().nonnegative()});const g9=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:He(o(),wn()).nullable(),regularHours:He(o(),wn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:E(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});d({locations:y(g9),totalDiscovered:m().int().nonnegative(),totalSelected:m().int().nonnegative()});d({selectAllNew:E().default(!0),accountName:o().optional(),switchAccount:E().default(!1)});d({selected:E()});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 y9=d({locationName:o(),date:o(),metric:o(),value:m().int()});d({metrics:y(y9),total:m().int().nonnegative()});const b9=d({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:m().int().nullable(),valueThreshold:m().int().nullable()});d({keywords:y(b9),total:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))});const v9=d({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:E(),providerType:o().nullable()});d({placeActions:y(v9),total:m().int().nonnegative()});const x9=d({locationName:o(),populatedGroupCount:m().int().nonnegative(),syncedAt:o(),attributes:He(o(),wn())});d({lodging:y(x9),total:m().int().nonnegative()});const w9=d({name:o(),valueType:o(),values:y(Fe([E(),o()])),unsetValues:y(o()),uris:y(o())}),k9=d({locationName:o(),attributeCount:m().int().nonnegative(),syncedAt:o(),attributes:y(w9)});d({attributes:y(k9),total:m().int().nonnegative()});const S9=d({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:He(o(),wn())});d({places:y(S9),total:m().int().nonnegative()});const b2=A(["gbp","places"]),J0=m().int().min(1).max(4),j9=A(["ok","unavailable","error"]),v2=A(["none","baseline","stale","pending","sent","skipped","suppressed"]);v2.enum;const A9=d({locationName:o(),origin:b2,reviewName:o(),starRating:m().int().min(1).max(5).nullable(),negative:E(),comment:o().nullable(),reviewerName:o().nullable(),createTime:o().nullable(),updateTime:o(),replied:E().nullable(),replyComment:o().nullable(),replyUpdateTime:o().nullable(),reviewUri:o().nullable(),firstSeenAt:o(),lastSeenAt:o(),alertState:v2,alertStateAt:o().nullable()}),N9=d({locationName:o(),displayName:o(),reviewsAccess:j9.nullable(),reviewsAccessReason:o().nullable(),reviewsCheckedAt:o().nullable(),rating:m().nullable(),reviewCount:m().int().nonnegative().nullable(),ratingOrigin:b2.nullable(),ratingObservedAt:o().nullable()});d({negativeMaxStars:m().int().min(1).max(4),locations:y(N9),reviews:y(A9),total:m().int().nonnegative()});d({scope:d({locationName:o().nullable(),locationCount:m().int().nonnegative()}),performance:d({totals:He(o(),m()),recent7d:He(o(),m()),prior7d:He(o(),m()),deltaPct:He(o(),ot().nullable())}),freshness:d({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:m().int().nonnegative()}),timeseries:y(d({date:o(),pending:E(),metrics:He(o(),m())})),keywords:d({total:m().int().nonnegative(),thresholdedCount:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))}),placeActions:d({total:m().int().nonnegative(),hasReservationCta:E(),hasBookingCta:E(),hasDirectMerchantCta:E()}),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 C9={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 _9(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 yee(e){return C9[e]??_9(e)}const T9=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],E9=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function bee(e){return T9.includes(e)?"conversion":E9.includes(e)?"reach":"other"}const mm=A(["complete","partial","failed","unsupported"]);mm.enum;const R9=["branded","non-brand"],Br=A(R9),W0=A(["all","branded","non-brand"]);function D9(e){const n=e.filter(r=>Va(r).length>0);if(n.length===0)return null;const i=p9(n);return i.keys.size===0?null:{matcher:i,classify(r){return h9(i,r)?"branded":"non-brand"}}}const z9=2,I9=o().regex(/^[a-f0-9]{64}$/),pm=o().trim().min(1).max(256),Kx=A(["sensitive","insensitive"]),ge=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),O9=o().trim().min(1).refine(e=>Ic(e)!==null,"A competitor domain must be a valid hostname"),q9=Be("kind",[d({kind:R("exact"),url:o().min(1),pathCase:Kx}).strict(),d({kind:R("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:Kx}).strict(),d({kind:R("host"),host:o().min(1)}).strict()]),P9=d({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),M9=d({projectBrand:P9}).strict(),B9=d({stableKey:ge,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(q9),mentionNotApplicable:E(),discoveryIdentity:o().min(1).nullable()}).strict(),x2=d({stableKey:ge,label:o().trim().min(1),domain:O9,aliases:y(o().min(1))}).strict(),L9=d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.optional(),targetKeys:y(ge),competitors:y(x2)}).strict(),U9=A(["manual","query-set","template","discovery","research"]),V9=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:He(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),w2=d({source:U9,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:V9.optional()}).strict(),$9=d({queryId:pm,queryText:o().min(1),provenance:w2}).strict(),hm=d({providers:y(St).min(1),models:He(St,o().min(1)),location:dn.nullable()}).strict(),G9=d({stableKey:o().min(1),queryId:pm,queryText:o().min(1),context:hm,expectedSnapshots:m().int().nonnegative()}).strict(),eg=Br,K9=d({targetKey:ge,queryId:pm,queryClass:eg,classificationSource:A(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),tg=d({executionNodeKey:o().min(1),targetKey:ge,queryId:pm}).strict(),k2=d({stableKey:ge,label:o().trim().min(1),kind:R("market"),groupKey:ge.optional(),usageEdges:y(tg)}).strict();function Hx(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const fm=d({schemaVersion:R(z9),identities:M9,targets:y(B9),groups:y(L9),querySnapshots:y($9),assignments:y(K9),executionNodes:y(G9),usageEdges:y(tg),reportingScopes:y(k2).optional(),compiledChecksum:I9}).strict().superRefine((e,n)=>{const i=new Set;for(const b of e.executionNodes)i.has(b.stableKey)&&n.addIssue({code:ye.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:ye.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:ye.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(Hx)),h=new Set;e.reportingScopes?.forEach((b,v)=>{if(h.has(b.stableKey)&&n.addIssue({code:ye.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(S=>S.stableKey===b.groupKey);(!k||b.usageEdges.some(S=>!k.targetKeys.includes(S.targetKey)))&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const x=new Set;b.usageEdges.forEach((k,S)=>{const _=Hx(k);u.has(_)||n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",S],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),x.has(_)&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",S],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),x.add(_)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:ye.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:ye.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),f.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const x=b.parentGroupKey;if(x===void 0)return;if(x===b.stableKey){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const k=f.get(x);if(!k){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+x});return}const S=new Set(k.targetKeys);b.targetKeys.forEach((I,P)=>{S.has(I)||n.addIssue({code:ye.custom,path:["groups",v,"targetKeys",P],message:"Group target membership must be a subset of its parent."})});const _=new Set([b.stableKey]);let C=k;for(;C.parentGroupKey!==void 0;){if(_.has(C.stableKey)){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}_.add(C.stableKey);const I=f.get(C.parentGroupKey);if(!I)break;C=I}});for(const b of e.groups)for(const v of b.targetKeys)r.has(v)||n.addIssue({code:ye.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),ng=100;function Tr(e){return d({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:m().int().nonnegative().optional()}).strict()}const Oc=A(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),vn=Be("state",[d({state:R("available"),value:we(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional(),unattributed:m().int().positive().optional(),unchecked:m().int().positive().optional()}).strict().superRefine((e,n)=>{e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:"custom",path:["unchecked"],message:"A metric reads one signal: unattributed (mention) and unchecked (citation) cannot share it"})}),d({state:R("unavailable"),reason:Oc}).strict()]),Sc=Be("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:Oc}).strict()]),ag=A(["all","group","property"]),Ea=W0,H9=A(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),ig=A(["not_measured","queued","running","complete","partial","failed"]),Q9=A(["run_measurement","review_flags","complete_setup","republish_setup","none"]);d({scope:ag,groupKey:ge.optional(),targetKey:ge.optional(),queryClass:Ea.optional(),provider:St.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:H9.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(ng).optional()}).strict();const F9=d({provider:St,mentionCoverage:vn,citationCoverage:vn}).strict(),Z9=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(),Zf=d({groupKey:ge,label:o().trim().min(1)}).strict(),Y9=d({targetKey:ge,label:o().min(1),metro:Zf.nullable().optional(),otherMetros:y(Zf).min(1).optional(),mentionCoverage:vn,citationCoverage:vn,providers:y(F9),flags:m().int().nonnegative()}).strict(),X9=d({kind:A(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:m().int().nonnegative(),share:we(m().min(0).max(1))}).strict(),J9=d({groupKey:ge,queryClass:R("non-brand"),denominator:m().int().positive(),entries:y(X9)}).strict();d({mode:A(["active-v1","active-v2"]),scope:d({kind:ag,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:Ea,measurement:d({state:ig,currentRunId:o().min(1).optional(),displayedRunId:o().min(1).optional(),completed:m().int().nonnegative(),expected:m().int().nonnegative(),completedAt:o().datetime().optional(),includesHistoricalData:E().optional()}).strict(),nextAction:d({kind:Q9,count:m().int().nonnegative().optional()}).strict(),metrics:d({propertiesMentioned:Sc,mentionCoverage:vn,citationCoverage:vn,brandPresence:vn,sov:vn.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:Tr(Y9),outcomes:Z9,flags:d({total:m().int().nonnegative()}).strict(),namedShareOfVoice:J9.optional()}).strict();const S2=A(["sources","answers"]),W9=S2.enum;W9.sources;d({targetKey:ge,queryClass:Ea.optional(),provider:St.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:S2.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(ng).optional()}).strict();const j2=1,qc=m().int().positive(),fn=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),Pc=o().trim().min(1).max(256),Qx=A(["sensitive","insensitive"]);function Md(e){const n=Ic(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function eI(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 Fx(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function A2(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return eI(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function Yf(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 A2(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function tI(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 Zx(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=Md(i.hostname),u=Yf(tI(n));return`https://${r}${u}`}const jc=o().trim().min(1).refine(e=>{try{return Md(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>Md(e)),nI=o().trim().min(1).refine(e=>{try{return Yf(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>Yf(e)),aI=o().trim().min(1).refine(e=>{try{return Zx(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>Zx(e)),iI=Be("kind",[d({kind:R("exact"),url:aI,pathCase:Qx}).strict(),d({kind:R("prefix"),host:jc,pathPrefix:nI,pathCase:Qx}).strict(),d({kind:R("host"),host:jc}).strict()]),N2=o().trim().min(1).max(256).refine(e=>Va(e).length>0,"A target alias must contain mention text"),sI=He(o().trim().min(1),o()),oI=jc,C2=d({stableKey:fn,label:o().trim().min(1),urls:y(iI).min(1),aliases:y(N2),metadata:sI.optional()}).strict(),sg=d({stableKey:fn,label:o().trim().min(1),targetKeys:y(fn).min(1),competitors:y(oI).optional()}).strict(),_2=d({targetKey:fn,queryIds:y(Pc).min(1),context:dn.nullable().optional()}).strict();function rI(e,n){return e<n?-1:e>n?1:0}function lI(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 rf(e,n,i,r,u){for(const h of lI(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function Yx(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:Md(n.hostname),pathname:A2(n.pathname||"/")}}function cI(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&Fx(e)===Fx(i)}function uI(e,n){if(e.kind!==n.kind)return!1;const i=Yx(e),r=Yx(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:cI(i.pathname,e.pathCase,r.pathname,n.pathCase)}function dI(e){const n=new Set;return[...e].sort(rI).filter(i=>{const r=Va(i);return n.has(r)?!1:(n.add(r),!0)})}const T2=d({schemaVersion:R(j2),targets:y(C2).min(1),groups:y(sg).optional(),targetQuerySelections:y(_2).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];rf(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),rf(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,x)=>{for(const k of dI(v.aliases)){const S=Va(k),_=f.get(S);_&&_!==v.stableKey&&n.addIssue({code:"custom",path:["targets",x,"aliases"],message:`Target alias is already assigned to target ${_}: ${k}`}),f.set(S,v.stableKey)}v.urls.forEach((k,S)=>{b.find(C=>C.targetKey!==v.stableKey&&uI(C.matcher,k))&&n.addIssue({code:"custom",path:["targets",x,"urls",S],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:k})})}),i.forEach((v,x)=>{rf(n,v.targetKeys,["groups",x,"targetKeys"],"group target key");for(let k=0;k<v.targetKeys.length;k++){const S=v.targetKeys[k];u.has(S)||n.addIssue({code:"custom",path:["groups",x,"targetKeys",k],message:`Unknown target: ${S}`})}}),r.forEach((v,x)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",x,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});T2.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));d({expectedActiveRevision:qc.nullable(),plan:T2}).strict();const mI=d({queryId:Pc,queryText:o().min(1)}).strict(),og=d({stableKey:o().min(1),queryText:o().min(1),context:dn.nullable(),expectedSnapshots:m().int().nonnegative()}).strict(),pI=d({kind:R("baseline"),executionNodeKey:o().min(1),queryId:Pc}).strict(),hI=d({kind:R("target"),executionNodeKey:o().min(1),queryId:Pc,targetKey:fn}).strict(),Xf=Be("kind",[pI,hI]),E2=d({code:R("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(fn).min(1),aliases:y(o().min(1)).min(1)}).strict(),R2=C2.extend({mentionNotApplicable:E()}),D2=d({schemaVersion:R(j2),defaultContext:dn.nullable(),effectiveOwnedHosts:y(jc),projectCanonicalHost:jc,projectBrandNames:y(N2),targets:y(R2),groups:y(sg),targetQuerySelections:y(_2),querySnapshots:y(mI),executionNodes:y(og),usageEdges:y(Xf),warnings:y(E2)}).strict(),fI=D2,z2=Be("schemaVersion",[D2,fm]),rg=o().regex(/^[a-f0-9]{64}$/),lg=o().datetime(),I2=d({schemaVersion:R(1),language:o().min(1).optional(),providers:y(o().min(1)).min(1),models:He(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),gI=d({groups:y(fn).optional(),targets:y(fn).optional()}).strict(),yI=d({groups:y(fn),targets:y(fn),queries:y(o().min(1)),resolvedTargets:y(fn)}).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:fn,retiredAt:o().datetime()});d({active:d({revision:qc,checksum:rg,createdAt:lg,plan:z2}).nullable()});d({versions:y(d({revision:qc,checksum:rg,createdAt:lg,active:E()}))});d({version:d({revision:qc,checksum:rg,createdAt:lg,active:E(),plan:z2})});const Sd=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(),bI=A(["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"]),O2=d({id:bI,severity:A(["fail","warn"]),message:o().min(1),path:y(Fe([o(),m().int()]))}).strict(),vI=d({baseline:m().int().nonnegative(),target:m().int().nonnegative()}).strict(),q2=d({ok:R(!0),checks:y(O2),executionNodes:y(og),dedupSaved:m().int().nonnegative(),usageEdges:vI,estCostUsd:ue(),plan:fI,warnings:y(E2),counts:Sd}).strict(),P2=d({ok:R(!1),checks:y(O2).min(1),executionNodes:y(og).length(0),dedupSaved:R(0),usageEdges:d({baseline:R(0),target:R(0)}).strict(),estCostUsd:ue()}).strict();Be("ok",[q2,P2]);const od=d({targetKey:fn,context:dn.nullable(),queryIds:y(Pc)}).strict();function Xx(e){return d({added:y(e),removed:y(e),changed:y(d({stableKey:fn,before:e,after:e}).strict()),unchanged:y(fn)}).strict()}const xI=q2.extend({diff:d({activeRevision:qc.nullable(),targets:Xx(R2),groups:Xx(sg),querySelections:d({added:y(od),removed:y(od),changed:y(d({targetKey:fn,before:od,after:od}).strict()),unchanged:y(d({targetKey:fn,context:dn.nullable()}).strict())}).strict(),execution:d({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y(Xf),removedUsageEdges:y(Xf),counts:d({before:Sd.nullable(),after:Sd,delta:Sd.nullable()}).strict()}).strict()}).strict()}).strict(),wI=P2.extend({diff:ue()}).strict();Be("ok",[xI,wI]);const M2=A(["PROVIDER_AUTH","PROVIDER_BILLING","RATE_LIMITED","PROVIDER_UNAVAILABLE","NETWORK","TIMEOUT","PARSE_ERROR","UNKNOWN"]);M2.enum;const ma=A(["queued","running","completed","partial","failed","cancelled"]),Zt=ma.enum,cg=A(["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"]),De=cg.enum;d({kind:cg.optional(),status:ma.optional()});const ug=A(["manual","scheduled","config-apply","backfill","probe"]),ai=ug.enum,Bi=A(["cited","not-cited"]),pc=Bi.enum,Bd=A(["visible","not-visible"]);Bd.enum;const Ac=A(["mentioned","not-mentioned"]);Ac.enum;const B2=A(["new","cited","lost","emerging","not-cited"]);B2.enum;const kI=A(["new","mentioned","lost","emerging","not-mentioned"]);kI.enum;const SI=A([ai.manual,ai.probe]);d({kind:R(De["answer-visibility"]).optional(),trigger:SI.optional(),providers:y(St).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:gI.optional(),location:o().min(1).optional(),allLocations:E().optional(),noLocation:E().optional(),dispatchMode:zc.optional(),force:E().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const jI=d({message:o(),raw:wn().optional(),code:M2.optional()}),AI=d({message:o().optional(),providers:He(o(),jI).optional()}),NI=He(o(),R(zc.enum.batch)),CI=d({id:o(),provider:o(),model:o(),status:o2,requestCount:m().int().nonnegative(),ingestedCount:m().int().nonnegative(),recordedCount:m().int().nonnegative(),submittedAt:o().nullable(),endedAt:o().nullable(),deadlineAt:o(),error:o().nullable()}),_I=d({provider:o(),pricingTier:Y0,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()}),TI=d({id:o(),projectId:o(),kind:cg,status:ma,trigger:ug.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:He(o(),wn()).nullable().optional(),measurementScope:yI.nullable().optional(),measurementExecutionIdentity:I2.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:AI.nullable().optional(),queryBasketRevision:m().int().nullable().optional(),dispatchModes:NI.optional(),createdAt:o()});function dg(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 gm=d({uri:o(),title:o()}),EI=d({status:A(["applied","ignored","browser-implicit","unknown"]),resolved:dn.nullable().optional()}),L2=d({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:St,citationState:Bi,answerMentioned:E().optional(),visibilityState:Bd.optional(),mentionState:Ac.optional(),transition:B2.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:Fe([mm,ue()]).default(null),sourceCount:m().int().nonnegative().nullable().default(null),resolvedCount:m().int().nonnegative().nullable().default(null),captureVersion:m().int().positive().nullable().default(null),retrievalStatus:Fe([V0,ue()]).default(null),retrievalContract:Fe([$0,ue()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),mentionedCompetitorTerms:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(gm).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:dn.nullable().optional(),supportedContext:EI.nullable().optional(),dispatchMode:Fe([zc,ue()]).optional(),stopReason:o().nullable().optional(),usage:Cz.nullable().optional(),createdAt:o()});d({snapshots:y(L2),total:m().int().nonnegative()});const RI=d({queryId:o().nullable(),query:o().nullable(),run1State:Bi.nullable(),run2State:Bi.nullable(),run1AnswerMentioned:E().nullable(),run2AnswerMentioned:E().nullable(),run1VisibilityState:Bd.nullable(),run2VisibilityState:Bd.nullable(),run1MentionState:Ac.nullable().optional(),run2MentionState:Ac.nullable().optional(),changed:E(),visibilityChanged:E()});d({run1:o(),run2:o(),diff:y(RI)});const DI=d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),mentionedQueries:m().int().nonnegative()}),zI=TI.extend({snapshots:y(L2).optional(),queryCounts:DI.nullable().optional(),providerBatches:y(CI).optional(),usage:y(_I).optional()}),II=d({totalRuns:m().int().nonnegative(),run:zI.nullable()});d({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:wn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const U2=Fe([ma,ue()]),mg=A(["pass","partial","fail"]);mg.enum;const V2=A(["up","down","flat"]);V2.enum;const OI=d({id:o(),name:o(),weight:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null),avgScore:m(),status:mg,pagesPassing:m().int().nonnegative(),pagesPartial:m().int().nonnegative(),pagesFailing:m().int().nonnegative()}),qI=d({factorId:o(),factorName:o(),avgScore:m(),affectedPages:m().int().nonnegative(),totalPages:m().int().nonnegative(),affectedPct:ot(m().nonnegative()),topRecommendations:y(o()).default([])});d({project:o(),hasData:E(),runId:o().nullable(),runStatus:U2,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:Fe([V2,ue()]),previousScore:m().nullable(),previousAuditedAt:o().nullable(),factors:y(OI).default([]),crossCuttingIssues:y(qI).default([]),prioritizedFixes:y(o()).default([])});const $2=d({id:o(),name:o(),weight:m(),score:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null)}),PI=d({url:o(),overallScore:m(),status:A(["success","error"]),error:o().nullable().optional(),factors:y($2).default([])});d({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:m().int().nonnegative(),pages:y(PI).default([])});const MI=d({runId:o(),auditedAt:o(),aggregateScore:m(),pagesAudited:m().int().nonnegative()});d({project:o(),points:y(MI).default([])});const BI=A(["disabled","complete","partial","unavailable"]);BI.enum;const LI=d({pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),edges:m().int().nonnegative(),findings:m().int().nonnegative()}),UI=Be("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:E(),legacyAuditAvailable:E(),runId:o().nullable(),runStatus:U2,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:He(o(),wn()).default({}),complete:E(),termination:o().nullable(),detailsAvailable:E(),counts:LI,deadLinks:UI});A(["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=A(["eligible","hidden","resource","redirect","failed","unchecked"]),vee=ym.enum,xee=ym.options,vr={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},rd={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},VI={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function $I(e){return e.indexabilityReasons?.some(n=>n===VI.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function wee(e){switch(e.fetchState){case vr.fetchError:return"failed";case vr.discovered:return"unchecked";case vr.nonHtml:return"resource";case vr.redirect:return"redirect";case vr.robotsBlocked:return"hidden";case vr.html:break;default:return"unchecked"}if($I(e))return"hidden";switch(e.indexabilityState){case rd.indexable:return"eligible";case rd.noindex:case rd.blocked:return"hidden";case rd.unknown:default:return"unchecked"}}const kee=15,GI=A(["navigation","content","unknown"]);GI.enum;const KI=d({navigation:m().int().nonnegative(),content:m().int().nonnegative(),unknown:m().int().nonnegative()}),G2=A(["placement","ubiquity","unmeasured"]);G2.enum;const bm=A(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);bm.enum;function See(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=A(["all","content","template"]);vm.enum;const HI=A(["anchor","redirect","canonical","link"]);HI.enum;const Nc=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:E(),depth:m().int().nullable(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),inboundOccurrences:m().int().nonnegative(),outboundOccurrences:m().int().nonnegative(),linkScoreRaw:m().nullable(),linkScoreNormalized:ot().nullable(),healthState:ym}),QI=d({type:A(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),Jx=$2.extend({status:mg,applicable:E().nullable(),findings:y(QI).default([]),recommendations:y(o()).default([])}),Wx=d({id:o().min(1),severity:A(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),ld=d({project:o(),runId:o(),complete:E(),termination:o().nullable()}),ew=d({nodeKey:o(),url:o(),auditState:o()});Be("state",[d({state:R("no-crawl"),project:o(),runId:ue()}),ld.extend({state:R("details-unavailable")}),ld.extend({state:R("not-found")}),ld.merge(ew).extend({state:R("not-audited"),auditScore:ue(),factors:y(Jx).length(0).default([]),criticalDefects:y(Wx).length(0).default([])}),ld.merge(ew).extend({state:R("ready"),auditScore:m(),evidenceState:A(["complete","scores-only"]),factors:y(Jx).default([]),criticalDefects:y(Wx).default([])})]);const FI=A(["applied","unavailable-legacy-scan"]),Mc={complete:E(),termination:o().nullable()};d({project:o(),hasCrawlData:E(),runId:o().nullable(),...Mc,total:m().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:Fe([FI,ue()]).default(null),pages:y(Nc).default([])});const ZI=d({path:o(),url:o().nullable(),hasPage:E(),pageCount:m().int().positive(),inventoryEligibleCount:m().int().nonnegative(),fetchedCount:m().int().nonnegative()});d({project:o(),hasCrawlData:E(),runId:o().nullable(),...Mc,parentPath:o(),nextCursor:o().nullable(),children:y(ZI).default([])});const vo=d({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:E(),followable:E(),occurrences:m().int().positive(),followableOccurrences:m().int().nonnegative(),nofollowOccurrences:m().int().nonnegative(),anchors:y(o()).default([]),isTemplate:Fe([E(),ue()]),templateRatio:Fe([we(),ue()]),templateSource:G2,placementOccurrences:Fe([KI,ue()])}),YI=d({nodeKey:o(),url:o(),path:o(),depth:m().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:m().nullable(),inventoryEligible:E(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),linkScoreNormalized:ot().nullable(),healthState:ym,x:m(),y:m()}),XI=d({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:E(),occurrences:m().int().positive(),isTemplate:E()}),JI=A(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),WI=Be("state",[d({state:R("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:E()}),d({state:R("unavailable"),version:ue(),reason:JI})]);d({project:o(),hasCrawlData:E(),runId:o().nullable(),rootNodeKey:o().nullable(),...Mc,layout:WI,templateDetection:bm,linkKind:vm,totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),totalTemplateEdges:m().int().nonnegative(),totalContentEdges:m().int().nonnegative(),nodes:y(YI).default([]),edges:y(XI).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),sampled:E()});const jee=2e4,Aee=5e4,eO=A(["focus","inbound","outbound","both","transitive"]),tO=Nc.extend({distance:m().int().nonnegative(),relationToFocus:eO});d({project:o(),hasCrawlData:E(),runId:o().nullable(),complete:E(),termination:o().nullable(),state:A(["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(tO).default([]),edges:y(vo).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),countAccuracy:A(["exact","lower-bound"]),truncated:E()});const tw=d({nodeKey:o(),url:o(),path:o()});d({project:o(),runId:o().nullable(),complete:E(),termination:o().nullable(),state:A(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:tw.nullable(),to:tw.nullable(),maxDepth:m().int().positive(),visitedNodes:m().int().nonnegative(),nodes:y(Nc).default([]),edges:y(vo).default([])});const K2=A(["added","removed","changed"]),nO=d({entity:R("page"),change:K2,key:o(),changedFields:y(o()).default([]),before:Nc.nullable(),after:Nc.nullable()}),aO=d({entity:R("link"),change:K2,key:o(),changedFields:y(o()).default([]),before:vo.nullable(),after:vo.nullable()}),iO=Be("entity",[nO,aO]),nw=d({added:m().int().nonnegative(),removed:m().int().nonnegative(),changed:m().int().nonnegative()}),sO=d({scope:A(["all","pages","links"]),change:A(["all","added","removed","changed"])});Be("state",[d({project:o(),state:R("unavailable"),reason:A(["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:sO,summaryState:A(["exact","omitted-on-continuation"]),summary:d({pages:nw,links:nw}).nullable(),total:m().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(iO).default([])})]);d({project:o(),hasCrawlData:E(),runId:o().nullable(),...Mc,total:m().int().nonnegative(),nextCursor:o().nullable(),templateDetection:bm,linkKind:vm,edges:y(vo).default([])});d({project:o(),hasCrawlData:E(),runId:o().nullable(),...Mc,nodeKey:o().nullable(),url:o().nullable(),templateDetection:bm,linkKind:vm,inbound:y(vo).default([]),outbound:y(vo).default([]),inboundTruncated:E(),outboundTruncated:E()});const aw=d({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:He(o(),wn()).default({})});Be("state",[d({project:o(),runId:o().nullable(),state:R("unavailable"),legacyAuditAvailable:E()}),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(aw).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(aw).default([])})]);const H2=5e4,xm=m().int().min(1).max(H2);function iw(e){return`${e.toLocaleString("en-US")} ${e===1?"page":"pages"}`}function Nee(e){return e===null?`full site (up to ${iw(H2)})`:iw(e)}const Cee=10,Q2=100;d({sitemapUrl:o().url().optional(),limit:m().int().positive().max(2e3).optional(),maxPages:xm.optional(),maxEdges:m().int().positive().max(1e6).optional(),maxDepth:m().int().min(0).max(100).optional(),checkDeadLinks:E().default(!1)});d({runId:o(),status:ma});const oO=d({runId:o(),status:ma,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:E()});d({project:o(),scans:y(oO).default([])});const rO=A(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),lO=d({state:A(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),cO=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:rO,attempt:cO.nullable(),layout:lO,error:o().nullable()});const uO=A(["waiting","collecting","terminal"]),dO=d({nodeKey:o(),url:o(),auditScore:m(),checksNeedingAttention:m().int().nonnegative()});d({project:o(),runId:o(),status:ma,state:uO,attemptId:o().nullable(),pagesAudited:m().int().nonnegative(),updatedAt:o().nullable(),examples:y(dO).max(12).default([])});new Set(l2.map(e=>e.toLowerCase()));const mO=4,pO=3,hO=10,fO=80,F2=y(o()).describe(`Operator-curated names this competitor goes by in answer text (at most ${hO}, each ${fO} characters or fewer, at least ${pO} letters or digits).`);d({aliases:F2});const gO=d({domain:o().trim().min(1),aliases:F2.optional()}),Z2=Fe([o().trim().min(1),gO]),Y2=A(["cli","api","config-file"]);function yO(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 bO(e,n){return n?e.some(i=>i.label===n):!0}const X2=20,J2=200,vO=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:He(o(),o()).optional(),providers:y(St).optional(),providerModels:G0.optional(),providerDispatchModes:Z0.optional(),locations:y(dn).optional(),defaultLocation:o().nullable().optional(),measurement:F0.optional(),autoExtractBacklinks:E().optional(),qualifiedAliases:y(o().trim().min(1).max(J2)).max(X2).optional(),negativeReviewMaxStars:J0.nullable().optional(),siteAuditMaxPages:xm.nullable().optional(),configSource:Y2.optional()});vO.extend({name:o().trim().min(1).max(120)});const xO=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:He(o(),o()).default({}),providers:y(o()).default([]),providerModels:G0.default({}),providerDispatchModes:Z0.default({}),locations:y(dn).default([]),defaultLocation:o().nullable().optional(),measurement:F0.default(s2),autoExtractBacklinks:E().default(!1),negativeReviewMaxStars:J0.nullable().optional(),siteAuditMaxPages:xm.nullable().optional(),configSource:Y2.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:St,count:m().int().min(1).max(20).optional()});d({id:o(),domain:o(),aliases:y(o()),createdAt:o()});d({competitors:y(o().trim().min(1)).min(1)});d({competitors:y(Z2).min(1)});function W2(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=Pd(h);i.has(f)||(i.add(f),r.push(h))}return r}function wO(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 kO(e){const n=[],i=new Set,r=h=>{const f=Va(h);!f||i.has(f)||(i.add(f),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of wO(e.displayName,e.aliases))r(h);for(const h of W2({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const f=X0(h);if(Va(f).length>=mO)r(f);else{const b=Pd(h);b.includes(".")&&r(b)}}return n}const SO=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:He(o(),o()).optional().default({})}),jO=d({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:H0.optional(),timezone:o().optional().default("UTC"),providers:y(St).optional().default([]),enabled:E().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(),AO=d({channel:R("webhook"),url:o().url(),events:y(Q0).min(1)}),NO=d({gsc:d({propertyUrl:o()}).optional(),syncSchedule:d({preset:o().optional(),cron:o().optional()}).optional()}).optional(),sw=y(o().min(1)),CO=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(J2)).max(X2).optional(),country:o().length(2),language:o().min(2),queries:sw.optional(),keywords:sw.optional(),competitors:y(Z2).optional().default([]),providers:y(St).optional().default([]),providerModels:G0.optional().default({}),providerDispatchModes:Z0.optional(),locations:y(dn).optional().default([]),defaultLocation:o().optional(),measurement:F0.optional().default(s2),schedule:jO,notifications:y(AO).optional().default([]),google:NO,autoExtractBacklinks:E().optional().default(!1),negativeReviewMaxStars:J0.optional(),siteAuditMaxPages:xm.nullable().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=yO(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),bO(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:SO,spec:CO});const _O=1,TO=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),ej=d({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o()),qualifiedAliases:y(o()).optional()}).strict(),tj=d({provider:St.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),nj=d({domain:o(),label:o(),aliases:y(o())}).strict(),aj=d({queryId:TO,queryText:o(),provenance:o().nullable()}).strict(),EO=aj.extend({queryClass:Br.nullable()}).strict();function ij(e,n){const i=new Set;e.engines.forEach((h,f)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:ye.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:ye.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:ye.custom,path:["competitors",f,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}d({capturedAt:o().datetime(),identity:ej,country:o(),language:o(),location:dn.nullable(),engines:y(tj).min(1),competitors:y(nj).optional(),queries:y(aj)}).strict().superRefine(ij);d({schemaVersion:R(_O),capturedAt:o().datetime(),identity:ej,country:o(),language:o(),location:dn.nullable(),engines:y(tj).min(1),competitors:y(nj).optional(),queries:y(EO)}).strict().superRefine(ij);const RO=A(["auto","simple","advanced"]),DO=A(["simple","advanced"]),sj=A(["branded","non-brand","unknown","all"]),zO=A(["branded","non-brand","unknown"]),pg=A(["project","group","market","property"]),oj=Be("kind",[d({kind:R("all")}).strict(),d({kind:R("none")}).strict(),d({kind:R("exact"),value:o().trim().min(1)}).strict()]);function IO(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 kt=o().trim().min(1),Li=o().datetime(),OO={mode:RO.default("auto"),queryClass:sj.default("non-brand"),scope:pg.default("project"),scopeKey:kt.optional(),marketKey:kt.optional(),provider:kt.optional(),model:kt.optional(),location:o().trim().min(1).optional(),from:Li.optional(),to:Li.optional(),revision:m().int().positive().optional(),runId:kt.optional(),queryKey:kt.optional(),queryId:kt.optional(),search:o().trim().min(1).optional(),cursor:kt.optional(),limit:m().int().min(1).max(100).default(50)},Ld=d(OO).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:ye.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:ye.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:ye.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});Ld.transform(e=>({...e,location:IO(e.location)}));const _a=d({numerator:m().int().nonnegative().nullable(),denominator:m().int().nonnegative().nullable(),rate:we(m().min(0).max(1)).nullable(),reason:A(["no-population","incomplete","evidence-incomplete","identity-ambiguous","not-applicable"]).optional(),unattributed:m().int().positive().optional(),unchecked: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:ye.custom,message:"Unavailable rates require null values and a reason"}),e.unattributed!==void 0&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Only an available rate can leave answers out"}),e.unchecked!==void 0&&n.addIssue({code:ye.custom,path:["unchecked"],message:"Only an available rate can leave answers out"});return}e.reason!==void 0&&n.addIssue({code:ye.custom,message:"Available rates cannot carry a reason"}),e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:ye.custom,path:["unchecked"],message:"A rate reads one signal: unattributed (mention) and unchecked (citation) cannot share it"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:ye.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:ye.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),rj=Be("kind",[d({kind:R("frozen-simple"),definitionRevision:ue()}).strict(),d({kind:R("legacy-simple"),definitionRevision:ue()}).strict(),d({kind:R("frozen-advanced"),definitionRevision:m().int().positive()}).strict(),d({kind:R("unsupported-advanced-v1"),definitionRevision:m().int().positive()}).strict()]),Ud=d({id:kt,label:o().trim().min(1),kind:pg,targetCount:m().int().nonnegative(),parentGroupIds:y(kt).optional(),marketKeys:y(kt).optional()}).strict(),qO=d({provider:kt,model:kt}).strict(),PO=d({providers:y(kt),models:y(qO),locations:y(oj)}).strict(),MO=d({queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:_a,citationCoverage:_a,propertyReach:_a,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:ye.custom,message:"Outcome partition must sum to total"})})}).strict(),BO=d({runId:kt,createdAt:Li,revision:m().int().positive().nullable(),provenance:rj,queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:_a,citationCoverage:_a,continuity:d({state:A(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),LO=d({sourceSnapshotIds:y(kt).default([]),queryKey:kt,queryId:o().nullable(),query:o(),provider:kt,model:o().nullable(),location:o().nullable(),targetKeys:y(kt),marketKeys:y(kt).optional(),answerCount:m().int().nonnegative(),mentionCoverage:_a,citationCoverage:_a}).strict(),UO=d({answerId:kt,runId:kt,queryKey:kt,query:o(),provider:kt,model:o().nullable(),location:o().nullable(),targetKeys:y(kt),mentioned:E().nullable(),mentionUnavailableReason:R("identity-ambiguous").optional(),cited:E().nullable(),answerText:o().nullable(),createdAt:Li,sources:y(o()),observedCompetitors:y(kt)}).strict(),VO=d({domain:kt,answerCount:m().int().nonnegative(),mentionCoverage:_a,citationCoverage:_a}).strict(),$O=d({name:kt,answerCount:m().int().nonnegative()}).strict(),GO=Be("state",[d({state:R("available")}).strict(),d({state:R("unavailable"),reason:R("frozen-competitor-identity-missing")}).strict()]),ow=d({id:kt,label:o().trim().min(1),queryCount:m().int().nonnegative(),mentionCoverage:_a,citationCoverage:_a}).strict();function rw(e){return d({items:y(e),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict()}const lj=A(["current-unavailable","previous-unavailable","not-applicable"]),_ee=lj.enum,lf=Be("state",[d({state:R("available"),previous:_a,delta:we(m().min(-1).max(1))}).strict(),d({state:R("unavailable"),reason:lj}).strict()]),lw=d({id:kt,createdAt:Li,completedAt:Li.nullable()}).strict(),cj=A(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),Tee=cj.enum,KO=Be("state",[d({state:R("available"),previousRun:lw,mentionCoverage:lf,citationCoverage:lf,propertyReach:lf}).strict(),d({state:R("unavailable"),reason:cj,previousRun:lw.nullable()}).strict()]),HO=d({queryClass:zO,summary:MO,trend:y(BO),comparison:KO.optional(),queries:rw(LO),evidence:rw(UO),competitorAvailability:GO,competitors:y(VO),observedCompetitors:y($O),breakdown:d({properties:y(ow),groups:y(ow)}).strict()}).strict(),QO=A(["measured","not-measured","partial"]),FO=d({state:QO,activeRevision:m().int().positive().nullable(),measuredRevision:m().int().positive().nullable(),awaitingSweep:E(),pendingAssignmentCount:m().int().nonnegative(),completedAt:Li.nullable()}).strict(),ZO=d({mode:DO,queryClass:sj,scope:Ud,market:Ud.optional(),provider:o().nullable(),model:o().nullable(),location:oj,time:d({from:Li.nullable(),to:Li.nullable()}).strict(),revision:m().int().positive().nullable(),run:d({id:o().nullable(),explicit:E()}).strict(),provenance:rj,measurement:FO,availability:Be("state",[d({state:R("available")}).strict(),d({state:R("unsupported"),reason:R("advanced-v1")}).strict()])}).strict();d({selection:ZO,scopeOptions:y(Ud),filterOptions:PO,populations:y(HO).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:ye.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 x=["populations",u,"comparison",b],k=h.summary[b].rate,S=v.previous.rate;k===null&&n.addIssue({code:ye.custom,path:x,message:"Available changes require a current rate"}),S===null&&n.addIssue({code:ye.custom,path:[...x,"previous","rate"],message:"Available changes require a previous rate"}),k!==null&&S!==null&&Math.abs(v.delta-(k-S))>Number.EPSILON&&n.addIssue({code:ye.custom,path:[...x,"delta"],message:"Delta must equal current minus previous"}),e.selection.run.id===null&&n.addIssue({code:ye.custom,path:x,message:"Available changes require a selected run"})}}});const uj=A(["retired-scope","retired-market"]),YO=uj.enum,XO=d({reason:uj,kind:pg.exclude(["project"]),key:kt}).strict().superRefine((e,n)=>{e.reason===YO["retired-market"]&&e.kind!=="market"&&n.addIssue({code:ye.custom,path:["kind"],message:"retired-market details must name a market"})});function Eee(e){const n=XO.safeParse(e);return n.success?n.data:void 0}function JO(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const hg=o().regex(/^[a-f0-9]{64}$/),ca=o().trim().min(1).max(256),$a=o().trim().min(1).max(4e3),fg=o().datetime(),wm=o().regex(/^qtw_[a-f0-9]{64}$/),dj=o().regex(/^qtp_[a-f0-9]{64}$/),gg=A(["simple","advanced"]),mj=d({templateId:ca,templateVersion:o().trim().min(1).max(256),template:$a,bindings:He(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:$a}).strict(),WO=d({source:A(["manual","query-set","template","research","discovery"]),sourceId:ca.nullable(),capturedAt:o().datetime(),template:mj.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Only a template query may carry template provenance."})}),eq=Be("source",[d({source:R("manual"),text:$a}).strict(),d({source:R("template"),templateId:ca,templateVersion:o().trim().min(1).max(256),template:$a}).strict(),d({source:R("research"),researchRunQueryId:ca}).strict(),d({source:R("discovery"),discoveryProbeId:ca}).strict()]),yg=d({targetKeys:y(ge).optional(),groupKeys:y(ge).optional(),marketKeys:y(ge).optional()}).strict(),tq=d({providers:y(St).min(1),models:He(St,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),nq=d({input:eq,audience:yg.optional(),contexts:y(tq).min(1).optional(),queryClass:Br.optional()}).strict(),aq=d({queryId:ca.optional(),queryText:$a.optional(),audience:yg.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:ye.custom,message:"Provide exactly one of queryId or queryText."})}),iq=d({queryId:ca,audience:yg.optional(),text:$a.optional(),queryClass:Fe([Br,ue()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:ye.custom,message:"Provide query text or a classification change."})}),sq=d({additions:y(nq),removals:y(aq),edits:y(iq).optional()}).strict(),oq=sq.extend({expectedWorkspaceVersion:wm}).strict();oq.extend({previewToken:dj,reviewedAt:fg}).strict();const rq=d({stableKey:ge,label:o().trim().min(1)}).strict(),lq=d({stableKey:ge,parentGroupKey:ge.optional(),label:o().trim().min(1),targetKeys:y(ge)}).strict(),cq=d({stableKey:ge,groupKey:ge.optional(),label:o().trim().min(1),usageEdges:y(tg)}).strict(),uq=d({targetKey:ge,groupKeys:y(ge),marketKeys:y(ge),queryClass:Br.nullable(),classificationSource:A(["frozen","server","operator"]),contexts:y(hm).min(1)}).strict(),pj=d({queryId:ca,queryText:$a,normalizedText:$a,provenance:WO.nullable(),state:A(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(uq)}).strict(),dq=d({researchRunId:ca,researchRunQueryId:ca,queryText:$a,createdAt:o().datetime()}).strict(),mq=d({discoverySessionId:ca,discoveryProbeId:ca,queryText:$a,createdAt:o().datetime()}).strict();d({mode:gg,workspaceVersion:wm,active:d({revision:m().int().positive(),compiledChecksum:hg}).strict().nullable(),defaultContexts:y(hm),targets:y(rq),groups:y(lq),markets:y(cq),scopeOptions:y(Ud).optional(),tracked:y(pj),savedSources:d({research:y(dq),discovery:y(mq)}).strict()}).strict();const cd=d({queryId:ca,queryText:$a,assignmentCount:m().int().nonnegative()}).strict(),hj=d({added:y(cd),removed:y(cd),reused:y(cd),unchanged:y(cd),noOp:E()}).strict(),fj=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:gg,workspaceVersion:wm,previewToken:dj,reviewedAt:fg,active:d({revision:m().int().positive(),compiledChecksum:hg}).strict().nullable(),tracked:y(pj),diff:hj,workload:fj}).strict();d({committed:E(),mode:gg,workspaceVersion:wm,reviewedAt:fg,active:d({revision:m().int().positive(),compiledChecksum:hg}).strict().nullable(),diff:hj,workload:fj}).strict();A(["proposed","alias","shared","unmatched","excluded"]);A(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const pq=A(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),hq=d({kind:A(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),cw=d({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),bg=d({primary:cw,aliases:y(cw).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(hq).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:bg,maxUrls:m().int().positive().max(1e4).optional()}).strict();const cf=d({url:o(),canonicalUrl:o().nullable(),classification:A(["shared","unmatched","excluded"]),reason:A(["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"})}),fq=d({classification:R("proposed"),reason:R("primary-match"),stableKey:fn,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),gq=d({classification:R("alias"),reason:R("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:fn}).strict(),yq=d({kind:pq,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();d({proposed:y(fq),aliases:y(gq),shared:y(cf),unmatched:y(cf),excluded:y(cf),diagnostics:y(yq)}).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 vg=A(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),gj=A(["baseline","target"]),yj=A(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),xo=Fe([d({numerator:m().int().nonnegative(),denominator:m().int().positive(),rate:we(m().min(0).max(1)),unattributed:m().int().positive().optional(),unchecked:m().int().positive().optional()}).strict(),d({numerator:ue(),denominator:ue(),rate:ue(),reason:yj}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"}),e.numerator!==null&&e.unattributed!==void 0&&e.unchecked!==void 0&&n.addIssue({code:"custom",path:["unchecked"],message:"A rate reads one signal: unattributed (mention) and unchecked (citation) cannot share it"})}),bq=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),vq=d({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:bq,context:dn.nullable(),requestedModel:o().trim().min(1).optional()}).strict();d({schemaVersion:R(1),expectedSlots:y(vq)}).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 km=d({executed:m().int().nonnegative(),expected:m().int().nonnegative(),complete:E(),sourceComplete:E(),sourceCompleteObservations:m().int().nonnegative(),answerComplete:E()}).strict(),uw=Fe([d({domain:o().trim().min(1),own:E(),presentIn:m().int().nonnegative(),of:m().int().positive()}).strict(),d({domain:o().trim().min(1),own:E(),presentIn:ue(),of:ue(),reason:yj}).strict()]),xq=d({domains:y(uw),providers:y(d({provider:St,domains:y(uw)}).strict())}).strict(),wq=d({provider:St,completeness:km,answerCoverage:xo}).strict(),kq=d({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:km,answerCoverage:xo,targetCoverage:xo,sov:xq,providers:y(wq)}).strict(),Sq=d({provider:St,completeness:km,citationCoverage:xo,mentionCoverage:xo}).strict(),jq=d({id:o().trim().min(1),label:o().trim().min(1),completeness:km,citationCoverage:xo,mentionCoverage:xo,providers:y(Sq)}).strict(),bj=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:gj,provider:St,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:E(),historical:E(),evidenceComplete:E(),classification:vg,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),Aq=d({sourceUrl:o(),normalizedUrl:o().nullable(),classification:vg,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),Nq=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:gj,provider:St,queryText:o().trim().min(1),location:o().nullable(),queryClass:Fe([A(["branded","non-brand"]),ue()]),mentioned:E().nullable(),cited:E().nullable(),sources:y(Aq),sourceCount:m().int().nonnegative(),sourcesTruncated:E(),bridged:E(),historical:E(),evidenceComplete:E()}).strict(),Cq=d({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),_q=d({id:o().trim().min(1),status:A(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();d({revision:m().int().positive(),run:_q.nullable(),groups:y(kq),targets:y(jq),evidence:y(bj),diagnostics:Cq}).strict();d({property:d({targetKey:ge,label:o().min(1)}).strict(),queryClass:Ea,measurement:d({state:ig,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:Tr(bj).optional(),answers:Tr(Nq).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 xg=A(["queued","running","completed","partial","failed"]);xg.enum;const vj=A(["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"]);vj.enum;d({providers:y(St).min(1).optional(),dryRun:E().optional()}).strict();const xj=d({id:o(),runId:o(),projectId:o(),status:xg,providers:y(o()),expected:m().int().nonnegative(),filled:m().int().nonnegative(),error:o().nullable(),createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable()}),Tq=d({runId:o(),status:ma,planned:E(),readable:E(),expected:m().int().nonnegative(),executed:m().int().nonnegative(),missing:m().int().nonnegative(),missingByProvider:He(o(),m().int().nonnegative()),fillable:E(),refusal:d({code:vj,message:o()}).nullable(),latestFill:xj.nullable()}),Eq=A(["queued","already-complete","dry-run"]);d({outcome:Eq,completeness:Tq,fill:xj.nullable()});const Ga=o().trim().min(1),Ao=o().trim().min(1),Rq=o().trim().min(1),Oe=m().int().nonnegative(),Bc=d({state:ig,displayedRunId:Ga.nullable(),planRevision:m().int().positive(),completedAt:o().datetime().nullable()}).strict(),No=d({targetKey:ge,label:Ao}).strict(),ua={runId:Ga.optional(),provider:St.optional(),location:Rq.optional()},Er=o().trim().min(1),uf=5,Dq=10,zq=10,Iq="tied Properties are ordered by name, not ranked";d({runId:ua.runId,groupKey:ge.optional(),queryClass:Ea.default("non-brand"),provider:ua.provider,location:ua.location,limit:m().int().positive().max(50).optional(),includeNestedMarkets:E().optional()}).strict();const dw=Zf,wj={metro:dw.nullable(),otherMetros:y(dw).min(1).optional(),submarkets:y(Ao),queries:Oe},kj=d({name:Er,answers:Oe}).strict(),Oq=d({name:Er,occurrences:Oe}).strict(),wg=d({domain:o().trim().min(1),answers:Oe}).strict(),qq=No.extend({...wj,mentionCoverage:vn,citationCoverage:vn,flags:Oe,namedInsteadInAnswerText:y(kj).max(uf),namedInsteadInAnswerTextTotal:Oe,citedDomains:y(wg).max(uf),citedDomainsTotal:Oe,recommendedInstead:y(Oq).max(uf).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:Oe.meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerTextTotal, which it always equals."}),recommendedInsteadTruncated:E().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:ye.custom,path:["namedInsteadInAnswerTextTotal"],message:"Total cannot be smaller than the returned names"}),e.citedDomains.length>e.citedDomainsTotal&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),e.recommendedInsteadTotal!==e.namedInsteadInAnswerTextTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"The deprecated total must equal namedInsteadInAnswerTextTotal"}),e.recommendedInstead.length>e.recommendedInsteadTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),Pq=d({metro:Ao.nullable(),count:m().int().positive()}).strict(),Mq=d({count:m().int().min(2),mentionRate:we(),citationRate:we(),note:R(Iq),byMetro:y(Pq).optional(),namedInstead:y(kj).max(zq).optional(),namedInsteadTotal:Oe.optional()}).strict().superRefine((e,n)=>{e.namedInstead!==void 0&&(e.namedInsteadTotal===void 0||e.namedInstead.length>e.namedInsteadTotal)&&n.addIssue({code:ye.custom,path:["namedInsteadTotal"],message:"Total cannot be smaller than the returned names"})}),Bq=d({properties:Oe,answers:Oe,domains:y(wg).max(Dq),domainTotal:Oe,ownDomainAnswers:Oe.optional()}).strict().superRefine((e,n)=>{e.ownDomainAnswers!==void 0&&e.ownDomainAnswers>e.answers&&n.addIssue({code:ye.custom,path:["ownDomainAnswers"],message:"Own-domain answers cannot exceed the basis"}),e.domains.length>e.domainTotal&&n.addIssue({code:ye.custom,path:["domainTotal"],message:"Total cannot be smaller than the returned domains"}),e.domains.some(i=>i.answers>e.answers)&&n.addIssue({code:ye.custom,path:["domains"],message:"A domain cannot be cited by more answers than the basis holds"})}),Lq=d({groupKey:ge,label:Ao,parentGroupKey:ge.nullable(),childMarketCount:Oe,propertyCount:Oe,propertiesMentioned:Sc,mentionCoverage:vn,citationCoverage:vn}).strict(),mw=No.extend({...wj,mentionCoverage:vn.options[0],citationCoverage:vn}).strict(),Uq=d({eligiblePropertyCount:Oe,strongest:y(mw).max(50),weakest:y(mw).max(50),excluded:y(No.extend({reason:Oc}).strict()),truncated:E()}).strict();d({portfolio:d({groupKey:ge.nullable(),label:Ao.nullable(),measurementScope:Fe([A(["full","spot_check"]),ue()])}).strict(),measurement:Bc,queryClass:Ea,engines:y(St),metrics:d({propertiesMentioned:Sc,mentionCoverage:vn,citationCoverage:vn}).strict(),weakestProperties:y(qq),tiedAtWeakest:Mq.nullable(),weakestAnswerSources:Bq.nullable(),mentionRanking:Uq,markets:y(Lq),totalMarkets:Oe,marketsTruncated:E(),totalProperties:Oe,truncated:E()}).strict().superRefine((e,n)=>{e.marketsTruncated!==e.markets.length<e.totalMarkets&&n.addIssue({code:ye.custom,path:["marketsTruncated"],message:"Market truncation must agree with the market total"})});d({targetKey:ge,runId:ua.runId,provider:ua.provider,location:ua.location,queryClass:Ea.optional(),offset:m().int().nonnegative().optional(),limit:m().int().positive().max(100).optional()}).strict();A(["answered","missing"]);const Jf={queryId:Ga,text:Ao,class:eg,provider:St,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},Vq=Be("status",[d({resultId:Ga,...Jf,status:R("answered"),mentioned:E().nullable(),cited:E().nullable(),recommendedInstead:y(Er),answerExcerpt:o().nullable()}).strict(),d({resultId:ue(),...Jf,status:R("missing"),mentioned:ue(),cited:ue(),recommendedInstead:y(Er).length(0),answerExcerpt:ue()}).strict()]);d({property:No,measurement:Bc,queryClass:Ea,questions:y(Vq),total:Oe,truncated:E()}).strict();d({targetKey:ge,resultId:Ga}).strict();const $q=d({url:Ga,classification:vg,matchedTargetKeys:y(ge),assigned:E(),historical:E(),evidenceComplete:E()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:ye.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});d({property:No,measurement:Bc,question:d({resultId:Ga,...Jf,status:R("answered")}).strict(),mentioned:E().nullable(),cited:E().nullable(),recommendedInstead:y(Er),answer:o().nullable(),sources:y($q),captureStatus:Fe([mm,ue()]),retrievalStatus:Fe([V0,ue()]),retrievalContract:Fe([$0,ue()])}).strict();d({targetKey:ge,runId:ua.runId,provider:ua.provider,location:ua.location,queryClass:Ea.optional(),limit:m().int().positive().max(50).optional()}).strict();const Gq=Be("state",[d({state:R("available"),answeredResults:Oe,targetMissResults:Oe,recommendationOccurrences:Oe}).strict(),d({state:R("unavailable"),reason:Oc}).strict()]),Kq=d({name:Er,occurrences:Oe,providers:y(St).max(5),providerTotal:Oe,providersTruncated:E(),questions:y(Ao).max(5),questionTotal:Oe,questionsTruncated:E()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:ye.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:ye.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:ye.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})}),Hq=10;d({property:No,measurement:Bc,queryClass:Ea,basis:Gq,competitors:y(Kq),total:Oe,truncated:E(),citedDomains:y(wg).max(Hq).optional(),citedDomainsTotal:Oe.optional(),citedDomainsAnswers:Oe.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:ye.custom,path:["citedDomains"],message:"Cited domains require their total and answer basis"});return}i.length>r&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),i.some(h=>h.answers>u)&&n.addIssue({code:ye.custom,path:["citedDomains"],message:"A domain cannot be cited by more answers than the basis holds"})}});const Sj=A(["magnitude","label"]),Qq=2;d({runId:ua.runId,scope:ag.default("all"),groupKey:ge.optional(),targetKey:ge.optional(),queryClass:Ea.default("all"),provider:ua.provider,location:ua.location,limit:m().int().positive().max(50).optional(),sort:Sj.optional()}).strict().superRefine((e,n)=>{e.scope==="all"&&(e.groupKey!==void 0||e.targetKey!==void 0)&&n.addIssue({code:ye.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:ye.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:ye.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const jj=A(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),Aj=Bc.extend({executionIdentity:Ga.nullable(),measurementScope:Fe([A(["full","spot_check"]),ue()])}).strict();function Nj(e,n){if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:ye.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:ye.custom,path:["delta"],message:"Delta must equal current minus previous"})}const Cj=d({state:R("unavailable"),reason:Oc}).strict(),Vd=Be("state",[d({state:R("available"),previous:vn,current:vn,delta:we()}).strict().superRefine(Nj),Cj]),Fq=Be("state",[d({state:R("available"),previous:Sc,current:Sc,delta:m().int()}).strict().superRefine(Nj),Cj]),df=d({propertiesMentioned:Fq,mentionCoverage:Vd,citationCoverage:Vd}).strict(),Zq=d({improved:Oe,declined:Oe,mixed:Oe,withinNoise:Oe,unchanged:Oe,notComparable:Oe,total:Oe,noiseAnswers:R(Qq)}).strict().superRefine((e,n)=>{e.improved+e.declined+e.mixed+e.withinNoise+e.unchanged+e.notComparable!==e.total&&n.addIssue({code:ye.custom,path:["total"],message:"Move buckets must sum to total"})}),Yq=No.extend({mentionCoverage:Vd,citationCoverage:Vd,flags:Oe,mentionAnswersDelta:m().int().nullable().optional(),citationAnswersDelta:m().int().nullable().optional(),denominatorChanged:E().optional(),withinNoise:E().optional(),mentionWithinNoise:E().nullable().optional(),citationWithinNoise:E().nullable().optional()}).strict();d({current:Aj,queryClass:Ea.optional(),comparison:Be("state",[d({state:R("available"),previous:d({displayedRunId:Ga,planRevision:m().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:Ga,measurementScope:A(["full","spot_check"])}).strict(),metrics:df,metricsByClass:d({branded:df,nonBrand:df}).strict().optional(),sort:Sj.optional(),distribution:Zq.optional(),changedProperties:y(Yq),totalProperties:Oe,truncated:E()}).strict(),d({state:R("unavailable"),reason:jj}).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:ye.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:ye.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:ye.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:ye.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})});d({runId:ua.runId}).strict();const Xq=A(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),Lc=d({state:R("unavailable"),reason:Xq}).strict(),Jq=d({state:R("available"),expected:Oe,executed:Oe,answered:Oe,missing:Oe}).strict(),Wq=Be("state",[Jq,Lc]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:ye.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:ye.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),eP=d({state:R("available"),complete:Oe,partial:Oe,failed:Oe,unsupported:Oe,notRecorded:Oe}).strict(),tP=Be("state",[eP,Lc]),nP=d({state:R("available"),used:Oe,notUsed:Oe,unknown:Oe,notApplicable:Oe,notRecorded:Oe}).strict(),aP=Be("state",[nP,Lc]),iP=d({state:R("available"),expectedQuestions:Oe,answeredQuestions:Oe,missingQuestions:Oe}).strict(),sP=Be("state",[iP,Lc]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:ye.custom,message:"Expected questions must equal answered plus missing"})}),pw=Be("state",[d({state:R("available"),answered:Oe,unattributed:Oe}).strict(),Lc]).superRefine((e,n)=>{e.state==="available"&&e.unattributed>e.answered&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Unattributed answers cannot exceed answered"})}),oP=d({status:xg,providers:y(o()),expected:Oe,filled:Oe,createdAt:o(),finishedAt:o().nullable()}).strict();d({run:Aj,completeness:Wq,capture:tP,retrieval:aP,population:sP,comparison:Be("state",[d({state:R("available"),previousDisplayedRunId:Ga}).strict(),d({state:R("unavailable"),reason:jj}).strict()]),unattributedByClass:d({branded:pw,nonBrand:pw}).strict().optional(),latestFill:oP.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:ye.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:ye.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const Rr=o().regex(/^[a-f0-9]{64}$/),Ka=o().trim().min(1).max(256),si=m().int().positive(),hw=d({kind:A(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),rP=A(["proposed","included","excluded"]),lP=A(["manual","sitemap"]),kg=d({stableKey:ge,label:o().trim().min(1),status:rP,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:lP,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),Sm=d({providers:y(St).optional(),models:He(St,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),cP=A(["branded","non-brand","unclassified"]),uP=A(["rule","operator"]),_j=d({targetKey:ge,queryId:Ka,contextOverride:Sm.optional(),executionContexts:y(hm.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:w2.optional(),queryClass:cP,classificationSource:uP}).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."})}),jm=x2,Tj=d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.optional(),targetKeys:y(ge),competitors:y(jm)}).strict(),dP=d({sitemapUrl:o().url(),rule:bg,exclusions:y(o().trim().min(1)),inputChecksum:Rr,reviewedAt:o().datetime().optional()}).strict(),mP=d({providers:y(St),models:He(St,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),Ej=k2,pP=d({defaultContext:mP,targets:y(kg),assignments:y(_j),groups:y(Tj),reportingScopes:y(Ej).optional(),discovery:dP.optional()}).strict(),hP=d({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:R(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:si.nullable(),authoring:pP,createdBy:hw,updatedBy:hw,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),Sg=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(),fP=d({code:o().trim().min(1),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict(),Rj=d({etag:o().trim().min(1),changed:E(),warnings:y(fP),counts:Sg}).strict();d({draft:hP.nullable(),etag:o().trim().min(1).nullable()}).strict();Tr(kg);Tr(_j);Tr(Tj);d({search:o().optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(ng).optional()}).strict();d({expectedActiveRevision:si.nullable()}).strict();d({sitemapUrl:o().url(),rule:bg,exclusions:y(o().trim().min(1)).optional()}).strict();const gP=d({discoveryIdentity:o().trim().min(1),action:A(["create","rebind","ignore"]),targetKey:ge.optional(),label:o().trim().min(1).optional()}).strict();d({selections:y(gP),selectedTargetKeys:y(ge).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:kg}).strict();d({targetKey:ge,label:o().trim().min(1)}).strict();d({targetKey:ge,mergedKeys:y(ge).min(1)}).strict();d({targetKey:ge,cleanup:R("assignments-and-group-memberships").optional()}).strict();d({targetKey:ge,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const Dj={targetKeys:y(ge).optional(),groupKeys:y(ge).optional()};function zj(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(Dj).strict().superRefine(zj);const yP=d({...Dj,queryIds:y(Ka).min(1),contextOverride:Sm.optional()}).strict().superRefine(zj);Fe([d({targetKey:ge,queryIds:y(Ka).min(1),contextOverride:Sm.optional()}).strict(),yP]);const bP=d({groupKey:ge,label:o().trim().min(1),memberCount:m().int().positive()}).strict();d({draftEtag:o().trim().min(1),groups:y(bP),resolvedTargetKeys:y(ge),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:ge,queryId:Ka}).strict()).min(1),contextOverride:Sm.optional()}).strict();Fe([d({targetKey:ge,queryId:Ka}).strict(),d({targetKeys:y(ge).min(1),queryId:Ka}).strict()]);d({targetKey:ge}).strict();d({queryClass:eg,assignments:y(d({targetKey:ge,queryId:Ka}).strict()).min(1)}).strict();d({group:d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.nullable().optional(),targetKeys:y(ge),competitors:y(jm).optional()}).strict()}).strict();d({market:Ej}).strict();d({groupKey:ge}).strict();d({groupKey:ge,competitor:jm}).strict();d({expectedActiveRevision:si,groupKey:ge,domain:o().trim().min(1).refine(e=>Ic(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();Rj.extend({groupKey:ge,competitor:jm,draftCreated:E(),published:d({revision:si,competitorsChanged:R(!1)}).strict()}).strict();d({groupKey:ge,competitorKey:ge}).strict();const $d=d({ruleId:o().trim().min(1),severity:A(["fail","warn"]),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict();Be("ok",[d({ok:R(!0),compiledChecksum:Rr,checks:y($d),counts:Sg,plan:fm}).strict(),d({ok:R(!1),compiledChecksum:ue(),checks:y($d).min(1)}).strict()]);const fw=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(),vP=d({activeRevision:si.nullable(),targets:fw,groups:fw,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();Be("ok",[d({ok:R(!0),compiledChecksum:Rr,checks:y($d),counts:Sg,plan:fm,diff:vP}).strict(),d({ok:R(!1),compiledChecksum:ue(),checks:y($d).min(1),diff:ue()}).strict()]);d({expectedActiveRevision:si.nullable(),expectedCompiledChecksum:Rr}).strict();d({published:E(),active:d({revision:si,checksum:Rr,compiledChecksum:Rr,createdAt:o().datetime(),plan:fm}).strict()}).strict();d({discarded:E()}).strict();d({expectedActiveRevision:si}).strict();d({deactivated:E(),previousRevision:si.nullable()}).strict();const xP=A(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),wP=A(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),kP=A(["simple","draft-only","active-v1","active-v2"]);d({state:xP,nextAction:wP,mode:kP,answerVisibilityProviderReady:E(),activeRevision:si.nullable(),activeSchemaVersion:Fe([R(1),R(2)]).nullable(),draft:d({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const Ij=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(),SP=d({queryId:Ka,queryText:o().min(1),position:m().int().nonnegative()}).strict();Ij.extend({items:y(SP)}).strict();d({querySets:y(Ij)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Ka)}).strict();const jP=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(jP)}).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(He(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();d({created:y(d({queryId:Ka,queryText:o().min(1)}).strict()),existing:y(d({queryId:Ka,queryText:o().min(1)}).strict())}).strict();const Gd=o().regex(/^[a-f0-9]{64}$/),Am=m().int().positive();d({stableKey:ge,kind:A(["target","group"]),retiredAt:o().datetime().nullable()}).strict();d({csv:o()}).strict();A(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const AP=A(["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"]),Wf=d({dataRow:Am,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),tc=Wf.extend({reason:AP}),NP=d({source:A(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:ge,kind:A(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),CP=d({proposedGroupKey:ge,evidence:y(NP).min(1)}).strict(),_P=Be("status",[Wf.extend({status:R("matched"),targetKey:ge,groupKey:ge}).strict(),tc.extend({status:R("ambiguous"),candidateTargetKeys:y(ge).min(1).optional(),candidateGroupKeys:y(ge).min(1).optional()}).strict(),tc.extend({status:R("unmatched")}).strict(),tc.extend({status:R("invalid"),groupKeyConflict:CP.optional()}).strict(),Wf.extend({status:R("duplicate"),duplicateOfRow:Am,targetKey:ge,groupKey:ge}).strict(),tc.extend({status:R("proposed"),targetKey:ge}).strict(),tc.extend({status:R("excluded"),targetKey:ge}).strict()]),TP=d({normalizedGroupLabel:o(),groupKey:ge,label:o().trim().min(1),action:A(["create","extend"]),matchedRows:y(Am),targetKeys:y(ge),addedTargetKeys:y(ge),unchangedTargetKeys:y(ge)}).strict(),EP=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:Gd,previewChecksum:Gd,rows:y(_P),groupChanges:y(TP),counts:EP}).strict();d({csv:o(),sourceChecksum:Gd,previewChecksum:Gd,acceptedRows:y(Am).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."})});Rj.extend({appliedRows:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();function Oj(e,n){return Number((n===Ua.percent?e:e*100).toFixed(6))}function qj(e){return Math.round(Number((e*10).toFixed(4)))/10}function Kd(e,n=Ua.fraction){if(e==null||!Number.isFinite(e))return"—";const i=Oj(e,n);if(i===0)return"0%";const r=i<0?"-":"",u=Math.abs(i);if(u===100)return`${r}100%`;const h=qj(u);return h===0?`${r}<0.1%`:h===100&&u<100?`${r}>99.9%`:`${r}${h.toFixed(1)}%`}function Ree(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"):"—"}const RP=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hc(e,n=new Date){const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),r=i?RP[Number(i[2])-1]:void 0;if(!i||!r)return e;const u=`${r} ${Number(i[3])}`;return Number(i[1])===n.getFullYear()?u:`${u}, ${i[1]}`}function Dee(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=DP(u,1));return r}function DP(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 zee(e,n=Ua.fraction){const i=Oj(e,n);if(i===0)return{direction:"none",magnitude:"0"};const r=qj(Math.abs(i));return{direction:i>0?"up":"down",magnitude:r===0?"<0.1":r.toFixed(1)}}function Iee(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 Pj=A(["introduced","repointed","retired"]),zP=Pj.enum;d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:Pj,confirmed:E(),sourceUrl:o().url(),note:o().min(1)});const IP=[{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.'}];zP.repointed;new Set(IP.map(e=>e.modelId.toLowerCase()));const OP=A(["not-exposed","no-known-change","known-change"]);OP.enum;const qP=d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:E(),sourceUrl:o().url()}),PP=d({status:A(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(qP),changeCount:m().int().nonnegative(),unverifiedChangeCount:m().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:E()}),MP={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function BP(e){const n=e.trim().toLowerCase();return MP[n]??e.charAt(0).toUpperCase()+e.slice(1)}function mf(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function nc(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function pf(e){return[...new Set(e.filter(n=>n!==null))].sort()}function LP(e,n,i){const r=i(e),u=Array.isArray(n.changes)?n.changes:[],h=mf(n.changeCount)||u.length,f=Math.min(h,mf(n.unverifiedChangeCount)||mf(n.unconfirmedChangeCount)||u.filter(S=>S.confirmed===!1).length),b=nc(n.knownGoodAsOf),v=n.checkedThroughPeriodEnd!==!1,x={engine:r,confirmedCount:h-f,unconfirmedCount:f,knownGoodAsOf:b,checkedThroughPeriodEnd:v};if(u.length>0)return{...x,confirmedDates:pf(u.filter(S=>S.confirmed!==!1).map(S=>nc(S.date))),unconfirmedDates:pf(u.filter(S=>S.confirmed===!1).map(S=>nc(S.date)))};const k=pf([nc(n.firstChangeDate),nc(n.lastChangeDate)]);return h===0?{...x,confirmedDates:[],unconfirmedDates:[]}:f===0?{...x,confirmedDates:k,unconfirmedDates:[]}:x.confirmedCount===0?{...x,confirmedDates:[],unconfirmedDates:k}:{...x,confirmedDates:[],unconfirmedDates:[]}}function UP(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 gw(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${hc(e[0])}`:`more than once between ${hc(e[0])} and ${hc(e[e.length-1])}`}function VP(e){const n=gw(e.confirmedDates,e.confirmedCount),i=gw(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 yw(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);if(n.length===0)return null;const i=n.map(r=>r.knownGoodAsOf).sort()[0];return`We last checked for model updates on ${hc(i)}, and this period runs past that date, so there may be later updates we do not know about.`}function Oee(e,n={}){const i=n.engineName??BP,r=Object.entries(e??{}).map(([k,S])=>LP(k,S??{},i)).sort((k,S)=>k.engine.localeCompare(S.engine));if(r.length===0)return null;const u=r.filter(k=>k.confirmedCount+k.unconfirmedCount>0);if(u.length===0){const k=[...new Set(r.map(P=>P.engine))],S=k.length>1,_=yw(r),C=[...new Set(r.map(P=>P.knownGoodAsOf).filter(P=>P!==null))].sort(),I=_??(C.length>0?`We last checked for model updates on ${hc(C[0])}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${UP(k)} in this period.`,detail:`${S?"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.${I?` ${I}`:""}`}}const h=u.reduce((k,S)=>k+S.confirmedCount+S.unconfirmedCount,0),f=u.some(k=>k.confirmedCount>0),b=h===1?"this update":"these updates",v=f?`Some of the movement in these numbers may come from ${b} 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 ${b} rather than from a real change in how AI answers about you, so compare periods carefully.`,x=yw(r);return{kind:"change",text:`${u.map(VP).join(" ")} ${v}${x?` ${x}`:""}`}}const yo=d({slope:m(),intercept:m(),r2:m(),start:m(),end:m(),n:m(),startIndex:m(),endIndex:m()}),$P=A(["gsc","ga4","gbp"]);d({id:o(),domain:o(),connectionType:$P,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const GP=d({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:m(),impressions:m(),ctr:we(),position:m()});A(["clicks","impressions","date"]);d({rows:y(GP),totalMatching:m(),truncated:E(),latestAvailableDate:o().nullable()});const KP=d({date:o(),clicks:m(),impressions:m(),ctr:we(),position:m().nullable()}),Mj=d({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:m().nullable()}),HP=d({clicks:yo.nullable(),impressions:yo.nullable(),ctr:yo.nullable(),position:yo.nullable()}),bw=d({startDate:o(),endDate:o(),clicks:m(),impressions:m(),ctr:we().nullable(),position:m().nullable(),source:A(["property-daily","dimensioned","mixed","empty"])}),QP=d({days:m(),basis:A(["prior-window","split-window"]).optional(),prior:bw,trailing:bw,comparable:E(),change:d({clicks:we().nullable(),impressions:we().nullable(),ctr:we().nullable(),position:we().nullable()})});d({totals:d({clicks:m(),impressions:m(),ctr:we(),position:m().nullable(),positionDays:m(),days:m()}),daily:y(KP),window:Mj.optional(),trends:HP.optional(),periodComparison:QP.nullable().optional()});const FP=d({page:o(),clicks:m(),impressions:m(),ctr:we()});d({rows:y(FP),totals:d({clicks:m(),impressions:m(),ctr:we(),days:m(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:E()}).nullable(),totalsSource:R("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const ZP=A(["google","page-summed","mixed"]),YP=d({query:o(),clicks:m(),impressions:m(),ctr:we(),position:m(),days:m(),source:ZP});d({rows:y(YP),totalMatching:m(),truncated:E(),window:Mj.extend({earliestDataDate:o().nullable().optional()})});const e0=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:E().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});A(["stable","reindexed","deindexed","still-missing","new"]);const XP=d({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),JP=d({reason:o(),count:m(),urls:y(e0).default([])});d({summary:d({total:m(),indexed:m(),notIndexed:m(),deindexed:m(),percentage:ot(),indexedShare:we(m().min(0).max(1)).nullable(),notIndexedShare:we(m().min(0).max(1)).nullable()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(e0).default([]),notIndexed:y(e0).default([]),deindexed:y(XP).default([]),reasonGroups:y(JP).default([])});d({url:o(),type:A(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const WP=d({url:o(),type:A(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:A(["success","error"]),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(WP).default([])});d({date:o(),indexed:m(),notIndexed:m(),unknownPages:m().default(0),verifiedByInspection:m().default(0),derivedFromImpressions:m().default(0),reasonBreakdown:He(o(),m()).default({})});const eM=d({siteUrl:o(),permissionLevel:o()});d({sites:y(eM).default([])});const tM=d({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),Bj=d({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:E().optional(),isSitemapsIndex:E().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(tM).optional()});d({sitemaps:y(Bj).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 nM=d({sitemapUrl:o(),status:A(["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(nM)});d({sitemaps:y(Bj),primarySitemapUrl:o(),run:d({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const pt=o().trim().min(1),vw=o().regex(/^[a-f0-9]{64}$/i);function aM(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 Yn=o().refine(aM,{message:"Expected a calendar date as YYYY-MM-DD."});function iM(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 sM=A(["not-connected","selection-required","connected","stale"]),ud=sM.enum,Lj=A(["enabled","suspended","closed","canceled","unspecified","unknown"]);Lj.enum;const jg=A(["enabled","paused","removed","unknown"]);jg.enum;const Uj=A(["enabled","hidden","removed","unknown"]);Uj.enum;const Ag=A(["customer","campaign"]);Ag.enum;const Vj=A(["customer-goal","campaign-goal","custom-goal"]);Vj.enum;const $j=d({loginCustomerId:pt.nullable(),customerId:pt.nullable(),selectedAt:o().nullable()}).strict(),hf=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(),t0=d({resourceName:pt,customerId:pt,parentCustomerId:pt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:E(),hidden:E(),testAccount:E(),level:m().int().nonnegative(),status:Lj}).strict(),oM=d({customers:y(t0),totalAccessible:m().int().nonnegative(),truncated:E(),selection:$j,fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(ud["not-connected"]),connection:ue(),selectedCustomer:ue()}).strict(),d({connected:R(!0),status:R(ud["selection-required"]),connection:hf,selectedCustomer:ue()}).strict(),d({connected:R(!0),status:R(ud.connected),connection:hf,selectedCustomer:t0}).strict(),d({connected:R(!0),status:R(ud.stale),connection:hf,selectedCustomer:t0}).strict()]);const rM=d({id:pt,resourceName:pt,name:o(),status:jg,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),lM=d({id:pt,resourceName:pt,name:o(),status:Uj,category:o(),origin:o(),primaryForGoal:E(),includeInConversionsMetric:E()}).strict(),cM=d({category:o(),origin:o(),biddable:E()}).strict(),uM=d({campaignId:pt,category:o(),origin:o(),biddable:E()}).strict(),dM=d({id:pt,name:o(),conversionActionIds:y(pt)}).strict(),mM=d({campaignId:pt,goalConfigLevel:Ag,customGoalId:pt.nullable()}).strict(),pM=d({customerId:pt,fetchedAt:o(),campaigns:y(rM),conversionActions:y(lM),customerConversionGoals:y(cM),campaignConversionGoals:y(uM),campaignConversionGoalsComplete:E().optional(),customConversionGoals:y(dM),campaignGoalConfigurations:y(mM)}).strict(),hM=d({source:Vj,category:o().nullable(),origin:o().nullable(),customGoalId:pt.nullable(),biddable:E().nullable(),conversionActionIds:y(pt),primaryConversionActionIds:y(pt),secondaryConversionActionIds:y(pt),missingConversionActionIds:y(pt)}).strict(),fM=d({campaignId:pt,goalConfigLevel:Ag,customGoalId:pt.nullable(),missingCustomGoalId:pt.nullable(),goals:y(hM)}).strict();d({customerId:pt,derivedAt:o(),campaigns:y(fM)}).strict();const Gj=50,n0=31,gM=Gj*n0,yM=d({campaignIds:y(pt).min(1).max(Gj),startDate:Yn,endDate:Yn}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:ye.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:ye.custom,path:["endDate"],message:"endDate must not precede startDate."});return}iM(e.startDate,e.endDate)>n0&&n.addIssue({code:ye.custom,path:["endDate"],message:`Campaign metrics may cover at most ${n0} calendar days.`})}),bM=d({campaignId:pt,date:Yn,impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable()}).strict(),vM=d({query:yM,rows:y(bM).max(gM),truncated:E(),fetchedAt:o()}).strict(),Kj=A(["accessible-customers","inventory","campaign-metrics"]),ff=Kj.enum,Ng=d({id:pt,projectId:pt,connectionId:pt,runId:pt,kind:Kj,customerId:pt.nullable(),payloadChecksum:vw,rawPayloadSha256:vw.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),xM=Be("kind",[d({kind:R(ff["accessible-customers"]),data:oM}).strict(),d({kind:R(ff.inventory),data:pM}).strict(),d({kind:R(ff["campaign-metrics"]),data:vM}).strict()]),wM=d({metadata:Ng,payload:xM}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),kM=A(["7d","14d","30d"]),Cg=d({impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable(),ctr:we().nullable(),cpcMicros:m().int().nonnegative().nullable(),conversionRate:we().nullable(),costPerConversionMicros:m().int().nonnegative().nullable()}),SM=d({date:Yn,origin:A(["provider","filled"]),impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),ctr:we().nullable()}),jM=d({campaignId:pt,name:o().nullable(),status:jg,totals:Cg}),AM=d({snapshotId:pt,capturedAt:o(),customerId:pt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Yn,openDate:Yn.nullable(),truncated:E(),campaignsQueried:m().int().nonnegative(),campaignsInInventory:m().int().nonnegative()}),NM=d({startDate:Yn,endDate:Yn,days:m().int().positive(),totals:Cg}),CM=d({days:m().int().positive(),prior:NM,change:d({impressions:we().nullable(),clicks:we().nullable(),costMicros:we().nullable(),conversions:we().nullable(),ctr:we().nullable(),conversionRate:we().nullable()})});d({window:kM,startDate:Yn,endDate:Yn,days:m().int().positive(),totals:Cg,daily:y(SM),campaigns:y(jM),comparison:CM.nullable(),comparisonUnavailableReason:A(["insufficient-history","no-snapshot"]).nullable(),source:AM.nullable()});const mt=o().trim().min(1),xw=o().regex(/^[a-f0-9]{64}$/i),_M=A(["not-connected","selection-required","connected","stale"]),dd=_M.enum,TM=A(["live","draft"]),Hj=TM.enum,jd=d({accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),selectedAt:o().nullable()}).strict(),gf=d({id:mt,projectId:mt,scopes:y(o()).default([]),selection:jd,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Qj=d({id:mt,path:o(),name:o(),shareData:E().nullable()}).strict(),Fj=d({accountId:mt,id:mt,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),_g=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),EM=d({accounts:y(Qj),totalAccessible:m().int().nonnegative(),truncated:E(),fetchedAt:o()}).strict();d({accountId:mt,containers:y(Fj),totalAccessible:m().int().nonnegative(),truncated:E(),fetchedAt:o()}).strict();d({accountId:mt,containerId:mt,workspaces:y(_g),totalAccessible:m().int().nonnegative(),truncated:E(),fetchedAt:o()}).strict();const RM=d({id:mt,name:o(),type:o(),paused:E(),firingTriggerIds:y(mt),blockingTriggerIds:y(mt),referencedVariableIds:y(mt),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),DM=d({id:mt,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),zM=d({id:mt,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),Zj=A(["recognized","unknown"]),ww=Zj.enum,IM=A(["literal","variable-ref","absent","unknown"]),Nm=IM.enum,OM=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),Lr=d({source:R(Nm.absent),literal:ue(),variableRef:ue()}).strict(),Ur=d({source:R(Nm.unknown),literal:ue(),variableRef:ue()}).strict(),Vr=d({source:R(Nm["variable-ref"]),literal:ue(),variableRef:OM}).strict();function Uc(e){return d({source:R(Nm.literal),literal:e,variableRef:ue()}).strict()}const qM=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),PM=o().trim().min(1).max(128).regex(/^[\w-]+$/),MM=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),BM=o().trim().length(3).regex(/^[a-z]{3}$/i);Be("source",[Uc(o().trim().min(1).max(256)),Vr,Lr,Ur]);const LM=Be("source",[Uc(qM),Vr,Lr,Ur]),UM=Be("source",[Uc(PM),Vr,Lr,Ur]),VM=Be("source",[Uc(MM),Vr,Lr,Ur]),$M=Be("source",[Vr,Lr,Ur]),GM=Be("source",[Uc(BM),Vr,Lr,Ur]),Yj=A(["all-pages","custom-event","filtered","unknown"]);Yj.enum;const kw=d({operator:o().trim().min(1).max(64),value:o().max(2048),negated:E(),ignoreCase:E()}).strict(),KM=d({triggerId:mt,triggerType:o(),eventPredicates:y(kw),hostnamePredicates:y(kw),unsupportedConditionCount:m().int().nonnegative()}).strict(),Xj=A(["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"]);Xj.enum;const HM=d({tagId:mt,tagType:o(),recognition:Zj,recognitionReason:o().nullable(),conversionId:LM,conversionLabel:UM,value:VM,transactionId:$M,currency:GM,triggerStrategy:Yj,triggerIds:y(mt),triggerPredicates:y(KM),reviewReasons:y(Xj)}).strict().superRefine((e,n)=>{e.recognition===ww.recognized&&e.recognitionReason!==null&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===ww.unknown&&!e.recognitionReason&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),Jj=d({accountId:mt,containerId:mt,workspaceId:mt.nullable(),tags:y(RM),triggers:y(DM),variables:y(zM),googleAdsTagAssessments:y(HM).default([])}).strict(),QM=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:E()}).strict(),Wj=d({source:R(Hj.live),version:QM,graph:Jj,fetchedAt:o()}).strict(),e3=d({source:R(Hj.draft),workspace:_g,graph:Jj,conflictCount:m().int().nonnegative(),fetchedAt:o()}).strict(),FM=d({account:Qj,container:Fj,workspaces:y(_g),live:Wj.nullable(),draft:e3.nullable(),fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(dd["not-connected"]),connection:ue(),selection:ue()}).strict(),d({connected:R(!0),status:R(dd["selection-required"]),connection:gf,selection:jd}).strict(),d({connected:R(!0),status:R(dd.connected),connection:gf,selection:jd}).strict(),d({connected:R(!0),status:R(dd.stale),connection:gf,selection:jd}).strict()]);const t3=A(["accounts","container","live","draft"]),md=t3.enum,Tg=d({id:mt,projectId:mt,connectionId:mt,runId:mt,kind:t3,accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),payloadChecksum:xw,rawPayloadSha256:xw.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),ZM=Be("kind",[d({kind:R(md.accounts),data:EM}).strict(),d({kind:R(md.container),data:FM}).strict(),d({kind:R(md.live),data:Wj}).strict(),d({kind:R(md.draft),data:e3}).strict()]),YM=d({metadata:Tg,payload:ZM}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),Zn=o().trim().min(1),XM=o().trim().min(1).refine(e=>Ic(e)!==null,"Expected a hostname or http(s) URL."),Eg=A(["configured","statically-consistent","runtime-unverified","observed"]);Eg.enum;const n3=A(["pass","fail","unknown"]);n3.enum;const a3=A(["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"]);a3.enum;const i3=d({id:Zn,projectId:Zn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:d({customerId:Zn,conversionActionId:Zn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Zn).max(50).default([]),requireBiddableGoal:E().default(!0),requirePrimaryAction:E().default(!0)}).strict(),gtm:d({accountId:Zn,containerId:Zn,tagId:Zn,triggerIds:y(Zn).default([]),variableIds:y(Zn).default([])}).strict(),runtime:d({verificationRequired:E().default(!0),requireTransactionId:E().default(!0),requireValue:E().default(!0),requireCurrency:E().default(!0),productionHosts:y(XM).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();i3.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const s3=A(["not-run","consistent","inconsistent"]);s3.enum;const o3=A(["not-run","not-observed","observed"]);o3.enum;d({staticCheck:s3,runtimeVerificationRequired:E(),runtimeObservation:o3}).strict();const JM=d({code:a3,subject:o().trim().min(1),outcome:n3,status:Eg,evidenceIds:y(Zn).default([])}).strict(),WM=d({contract:i3,status:Eg,findings:y(JM),evaluatedAt:o()}).strict(),Sw=d({id:Zn,name:o(),detail:o(),active:E()});d({googleAds:d({customerId:Zn.nullable(),syncedAt:o().nullable(),conversionActions:y(Sw)}),gtm:d({containerId:Zn.nullable(),syncedAt:o().nullable(),tags:y(Sw)})});const fc=o().trim().min(1);function jw(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const eB=/^[\w-]+$/;function Rg(e){const n=e.trim();return eB.test(n)?n:null}function tB(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??Rg(n)}function nB(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:Rg(i)}function aB(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:Rg(r)}function iB(e){const n=jw(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=jw(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function sB(e){const n=tB(e.accountId);if(!n)return null;const i=nB(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=aB(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const Cm=A(["google-ads","gtm"]);Cm.enum;d({provider:Cm,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();d({provider:Cm,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();d({loginCustomerId:fc.nullable().optional(),customerId:fc}).strict().superRefine((e,n)=>{iB(e)||n.addIssue({code:ye.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});d({accountId:fc,containerId:fc,workspaceId:fc.optional()}).strict().superRefine((e,n)=>{sB(e)||n.addIssue({code:ye.custom,message:"GTM resource paths must match the selected account and container."})});d({provider:Cm,disconnected:E()}).strict();const r3=100;d({snapshots:y(Ng).max(r3),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:wM}).strict();d({snapshots:y(Tg).max(r3),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:YM}).strict();d({assessment:WM,googleAdsSnapshot:Ng.nullable(),gtmSnapshot:Tg.nullable()}).strict();d({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const yf=d({id:o(),url:o(),httpCode:m().nullable().optional(),inIndex:E().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:ot()}),lastInspectedAt:o().nullable(),indexed:y(yf).default([]),notIndexed:y(yf).default([]),unknown:y(yf).default([]).optional()});d({query:o(),impressions:m(),clicks:m(),ctr:we(),averagePosition:m()});d({date:o(),indexed:m(),notIndexed:m(),unknown:m()});const oB=d({url:o(),status:A(["success","error"]),submittedAt:o(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(oB).default([])});const l3=d({url:o(),verified:E()});d({sites:y(l3).default([])});d({connected:E(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});d({connected:E(),domain:o(),siteUrl:o().nullable(),availableSites:y(l3).default([])});d({siteUrl:o()});const rB=d({name:o(),alive:E(),lastUsed:o().nullable()});d({connected:E(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(rB).default([])});const $r=A(["live","staging"]);d({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:$r,createdAt:o(),updatedAt:o()});const Aw=d({url:o(),reachable:E(),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:E(),projectName:o(),defaultEnv:$r,live:Aw.nullable(),staging:Aw.nullable(),adminUrl:o().nullable().optional()});const lB=d({id:m(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),c3=d({title:o().nullable(),description:o().nullable(),noindex:E().nullable(),writable:E().default(!1),writeTargets:y(o()).default([])}),cB=d({type:o(),json:He(o(),wn())}),uB=lB.extend({env:$r,content:o(),seo:c3,schemaBlocks:y(cB).default([])}),Nw=uB.extend({contentHash:o(),contentSnippet:o()}),u3=d({manualRequired:R(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),dB=d({slug:o(),severity:A(["high","medium","low"]),code:A(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});d({slug:o(),title:o(),status:o(),wordCount:m(),seo:c3,schemaPresent:E(),issues:y(dB).default([])});const mB=d({slug:o(),status:A(["applied","skipped","manual"]),error:o().optional(),manualAssist:u3.optional()});d({env:$r,strategy:A(["plugin","manual"]),results:y(mB)});const pB=d({slug:o(),status:A(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:u3.optional(),error:o().optional()});d({env:$r,results:y(pB)});const hB=d({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:E()});d({env:$r,pages:y(hB)});const fB=d({name:o(),status:A(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});d({projectName:o(),steps:y(fB)});d({slug:o(),live:Nw,staging:Nw,hasDifferences:E(),differences:d({title:E(),slug:E(),content:E(),seoTitle:E(),seoDescription:E(),noindex:E(),schema:E()})});const gB=r2.shape.searchUnit.unwrap().enum;gB.query;const yB=d({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:E(),quota:dz.optional(),vertexConfigured:E().optional()}),bB=d({name:o(),displayName:o(),mode:A(["api","browser"]),modelConfigurable:E(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o(),tier:A(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:d({source:o(),flags:o()}),modelValidationHint:o()}),Cw=d({configured:E()});d({providers:y(yB).default([]),providerCatalog:y(bB).default([]),google:Cw,bing:Cw});const vB=A(["recorded","errored","expired","canceled","parse_failed","duplicate"]);vB.enum;const xB=A(["not_plan_run","scoped_run","probe_run","batch_unavailable","model_not_frozen"]);xB.enum;Ix.standard,Ix.batch;const d3=A(["all","api","browser"]);d3.enum;const wB=A(["yes","no","unknown","not-mentioned"]),_w=y(o().min(1)),Tw=d({companyName:o().min(1),domain:o().min(1),queries:_w.optional(),phrases:_w.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:d3.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"]})});Tw.safeExtend({competitors:Tw.shape.competitors.default([])});const kB=d({name:o(),count:m().int().nonnegative()}),SB=d({id:o(),name:o(),weight:m(),score:m(),findings:y(d({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),jB=d({url:o(),finalUrl:o(),auditedAt:o(),overallScore:m(),summary:o(),factors:y(SB).default([])}),AB=d({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),NB=d({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:E(),cited:E(),describedAccurately:wB,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(gm).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),CB=d({query:o(),providerResults:y(NB).default([])}),_B=d({totalQueries:m().int().nonnegative(),totalProviders:m().int().nonnegative(),totalComparisons:m().int().nonnegative(),mentionCount:m().int().nonnegative(),citationCount:m().int().nonnegative(),topCompetitors:y(kB).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:AB,audit:jB,queryResults:y(CB).default([]),summary:_B});const TB=d({basis:A(["tracked","observed"]).nullable(),availability:A(["measured","not-measured","unavailable"]),reason:A(["select-query-class","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),Dg=TB.partial().shape,zg=A(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);zg.enum;const Ig=A(["cited","aspirational","wasted-surface"]),Ew=Ig.enum;Ew.cited,Ew.aspirational;const Vc=A(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),EB=Vc.enum;EB["direct-competitor"];const _m=A(["queued","seeding","probing","completed","failed"]);_m.enum;const m3=d({domain:o().min(1),hits:m().int().positive(),competitorType:Vc.default("unknown")}),RB=d({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:Ig.nullable().default(null),citationState:Bi,citedDomains:y(o()).default([]),answerMentioned:E().nullable().default(null),createdAt:o()}),DB=d({id:o(),projectId:o(),status:_m,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(dn).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(m()).nullable().optional(),dedupBandPairFraction:we().nullable().optional(),dedupPairsTotal:m().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:He(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(m3).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});DB.extend({probes:y(RB).default([])});const zB=500,IB=8,OB=["gemini","openai"],qB=A(OB);d({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(qB).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:m().min(0).max(1).optional(),maxProbes:m().int().positive().max(zB).optional(),probeConcurrency:m().int().min(1).max(IB).optional(),locations:y(o().min(1)).optional()});d({buckets:y(Ig).min(1).optional(),includeCompetitors:E().optional(),competitorTypes:y(Vc).min(1).optional()});const Og=d({domain:o().min(1),hits:m().int().positive(),competitorType:Vc,sources:y(m3)}),p3=A(["already-tracked","project-domain","shared-host","claimed-by-alias"]);p3.enum;const h3=Og.extend({reason:p3,message:o()});d({sessionId:o(),projectId:o(),status:_m,queriesByBucket:d({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(Og),skippedCompetitors:y(h3)});d({sessionId:o(),projectId:o(),promoted:d({queries:y(o()),competitors:y(o())}),skipped:d({queries:y(o()),competitors:y(o())}),competitorDetails:d({promoted:y(Og),skipped:y(h3)})});Fe([R("cli"),o().regex(/^discovery:.+$/)]);const PB=d({query:o().min(1),probeHits:m().int().positive()}),MB=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:_m,minProbeHits:m().int().positive(),anchorApplied:E(),semanticNoveltyApplied:E(),candidates:y(PB),stats:MB});const qg=A(["own","direct-competitor","ota-aggregator","editorial-media","other"]);qg.enum;const Tm=A(["7d","30d","90d","all"]),Rw=A(["improving","declining","stable"]),BB=A(["mentioned","cited"]);BB.enum;const a0=d({citationRate:we(),cited:m().int(),total:m().int(),mentionRate:we(),mentionedCount:m().int()}),Gr=o().trim().min(1),LB=y(Gr).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]})}),wo=Be("status",[d({status:R("known"),model:Gr}),d({status:R("unknown")}),d({status:R("mixed"),models:LB,includesUnknown:E()})]),UB=d({observedAt:o(),bucketStartDate:o(),from:wo,to:wo,fromPreWindowAnchor:E().optional(),anchorObservedAt:o().optional()}),f3=d({latestObservation:d({observedAt:o(),state:wo}),events:y(UB),eventTotal:m().int().nonnegative().optional(),anchorUnavailable:E().optional()}),VB=He(o(),f3),$B=f3.extend({latestServedModelIds:y(Gr).default([])}),GB=He(o(),$B),KB=d({observedAt:o(),configured:wo,served:wo}),HB=d({scope:A(["non-brand","pooled"]),rate:we().nullable(),projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative()}),QB=d({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:m().int().nonnegative(),citationRate:we(),cited:m().int(),total:m().int(),queryCount:m().int(),mentionRate:we(),mentionedCount:m().int(),mentionShare:HB,byProvider:He(o(),a0),modelEvidenceByProvider:He(o(),wo).default({}),basketRevision:m().int().nullable().default(null)}),bf=d({first:we(m().min(0).max(1)),latest:we(m().min(0).max(1)),delta:we(m().min(-1).max(1))}),FB=d({citationRate:bf.nullable(),mentionRate:bf.nullable(),mentionShare:bf.nullable()}),ZB=d({revision:m().int(),at:o(),added:y(o()),removed:y(o())}),YB=d({date:o(),delta:m().int(),label:o()}),XB=d({at:o(),identity:I2});d({window:Tm,mentionShareScope:A(["non-brand","pooled"]),buckets:y(QB),overall:a0,byProvider:He(o(),a0),trend:Rw,mentionTrend:Rw,windowChange:FB.default(()=>({citationRate:null,mentionRate:null,mentionShare:null})),queryChanges:y(YB),basketChanges:y(ZB).default([]),executionIdentityChanges:y(XB).default([]),referenceBasketRevision:m().int().nullable().default(null),modelAttribution:VB.default({}),servedModelAttribution:GB.default({}),modelServiceMismatch:He(o(),KB).default({}),modelPointerChanges:He(o(),PP).default({})});const Dw=d({category:zg,label:o(),count:m().int(),percentage:we(),topDomains:y(d({domain:o(),count:m().int()}))}),JB=d({domain:o(),rank:m().int().positive().optional(),count:m().int(),percentage:we(),answerShare:we().optional(),category:zg,label:o(),surfaceClass:qg}),WB=d({surfaceClass:qg,label:o(),count:m().int(),percentage:we(),domainCount:m().int()}),zw=d({totalCitedSlots:m().int(),answerTotal:m().int().optional(),answersWithSources:m().int().optional(),domainTotal:m().int(),entries:y(JB),truncatedDomainCount:m().int(),truncatedCitedSlots:m().int(),bySurfaceClass:y(WB)}),eL=d({answers:y(o()),distinctDomains:y(o()),answerDomainPairs:y(o()),runs:y(o())}),tL=A(["measurement-plan","query-text"]);d({runId:o().trim().min(1).optional(),queryClass:W0.optional(),includeByQuery:A(["true","false","1","0"]).optional()});d({ranked:zw,byProvider:He(o(),zw),providersWithoutSources:y(o()).optional(),answerTotal:m().int().optional(),runCount:m().int().optional(),pooledAcrossRuns:E().optional(),unclassifiedAnswers:m().int().optional(),filters:d({runId:o().nullable(),queryClass:W0,queryClassBasis:Fe([tL,ue()]),includeByQuery:E()}).optional(),runId:o(),runIds:y(o()).optional(),countUnits:eL.optional(),window:Tm,limit:m().int().nullable(),overall:y(Dw),byQuery:He(o(),y(Dw)).optional()});const nL=A(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),aL=Be("kind",[d({kind:R("project")}).strict(),d({kind:R("group"),groupKey:o().trim().min(1)}).strict(),d({kind:R("all-markets")}).strict()]),g3=A(["all","branded","non-brand"]),y3=A(["project","all-markets"]);d({window:Tm.optional(),groupKey:o().trim().min(1).optional(),scope:y3.optional(),provider:o().trim().min(1).optional(),model:Gr.optional(),groupBy:R("model").optional(),queryClass:g3.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 As=d({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:nL,pinned:E(),mentionCount:m().int().nonnegative(),shareOfVoice:ot(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(),b3=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(),iL=d({answers:y(o()),distinctNames:y(o()),runs:y(o())}).strict(),sL=50,oL=d({...Dg,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:Gr.nullable(),servedModels:wo,snapshotCount:m().int().positive(),project:As,pinned:y(As),observed:y(As),otherSources:y(As),evidence:b3,truncated:E()}).strict(),rL=d({basis:R("requested-model"),groups:y(oL).max(sL),totalGroups:m().int().nonnegative(),truncated:E()}).strict();d({...Dg,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:Tm,scope:aL,project:As,pinned:y(As),observed:y(As),otherSources:y(As),evidence:b3,modelComparison:rL.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:y3,groupKey:o().nullable(),provider:o().nullable(),model:Gr.optional(),groupBy:R("model").optional(),queryClass:g3,location:o().nullable(),runId:o().nullable()}).strict(),truncated:E(),runCount:m().int().nonnegative().optional(),runIds:y(o()).optional(),countUnits:iL.optional()}).strict();const Pg=d({total:m().int(),checked:m().int(),mentioned:m().int(),cited:m().int(),mentionRate:we().nullable(),citedRate:we().nullable()}),v3=Pg.extend({provider:o(),firstObserved:o(),lastObserved:o()}),lL=Pg.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(v3).optional()}),cL=d({since:o().nullable(),until:o().nullable(),lastRuns:m().int().nullable(),runCount:m().int()}),uL=A(["provider"]),i0=d({domain:o(),mentions:m().int()}),dL=d({...Dg,measurementScope:A(["project","all-markets"]).optional(),queryClass:A(["branded","non-brand","pooled"]),percent:ot().nullable(),competitorCount:m().int().nonnegative(),projectMentions:m().int(),competitorMentions:m().int(),snapshotsWithAnswerText:m().int(),perCompetitor:y(i0)});d({project:o(),groupBy:uL.optional(),window:cL,totals:Pg,byProvider:y(v3).optional(),queries:y(lL),shareOfVoice:dL.optional()});const mL=A(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),pL=A(["up","down","flat"]),Iw=d({availability:A(["available","no-observations","no-competitive-frame","classification-unavailable"]),point:we().nullable(),ciLow:we().nullable(),ciHigh:we().nullable(),numerator:m().int(),denominator:m().int(),excludedUnknown:m().int().nonnegative().optional()}),hL=A(["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"]),fL=d({key:hL,label:o(),queryClass:A(["all","branded","non-brand","pooled"]),driftRobust:E(),from:Iw,to:Iw,rateRatio:m().nullable(),direction:Fe([pL,ue()]),verdict:mL}),Hd=d({month:o(),since:o(),until:o(),runCount:m().int(),lowRunCount:E()}),x3=d({queryCount:m().int(),excludedFromOnly:m().int(),excludedToOnly:m().int(),providers:y(o()),excludedProviders:y(o())}),w3=d({provider:o(),fromModels:y(o()),toModels:y(o())}),gL=A(["included","model-discontinuous","model-unknown"]),yL=d({provider:o(),status:gL,fromModels:y(o()),toModels:y(o())}),bL=A(["comparable","model-discontinuous","model-unknown","insufficient-data"]),k3=d({status:bL,comparedProviders:y(o()),providers:y(yL)}),vL=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()})}),xL=d({from:d({count:m().int(),of:m().int()}),to:d({count:m().int(),of:m().int()})}),wL=d({scope:A(["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()}),kL=d({from:Hd,to:Hd,basket:x3,continuity:k3,modelChanges:y(w3)});d({project:o(),selection:wL.optional(),classComparison:kL.optional(),from:Hd,to:Hd,basket:x3,metrics:y(fL),queriesMentioned:xL,byProvider:y(vL),modelChanges:y(w3),continuity:k3,competitors:d({from:y(i0),to:y(i0)})});A(["json","csv"]);const SL=d({runId:o(),runKind:R("answer-visibility"),runStatus:ma,runTrigger:ug,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:Bi,cited:E(),answerMentioned:E().nullable(),mentionState:Fe([Ac,ue()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:Fe([mm,ue()]),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(gm),searchQueries:y(o())}),jL=d({since:o().nullable(),until:o().nullable(),includeProbes:E()});d({schemaVersion:R("canonry.results-export/v1"),generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:jL,recordCount:m().int().nonnegative(),records:y(SL)});d({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:E().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:E(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:m().int().nonnegative(),researchQueries:m().int().nonnegative(),insights:m().int().nonnegative(),healthSnapshots:m().int().nonnegative()});const Em=A(["organic","paid"]);Em.enum;d({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:E(),createdAt:o(),updatedAt:o()});d({date:o(),landingPage:o(),sessions:m(),organicSessions:m(),users:m()});const Mg=A(["session","first_user","manual_utm"]),AL=d({source:o(),medium:o(),trafficClass:Em,sessions:m(),users:m().optional(),sourceDimension:Mg,share:we()}),NL=d({source:o(),medium:o(),trafficClass:Em,sourceDimension:Mg,landingPage:o(),sessions:m(),users:m().optional()}),CL=d({source:o(),medium:o(),sessions:m(),users:m().optional(),channelGroup:o(),share:we()}),ac=d({sessions:m(),sharePct:ot(),sharePctDisplay:o()}),_L=d({organic:ac,social:ac,direct:ac,ai:ac,other:ac}),TL=d({totalSessions:m(),totalOrganicSessions:m(),totalDirectSessions:m(),totalUsers:m().nullable(),topPages:y(d({landingPage:o(),sessions:m(),organicSessions:m(),directSessions:m(),users:m(),organicShare:we().nullable()})),aiReferrals:y(AL),aiReferralLandingPages:y(NL),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(CL),socialSessions:m(),socialUsers:m().optional(),channelBreakdown:_L,organicSharePct:ot(),aiSharePct:ot(),aiSharePctBySession:ot(),paidAiSharePct:ot(),paidAiSharePctBySession:ot(),organicAiSharePct:ot(),organicAiSharePctBySession:ot(),directSharePct:ot(),socialSharePct:ot(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:m(),otherSharePct:ot(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});d({connected:E(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:A(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const EL=d({propertyId:o(),displayName:o(),accountName:o()});d({properties:y(EL)});d({synced:E(),rowCount:m().int().nonnegative(),aiReferralCount:m().int().nonnegative(),socialReferralCount:m().int().nonnegative(),days:m().int().nonnegative(),requestedDays:m().int().nonnegative(),clamped:E(),syncedAt:o(),measurement:d({acquisition:d({days:m().int().nonnegative(),status:A(["ready","error"]),rowCount:m().int().nonnegative(),error:o().optional()}),leads:d({days:m().int().nonnegative(),status:A(["ready","error","not-configured"]),rowCount:m().int().nonnegative(),attributionScope:A(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});const S3=A(["new","small-base","percent"]);S3.enum;const s0=d({source:o(),sessions7d:m(),sessionsPrev7d:m(),changeSessions:m(),changePct:ot().nullable(),changeBasis:S3});d({socialSessions7d:m(),socialSessionsPrev7d:m(),trend7dPct:ot().nullable(),socialSessions30d:m(),socialSessionsPrev30d:m(),trend30dPct:ot().nullable(),biggestMover:s0.nullable()});const ic=d({sessions7d:m(),sessionsPrev7d:m(),trend7dPct:ot().nullable(),sessions30d:m(),sessionsPrev30d:m(),trend30dPct:ot().nullable()});d({organic:ic,ai:ic,social:ic,direct:ic,total:ic,aiBiggestMover:s0.nullable(),socialBiggestMover:s0.nullable()});TL.extend({windowStart:o().nullable(),windowEnd:o().nullable(),windowDays:m().nullable(),periodStart:o().nullable(),periodEnd:o().nullable()});d({date:o(),source:o(),medium:o(),trafficClass:Em,landingPage:o(),sessions:m(),users:m(),sourceDimension:Mg});const RL=d({source:o(),sessions:m(),paidSessions:m(),organicSessions:m()}),DL=d({date:o(),sessions:m(),paidSessions:m(),organicSessions:m(),bySource:y(RL)});d({days:y(DL),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:A(["deduplicated","landing-page-sum"])});d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:He(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:A(["ready","no-data"]),reason:R("no-runs-yet").optional()});const zL=d({view:A(["project","visibility","property","queries","site-health"]),unavailableReason:o().trim().min(1).max(512).optional(),selection:Ld.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."})}),IL=d({maxToolCalls:m().int().min(1).max(100).default(30),timeoutMs:m().int().min(1e3).max(6e5).default(18e4)}).strict(),Bg=A(["claude","openai","gemini","zai"]),OL=d({id:Bg,label:o(),defaultModel:o(),configured:E(),keySource:A(["config","env"]).nullable()});d({providers:y(OL).default([]),defaultProvider:Bg.nullable()});const qL=A(["aero","user","compaction"]);qL.enum;const j3=128;d({key:o().min(1).max(j3),value:o().min(1)});d({key:o().min(1).max(j3)});d({prompt:o().trim().min(1),conversationId:o().min(1).nullable().optional(),provider:Bg.optional(),modelId:o().trim().min(1).optional(),scope:A(["all","read-only"]).optional(),profile:A(["default","ads-operator"]).optional(),context:zL.optional(),limits:IL.optional()});const PL=LD({role:o(),content:wn().optional()}),A3=d({id:o(),title:o(),active:E(),modelProvider:o(),modelId:o(),createdAt:o(),updatedAt:o()});A3.extend({messages:y(PL),isStreaming:E()});d({conversations:y(A3),currentConversationId:o().nullable(),nextOffset:m().int().nullable()});d({id:gD()}).strict();d({id:o(),status:R("deleted")});const ML=["status","changes","gaps","insights"],BL=A(ML),LL=d({text:o().optional(),tool:d({name:o(),label:o(),arguments:He(o(),wn()),result:wn(),durationMs:m().int().nonnegative()})}),UL=d({id:BL,steps:y(LL),answer:o()});d({project:o(),seededAt:o(),starters:y(UL)});d({offset:Mi().int().min(0).default(0),limit:Mi().int().min(1).max(100).default(50)}).strict();const Kr=A(["commoncrawl","bing-webmaster"]);Kr.enum;const Lg=A(["queued","downloading","querying","ready","failed"]);Lg.enum;d({id:o(),release:o(),status:Lg,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 VL=d({linkingDomain:o(),numHosts:m().int(),source:Kr}),$L=d({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Kr,excludedLinkingDomains:m().int().optional(),excludedHosts:m().int().optional()});d({source:Kr,summary:$L.nullable(),total:m().int(),rows:y(VL)});d({release:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Kr});const GL=d({source:Kr,connected:E(),hasData:E(),latestRelease:o().nullable(),totalLinkingDomains:m().int(),lastSyncedAt:o().nullable()});d({projectId:o(),targetDomain:o(),sources:y(GL),anyConnected:E(),anyData:E()});d({duckdbInstalled:E(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});d({installed:E(),version:o(),path:o(),alreadyPresent:E()});d({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:m().int().nullable(),edgesBytes:m().int().nullable(),lastModified:o().nullable()});d({release:o(),syncStatus:Lg.nullable(),bytes:m().int(),lastUsedAt:o().nullable()});const KL="jev-1.13.0",Re=o().trim().min(1).max(256),At=m().int().nonnegative(),N3=Gi(e=>typeof e=="string"?[e]:e,y(Re).min(1).max(100)),Ad=we(m().min(0).max(1)).nullable(),Ui=A(["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"]);Ui.enum;const Ug=A(["disabled","not-measured","processing","partial","complete","failed","canceled","unsupported"]),Vg=d({schemaVersion:Fe([R(1),R(2)]),requestedModel:R(KL),verdictVersion:Re,identityVersion:Re,evidenceVersion:Re,segmentationVersion:Re,preprocessingVersion:Re,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 C3(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}Gi(C3,Vg);const _3=d({id:Re,displayName:o(),aliases:y(o()),qualifiedAliases:y(o()).default([]),urls:y(o()),mentionNotApplicable:E()}).strict(),HL=d({queryId:Re,executionNodeKey:Re.nullable(),targetId:Re,propertyId:Re.nullable(),groupId:Re.nullable(),marketId:Re.nullable(),queryClass:A(["branded","non-brand"]),queryText:o().optional(),location:o().nullable()}).strict(),T3=d({queryId:Re,queryText:o(),queryClass:A(["branded","non-brand"]),provider:Re,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),revision:m().int().nullable(),usageEdges:y(HL),locationContext:dn.nullable().default(null)}).strict(),Cc=d({id:Re,text:o().min(1),start:At,end:At}).strict(),E3=d({kind:A(["reported","estimated","unknown"]),inputTokens:At.nullable(),outputTokens:At.nullable()}).strict(),QL=d({sourceSnapshotId:Re,sourceText:o(),sourceTextHash:Re,subject:_3,subjectHash:Re,context:T3,language:o(),definition:Vg,sentences:y(Cc)}).strict();Gi(e=>typeof e!="object"||e===null||!("definition"in e)?e:{...e,definition:C3(e.definition)},QL);const vf={returnedModel:o().nullable(),usage:E3},FL=Be("kind",[d({kind:R("classified"),...vf,returnedModel:o(),outcome:Ui,conclusion:y(Cc),complaint:y(Cc).nullable(),confidence:m().min(0).max(1).nullable()}).strict(),d({kind:R("abstained"),...vf,outcome:Ui,reason:o()}).strict(),d({kind:R("failed"),...vf,outcome:R("failed"),error:d({code:Re,message:o(),retryable:E(),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"})});Gi(e=>typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([n])=>n!=="themes")):e,FL);const Hr=d({runId:Re.optional(),runIds:N3.optional(),revision:Mi().int().positive().optional(),mode:A(["auto","simple","advanced"]).default("auto"),queryClass:A(["branded","non-brand"]).default("branded"),scope:A(["project","property","group","market"]).default("project"),queryId:Re.optional(),scopeKey:Re.optional(),marketKey:Re.optional(),provider:Re.optional(),model:Re.optional(),location:o().min(1).optional(),evaluationDefinitionId:Re.optional(),executionNodeKey:Re.optional()}).strict();function $c(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."})}Hr.superRefine($c);const ZL=A(["assessments","locations"]),YL=25,R3=500;Hr.extend({include:Gi(e=>typeof e=="string"?e.split(",").map(n=>n.trim()).filter(Boolean):e,y(ZL).max(2)).optional(),queryLimit:Mi().int().min(1).max(R3).default(YL),queryCursor:o().min(1).max(16384).optional()}).superRefine($c);const XL=Gi(e=>{const n=typeof e=="string"?[e]:Array.isArray(e)?e:null;return n?[...new Set(n.flatMap(i=>typeof i=="string"?i.split(",").map(r=>r.trim()).filter(Boolean):[i]))]:e},y(Ui).min(1).max(Ui.options.length));Hr.extend({assessmentId:Re.optional(),outcome:XL.optional(),cursor:o().min(1).max(16384).optional(),limit:Mi().int().min(1).max(100).default(50)}).superRefine($c);Hr.extend({fromRunId:Re,toRunId:Re}).superRefine((e,n)=>{$c(e,n),e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Comparison requires one explicit run per period."}),e.fromRunId===e.toRunId&&n.addIssue({code:"custom",path:["toRunId"],message:"Comparison requires two different runs; one rated run has no trend yet."})});const $g=Hr.extend({runId:Re.nullable(),revision:m().int().nullable(),evaluationDefinitionId:Re.nullable(),mode:A(["simple","advanced"])}),Gg=d(Object.fromEntries(Ui.options.map(e=>[e,At]))).strict(),JL=d({selected:At,eligibleAssessments:At,unadmittedAssessments:At,judged:At,distinctSourceAnswers:At,eligibleAnswers:At.optional(),ratedAnswers:At.optional(),ratedAnswerRate:Ad.optional(),counts:Gg,expectedProviderSlots:At,completedProviderSlots:At}).strict(),WL=d({favorableRate:Ad,mixedRate:Ad,unfavorableRate:Ad,favorableDisplay:o(),mixedDisplay:o(),unfavorableDisplay:o(),interval:d({low:m(),high:m()}).strict().nullable(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Dr={state:Ug,reason:o().nullable(),provisional:E(),coverage:JL,score:WL},Ow=d({...Dr,selection:$g,runIds:y(Re)}).strict(),eU=d({...Dr,queryClass:R("all"),runIds:y(Re)}).strict(),tU=d({configured:E(),branded:Ow,nonBrand:Ow,overall:eU.optional()}).strict(),nU=d({assessmentId:Re.nullable(),sourceSnapshotId:Re,runId:Re,subjectId:Re,subjectLabel:o(),executionNodeKey:Re.nullable(),provider:Re,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),evaluationDefinitionId:Re.nullable(),state:Ug,outcome:Fe([Ui,ue()]),reason:o().nullable()}).strict(),aU=d({...Dr,queryId:Re,executionNodeKey:Re.nullable().optional(),queryText:o(),queryClass:A(["branded","non-brand"]),sourceSnapshotIds:y(Re),assessments:y(nU).default([]),locations:y(d({...Dr,location:o().nullable(),sourceSnapshotIds:y(Re)}).strict())}).strict(),iU=d({...Dr,dimension:A(["provider","property","market","query"]),key:o(),label:o(),queryClass:A(["branded","non-brand"])}).strict(),o0=d({...Dr,configured:E(),selection:$g,evaluationDefinition:Vg.nullable(),breakdowns:y(iU),queries:y(aU),criticizedProperties:d({total:At,keys:y(o())}).strict().optional(),queryPage:d({total:At,limit:At,nextCursor:o().nullable()}).strict().optional()}).strict();d({enabled:E().optional()}).strict();const sU=d({installEnabled:E(),enabled:E(),ready:E(),readinessReasons:y(o()),model:o(),enablementEpoch:At,completionBoundary:At,evaluationDefinitionId:Re.nullable(),actions:d({configure:E(),backfill:E()}).strict(),experimental:R(!0),disclosure:o()}).strict(),D3=Hr.extend({runIds:N3.optional(),from:o().datetime().optional(),to:o().datetime().optional()}).superRefine($c);d({previewToken:o().min(1).max(65536),idempotencyKey:o().trim().min(1).max(128)}).strict();const oU=d({previewToken:o().nullable(),expiresAt:o().nullable(),selection:D3,evaluationDefinitionId:Re.nullable(),eligibleAssessments:At,alreadyClassified:At,skipped:y(d({runId:Re,reason:o(),count:At}).strict()),estimatedInputTokens:At,estimatedCostUsd:m().nonnegative().nullable(),estimateMethod:o()}).strict(),rU=A(["pending","running","waiting-to-retry","complete","partial","failed","canceled"]),lU=d({id:Re,workItemId:Re,dispatchedAt:o(),completedAt:o().nullable(),returnedModel:o().nullable(),usage:E3,errorCode:o().nullable()}).strict(),z3=d({id:Re,projectId:Re,origin:A(["automatic","backfill"]),state:rU,enablementEpoch:At,evaluationDefinitionId:Re,selection:D3,createdAt:o(),updatedAt:o(),counts:Gg,selected:At,cancellationReason:o().nullable(),attempts:y(lU),attemptCount:At.optional(),nextAttemptCursor:o().nullable().optional()}).strict(),cU=z3.omit({attempts:!0,attemptCount:!0,nextAttemptCursor:!0}).extend({attemptCount:At}).strict(),uU=d({jobs:y(cU)}).strict(),dU=50;d({attemptLimit:Mi().int().min(1).max(200).default(dU),attemptCursor:o().min(1).max(4096).optional()}).strict();const mU=d({assessmentId:Re,runId:Re,sourceSnapshotId:Re,sourceText:o(),sourceTextHash:Re,subject:_3,subjectHash:Re,context:T3,evaluationDefinitionId:Re,outcome:Ui,conclusion:y(Cc),complaint:y(Cc).nullable(),returnedModel:o().nullable(),reason:o().nullable()}).strict(),pU=d({state:Ug,selection:$g.extend({assessmentId:Re.optional(),outcome:y(Ui).optional()}),items:y(mU),nextCursor:o().nullable()}).strict(),hU=d({from:o0,to:o0,verdict:A(["improved","declined","no-clear-change"]).nullable(),favorableRateDelta:m().nullable(),refusalReasons:y(o()),commonUnits:At,excludedFrom:At,excludedTo:At,changedScope:E(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Kg=A(["positive","caution","negative","neutral"]),js=d({label:o(),value:o(),delta:o(),tone:Kg,description:o(),tooltip:o().optional(),trend:y(ot()),progress:ot().optional(),providerCoverage:o().optional()}),qw=d({projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative(),combinedMentionSnapshots:m().int().nonnegative(),perCompetitor:y(d({domain:o(),mentionSnapshots:m().int().nonnegative(),shareOfCompetitiveTotal:ot()})),ranking:y(d({kind:A(["project","competitor"]),domain:o().nullable(),mentionSnapshots:m().int().nonnegative(),share:we(m().min(0).max(1))})),snapshotsWithAnswerText:m().int().nonnegative(),snapshotsTotal:m().int().nonnegative(),score:ot(m().min(0).max(100)).nullable()}),fU=js.extend({breakdown:qw,scope:A(["non-brand","pooled"]),branded:qw}),xf=d({gained:m().int().nonnegative(),lost:m().int().nonnegative(),tone:Kg,hasPreviousRun:E(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),gU=d({hasPreviousRun:E(),comparable:E(),querySetChanged:E(),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())}),yU=d({id:o(),projectId:o(),runId:o().nullable(),type:A(["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:A(["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:E(),createdAt:o()}),bU=d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:He(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:A(["ready","no-data"]),reason:R("no-runs-yet").optional()});d({sentiment:tU.optional(),project:xO,latestRun:II,health:bU.nullable(),topInsights:y(yU),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:we(),mentionedQueries:m().int().nonnegative(),notMentionedQueries:m().int().nonnegative(),mentionRate:we()}),providers:y(d({provider:o(),citedRate:we(),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:js,visibility:js,mentionShare:fU,gapQueries:js,mentionGaps:js,indexCoverage:js,competitorPressure:js,runStatus:js}),movementSummary:xf,citationMovement:xf,mentionMovement:xf,movementComparison:gU,competitors:y(d({id:o(),domain:o(),aliases:y(o()).optional(),citationCount:m().int().nonnegative(),totalQueries:m().int().nonnegative(),pressureLabel:A(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(d({provider:o(),model:o().nullable(),score:ot(),cited:m().int().nonnegative(),total:m().int().nonnegative(),trend:y(ot()).optional()})),attentionItems:y(d({id:o(),tone:Kg,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(d({runId:o(),createdAt:o(),citedCount:m().int().nonnegative(),totalCount:m().int().nonnegative(),citationRate:ot(),mentionedCount:m().int().nonnegative(),mentionRate:ot(),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()});A(["snapshot","insight"]);const vU=d({kind:R("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:Bi,matchedField:A(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),xU=d({kind:R("insight"),id:o(),runId:o().nullable(),type:A(["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:A(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:A(["title","query","recommendation","cause"]),snippet:o(),dismissed:E(),createdAt:o()}),wU=Be("kind",[vU,xU]);d({query:o(),totalHits:m().int().nonnegative(),truncated:E(),hits:y(wU)});const I3=A(["create","expand","refresh","add-schema"]);I3.enum;const O3=A(["gsc","competitor-evidence","both"]);O3.enum;const q3=A(["high","medium","low"]);q3.enum;const kU=A(["blog-post","comparison","listicle","how-to","guide","glossary"]);kU.enum;const P3=A(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);P3.enum;const Hg=A(["ownable","ceded"]);Hg.enum;const SU=d({url:o(),gscImpressions:m().nonnegative(),gscClicks:m().nonnegative(),gscAvgPosition:m().nonnegative().nullable(),organicSessions:m().nonnegative()}),jU=d({domain:o(),url:o(),title:o(),citationCount:m().int().nonnegative()}),AU=d({demand:m(),competitor:m(),absence:m(),gapSeverity:m()}),NU=d({actionId:o(),state:P3,lastUpdated:o()}),CU=d({targetRef:o(),query:o(),action:I3,ourBestPage:SU.nullable(),winningCompetitor:jU.nullable(),score:m(),scoreBreakdown:AU,drivers:y(o()),demandSource:O3,actionConfidence:q3,existingAction:NU.nullable(),winnabilityClass:Hg,winnability:we(m().min(0).max(1)).nullable()});d({targets:y(CU),contextMetrics:d({totalAiReferralSessions:m().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const _U=d({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});d({dismissals:y(_U)});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:E().optional()});const TU=d({targetQuery:o().trim().min(1),winnabilityClass:Hg,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:TU,costMillicents:m().int().nonnegative(),generatedAt:o()});const EU=d({domain:o(),competitorType:Vc,hits:m().int().nonnegative(),updatedAt:o()});d({classifications:y(EU)});const RU=d({uri:o(),title:o(),domain:o(),isOurDomain:E(),isCompetitor:E(),citationCount:m().int().nonnegative(),providers:y(St)}),DU=d({query:o(),groundingSources:y(RU)});d({sources:y(DU),latestRunId:o()});const zU=d({query:o(),competitorDomains:y(o()),competitorCount:m().int().nonnegative(),missRate:we(m().min(0).max(1)),lastSeenInRunId:o()});d({gaps:y(zU),latestRunId:o()});const M3=A(["ok","warn","fail","skipped"]);M3.enum;const Qg=A(["global","project"]);Qg.enum;const B3=A(["auth","config","providers","integrations","database","schedules","agent"]);B3.enum;const L3=A(["health","silent"]);L3.enum;const IU=o().regex(/^[1-9]\d{3}-(0[1-9]|1[0-2])$/,"Expected YYYY-MM"),OU=d({id:o(),category:B3,scope:Qg,title:o(),status:M3,notificationPolicy:L3.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:He(o(),wn()).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:Qg,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),reportMonths:y(IU).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(OU)});function qU(e){return e.trim().toLowerCase()}const PU=d({provider:o(),citationState:Bi,cited:E(),mentioned:E(),runId:o(),runCreatedAt:o()}),MU=d({queryId:o(),query:o(),providers:y(PU),citedCount:m().int().nonnegative(),mentionedCount:m().int().nonnegative(),totalProviders:m().int().nonnegative()}),BU=d({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),LU=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:LU,byQuery:y(MU),competitorGaps:y(BU),status:A(["ready","no-data"]),reason:A(["no-runs-yet","no-queries"]).optional()});const UU=Fe([R(60),R(90)]),VU=A(["earliest","middle","prior","latest"]),xr=d({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),U3=d({name:VU,startDate:o(),endDate:o()}),$U=U3.extend({totals:xr}),GU=U3.extend({organicSessions:m().int().nonnegative()}),wf=d({startDate:o(),endDate:o(),observedDays:m().int().nonnegative()}),pd=d({verified:m().int().nonnegative(),claimedUnverified:m().int().nonnegative(),unknownAiLike:m().int().nonnegative()}),Pw=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({contractVersion:R("organic-evidence/v1"),periodDays:UU,asOfDate:o().nullable(),coverage:d({gsc:E(),ga4:E(),server:E(),visibility:E()}),sourceCoverage:d({gsc:wf.nullable(),ga4:wf.nullable(),server:wf.nullable(),visibility:d({completedAt:o(),ageDays:m().nonnegative()}).nullable()}),gsc:d({propertyTotals:xr,namedBrand:xr,namedNonBrand:xr,suppressedOrUnreportedResidual:xr,cohorts:y($U)}).nullable(),ga4:d({organicSessions:m().int().nonnegative(),cohorts:y(GU)}).nullable(),gaAiReferrals:d({paidSessions:m().int().nonnegative(),organicSessions:m().int().nonnegative()}).nullable(),server:d({crawlerHits:pd,userFetchHits:pd,referralSessions:Pw}).nullable(),visibility:d({runId:o(),completedAt:o(),ageDays:m().nonnegative(),answerPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative()}).nullable(),measurement:Az,pages:y(d({path:o(),gsc:xr,ga4OrganicSessions:m().int().nonnegative(),server:d({crawlerHits:pd,userFetchHits:pd,referralSessions:Pw})})),findings:y(d({tone:A(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(d({code:o(),detail:o()}))});const KU=A(["claude","codex"]);KU.enum;const HU=A(["claude","codex","all"]);HU.enum;const V3=d({content:m().int().nonnegative(),sitemap:m().int().nonnegative(),robots:m().int().nonnegative(),asset:m().int().nonnegative(),other:m().int().nonnegative()}),QU=A(["content","sitemap","robots","asset","other"]),Fg=A(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);Fg.enum;const FU=A(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);FU.enum;const ZU=A(["raw-request","aggregate-bucket"]),YU=ZU.enum,XU=A(["observed","provider-aggregated","inferred"]),JU=XU.enum,WU=d({type:o().nullable(),labels:He(o(),o())}),eV=d({sourceType:Fg,evidenceKind:R(YU["raw-request"]),confidence:R(JU.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:WU,providerLabels:He(o(),o())});d({events:y(eV),rawEntryCount:m().int().nonnegative(),skippedEntryCount:m().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const $3=A(["connected","paused","error","archived"]),qee=$3.enum,G3=A(["oauth","service-account"]);G3.enum;const tV=A(["verified","claimed_unverified","unknown_ai_like"]),Pee=tV.enum,nV=d({id:o().min(1),source:o().min(1),version:o().min(1)}),K3=d({manifestId:o().min(1),manifest:nV.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 Zg=A(["production","preview"]);Zg.enum;d({projectId:o().min(1),teamId:o().min(1),environment:Zg});const H3=d({id:o(),projectId:o(),sourceType:Fg,displayName:o(),status:$3,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:m().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:He(o(),wn()),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:Zg.optional(),displayName:o().min(1).optional()});const aV=A(["direct-push","queue-pull"]),Qr=aV.enum,Yg=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()}),iV=Q3.extend({deliveryMode:R(Qr["direct-push"]),accountId:o().nullable()}),sV=Q3.extend({deliveryMode:R(Qr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:Yg,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"}}Gi(F3,Be("deliveryMode",[iV,sV]));const Z3=d({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),oV=Z3.extend({deliveryMode:R(Qr["direct-push"]),accountId:o().min(1).optional()}),rV=Z3.extend({deliveryMode:R(Qr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:Yg,retentionSeconds:m().int().min(60).max(1209600),apiToken:o().min(1)});Gi(F3,Be("deliveryMode",[oV,rV]));const Y3=d({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),lV=Y3.extend({deliveryMode:R(Qr["direct-push"]),activationRequired:E().default(!1)}),cV=Y3.extend({deliveryMode:R(Qr["queue-pull"]),activationRequired:E().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:Yg,retentionSeconds:m().int().min(60).max(1209600)});Be("deliveryMode",[lV,cV]);const uV=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:E().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(uV).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 dV=d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:V3,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 mV=H3.extend({totals24h:dV,latestRun:d({runId:o(),status:ma,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});d({sources:y(mV)});const pV=A(["crawler","ai-user-fetch","ai-referral"]),Xg=pV.enum,X3=A(["hour","day"]);X3.enum;const hV=d({bucket:o(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),measured:E()}),fV=d({kind:R(Xg.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(K3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),pathClass:QU,status:m().int(),hits:m().int().nonnegative()}),gV=d({kind:R(Xg["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()}),yV=d({kind:R(Xg["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()}),bV=Be("kind",[fV,gV,yV]);d({windowStart:o(),windowEnd:o(),series:d({granularity:X3,points:y(hV),coverageStart:o().nullable(),trends:d({crawlerContentHits:yo.nullable(),aiUserFetchHits:yo.nullable(),aiReferralLandedHits:yo.nullable()})}),totals:d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:V3,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:E()}),events:y(bV)});const Jg=A(["admin","viewer"]),vV=/^[a-z\d][\w.-]{0,63}$/i,xV=o().regex(vV,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),Mw=12,wV=o().min(Mw,`A password must be at least ${Mw} characters.`),J3=d({id:o(),name:o(),role:Jg,createdAt:o(),lastLoginAt:o().nullable()});d({users:y(J3)});d({name:xV,password:wV,role:Jg});d({name:o().min(1),password:o().min(1)});d({authRequired:E(),user:J3.pick({name:!0,role:!0}).nullable()});const W3=A(["queued","running","completed","partial","failed"]),Mee=W3.enum,eA=A(["queued","running","completed","failed"]),Bee=eA.enum,kV=20,SV=20,r0=50,tA=d({kind:A(["market","property"]),key:ge,expectedPlanRevision:m().int().positive().optional()}).strict(),jV=d({kind:A(["market","property"]),key:ge,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 Lee(e){const n=new Set;return e.filter(i=>{const r=qU(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function AV(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 Uee(e,n,i){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(x=>x[1]),h=[...new Set(u.filter(x=>!r.has(x)))];if(h.length)throw _x("The selected research template contains undeclared placeholders: "+h.join(", "));const f=AV(n,i),b=e.variables.filter(x=>f[x]===void 0);if(b.length)throw _x("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(x=>[x,f[x]]));return{bindings:v,output:JO(e.pattern,v)}}const aA=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:dn.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:dn.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:ye.custom,path:["provider"],message:"provider is required when model is supplied"})});const NV=tA.extend({expectedPlanRevision:m().int().positive()}).strict(),CV=d({queries:y(nA).min(1).max(r0),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:dn.nullable(),scope:NV.optional(),template:aA.optional()}).strict();d({idempotencyKey:o().trim().min(1).max(128),runs:y(CV).min(1).max(SV)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>r0&&n.addIssue({code:ye.custom,path:["runs"],message:`A research batch may contain at most ${r0} concrete queries across all destinations`})});const _V=d({kind:A(["api-key","user"]),id:o(),name:o(),role:Jg.nullable(),limited:E().optional()}),iA=d({id:o(),projectId:o(),status:W3,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:dn.nullable(),scope:jV.nullable().optional(),template:mj.nullable().optional(),totalQueries:m().int(),completedQueries:m().int(),failedQueries:m().int(),error:o().nullable(),initiatedBy:_V.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),TV=d({id:o(),position:m().int(),query:o(),queryClass:Br.nullable().optional(),status:eA,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(gm),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:E().nullable(),citationState:Bi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),EV=iA.extend({queries:y(TV)});d({runs:y(EV)});const RV=d({name:o(),displayName:o(),modelConfigurable:E(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o()}))});d({runs:y(iA),nextCursor:o().nullable().optional(),providers:y(RV).optional(),access:d({canRun:E(),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 DV=d({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});d({count:m().int().nonnegative(),query:o(),results:y(DV)});const zV=d({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});d({pixels:y(zV)});const IV=d({id:o(),name:o().optional()}),OV=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(IV).optional(),archived:E().optional(),version:m().int().nonnegative().optional()});d({eventSettings:y(OV)});d({connected:E(),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:E().optional()});d({disconnected:E()});d({runId:o(),status:o()});const qV=["campaign_id","ad_group_id","ad_id","ad_account_id","oppref"],PV=/^[\w.-]+=[^&#\s]*$/,MV=/\{([^}]*)\}/g,Co=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(!PV.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(MV)){const h=u[1];if(!qV.includes(h)){i(`Tracking template macro '{${h}}' is not supported`);return}}}),BV=d({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),Gc=A(["impressions","clicks"]);Gc.enum;const Kc=A(["impression","click"]);Kc.enum;const LV=d({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:BV.nullable().optional(),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),UV=d({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:Fe([Kc,ue()]).optional(),maxBidMicros:m().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(LV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),VV=d({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:m().int().nullable().optional(),endTime:m().int().nullable().optional(),biddingType:Fe([Gc,ue()]).optional(),dailySpendLimitMicros:m().int().nullable().optional(),lifetimeSpendLimitMicros:m().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(UV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()});d({campaigns:y(VV)});const sA=A(["campaign","ad_group"]);sA.enum;const $V=d({level:sA,entityId:o(),date:o(),impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:we().nullable(),cpcMicros:m().int().nullable(),inProgress:E()});d({rows:y($V),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:we().nullable(),cpcMicros:m().int().nullable()});d({connected:E(),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=A(["unavailable","partial","complete"]);lA.enum;const cA=A(["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=A(["unavailable","reported"]);uA.enum;const GV={storedSnapshot:"stored_ads_snapshot"},dA=A(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);dA.enum;const KV=d({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),HV=d({id:o(),name:o(),status:o(),billingEventType:Fe([Kc,ue()]),maxBidMicros:m().int().nullable(),contextHints:y(o()),ads:y(KV)}),QV=d({id:o(),name:o(),status:o(),biddingType:Fe([Gc,ue()]),dailySpendLimitMicros:m().int().nullable(),lifetimeSpendLimitMicros:m().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(HV)});d({snapshot:d({status:lA,issue:Fe([cA,ue()]),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(GV.storedSnapshot),connection:d({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:E()}).nullable(),campaigns:y(QV)}),assessment:d({state:dA})});const oi=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),zr=m().int().min(946684800).max(4102444800),Ir=m().int().positive().max(Number.MAX_SAFE_INTEGER),Wg=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=A(["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=A(["pending","reconciling","succeeded","failed","unknown"]),Ar=fA.enum,gA=A(["known_entity","create_fingerprint","manual_only"]);gA.enum;const yA=A([Ar.pending,Ar.unknown,Ar.reconciling]);yA.enum;const bA=A(["active","paused","archived"]);bA.enum;const vA=A(["file","campaign","ad_group","ad"]);vA.enum;const xA=A(["campaign","ad_group","ad"]);xA.enum;const e1=d({id:$t,expectedUpdatedAt:m().int().nonnegative()}).strict(),FV=e1,Qd=1e3;function ZV(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const YV=e1.extend({ads:y(FV).min(1).max(Qd-1)}).strict(),XV=e1.extend({adGroups:y(YV).min(1).max(Qd-1)}).strict();function JV(e,n){return e<n?-1:e>n?1:0}function Bw(e,n,i){for(let r=1;r<e.length;r+=1)if(JV(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:XV}).strict().superRefine((e,n)=>{ZV(e)>Qd&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${Qd} entities`}),Bw(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];Bw(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=Wg,WV=A(["approved","executing","consumed","revoked","expired","unknown"]),Pi=WV.enum,e$=A(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),zs=e$.enum,t$=d({name:_o.optional(),description:o().max(4e3).nullable().optional(),status:bA.optional(),startTime:zr.nullable().optional(),endTime:zr.nullable().optional(),lifetimeSpendLimitMicros:Ir.min(1e6).optional(),locationIds:y($t).max(100).optional(),biddingType:Gc.optional(),conversionEventSettingIds:mA.optional(),campaignId:$t.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:Ir.max(1e8).optional(),billingEventType:Kc.optional(),adGroupId:$t.optional(),creativeFingerprint:Wg.optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).strict();d({operationKey:oi,imageUrl:pA});d({operationKey:oi,name:_o,description:o().max(4e3).optional(),startTime:zr.optional(),endTime:zr.optional(),lifetimeSpendLimitMicros:Ir.min(1e6),locationIds:y($t).min(1).max(100),biddingType:Gc.optional(),conversionEventSettingIds:mA.optional(),landingPageQueryStringTemplate:Co.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:oi,campaignId:$t,name:_o,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:Ir.max(1e8),billingEventType:Kc.optional(),landingPageQueryStringTemplate:Co.optional()});const SA=d({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:pA,fileId:$t});d({operationKey:oi,adGroupId:$t,name:_o,creative:SA,landingPageQueryStringTemplate:Co.optional()});function t1(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative(),name:_o.optional(),description:o().max(4e3).nullable().optional(),startTime:zr.nullable().optional(),endTime:zr.nullable().optional(),lifetimeSpendLimitMicros:Ir.min(1e6).optional(),locationIds:y($t).min(1).max(100).optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(t1,{message:"At least one campaign field must be updated"});d({operationKey:oi,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:Ir.max(1e8).optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(t1,{message:"At least one ad group field must be updated"});d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative(),name:_o.optional(),creative:SA.optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(t1,{message:"At least one ad field must be updated"});d({operationKey:oi});d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative()});const Rm=d({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:hA,state:fA,entityType:Fe([vA,ue()]),entityId:o().nullable(),upstreamUpdatedAt:m().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:Fe([gA,ue()]),reconcileParentId:$t.nullable(),reconcileFingerprint:Wg.nullable(),reconcileFields:t$.nullable(),reconcileAttempts:m().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});d({operation:Rm,replayed:E()});const Ot=ZS({offset:!0}),Fr={id:$t,projectId:$t,adAccountId:$t,manifestHash:kA,manifest:wA,executorApiKeyId:$t,approverApiKeyId:$t,expiresAt:Ot,approvedAt:Ot,createdAt:Ot,updatedAt:Ot,revocationRequestedAt:Ot.nullable()},n$=d({...Fr,state:R(Pi.approved),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),a$=d({...Fr,state:R(Pi.executing),operationId:$t,executionStartedAt:Ot,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),i$=d({...Fr,state:R(Pi.consumed),operationId:$t,executionStartedAt:Ot,consumedAt:Ot,revokedAt:ue(),expiredAt:ue()}).strict(),s$=d({...Fr,state:R(Pi.revoked),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:Ot,expiredAt:ue()}).strict(),o$=d({...Fr,state:R(Pi.expired),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:Ot}).strict(),r$=d({...Fr,state:R(Pi.unknown),operationId:$t,executionStartedAt:Ot,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),jA=Be("state",[n$,a$,i$,s$,o$,r$]).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!==Pi.executing&&e.state!==Pi.unknown&&e.state!==Pi.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),Is={id:$t,operationId:$t,ordinal:m().int().nonnegative(),entityType:xA,entityId:$t,expectedUpdatedAt:m().int().nonnegative(),createdAt:Ot,updatedAt:Ot},Hc={errorCode:ue(),errorMessage:ue()},n1={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},l$=d({...Is,...Hc,state:R(zs.pending),providerUpdatedAt:ue(),remediation:ue(),startedAt:ue(),finishedAt:ue()}).strict(),c$=d({...Is,...Hc,state:R(zs.executing),providerUpdatedAt:ue(),remediation:ue(),startedAt:Ot,finishedAt:ue()}).strict(),u$=d({...Is,...Hc,state:R(zs.active),providerUpdatedAt:m().int().nonnegative(),remediation:ue(),startedAt:Ot,finishedAt:Ot}).strict(),d$=d({...Is,...n1,state:R(zs.failed),providerUpdatedAt:Fe([m().int().nonnegative(),ue()]),startedAt:Ot,finishedAt:Ot}).strict(),m$=d({...Is,...Hc,state:R(zs.rollback_executing),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Ot,finishedAt:ue()}).strict(),p$=d({...Is,...Hc,state:R(zs.rolled_back),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Ot,finishedAt:Ot}).strict(),h$=d({...Is,...n1,state:R(zs.rollback_failed),providerUpdatedAt:m().int().nonnegative(),startedAt:Ot,finishedAt:Ot}).strict(),f$=d({...Is,...n1,state:R(zs.unknown),providerUpdatedAt:Fe([m().int().nonnegative(),ue()]),startedAt:Ot,finishedAt:Ot}).strict(),g$=Be("state",[l$,c$,u$,d$,m$,p$,h$,f$]),l0={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},y$=A([l0.exact,l0.refreshSemanticallyUnchanged]);d({manifest:wA,executorApiKeyId:$t,expiresAt:Ot,versionPolicy:y$.default(l0.exact)}).strict();d({grant:jA}).strict();d({}).strict();d({operationKey:oi,grantId:$t,manifestHash:kA}).strict();d({grant:jA,operation:Rm,steps:y(g$)}).strict();const b$=[Ar.pending,Ar.unknown,Ar.reconciling];function v$(e){if(e===void 0||e==="")return b$;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:Gi(v$,y(yA).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:Mi().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});d({operations:y(Rm),count:m().int().nonnegative(),nextCursor:o().nullable()});d({}).strict();d({operation:Rm,resolved:E()});d({campaignId:o().min(1).max(200).optional(),lookbackDays:Mi().int().min(1).max(30).default(7)});const AA=A(["campaign","ad_group","ad"]);AA.enum;const NA=A(["both","live-only","stored-only"]);NA.enum;const x$=R("live-provider-read"),w$=d({date:o().nullable(),startTime:m().nullable(),endTime:m().nullable(),impressions:m().nullable(),clicks:m().nullable(),spend:m().nullable(),conversions:m().nullable(),ctr:we().nullable(),cpc:m().nullable(),cpm:m().nullable()}),Lw=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int()}),k$=d({date:o(),live:Lw.nullable(),stored:Lw.nullable(),drifted:E()}),S$=d({field:o(),live:o().nullable(),stored:o().nullable()}),j$=d({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:m().nullable()}),A$=d({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:m().nullable(),syncedAt:o()}),N$=d({entityType:AA,id:o(),parentId:o().nullable(),presence:NA,live:j$.nullable(),stored:A$.nullable(),fieldDeltas:y(S$),liveMetrics:y(w$).nullable(),metricDeltas:y(k$).nullable(),drifted:E()}),C$=d({surface:o(),entityId:o().nullable(),upstreamStatus:m().int().nullable()});d({basis:x$,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:E()}),entities:y(N$),drift:d({entitiesCompared:m().int().nonnegative(),driftedEntities:m().int().nonnegative(),statusDrifted:m().int().nonnegative(),metricsDrifted:m().int().nonnegative()}),errors:y(C$)});const _$=d({status:A(["available","unavailable","not-supported"])}),Uw="*";function CA(e){if(e?.some(n=>n.trim().toLowerCase()==="report"))return"The report embed tab has been retired. Remove report from the allowed tabs; explicitly configure overview to display AI Visibility."}const T$=A(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),E$=A(["server","local"]);d({enabled:E(),configuredEnabled:E(),reason:T$,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:E$.optional()}).strict();const ft=1,kf=A(["system","project","queries","competitors","run","finish"]),R$=A(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),Sf=A(["0","1","2-3","4-5","6-10","11+"]);function ni(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 Vw=A(["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"]),D$=A(["wizard","platform","site_health"]),hd=d({eventId:o().uuid(),flowVersion:R(ft),onboardingSessionId:o().uuid(),surface:D$.optional()});Be("event",[hd.extend({event:R("onboarding.started"),step:kf,resumed:E()}).strict(),hd.extend({event:R("onboarding.step_completed"),step:kf,method:A(["existing","inline","manual","generated","skipped","automatic"]),countBucket:Sf.optional(),nextAction:R$.optional()}).strict(),hd.extend({event:R("onboarding.blocked"),step:kf,action:A(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:Vw}).strict(),hd.extend({event:R("run.requested"),origin:R("dashboard_setup"),result:A(["queued","rejected"]),kind:A(["answer_visibility","site_health"]).optional(),providerCountBucket:Sf,queryCountBucket:Sf,reasonCode:Vw.optional()}).strict()]);d({accepted:E()});A(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const _A=["/","/projects","/projects/:projectName","/projects/:projectName/portfolio","/projects/:projectName/search-console","/projects/:projectName/conversions","/projects/:projectName/local","/projects/:projectName/discovery","/projects/:projectName/queries","/projects/:projectName/properties/:targetKey","/projects/:projectName/report","/projects/:projectName/activity","/projects/:projectName/backlinks","/projects/:projectName/technical-aeo","/projects/:projectName/history","/projects/:projectName/settings","/runs","/history","/settings","/setup","/backlinks","/traffic","/traffic/:projectName/:sourceId","not-found","other"],z$=A(_A),TA=["overview","portfolio","search-console","conversions","local","discovery","queries","properties","report","activity","backlinks","technical-aeo","history","settings","other"],jf=A(TA),I$=["sweep.launch","sweep.cancel","site_audit.launch","project.create","project.update","project.delete","query.add","query.delete","query.generate","competitor.save","competitor.delete","schedule.save","schedule.delete","provider.save","settings.save","integration.connect_started","integration.connect","integration.disconnect","traffic.sync","notification.save","notification.test","measurement_plan.publish","discovery.run","api_key.create","api_key.revoke","export.download","report.download","aero.open","aero.send","filter.change","search.submit"],O$=A(I$),q$=["google","gsc","ga","bing","gbp","wordpress","openai_ads","google_ads","gtm","traffic_cloudflare","traffic_vercel","traffic_cloud_run","traffic_wordpress"],P$=A(q$),M$=["provider","model","location","window","query_class","other"],B$=A(M$),L$=["csv","json","html"],U$=["render","unhandled","api"],V$=["4xx","5xx","network"],$$=["LCP","INP","CLS","FCP","TTFB"],G$=["good","needs-improvement","poor"],EA=/^[a-z][a-z0-9-]{0,39}$/,RA=/^[a-z_$][\w$]{0,39}$/i,K$=/^\/api\/v1(?:\/(?:[a-z][a-z0-9-]*(?:\.[a-z]+)?|\{[A-Za-z]+\}))*$/,DA=160,H$=new Set(["accounts","activation-grants","ad-groups","ads","cache","campaigns","competitors","confirm","connections","containers","contracts","conversations","dismissals","insights","jobs","keys","locations","measurement-query-sets","measurement-query-templates","notifications","operations","projects","providers","queries","recommendations","runs","screenshots","segments","sessions","snapshots","sources","users","versions"]),Q$=new Set(["ads/account","ads/activation-grants","ads/ad-groups","ads/ads","ads/campaigns","ads/connect","ads/connection","ads/conversions","ads/delivery-diagnostics","ads/files","ads/geo","ads/insights","ads/live-delivery","ads/operations","ads/status","ads/summary","ads/sync","keys/self","locations/default","locations/discover","notifications/events","operations/logs","queries/generate","queries/replace-preview","runs/latest","snapshots/diff"]),F$=/^\{[a-z]+\}$/i;function zA(e){if(e.length>DA||e.includes("://")||!K$.test(e))return!1;const n=e.split("/").slice(3);return n.every((i,r)=>{const u=n[r-1];return u===void 0||!H$.has(u)?!0:F$.test(i)||Q$.has(`${u}/${i}`)})}const fd=d({eventId:o().uuid(),uiSessionId:o().uuid(),page:z$});Be("event",[fd.extend({event:R("ui.page_viewed"),tab:jf.optional()}).strict(),fd.extend({event:R("ui.action"),action:O$,tab:jf.optional(),integration:P$.optional(),format:A(L$).optional(),filter:B$.optional()}).strict(),fd.extend({event:R("ui.error"),kind:A(U$),tab:jf.optional(),component:o().regex(EA).optional(),errorName:o().regex(RA).optional(),route:o().max(DA).refine(zA,"route must be a route template").optional(),method:A(["GET","POST","PUT","PATCH","DELETE"]).optional(),statusClass:A(V$).optional(),status:m().int().min(400).max(599).optional()}).strict(),fd.extend({event:R("ui.vitals"),metric:A($$),rating:A(G$)}).strict()]);function Z$(e){if(!e)return"other";if(e==="*"||e==="$"||e.endsWith("/*")||e.endsWith("/$"))return"not-found";const n=e.replace(/\$([a-z]\w*)/gi,":$1").replace(/(.)\/+$/,"$1");return _A.includes(n)?n:"other"}function IA(e){if(e==="/projects/:projectName")return"overview";const n=/^\/projects\/:projectName\/([a-z-]+)/.exec(e);if(!n)return;const i=n[1];return TA.includes(i)?i:"other"}const Y$=["struggle","bug","improvement","other"],X$=A(Y$),sc={summary:500,details:4e3,area:40,command:120,errorCode:40};d({kind:X$,summary:o().trim().min(1).max(sc.summary),details:o().trim().min(1).max(sc.details).optional(),area:o().trim().min(1).max(sc.area).optional(),command:o().trim().min(1).max(sc.command).optional(),errorCode:o().trim().min(1).max(sc.errorCode).optional()}).strict();d({accepted:E(),id:o()});const J$=4;function W$(e){return e.length<J$}const OA=A(["trace","debug","info","warn","error","fatal"]),qA=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:E().optional(),retrying:E().optional(),cancelled:E().optional(),success:E().optional()}).strict(),PA=d({cursor:o().min(1).max(512),ts:o().datetime(),level:OA,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:qA}).strict();d({level:OA.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:Mi().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:ye.custom,path:["until"],message:'"until" must be on or after "since".'})});const MA=d({maxEntries:m().int().positive(),maxAgeSeconds:m().int().positive()}).strict(),eG=d({entries:y(PA),nextCursor:o().min(1).max(512).nullable(),truncated:m().int().nonnegative(),dropped:m().int().nonnegative(),retention:A(["process","durable"]),retentionPolicy:MA.optional(),captureErrors:m().int().nonnegative().optional(),observedAt:o().datetime()}).strict(),tG=d(qA.shape),nG=d({...PA.shape,context:tG});d({...eG.shape,entries:y(nG),retentionPolicy:d(MA.shape).optional()});function Af(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}d({startDate:Yn,endDate:Yn,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 ro=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(A(["property","target","market"]))}),window:d({startDate:Yn,endDate:Yn,timeZone:R("UTC")}),rule:d({version:R("hourly-normalized-path-v1"),burstThreshold:m().int().positive(),ratioThreshold:m().positive(),calibration:A(["uncalibrated-default","request-override"]),grouping:y(o()),confirmsAutomation:R(!1)}),totals:d({raw:ro,redirects:ro,subresources:ro,countable:ro,suspected:ro,adjustedEstimate:ro}),bursts:y(d({sourceId:o(),product:o(),landingPathNormalized:o(),tsHour:o(),counts:ro})),evidence:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:E()}),comparison:d({status:R("unavailable"),serverCountable:m().int().nonnegative(),serverObservation:A(["missing","observed-zero","observed-positive"]),gaSessions:m().int().nonnegative().nullable(),gaObservation:A(["missing","observed-zero","observed-positive"]),observedRatio:m().nonnegative().nullable(),observedRatioAboveThreshold:E().nullable(),ratio:ue(),reasons:y(o()),gaScope:R("project")}),caveats:y(o())});const aG=new Set(["optional","nullable","default","prefault","readonly","catch","nonoptional"]),$w=64;function Nd(e){return e._zod.def}function lo(e,n){return e.clone({...Nd(e),...n})}function Gw(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 E()}}function BA(e,n,i,r){if(r>$w)throw new Error(`tolerantReadSchema: schema nesting exceeds ${$w} levels`);const u=i.get(e);if(u)return u;const h=v=>BA(v,n,i,r+1),f=Nd(e);let b=e;if(f.type==="object"){const v=Object.fromEntries(Object.entries(e.shape).map(([S,_])=>[S,h(_)])),x=f.catchall,k=n.get(e)??(x&&Nd(x).type!=="never"?h(x):void 0);b=k?d(v).catchall(k):d(v)}else if(aG.has(f.type)){const v=f.innerType,x=h(v);b=x===v?e:lo(e,{innerType:x})}else if(f.type==="array"){const v=f.element,x=h(v);b=x===v?e:lo(e,{element:x})}else if(f.type==="pipe"){const v=f.in,x=f.out,k=h(v),S=h(x);b=k===v&&S===x?e:lo(e,{in:k,out:S})}else if(f.type==="union"){const v=f.options,x=v.map(h);b=x.some((S,_)=>S!==v[_])?f.discriminator?Fe(x):lo(e,{options:x}):e}else if(f.type==="record"){const v=f.keyType,x=f.valueType,k=Nd(v).type==="enum"?o():v,S=h(x);b=k===v&&S===x?e:lo(e,{keyType:k,valueType:S})}else if(f.type==="intersection"){const v=f.left,x=f.right,k=h(v),S=h(x);b=k===v&&S===x?e:lo(e,{left:k,right:S})}else if(f.type==="tuple"){const v=f.items,x=f.rest,k=v.map(h),S=x&&h(x);b=S!==x||k.some((C,I)=>C!==v[I])?lo(e,{items:k,rest:S}):e}else if(f.type==="lazy"){const v=f.getter;b=rz(()=>h(v()))}else f.type==="enum"?b=Gw(Object.values(f.entries))??e:f.type==="literal"&&(b=Gw(f.values)??e);return i.set(e,b),b}function To(e,n={}){const i=new Map(n.openKeys??[]);return BA(e,i,new Map,0)}const Eo={openKeys:[[Gg,m().int().nonnegative()]]};To(sU,Eo);To(o0,Eo);To(pU,Eo);To(hU,Eo);To(oU,Eo);To(z3,Eo);To(uU,Eo);Fe([R(7),R(14),R(30),R(90)]).describe("Traffic activity window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const co=d({current:m(),prior:m(),deltaPct:ot().nullable()}),iG=d({windowStart:o(),windowEnd:o(),coverageStart:o().nullable(),priorWindowComplete:E(),hasData:E().describe("True when the selected or prior window has stored crawler, user-fetch, countable referral or operator evidence, or the selected window has referral redirects. False means no qualifying stored evidence; it can occur with no, paused, errored or never-synced ingestion and out-of-window observations. It does not establish measured zero traffic or source health."),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:ot().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()}))});d({activity:iG.nullable()});const Vee={ambiguous:"Property identity unverified"},$ee="No answer could be tied to one property";function sG(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 oG(e){if(e.denominator===null||e.denominator===void 0||e.unchecked===void 0||e.unchecked<=0)return null;const n=e.denominator+e.unchecked;return`${e.unchecked} of ${n} ${n===1?"answer":"answers"} had sources that could not be checked`}const rG="canonry.onboarding-session.v1",Fd="canonry.onboarding-launched-run.v1",a1="canonry.onboarding-handoff.v1",lG=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,cG=["system","project","queries","competitors","run"];function uG(e){return cG[e]??"system"}function dG(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 mG(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const pG={NO_PROVIDER:"no_provider",NO_QUERIES:"no_queries",RATE_LIMITED:"rate_limited",QUOTA_EXCEEDED:"rate_limited",PROVIDER_AUTH:"provider_auth",PROVIDERS_FAILING:"provider_auth",AUTH_INVALID:"provider_auth",FORBIDDEN:"provider_auth",NETWORK:"network",CONNECTION_ERROR:"network",RUN_IN_PROGRESS:"run_rejected",RUN_CANCELLED:"run_cancelled"};function gc(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return pG[i]??n}function i1(){return LA(rG)}function LA(e){try{const n=typeof window<"u"?window.sessionStorage.getItem(e):null;if(n&&lG.test(n))return n;const i=Yd();return typeof window<"u"&&window.sessionStorage.setItem(e,i),i}catch{return Yd()}}function s1(){return Yd()}function UA(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 VA(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(Fd,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function $A(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(Fd);if(!n)return null;const i=JSON.parse(n);return!UA(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function Zd(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(Fd);if(!n)return;const i=JSON.parse(n);if(!UA(i)||i.runId!==e)return;window.sessionStorage.setItem(Fd,JSON.stringify({...i,handled:!0}))}catch{}}function hG(e){try{typeof window<"u"&&window.sessionStorage.setItem(a1,e)}catch{}}function fG(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(a1)===e}catch{return!1}}function gG(){try{typeof window<"u"&&window.sessionStorage.removeItem(a1)}catch{}}function Yd(){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)}`}const yG="canonry.ui-session.v1",bG="canonry.ui-pages.v1",vG="canonry.ui-errors.v1",Kw="canonry.ui-sent.v1",xG=30,wG=120,kG=200,Yt={sender:null,disabled:!1,page:"other",landingPage:null,pendingVitals:[],memory:new Map,sentAt:null,now:()=>Date.now()};function SG(e){Yt.sender=e.enabled===!1?null:e.send,Yt.disabled=!1,e.now&&(Yt.now=e.now)}function jG(e){const n=Z$(e);if(Yt.page=n,Yt.landingPage===null){Yt.landingPage=n;const r=Yt.pendingVitals;Yt.pendingVitals=[];for(const[u,h]of r)GA(u,h)}const i=IA(n);KA(bG,`${n}|${i??""}`,{event:"ui.page_viewed"})}function Zr(e,n={}){o1({event:"ui.action",action:e,...n})}const AG=800,NG=1e3,Nf=new Map;let oc,Cf="";function CG(e){if(!Yt.sender)return;const n=Nf.get(e);n&&clearTimeout(n),Nf.set(e,setTimeout(()=>{Nf.delete(e),Zr("filter.change",{filter:e})},AG))}function Gee(e,n=!1){if(!Yt.sender)return;oc&&clearTimeout(oc),oc=void 0;const i=e.trim();if(i.length===0){Cf="";return}const r=()=>{oc=void 0,i!==Cf&&(Cf=i,Zr("search.submit"))};n?r():oc=setTimeout(r,NG)}const _G={measurementProvider:"provider",measurementModel:"model",measurementLocation:"location",measurementFrom:"window",measurementTo:"window",runWindow:"window",queryClass:"query_class",class:"query_class",measurementScope:"other",measurementScopeKey:"other",measurementMarketKey:"other",scope:"other",runStatus:"other",runKind:"other",runProject:"other"};function TG(e,n){const i=new Set;for(const[r,u]of Object.entries(_G))EG(e[r],n[r])||i.add(u);for(const r of i)CG(r)}function EG(e,n){const i=r=>r==null||r===""?"":JSON.stringify(r);return i(e)===i(n)}function Xd(e){const n=VG(e.error),i=e.route&&zA(e.route)?e.route:void 0;if(e.kind==="api"&&!i)return;const r=QA(e.method),u=typeof e.status=="number"&&e.status>=400&&e.status<=599?e.status:void 0,h=e.network?"network":u===void 0?void 0:u>=500?"5xx":"4xx",f=e.component&&EA.test(e.component)?e.component:void 0,b=[e.kind,Yt.page,f,n,r,i,u??h].join("|");KA(vG,b,{event:"ui.error",kind:e.kind,...f?{component:f}:{},...n?{errorName:n}:{},...i?{route:i}:{},...r?{method:r}:{},...h?{statusClass:h}:{},...u?{status:u}:{}})}function RG(e,n){if(Yt.landingPage===null){Yt.pendingVitals.push([e,n]);return}GA(e,n)}function GA(e,n){const i=Yt.landingPage??"other";o1({event:"ui.vitals",metric:e,rating:n},i)}const DG=[["POST","/api/v1/projects/{name}/runs","sweep.launch"],["POST","/api/v1/runs/{id}/cancel","sweep.cancel"],["POST","/api/v1/projects/{name}/technical-aeo/runs","site_audit.launch"],["POST","/api/v1/projects","project.create"],["PUT","/api/v1/projects/{name}","project.create",void 0,201],["PUT","/api/v1/projects/{name}","project.update",void 0,200],["DELETE","/api/v1/projects/{name}","project.delete"],["POST","/api/v1/projects/{name}/queries","query.add"],["PUT","/api/v1/projects/{name}/queries","query.add"],["DELETE","/api/v1/projects/{name}/queries","query.delete"],["DELETE","/api/v1/projects/{name}/queries/{id}","query.delete"],["POST","/api/v1/projects/{name}/queries/generate","query.generate"],["PUT","/api/v1/projects/{name}/competitors","competitor.save"],["POST","/api/v1/projects/{name}/competitors","competitor.save"],["DELETE","/api/v1/projects/{name}/competitors/{id}","competitor.delete"],["PUT","/api/v1/projects/{name}/schedule","schedule.save"],["DELETE","/api/v1/projects/{name}/schedule","schedule.delete"],["PUT","/api/v1/settings/providers/{name}","provider.save"],["PUT","/api/v1/settings/google","settings.save"],["PUT","/api/v1/settings/bing","settings.save"],["PUT","/api/v1/settings/cdp","settings.save"],["PUT","/api/v1/projects/{name}/sentiment/settings","settings.save"],["POST","/api/v1/projects/{name}/google/connect","integration.connect_started","google"],["POST","/api/v1/projects/{name}/ga/connect","integration.connect","ga"],["DELETE","/api/v1/projects/{name}/ga/disconnect","integration.disconnect","ga"],["POST","/api/v1/projects/{name}/bing/connect","integration.connect","bing"],["DELETE","/api/v1/projects/{name}/bing/disconnect","integration.disconnect","bing"],["PUT","/api/v1/projects/{name}/gbp/locations/{locationName}/selection","integration.connect","gbp"],["DELETE","/api/v1/projects/{name}/gbp/connection","integration.disconnect","gbp"],["POST","/api/v1/projects/{name}/wordpress/connect","integration.connect","wordpress"],["DELETE","/api/v1/projects/{name}/wordpress/disconnect","integration.disconnect","wordpress"],["POST","/api/v1/projects/{name}/ads/connect","integration.connect","openai_ads"],["DELETE","/api/v1/projects/{name}/ads/connection","integration.disconnect","openai_ads"],["POST","/api/v1/projects/{name}/google-ads/oauth/connect","integration.connect_started","google_ads"],["PUT","/api/v1/projects/{name}/google-ads/selection","integration.connect","google_ads"],["DELETE","/api/v1/projects/{name}/google-ads/connection","integration.disconnect","google_ads"],["POST","/api/v1/projects/{name}/gtm/oauth/connect","integration.connect_started","gtm"],["PUT","/api/v1/projects/{name}/gtm/selection","integration.connect","gtm"],["DELETE","/api/v1/projects/{name}/gtm/connection","integration.disconnect","gtm"],["POST","/api/v1/projects/{name}/traffic/connect/cloudflare","integration.connect","traffic_cloudflare"],["POST","/api/v1/projects/{name}/traffic/connect/vercel","integration.connect","traffic_vercel"],["POST","/api/v1/projects/{name}/traffic/connect/cloud-run","integration.connect","traffic_cloud_run"],["POST","/api/v1/projects/{name}/traffic/connect/wordpress","integration.connect","traffic_wordpress"],["POST","/api/v1/projects/{name}/traffic/sources/{id}/sync","traffic.sync"],["POST","/api/v1/projects/{name}/notifications","notification.save"],["POST","/api/v1/projects/{name}/notifications/{id}/test","notification.test"],["POST","/api/v1/projects/{name}/measurement-plan/draft/actions/publish","measurement_plan.publish"],["POST","/api/v1/projects/{name}/discover/run","discovery.run"],["POST","/api/v1/keys","api_key.create"],["POST","/api/v1/keys/{id}/revoke","api_key.revoke"]],Hw="/api/v1/projects/{name}/google/connections/{type}",zG={gsc:"gsc",ga4:"ga",gbp:"gbp"};function IG(e,n,i){const r=e==="PUT"&&n===`${Hw}/property`?"integration.connect":e==="DELETE"&&n===Hw?"integration.disconnect":void 0;if(!r)return;const u=i?/\/google\/connections\/([^/?#]+)/.exec(i)?.[1]:void 0,h=u&&zG[decodeURIComponent(u)]||"google";return[e,n,r,h]}const OG=[["GET",/^\/api\/v1\/projects\/\{name\}\/schedule$/,[404]],["*",/^\/api\/v1\/projects\/\{name\}\/measurement-plan(?:\/draft(?:\/.*)?)?$/,[404,409,412]],["GET",/^\/api\/v1\/projects\/\{name\}\/technical-aeo\/runs\/\{runId\}\/progress$/,[404]],["GET",/^\/api\/v1\/projects\/\{name\}\/backlinks\/domains$/,[404]],["POST",/^\/api\/v1\/projects$/,[409]],["PUT",/^\/api\/v1\/projects\/\{name\}$/,[409]]];function qG(e,n,i){return OG.some(([r,u,h])=>(r==="*"||r===e)&&u.test(n)&&h.includes(i))}const PG=/^\/api\/v1\/(?:telemetry|feedback)(?:\/|$)/;function Jd(e){if(!e.route||PG.test(e.route))return;const n=QA(e.method);if(e.network||typeof e.status=="number"&&e.status>=400){if(e.status===401||typeof e.status=="number"&&e.status<500&&qG(n,e.route,e.status))return;Xd({kind:"api",route:e.route,method:n,status:e.status,network:e.network});return}if(!n||n==="GET")return;const i=IG(n,e.route,e.path)??DG.find(([r,u,,,h])=>r===n&&u===e.route&&(h===void 0||h===e.status));i&&Zr(i[2],i[3]?{integration:i[3]}:{})}function KA(e,n,i){const r=BG(e);if(!r.has(n)&&o1(i)){r.add(n);try{window.sessionStorage.setItem(e,JSON.stringify([...r].slice(-kG)))}catch{}}}function o1(e,n){try{const i=Yt.sender;if(!i||Yt.disabled||!MG())return!1;const r=n??Yt.page,u=IA(r),h={...e,eventId:Yd(),uiSessionId:LA(yG),page:r,...u?{tab:u}:{}};return i(h).then(f=>{f&&f.accepted===!1&&(Yt.disabled=!0)},()=>{}),!0}catch{return!1}}function MG(){const e=Yt.now(),n=(Yt.sentAt??=UG(Kw)).filter(i=>e-i<36e5&&i<=e);if(Yt.sentAt=n,n.length>=wG||n.filter(i=>e-i<6e4).length>=xG)return!1;n.push(e);try{window.sessionStorage.setItem(Kw,JSON.stringify(n))}catch{}return!0}function BG(e){let n=Yt.memory.get(e);return n||(n=new Set(LG(e)),Yt.memory.set(e,n)),n}function HA(e){try{const n=window.sessionStorage.getItem(e),i=n?JSON.parse(n):[];return Array.isArray(i)?i:[]}catch{return[]}}function LG(e){return HA(e).filter(n=>typeof n=="string")}function UG(e){return HA(e).filter(n=>typeof n=="number"&&Number.isFinite(n))}function VG(e){const n=e instanceof Error?e.name:e&&typeof e=="object"&&"name"in e?String(e.name):void 0;return n&&RA.test(n)?n:void 0}function QA(e){const n=e?.toUpperCase();return n==="GET"||n==="POST"||n==="PUT"||n==="PATCH"||n==="DELETE"?n:void 0}class _n 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 Kee(e){if(e instanceof _n)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 bo(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function $G(){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 GG(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function FA(e){const n=GG();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=`${Dm().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 ZA(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function HG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function QG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function FG(){return typeof window>"u"?!1:window.__CANONRY_CONFIG__?.agent?.allowViewers===!0}function r1(){return bo()}function ZG(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function po(){return YG(De["answer-visibility"])}function YG(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===De["answer-visibility"]&&n?.managedSweeps===!0}function XG(){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:kV}}function Qw(){return XG()?"Analyst":"View only"}function l1(){return ZA()!==null}function JG(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const YA=JG();function WG(){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 Dm(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function eK(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 tK(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!eK(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function Hee(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function Qee(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function nK(){if(!(typeof window>"u"))return tK(window.location,Dm())}function aK(e){return`${Dm()}${e}`}function iK(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 sK(){return""}function oK(){return!!sK()}let XA=null;function Fw(e){XA=e}function c1(){XA?.()}const W=k8({baseUrl:WG()});W.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&c1(),e));W.interceptors.request.use(e=>{const n=FA(e.url);return n===e.url?e:KG(e,n)});async function he(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 _n(r,i,u,h)}if(n.response.status!==204)return n.data}async function Os(e,n){const i=n?.body!=null,r=await fetch(FA(`${YA}${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/")&&c1(),new _n(h,r.status,f,b)}if(r.status!==204)return r.json()}function rK(e){return he(()=>pS({client:W,path:{name:e}}))}function Fee(e){return he(()=>gS({client:W,path:{name:e}}))}function c0(e){return he(()=>yS({client:W,path:{id:e}}))}function JA(e){return he(()=>fS({client:W,path:{name:e}}))}function lK(e,n,i){return he(()=>W6({client:W,path:{name:e},query:{location:n,limit:i}}))}function WA(e,n){return he(()=>zT({client:W,path:{name:e},query:{location:n?.location,since:n?.since}}))}function eN(e,n){return he(()=>d6({client:W,path:{name:e},body:n}))}function cK(e){return he(()=>c6({client:W,body:e}))}function uK(e,n){return he(()=>U6({client:W,path:{name:e},body:{queries:n}}))}function dK(e,n){return he(()=>L6({client:W,path:{name:e},body:{queries:n}}))}function Zee(e,n){return he(()=>B6({client:W,path:{name:e},body:{queries:n}}))}function mK(e,n){return he(()=>G6({client:W,path:{name:e},body:{competitors:n}}))}function Yee(e,n){return he(()=>$6({client:W,path:{name:e},body:{competitors:n}}))}function Xee(e,n){return he(()=>K6({client:W,path:{name:e,id:n}}))}async function Jee(e,n){const i=await rK(e);return eN(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,...n.siteAuditMaxPages!==void 0?{siteAuditMaxPages:n.siteAuditMaxPages}:{}})}function pK(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),he(()=>Q6({client:W,path:{name:e},body:i}))}function Wee(e,n){return he(()=>q6({client:W,path:{name:e},body:n}))}async function ete(e,n){await he(()=>P6({client:W,path:{name:e,label:n}}))}function tte(e,n){return he(()=>M6({client:W,path:{name:e},body:{label:n}}))}async function nte(e){await he(()=>u6({client:W,path:{name:e}}))}function ate(){return he(()=>bS({client:W}))}function Zw(){return Os("/session")}function hK(e){return Os("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function fK(e){return Os("/session",{method:"POST",body:JSON.stringify({password:e})})}function gK(e){return Os("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function yK(){return Os("/session",{method:"DELETE"})}function _f(){return he(()=>i_({client:W}))}function Yw(){return Os("/auth/session")}function bK(e,n){return Os("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function Xw(){return Os("/auth/logout",{method:"POST"})}function tN(e,n){return he(()=>n_({client:W,path:{name:e},body:n}))}async function u1(e){for(let n=0;n<2;n+=1)try{await he(()=>y_({client:W,body:e}));return}catch(i){if(!(!(i instanceof _n)||i.statusCode>=500)||n===1)return}}function ite(e){return he(()=>a_({client:W,body:e}))}function ste(e,n){return he(()=>c_({client:W,path:{name:e},body:n}))}async function ote(e,n){await he(()=>r_({client:W,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function rte(e){return he(()=>d_({client:W,path:{name:e}}))}function lte(e,n){return he(()=>m_({client:W,path:{name:e},body:n}))}async function cte(e,n){await he(()=>p_({client:W,path:{name:e,id:n}}))}function ute(e,n){return he(()=>h_({client:W,path:{name:e,id:n}}))}function vK(e,n,i){return he(()=>V6({client:W,path:{name:e},body:{provider:n,count:i}}))}function xK(e){return he(()=>Y6({client:W,body:e}))}function wK(e){return he(()=>Z6({client:W,body:e??{}}))}function dte(e,n){const i=nK();return he(()=>U_({client:W,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function mte(e,n){return he(()=>V_({client:W,path:{name:e,type:n}}))}function pte(e,n,i){return he(()=>G_({client:W,path:{name:e,type:n},body:{propertyId:i}}))}function hte(e,n,i){return he(()=>K_({client:W,path:{name:e,type:n},body:{sitemapUrl:i}}))}function kK(e,n){return he(()=>H_({client:W,path:{name:e},body:n??{}}))}function fte(e,n){const i={};return n&&n!=="all"&&(i.window=n),he(()=>e_({client:W,path:{name:e},query:i}))}function gte(e,n){return he(()=>Z_({client:W,path:{name:e},body:{url:n}}))}function SK(e,n){return he(()=>tT({client:W,path:{name:e},body:n??{}}))}function yte(e,n){return he(()=>eT({client:W,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function bte(e,n){return he(()=>r6({client:W,path:{name:e},body:{sitemapUrls:n}}))}function jK(e,n){return he(()=>h8({client:W,path:{name:e},body:n??{}}))}function vte(e,n){return he(()=>t8({client:W,path:{name:e},body:n??{}}))}function xte(){return he(()=>vS({client:W}))}function wte(e,n){return he(()=>o_({client:W,body:{host:e,port:n}}))}function kte(e,n){return he(()=>nT({client:W,path:{name:e},body:n}))}function Ste(e,n){return he(()=>dT({client:W,path:{name:e},body:{apiKey:n}}))}function jte(e){return he(()=>mT({client:W,path:{name:e}}))}function Ate(e,n){return he(()=>fT({client:W,path:{name:e},body:{siteUrl:n}}))}function Nte(e,n){return he(()=>bT({client:W,path:{name:e},body:{url:n}}))}function Cte(e,n){return he(()=>vT({client:W,path:{name:e},body:{}}))}function _te(e,n){return he(()=>xT({client:W,path:{name:e},body:n}))}function Tte(e){return he(()=>s_({client:W,body:{apiKey:e}}))}function AK(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function Ete(e,n){const i=await fetch(`${YA}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw Jd({method:"GET",route:"/api/v1/projects/{name}/results/export",status:i.status}),new _n(`Failed to download results: ${i.status}`,i.status);Zr("export.download",{format:n});const r=await i.blob(),u=URL.createObjectURL(r),h=AK(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 Rte(e,n){return he(()=>AT({client:W,path:{name:e},body:{}}))}function Dte(e,n){return he(()=>kT({client:W,path:{name:e},body:n}))}function zte(e){return he(()=>ST({client:W,path:{name:e}}))}function Ite(e,n){return he(()=>HT({client:W,path:{name:e},body:n}))}function Ote(e,n){return he(()=>QT({client:W,path:{name:e},body:n}))}function qte(e,n){return he(()=>FT({client:W,path:{name:e},body:n}))}function Pte(e,n,i){return he(()=>ZT({client:W,path:{name:e,id:n},body:i??{}}))}function Mte(e,n,i){return he(()=>YT({client:W,path:{name:e,id:n},body:{}}))}function Bte(e,n){return he(()=>ET({client:W,path:{name:e},query:{runId:n}}))}function NK(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 CK(e,n){const i=aK(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:iK(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=NK(u.updateAvailable),x=_$.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}:{},...x.success?{mcp:x.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 Lte(){return he(()=>IT({client:W}))}function Ute(){return he(()=>OT({client:W}))}function Vte(){return he(()=>MT({client:W}))}function $te(){return he(()=>qT({client:W}))}function Gte(e){return he(()=>PT({client:W,body:e?{release:e}:{}}))}function Kte(){return he(()=>BT({client:W}))}function Hte(){return he(()=>LT({client:W}))}function Qte(e){return he(()=>UT({client:W,path:{release:e}}))}function Fte(e,n={}){return he(()=>$T({client:W,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Zte(e,n={}){return he(()=>GT({client:W,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 Yte(e,n={}){return he(()=>KT({client:W,path:{name:e},query:{source:n.source}}))}function Xte(e,n){return he(()=>VT({client:W,path:{name:e},body:{release:void 0}}))}async function Jw(e,n){return he(()=>y8({client:W,path:{name:e},query:n}))}async function _K(e,n){return he(()=>b8({client:W,path:{name:e},body:{id:n}}))}async function TK(e,n){return he(()=>x8({client:W,path:{name:e,id:n}}))}async function EK(e,n){return he(()=>v8({client:W,path:{name:e,id:n}}))}async function RK(e,n){const i=f=>he(()=>b6({client:W,path:{name:e},query:{...n,include:["assessments","locations"],queryLimit:R3,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 Cd(e){return he(()=>g6({client:W,path:{name:e}}))}function DK(e,n){return he(()=>y6({client:W,path:{name:e},body:n}))}function zK(e,n,i){return he(()=>v6({client:W,path:{name:e},query:{...n,cursor:i,limit:50}}))}function IK(e,n){return he(()=>x6({client:W,path:{name:e},query:n}))}function OK(e,n,i){return he(()=>w6({client:W,path:{name:e},body:{previewToken:n,idempotencyKey:i}}))}function qK(e){return he(()=>k6({client:W,path:{name:e}}))}function PK(e,n,i){return he(()=>S6({client:W,path:{name:e,jobId:n},query:{attemptCursor:i}}))}const nN={account:null,canWrite:!0,isAdmin:!0},MK={account:null,canWrite:!1,isAdmin:!1};function BK(e){const n=e.scopes.includes(Uw);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(Uw)}}const aN=N.createContext(nN);function LK({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?MK:n?BK(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:nN;return l.jsx(aN.Provider,{value:u,children:r})}function pa(){return N.useContext(aN)}const iN="View only — your account cannot change this.";function hn(e){return(...n)=>{e(...n)}}const UK=6e3,VK=5,$K=180;let In=[],GK=0;const u0=new Set,d0=new Map,m0=new Map;function Wd(){const e=[...In];for(const n of u0)n(e)}function d1(e){const n=d0.get(e);n&&(clearTimeout(n),d0.delete(e));const i=m0.get(e);i&&(clearTimeout(i),m0.delete(e))}function sN(e){d1(e);const n=In.length;In=In.filter(i=>i.id!==e),In.length!==n&&Wd()}function Ww(e){d1(e.id),d0.set(e.id,setTimeout(()=>{p0(e.id)},e.durationMs))}function KK(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function xn(e,n="negative",i=UK){const r=KK(e,n,i),u={id:String(++GK),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=In.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 In=In.map(b=>b.id===h.id?f:b),Wd(),Ww(f),h.id}}return In.length>=VK&&sN(In[0].id),In=[...In,u],Wd(),Ww(u),u.id}function p0(e){const n=In.find(i=>i.id===e);!n||n.state==="closing"||(d1(e),In=In.map(i=>i.id===e?{...i,state:"closing"}:i),Wd(),m0.set(e,setTimeout(()=>{sN(e)},$K)))}function HK(e){return u0.add(e),()=>{u0.delete(e)}}function ek(){return In}const QK=5*6e4,_d=30*6e4,Jte=3e4,Wte=6e4,Or=3e4,FK=2e3,ZK=3e4;function YK(){return new o5({defaultOptions:{queries:{staleTime:QK,retry:1,refetchOnWindowFocus:!1}},mutationCache:new r5({onError:(n,i,r,u)=>{u.meta?.skipGlobalErrorToast||xn({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const XK="modulepreload",JK=function(e,n){return new URL(e,n).href},tk={},Ki=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let x=function(k){return Promise.all(k.map(S=>Promise.resolve(S).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};const f=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=x(i.map(k=>{if(k=JK(k,r),k in tk)return;tk[k]=!0;const S=k.endsWith(".css"),_=S?'[rel="stylesheet"]':"";if(r)for(let I=f.length-1;I>=0;I--){const P=f[I];if(P.href===k&&(!S||P.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${k}"]${_}`))return;const C=document.createElement("link");if(C.rel=S?"stylesheet":XK,S||(C.as="script"),C.crossOrigin="",C.href=k,v&&C.setAttribute("nonce",v),document.head.appendChild(C),S)return new Promise((I,P)=>{C.addEventListener("load",I),C.addEventListener("error",()=>P(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)})},m1=N.createContext({view:null,publish:()=>()=>{}});function WK({children:e}){const[n,i]=N.useState(null),r=N.useCallback(u=>(i(u),()=>i(h=>h===u?null:h)),[]);return l.jsx(m1.Provider,{value:N.useMemo(()=>({view:n,publish:r}),[n,r]),children:e})}function ene(e,n){const{publish:i}=N.useContext(m1),r=JSON.stringify(n);N.useEffect(()=>i({project:e,context:JSON.parse(r)}),[i,e,r])}function eH(e,n){const{view:i}=N.useContext(m1);return i?.project===e&&i.context.view===n.view?i.context:n}var tH=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(tH||{});const tne={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},nne={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},nH=dg;function ane(e){return e.endsWith("%")?{figure:e.slice(0,-1),sign:"%"}:{figure:e,sign:""}}function ine(e,n){return n==="cited"?oG(e):sG(e)}function aH(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 iH(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function sH(e,n,i=new Date){const r=new Date(e);if(Number.isNaN(r.getTime()))return e;const u=r.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"});return n&&new Date(n).toDateString()===r.toDateString()?u:`${oH(e,i)}, ${u}`}function oH(e,n=new Date){const i=new Date(e);return Number.isNaN(i.getTime())?e:i.getFullYear()===n.getFullYear()?rH(e):i.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function rH(e){const n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function lH(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function sne(e){return e===null?"Unknown":e?"Pass":"Fail"}function nk(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function one(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function rne(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 lne(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 ${nk(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 ${nk(b)} · ${r}`}return`${e} · ${r}`}function cH(e,n){return n&&n!==e?`${e} · ${n}`:e}function cne(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return cH(e,n)}function uH(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 dH(e,n){return!n||n.includes(e)}const oN=["overview","search-console","local","activity","backlinks","technical-aeo","history","settings"],mH=new Set(oN);function pH(e){if(CA(e))return[];const n=e??oN,i=[...new Set(n.filter(r=>mH.has(r)))];return i.length>0?i:["overview"]}function une(e){return e?pH(e.projectTabs):void 0}function dne(e,n){return dH(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const ak={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},hH=/^(?:#(?:[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 fH(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function gH(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(ak,i)?ak[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();hH.test(h)&&(n[u]=h)}return n}const fe=(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]},_s=e=>fe("getApiV1Projects",e),Ro=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_s(e)}),yH=e=>fe("getApiV1ProjectsByName",e),bH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yH(e)}),vH=e=>fe("getApiV1ProjectsByNameMeasurementPlan",e),mne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vH(e)}),xH=e=>fe("getApiV1ProjectsByNameMeasurementReport",e),pne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xH(e)}),wH=e=>fe("getApiV1ProjectsByNameMeasurementSetup",e),kH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wH(e)}),Qc=(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},hne=e=>({mutationFn:async i=>{const{data:r}=await f6({...e,...i,throwOnError:!0});return r}}),SH=e=>fe("getApiV1ProjectsByNameMeasurementOverview",e),fne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await hS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SH(e)}),jH=e=>fe("getApiV1ProjectsByNameMeasurementOverview",e,!0),gne=e=>Ec({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Qc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await hS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:jH(e)}),AH=e=>fe("getApiV1ProjectsByNameVisibilityReport",e),yne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AH(e)}),NH=e=>fe("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),bne=e=>Ec({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Qc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await A6({...e,...h,signal:r,throwOnError:!0});return f},queryKey:NH(e)}),CH=e=>fe("getApiV1ProjectsByNameMeasurementQuestionResult",e),vne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await N6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CH(e)}),_H=e=>fe("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),xne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await C6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_H(e)}),TH=e=>fe("getApiV1ProjectsByNameMeasurementQueryTemplates",e),wne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TH(e)}),kne=e=>({mutationFn:async i=>{const{data:r}=await T6({...e,...i,throwOnError:!0});return r}}),EH=e=>fe("getApiV1ProjectsByNameResearchRuns",e,!0),Sne=e=>Ec({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Qc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await E6({...e,...h,signal:r,throwOnError:!0});return f},queryKey:EH(e)}),jne=e=>({mutationFn:async i=>{const{data:r}=await R6({...e,...i,throwOnError:!0});return r}}),RH=e=>fe("getApiV1ProjectsByNameQueryTracking",e),Ane=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await D6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RH(e)}),Nne=e=>({mutationFn:async i=>{const{data:r}=await z6({...e,...i,throwOnError:!0});return r}}),Cne=e=>({mutationFn:async i=>{const{data:r}=await I6({...e,...i,throwOnError:!0});return r}}),DH=e=>fe("getApiV1ProjectsByNameResearchRunsByRunId",e),_ne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:DH(e)}),rN=e=>fe("getApiV1ProjectsByNameQueries",e),Tne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await fS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rN(e)}),zH=e=>fe("getApiV1ProjectsByNameAnalyticsCompetitors",e),Ene=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zH(e)}),IH=e=>fe("getApiV1ProjectsByNameRuns",e),lN=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await gS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IH(e)}),p1=e=>fe("getApiV1Runs",e),zm=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:p1(e)}),OH=e=>fe("getApiV1RunsById",e),h1=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await yS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OH(e)}),qH=e=>fe("getApiV1ProjectsByNameHistory",e),Rne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await X6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qH(e)}),PH=e=>fe("getApiV1History",e),Dne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await J6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PH(e)}),MH=e=>fe("getApiV1ProjectsByNameSnapshotsDiff",e),zne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await t_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MH(e)}),BH=e=>fe("getApiV1Settings",e),LH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await bS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BH(e)}),UH=e=>fe("getApiV1ProjectsByNameSchedule",e),VH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UH(e)}),$H=e=>fe("getApiV1ProjectsByNameSchedules",e),Ine=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await u_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$H(e)}),cN=e=>fe("getApiV1Telemetry",e),GH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await f_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cN(e)}),KH=e=>({mutationFn:async i=>{const{data:r}=await g_({...e,...i,throwOnError:!0});return r}}),HH=e=>fe("getApiV1CdpStatus",e),QH=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await vS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HH(e)}),FH=e=>fe("getApiV1ProjectsByNameGoogleAdsStatus",e),One=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await v_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FH(e)}),qne=e=>({mutationFn:async i=>{const{data:r}=await x_({...e,...i,throwOnError:!0});return r}}),ZH=e=>fe("getApiV1ProjectsByNameGoogleAdsCustomers",e),Pne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZH(e)}),Mne=e=>({mutationFn:async i=>{const{data:r}=await k_({...e,...i,throwOnError:!0});return r}}),Bne=e=>({mutationFn:async i=>{const{data:r}=await S_({...e,...i,throwOnError:!0});return r}}),YH=e=>fe("getApiV1ProjectsByNameGoogleAdsPerformance",e),Lne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YH(e)}),XH=e=>fe("getApiV1ProjectsByNameGoogleAdsSnapshots",e),Une=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XH(e)}),Vne=e=>({mutationFn:async i=>{const{data:r}=await N_({...e,...i,throwOnError:!0});return r}}),JH=e=>fe("getApiV1ProjectsByNameGtmStatus",e),$ne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await C_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JH(e)}),Gne=e=>({mutationFn:async i=>{const{data:r}=await __({...e,...i,throwOnError:!0});return r}}),WH=e=>fe("getApiV1ProjectsByNameGtmAccounts",e),Kne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WH(e)}),eQ=e=>fe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),Hne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await E_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:eQ(e)}),tQ=e=>fe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),Qne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await R_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tQ(e)}),Fne=e=>({mutationFn:async i=>{const{data:r}=await D_({...e,...i,throwOnError:!0});return r}}),Zne=e=>({mutationFn:async i=>{const{data:r}=await z_({...e,...i,throwOnError:!0});return r}}),nQ=e=>fe("getApiV1ProjectsByNameGtmSnapshots",e),Yne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await I_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nQ(e)}),Xne=e=>({mutationFn:async i=>{const{data:r}=await O_({...e,...i,throwOnError:!0});return r}}),aQ=e=>fe("getApiV1ProjectsByNameConversionTrackingOptions",e),Jne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await q_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aQ(e)}),iQ=e=>fe("getApiV1ProjectsByNameConversionTrackingContracts",e),Wne=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await P_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iQ(e)}),eae=e=>({mutationFn:async i=>{const{data:r}=await M_({...e,...i,throwOnError:!0});return r}}),sQ=e=>fe("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),tae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sQ(e)}),oQ=e=>fe("getApiV1ProjectsByNameGoogleConnections",e),nae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await L_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oQ(e)}),rQ=e=>fe("getApiV1ProjectsByNameGoogleProperties",e),aae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rQ(e)}),lQ=e=>fe("getApiV1ProjectsByNameGoogleGscPerformance",e),iae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Q_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lQ(e)}),cQ=e=>fe("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),sae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cQ(e)}),uQ=e=>fe("getApiV1ProjectsByNameGoogleGscInspections",e),oae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uQ(e)}),dQ=e=>fe("getApiV1ProjectsByNameGoogleGscDeindexed",e),rae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await X_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dQ(e)}),mQ=e=>fe("getApiV1ProjectsByNameGoogleGscCoverage",e),lae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await J_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mQ(e)}),pQ=e=>fe("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),cae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pQ(e)}),uae=e=>fe("getApiV1ProjectsByNameGoogleGscSitemaps",e),hQ=e=>fe("getApiV1ProjectsByNameGbpLocations",e),dae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await aT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hQ(e)}),mae=e=>({mutationFn:async i=>{const{data:r}=await iT({...e,...i,throwOnError:!0});return r}}),pae=e=>({mutationFn:async i=>{const{data:r}=await sT({...e,...i,throwOnError:!0});return r}}),fQ=e=>fe("getApiV1ProjectsByNameGbpKeywords",e),hae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await oT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fQ(e)}),gQ=e=>fe("getApiV1ProjectsByNameGbpPlaceActions",e),fae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gQ(e)}),yQ=e=>fe("getApiV1ProjectsByNameGbpLodging",e),gae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await lT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yQ(e)}),bQ=e=>fe("getApiV1ProjectsByNameGbpPlaces",e),yae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await cT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bQ(e)}),vQ=e=>fe("getApiV1ProjectsByNameGbpSummary",e),bae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await uT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vQ(e)}),xQ=e=>fe("getApiV1ProjectsByNameBingStatus",e),vae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xQ(e)}),wQ=e=>fe("getApiV1ProjectsByNameBingSites",e),xae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await hT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wQ(e)}),kQ=e=>fe("getApiV1ProjectsByNameBingCoverage",e),wae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await gT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kQ(e)}),SQ=e=>fe("getApiV1ProjectsByNameBingInspections",e),kae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await yT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SQ(e)}),jQ=e=>fe("getApiV1ProjectsByNameBingPerformance",e),Sae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await wT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jQ(e)}),AQ=e=>fe("getApiV1ProjectsByNameGaStatus",e),jae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await jT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AQ(e)}),NQ=e=>fe("getApiV1ProjectsByNameGaTraffic",e),Aae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await NT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NQ(e)}),CQ=e=>fe("getApiV1ProjectsByNameGaAiReferralDaily",e),Nae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await CT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CQ(e)}),_Q=e=>fe("getApiV1ProjectsByNameGaSocialReferralHistory",e),Cae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _T({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_Q(e)}),TQ=e=>fe("getApiV1ProjectsByNameGaSessionHistory",e),_ae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await TT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TQ(e)}),EQ=e=>fe("getApiV1ProjectsByNameHealthHistory",e),Tae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await RT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EQ(e)}),RQ=e=>fe("getApiV1ProjectsByNameCitationsVisibility",e),Eae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await DT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RQ(e)}),DQ=e=>fe("getApiV1ProjectsByNameTrafficSources",e),Rae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await XT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:DQ(e)}),zQ=e=>fe("getApiV1ProjectsByNameTrafficStatus",e),Dae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await JT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zQ(e)}),IQ=e=>fe("getApiV1ProjectsByNameTrafficSourcesById",e),zae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await WT({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IQ(e)}),OQ=e=>fe("getApiV1ProjectsByNameTrafficEvents",e),Iae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OQ(e)}),qQ=e=>fe("getApiV1ProjectsByNameDiscoverSessions",e),Oae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qQ(e)}),PQ=e=>fe("getApiV1ProjectsByNameDiscoverSessionsById",e),qae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await a8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PQ(e)}),MQ=e=>fe("getApiV1ProjectsByNameTechnicalAeo",e),BQ=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await i8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MQ(e)}),LQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoPages",e),Pae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await s8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LQ(e)}),UQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoTrend",e),Mae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await o8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UQ(e)}),VQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawl",e),Bae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await r8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VQ(e)}),$Q=e=>fe("getApiV1ProjectsByNameTechnicalAeoGraph",e),Lae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$Q(e)}),GQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),Uae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await c8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GQ(e)}),KQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),Vae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await xS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KQ(e)}),HQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),$ae=e=>Ec({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Qc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await xS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:HQ(e)}),QQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),Gae=e=>Ec({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Qc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await u8({...e,...h,signal:r,throwOnError:!0});return f},queryKey:QQ(e)}),FQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),Kae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FQ(e)}),ZQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),Hae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZQ(e)}),YQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoRuns",e),Qae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YQ(e)}),XQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),Fae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await f8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XQ(e)}),JQ=e=>fe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),Zae=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JQ(e)}),WQ=e=>fe("getApiV1ProjectsByNameAgentProviders",e),eF=e=>xe({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WQ(e)});function ik(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function uN(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 Yae(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 Xae={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function Jae(e){return e>=50?"positive":e>=25?"caution":"negative"}function tF(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function qr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
|
|
57
|
-
`):void 0}function nF(e,n,i){const r=e.filter(f=>f.id!=="mcp").map(f=>{if(f.id==="api")return{...f,tone:ik(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(f.id==="worker")return{...f,tone:ik(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(S=>S.state==="ready").length,v=i.providerStatuses.length,x=b>0,k=i.providerStatuses.filter(S=>S.state==="ready").map(S=>tF(S)).join(" · ");return{...f,label:"Providers",tone:x?"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 aF(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 iF(e,n,i){const r=aF(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 dN="canonry.run-tracker",h0=new Set;let sk=!1,sF=0,Im={runs:{},batches:{}};function oF(){const e=Vi();for(const n of h0)n(e)}function rF(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function lF(){typeof window>"u"||window.sessionStorage.setItem(dN,JSON.stringify(Im))}function mN(){sk||(sk=!0,!(typeof window>"u")&&(Im=rF(window.sessionStorage.getItem(dN))))}function Om(e){Im=e,lF(),oF()}function Vi(){return mN(),Im}function pN(e){return mN(),h0.add(e),()=>{h0.delete(e)}}function f1(e){const n=Vi();Om({...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 Tf(e){const n=Vi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;Om({...n,runs:r})}function cF(e){const n=Vi(),i=`batch_${Date.now()}_${++sF}`;return Om({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function uF(e){const n=Vi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;Om({...n,batches:r})}function dF(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const mF=10*6e4;function pF(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function hF(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 ok=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,rk=Jk,hN=(e,n)=>i=>{var r;if(n?.variants==null)return rk(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,f=Object.keys(u).map(x=>{const k=i?.[x],S=h?.[x];if(k===null)return null;const _=ok(k)||ok(S);return u[x][_]}),b=i&&Object.entries(i).reduce((x,k)=>{let[S,_]=k;return _===void 0||(x[S]=_),x},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((x,k)=>{let{class:S,className:_,...C}=k;return Object.entries(C).every(I=>{let[P,T]=I;return Array.isArray(T)?T.includes({...h,...b}[P]):{...h,...b}[P]===T})?[...x,S,_]:x},[]);return rk(e,f,v,i?.class,i?.className)},fF=(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},gF=(e,n)=>({classGroupId:e,validator:n}),fN=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),em="-",lk=[],yF="arbitrary..",bF=e=>{const n=xF(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return vF(f);const b=f.split(em),v=b[0]===""&&b.length>1?1:0;return gN(b,v,n)},getConflictingClassGroupIds:(f,b)=>{if(b){const v=r[f],x=i[f];return v?x?fF(x,v):v:x||lk}return i[f]||lk}}},gN=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const x=gN(e,n+1,h);if(x)return x}const f=i.validators;if(f===null)return;const b=n===0?e.join(em):e.slice(n).join(em),v=f.length;for(let x=0;x<v;x++){const k=f[x];if(k.validator(b))return k.classGroupId}},vF=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?yF+r:void 0})(),xF=e=>{const{theme:n,classGroups:i}=e;return wF(i,n)},wF=(e,n)=>{const i=fN();for(const r in e){const u=e[r];g1(u,i,r,n)}return i},g1=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const f=e[h];kF(f,n,i,r)}},kF=(e,n,i,r)=>{if(typeof e=="string"){SF(e,n,i);return}if(typeof e=="function"){jF(e,n,i,r);return}AF(e,n,i,r)},SF=(e,n,i)=>{const r=e===""?n:yN(n,e);r.classGroupId=i},jF=(e,n,i,r)=>{if(NF(e)){g1(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(gF(i,e))},AF=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let f=0;f<h;f++){const[b,v]=u[f];g1(v,yN(n,b),i,r)}},yN=(e,n)=>{let i=e;const r=n.split(em),u=r.length;for(let h=0;h<u;h++){const f=r[h];let b=i.nextPart.get(f);b||(b=fN(),i.nextPart.set(f,b)),i=b}return i},NF=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,CF=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)}}},f0="!",ck=":",_F=[],uk=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),TF=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let f=0,b=0,v=0,x;const k=u.length;for(let P=0;P<k;P++){const T=u[P];if(f===0&&b===0){if(T===ck){h.push(u.slice(v,P)),v=P+1;continue}if(T==="/"){x=P;continue}}T==="["?f++:T==="]"?f--:T==="("?b++:T===")"&&b--}const S=h.length===0?u:u.slice(v);let _=S,C=!1;S.endsWith(f0)?(_=S.slice(0,-1),C=!0):S.startsWith(f0)&&(_=S.slice(1),C=!0);const I=x&&x>v?x-v:void 0;return uk(h,C,_,I)};if(n){const u=n+ck,h=r;r=f=>f.startsWith(u)?h(f.slice(u.length)):uk(_F,!1,f,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},EF=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}},RF=e=>({cache:CF(e.cacheSize),parseClassName:TF(e),sortModifiers:EF(e),...bF(e)}),DF=/\s+/,zF=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,f=[],b=e.trim().split(DF);let v="";for(let x=b.length-1;x>=0;x-=1){const k=b[x],{isExternal:S,modifiers:_,hasImportantModifier:C,baseClassName:I,maybePostfixModifierPosition:P}=i(k);if(S){v=k+(v.length>0?" "+v:v);continue}let T=!!P,U=r(T?I.substring(0,P):I);if(!U){if(!T){v=k+(v.length>0?" "+v:v);continue}if(U=r(I),!U){v=k+(v.length>0?" "+v:v);continue}T=!1}const X=_.length===0?"":_.length===1?_[0]:h(_).join(":"),L=C?X+f0:X,H=L+U;if(f.indexOf(H)>-1)continue;f.push(H);const Z=u(U,T);for(let ae=0;ae<Z.length;++ae){const M=Z[ae];f.push(L+M)}v=k+(v.length>0?" "+v:v)}return v},IF=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=bN(i))&&(u&&(u+=" "),u+=r);return u},bN=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=bN(e[r]))&&(i&&(i+=" "),i+=n);return i},OF=(e,...n)=>{let i,r,u,h;const f=v=>{const x=n.reduce((k,S)=>S(k),e());return i=RF(x),r=i.cache.get,u=i.cache.set,h=b,b(v)},b=v=>{const x=r(v);if(x)return x;const k=zF(v,i);return u(v,k),k};return h=f,(...v)=>h(IF(...v))},qF=[],pn=e=>{const n=i=>i[e]||qF;return n.isThemeGetter=!0,n},vN=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,xN=/^\((?:(\w[\w-]*):)?(.+)\)$/i,PF=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,MF=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,BF=/\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$/,LF=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,UF=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,VF=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ks=e=>PF.test(e),it=e=>!!e&&!Number.isNaN(Number(e)),Ss=e=>!!e&&Number.isInteger(Number(e)),Ef=e=>e.endsWith("%")&&it(e.slice(0,-1)),zi=e=>MF.test(e),wN=()=>!0,$F=e=>BF.test(e)&&!LF.test(e),y1=()=>!1,GF=e=>UF.test(e),KF=e=>VF.test(e),HF=e=>!Ne(e)&&!_e(e),QF=e=>qs(e,jN,y1),Ne=e=>vN.test(e),uo=e=>qs(e,AN,$F),dk=e=>qs(e,tZ,it),FF=e=>qs(e,CN,wN),ZF=e=>qs(e,NN,y1),mk=e=>qs(e,kN,y1),YF=e=>qs(e,SN,KF),gd=e=>qs(e,_N,GF),_e=e=>xN.test(e),rc=e=>Do(e,AN),XF=e=>Do(e,NN),pk=e=>Do(e,kN),JF=e=>Do(e,jN),WF=e=>Do(e,SN),yd=e=>Do(e,_N,!0),eZ=e=>Do(e,CN,!0),qs=(e,n,i)=>{const r=vN.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},Do=(e,n,i=!1)=>{const r=xN.exec(e);return r?r[1]?n(r[1]):i:!1},kN=e=>e==="position"||e==="percentage",SN=e=>e==="image"||e==="url",jN=e=>e==="length"||e==="size"||e==="bg-size",AN=e=>e==="length",tZ=e=>e==="number",NN=e=>e==="family-name",CN=e=>e==="number"||e==="weight",_N=e=>e==="shadow",nZ=()=>{const e=pn("color"),n=pn("font"),i=pn("text"),r=pn("font-weight"),u=pn("tracking"),h=pn("leading"),f=pn("breakpoint"),b=pn("container"),v=pn("spacing"),x=pn("radius"),k=pn("shadow"),S=pn("inset-shadow"),_=pn("text-shadow"),C=pn("drop-shadow"),I=pn("blur"),P=pn("perspective"),T=pn("aspect"),U=pn("ease"),X=pn("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],H=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Z=()=>[...H(),_e,Ne],ae=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],Y=()=>[_e,Ne,v],le=()=>[ks,"full","auto",...Y()],Je=()=>[Ss,"none","subgrid",_e,Ne],nt=()=>["auto",{span:["full",Ss,_e,Ne]},Ss,_e,Ne],$e=()=>[Ss,"auto",_e,Ne],qe=()=>["auto","min","max","fr",_e,Ne],ke=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Ue=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...Y()],J=()=>[ks,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Y()],be=()=>[ks,"screen","full","dvw","lvw","svw","min","max","fit",...Y()],Se=()=>[ks,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Y()],ee=()=>[e,_e,Ne],Ce=()=>[...H(),pk,mk,{position:[_e,Ne]}],Pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",JF,QF,{size:[_e,Ne]}],de=()=>[Ef,rc,uo],ce=()=>["","none","full",x,_e,Ne],Q=()=>["",it,rc,uo],pe=()=>["solid","dashed","dotted","double"],Ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[it,Ef,pk,mk],st=()=>["","none",I,_e,Ne],Ve=()=>["none",it,_e,Ne],jt=()=>["none",it,_e,Ne],Ke=()=>[it,_e,Ne],me=()=>[ks,"full",...Y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[zi],breakpoint:[zi],color:[wN],container:[zi],"drop-shadow":[zi],ease:["in","out","in-out"],font:[HF],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[zi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[zi],shadow:[zi],spacing:["px",it],text:[zi],"text-shadow":[zi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ks,Ne,_e,T]}],container:["container"],columns:[{columns:[it,Ne,_e,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:Z()}],overflow:[{overflow:ae()}],"overflow-x":[{"overflow-x":ae()}],"overflow-y":[{"overflow-y":ae()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:le()}],"inset-x":[{"inset-x":le()}],"inset-y":[{"inset-y":le()}],start:[{"inset-s":le(),start:le()}],end:[{"inset-e":le(),end:le()}],"inset-bs":[{"inset-bs":le()}],"inset-be":[{"inset-be":le()}],top:[{top:le()}],right:[{right:le()}],bottom:[{bottom:le()}],left:[{left:le()}],visibility:["visible","invisible","collapse"],z:[{z:[Ss,"auto",_e,Ne]}],basis:[{basis:[ks,"full","auto",b,...Y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[it,ks,"auto","initial","none",Ne]}],grow:[{grow:["",it,_e,Ne]}],shrink:[{shrink:["",it,_e,Ne]}],order:[{order:[Ss,"first","last","none",_e,Ne]}],"grid-cols":[{"grid-cols":Je()}],"col-start-end":[{col:nt()}],"col-start":[{"col-start":$e()}],"col-end":[{"col-end":$e()}],"grid-rows":[{"grid-rows":Je()}],"row-start-end":[{row:nt()}],"row-start":[{"row-start":$e()}],"row-end":[{"row-end":$e()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":qe()}],"auto-rows":[{"auto-rows":qe()}],gap:[{gap:Y()}],"gap-x":[{"gap-x":Y()}],"gap-y":[{"gap-y":Y()}],"justify-content":[{justify:[...ke(),"normal"]}],"justify-items":[{"justify-items":[...Ue(),"normal"]}],"justify-self":[{"justify-self":["auto",...Ue()]}],"align-content":[{content:["normal",...ke()]}],"align-items":[{items:[...Ue(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Ue(),{baseline:["","last"]}]}],"place-content":[{"place-content":ke()}],"place-items":[{"place-items":[...Ue(),"baseline"]}],"place-self":[{"place-self":["auto",...Ue()]}],p:[{p:Y()}],px:[{px:Y()}],py:[{py:Y()}],ps:[{ps:Y()}],pe:[{pe:Y()}],pbs:[{pbs:Y()}],pbe:[{pbe:Y()}],pt:[{pt:Y()}],pr:[{pr:Y()}],pb:[{pb:Y()}],pl:[{pl:Y()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":Y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Y()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...be()]}],"min-inline-size":[{"min-inline":["auto",...be()]}],"max-inline-size":[{"max-inline":["none",...be()]}],"block-size":[{block:["auto",...Se()]}],"min-block-size":[{"min-block":["auto",...Se()]}],"max-block-size":[{"max-block":["none",...Se()]}],w:[{w:[b,"screen",...J()]}],"min-w":[{"min-w":[b,"screen","none",...J()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[f]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",i,rc,uo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,eZ,FF]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ef,Ne]}],"font-family":[{font:[XF,ZF,n]}],"font-features":[{"font-features":[Ne]}],"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,_e,Ne]}],"line-clamp":[{"line-clamp":[it,"none",_e,dk]}],leading:[{leading:[h,...Y()]}],"list-image":[{"list-image":["none",_e,Ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",_e,Ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ee()}],"text-color":[{text:ee()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[it,"from-font","auto",_e,uo]}],"text-decoration-color":[{decoration:ee()}],"underline-offset":[{"underline-offset":[it,"auto",_e,Ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",_e,Ne]}],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",_e,Ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ce()}],"bg-repeat":[{bg:Pe()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ss,_e,Ne],radial:["",_e,Ne],conic:[Ss,_e,Ne]},WF,YF]}],"bg-color":[{bg:ee()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:ee()}],"gradient-via":[{via:ee()}],"gradient-to":[{to:ee()}],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:[...pe(),"hidden","none"]}],"divide-style":[{divide:[...pe(),"hidden","none"]}],"border-color":[{border:ee()}],"border-color-x":[{"border-x":ee()}],"border-color-y":[{"border-y":ee()}],"border-color-s":[{"border-s":ee()}],"border-color-e":[{"border-e":ee()}],"border-color-bs":[{"border-bs":ee()}],"border-color-be":[{"border-be":ee()}],"border-color-t":[{"border-t":ee()}],"border-color-r":[{"border-r":ee()}],"border-color-b":[{"border-b":ee()}],"border-color-l":[{"border-l":ee()}],"divide-color":[{divide:ee()}],"outline-style":[{outline:[...pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[it,_e,Ne]}],"outline-w":[{outline:["",it,rc,uo]}],"outline-color":[{outline:ee()}],shadow:[{shadow:["","none",k,yd,gd]}],"shadow-color":[{shadow:ee()}],"inset-shadow":[{"inset-shadow":["none",S,yd,gd]}],"inset-shadow-color":[{"inset-shadow":ee()}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ee()}],"ring-offset-w":[{"ring-offset":[it,uo]}],"ring-offset-color":[{"ring-offset":ee()}],"inset-ring-w":[{"inset-ring":Q()}],"inset-ring-color":[{"inset-ring":ee()}],"text-shadow":[{"text-shadow":["none",_,yd,gd]}],"text-shadow-color":[{"text-shadow":ee()}],opacity:[{opacity:[it,_e,Ne]}],"mix-blend":[{"mix-blend":[...Ie(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ie()}],"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":[it]}],"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":ee()}],"mask-image-linear-to-color":[{"mask-linear-to":ee()}],"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":ee()}],"mask-image-t-to-color":[{"mask-t-to":ee()}],"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":ee()}],"mask-image-r-to-color":[{"mask-r-to":ee()}],"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":ee()}],"mask-image-b-to-color":[{"mask-b-to":ee()}],"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":ee()}],"mask-image-l-to-color":[{"mask-l-to":ee()}],"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":ee()}],"mask-image-x-to-color":[{"mask-x-to":ee()}],"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":ee()}],"mask-image-y-to-color":[{"mask-y-to":ee()}],"mask-image-radial":[{"mask-radial":[_e,Ne]}],"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":ee()}],"mask-image-radial-to-color":[{"mask-radial-to":ee()}],"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":H()}],"mask-image-conic-pos":[{"mask-conic":[it]}],"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":ee()}],"mask-image-conic-to-color":[{"mask-conic-to":ee()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ce()}],"mask-repeat":[{mask:Pe()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",_e,Ne]}],filter:[{filter:["","none",_e,Ne]}],blur:[{blur:st()}],brightness:[{brightness:[it,_e,Ne]}],contrast:[{contrast:[it,_e,Ne]}],"drop-shadow":[{"drop-shadow":["","none",C,yd,gd]}],"drop-shadow-color":[{"drop-shadow":ee()}],grayscale:[{grayscale:["",it,_e,Ne]}],"hue-rotate":[{"hue-rotate":[it,_e,Ne]}],invert:[{invert:["",it,_e,Ne]}],saturate:[{saturate:[it,_e,Ne]}],sepia:[{sepia:["",it,_e,Ne]}],"backdrop-filter":[{"backdrop-filter":["","none",_e,Ne]}],"backdrop-blur":[{"backdrop-blur":st()}],"backdrop-brightness":[{"backdrop-brightness":[it,_e,Ne]}],"backdrop-contrast":[{"backdrop-contrast":[it,_e,Ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",it,_e,Ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[it,_e,Ne]}],"backdrop-invert":[{"backdrop-invert":["",it,_e,Ne]}],"backdrop-opacity":[{"backdrop-opacity":[it,_e,Ne]}],"backdrop-saturate":[{"backdrop-saturate":[it,_e,Ne]}],"backdrop-sepia":[{"backdrop-sepia":["",it,_e,Ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Y()}],"border-spacing-x":[{"border-spacing-x":Y()}],"border-spacing-y":[{"border-spacing-y":Y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",_e,Ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[it,"initial",_e,Ne]}],ease:[{ease:["linear","initial",U,_e,Ne]}],delay:[{delay:[it,_e,Ne]}],animate:[{animate:["none",X,_e,Ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,_e,Ne]}],"perspective-origin":[{"perspective-origin":Z()}],rotate:[{rotate:Ve()}],"rotate-x":[{"rotate-x":Ve()}],"rotate-y":[{"rotate-y":Ve()}],"rotate-z":[{"rotate-z":Ve()}],scale:[{scale:jt()}],"scale-x":[{"scale-x":jt()}],"scale-y":[{"scale-y":jt()}],"scale-z":[{"scale-z":jt()}],"scale-3d":["scale-3d"],skew:[{skew:Ke()}],"skew-x":[{"skew-x":Ke()}],"skew-y":[{"skew-y":Ke()}],transform:[{transform:[_e,Ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:Z()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:ee()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ee()}],"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",_e,Ne]}],"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":Y()}],"scroll-mx":[{"scroll-mx":Y()}],"scroll-my":[{"scroll-my":Y()}],"scroll-ms":[{"scroll-ms":Y()}],"scroll-me":[{"scroll-me":Y()}],"scroll-mbs":[{"scroll-mbs":Y()}],"scroll-mbe":[{"scroll-mbe":Y()}],"scroll-mt":[{"scroll-mt":Y()}],"scroll-mr":[{"scroll-mr":Y()}],"scroll-mb":[{"scroll-mb":Y()}],"scroll-ml":[{"scroll-ml":Y()}],"scroll-p":[{"scroll-p":Y()}],"scroll-px":[{"scroll-px":Y()}],"scroll-py":[{"scroll-py":Y()}],"scroll-ps":[{"scroll-ps":Y()}],"scroll-pe":[{"scroll-pe":Y()}],"scroll-pbs":[{"scroll-pbs":Y()}],"scroll-pbe":[{"scroll-pbe":Y()}],"scroll-pt":[{"scroll-pt":Y()}],"scroll-pr":[{"scroll-pr":Y()}],"scroll-pb":[{"scroll-pb":Y()}],"scroll-pl":[{"scroll-pl":Y()}],"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",_e,Ne]}],fill:[{fill:["none",...ee()]}],"stroke-w":[{stroke:[it,rc,uo,dk]}],stroke:[{stroke:["none",...ee()]}],"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"]}},aZ=OF(nZ);function Ra(...e){return aZ(Jk(e))}const iZ=hN("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"}}),re=N.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const f=r?f5:"button";return l.jsx(f,{ref:h,className:Ra(iZ({variant:n,size:i,className:e})),...u})});re.displayName="Button";const sZ=hN("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 TN({className:e,variant:n,...i}){return l.jsx("div",{className:Ra(sZ({variant:n}),e),...i})}const oZ=220;function hk({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,f]=N.useState(!1),b=!e&&i&&r,v=()=>{f(!0),window.setTimeout(()=>{r?.(),f(!1)},oZ)};return e?l.jsxs(et,{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(et,{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(et,{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(xc,{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(Pr,{className:"size-3","aria-hidden":"true"})})]}):null]})}function rZ({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(TN,{variant:r,...i,children:n})}function b1({status:e}){return l.jsx(bn,{tone:uN(e),children:iH(e)})}const g0=Xk,lZ=Fk,EN=N.forwardRef(({className:e,...n},i)=>l.jsx(T0,{ref:i,className:Ra("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));EN.displayName=T0.displayName;const cZ=400,uZ=1200,dZ=720,tm=N.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=N.useState(dZ),f=N.useRef(!1),b=N.useRef(0),v=N.useRef(0),x=N.useCallback(_=>{f.current=!0,b.current=_.clientX,v.current=u,_.target.setPointerCapture(_.pointerId),_.preventDefault()},[u]),k=N.useCallback(_=>{if(!f.current)return;const C=b.current-_.clientX,I=Math.min(uZ,Math.max(cZ,v.current+C));h(I)},[]),S=N.useCallback(()=>{f.current=!1},[]);return l.jsxs(lZ,{children:[l.jsx(EN,{}),l.jsxs(E0,{ref:r,className:Ra("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:x,onPointerMove:k,onPointerUp:S}),n,l.jsxs(Zk,{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(Pr,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});tm.displayName=E0.displayName;const y0=({className:e,...n})=>l.jsx("div",{className:Ra("flex flex-col gap-1.5 pr-10",e),...n}),nm=N.forwardRef(({className:e,...n},i)=>l.jsx(R0,{ref:i,className:Ra("text-lg font-medium text-primary",e),...n}));nm.displayName=R0.displayName;const am=N.forwardRef(({className:e,...n},i)=>l.jsx(Yk,{ref:i,className:Ra("text-sm text-muted",e),...n}));am.displayName=Yk.displayName;function bd({title:e,subtitle:n,children:i,open:r,onClose:u}){return l.jsx(g0,{open:r,onOpenChange:h=>h?void 0:u(),children:l.jsxs(tm,{children:[l.jsxs(y0,{className:"drawer-head",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),l.jsx(nm,{id:"drawer-title",children:e}),l.jsx(am,{className:"sr-only",children:n})]}),l.jsx("div",{className:"drawer-body",children:i})]})})}function la({text:e,placement:n="top"}){const[i,r]=N.useState(null),u=N.useRef(null),h=N.useRef(null),f=N.useRef(!1),b=N.useCallback(()=>{if(!u.current)return;const k=u.current.getBoundingClientRect(),S=k.left+k.width/2,_=Math.min(224,window.innerWidth-16)/2;r({top:n==="bottom"?k.bottom:k.top,left:n==="bottom"?Math.max(_+8,Math.min(S,window.innerWidth-_-8)):S})},[n]);N.useLayoutEffect(()=>{if(n!=="bottom"||!i||!h.current)return;const k=h.current.getBoundingClientRect().bottom-window.innerHeight+8;if(k<=0)return;const S=Math.max(0,i.top-k);S!==i.top&&r({...i,top:S})},[n,i]);const v=N.useCallback(()=>r(null),[]),x=N.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?x():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&&l5.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 mZ(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function b0({url:e,title:n}){const i=mZ(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})]})}function pZ(e){return[...e.mentionedCompetitorTerms??(e.mentionedCompetitorDomains??[]).flatMap(i=>{const r=X0(i);return r.length>=4?[r]:[]}),...e.recommendedCompetitors??[]].filter(i=>i.trim().length>2)}const hZ=/[\s\-_]+/;function fZ(e){const n=e.split(hZ).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function fk(e,n){const i=gZ(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(x=>x.startsWith("**")&&x.endsWith("**")?{type:"bold",value:x.slice(2,-2)}:{type:"text",value:x}),u=i.flatMap(x=>x.terms).filter(x=>x.trim().length>1);if(u.length===0)return r.map((x,k)=>x.type==="bold"?br.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},x.value):x.value).filter(Boolean);const f=[...u].sort((x,k)=>k.length-x.length).map(fZ).filter(x=>!!x);if(f.length===0)return r.map((x,k)=>x.type==="bold"?br.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},x.value):x.value).filter(Boolean);const b=new RegExp(`(${f.join("|")})`,"gi"),v=new Map;for(const x of i)for(const k of x.terms){const S=Va(k);S&&!v.has(S)&&v.set(S,x.className)}return r.flatMap((x,k)=>x.value.split(b).map((_,C)=>{if(!_)return null;if(C%2===1){const P=v.get(Va(_))??"answer-highlight";return x.type==="bold"?br.createElement("mark",{key:`hl-${k}-${C}`,className:P},br.createElement("strong",{className:"text-strong font-semibold"},_)):br.createElement("mark",{key:`hl-${k}-${C}`,className:P},_)}return x.type==="bold"?br.createElement("strong",{key:`b-${k}-${C}`,className:"text-strong font-semibold"},_):_})).filter(Boolean)}function gZ(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function Rf(e,n){const i=e.mentionedCompetitorDomains!==void 0?e:n,r=i?.mentionedCompetitorTerms;return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...i?.mentionedCompetitorDomains??[]],...r!==void 0?{mentionedCompetitorTerms:[...r]}:{}}}function Df(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 yZ({evidence:e,project:n,onClose:i}){const[r,u]=N.useState(!1),[h,f]=N.useState("mentions"),[b,v]=N.useState(-1),[x,k]=N.useState(null),[S,_]=N.useState(!1),[C,I]=N.useState({}),P=W2(n.project),T=new Set(P.map(Pd)),U=e.runHistory,X=U.length>1,[L,H]=N.useState(null),Z=N.useRef(!1);N.useEffect(()=>{if(Z.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const de=U.at(-1);de&&(Z.current=!0,c0(de.runId).then(ce=>{const Q=ce.snapshots?.find(pe=>pe.query===e.query&&pe.provider===e.provider);Q&&H({citationState:Q.citationState,answerMentioned:Q.answerMentioned,visibilityState:Q.visibilityState,visibilityTransition:de.visibilityTransition,provider:Q.provider,model:Q.model??e.model,answerSnippet:Q.answerText??e.answerSnippet,citedDomains:Q.citedDomains??e.citedDomains,...Rf(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,U]);const ae=b>=0&&x!==null,M=ae?x:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:U.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...Rf(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},Y=M.visibilityState==="pending"||M.citationState==="pending",le=Y?!1:M.visibilityState!=null?M.visibilityState==="visible":M.answerMentioned!=null?M.answerMentioned:M.citationState===pc.cited||M.citationState==="emerging",Je=M.answerMentioned!=null||M.visibilityState!=null||M.mentionedCompetitorDomains.length>0||M.recommendedCompetitors.length>0,nt=M.citedDomains.length>0||M.citedCompetitorDomains.length>0||M.groundingSources.length>0||M.evidenceUrls.length>0,$e=n.project.displayName||n.project.name,qe=[...P.map(Pd),$e,$e.split(" ").slice(0,2).join(" "),...M.matchedTerms].filter(de=>de.trim().length>2),ke=pZ(M),Ue=[{terms:qe,className:"answer-highlight-brand"},...ke.length>0?[{terms:ke,className:"answer-highlight-competitor"}]:[]],q=Y?"pending":M.visibilityTransition==="lost"?"lost":le?"mentioned":"not-mentioned",J=N.useRef(0),be=N.useCallback(async de=>{const ce=++J.current;if(de===-1||de===U.length-1){v(-1),k(null),u(!1);return}v(de),u(!1);const Q=U[de],pe=`${Q.runId}::${e.query}::${e.provider}`;if(C[pe]){k(C[pe]);return}_(!0);try{const Ie=await c0(Q.runId);if(ce!==J.current)return;const je=Ie.snapshots?.find(Ve=>Ve.query===e.query&&Ve.provider===e.provider)??Ie.snapshots?.find(Ve=>Ve.query===e.query),st=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,...Rf(je),recommendedCompetitors:je.recommendedCompetitors??[],matchedTerms:je.matchedTerms??[],groundingSources:je.groundingSources,searchQueries:je.searchQueries,evidenceUrls:je.citedUrls??[],changeLabel:Df(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:Df(Q.mentionTransition??Q.visibilityTransition,Q.mentionState??Q.visibilityState),summary:"Snapshot data not available for this run."};I(Ve=>({...Ve,[pe]:st})),k(st)}catch{if(ce!==J.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:Df(Q.mentionTransition??Q.visibilityTransition,Q.mentionState??Q.visibilityState),summary:"Failed to load historical run data."})}finally{ce===J.current&&_(!1)}},[U,e.query,e.provider,C]),ee=(ae||e.historyScope!=="provider")&&M.model?`${M.provider} (${M.model}) · ${M.changeLabel.toLowerCase()}`:`${M.provider} · ${M.changeLabel.toLowerCase()}`,Ce=!ae&&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(" · "):"",Pe=le?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:ee}:M.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:ee}:Y?{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:ee},ve=()=>{if(!M.answerSnippet)return null;const de=M.answerSnippet.split(`
|
|
58
|
-
`),ce=[];let Q=[],pe=0;const Ie=()=>{if(Q.length===0)return;const je=Q.join(" ").trim();je&&ce.push(l.jsx("p",{className:ce.length>0?"mt-2.5":"",children:fk(je,Ue)},pe++)),Q=[]};for(const je of de){const st=je.trim();if(/^[-\u2013\u2014]{3,}$/.test(st)){Ie(),ce.push(l.jsx("hr",{className:"border-default my-3"},pe++));continue}const Ve=st.match(/^(#{1,3})\s+(\S.*)$/);if(Ve){Ie();const jt=Ve[1].length,Ke=Ve[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Ve[2],me=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:me,children:fk(Ke,Ue)},pe++));continue}if(st===""){Ie();continue}Q.push(st)}return Ie(),ce};return l.jsx(Xk,{open:!0,onOpenChange:de=>{de||i()},children:l.jsxs(Fk,{children:[l.jsx(T0,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),l.jsxs(E0,{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," ","·"," ",M.provider||"All providers"]}),l.jsx(R0,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),l.jsxs(Zk,{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(Pr,{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:U.map((de,ce)=>{const Q=b===-1&&ce===U.length-1||b===ce,pe=de.visibilityState??(de.answerMentioned?"visible":"not-visible"),Ie=de.visibilityTransition??pe,je=pe==="visible"?"bg-positive-400":Ie==="emerging"?"bg-caution-400":Ie==="lost"?"bg-negative-400":"bg-mono-600",Ve=new Date(de.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),jt=!!(de.model&&ce>0&&U[ce-1]?.model&&U[ce-1].model!==de.model);return l.jsxs("button",{type:"button",className:`evidence-run-dot ${Q?"evidence-run-dot--selected":""}`,onClick:()=>{be(ce===U.length-1?-1:ce)},"aria-label":[`Run ${Ve}: ${pe}`,de.model?`model ${de.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:Ve})]},ce)})}),b>=0&&b<U.length&&l.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(U[b].createdAt).toLocaleString()," ","—"," ",l.jsx("span",{className:"capitalize",children:U[b].visibilityState??(U[b].answerMentioned?"visible":"not-visible")}),l.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{be(-1)},children:["←"," Back to latest"]})]}),!ae&&(e.modelTransitions?.length??0)>0&&l.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(de=>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:`${de.fromModel??"unknown"} -> ${de.toModel??"unknown"} on ${new Date(de.createdAt).toLocaleDateString()}`},`${de.runId}:${de.toModel??"unknown"}`))})]}),l.jsxs("div",{className:"evidence-modal-body",children:[S&&l.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!S&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"evidence-modal-main",children:[l.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${q}`,children:[l.jsx("p",{className:`evidence-position-label evidence-position-label--${q}`,children:Pe.label}),l.jsx("p",{className:`evidence-position-title evidence-position-title--${q}`,children:Pe.title}),l.jsx("p",{className:"evidence-position-meta",children:Pe.meta}),Ce&&l.jsx("p",{className:"mt-1 text-[11px] text-muted",children:Ce})]}),M.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()}),M.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"})]}),!M.answerSnippet&&!S&&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"}),M.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(la,{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:M.searchQueries.map((de,ce)=>l.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[l.jsx(D0,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),l.jsx("span",{className:"break-words",children:de})]},`${ce}-${de}`))})]}),!ae&&e.relatedTechnicalSignals.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:le?"Why you're visible":"What to fix"}),l.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((de,ce)=>l.jsxs("div",{className:"action-item",children:[l.jsx("svg",{className:`action-item-icon ${le?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:le?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:de})]},ce))})]}),M.summary&&l.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:M.summary})]}),l.jsxs("div",{className:"evidence-modal-sidebar",children:[(Je||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(la,{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--${le?"mentioned":"not-mentioned"}`,children:[l.jsx("span",{className:"mention-status-icon",children:Y?"…":le?"✓":"—"}),l.jsx("span",{className:"mention-status-label",children:Y?"Pending":le?"Mentioned":"Not mentioned"})]}),M.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:M.matchedTerms.map(de=>l.jsx("span",{className:"mention-chip mention-chip--brand",children:de},de))})]}),!Y&&!le&&M.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(de=>l.jsx("span",{className:"mention-chip mention-chip--muted",children:de},de))}),l.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(M.recommendedCompetitors.length>0||M.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(la,{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 de=M.mentionedCompetitorDomains.map(pe=>pe.replace(/^www\./,"")),ce=new Set(de.map(pe=>Va(pe.replace(/\.[^.]+$/,""))));return[...M.recommendedCompetitors.filter(pe=>!ce.has(Va(pe))),...de].map(pe=>l.jsx("span",{className:"mention-chip mention-chip--competitor",children:pe},pe))})()})]})]}),h==="sources"&&l.jsxs(l.Fragment,{children:[M.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(la,{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:M.citedDomains.map((de,ce)=>{const Q=de.toLowerCase().replace(/^www\./,""),pe=T.has(Q),Ie=!pe&&M.citedCompetitorDomains.some(st=>st.toLowerCase().replace(/^www\./,"")===Q),je=pe?"you":Ie?"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:de}),pe&&l.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),Ie&&l.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},de)})})]}),M.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 (",M.groundingSources.length,")"]}),l.jsx(la,{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:M.groundingSources.map((de,ce)=>l.jsx("li",{className:"min-w-0",children:l.jsx(b0,{url:de.uri,title:de.title})},ce))})]}),M.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:M.evidenceUrls.map(de=>l.jsx("li",{className:"min-w-0",children:l.jsx(b0,{url:de})},de))})]}),M.citedDomains.length===0&&M.groundingSources.length===0&&M.evidenceUrls.length===0&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",ae?"for this run":"yet"]})]}),!Je&&!nt&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",ae?"for this run":"yet"]})]})]})]})]})]})})}function bZ(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function vZ(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function xZ(e,n){return vZ(bZ(e),n)}function La(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 zf=[{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:nf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,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:nf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,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:nf,locations:[],defaultLocation:null,autoExtractBacklinks:!1,siteAuditMaxPages:null,configSource:"cli",configRevision:1}];function qm(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 gk=qm({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:"6 minutes 12 seconds",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),wZ=qm({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",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),yk=qm({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:"5 minutes 7 seconds",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),kZ=qm({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:"Running",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),SZ=[{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:La(["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:La(["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:La(["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:La(["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:La(["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:La(["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:La(["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:La(["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:La(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];zf[0],9/21,8/21,4/21,zf[1],11/17,6/17,La(["cited","cited","cited","cited","cited"]),zf[2],15/19,4/19,La(["not-cited","not-cited","not-cited","cited"]);function jZ(e,n){return e.runs.find(i=>i.id===n)}function AZ(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 AZ(n,i)}const CZ={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"},_Z={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"},TZ={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"},EZ={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:CZ[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??EZ[e.type],actionGroup:_Z[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:TZ[e.type]}]}}function DZ(e){return e.filter(n=>!n.dismissed).map(RZ)}function RN(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,siteAuditMaxPages:e.siteAuditMaxPages??null,configSource:e.configSource,configRevision:e.configRevision,createdAt:e.createdAt,updatedAt:e.updatedAt}}function mo(e,n){return`${e} ${n}${e===1?"":"s"}`}function zZ(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"under 1 second";const r=Math.floor(i/1e3),u=Math.floor(r/3600),h=Math.floor(r%3600/60),f=r%60;return u>0?h>0?`${mo(u,"hour")} ${mo(h,"minute")}`:mo(u,"hour"):h>0?f>0?`${mo(h,"minute")} ${mo(f,"second")}`:mo(h,"minute"):mo(f,"second")}function DN(e){switch(e){case De["answer-visibility"]:return"Answer visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Site audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function IZ(e){switch(e){case ai.manual:return"Manual";case ai.scheduled:return"Scheduled";case ai["config-apply"]:return"Config apply";case ai.probe:return"Spot check";default:return e}}function Pm(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:DN(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:sH(e.startedAt||e.createdAt),duration:zZ(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?zN(e.error):OZ(e),summary:qZ(e),triggerLabel:IZ(e.trigger)}}function zN(e){const n=dg(e);return n.length>200?n.slice(0,200)+"…":n}function OZ(e){switch(e.status){case Zt.queued:return"Waiting for execution slot.";case Zt.running:return"Provider queries in progress.";case Zt.completed:return"All queries checked.";case Zt.partial:return"Run completed with some queries skipped.";case Zt.failed:return e.error?zN(e.error):"Run failed.";case Zt.cancelled:return"Run was cancelled.";default:return""}}function qZ(e){const n=DN(e.kind);switch(e.status){case Zt.queued:return`${n} queued`;case Zt.running:return`${n} in progress`;case Zt.completed:return`${n} completed`;case Zt.partial:return`${n} partially completed`;case Zt.failed:return`${n} failed`;case Zt.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(T=>T.snapshots??[]),x=new Map;for(const T of v)if(T.query){const U=`${T.query}::${T.provider}::${T.location??""}`;x.set(U,T)}const k=new Set(v.map(T=>T.location??null));k.size===0&&k.add(null);const S=new Set(v.map(T=>T.provider)),_=new Set(n.flatMap(T=>Object.keys(T.providerRuns??{}))),C=[...new Set([...S,..._])].sort(),I=C.length>0?C:["gemini"],P=new Set(v.flatMap(T=>T.query?[T.query]:[]));for(const T of n){if(T.runs.length===0&&!P.has(T.query))continue;b.add(T.query);const U=T.runs.at(-1),X=U?.transition??"not-cited";for(const L of I){const H=[...k].filter(M=>x.has(`${T.query}::${L}::${M??""}`)),Z=(T.providerRuns?.[L]?.length??0)>0,ae=H.length>0?H:Z?[null]:[];for(const M of ae){const Y=M??"",le=x.get(`${T.query}::${L}::${Y}`),Je=le?.model??null,nt=Je?`${L}:${Je}`:null,$e=T.providerRuns?.[L],qe=nt?T.modelRuns?.[nt]:void 0,ke=Kt=>Kt?.filter(Me=>(Me.location??null)===M),Ue=H.length>0?ke($e):$e,q=H.length>0?ke(qe):qe,J=(Ue?.length?Ue:null)??(q?.length?q:null),be=Ue?.length?"provider":q?.length?"model":"query",Se=le&&J?J.findIndex(Kt=>Kt.runId===le.runId):-1,ee=le?Se>=0?J.slice(0,Se+1):null:J,Ce=le!==void 0&&ee===null,Pe=ee?ee.at(-1).transition:Ce?le.citationState===pc.cited?"cited":"not-cited":X,ve=ee?ee.at(-1).visibilityTransition??(ee.at(-1).visibilityState==="visible"?"visible":"not-visible"):Ce?le.visibilityState==="visible"?"visible":"not-visible":U?.visibilityTransition??(U?.visibilityState==="visible"?"visible":"not-visible"),de=J?.at(-1)?.citationState,ce=J?.at(-1)?.visibilityState,Q=le?Pe==="lost"?"lost":Pe==="emerging"?"emerging":le.citationState===pc.cited?"cited":"not-cited":de===pc.cited?"cited":"not-cited",pe=le?.visibilityState??(ce==="visible"?"visible":ce==="pending"?"pending":"not-visible"),Ie=ee?bk(ee):Ce?1:bk(T.runs),je=ee?vk(ee):Ce?1:vk(T.runs),st=MZ(T,L),Ve=(J??T.runs).map(Kt=>({runId:Kt.runId,citationState:Kt.citationState,createdAt:Kt.createdAt,model:st.get(Kt.runId)??null,answerMentioned:Kt.answerMentioned,visibilityState:Kt.visibilityState,visibilityTransition:Kt.visibilityTransition,mentionState:Kt.mentionState,mentionTransition:Kt.mentionTransition})),jt=BZ(Ve),Ke=be==="provider"&&jt.length<=1?"model":be,me=LZ(Ve),at=le?.citedCompetitorDomains??[],zt=le?.mentionedCompetitorDomains??[],On=[...new Set([...at,...zt,...le?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${f++}`,query:T.query,queryId:le?.queryId??null,sourceSnapshotId:le?.id??null,sourceRunId:le?.runId??null,queryClass:u?.classify(T.query)??null,provider:le?.provider??L,model:le?.model??null,location:le?.location??M,citationState:Q,answerMentioned:le?.answerMentioned,visibilityState:pe,visibilityChangeLabel:xk(ve,je,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:xk(Pe,Ie),answerSnippet:le?.answerText??"",citedDomains:le?.citedDomains??[],evidenceUrls:le?.citedUrls??[],citedCompetitorDomains:at,mentionedCompetitorDomains:zt,mentionedCompetitorTerms:le?.mentionedCompetitorTerms??[],competitorDomains:On,recommendedCompetitors:le?.recommendedCompetitors??[],matchedTerms:le?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:le?.groundingSources??[],searchQueries:le?.searchQueries??[],summary:UZ(pe,ve,T.query),runHistory:Ve,historyScope:Ke,modelsSeen:jt,modelTransitions:me})}}}}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:[],mentionedCompetitorTerms:[],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 MZ(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 BZ(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function LZ(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 bk(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 vk(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 xk(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?`${lc(r.positive)} in latest run`:`${lc(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return lc(r.first);case"not-cited":case"not-visible":return n<=1?`${lc(r.negative)} in latest run`:`${lc(r.negative)} across ${n} runs`;default:return e}}function lc(e){return e.charAt(0).toUpperCase()+e.slice(1)}function UZ(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 IN(e){const n=RN(e.project),i=D9(kO(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=>Pm(f,e.project.displayName||e.project.name));return e.overview?VZ(n,e.overview,r,h):$Z(n,r,h)}function ON(e){return e.filter(n=>n.kind===De["answer-visibility"]&&n.trigger!==ai.probe&&(n.status===Zt.completed||n.status===Zt.partial))}function VZ(e,n,i,r){const u=DZ(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,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,movementComparison:n.movementComparison,insights:u,visibilityEvidence:i,competitors:n.competitors.map(h=>({id:h.id,domain:h.domain,aliases:h.aliases??[],citationCount:h.citationCount,totalQueries:h.totalQueries,pressureLabel:h.pressureLabel,citedQueries:h.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),visibilitySweeps:ON(r),suggestedQueries:n.suggestedQueries}}function wk(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,combinedMentionSnapshots:0,perCompetitor:[],ranking:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function $Z(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,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:wk(),branded:wk()},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"},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),visibilitySweeps:ON(i),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function GZ(e){const n=RN(e.project),i=[...e.runs].sort((_,C)=>C.createdAt.localeCompare(_.createdAt)),r=i.find(_=>_.kind===De["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?Pm(r,u):KZ(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,x=f.queryCounts.mentionedQueries,k=f.queryCounts.totalQueries,S=f.providers.length;return{project:n,hasMeasurement:k>0&&b.progress!=null,mentionScore:v,mentionDelta:k>0?`${x} of ${k} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:h,insight:k>0?`${x} of ${k} queries mentioned across ${S} provider${S===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:f.scores.competitorPressure.value,sentiment:f.sentiment}}function KZ(e,n){return{id:"none",projectId:e,projectName:n,kind:De["answer-visibility"],kindLabel:"No runs yet",status:Zt.queued,trigger:ai.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function HZ(e,n){const i=[],r=[],u=[];for(const f of e){r.push(IN(f)),u.push(GZ(f));const b=[...f.runs].sort((v,x)=>x.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(Pm(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?QZ(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 QZ(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===Zt.running||h.status===Zt.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 qN=N.createContext(null);qN.Provider;function Fc(){return N.useContext(qN)}function Mm(e,n={}){const r=Fc()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,f=n.pauseProjectPolling??!1,{isAdmin:b}=pa(),v=yt({...zm({client:W,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:Or,refetchInterval:L=>L.state.data?.some(ae=>ae.status==="running"||ae.status==="queued")?3e3:Or}),x=yt({...Ro({client:W}),enabled:!r,refetchInterval:f?!1:L=>{const H=L.state.data,Z=v.data?.some(M=>M.status==="running"||M.status==="queued");return(H?.length??0)===0||!!Z?FK:ZK}}),k=yt({...LH({client:W}),enabled:!r&&u&&b}),S=x.data??[],_=v.data??[],C=c5({queries:S.map(L=>{const H=_.filter(M=>M.projectId===L.id),Z=H.filter(M=>(M.status==="completed"||M.status==="partial")&&M.kind==="answer-visibility"&&M.trigger!=="probe").sort((M,Y)=>Y.createdAt.localeCompare(M.createdAt)),ae=Z.length>0?Z[0].id:"no-run";return{queryKey:["project-overview-slim",L.id,ae],queryFn:async()=>{const M=await WA(L.name).catch(()=>null);return{project:L,runs:H,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:M}},enabled:!r&&h&&x.isSuccess&&v.isSuccess,staleTime:_d}})}),I=!h||C.every(L=>L.isSuccess),P=N.useMemo(()=>{if(r)return r;if(!x.data||!v.data||S.length>0&&!I)return null;const L=h?C.map(H=>H.data?{...H.data,runs:_.filter(Z=>Z.projectId===H.data.project.id)}:null).filter(H=>H!=null):S.map((H,Z)=>{const ae=C[Z]?.data;return{project:H,runs:_.filter(M=>M.projectId===H.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:ae?.overview??null}});return HZ(L,k.data??null)},[r,x.data,v.data,k.data,h,I,C,S,_]),T=!r&&(x.isError||v.isError),U=!r&&!P&&!T,X=N.useCallback(async()=>{const L=[x.refetch(),v.refetch(),...h?C.map(H=>H.refetch()):[]];u&&L.push(k.refetch()),await Promise.all(L)},[u,h,C,x.refetch,v.refetch,k.refetch]);return{dashboard:P,isLoading:U,isError:T,refetch:X}}function FZ(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 v0(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 Wae(e,n,i){const r=da(),u=N.useRef({projectName:e,revision:n,enabled:i});N.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&v0(r,e)},[i,e,r,n])}const ZZ=20;function YZ(e,n={}){const i=da(),r=Fc(),u=N.useMemo(()=>!r||!e?null:r.dashboard.projects.find(Z=>Z.project.name===e)??null,[r,e]),h=yt({...bH({client:W,path:{name:e??""}}),enabled:!!e&&!u,staleTime:_d,refetchOnWindowFocus:"always"}),f=yt({...lN({client:W,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:Or,refetchOnWindowFocus:"always",refetchInterval:Z=>Z.state.data?.some(Y=>Y.projectId===h.data?.id&&(Y.status==="running"||Y.status==="queued"))?3e3:Or}),b=h.data??null,v=N.useMemo(()=>b?(f.data??[]).filter(Z=>Z.projectId===b.id):[],[b,f.data]),{latestRunIds:x,latestRunIdsKey:k,latestVisibilityRevision:S}=N.useMemo(()=>{const Z=v.filter(Y=>(Y.status==="completed"||Y.status==="partial")&&Y.kind==="answer-visibility"&&Y.trigger!=="probe").sort((Y,le)=>le.createdAt.localeCompare(Y.createdAt)),ae=Z[0]?.createdAt??null,M=ae?Z.filter(Y=>Y.createdAt===ae).map(Y=>Y.id):[];return{latestRunIds:M,latestRunIdsKey:[...M].sort().join(","),latestVisibilityRevision:ae?`${ae}:${[...M].sort().join(",")}`:"none"}},[v]),_=!!b&&!!e&&f.isSuccess,C=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","overview"],queryFn:async()=>({project:b,overview:await WA(e)}),enabled:_&&n.overview===!0,staleTime:_d,refetchOnWindowFocus:"always"}),I=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","evidence"],queryFn:async()=>{const[Z,ae,M]=await Promise.all([JA(e),lK(e,void 0,ZZ),Promise.all(x.map(Y=>c0(Y)))]);return{project:b,queries:Z,timeline:ae,latestRunDetails:M}},enabled:_&&n.evidence===!0,staleTime:_d,refetchOnWindowFocus:"always"}),P=N.useMemo(()=>{if(!b||!f.data)return u;const Z=n.evidence?I.data:void 0,ae={project:b,runs:v,queries:Z?.queries??[],timeline:Z?.timeline??[],latestRunDetails:Z?.latestRunDetails??[],overview:n.overview?C.data?.overview??null:null},M=IN(ae);return u&&!(n.overview&&C.data)?{...u,project:M.project,recentRuns:M.recentRuns,visibilitySweeps:M.visibilitySweeps,visibilityEvidence:Z?M.visibilityEvidence:u.visibilityEvidence}:M},[b,v,I.data,C.data,u,n.evidence,n.overview,f.data]),T=N.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]),U=h.isError||f.isError,X=!u&&(h.isLoading||f.isLoading),L=!!e&&n.overview===!0&&!u&&!U&&C.isPending,H=!!e&&n.evidence===!0&&!u&&!U&&I.isPending;return{commandCenter:P,project:b,isLoading:X,isError:U,overviewLoading:L,overviewError:n.overview===!0&&C.isError&&!C.data,evidenceLoading:H,evidenceError:n.evidence===!0&&I.isError&&!I.data,latestVisibilityRevision:S,competitorHistoryRevision:FZ(v),refetch:T}}const XZ=["health"];async function JZ(){const e=await CK("/health","API"),n=bo()&&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 v1(e,n){return yt({queryKey:XZ,queryFn:JZ,enabled:e,refetchInterval:15e3,initialData:n})}function WZ(e){return yt({...h1({client:W,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function x1(){const e=Ts(),n=Hk({strict:!1}),i=u5({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:Ln.to,search:x=>({...x,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:Ln.to,search:x=>({...x,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:Ln.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const eY={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function tY(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function nY(){const e=N.useSyncExternalStore(HK,ek,ek),n=Ts(),{openRun:i}=x1(),r=N.useCallback(h=>{p0(h)},[]),u=N.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),p0(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 ${eY[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":tY(h),children:h.cta.label}):null]}),l.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:l.jsx(Pr,{className:"size-3.5"})})]},h.id))})}const aY="https://github.com/Canonry/canonry",iY="https://canonry.ai",kk="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",sY=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"]]},{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 oY(){const e=N.useId();if(!bo())return null;const n=Dm(),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:kk}),l.jsxs("div",{className:"demo-banner-actions",children:[l.jsxs("a",{className:"demo-banner-primary",href:iY,...r,children:["canonry.ai",l.jsx(Wk,{"aria-hidden":"true",size:14})]}),l.jsxs("a",{className:"demo-banner-secondary",href:aY,...r,children:[l.jsx(eS,{"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(Rc,{"aria-hidden":"true",size:14})]}),l.jsxs("div",{className:"demo-banner-panel",children:[l.jsx("p",{className:"demo-banner-panel-agent",children:kk}),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:sY.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 yc(e){switch(e){case De["answer-visibility"]:return"Visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Technical audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function Sk(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function rY(){const e=N.useSyncExternalStore(pN,Vi,Vi),n=N.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=yt({...zm({client:W}),enabled:i,staleTime:Or}),u=N.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?yc(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=>`${yc(b.kind)} ${Sk(b.status)}`).join(". "),"."]}),l.jsxs("details",{className:"task-center-details",children:[l.jsxs("summary",{className:"task-center-trigger",children:[l.jsx(Nr,{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(Rc,{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:yc(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:Sk(b.status)})]},b.runId))}),l.jsx(et,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}const w1={queryClass:"all"},lY=["all","non-brand","branded"];function PN(e){return typeof e=="string"&&lY.includes(e)}function cY(e){const n=PN(e.class)?e.class:w1.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 eie(e,n){return n===null||e===null?!1:e!==n}function tie(e){return{scope:e.scope==="group"&&e.groupKey?`group:${e.groupKey}`:void 0,class:e.queryClass===w1.queryClass?void 0:e.queryClass}}function uY(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 dY(e){const n=x=>typeof e[x]=="string"&&e[x]!==""?e[x]:void 0,i=cY({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"||PN(h)?h:w1.queryClass};f.measurementScope!=="project"&&(f.measurementScopeKey=u);for(const[x,k]of[["measurementMarketKey","marketKey"],["measurementProvider","provider"],["measurementModel","model"],["measurementLocation","location"],["measurementFrom","from"],["measurementTo","to"],["measurementRunId","measurementRunId"],["measurementQueryKey","queryKey"]]){const S=n(x);S!==void 0&&(f[k]=S)}const b=Number(e.measurementRevision);Number.isSafeInteger(b)&&b>0&&(f.revision=b);const v=uY(e.measurementAnswer,f.queryKey);return v&&(f.answer=v),f}function mY(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 nie(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 aie(e){return{...e,onboarding:void 0,manageQueries:void 0,siteHealthRunId:void 0,siteScan:void 0,setupProject:void 0}}function pY(e,n){const i=/\/properties\/([^/]+)/.exec(e),r=dY(n);if(i)return{view:"property",selection:Ld.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=Ld.safeParse(mY(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 hY(e,n={}){const{threshold:i=80}=n,r=N.useRef(null),u=N.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 N.useEffect(()=>{const v=r.current;if(!v)return;const x=()=>{u.current.wasAtEnd=h(v)<=i};return v.addEventListener("scroll",x,{passive:!0}),()=>v.removeEventListener("scroll",x)},[i]),N.useLayoutEffect(()=>{const v=r.current;if(!v)return;const x=v.scrollHeight;x>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=x),u.current.scrollHeight=x},e),N.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const x=new ResizeObserver(()=>{const k=v.scrollHeight;k>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=k),u.current.scrollHeight=k});return x.observe(v),v.firstElementChild&&x.observe(v.firstElementChild),()=>x.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:f}}const x0="Sweeps are run by your Canonry team",fY="Scans are run by your Canonry team",jk="Next sweep unavailable",gY="Sweep running…",yY="Next sweep:";function bY(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function vY({projectName:e,kind:n=De["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===De["site-audit"],h=yt({...VH({client:W,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"}):bY(b.toISOString(),f?.timezone):null,k=(h.error instanceof _n?h.error.code:h.error?.error?.code)==="NOT_FOUND",S=!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"]}):fY]}):i?gY:S?jk:v&&b?l.jsxs(l.Fragment,{children:[yY," ",l.jsx("time",{dateTime:b.toISOString(),children:v})]}):jk})}const xY=300,wY=400,kY=900,SY=32,Ak=28;let jY=0;function AY(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function w0(){return new DOMException("Preview stopped","AbortError")}function NY(e,n){return n?.aborted?Promise.reject(w0()):new Promise((i,r)=>{const u=()=>{clearTimeout(h),r(w0())},h=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);n?.addEventListener("abort",u,{once:!0})})}function CY(e){const n=e.match(/\S+\s*|\s+/g)??[];if(n.length<2)return[];const i=Math.ceil(n.length/SY),r=[];for(let u=i;u<n.length;u+=i)r.push(n.slice(0,u).join(""));return r}function _Y(e){return typeof e=="string"?e:JSON.stringify(e??null)}async function TY({starter:e,signal:n,onEvent:i,reducedMotion:r=!1}){const u=async b=>{if(n?.aborted)throw w0();r||await NY(b,n)},h=Date.now(),f=++jY;await u(xY);for(const[b,v]of e.steps.entries()){const{name:x,label:k,arguments:S,result:_,durationMs:C}=v.tool,I=`preview-${e.id}-${f}-${b}`,P={role:"assistant",timestamp:Date.now(),stopReason:"toolUse",content:[...v.text?[{type:"text",text:v.text}]:[],{type:"toolCall",id:I,name:x,arguments:S}]};i({type:"message_end",message:P}),i({type:"tool_execution_start",toolCallId:I,toolName:x,label:k,args:S}),await u(Math.min(kY,Math.max(wY,C))),i({type:"tool_execution_end",toolCallId:I,toolName:x,result:_,isError:!1});const T={role:"toolResult",toolCallId:I,timestamp:Date.now(),isError:!1,aeroToolLabel:k,aeroDurationMs:C,content:[{type:"text",text:_Y(_)}]};i({type:"message_end",message:T})}if(!r){for(const b of CY(e.answer))await u(Ak),i({type:"message_update",message:{role:"assistant",content:[{type:"text",text:b}]},assistantMessageEvent:{}});await u(Ak)}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 Bm(e){try{return await e.json()}catch{return{}}}function EY(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const Lm=EY();function Um(e){e===401&&c1()}async function If(e){const n=await fetch(`${Lm}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){Um(n.status);const i=await Bm(n);throw new _n(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(`${Lm}/projects/${encodeURIComponent(e)}/agent/preview`,{credentials:"include"});if(!n.ok){Um(n.status);const i=await Bm(n);throw new _n(i.error?.message??`preview fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function DY(e){const n=await fetch(`${Lm}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){Um(n.status);const i=await Bm(n);throw new _n(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function zY({project:e,prompt:n,conversationId:i,provider:r,modelId:u,scope:h,profile:f,context:b,limits:v,signal:x,onEvent:k}){const S={prompt:n};i!==void 0&&(S.conversationId=i),r&&(S.provider=r),u&&(S.modelId=u),h&&(S.scope=h),f&&(S.profile=f),b&&(S.context=b),v&&(S.limits=v);const _=await fetch(`${Lm}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(S),signal:x});if(!_.ok||!_.body){Um(_.status),Jd({method:"POST",route:"/api/v1/projects/{name}/agent/prompt",status:_.status});const X=await Bm(_);throw new _n(X.error?.message??`prompt failed: ${_.status}`,_.status,X.error?.code)}Zr("aero.send");let C=!1;const I=_.body.getReader(),P=new TextDecoder;let T="";const U=()=>{I.cancel().catch(()=>{})};x?.addEventListener("abort",U,{once:!0}),x?.aborted&&U();try{for(;;){const{value:X,done:L}=await I.read();if(L)break;T+=P.decode(X,{stream:!0});let H=T.indexOf(`
|
|
59
|
-
|
|
60
|
-
`);for(;H!==-1;){const Z=T.slice(0,H);T=T.slice(H+2);for(const ae of Z.split(`
|
|
61
|
-
`)){if(!ae.startsWith("data:"))continue;const M=ae.slice(5).trim();if(!M)continue;let Y;try{Y=JSON.parse(M)}catch{continue}Y.type==="stream_close"&&(C=!0),k(Y)}H=T.indexOf(`
|
|
62
|
-
|
|
63
|
-
`)}}if(x?.aborted)throw new DOMException("Turn stopped","AbortError");if(!C)throw new Error("Connection ended before Aero finished. Review the partial answer before retrying.")}finally{x?.removeEventListener("abort",U);try{I.releaseLock()}catch{}}}function Td(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const k0=[{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."}],IY="https://canonry.ai",OY="This demo plays sample answers only. Pick a starting point, or type / to choose one.",qY="Stopped. The sample answer so far is kept.";function Nk(e){return{queryKey:["aero-preview",e],queryFn:()=>RY(e),staleTime:1/0,gcTime:1/0}}const Ck=[{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"}],vd=e=>`canonry:aero:provider:${e}`,PY=e=>`canonry:aero:scope:${e}`;function _k(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function MY(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function Tk(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function BY({projectName:e,context:n,preview:i=r1()}){const r=po(),{canWrite:u,account:h}=pa(),f=da(),b=h?.role==="viewer",[v,x]=N.useState(!1),[k,S]=N.useState(!1),[_,C]=N.useState([]),[I,P]=N.useState(void 0),T=N.useRef(!1),[U,X]=N.useState(!1),[L,H]=N.useState(!1),[Z,ae]=N.useState(null),[M,Y]=N.useState(!1),[le,Je]=N.useState(!1),[nt,$e]=N.useState(null),qe=N.useRef(!1),[ke,Ue]=N.useState(""),[q,J]=N.useState(!1),[be,Se]=N.useState([]),[ee,Ce]=N.useState(""),[Pe,ve]=N.useState(null),[de,ce]=N.useState(null),[Q,pe]=N.useState(null),Ie=N.useRef(!0),[je,st]=N.useState(()=>_k(vd(e))??null),Ve=r||b||i?null:je,[jt]=N.useState(()=>_k(PY(e))==="all"?"all":"read-only"),Ke=r||b||i?"read-only":jt,me=N.useRef(null),at=N.useRef(null),zt=N.useRef(null),On=N.useRef(null),{ref:Kt}=hY([_,ee,be]),Me=N.useRef(null);N.useLayoutEffect(()=>{const oe=Me.current;if(!oe)return;oe.style.height="auto";const Te=k?VY:UY;oe.scrollHeight>0&&(oe.style.height=`${Math.min(oe.scrollHeight,Te)}px`)},[ke,k,v]);const[ct,Ht]=N.useState(0),Qt=N.useMemo(()=>{const oe=ke.trimStart();if(!oe.startsWith("/"))return[];if(/\s/.test(oe))return[];const Te=oe.toLowerCase();return Ck.filter(Ze=>(!(r||b)||Ze.command!=="/run-sweep")&&(!b||Ze.action!=="new")&&(!i||k0.some(It=>It.prompt===Ze.prompt))&&(Ze.command.startsWith(Te)||Ze.label.toLowerCase().includes(Te.slice(1))))},[ke,r,b,i]);N.useEffect(()=>{Ht(oe=>Qt.length===0?0:Math.min(oe,Qt.length-1))},[Qt.length]);const Tn=yt({...eF({client:W,path:{name:e}}),enabled:!b&&!i,staleTime:6e4}),Ut=N.useMemo(()=>{const oe=Tn.data?.providers??[];if(Ve){const Ze=oe.find(It=>It.id===Ve&&It.configured);if(Ze)return Ze}const Te=Tn.data?.defaultProvider;return Te?oe.find(Ze=>Ze.id===Te)??null:null},[Ve,Tn.data]),li=b||i||Ut!==null;yt({...Nk(e),enabled:i&&v}),N.useEffect(()=>{if(!Tn.data||!Ve)return;Tn.data.providers.find(Te=>Te.id===Ve&&Te.configured)||(st(null),Tk(vd(e)))},[Tn.data,Ve,e]);const Ps=N.useCallback(oe=>{st(oe),oe?MY(vd(e),oe):Tk(vd(e))},[e]);N.useEffect(()=>{if(!v)return;const oe=Te=>{Te.key==="Escape"&&(L?H(!1):k?S(!1):x(!1))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[v,k,L]);const ci=N.useRef(null);N.useEffect(()=>{v||(ci.current=null)},[v]),N.useEffect(()=>{if(!v||!li||i)return;let oe=!1;ci.current!==e&&(ci.current=e,ve(null));const Te=()=>{oe||q||qe.current||If(e).then(Xe=>{oe||qe.current||(Je(Xe.isStreaming??!1),P(Xe.conversationId??null),!oe&&!Xe.isStreaming&&(at.current===null||Xe.updatedAt&&Xe.updatedAt!==at.current.previous)&&(C(Xe.messages),me.current=Xe.updatedAt,at.current=null))}).catch(Xe=>{oe||ve(Ii(Xe))})};Te();const It=window.setInterval(Te,15e3);return()=>{oe=!0,window.clearInterval(It)}},[v,e,q,li,M,i]),N.useEffect(()=>(Ie.current=!0,()=>{Ie.current=!1,On.current?.abort()}),[e]);async function En(oe,Te=n){const Ze=oe.trim();if(!Ze||L||q||M||qe.current||le||!li)return;if(i){await zo(Ze);return}if(r&&/^\/run-sweep(?:\s|$)/i.test(Ze)){ve(x0);return}ve(null),ce(null),pe({prompt:Ze,context:Te}),Ue(""),J(!0),Ce(""),zt.current=null,Se([]),at.current={previous:me.current};const It={role:"user",content:Ze,timestamp:Date.now(),aeroContext:Te};C(xt=>[...xt,It]);const Xe=new AbortController;On.current=Xe;try{await zY({project:e,prompt:Ze,conversationId:I,provider:Ve??void 0,scope:Ke,context:Te,signal:Xe.signal,onEvent:Ms});const xt=await If(e);Ie.current&&!xt.isStreaming&&(P(xt.conversationId??null),C(xt.messages),me.current=xt.updatedAt,at.current=null)}catch(xt){if(!Ie.current)return;b&&(at.current=null);const sn=zt.current;sn&&Td(sn).trim()&&C(di=>[...di,sn]),Xe.signal.aborted?ce("Stopped. Partial response preserved. An action already dispatched may still finish."):ve(Ii(xt))}finally{Ie.current&&(J(!1),Ce(""),Se(xt=>xt.map(sn=>sn.endedAt===void 0?{...sn,interrupted:!0}:sn))),On.current=null}}async function zo(oe){const Te=Ck.find(Xe=>Xe.command===oe.toLowerCase())?.prompt??oe,Ze=k0.find(Xe=>Xe.prompt===Te)?.id;if(!Ze){ve(null),pe(null),ce(OY);return}ve(null),ce(null),pe({prompt:Te}),Ue(""),J(!0),Ce(""),zt.current=null,Se([]),C(Xe=>[...Xe,{role:"user",content:Te,timestamp:Date.now()}]);const It=new AbortController;On.current=It;try{const Xe=await f.ensureQueryData(Nk(e));if(It.signal.aborted)throw new DOMException("Preview stopped","AbortError");const xt=Xe.starters.find(sn=>sn.id===Ze);if(!xt)throw new Error("This demo has no sample answer for that starting point.");await TY({starter:xt,signal:It.signal,onEvent:Ms,reducedMotion:AY()})}catch(Xe){if(!Ie.current)return;const xt=zt.current;xt&&Td(xt).trim()&&C(sn=>[...sn,xt]),It.signal.aborted?ce(qY):ve(Ii(Xe))}finally{Ie.current&&(J(!1),Ce(""),Se(Xe=>Xe.map(xt=>xt.endedAt===void 0?{...xt,interrupted:!0}:xt))),On.current=null}}function Ms(oe){if(Ie.current)switch(oe.type){case"message_update":oe.message.role==="assistant"&&(zt.current=oe.message),Ce(Td(oe.message));break;case"message_end":if(oe.message.role!=="user"){const Te=oe.message;C(Ze=>[...Ze,Te])}oe.message.role==="assistant"&&(zt.current=null,Ce(""),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"?pe(null):oe.status?.reason==="error"&&ve(Te=>Te??"Aero could not finish this answer. Retry to ask again.");break;case"tool_execution_start":Se(Te=>[...Te,{id:oe.toolCallId,name:oe.toolName,label:oe.label,args:oe.args,startedAt:Date.now()}]);break;case"tool_execution_end":Se(Te=>Te.map(Ze=>Ze.id===oe.toolCallId?{...Ze,endedAt:Date.now(),isError:oe.isError,result:oe.result}:Ze));break;case"error":ve(oe.message);break}}async function Bs(oe,Te=!1){if(!(q||le||qe.current)){qe.current=!0,Y(!0),ve(null);try{await oe();const Ze=await If(e);if(!Ie.current)return;at.current=null,me.current=Ze.updatedAt,P(Ze.conversationId??null),C(Ze.messages),Se([]),Ce(""),ce(null),pe(null),$e(null),H(Te),ae(Te?await Jw(e):null),Me.current?.focus()}catch(Ze){Ie.current&&ve(Ii(Ze))}finally{qe.current=!1,Ie.current&&Y(!1)}}}async function ui(){if(i){if(q)return;C([]),Se([]),Ce(""),ve(null),ce(null),pe(null),Me.current?.focus();return}await Bs(()=>b?DY(e):_K(e,crypto.randomUUID()))}async function gn(oe=!1){if(!(qe.current||T.current)){T.current=!0,X(!0),H(!0),ve(null);try{const Te=await Jw(e,{offset:oe?Z?.nextOffset??0:0});Ie.current&&ae(Ze=>oe&&Ze?{...Te,conversations:[...Ze.conversations,...Te.conversations]}:Te)}catch(Te){Ie.current&&ve(Ii(Te))}finally{T.current=!1,Ie.current&&X(!1)}}}const _t=_.length===0,Vn=!(b||i);if(Vn&&Tn.isPending)return null;if(Vn&&Tn.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(ad,{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(re,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{Tn.refetch()},children:"Try again"})]})});const Ft=Ut&&!Ut.configured?Ut:null;if(Vn&&(!Ut||Ft))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(ad,{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:[Ft?`Aero is set to ${Ft.label.replace(/\s+\(.+\)$/,"")}, which has no API key.`:"Aero needs an answer-engine provider.",l.jsx(la,{text:Ft?`Set ${MN(Ft.id)} on the server, or providers.${Ft.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."})]}),Ft?null:u?l.jsx(re,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:l.jsx(et,{to:"/settings",children:"Open Settings"})}):l.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const Ls=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",za=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",Jn=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:Ls,onClick:oe=>{k&&oe.target===oe.currentTarget&&S(!1)},children:l.jsx("div",{className:za,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(ad,{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:q||le?"working…":e})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[!r&&!b&&!i&&l.jsx(LY,{providers:Tn.data?.providers??[],active:Ut,override:Ve,onPick:Ps,disabled:q}),l.jsx("button",{type:"button",onClick:()=>S(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(g5,{className:"h-3.5 w-3.5","aria-hidden":"true"}):l.jsx(y5,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),l.jsx("button",{type:"button",onClick:()=>{S(!1),x(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:l.jsx(Pr,{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(re,{variant:"outline",size:"sm",disabled:q||le||M,onClick:hn(ui),title:b||i?"Clear this conversation and start fresh.":"Save this conversation and start fresh. Shared project notes are kept.",children:[l.jsx(Mf,{className:"h-3.5 w-3.5","aria-hidden":"true"})," New conversation"]}),!b&&!i&&l.jsxs(re,{variant:"ghost",size:"sm","aria-expanded":L,"aria-controls":"aero-history",disabled:M,onClick:()=>{L?H(!1):gn()},children:[l.jsx(tS,{className:"h-3.5 w-3.5","aria-hidden":"true"})," History"]})]}),L?l.jsxs("div",{id:"aero-history",className:Jn,"aria-label":"Conversation history",children:[l.jsxs("h3",{className:"mb-2 text-sm font-medium text-heading",children:["Conversations in ",e]}),Z?Z.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:Z.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:q||le||M,onClick:()=>{oe.active?H(!1):Bs(()=>TK(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(re,{variant:"ghost",size:"sm",disabled:q||le||M,"aria-label":`Delete conversation: ${oe.title}`,onClick:()=>$e(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(re,{variant:"destructive",size:"sm",disabled:M,onClick:()=>{Bs(async()=>{await EK(e,oe.id)},!0)},children:"Delete conversation"}),l.jsx(re,{variant:"ghost",size:"sm",disabled:M,onClick:()=>$e(null),children:"Cancel"})]})]})]},oe.id))}):l.jsx("p",{className:"text-sm text-secondary",children:U?"Loading history…":"History could not be loaded. Close and reopen History to retry."}),Z?.nextOffset!=null&&l.jsx(re,{variant:"ghost",size:"sm",disabled:U,onClick:()=>{gn(!0)},children:U?"Loading…":"Load more"})]}):l.jsxs("div",{ref:Kt,className:Jn,children:[_t&&!q&&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(Ek,{onPick:oe=>{En(oe)}})]}),HY(_,e,Ve,Ke,be,q,!b&&!i),q&&ee&&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(BN,{content:ee})]}),q&&!ee&&be.every(oe=>oe.endedAt!==void 0)&&l.jsx(XY,{}),i&&!_t&&!q&&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(Ek,{onPick:oe=>{En(oe)}})]})]}),(Pe||de)&&l.jsxs("div",{role:Pe?"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:Pe??de}),Q&&!q&&l.jsx(re,{variant:"outline",size:"sm",onClick:()=>{Ke==="all"?(Ue(Q.prompt),Me.current?.focus()):En(Q.prompt,Q.context)},children:Ke==="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:IY,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(Wk,{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&&Qt.length>0&&l.jsx(GY,{title:i?"Starting points":"Commands",matches:Qt,selectedIndex:ct,onHover:Ht,onPick:oe=>{Ue(""),Me.current?.focus(),oe.action==="new"?ui():En(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(),Qt.length>0){const Te=Qt[ct];Ue(""),Te.action==="new"?ui():En(Te.prompt);return}En(ke)},children:[l.jsx("textarea",{ref:Me,value:ke,onChange:oe=>Ue(oe.target.value),onKeyDown:oe=>{if(Qt.length>0){if(oe.key==="ArrowDown"){oe.preventDefault(),Ht(Te=>(Te+1)%Qt.length);return}if(oe.key==="ArrowUp"){oe.preventDefault(),Ht(Te=>(Te-1+Qt.length)%Qt.length);return}if(oe.key==="Tab"){oe.preventDefault();const Te=Qt[ct];Ue(`${Te.command} `);return}if(oe.key==="Escape"){oe.preventDefault(),Ue("");return}}if(oe.key==="Enter"&&!oe.shiftKey)if(oe.preventDefault(),Qt.length>0){const Te=Qt[ct];Ue(""),Te.action==="new"?ui():En(Te.prompt)}else En(ke)},disabled:L||M,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"}),q?l.jsxs(re,{type:"button",variant:"outline",size:"sm",onClick:()=>On.current?.abort(),"aria-label":"Stop Aero",children:[l.jsx(b5,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Stop"]}):l.jsx(re,{type:"submit",size:"sm",disabled:!ke.trim()||L||M||le,"aria-label":"Send",children:l.jsx(v5,{className:"h-4 w-4","aria-hidden":"true"})})]})]})]}):l.jsx("button",{type:"button",onClick:()=>{x(!0),Zr("aero.open")},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(ad,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function LY({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,f]=N.useState(!1),b=N.useRef(null);if(N.useEffect(()=>{if(!h)return;const x=S=>{b.current?.contains(S.target)||f(!1)},k=S=>{S.key==="Escape"&&f(!1)};return window.addEventListener("mousedown",x),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",x),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(x=>!x),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(Rc,{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(x=>{const k=n?.id===x.id,S=i===x.id;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":k,disabled:!x.configured,onClick:()=>{x.configured&&(r(S?null:x.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:x.configured?x.defaultModel:`Add ${MN(x.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(om,{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:x.label.replace(/\s+\(.+\)$/,"")}),S&&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"}),!x.configured&&l.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},x.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 UY=144,VY=288,Of=288,$Y=8;function GY({title:e,matches:n,selectedIndex:i,onHover:r,onPick:u}){const h=N.useRef(null),f=N.useRef(null),b=N.useRef(null),[v,x]=N.useState(Of);return N.useLayoutEffect(()=>{const k=h.current,S=k?.closest("[data-aero-panel]"),_=k?.parentElement;if(!k||!S||!_)return;const C=_.getBoundingClientRect().top-S.getBoundingClientRect().top-$Y*2-(f.current?.getBoundingClientRect().height??0);x(C>0?Math.min(Of,Math.floor(C)):Of)},[n.length]),N.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,S)=>{const _=S===i;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":_,onMouseEnter:()=>r(S),onClick:()=>u(k),className:`flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition ${_?"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 Ek({onPick:e}){return l.jsx("div",{className:"flex flex-wrap gap-1.5",children:k0.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 MN(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"}}function KY(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function HY(e,n,i,r,u,h,f=!0){const b=[];for(let v=0;v<e.length;v++){const x=e[v],k=KY(x,v);if(x.role==="user"){const S=typeof x.content=="string"?x.content:JSON.stringify(x.content);if(S.startsWith("[system]"))continue;b.push(l.jsx(QY,{text:S,projectName:n,providerOverride:i,scope:r,context:x.aeroContext,cliCopy:f},k));continue}if(x.role==="assistant"){const S=new Map;let _=v+1;for(;_<e.length&&e[_].role==="toolResult";){const P=e[_];S.set(P.toolCallId,P),_++}const C=ZY(x,S).map(P=>{const T=u.find(X=>X.id===P.id),U={...P,...T};return{...U,interrupted:U.endedAt===void 0&&(!h||U.interrupted)}}),I=Td(x);b.push(l.jsxs(N.Fragment,{children:[I.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(BN,{content:I})]}),C.length>0&&l.jsx("div",{className:"mt-3 space-y-1.5",children:C.map(P=>l.jsx(YY,{trail:P},P.id))})]},k)),v=_-1;continue}}return b}function QY({text:e,projectName:n,providerOverride:i,scope:r,context:u,cliCopy:h=!0}){const[f,b]=N.useState(!1),v=N.useMemo(()=>FY(n,e,i,r,u),[n,e,i,r,u]);async function x(){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:hn(x),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(om,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):l.jsxs(l.Fragment,{children:[l.jsx(z0,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),l.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function FY(e,n,i,r,u){const h=["canonry","agent","ask",Af(e),Af(n)];return i&&h.push("--provider",i),r==="read-only"&&h.push("--scope","read-only"),u&&h.push("--context",Af(JSON.stringify(u))),h.join(" ")}function ZY(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 YY({trail:e}){const[n,i]=N.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(x=>!x),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(Nr,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?l.jsx(nS,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):l.jsx(x5,{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(I0,{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:Rk(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:Rk(e.result)})]})]})]})}function Rk(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 BN({content:e}){return l.jsx("div",{className:"text-heading",children:l.jsx(q5,{remarkPlugins:[P5],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 XY(){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 LN({isAdmin:e,account:n}){return e||n?.role==="viewer"&&FG()}function JY(){const{isAdmin:e,account:n}=pa(),i=Qk(),r=/^\/projects\/([^/]+)/.exec(i.pathname),u=r?decodeURIComponent(r[1]):null,h=yt({...Ro({client:W}),enabled:u!==null,staleTime:6e4}),f=pY(i.pathname,i.search),b=h.data??[],v=b.find(_=>_.id===u)??b.find(_=>_.name===u),x=eH(v?.name??u??"",f),k=r1(),S=k||LN({isAdmin:e,account:n});return!u||!S||!v?null:l.jsx(BY,{projectName:v.name,context:x,preview:k},v.name)}const S0={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 Mn(e,n){const i=S0[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function iie(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===S0.queryTracking||r._id===S0.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function _c(e,n,i){switch(e.invalidateQueries({queryKey:p1({client:W})}),e.invalidateQueries({queryKey:_s({client:W})}),Mn(e,"runs"),n){case De["answer-visibility"]:v0(e,i,"none"),Mn(e,"visibilityReport"),Mn(e,"queryTracking");return;case De["backlink-extract"]:return;case De["site-audit"]:Mn(e,"technicalAeo");return;case De["gsc-sync"]:case De["inspect-sitemap"]:Mn(e,"gsc");return;case De["ga-sync"]:Mn(e,"ga");return;case De["traffic-sync"]:Mn(e,"ga"),Mn(e,"traffic");return;case De["bing-inspect"]:case De["bing-inspect-sitemap"]:Mn(e,"bing");return;case De["aeo-discover-seed"]:case De["aeo-discover-probe"]:v0(e,i);return;case De["gbp-sync"]:Mn(e,"gbp");return;case De["ads-sync"]:Mn(e,"ads");return;case De["google-ads-sync"]:Mn(e,"googleAds"),Mn(e,"conversionTracking");return;case De["gtm-sync"]:Mn(e,"gtm"),Mn(e,"conversionTracking");return;default:return n}}const Dk=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:eS},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:_5},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:T5}],zk=e=>({label:e,state:"checking",detail:"Checking service health"}),WY={apiStatus:zk("API"),workerStatus:zk("Worker")};function eX(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function tX(e){const n=yc(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function nX(e,n){return e.error?`${n}: ${dg(e.error)}`:e.location?`${n} · ${e.location}`:n}function Ik(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function aX(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 iX(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function sX(){const e=da(),n=N.useSyncExternalStore(pN,Vi,Vi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=yt({...zm({client:W}),enabled:i,staleTime:Or,refetchInterval:3e3}),u=yt({...Ro({client:W}),enabled:i}),h=N.useRef({}),f=N.useCallback(()=>{r.refetch()},[r.refetch]);return N.useEffect(()=>{i&&f()},[i,f]),N.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]),N.useEffect(()=>{const b=r.data??[],v=u.data??[],x=Object.fromEntries(b.map(S=>[S.id,S])),k=Object.fromEntries(b.map(S=>[S.id,S.status]));for(const S of Object.values(n.runs)){const _=x[S.runId];if(!_||!dF(_.status)||(h.current[_.id]??S.lastAnnouncedStatus)===_.status)continue;const I=v.find(T=>T.id===_.projectId);if(I&&_c(e,_.kind,I.name),S.sourceAction==="run-all"){Tf(_.id);continue}const P=Ik(_.projectId,S.projectLabel,v);xn({title:tX(_),detail:nX(_,P),tone:eX(_.status),dedupeKey:`run:${_.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:_.id}}),Tf(_.id)}if(r.data!==void 0){const S=new Set(b.map(C=>C.id)),_=pF(Object.values(n.runs),S,Date.now(),mF);for(const C of _){const I=v.find(P=>P.id===C.projectId);I&&_c(e,C.kind,I.name),C.sourceAction!=="run-all"&&xn({title:`${yc(C.kind)} status unavailable`,detail:Ik(C.projectId,C.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${C.runId}`,dedupeMode:"replace"}),Tf(C.runId)}}for(const S of Object.values(n.batches)){const _=hF(S.runIds,x);_.finished&&(xn({title:"Run-all batch finished",detail:aX(_,S.skippedCount),tone:iX(_),dedupeKey:`batch:${S.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),uF(S.batchId))}h.current=k},[u.data,r.data,n,e]),null}function oX(){const{account:e,isAdmin:n}=pa(),i=Fc(),r=N.useMemo(()=>ZA(),[]),u=N.useMemo(HG,[]),h=N.useMemo(QG,[]),f=r1()||h&&LN({isAdmin:n,account:e}),b=N.useMemo(ZG,[]),v=Qk(),{dashboard:x,isLoading:k,refetch:S}=Mm(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:v.pathname==="/setup"}),I=v1(!i,i?.health).data??i?.health??WY,{runId:P,evidenceId:T,closeDrawer:U}=x1(),[X,L]=N.useState(!1),[H,Z]=N.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[ae,M]=N.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[Y]=N.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),le=Y?{current:I.apiStatus.version??"0.0.0",latest:Y,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:I.apiStatus.updateAvailable,Je=b&&le&&le.latest!==ae,nt=()=>{if(le){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",le.latest)}catch{}M(le.latest)}},$e=()=>{const me=!H;try{me?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}Z(me)},qe=WZ(P),ke=qe.data??null,Ue=qe.isLoading;N.useEffect(()=>{ke&&ke.status!=="running"&&ke.status!=="queued"&&S()},[ke?.status,S]),N.useEffect(()=>{L(!1)},[v.pathname]),N.useEffect(()=>{if(typeof window>"u"||!P&&!T)return;const me=at=>{at.key==="Escape"&&U()};return window.addEventListener("keydown",me),()=>{window.removeEventListener("keydown",me)}},[P,T,U]);const q=x??i?.dashboard??null,J=v.pathname==="/setup",be=J&&q!==null&&q.portfolioOverview.projects.length===0,Se=J&&(v.search.onboarding==="site-health"||v.search.onboarding==="first-run"||v.search.onboarding==="complete"),[ee,Ce]=N.useState(be);N.useEffect(()=>{J?be&&Ce(!0):Ce(!1)},[be,J]);const ve=J&&(Se||be||ee||J&&q===null),de=ve?"app-shell-focus":H?"app-shell-sidebar-hidden":"",ce=P?(q?jZ(q,P):void 0)??(ke?Pm(ke,q?.projects.find(me=>me.project.id===ke.projectId)?.project.displayName??q?.projects.find(me=>me.project.id===ke.projectId)?.project.name??"Unknown project"):void 0):void 0,Q=N.useMemo(()=>xZ(v.pathname,q),[v.pathname,q]),{commandCenter:pe,evidenceLoading:Ie,evidenceError:je,isError:st,refetch:Ve}=YZ(T?Q:null,{evidence:!0}),jt=N.useMemo(()=>{if(T)return NZ(pe,q,T)},[T,pe,q]),Ke=(()=>{const me=v.pathname;if(me==="/")return"Portfolio";if(me==="/projects")return"Projects";if(me==="/runs")return"Runs";if(me==="/history")return"History";if(me==="/settings")return"Settings";if(me==="/setup")return"Setup";if(me==="/backlinks")return"Backlink data";if(me==="/traffic"||me.startsWith("/traffic/"))return"Traffic sources";if(me.startsWith("/projects/")){const at=q?.projects.find(zt=>zt.project.name===Q);return at?.project.displayName||at?.project.name||Q||"Projects"}return"Not found"})();if(r){const me=CA(r.projectTabs),at=!r.views||r.views.includes(uH(v.pathname));return l.jsxs("div",{className:"app-shell app-shell-embed","data-theme":fH(r.theme),style:gH(r.theme),children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx("main",{id:"content",className:"page-shell",children:me?l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This embed uses the retired Report tab. Update its allowed tabs to show AI Visibility."}):at?l.jsx(Pf,{}):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(oY,{}),l.jsxs("div",{className:`app-shell ${de}${bo()?" app-shell-demo":""}`,children:[!ve&&!H&&l.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[l.jsx("div",{className:"sidebar-brand",children:l.jsx(hk,{version:I.apiStatus.version,updateAvailable:Je?le:null,onDismissUpdate:nt})}),l.jsxs("nav",{className:"sidebar-nav",children:[l.jsxs(et,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(w5,{className:"sidebar-icon"}),l.jsx("span",{children:"Portfolio"})]}),l.jsxs(et,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(k5,{className:"sidebar-icon"}),l.jsx("span",{children:"Projects"})]}),l.jsxs(et,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(S5,{className:"sidebar-icon"}),l.jsx("span",{children:"Runs"})]}),l.jsxs(et,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(tS,{className:"sidebar-icon"}),l.jsx("span",{children:"History"})]}),l.jsxs(et,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(j5,{className:"sidebar-icon"}),l.jsx("span",{children:"Traffic sources"})]}),!bo()&&l.jsxs(et,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(A5,{className:"sidebar-icon"}),l.jsx("span",{children:"Backlink data"})]}),n&&l.jsxs(et,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(N5,{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(me=>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+me*15}%`}})]},me))]}):q&&q.projects.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),q.projects.map(me=>{const at=me.visibilitySummary.tone;return l.jsxs(et,{to:"/projects/$projectName",params:{projectName:me.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[l.jsx("span",{className:`sidebar-dot sidebar-dot-${at}`}),l.jsx("span",{children:me.project.displayName||me.project.name})]},me.project.id)})]}):k?null:l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&l.jsxs(et,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(C5,{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:Qw()}):null]}),l.jsx(re,{type:"button",variant:"ghost",size:"sm",onClick:hn(async()=>{await Xw(),window.location.reload()}),children:"Sign out"})]}),u?l.jsx("div",{className:"sidebar-footer",children:Dk.map(({label:me,href:at,Icon:zt})=>l.jsx("a",{className:"sidebar-footer-icon",href:at,target:"_blank",rel:"noopener noreferrer",title:me,"aria-label":me,children:l.jsx(zt,{className:"size-4"})},at))}):null]}),l.jsxs("div",{className:"main-area",children:[l.jsxs("header",{className:"topbar",children:[l.jsxs("div",{className:"topbar-left",children:[!ve&&l.jsx(re,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":H?"Show sidebar":"Hide sidebar","aria-controls":H?void 0:"desktop-sidebar","aria-expanded":!H,title:H?"Show sidebar":"Hide sidebar",onClick:$e,children:H?l.jsx(E5,{className:"size-4"}):l.jsx(R5,{className:"size-4"})}),l.jsx("div",{className:"topbar-brand-mobile",children:l.jsx(hk,{compact:!0})}),l.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[l.jsx(et,{to:"/",children:"Home"}),l.jsx(I0,{className:"breadcrumb-sep size-3"}),l.jsx("span",{className:"breadcrumb-current",children:Ke})]})]}),l.jsxs("div",{className:"topbar-actions",children:[l.jsx(rY,{}),l.jsxs("div",{className:"health-pill-row",children:[l.jsxs("span",{className:`health-pill health-pill-${I.apiStatus.state}`,title:qr(I.apiStatus),children:["API ",I.apiStatus.state==="ok"?"ok":I.apiStatus.state]}),l.jsx("span",{className:`health-pill health-pill-${I.workerStatus.state}`,title:qr(I.workerStatus),children:`Worker ${I.workerStatus.state==="ok"?"ok":I.workerStatus.state}`})]}),ve?null:l.jsxs(re,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":X,"aria-controls":"mobile-nav",onClick:()=>L(me=>!me),children:[l.jsx(D5,{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(re,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>L(!1),children:[l.jsx(Pr,{className:"size-5"}),l.jsx("span",{className:"sr-only",children:"Close navigation"})]}),l.jsx(et,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),l.jsx(et,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),l.jsx(et,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),l.jsx(et,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),l.jsx(et,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!bo()&&l.jsx(et,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&l.jsx(et,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),q&&q.projects.length>0?l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),q.projects.map(me=>l.jsx(et,{to:"/projects/$projectName",params:{projectName:me.project.name},className:"mobile-nav-link",children:me.project.name},me.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:Qw()}):null]}),l.jsx(re,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:hn(async()=>{await Xw(),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(me=>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"})]},me))}),l.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(me=>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(at=>l.jsx("div",{className:"skeleton-text-sm w-full"},at))})]},me))})]}):l.jsx(Pf,{})}),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"})}),I.apiStatus.version&&I.apiStatus.version!=="unknown"?l.jsxs("span",{className:"footer-version",children:["v",I.apiStatus.version]}):null]}),u?l.jsx("div",{className:"footer-links",children:Dk.map(({label:me,href:at,Icon:zt})=>l.jsx("a",{href:at,target:"_blank",rel:"noopener noreferrer",title:me,"aria-label":me,className:"footer-icon",children:l.jsx(zt,{className:"size-3.5"})},at))}):null]})]}),P&&!ce&&Ue?l.jsx(bd,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:U,children:l.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,P&&!ce&&qe.isError?l.jsx(bd,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:U,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(bd,{open:!0,title:ce.summary,subtitle:`${ce.projectName} · ${ce.kindLabel}`,onClose:U,children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[l.jsx(b1,{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"}),Ue?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(me=>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:me.query??"Unknown query"}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(rZ,{provider:me.provider}),l.jsx(TN,{variant:me.citationState===pc.cited?"success":"neutral",children:me.citationState})]})]}),me.model&&l.jsx("p",{className:"text-[11px] text-muted font-mono",children:me.model}),me.citedDomains.length>0&&l.jsxs("p",{className:"text-xs text-muted mt-1",children:[l.jsx("span",{className:"text-secondary",children:"Sources:"})," ",me.citedDomains.join(", ")]}),me.citedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",me.citedCompetitorDomains.join(", ")]}),me.mentionedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",me.mentionedCompetitorDomains.join(", ")]}),me.groundingSources&&me.groundingSources.length>0&&l.jsxs("details",{className:"mt-2",children:[l.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[me.groundingSources.length," grounding source",me.groundingSources.length!==1?"s":""]}),l.jsx("ul",{className:"mt-2 space-y-3",children:me.groundingSources.map((at,zt)=>l.jsx("li",{className:"min-w-0",children:l.jsx(b0,{url:at.uri,title:at.title})},zt))})]}),me.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:me.answerText})]})]},me.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:aH(ke.error)})]}):l.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,T&&!jt?l.jsx(bd,{open:!0,title:Ie?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:U,children:Ie?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||st?"Could not load this answer.":"This answer is not in the available query evidence."}),l.jsx(re,{type:"button",variant:"outline",onClick:()=>{Ve()},children:"Retry"})]})}):null,jt?l.jsx(yZ,{evidence:jt.evidence,project:jt.project,onClose:U}):null,l.jsx(sX,{}),l.jsx(nY,{}),f?l.jsx(JY,{}):null]})]})}class rX extends N.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,i){console.error("[ErrorBoundary]",n,i.componentStack),Xd({kind:"render",error:n,component:this.props.name??"root"})}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(nS,{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(re,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[l.jsx(z5,{className:"size-3.5 mr-1.5"}),"Try again"]}),l.jsx(re,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const Na=N.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ra("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));Na.displayName="Card";const Sr=N.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ra("flex flex-col gap-1.5 p-5",e),...n}));Sr.displayName="CardHeader";const UN=N.forwardRef(({className:e,...n},i)=>l.jsx("h3",{ref:i,className:Ra("font-medium tracking-tight text-primary",e),...n}));UN.displayName="CardTitle";const im=N.forwardRef(({className:e,...n},i)=>l.jsx("p",{ref:i,className:Ra("text-sm text-muted",e),...n}));im.displayName="CardDescription";const ho=N.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ra("p-5 pt-0",e),...n}));ho.displayName="CardContent";function j0({disabled:e,title:n,...i}){const{canWrite:r}=pa();return r?l.jsx(re,{disabled:e,title:n,...i}):l.jsx(re,{...i,disabled:!0,title:iN})}function k1({title:e,children:n}){const{isAdmin:i}=pa();return i?l.jsx(l.Fragment,{children:n}):l.jsxs(Na,{className:"surface-card mx-auto mt-8 max-w-lg",children:[l.jsxs(Sr,{children:[l.jsxs(UN,{children:[e," is for administrators"]}),l.jsx(im,{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(ho,{children:l.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}function sie(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 oie(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 bc(e,n,i,r){return["sentiment",e,n,i??null,r??null]}const VN=5e3,lX=new Set(["pending","running","waiting-to-retry"]);function Ok(e){return lX.has(e.state)}function cX(e){const n=e?.coverage.counts;return!!(n&&n.pending+n.running+n["waiting-to-retry"]>0)}function uX(e,n){return cX(e)||n?VN:!1}function dX(e,n,i=!0){const r=yt({queryKey:bc(e,"settings"),queryFn:()=>Cd(e),retry:!1,staleTime:0,refetchOnWindowFocus:"always"}),u=yt({queryKey:bc(e,"jobs"),queryFn:()=>qK(e),enabled:!!r.data?.actions.configure,retry:!1,refetchOnWindowFocus:"always",refetchInterval:x=>x.state.data?.jobs.some(Ok)?VN:!1}),h=!!u.data?.jobs.some(Ok),f=x=>{const k={...n,queryClass:x};return{queryKey:bc(e,"summary",k),queryFn:()=>RK(e,k),enabled:i&&!!(r.data?.enabled&&r.data.installEnabled),retry:!1,staleTime:0,refetchOnWindowFocus:"always",refetchInterval:S=>uX(S.state.data,h)}},b=yt(f("branded")),v=yt(f("non-brand"));return{settings:r,branded:b,nonBrand:v,jobs:u}}const qi={branded:"Branded","non-brand":"Non-brand"},S1=10;function j1(e){return e>=S1}const Ye={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.",tooFew:"too few",minRated:`Shown from ${S1} ratings`,partial:"Partial results",columns:{favorable:"Favorable",rated:"With opinion"},title:"Sentiment",subtitle:"How AI answers describe you in queries that name you",rated:"Share of answers that give an opinion (favorable, mixed or unfavorable) about who they name",noAnswers:"No answers yet",ratedUnavailable:"Unavailable",details:{ratedAnswers:"Answers with an opinion",unadmitted:"Checks not yet analyzed",checksCaption:"Not counted in the favorable share:",interval:"Likely range (95%)"},nonBrand:{label:"Non-brand queries",none:"No unfavorable or mixed answers in non-brand queries.",noneSoFar:"No unfavorable or mixed answers in non-brand queries so far.",notRated:"Non-brand answers are not rated yet.",view:"View answers",evidence:"Non-brand queries, unfavorable and mixed",rowNone:"No unfavorable or mixed answers",rowLabel:"Unfavorable or mixed",help:"A non-brand answer almost always names you to recommend you, so its favorable share is near 100% and says little. Sentiment is measured on branded queries; unfavorable or mixed answers to non-brand queries are listed here when they happen."},properties:{title:"Most criticized properties",evidence:"unfavorable and mixed",viewAll:"View all unfavorable and mixed answers",allEvidence:"Branded queries, unfavorable and mixed"},overall:"Favorable share of ratings in answers to branded queries. Each saved answer-subject assessment counts once. Answers with no opinion, or where it is unclear who they name, are left out.",favorable:"The favorable share of favorable, mixed and unfavorable ratings in answers to branded queries. Each rating covers one subject named in an answer; answers with no opinion are left out."},vc="—",mX={factual:"Named, no opinion","subject-not-mentioned":"Not named in the answer","wrong-subject":"Named someone else","ambiguous-subject":"Unclear which one was meant","ambiguous-judgment":"Opinion unclear","subject-not-applicable":"Not applicable","unsupported-language":"Not in English","missing-source-text":"No answer text","input-too-large":"Answer too long to rate","invalid-conclusion-evidence":"Rating set aside",pending:"Waiting to be rated",running:"Being rated","waiting-to-retry":"Retrying"};function $i(e){return mX[e]??e.replaceAll("-"," ").replace(/^./,n=>n.toUpperCase())}const ko=["favorable","mixed","unfavorable"];function $N(e){return e==="favorable"?"positive":e==="unfavorable"?"negative":e==="mixed"?"caution":"neutral"}const Tc=["mixed","unfavorable"];function GN(e){return e.interval?`${Kd(e.interval.low,Ua.fraction)} to ${Kd(e.interval.high,Ua.fraction)}`:null}const Vm={favorable:"progress-fill-info",mixed:"progress-fill-caution",unfavorable:"progress-fill-negative"};function Ed(e){return`${e} ${e===1?"rating":"ratings"}`}function $m(e){return e.score.favorableRate!==null&&e.coverage.judged>0}function A0(e){return e.state==="complete"&&!e.provisional&&e.coverage.unadmittedAssessments===0}function KN(e){return e.state==="complete"?Ye.partial:Ye.states[e.state]}function A1(e){return e?$m(e)&&j1(e.coverage.judged):!1}function pX({value:e,label:n}){const{counts:i,judged:r}=e.coverage;if(!$m(e))return l.jsx("div",{className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"empty","aria-hidden":"true"});const u=ko.map(h=>`${i[h]} ${h}`).join(", ");return A1(e)?l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${e.score.favorableDisplay} favorable of ${Ed(r)}`,className:"sentiment-bar","data-sentiment-bar":"rated",children:ko.filter(h=>i[h]>0).map(h=>l.jsx("span",{"data-outcome":h,className:`sentiment-bar-segment ${Vm[h]}`,style:{flexGrow:i[h]},title:`${$i(h)}: ${i[h]} of ${Ed(r)}`},h))}):l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${Ed(r)}, favorable share ${Ye.minRated.toLowerCase()}`,className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"too-few"})}function hX({value:e,label:n}){const{counts:i,judged:r}=e.coverage;return l.jsx("div",{role:"img","aria-label":`${n}: ${ko.map(u=>`${i[u]} ${u}`).join(", ")}, ${Ed(r)}`,className:"sentiment-property-bar",children:ko.filter(u=>i[u]>0).map(u=>l.jsx("span",{"data-outcome":u,className:`sentiment-bar-segment ${Vm[u]}`,style:{flexGrow:i[u]}},u))})}function fX(e){const n=new Map(e.breakdowns.filter(i=>i.dimension==="property").map(i=>[i.key,i]));return(e.criticizedProperties?.keys??[]).flatMap(i=>n.get(i)??[])}function gX({value:e,label:n}){return l.jsx("div",{role:"group","aria-label":`${n} favorable share`,className:"sentiment-class-favorable",children:A1(e)?l.jsx("span",{className:"sentiment-class-share",children:e.score.favorableDisplay}):l.jsxs(l.Fragment,{children:[l.jsx("span",{"aria-hidden":"true",className:"sentiment-class-empty",title:Ye.minRated,children:vc}),l.jsx("span",{className:"sr-only",children:Ye.minRated})]})})}function yX({ratedAnswers:e=0,eligibleAnswers:n=0}){return`${e} of ${n} ${n===1?"answer":"answers"} rated`}function bX(e){const{eligibleAnswers:n}=e;return n===void 0?{display:vc,detail:Ye.ratedUnavailable,empty:!0}:n<=0?{display:vc,detail:Ye.noAnswers,empty:!0}:e.ratedAnswerRate===null||e.ratedAnswerRate===void 0?{display:vc,detail:Ye.states.disabled,empty:!0}:{display:Kd(e.ratedAnswerRate,Ua.fraction),detail:yX(e),empty:!1}}function vX({coverage:e,label:n}){const{display:i,detail:r,empty:u}=bX(e);return l.jsxs("div",{role:"group","aria-label":`${n} share rated`,className:"sentiment-class-ratings",children:[l.jsx("span",{"aria-hidden":"true",className:u?"sentiment-class-empty":void 0,title:r,children:i}),l.jsx("span",{className:"sr-only",children:u?r:`${i}, ${r}`})]})}function xX({value:e}){return $m(e)?e.provisional?l.jsx("p",{className:"sentiment-class-note text-caution",children:Ye.partial}):null:l.jsx("p",{className:"sentiment-class-note",children:e.state==="complete"?Ye.noJudgments:Ye.states[e.state]})}function wX(e){return!!(e.coverage.selected||e.coverage.eligibleAssessments||e.reason)}function kX({value:e,queryClass:n,open:i,setOpenClass:r}){const u=N.useContext(ri),h=N.useId(),f=N.useId(),b=N.useId(),v=N.useRef(null),x=N.useRef(null),k=N.useCallback(()=>r(T=>T===n?null:T),[r,n]);N.useEffect(()=>{if(!i)return;const T=H=>H instanceof Node&&!!(v.current?.contains(H)||x.current?.contains(H)),U=H=>{T(H.target)||k()},X=H=>{T(H.target)||k()},L=H=>{H.key==="Escape"&&(k(),v.current?.focus())};return document.addEventListener("pointerdown",U),document.addEventListener("focusin",X),document.addEventListener("keydown",L),()=>{document.removeEventListener("pointerdown",U),document.removeEventListener("focusin",X),document.removeEventListener("keydown",L)}},[i,k]);const{coverage:S,score:_}=e,C=GN(_),I=S.judged>0&&!j1(S.judged),P=n==="branded"?fX(e):[];return wX(e)?l.jsxs(l.Fragment,{children:[l.jsx("button",{ref:v,type:"button",className:"sentiment-class-details-toggle","aria-label":`${qi[n]} details`,"aria-expanded":i,"aria-controls":h,onClick:()=>r(T=>T===n?null:n),children:l.jsx(Rc,{className:"sentiment-class-details-chevron","aria-hidden":"true"})}),l.jsxs("div",{ref:x,id:h,role:"group","aria-labelledby":f,className:"sentiment-class-details",hidden:!i,children:[l.jsx("p",{id:f,className:"sentiment-class-details-title",children:qi[n]}),l.jsxs("dl",{className:"sentiment-details-list",children:[(S.eligibleAnswers??0)>0&&l.jsxs("div",{children:[l.jsx("dt",{children:Ye.details.ratedAnswers}),l.jsxs("dd",{children:[S.ratedAnswers??0," of ",S.eligibleAnswers]})]}),I&&ko.filter(T=>S.counts[T]>0).map(T=>l.jsxs("div",{children:[l.jsx("dt",{children:$i(T)}),l.jsx("dd",{children:S.counts[T]})]},T)),I&&l.jsxs("div",{children:[l.jsx("dt",{children:"Favorable share"}),l.jsx("dd",{children:Ye.minRated})]}),C&&l.jsxs("div",{children:[l.jsxs("dt",{children:[Ye.details.interval," ",l.jsx(la,{text:_.limitation,placement:"bottom"})]}),l.jsx("dd",{children:C})]})]}),u&&P.length>0&&l.jsxs("div",{className:"sentiment-details-properties",role:"group","aria-labelledby":b,children:[l.jsxs("p",{id:b,className:"sentiment-details-subtitle",children:[Ye.properties.title,e.criticizedProperties&&e.criticizedProperties.total>P.length?l.jsxs("span",{className:"sentiment-details-subtitle-count",children:[" · ",P.length," of ",e.criticizedProperties.total]}):null]}),l.jsx("ul",{children:P.map(T=>l.jsxs("li",{className:"sentiment-property",children:[l.jsx("button",{type:"button",className:"sentiment-property-name","aria-label":`View ${Ye.properties.evidence} answers for ${T.label}`,onClick:()=>{if(!v.current)return;const U=N0(u,e);u.openEvidence({...U,queryClass:n,scope:"property",scopeKey:T.key,marketKey:U.scope==="market"?U.scopeKey:U.marketKey,outcome:Tc},`${T.label}, ${Ye.properties.evidence}`,v.current)},children:T.label}),l.jsxs("span",{className:"sentiment-property-count",children:[T.coverage.counts.favorable," of ",T.coverage.judged," favorable"]}),l.jsx(hX,{value:T,label:T.label})]},T.key))}),l.jsx("button",{type:"button",className:"sentiment-property-name sentiment-details-view-all",onClick:()=>{v.current&&u.openEvidence({...N0(u,e),queryClass:n,outcome:Tc},Ye.properties.allEvidence,v.current)},children:Ye.properties.viewAll})]}),(S.unadmittedAssessments>0||Object.entries(S.counts).some(([T,U])=>U>0&&!ko.includes(T)))&&l.jsx("p",{className:"sentiment-details-caption",children:Ye.details.checksCaption}),l.jsxs("dl",{className:"sentiment-details-list",children:[S.unadmittedAssessments>0&&l.jsxs("div",{children:[l.jsx("dt",{children:Ye.details.unadmitted}),l.jsx("dd",{children:S.unadmittedAssessments})]}),Object.entries(S.counts).filter(([T,U])=>U>0&&!["favorable","mixed","unfavorable"].includes(T)).map(([T,U])=>l.jsxs("div",{children:[l.jsx("dt",{children:$i(T)}),l.jsx("dd",{children:U})]},T))]}),e.reason&&l.jsx("p",{className:"sentiment-class-details-reason",children:e.reason})]})]}):null}function N1(e){return!!(e?.configured&&e.branded.coverage.judged>0&&e.branded.score.favorableRate!==null)&&!l1()}function SX({value:e}){if(!N1(e))return null;const n=e.branded,i=n.coverage.judged,r=GN(n.score),u=`${Ye.overall} ${i} of ${n.coverage.selected} judged${r?`, 95% interval ${r}`:""}. ${n.provisional?"Provisional. ":""}${Ye.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(la,{text:u,placement:"bottom"})})]}),j1(i)?l.jsxs("p",{className:"metric-inline-value",children:[n.score.favorableDisplay,l.jsx("span",{className:"sr-only",children:" favorable judgments, branded queries"})]}):l.jsxs("p",{className:"metric-inline-value text-secondary",children:[Ye.tooFew,l.jsxs("span",{className:"sr-only",children:[" ratings for a favorable share, ",i," of ",S1," needed, branded queries"]})]}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})})}const ri=N.createContext(null);function N0(e,n){const{selection:i}=n;return{...e.selection,...i,runId:i.runId??void 0,runIds:i.runId?void 0:i.runIds,revision:i.revision??void 0,evaluationDefinitionId:i.evaluationDefinitionId??void 0}}function rie(){return N.useContext(ri)?.configured??!1}function lie({projectName:e,selection:n,runOptions:i=[],waitForResolvedRun:r=!1,evidenceReady:u=!0,hasSourceEvidence:h=!0,children:f}){return l.jsx(jX,{projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f})}function jX({projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f}){const b=JSON.stringify([e,n]),[v,x]=N.useState(null),k=N.useCallback(qe=>x(ke=>ke?.key===b&&ke?.runId===qe?.runId&&ke?.revision===qe?.revision?ke:qe?{...qe,key:b}:null),[b]),S=u&&(!r||v?.key===b),_=r&&S&&v?{...n,runId:v.runId,revision:v.revision}:n,C=JSON.stringify([e,_]),{settings:I,branded:P,nonBrand:T,jobs:U}=dX(e,_,S&&h),[X,L]=N.useState(!1),[H,Z]=N.useState(null),ae=N.useRef(null);N.useEffect(()=>{L(!1),Z(null)},[C]);const M=S&&!!(I.data?.enabled&&I.data.installEnabled),le=(n.queryClass==="non-brand"?T.data:P.data)?.selection,Je={..._,...le?{...le,runId:le.runId??void 0,runIds:le.runId?void 0:le.runIds,revision:le.revision??void 0,evaluationDefinitionId:le.evaluationDefinitionId??void 0}:{}},nt=Je.runId&&!i.some(qe=>qe.id===Je.runId)?[{id:Je.runId,label:"Displayed sweep"},...i]:i,$e=qe=>{qe.preventDefault(),ae.current?.focus()};return l.jsxs(ri.Provider,{value:{projectName:e,selection:_,resolveSource:k,settings:I,summaries:{branded:P,"non-brand":T},configured:M,hasSourceEvidence:h,openManage:qe=>{ae.current=qe,L(!0)},openEvidence:(qe,ke,Ue)=>{ae.current=Ue,Z({selection:qe,label:ke})}},children:[f,l.jsx(g0,{open:X&&!!I.data?.actions.configure,onOpenChange:L,children:l.jsxs(tm,{onCloseAutoFocus:$e,className:"overflow-y-auto",children:[l.jsxs(y0,{children:[l.jsx(nm,{children:"Manage sentiment"}),l.jsx(am,{children:"Classify saved answers and review the cost before submitting a backfill."})]}),I.data?.actions.configure&&l.jsx(PX,{projectName:e,settings:I.data,selection:Je,runOptions:nt},JSON.stringify([I.data.evaluationDefinitionId,I.data.enabled,I.data.enablementEpoch])),U.data&&l.jsx(DX,{projectName:e,jobs:U.data.jobs})]})}),l.jsx(g0,{open:H!==null,onOpenChange:qe=>{qe||Z(null)},children:l.jsxs(tm,{onCloseAutoFocus:$e,className:"overflow-y-auto",children:[l.jsxs(y0,{children:[l.jsxs(nm,{children:["Sentiment evidence",H?`: ${H.label}`:""]}),l.jsx(am,{children:"Stored judgments and exact quotations for the selected query and scope."})]}),H&&l.jsx(TX,{projectName:e,selection:H.selection},JSON.stringify(H.selection))]})})]})}function cie(e,n){const i=N.useContext(ri)?.resolveSource;N.useEffect(()=>{i?.(e?{runId:e,revision:void 0}:null)},[i,e,n])}function qk(){const e=N.useContext(ri);return e?.settings.data?.actions.configure?l.jsx(j0,{type:"button",variant:"outline",size:"sm",onClick:n=>e.openManage(n.currentTarget),children:e.settings.data.enabled?"Manage sentiment":"Enable sentiment"}):null}function HN(e,n){return!e?.configured||n==="unknown"||n==="unclassified"?null:["branded"]}function AX({queryClass:e="all"}){const n=N.useContext(ri),i=HN(n,e);return!n?.hasSourceEvidence||!i?.some(r=>A1(n.summaries[r].data))?null:l.jsx("ul",{className:"sentiment-legend","aria-hidden":"true",children:ko.map(r=>l.jsxs("li",{children:[l.jsx("span",{className:`sentiment-legend-swatch ${Vm[r]}`}),$i(r)]},r))})}function NX({queryClass:e}){const n=N.useContext(ri);if(!n?.hasSourceEvidence)return null;const i=n.summaries["non-brand"],r=i.data,u=e==="non-brand";if(!r)return u?i.isError?l.jsxs("p",{role:"alert",className:"sentiment-nonbrand-note",children:["Couldn’t load non-brand sentiment. ",l.jsx(re,{variant:"ghost",onClick:()=>{i.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"sentiment-nonbrand-note",children:"Loading non-brand sentiment…"}):null;const h=r.coverage.counts;return h.unfavorable===0&&h.mixed===0?u?A0(r)?l.jsx("p",{className:"sentiment-nonbrand-note",children:Ye.nonBrand.none}):$m(r)?l.jsx("p",{className:"sentiment-nonbrand-note",children:Ye.nonBrand.noneSoFar}):l.jsx("p",{className:"sentiment-nonbrand-note",children:r.state==="not-measured"?Ye.nonBrand.notRated:`${Ye.nonBrand.label}: ${KN(r)}`}):null:l.jsx("div",{className:"sentiment-nonbrand",role:"group","aria-label":Ye.nonBrand.label,children:l.jsxs("div",{className:"sentiment-nonbrand-line",children:[l.jsxs("span",{className:"sentiment-nonbrand-label",children:[Ye.nonBrand.label,l.jsx(la,{text:Ye.nonBrand.help})]}),l.jsxs("span",{className:"sentiment-nonbrand-counts",children:[Tc.slice().reverse().filter(f=>h[f]>0).map(f=>l.jsxs("span",{children:[l.jsx("span",{"aria-hidden":"true",className:`sentiment-legend-swatch ${Vm[f]}`}),h[f]," ",f]},f)),!A0(r)&&l.jsx("span",{className:"text-caution",children:Ye.partial})]}),l.jsx(re,{type:"button",variant:"outline",size:"sm",onClick:f=>n.openEvidence({...N0(n,r),queryClass:"non-brand",outcome:Tc},Ye.nonBrand.evidence,f.currentTarget),children:Ye.nonBrand.view})]})})}function uie({queryClass:e="all",legend:n=!0,manage:i=!1}){const r=N.useContext(ri),u=HN(r,e),[h,f]=N.useState(null);if(!r)return null;if(!u){const v=r.settings.data;return!i||!v?.actions.configure?null:l.jsxs("div",{className:"sentiment-headlines-title",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"sentiment-headlines-heading",children:Ye.title}),!(v.enabled&&v.installEnabled)&&l.jsx("p",{className:"sentiment-headlines-subtitle",children:Ye.states.disabled})]}),l.jsx(qk,{})]})}const b=r.hasSourceEvidence&&u.some(v=>r.summaries[v].data);return l.jsxs("div",{className:"sentiment-headlines",role:"group","aria-label":"Favorable answer scores",children:[l.jsxs("div",{className:"sentiment-headlines-title",children:[l.jsxs("div",{children:[l.jsx("h3",{className:"sentiment-headlines-heading",children:Ye.title}),l.jsx("p",{className:"sentiment-headlines-subtitle",children:Ye.subtitle})]}),i&&l.jsx(qk,{})]}),n&&l.jsx(AX,{queryClass:e}),b&&l.jsxs("div",{className:"sentiment-headlines-columns","aria-hidden":"true",children:[l.jsx("span",{className:"sentiment-headlines-favorable",children:Ye.columns.favorable}),l.jsx("span",{className:"sentiment-headlines-ratings",title:Ye.rated,children:Ye.columns.rated})]}),u.map(v=>{const x=r.summaries[v];return l.jsxs("div",{className:"sentiment-class","data-query-class":v,children:[l.jsxs("div",{className:"sentiment-class-label",children:[l.jsx("span",{children:qi[v]}),l.jsx(la,{text:Ye.favorable})]}),r.hasSourceEvidence?x.data?l.jsxs(l.Fragment,{children:[l.jsx(pX,{value:x.data,label:qi[v]}),l.jsx(gX,{value:x.data,label:qi[v]}),l.jsx(vX,{coverage:x.data.coverage,label:qi[v]}),l.jsx(xX,{value:x.data}),l.jsx(kX,{value:x.data,queryClass:v,open:h===v,setOpenClass:f})]}):x.isError?l.jsxs("p",{role:"alert",className:"sentiment-class-status",children:["Couldn’t load sentiment. ",l.jsx(re,{variant:"ghost",onClick:()=>{x.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"sentiment-class-status",children:"Loading sentiment…"}):l.jsx("p",{className:"sentiment-class-status",children:"No saved answers."})]},v)}),e!=="branded"&&l.jsx(NX,{queryClass:e})]})}function die({queryId:e,sourceSnapshotIds:n=[],queryClass:i,location:r,showLabel:u=!1}){const h=N.useContext(ri);if(!h?.configured)return null;const f=i?h.summaries[i]:void 0,b=h.hasSourceEvidence?f?.data:void 0,v=b?.queries.filter(_=>_.queryClass===i&&(e?_.queryId===e:n.length>0)&&n.every(C=>_.sourceSnapshotIds.includes(C)))??[],x=v.length===1?v[0]:void 0,k=r===void 0?x:x?.locations.find(_=>_.location===r);if(!x||!k)return l.jsx("span",{className:"text-sm text-secondary",children:h.hasSourceEvidence&&f?.isPending&&(e||n.length)?"Loading…":"Unavailable"});const S={...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:x.queryClass,queryId:x.queryId,executionNodeKey:x.executionNodeKey??void 0,...r===void 0?{}:{location:r??"none"}};if(x.queryClass==="non-brand"){if(k.state==="unsupported")return l.jsx("span",{className:"text-sm text-secondary",children:"Unavailable"});const{unfavorable:_,mixed:C}=k.coverage.counts;if(_===0&&C===0){const I=u&&l.jsx("span",{className:"block text-sm font-normal text-secondary",children:Ye.nonBrand.rowLabel});return A0(k)?l.jsxs("span",{className:"text-sm text-muted",children:[I,l.jsx("span",{"aria-hidden":"true",title:Ye.nonBrand.rowNone,children:vc}),l.jsx("span",{className:"sr-only",children:Ye.nonBrand.rowNone})]}):l.jsxs("span",{className:"text-sm text-secondary",children:[I,l.jsx("span",{children:KN(k)})]})}return l.jsxs(re,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View unfavorable and mixed answers for ${x.queryText}`,onKeyDown:I=>I.stopPropagation(),onClick:I=>{I.stopPropagation(),h.openEvidence({...S,outcome:Tc},`${x.queryText}, unfavorable and mixed`,I.currentTarget)},children:[u&&l.jsx("span",{className:"text-sm font-normal text-secondary",children:Ye.nonBrand.rowLabel}),_>0&&l.jsxs("span",{className:"text-sm text-negative",children:[_," unfavorable"]}),C>0&&l.jsxs("span",{className:"text-sm text-caution",children:[C," mixed"]}),k.provisional&&l.jsx("span",{className:"text-xs font-normal text-caution",children:"Provisional"})]})}return l.jsxs(re,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View ${qi[x.queryClass]} sentiment evidence for ${x.queryText}`,onKeyDown:_=>_.stopPropagation(),onClick:_=>{_.stopPropagation(),h.openEvidence(S,x.queryText,_.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 CX(e){return e.outcome==="subject-not-mentioned"?"Not mentioned":e.outcome==="running"?"Classifying":e.outcome==="waiting-to-retry"?"Retrying":e.outcome?$i(e.outcome):e.state==="not-measured"?"Not classified":e.state==="processing"?"Classifying":e.state==="failed"?"Failed":e.state==="canceled"?"Canceled":"Unavailable"}function mie({queryId:e,sourceSnapshotIds:n,queryClass:i,provider:r,model:u,location:h,showSubjects:f=!1,showLabel:b=!1}){const v=N.useContext(ri);if(!v?.configured)return null;const x=i?v.summaries[i]:void 0,k=v.hasSourceEvidence?x?.data:void 0,S=k?.queries.filter(I=>I.queryClass===i&&(!e||I.queryId===e)&&n.length>0&&n.every(P=>I.sourceSnapshotIds.includes(P)))??[],_=S.length===1?S[0]:void 0,C=_?.assessments?.filter(I=>n.includes(I.sourceSnapshotId)&&I.provider===r&&I.location===h&&(u===void 0||I.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"}),C.length?C.map(I=>{const P=CX(I),T=$N(I.outcome),U=l.jsxs(l.Fragment,{children:[f&&l.jsxs("span",{children:[I.subjectLabel," · "]}),l.jsx(bn,{tone:T,className:"max-w-full shrink-0 rounded-none border-0 bg-transparent p-0 text-sm font-normal tracking-normal [overflow-wrap:normal]",children:P})]}),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:_.queryClass,queryId:_.queryId,executionNodeKey:_.executionNodeKey??void 0,assessmentId:I.assessmentId??void 0};return l.jsxs("div",{className:"flex items-center gap-1",children:[I.assessmentId?l.jsx(re,{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 ${I.provider} sentiment evidence for ${I.subjectLabel}: ${P}`,onKeyDown:L=>L.stopPropagation(),onClick:L=>{L.stopPropagation(),v.openEvidence(X,`${_.queryText} · ${I.provider} · ${I.subjectLabel}`,L.currentTarget)},children:U}):l.jsx("span",{children:U}),I.reason&&l.jsx(la,{text:I.reason})]},JSON.stringify([I.sourceSnapshotId,I.subjectId,I.assessmentId]))}):l.jsx("span",{children:v.hasSourceEvidence&&x?.isPending&&n.length?"Loading…":"Unavailable"})]})}function _X({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:$N(e.outcome),children:$i(e.outcome)}),l.jsx("span",{children:qi[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 TX({projectName:e,selection:n}){const[i,r]=N.useState(),u=yt({queryKey:bc(e,"evidence",n,i),queryFn:()=>zK(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(re,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry evidence"})]}):l.jsxs(l.Fragment,{children:[u.data.items.length?u.data.items.map(h=>l.jsx(_X,{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(re,{variant:"outline",onClick:()=>r(void 0),children:"First evidence page"}),u.data.nextCursor&&l.jsx(re,{variant:"outline",onClick:()=>r(u.data.nextCursor??void 0),children:"Next evidence page"})]})]})}function EX({projectName:e,jobId:n}){const[i,r]=N.useState(),u=yt({queryKey:bc(e,`job:${n}`,void 0,i),queryFn:()=>PK(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(re,{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(re,{variant:"outline",onClick:()=>r(void 0),children:"Newest attempts"}),u.data.nextAttemptCursor&&l.jsx(re,{variant:"outline",onClick:()=>r(u.data.nextAttemptCursor??void 0),children:"Older attempts"})]})]})}function RX({projectName:e,job:n}){const[i,r]=N.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:[$i(u),": ",h]},u)),l.jsxs("p",{children:["Attempts: ",n.attemptCount]}),i&&n.attemptCount>0&&l.jsx(EX,{projectName:e,jobId:n.id})]})}function DX({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:lH(i.createdAt)}),l.jsx("td",{children:$i(i.state)}),l.jsx("td",{children:i.selected}),l.jsx("td",{children:l.jsx(RX,{projectName:e,job:i})})]},i.id))})]})})]})}const zX={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 IX(e){return zX[e]??$i(e)}function QN(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 OX(e){const n=QN(e);return[`${qi[e.queryClass]} queries`,...n.length?n:["whole sweep"]].join(" · ")}function qX(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 PX({projectName:e,settings:n,selection:i,runOptions:r}){const u=da(),[h,f]=N.useState(n.enabled),[b,v]=N.useState(i.runId??""),[x,k]=N.useState(i.queryClass),[S,_]=N.useState(!1),[C,I]=N.useState(null),P=N.useRef(null),T=QN({...i,queryId:void 0}),U=()=>u.invalidateQueries({queryKey:["sentiment",e]}),X=()=>{I(null),P.current=null},L=ii({mutationFn:async()=>{if(!(await Cd(e)).actions.configure)throw new Error("Administrator permission is required to configure sentiment.");return DK(e,{enabled:h})},onSuccess:async()=>{X(),await U(),await u.invalidateQueries({queryKey:["project-overview-slim"]})},onError:U}),H=ii({mutationFn:async()=>{if(!(await Cd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return IK(e,qX(i,b,x,S&&T.length>0))},onSuccess:M=>{I(M),P.current=crypto.randomUUID()},onError:U}),Z=ii({mutationFn:async()=>{if(!C?.previewToken||!P.current)throw new Error("Create and review a backfill preview first.");if(!(await Cd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return OK(e,C.previewToken,P.current)},onSuccess:async()=>{X(),await U()},onError:U}),ae=L.isPending||H.isPending||Z.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:M=>{M.preventDefault(),L.mutate()},children:[l.jsxs("label",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",checked:h,disabled:ae,onChange:M=>{f(M.target.checked),X()}}),"Enable project sentiment"]}),l.jsx("p",{children:"Enabling applies to future completed sweeps. Past sweeps require an explicit backfill."}),l.jsx(j0,{type:"submit",disabled:ae,children:L.isPending?"Saving…":"Save sentiment settings"}),L.isError&&l.jsx("p",{role:"alert",children:Ii(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:ae,onChange:M=>{v(M.target.value),X()},children:[l.jsx("option",{value:"",children:"Select a saved sweep"}),r.map(M=>l.jsx("option",{value:M.id,children:M.label},M.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:x,disabled:ae,onChange:M=>{k(M.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."}),T.length>0&&l.jsxs("label",{className:"flex items-start gap-2",children:[l.jsx("input",{type:"checkbox",className:"mt-1",checked:S,disabled:ae,onChange:M=>{_(M.target.checked),X()}}),l.jsxs("span",{children:["Limit to the current view",l.jsx("span",{className:"block",children:T.join(" · ")})]})]}),l.jsx(re,{variant:"outline",disabled:ae||!b||!n.enabled||!n.ready,onClick:()=>{X(),H.mutate()},children:H.isPending?"Preparing preview…":"Preview sentiment backfill"}),H.isError&&l.jsx("p",{role:"alert",children:Ii(H.error)}),C&&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:OX(C.selection)}),l.jsx("dt",{children:"Eligible assessments"}),l.jsx("dd",{children:C.eligibleAssessments}),l.jsx("dt",{children:"Already classified"}),l.jsx("dd",{children:C.alreadyClassified}),l.jsx("dt",{children:"Estimated input tokens"}),l.jsx("dd",{children:C.estimatedInputTokens}),l.jsx("dt",{children:"Estimated cost (USD)"}),l.jsx("dd",{children:C.estimatedCostUsd??"Unavailable"})]}),l.jsx(la,{text:C.estimateMethod}),C.eligibleAssessments===0&&l.jsx("p",{children:"No saved answers in this selection can be classified."}),C.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:C.skipped.map(M=>l.jsxs("li",{children:[IX(M.reason),": ",M.count]},`${M.runId}:${M.reason}`))})]}),l.jsx(j0,{disabled:ae||!C.previewToken||C.eligibleAssessments===0,onClick:()=>Z.mutate(),children:Z.isPending?"Submitting…":"Confirm sentiment backfill"})]}),Z.isError&&l.jsxs("p",{role:"alert",children:[Ii(Z.error)," Retry uses the same request key."]}),Z.isSuccess&&l.jsx("p",{role:"status",children:"Backfill submitted. Progress is available in Recent jobs."})]})]})}const MX=20,BX=6;function LX({points:e,tone:n}){const i=N.useId();if(e.length===0)return null;const r=42,u=132,h=5,f=u-h*2,b=r-h*2,v=b-BX,x=T=>h+T/Math.max(e.length-1,1)*f,k=W$(e),S=Math.min(...e),_=Math.max(...e),C=Math.max(_-S,MX),I=(_+S)/2-C/2,P=e.map((T,U)=>({x:x(U),y:h+(1-(T-I)/C)*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}),P.length===1?l.jsx("circle",{className:"sparkline-point",cx:P[0].x,cy:P[0].y,r:"3"}):l.jsx("polyline",{clipPath:`url(#${i})`,points:P.map(T=>`${T.x},${T.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function UX({project:e,sentimentColumn:n}){return l.jsxs("div",{className:`project-row relative${n?" project-row-with-sentiment":""}`,children:[l.jsx("div",{className:"project-row-chart",children:l.jsx(LX,{points:e.trend,tone:uN(e.lastRun.status)})}),l.jsxs("div",{className:"project-row-primary",children:[l.jsxs(et,{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":Kd(e.mentionScore,Ua.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"})]})}),N1(e.sentiment)?l.jsx(SX,{value:e.sentiment}):n&&l.jsx("div",{className:"project-row-stat","aria-hidden":"true","data-sentiment-placeholder":!0}),l.jsx("span",{className:"project-row-link",children:l.jsx(I0,{className:"h-4 w-4 text-muted"})})]})}function VX(){const{isAdmin:e}=pa(),n=Fc(),{dashboard:i,isLoading:r,isError:u,refetch:h}=Mm(),f=i??n?.dashboard,v=v1(!n,n?.health),{openRun:x}=x1();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(re,{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(T=>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"})]},T))})]});const k=f.portfolioOverview,S=k.projects.length>0&&k.projects.every(T=>T.hasMeasurement===!1),_=k.projects.some(T=>N1(T.sentiment)),C=k.attentionItems.map(T=>S&&T.id==="attention_stable"?{...T,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:T),I=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},P=nF(k.systemHealth.filter(T=>e||T.id==="api"||T.id==="worker"),I,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(T=>l.jsx(UX,{project:T,sentimentColumn:_},T.project.id))}):l.jsxs(Na,{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(re,{size:"sm",asChild:!0,children:l.jsx(et,{to:k.emptyState?.ctaHref==="/setup"||!k.emptyState?.ctaHref?"/setup":"/",children:k.emptyState?.ctaLabel??"Launch setup"})})]}),l.jsxs("div",{className:"overview-secondary-grid",children:[C.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:C.map(T=>T.href?l.jsxs(et,{to:T.href,className:`attention-item attention-item-${T.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:T.title}),l.jsx("p",{className:"attention-detail",children:T.detail})]}),T.actionLabel&&l.jsx("span",{className:"attention-action",children:T.actionLabel})]},T.id):l.jsxs("div",{className:`attention-item attention-item-static attention-item-${T.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:T.title}),l.jsx("p",{className:"attention-detail",children:T.detail})]}),T.actionLabel&&l.jsx("span",{className:"attention-action",children:T.actionLabel})]},T.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(T=>l.jsxs("button",{className:"compact-run",type:"button",onClick:()=>x(T.id),children:[l.jsxs("div",{children:[l.jsx("p",{className:"compact-run-title",children:T.projectName}),l.jsx("p",{className:"compact-run-detail",children:T.summary})]}),l.jsx(b1,{status:T.status})]},T.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:P.map(T=>{const U=T.id==="api"?I.apiStatus:T.id==="worker"?I.workerStatus:void 0,X=U?U.state==="ok"?void 0:qr(U):T.tone==="positive"?void 0:T.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:T.label}),X&&l.jsx("p",{className:"mt-1 text-sm text-secondary",children:X})]}),l.jsx(bn,{tone:T.tone,title:U?qr(U):T.meta,children:T.detail})]},T.id)})})]})]})}const $X='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function GX(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($X))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function KX({onApplied:e}){const{canWrite:n}=pa(),[i,r]=N.useState(""),[u,h]=N.useState(!1),[f,b]=N.useState([]),[v,x]=N.useState([]);if(l1()||!n)return null;const k=async()=>{if(!i.trim())return;h(!0),b([]),x([]);const S=M5(i),_=[],C=[];for(let I=0;I<S.length;I++){const P=S[I];if(P.errors.length>0){_.push(`Document ${I+1}: ${P.errors[0]?.message}`);continue}const T=P.toJSON();if(!(!T||typeof T!="object"))try{const U=await xK(T);C.push(`Applied "${U.displayName||U.name}" (revision ${U.configRevision})`)}catch(U){_.push(`Document ${I+1}: ${Ii(U)}`)}}b(C),x(_),h(!1),C.length>0&&(xn({title:"YAML applied",detail:`Applied ${C.length} document${C.length===1?"":"s"} successfully.`,tone:_.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:S=>r(S.target.value)}),f.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:f.map((S,_)=>l.jsx("li",{className:"text-positive-400 text-sm",children:S},_))}),v.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:v.map((S,_)=>l.jsx("li",{className:"text-negative-400 text-sm",children:S},_))}),l.jsx("div",{className:"mt-3",children:l.jsx(re,{type:"button",disabled:!i.trim()||u,onClick:hn(k),children:u?"Applying...":"Apply"})})]})}function HX(){const{dashboard:e,isLoading:n,refetch:i}=Mm(),{canWrite:r,isAdmin:u}=pa(),h=Ts();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(re,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Mf,{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:x=>{GX(x)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[l.jsxs("td",{children:[l.jsx(et,{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(b1,{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(Na,{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(re,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Mf,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?l.jsx(KX,{onApplied:()=>{i()}}):null]})}class QX extends Error{constructor(){super(iN),this.name="ViewOnlyError"}}function FX(e){if(!e.canWrite)throw new QX}function FN(e){e.invalidateQueries({queryKey:p1({client:W})}),e.invalidateQueries({queryKey:_s({client:W})})}function Yr(){const e=pa();return()=>{FX(e)}}function ZX(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function YX(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 C1(e,n){f1({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),xn({title:ZX(e.kind),detail:YX(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function XX(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);xn({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)f1({id:f.id,projectId:f.projectId,kind:f.kind,projectLabel:f.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=cF({runIds:n.map(f=>f.id),queuedCount:n.length,skippedCount:u});xn({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 Gm(e,n){if(e instanceof _n&&e.code==="RUN_IN_PROGRESS"){xn({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}xn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function JX(){const e=Yr(),n=da();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>pK(i,r),onSuccess:(i,r)=>{FN(n),C1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(i,r)=>{r.sourceAction!=="setup-launch"&&Gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function pie(){const e=Yr(),n=da();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:i=>wK(i),onSuccess:i=>{FN(n),XX(i)},onError:i=>{xn({title:i instanceof Error?i.message:"Failed to queue runs",tone:"negative"})}})}function WX(){const e=Yr(),n=da();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,body:r})=>jK(i,r),onSuccess:(i,r)=>{_c(n,De["site-audit"],r.projectName),f1({id:i.runId,projectId:r.projectId,kind:De["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:i.status}),xn({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||Gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function hie(){const e=Yr(),n=da();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>kK(i,r),onSuccess:(i,r)=>{_c(n,De["gsc-sync"],r.projectName),C1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(i,r)=>{Gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function fie(){const e=Yr(),n=da();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>SK(i,r),onSuccess:(i,r)=>{_c(n,De["inspect-sitemap"],r.projectName),C1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(i,r)=>{Gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function ZN(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 gie(){const e=Yr(),n=da();return ii({onMutate:e,mutationFn:({projectName:i,queries:r})=>dK(i,r),onSuccess:()=>{n.invalidateQueries({queryKey:_s({client:W})}),n.invalidateQueries({predicate:ZN})}})}const Pk=[{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}],eJ={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function So({current:e,outcomes:n={}}){const i=Pk.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:Pk.map((r,u)=>{const h=u<i?n[r.id]:void 0,f=u<i&&h===void 0,b=u===i,v=h?eJ[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 tJ(){return[{id:"search-console",icon:D0,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:aS,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:iS,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:Bf,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:sS,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:I5,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 nJ({projectName:e}){const n=tJ();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(et,{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 aJ({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,[x,k]=N.useState(""),[S,_]=N.useState(""),[C,I]=N.useState(""),[P,T]=N.useState(""),[U,X]=N.useState(""),[L,H]=N.useState(""),[Z,ae]=N.useState(!1),[M,Y]=N.useState(null),[le,Je]=N.useState(!1),nt=b?S.trim().length>0:x.trim().length>0;async function $e(){if(nt){ae(!0),Y(null),Je(!1);try{const ee=ce=>{const Q=parseInt(ce.trim(),10);return Number.isFinite(Q)&&Q>0?Q:void 0},Ce={},Pe=ee(P);Pe!==void 0&&(Ce.maxConcurrency=Pe);const ve=ee(U);ve!==void 0&&(Ce.maxRequestsPerMinute=ve);const de=ee(L);de!==void 0&&(Ce.maxRequestsPerDay=de),await tN(e.toLowerCase(),{...x.trim()?{apiKey:x.trim()}:{},...S.trim()?{baseUrl:S.trim()}:{},...C.trim()?{model:C.trim()}:{},...Object.keys(Ce).length>0?{quota:Ce}:{}}),k(""),_(""),I(""),T(""),X(""),H(""),Je(!0),xn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),f()}catch(ee){Y(ee instanceof Error?ee.message:"Failed to update provider")}finally{ae(!1)}}}const qe=i??"Use default model",ke=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",Ue=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",q=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:Ue,placeholder:qe,value:C,onChange:ee=>I(ee.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:P,onChange:ee=>T(ee.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:U,onChange:ee=>X(ee.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:ee=>H(ee.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),J=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:Ue,placeholder:"http://localhost:11434/v1",value:S,onChange:ee=>_(ee.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,be=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:Ue,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:x,onChange:ee=>k(ee.target.value)})]}),Se=l.jsx(re,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!nt||Z,onClick:hn($e),children:Z?"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(re,{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,be]}),J]}):l.jsxs(l.Fragment,{children:[J,be]}),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:q})]}):q,M&&l.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:M}),le&&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 sm="cdp:chatgpt";function fo(e){return e.trim().toLowerCase()}function iJ({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(fo),u=new Set(r),h=r.length===0||r.some(x=>x!==sm),f=r.length===0||u.has(sm);if(h&&n!==void 0&&n.map(fo).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 sJ=[{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"}],oJ=[{label:"Queries"},{label:"First sweep"}];function Mk(e,n){return(e==="completed"||e==="partial")&&n>0}function Bk(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function YN(e){return e.queryCounts.total>0}function rJ(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!YN(i))??e.at(0)??null}function lJ({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 cJ({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=pa();return e&&r?l.jsx(Lk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):l.jsx(k1,{title:e?"Set up AI Visibility":"Setup",children:l.jsx(Lk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function Lk({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=Fc(),{isAdmin:u}=pa(),{dashboard:h,isLoading:f,refetch:b}=Mm(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,x=Ts(),k=N.useCallback(_=>{_&&e&&_.focus()},[e]),S=()=>{if(!e){x({to:"/",replace:!0});return}if(i){x({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}x({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(_=>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"})]},_))})]})]}):e&&!v.projects.some(_=>_.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(re,{type:"button",variant:"outline",onClick:S,children:"Skip AI Visibility"})}):null]}),l.jsxs(Na,{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(re,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),l.jsx(re,{type:"button",asChild:!0,children:l.jsx(et,{to:"/projects",children:"View projects"})})]})]})]}):l.jsx(uJ,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:k,siteHealthOnboarding:n,onboardingFinish:i})}function uJ({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:f,onboardingFinish:b}){const v=e.settings,{isAdmin:x}=pa(),S=v1(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},_=iF(e.setup,S,v),C=!!u,I=Ts(),P=da(),T=N.useRef(i1()).current,U=N.useRef(new Set),X=N.useCallback((G,Qe)=>{if(Qe){if(U.current.has(Qe))return;U.current.add(Qe)}u1({surface:"wizard",...G,eventId:s1()})},[]),L=rJ(e.projects,u),H=L?e.runs.filter(G=>G.projectId===L.project.id).sort((G,Qe)=>Qe.createdAt.localeCompare(G.createdAt)):[],Z=L?.queryCounts.total??0,ae=L?.project.name,M=yt({queryKey:["setup","resume-queries",ae],queryFn:()=>ae?JA(ae):Promise.resolve([]),enabled:!!ae}),Y=M.data??[],le=M.data?.length??Z,Je=L?.competitors.map(G=>G.domain)??[],nt=H.at(0)??null,$e=!!L&&YN(L),qe=!!L&&M.isPending,ke=C?2:Bk({launchReady:_.launchState.enabled,hasProject:!!L,queryCount:le,competitorCount:Je.length,hasRunAttempt:H.length>0||$e}),Ue=Bk({launchReady:!0,hasProject:!!L,queryCount:le,competitorCount:Je.length,hasRunAttempt:H.length>0||$e}),[q,J]=N.useState(ke),[be,Se]=N.useState(!qe),ee=C&&(qe||!be),[Ce,Pe]=N.useState(L?.project.name??""),[ve,de]=N.useState(L?.project.displayName??""),[ce,Q]=N.useState(L?.project.canonicalDomain??""),[pe,Ie]=N.useState(L?.project.country??"US"),[je,st]=N.useState(L?.project.language??"en"),[Ve,jt]=N.useState(L?.project.autoExtractBacklinks??!1),[Ke,me]=N.useState(L?.project.name??null),[at,zt]=N.useState(null),[On,Kt]=N.useState(!1),Me=()=>{if(!Ke){I({to:"/",replace:!!u});return}I({to:f?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:Ke},replace:!!u})},ct=(G=!1)=>{if(!b||!Ke){Me();return}I({to:"/setup",search:{onboarding:"complete",setupProject:Ke,...G?{skipped:"visibility"}:{}},replace:!0})},Ht=()=>ct(!0),[Qt,Tn]=N.useState(Y.map(G=>G.query).join(`
|
|
73
|
-
`)),[Ut,li]=N.useState(le>0),[Ps,ci]=N.useState(null),[En,zo]=N.useState(!1),[Ms,Bs]=N.useState(!1),ui=v.providerStatuses.filter(G=>G.state==="ready"),gn=L?.project.providers.map(fo)??[],_t=ui.filter(G=>gn.length===0||gn.includes(fo(G.name))),Vn=ui.map(G=>fo(G.name)),Ft=_t.length>0,Ls=gn.length===0||gn.includes(sm),za=C&&!x,Jn=yt({...kH({client:W,path:{name:ae??""}}),enabled:za&&!!ae,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),oe=Jn.data?.answerVisibilityProviderReady,Te=za&&(Jn.isError||Jn.isSuccess&&typeof oe!="boolean"),Ze=yt({...QH({client:W}),enabled:!za&&Ls&&!Ft,staleTime:6e4,retry:!1}),It=Ls?Ze.isSuccess?typeof Ze.data.browserVersion=="string":Ze.isError?!1:void 0:!1,Xe=za?Jn.isSuccess&&Jn.isFetchedAfterMount&&!Jn.isFetching?oe:void 0:iJ({projectProviders:gn,configuredApiProviders:Vn,cdpConfigured:It}),xt=_t.length+(It===!0?1:0),[sn,di]=N.useState(_t[0]?.name??""),[Io,Us]=N.useState(5),[Zc,Xr]=N.useState(!1),[Jr,Wr]=N.useState(null),[el,tl]=N.useState(""),Oo=N.useRef(!1),Yc=N.useCallback(G=>{!G||!Oo.current||(Oo.current=!1,G.focus({preventScroll:!0}))},[]),[ha,on]=N.useState(!1),[Rn,Hi]=N.useState(!1),[qo,Xc]=N.useState(!1),Po=v.providerStatuses.filter(G=>fo(G.name)!==sm&&(gn.length===0||gn.includes(fo(G.name)))),Wn=Po.find(G=>G.name===el)??Po.find(G=>G.state!=="ready")??Po.at(0),Qi=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(Ke??Ce)} (${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.`,nl=async()=>{Xc(!1);try{await navigator.clipboard.writeText(Qi),Hi(!0)}catch{Xc(!0)}},[mi,Fi]=N.useState(Je.join(`
|
|
77
|
-
`)),[Zi,Yi]=N.useState(Je.length>0),[en,al]=N.useState(null),[il,Ha]=N.useState(!1),sl=N.useRef($A(ae)).current?.runId??null,ol=N.useRef(sl),[Qa,Qm]=N.useState(!!sl||!!nt&&!$e),[pi,$s]=N.useState(!1),[kn,Dn]=N.useState(null),[Xi,Fm]=N.useState(sl??($e?null:nt?.id??null)),rl=JX(),Fa=yt({...h1({client:W,path:{id:Xi??""}}),enabled:!!Xi,refetchInterval:({state:G})=>{const Qe=G.data?.status;return Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[Ji,Jc]=N.useState(""),[zn,Mo]=N.useState(!1),[ll,Bo]=N.useState(null),$n=Ce.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),ea=Qt.split(`
|
|
78
|
-
`).map(G=>G.trim()).filter(Boolean),hi=mi.split(`
|
|
79
|
-
`).map(G=>G.trim()).filter(Boolean),fa=Math.max(le,Ut?ea.length:0),ga=dG({apiReady:S.apiStatus.state==="ok",databaseConfigured:S.apiStatus.databaseConfigured,workerReady:S.workerStatus.state==="ok",providerReady:Xe!==!1}),Za=(ga&&ga!=="no_provider"?_.launchState.blockedReason:Te?"Provider readiness could not be checked. Try again.":Xe===void 0?"Checking provider readiness before launch.":ga==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(Ke?fa===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");N.useEffect(()=>{be||qe||(C||J(ke),Y.length>0&&(Tn(Y.map(G=>G.query).join(`
|
|
80
|
-
`)),li(!0)),Se(!0))},[Y,ke,C,be,qe]),N.useEffect(()=>{if(_t.length===0){di("");return}_t.some(G=>G.name===sn)||di(_t[0].name)},[_t,sn]),N.useEffect(()=>{be&&(X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.started",step:uG(ke),resumed:!!L},"onboarding.started"),!L&&ke>0&&X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[X,ke,T,be,L]),N.useEffect(()=>{C||!mG(S)||!ga||X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"system",action:ga==="no_provider"?"configure_provider":"continue",reasonCode:ga},`onboarding.blocked:system:${ga}`)},[X,S,C,T,ga]);const Ia=Fa.data?.status,Lo=Fa.data?.snapshots?.length??0;N.useEffect(()=>{if(!Qa||!Ia)return;const G=ol.current;if(!G||G!==Xi)return;if(Mk(Ia,Lo)){X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:ni(Lo)},"onboarding.step_completed:run"),Zd(G);return}const Qe=Ia==="cancelled"?"run_cancelled":Ia==="failed"||(Ia==="completed"||Ia==="partial")&&Lo===0?"run_failed":void 0;Qe&&(X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Qe},`onboarding.blocked:run:${Qe}`),Zd(G))},[X,Xi,T,Ia,Lo,Qa]);const Ym=async()=>{if(!(!$n||!ce)){Kt(!0),zt(null);try{const G=await eN($n,{displayName:ve||Ce,canonicalDomain:ce,country:pe,language:je,autoExtractBacklinks:Ve});me($n),xn({title:"Project created",detail:`${G.displayName||G.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${G.name}`,dedupeMode:"drop"}),await r(),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),J(2)}catch(G){zt(G instanceof Error?G.message:"Failed to create project"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{Kt(!1)}}},Uo=async()=>{if(!Ke)return;const G=ea;if(G.length!==0){zo(!0),ci(null);try{await uK(Ke,G),li(!0),C?await Promise.all([P.invalidateQueries({queryKey:rN({client:W,path:{name:Ke}})}),P.invalidateQueries({predicate:ZN}),P.invalidateQueries({queryKey:["setup","resume-queries",Ke]})]):await r(),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"queries",method:Ms?"generated":"manual",countBucket:ni(G.length)},"onboarding.step_completed:queries"),J(C?4:3)}catch(Qe){ci(Qe instanceof Error?Qe.message:"Failed to save queries"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{zo(!1)}}},Oa=async()=>{if(!(!Ke||!sn)){Xr(!0),Wr(null);try{const G=await vK(Ke,sn,Io);if(G.queries.length>0){const Qe=Qt?Qt.trimEnd()+`
|
|
81
|
-
`+G.queries.join(`
|
|
82
|
-
`):G.queries.join(`
|
|
83
|
-
`);Tn(Qe),Bs(!0)}}catch(G){Wr(G instanceof Error?G.message:"Failed to generate queries"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:gc(G,"unknown")},"onboarding.blocked:queries:generate")}finally{Xr(!1)}}},cl=async()=>{if(!Ke)return;const G=hi;if(G.length!==0){Ha(!0),al(null);try{await mK(Ke,G),Yi(!0),await r(),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:ni(G.length)},"onboarding.step_completed:competitors"),J(4)}catch(Qe){al(Qe instanceof Error?Qe.message:"Failed to save competitors"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Ha(!1)}}},ul=async()=>{const G=Ji.trim();if(G){Mo(!0),Bo(null);try{await tN("gemini",{apiKey:G}),xn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),Jc(""),await r(),di(v.providerStatuses.find(Qe=>Qe.name.toLowerCase()==="gemini")?.name??"gemini"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Qe){Bo(Qe instanceof Error?Qe.message:"Failed to save Gemini key"),X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{Mo(!1)}}},fi=async()=>{if(!po()){if(!Ke||Za){Dn(Za??"Complete setup before launching the first sweep.");const G=ga??(Ke?fa===0?"no_queries":"run_rejected":"unknown");za||X({flowVersion:ft,onboardingSessionId:T,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ni(xt),queryCountBucket:ni(fa),reasonCode:G});return}$s(!0),Dn(null);try{const G=await rl.mutateAsync({projectName:Ke,projectLabel:ve||Ce||Ke,sourceAction:"setup-launch"});Fm(G.id),Qm(!0),VA(Ke,G.id),ol.current=G.id,za||X({flowVersion:ft,onboardingSessionId:T,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:ni(xt),queryCountBucket:ni(fa)}),await r()}catch(G){Dn(G instanceof Error?G.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),za||X({flowVersion:ft,onboardingSessionId:T,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ni(xt),queryCountBucket:ni(fa),reasonCode:gc(G,"run_rejected")})}finally{$s(!1)}}},qn=()=>J(G=>C?2:Math.max(0,G-1)),Vo=(G,Qe,gi)=>{X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:G,method:"existing",...gi===void 0?{}:{countBucket:ni(gi)}},`onboarding.step_completed:${G}`),J(Qe)},dl=()=>{if(X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),C){Ht();return}J(3)},ml=()=>{X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),J(4)},Gs=C?"section":Na,ya=Xe!==!0||It===!0?l.jsx(re,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Ls&&Ze.refetch()},children:"Check again"}):null,pl=(Xe===!1||ha)&&!!Wn,Ks=C&&(q===2||q===4)?x?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:Xe===!1?"Connect a provider":"Answer engine provider"}),l.jsx(bn,{tone:Xe===!0?"positive":"neutral",children:Xe===!0?"Configured":Xe===!1?"Not connected":"Checking"})]}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:Xe===!0?_t.length>0?`${_t.map(G=>G.displayName??G.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.":Xe===!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."}),Xe===!1||ha?Wn?l.jsx("div",{children:l.jsx(aJ,{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:Yc,id:"setup-provider",className:"setup-input",value:Wn.name,onChange:G=>{G.target.value!==Wn.name&&(Oo.current=document.activeElement===G.currentTarget,tl(G.target.value))},children:Po.map(G=>l.jsx("option",{value:G.name,children:G.displayName??G.name},G.name))})]}),secondaryActions:ya,providerName:Wn.name,keyUrl:Wn.keyUrl,modelHint:Wn.modelHint,onSaved:()=>{on(!1),r()}},Wn.name)}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:gn.length>0?`This project's provider selection is ${gn.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:[Xe===!0&&!ha&&Wn?l.jsx(re,{type:"button",variant:"outline",size:"sm",onClick:()=>on(!0),children:"Configure a provider"}):null,!Wn||It===!0?l.jsx(re,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(et,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,pl?null:ya]})]}):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."}),Te?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:Xe===!0?"An answer engine is available for this project.":Xe===!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(re,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:Jn.isFetching,onClick:()=>{Jn.refetch()},children:Te?"Retry provider check":"Check again"})]}):null,Ya=(()=>{switch(q){case 0:return l.jsxs(Na,{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:_.healthChecks.map(G=>l.jsxs("div",{className:"health-check-row",children:[l.jsxs("div",{children:[l.jsx("p",{className:"run-row-title",children:G.label}),l.jsx("p",{className:"supporting-copy",children:G.detail}),G.id==="provider"&&G.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:Ji,onChange:Qe=>Jc(Qe.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:zn}),l.jsx(re,{type:"button",size:"sm",disabled:zn||!Ji.trim(),onClick:hn(ul),children:zn?"Saving...":"Save"})]}),ll&&l.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[l.jsx("p",{children:ll}),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(et,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),l.jsx(bn,{tone:G.state==="ready"?"positive":"caution",title:G.id==="api"?qr(S.apiStatus):G.id==="worker"?qr(S.workerStatus):G.detail,children:G.state==="ready"?"Ready":"Attention"})]},G.id))}),l.jsxs("div",{className:"setup-nav",children:[_.launchState.blockedReason?l.jsx("p",{role:"status",className:"supporting-copy text-negative",children:_.launchState.blockedReason}):l.jsx("span",{}),l.jsx(re,{type:"button",disabled:!_.launchState.enabled,title:_.launchState.blockedReason,onClick:()=>{X({flowVersion:ft,onboardingSessionId:T,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),J(Ue)},children:"Continue"})]})]});case 1:return l.jsxs(Na,{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"})]}),Ke?l.jsx(bn,{tone:"positive",children:"Created"}):null]}),Ke?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Project ",l.jsx("span",{className:"text-heading font-medium",children:Ke})," created successfully."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:qn,children:"Back"}),l.jsx(re,{type:"button",onClick:()=>Vo("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:Ce,onChange:G=>Pe(G.target.value)}),$n&&$n!==Ce?l.jsxs("p",{className:"supporting-copy",children:["Slug: ",$n]}):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:G=>de(G.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:G=>Q(G.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:pe,onChange:G=>Ie(G.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:G=>st(G.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:Ve,onChange:G=>jt(G.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(et,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),at?l.jsx("p",{className:"text-negative-400 text-sm",children:at}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:qn,children:"Back"}),l.jsx(re,{type:"button",disabled:!$n||!ce||On,onClick:hn(Ym),children:On?"Creating...":"Create project"})]})]})]});case 2:return l.jsxs(Gs,{className:C?"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:C?"Step 1 of 2":"Step 3 of 5"}),l.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),ee?l.jsx(bn,{tone:"neutral",children:"Loading"}):M.isError?l.jsx(bn,{tone:"negative",children:"Load failed"}):Ut?l.jsxs(bn,{tone:"positive",children:[ea.length," saved"]}):l.jsxs(bn,{tone:"neutral",children:[ea.length," quer",ea.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(re,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:hn(nl),children:Rn?"Research prompt copied":"Copy research prompt"})]}),l.jsxs("details",{open:qo||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:Qi})]}),qo?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),ee?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…"}):M.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(re,{type:"button",variant:"outline",onClick:C?Me:qn,children:"Back"}),l.jsx(re,{type:"button",onClick:()=>{M.refetch()},children:"Retry loading queries"})]})]}):Ut?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:ea.map(G=>l.jsx("li",{children:G},G))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:C?Me:qn,children:"Back"}),l.jsx(re,{type:"button",variant:"outline",onClick:()=>li(!1),children:"Edit queries"}),l.jsx(re,{type:"button",onClick:()=>Vo("queries",C?4:3,ea.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[_t.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:sn,onChange:G=>di(G.target.value),children:_t.map(G=>l.jsxs("option",{value:G.name,children:[G.displayName??G.name,G.model?` (${G.model})`:""]},G.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:Io,onChange:G=>Us(Number(G.target.value)),children:[3,5,10,15,20].map(G=>l.jsx("option",{value:G,children:G},G))})]}),l.jsx(re,{type:"button",variant:"outline",disabled:Zc||!sn,onClick:hn(Oa),children:Zc?"Analyzing site...":"Generate"})]}),Jr?l.jsx("p",{className:"text-negative-400 text-sm",children:Jr}):null]}):null,C?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:Qt,onChange:G=>Tn(G.target.value)})]}),Ps?l.jsx("p",{className:"text-negative-400 text-sm",children:Ps}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:C?Me:qn,children:"Back"}),l.jsx(re,{type:"button",variant:"ghost",onClick:dl,children:C?"Finish without AI Visibility":"Skip for now"}),l.jsx(re,{type:"button",disabled:ea.length===0||En,onClick:hn(Uo),children:En?"Saving...":`Save ${ea.length} quer${ea.length!==1?"ies":"y"}`})]})]})]});case 3:return l.jsxs(Na,{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"})]}),Zi?l.jsx(bn,{tone:"positive",children:"Saved"}):null]}),l.jsx("p",{className:"supporting-copy",children:"Optional. Domains that compete for the same queries, one per line. You can add them later from the project."}),Zi?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:hi.map(G=>l.jsx("li",{children:G},G))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:qn,children:"Back"}),l.jsx(re,{type:"button",onClick:()=>Vo("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:G=>Fi(G.target.value)})]}),en?l.jsx("p",{className:"text-negative-400 text-sm",children:en}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(re,{type:"button",variant:"outline",onClick:qn,children:"Back"}),l.jsx("div",{className:"flex gap-2",children:hi.length===0?l.jsx(re,{type:"button",onClick:ml,children:"Continue without competitors"}):l.jsxs(l.Fragment,{children:[l.jsx(re,{type:"button",variant:"outline",onClick:ml,children:"Skip"}),l.jsx(re,{type:"button",disabled:il,onClick:hn(cl),children:il?"Saving...":`Save ${hi.length} competitor${hi.length!==1?"s":""}`})]})})]})]})]});case 4:{const G=Fa.data,Qe=G?.status??(Xi===nt?.id?nt.status:void 0),gi=Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled",Wi=G?.snapshots??[],qa=G?.queryCounts,hl=Qe?Mk(Qe,Wi.length):!1,Sn=$e&&!Qa,yi=kn??(G?.error?nH(G.error):Qe==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Qe==="completed"||Qe==="partial")&&Wi.length===0?"The sweep finished without producing any snapshots.":nt?.statusDetail||"The sweep did not produce a baseline.");let Xa=null;return Sn||hl?Xa=l.jsx(bn,{tone:"positive",children:"Complete"}):kn&&!Qa?Xa=l.jsx(bn,{tone:"negative",children:"Failed"}):gi?Xa=l.jsx(bn,{tone:"negative",children:Qe==="cancelled"?"Cancelled":"Failed"}):Qa&&(Xa=l.jsx(bn,{tone:"caution",children:"Running"})),l.jsxs(Na,{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:C?"Step 2 of 2":"Step 5 of 5"}),l.jsx("h2",{children:po()?"AI Visibility":"Launch first run"})]}),Xa]}),Sn?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:Ke})," already has a successful answer-visibility baseline."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(re,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):!Qa&&po()?l.jsxs("div",{className:"compact-stack",children:[Ke?l.jsx(vY,{projectName:Ke}):l.jsx("p",{className:"text-sm text-secondary",children:x0}),kn&&l.jsx("p",{role:"alert",className:"text-sm text-negative",children:kn}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(re,{type:"button",onClick:Me,children:"Open project dashboard →"})]})]}):Qa?gi?hl?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:Ke}),":"]}),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.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:qa?l.jsxs(l.Fragment,{children:[qa.mentionedQueries,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",qa.totalQueries]})]}):"Unavailable"}),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.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:qa?l.jsxs(l.Fragment,{children:[qa.citedQueries,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",qa.totalQueries]})]}):"Unavailable"}),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:Wi.length}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&Ke?l.jsx(nJ,{projectName:Ke}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(re,{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:yi}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:po()?x0:x?"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:[x&&!po()?l.jsx(re,{type:"button",variant:"outline",asChild:!0,children:l.jsx(et,{to:"/settings",children:"Configure providers"})}):l.jsx("span",{}),po()||!x?l.jsx(re,{type:"button",onClick:Me,children:"Open project dashboard →"}):l.jsx(re,{type:"button",disabled:pi||!!Za,onClick:hn(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:Qe??"queued"})]})}),Fa.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:Fa.error instanceof Error?Fa.error.message:"Could not refresh the sweep status."}),l.jsx(re,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Fa.refetch()},children:"Retry status check"})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(re,{type:"button",variant:"outline",onClick:f?()=>ct():Me,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:Ke}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Za||kn)&&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:kn??Za}),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(re,{type:"button",variant:"outline",onClick:qn,children:"Back"}),l.jsx(re,{type:"button",variant:"ghost",onClick:Ht,children:"Finish without running"}),ga==="no_provider"&&!C?l.jsx(re,{type:"button",asChild:!0,children:l.jsx(et,{to:"/settings",children:"Configure a provider"})}):l.jsx(re,{type:"button",disabled:pi||!!Za,title:Za,onClick:hn(fi),children:pi?"Launching...":kn?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return l.jsxs("div",{className:C?"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(re,{type:"button",variant:"outline",className:"min-h-11",onClick:Ht,children:"Skip AI Visibility"})}):null]}),f?null:l.jsx(lJ,{current:C?q===4?1:0:q,labels:C?oJ:sJ}),l.jsxs("section",{className:"setup-wizard",children:[Ks,Ya]})]})}const qf="canonry mcp install --client claude-code",dJ="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function mJ(){const e=N.useRef(i1()).current,n=N.useRef(new Set),i=N.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),u1({...u,flowVersion:ft,onboardingSessionId:e,surface:"platform",eventId:s1()}))},[e]);return N.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),N.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const Km=N.createContext(()=>{});function pJ({projectName:e,skippedVisibility:n=!1}){const i=yt({...BQ({client:W,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=mJ(),h=Uk(e,De["site-audit"]),f=Uk(e,De["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...hJ(f,n)};return l.jsx(Km.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(fJ,{}),l.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:Ca(250),children:"Setup complete"}),l.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:Ca(350),children:"You’re set."}),l.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:Ca(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(xd,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:l.jsx(bJ,{projectName:e})}),l.jsx(xd,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:l.jsx(wJ,{projectName:e})}),l.jsx(xd,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:l.jsx(jJ,{projectName:e})}),l.jsx(xd,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:l.jsx(AJ,{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:Ca(1e3),children:[l.jsx(re,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:l.jsxs(et,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,l.jsx(xc,{className:"size-4","aria-hidden":"true"})]})}),l.jsx(re,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:l.jsx(et,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function Uk(e,n){const i=yt({...lN({client:W,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>Vk(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return Vk(i)}function hJ(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function Vk(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==ai.probe);if(!n.some(i=>i.status===Zt.completed||i.status===Zt.partial))return n.some(i=>i.status===Zt.queued||i.status===Zt.running)?"pending":n.length>0?"incomplete":"skipped"}function Ca(e){return{"--onb-delay":`${e}ms`}}function fJ(){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 xd({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:Ca(n),children:r})}function Hm({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 wd=[{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."}],gJ=9e3;function yJ(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function bJ({projectName:e}){const n=N.useContext(Km),[i,r]=N.useState(0),[u,h]=N.useState(!1),[f,b]=N.useState(!1);N.useEffect(()=>{if(u||yJ())return;const k=window.setTimeout(()=>r(S=>(S+1)%wd.length),gJ);return()=>window.clearTimeout(k)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(qf),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{xn({tone:"negative",title:"Could not copy the command",detail:`Run ${qf} in your terminal.`})}},x=wd[i]??wd[0];return l.jsxs(l.Fragment,{children:[l.jsxs(Hm,{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:[wd.map((k,S)=>l.jsx("button",{type:"button",role:"tab","aria-selected":S===i,onClick:()=>{r(S),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${S===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":`${x.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[l.jsxs("p",{className:"onb-type text-heading",style:Ca(150),children:[l.jsx("span",{className:"text-muted",children:"> "}),x.prompt]}),x.calls.map((k,S)=>l.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:Ca(1300+S*450),children:[l.jsx("span",{className:"text-positive",children:"●"})," ",k]},k)),l.jsx("p",{className:"onb-line mt-3 text-secondary",style:Ca(1500+x.calls.length*450),children:x.reply}),l.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:Ca(1900+x.calls.length*450),"aria-hidden":"true"})]},x.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:qf}),l.jsxs(re,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[f?l.jsx(om,{className:"size-4","aria-hidden":"true"}):l.jsx(z0,{className:"size-4","aria-hidden":"true"}),f?"Copied":"Copy"]}),l.jsx("a",{href:dJ,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const vJ=[{icon:D0,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:aS,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:sS,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],xJ=["GPTBot","ClaudeBot","PerplexityBot"];function wJ({projectName:e}){const n=N.useContext(Km);return l.jsxs(l.Fragment,{children:[l.jsx(Hm,{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(kJ,{}),l.jsxs(et,{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(oS,{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(xc,{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:vJ.map(({icon:i,label:r,action:u,to:h})=>l.jsx("li",{children:l.jsxs(et,{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(xc,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function kJ(){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:Ca(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),xJ.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}%`,...Ca(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(oS,{className:"size-5"})})]})}const SJ=["M","T","W","T","F","S","S"];function jJ({projectName:e}){return l.jsxs(l.Fragment,{children:[l.jsx(Hm,{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:SJ.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:Ca(i*500)}),l.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),l.jsx(XN,{projectName:e,to:"/projects/$projectName/settings",icon:iS,label:"Set a schedule",action:"set_schedule"})]})}function AJ({projectName:e,score:n}){return l.jsxs(l.Fragment,{children:[l.jsx(Hm,{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(Bf,{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(XN,{projectName:e,to:"/projects/$projectName/settings",icon:Bf,label:"Add a notification",action:"add_notification"})]})}function XN({projectName:e,to:n,icon:i,label:r,action:u}){const h=N.useContext(Km);return l.jsxs(et,{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(xc,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const NJ=N.lazy(async()=>({default:(await Ki(()=>import("./SiteHealthSection-zW3ykBCu.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),CJ=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${Q2} pages, then stops.`,_J=1800,TJ="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",EJ="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 RJ(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const DJ="2000-01-01T00:00:00.000Z",zJ=5e3;function IJ(e,n){const i=new Set,r=new Map;for(const f of n)f.trigger!==ai.probe&&(r.has(f.projectId)||r.set(f.projectId,f.id),(f.status===Zt.completed||f.status===Zt.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 JN=[{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"}],WN=[{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 OJ(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 qJ(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:JN.some(u=>u.value===i),languageValid:WN.some(u=>u.value===r)}}function PJ(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function MJ(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"||PJ(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 BJ(e,n=_J){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 LJ(e,n){e.catch(()=>{xn({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 e4(e){const n=N.useRef(i1()).current,i=N.useRef(new Set),r=N.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}u1({...u,surface:e,eventId:s1()})},[e]);return{onboardingSessionId:n,emit:r}}function $k(e,n){return e instanceof _n&&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 C0(){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(Nr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function UJ({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(re,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function VJ({projectName:e,initialRunId:n}){return l.jsx(k1,{title:"Site Health setup",children:l.jsx($J,{projectName:e,initialRunId:n})})}function $J({projectName:e,initialRunId:n}){const i=Ts(),r=yt({...Ro({client:W}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=e4("site_health"),[f]=N.useState(()=>fG(n));N.useEffect(()=>{f&&gG()},[f]),N.useEffect(()=>{e&&h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!f},"onboarding.started")},[h,f,n,u,e]),N.useEffect(()=>{!e||!n||$A(e)?.runId!==n&&VA(e,n)},[n,e]);const v=yt({...h1({client:W,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:C})=>{const I=C.data?.status;return I==="completed"||I==="partial"||I==="failed"||I==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(N.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"),Zd(n);return}if(v!=="failed"&&v!=="cancelled")return;const C=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:C},`onboarding.blocked:run:${C}`),Zd(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(re,{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(Nr,{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(re,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const x=r.data.find(C=>C.name===e);if(!x)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(re,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});const k=()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:x.name},replace:!0})},S=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:x.name},replace:!0})},_=()=>{h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),i({to:"/setup",search:{onboarding:"complete",setupProject:x.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(N.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(Nr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:l.jsx(NJ,{projectName:x.name,projectId:x.id,initialRunId:n,onReleaseInitialRun:k,showOnboardingActions:!0,onContinueOnboarding:S,onSkipOnboarding:_})})]})}function GJ(){const e=Hk({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=$G(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,f]=N.useState(!1),[b,v]=N.useState(void 0),x=yt({...Ro({client:W}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),k=yt({...zm({client:W,query:{kind:De["site-audit"],since:DJ,limit:zJ}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),S=u==="auto"&&x.isSuccess&&x.isFetchedAfterMount&&x.data.length===0;N.useEffect(()=>{S&&f(!0)},[S]);const _=u!=="auto"?{state:"idle"}:x.isSuccess&&x.isFetchedAfterMount?{state:"success",projectCount:x.data.length}:x.isError?{state:"error"}:{state:"loading"},C=u==="legacy"?"legacy":h||S?"platform":RJ(u,_);if(e.onboarding==="complete"&&e.setupProject)return l.jsx(pJ,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return l.jsx(VJ,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const I=u==="auto"&&C==="legacy"&&!e.setupProject&&x.isSuccess;if(I&&b===void 0)return k.isError?v(null):k.isSuccess&&k.isFetchedAfterMount&&v(IJ(x.data,k.data)),l.jsx(C0,{});const P=I?b:null;return P?l.jsx(KJ,{projectName:P.projectName,runId:P.runId}):C==="legacy"?l.jsx(cJ,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):C==="loading"?l.jsx(C0,{}):C==="retry"?l.jsx(UJ,{onRetry:()=>{x.refetch()}}):l.jsx(HJ,{onActivationStarted:()=>f(!0),skipSiteScan:e.siteScan==="skip"})}function KJ({projectName:e,runId:n}){const i=Ts();return N.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),l.jsx(C0,{})}function HJ({onActivationStarted:e,skipSiteScan:n}){return l.jsx(k1,{title:"Site Health setup",children:l.jsx(QJ,{onActivationStarted:e,skipSiteScan:n})})}function QJ({onActivationStarted:e,skipSiteScan:n}){const i=Ts(),r=da(),u=WX(),h=yt({...GH({client:W}),retry:!1}),f=ii(KH()),[b,v]=N.useState(""),[x,k]=N.useState(""),[S,_]=N.useState(""),[C,I]=N.useState("US"),[P,T]=N.useState("en"),[U,X]=N.useState(!1),[L,H]=N.useState("idle"),[Z,ae]=N.useState(null),[M,Y]=N.useState(null),[le,Je]=N.useState(!1),[nt,$e]=N.useState(null),[qe,ke]=N.useState(!1),Ue=h.isError?void 0:h.data,q=typeof Ue?.enabled=="boolean"?Ue.enabled:null,J=f.isPending?f.variables.body.enabled:q,[be,Se]=N.useState(null),ee=N.useRef(null),{onboardingSessionId:Ce,emit:Pe}=e4("platform");N.useEffect(()=>{Pe({flowVersion:ft,onboardingSessionId:Ce,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Pe,Ce]);const ve=MJ(b),de=x||ve?.projectName||"",ce=S||ve?.displayName||"",Q=L==="creating"||L==="dispatching",pe=M??nt,Ie=OJ(C,P),{countryValid:je,languageValid:st}=qJ(C,P),Ve=je&&st;N.useEffect(()=>{pe&&ee.current?.focus()},[pe]);const jt=(Me,ct)=>i({to:"/setup",search:{...ct?{siteHealthRunId:ct}:{},onboarding:"site-health",setupProject:Me.name},replace:!0}),Ke=async Me=>{H("dispatching"),$e(null);try{const ct=u.mutateAsync({projectName:Me.name,projectId:Me.id,projectLabel:Me.displayName||Me.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:Q2}}),Ht=await BJ(ct);if(Ht.state==="queued"){Pe({flowVersion:ft,onboardingSessionId:Ce,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),hG(Ht.run.runId),await jt(Me,Ht.run.runId);return}ct.then(()=>{Pe({flowVersion:ft,onboardingSessionId:Ce,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},Qt=>{Pe({flowVersion:ft,onboardingSessionId:Ce,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:gc(Qt,"run_rejected")})}),LJ(ct,Me.id),await jt(Me)}catch(ct){H("recovery"),$e($k(ct,"The project was created, but the Site Health scan could not be started."));const Ht=gc(ct,"run_rejected");Pe({flowVersion:ft,onboardingSessionId:Ce,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Ht}),Pe({flowVersion:ft,onboardingSessionId:Ce,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Ht},`onboarding.blocked:run:${Ht}`)}},me=async Me=>{if(Me.preventDefault(),!(!ve||!n&&!U||!Ve||Q)){H("creating"),Y(null),Je(!1),$e(null);try{const ct=await cK({name:de,displayName:ce,canonicalDomain:ve.canonicalDomain,country:C,language:P});if(e(),ae(ct),Pe({flowVersion:ft,onboardingSessionId:Ce,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:_s({client:W})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:ct.name},replace:!0});return}await Ke(ct)}catch(ct){H("idle");const Ht=ct instanceof _n&&ct.statusCode===409;Je(Ht),Y($k(ct,"Could not create the project. Try again.")),Pe({flowVersion:ft,onboardingSessionId:Ce,event:"onboarding.blocked",step:"project",action:"save",reasonCode:gc(ct,"project_create_failed")},"onboarding.blocked:project"),Ht&&(e(),r.invalidateQueries({queryKey:_s({client:W})}))}}},at=()=>{Z&&!Q&&Ke(Z)},zt=()=>{Q||i({to:"/projects"})},On=async()=>{try{await navigator.clipboard.writeText(EJ),ke(!0)}catch{xn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},Kt=async Me=>{Se(null);try{const ct=await f.mutateAsync({client:W,body:{enabled:Me}});r.setQueryData(cN({client:W}),ct),ct.enabled!==Me&&Se(`The server kept telemetry ${ct.enabled?"on":"off"}. Check its telemetry settings.`)}catch{Se("Could not update telemetry. Try again.")}};return Z&&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:[Z.displayName||Z.name," is ready. The Site Health scan needs another try."]})]})}),l.jsxs("div",{ref:ee,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(re,{type:"button",onClick:at,children:"Retry Site Health scan"}),l.jsx(re,{type:"button",variant:"secondary",onClick:()=>{jt(Z)},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:hn(me),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:Me=>{v(Me.target.value),Y(null),Je(!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(et,{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(et,{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:[Ie,l.jsx(Rc,{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:de,onChange:Me=>k(Me.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:Me=>_(Me.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:C,onChange:Me=>I(Me.target.value),children:JN.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.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:P,onChange:Me=>T(Me.target.value),children:WN.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.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:U,onChange:Me=>X(Me.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(la,{text:CJ})]})]}),pe?l.jsxs("div",{ref:ee,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:pe}),le?l.jsx(re,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:zt,children:"View projects"}):null]}):null,l.jsxs("div",{className:"grid gap-2",children:[l.jsx(re,{className:"h-11 w-full",type:"submit",disabled:!ve||!n&&!U||!Ve||Q,children:L==="creating"||L==="dispatching"?l.jsxs(l.Fragment,{children:[l.jsx(Nr,{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(re,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:hn(On),children:[qe?l.jsx(om,{className:"size-3.5","aria-hidden":"true"}):l.jsx(z0,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{"aria-live":"polite",children:qe?"Copied setup request":"Copy setup request"})]}),l.jsx(re,{asChild:!0,variant:"ghost",size:"sm",children:l.jsxs("a",{href:TJ,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",l.jsx(O5,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),q!==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:J??!1,disabled:f.isPending,onChange:Me=>{Kt(Me.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,be?l.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:be}):null]}):null]})}function FJ(){return l.jsx("div",{className:"page-container",children:l.jsx("section",{className:"page-section",children:l.jsxs(Na,{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(re,{asChild:!0,children:l.jsx(et,{to:"/",children:"Return to overview"})})]})})})}const Da=Es(()=>Ki(()=>import("./ProjectPage-QQErJAT8.js"),__vite__mapDeps([5,1,0,2,3,4,6,7,8,9,10,11]),import.meta.url),"ProjectPage"),ZJ=Es(()=>Ki(()=>import("./RunsPage-CniAGDVF.js"),__vite__mapDeps([12,1,10,4,2,7,11]),import.meta.url),"RunsPage"),YJ=Es(()=>Ki(()=>import("./HistoryPage-CQfOM6NA.js"),__vite__mapDeps([13,1,9,10,4,2,7,11]),import.meta.url),"HistoryPage"),XJ=Es(()=>Ki(()=>import("./SettingsPage-BPsrE4ao.js"),__vite__mapDeps([14,1,10,4,2,7,11]),import.meta.url),"SettingsPage"),JJ=Es(()=>Ki(()=>import("./BacklinksPage-BNyYcY5w.js"),__vite__mapDeps([15,1,2,10,4,7,11]),import.meta.url),"BacklinksPage"),WJ=Es(()=>Ki(()=>import("./TrafficPage-DXKk92zy.js"),__vite__mapDeps([16,1,8,2,10,4,7,11]),import.meta.url),"TrafficPage"),eW=Es(()=>Ki(()=>import("./TrafficSourceDetailPage-4POLIA_c.js"),__vite__mapDeps([17,1,8,3,4,2,10,7,11]),import.meta.url),"TrafficSourceDetailPage"),tW=Es(()=>Ki(()=>import("./MeasurementPropertyPage-D0LTQHL7.js"),__vite__mapDeps([18,1,3,4,6,7,2,10,11]),import.meta.url),"MeasurementPropertyPage");function nW(){return l.jsx(rX,{children:l.jsx(WK,{children:l.jsx(oX,{})})})}const Ln=d5()({component:nW,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]))})}),aW=Mt({getParentRoute:()=>Ln,path:"/",component:VX,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(_s({client:W}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(Ro({client:W}))}catch{return}if(n.length===0)throw _0({to:"/setup"})}}),iW=Mt({getParentRoute:()=>Ln,path:"/projects",component:HX}),sW=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Un=Mt({getParentRoute:()=>Ln,path:"/projects/$projectName",component:()=>l.jsx(Pf,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!sW.test(r))return;let u=e.queryClient.getQueryData(_s({client:W}));if(!u)try{u=await e.queryClient.ensureQueryData(Ro({client:W}))}catch{return}const h=u.find(f=>f.id===r);if(h)throw _0({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),oW=Mt({getParentRoute:()=>Un,path:"/",component:()=>l.jsx(Da,{tab:"overview"})}),rW=Mt({getParentRoute:()=>Un,path:"/portfolio",component:()=>l.jsx(Da,{tab:"portfolio"})}),lW=Mt({getParentRoute:()=>Un,path:"/search-console",component:()=>l.jsx(Da,{tab:"search-console"})}),cW=Mt({getParentRoute:()=>Un,path:"/conversions",component:()=>l.jsx(Da,{tab:"conversions"})}),uW=Mt({getParentRoute:()=>Un,path:"/local",component:()=>l.jsx(Da,{tab:"local"})}),dW=Mt({getParentRoute:()=>Un,path:"/discovery",component:()=>l.jsx(Da,{tab:"discovery"})}),mW=Mt({getParentRoute:()=>Un,path:"/queries",component:()=>l.jsx(Da,{tab:"queries"})}),pW=Mt({getParentRoute:()=>Un,path:"/properties/$targetKey",component:()=>l.jsx(tW,{})}),hW=Mt({getParentRoute:()=>Un,path:"/report",beforeLoad:({params:e})=>{throw _0({to:"/projects/$projectName",params:e,replace:!0})}}),fW=Mt({getParentRoute:()=>Un,path:"/activity",component:()=>l.jsx(Da,{tab:"activity"})}),gW=Mt({getParentRoute:()=>Un,path:"/backlinks",component:()=>l.jsx(Da,{tab:"backlinks"})}),yW=Mt({getParentRoute:()=>Un,path:"/technical-aeo",component:()=>l.jsx(Da,{tab:"technical-aeo"})}),bW=Mt({getParentRoute:()=>Un,path:"/history",component:()=>l.jsx(Da,{tab:"history"})}),vW=Mt({getParentRoute:()=>Un,path:"/settings",component:()=>l.jsx(Da,{tab:"settings"})}),xW=Mt({getParentRoute:()=>Ln,path:"/runs",component:ZJ}),wW=Mt({getParentRoute:()=>Ln,path:"/history",component:YJ}),kW=Mt({getParentRoute:()=>Ln,path:"/settings",component:XJ,beforeLoad:({context:e})=>{}}),SW=Mt({getParentRoute:()=>Ln,path:"/setup",component:GJ}),jW=Mt({getParentRoute:()=>Ln,path:"/backlinks",component:JJ}),AW=Mt({getParentRoute:()=>Ln,path:"/traffic",component:WJ}),NW=Mt({getParentRoute:()=>Ln,path:"/traffic/$projectName/$sourceId",component:eW}),CW=Mt({getParentRoute:()=>Ln,path:"*",component:FJ}),_W=Ln.addChildren([aW,iW,Un.addChildren([oW,rW,lW,cW,uW,dW,mW,pW,hW,fW,gW,yW,bW,vW]),xW,wW,kW,SW,jW,AW,NW,CW]);function TW(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const Gk=TW(),EW=Gk==="/"?"":Gk.replace(/\/$/,"");function RW(e,n){return m5({routeTree:_W,basepath:EW||"/",context:{queryClient:e},...n?.initialEntries})}let Kk=!1;async function DW(e){return(await b_({client:W,body:e,keepalive:!0})).data}function zW(){Kk||typeof window>"u"||(Kk=!0,!(l1()||bo())&&(SG({send:DW}),W.interceptors.request.use((e,n)=>{const i=n.fetch??globalThis.fetch,r=typeof n.url=="string"?n.url:void 0;return n.fetch=async(u,h)=>{try{return await i(u,h)}catch(f){throw f instanceof DOMException&&f.name==="AbortError"||Jd({method:e.method,route:r,network:!0}),f}},e}),W.interceptors.response.use((e,n,i)=>(Jd({method:n.method,route:typeof i.url=="string"?i.url:void 0,path:OW(n.url),status:e.status}),e)),window.addEventListener("error",e=>{Xd({kind:"unhandled",error:e.error})}),window.addEventListener("unhandledrejection",e=>{Xd({kind:"unhandled",error:e.reason})}),LW()))}function IW(e){let n=null;const i=()=>{const r=e.state.matches.at(-1);if(!r)return;jG(r.fullPath);const u=e.state.location;if(!u)return;const h=u.search&&typeof u.search=="object"?u.search:{};n&&n.pathname===u.pathname&&TG(n.search,h),n={pathname:u.pathname,search:h}};return i(),e.subscribe("onResolved",i)}function OW(e){try{return new URL(e,window.location.origin).pathname}catch{return}}const qW={LCP:[2500,4e3],INP:[200,500],CLS:[.1,.25],FCP:[1800,3e3],TTFB:[800,1800]};function PW(e,n){const[i,r]=qW[e];return n<=i?"good":n<=r?"needs-improvement":"poor"}function MW(){let e=0,n=0,i=-1/0,r=-1/0;return{add(u){u.hadRecentInput||(u.startTime-r<1e3&&u.startTime-i<5e3?n+=u.value:(n=u.value,i=u.startTime),r=u.startTime,e=Math.max(e,n))},value:()=>e}}function BW(){let e=0;return{add(n){n.interactionId&&(e=Math.max(e,n.duration))},value:()=>e}}function LW(){if(typeof PerformanceObserver>"u")return;const e=new Set,n=(b,v)=>{e.has(b)||!Number.isFinite(v)||(e.add(b),RG(b,PW(b,v)))},i=(b,v,x={})=>{try{new PerformanceObserver(k=>v(k.getEntries())).observe({type:b,buffered:!0,...x})}catch{}};try{const b=performance.getEntriesByType("navigation")[0];b&&b.responseStart>0&&n("TTFB",b.responseStart)}catch{}i("paint",b=>{const v=b.find(x=>x.name==="first-contentful-paint");v&&n("FCP",v.startTime)});let r=0;i("largest-contentful-paint",b=>{const v=b.at(-1);v&&(r=v.startTime)});const u=MW();i("layout-shift",b=>{for(const v of b)u.add({startTime:v.startTime,value:v.value??0,hadRecentInput:v.hadRecentInput===!0})});const h=BW();i("event",b=>{for(const v of b)h.add(v)},{durationThreshold:40});const f=()=>{r>0&&n("LCP",r),n("CLS",u.value()),h.value()>0&&n("INP",h.value())};document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&f()}),window.addEventListener("pagehide",f)}const UW=6e4;function VW(){const e=N.useRef(oK()).current,[n,i]=N.useState(e?"ready":"checking"),[r,u]=N.useState(null),[h,f]=N.useState(null),[b,v]=N.useState(e),[x,k]=N.useState(!1),[S,_]=N.useState(""),[C,I]=N.useState(""),[P,T]=N.useState(""),[U,X]=N.useState(!1),[L,H]=N.useState("password"),[Z,ae]=N.useState(null),[M,Y]=N.useState(!1),[le,Je]=N.useState(!1),nt=N.useRef(null),$e=N.useRef(null),qe=N.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){$e.current?.clear();const pe=YK();$e.current=pe,nt.current=RW(pe),IW(nt.current),qe.current=Q}return{queryClient:$e.current,router:nt.current}},Ue=Q=>Q.authRequired?(k(!0),u(Q.user),f(null),v(!1),i(Q.user?"ready":"account-login"),!0):!1;N.useEffect(()=>{let Q=!1;const pe=async(Ie,je=!1)=>{try{const st=await _f();if(Q)return;f(st),v(!1),i("ready")}catch(st){if(Q)return;if(je&&st instanceof _n&&st.statusCode===401)return yK().then(()=>{Q||(ae(null),f(null),v(!1),Je(!0),i("login"))}).catch(Ve=>{Q||(ae(Ve instanceof Error?Ve.message:"Could not clear the invalid session"),i(Ie))});ae(st instanceof Error?st.message:"Could not verify API key access"),i(Ie)}};return e?(pe("api-key-error"),()=>{Q=!0}):(Promise.allSettled([Yw(),Zw()]).then(([Ie,je])=>{if(Q||Ie.status==="fulfilled"&&Ue(Ie.value))return;if(je.status==="rejected"){const Ve=je.reason;ae(Ve instanceof Error?Ve.message:"Failed to reach the Canonry API"),i("login");return}const st=je.value;st.authenticated?(v(!0),pe("api-key-error",!0)):(f(null),v(!1),i(st.setupRequired?"setup":"login"))}),()=>{Q=!0})},[]),N.useEffect(()=>{if(n!=="ready"||e)return;const Q=setInterval(()=>{if(x){Yw().then(pe=>{pe.authRequired&&!pe.user&&(Je(!0),u(null),f(null),i("account-login"))}).catch(()=>{});return}Zw().then(pe=>{pe.authenticated||(Je(!0),f(null),i(pe.setupRequired?"setup":"login"))}).catch(()=>{})},UW);return Fw(()=>{Je(!0),u(null),f(null),v(!1),i(x?"account-login":"login")}),()=>{clearInterval(Q),Fw(null)}},[n,x,e]);const q=async Q=>{if(Q.preventDefault(),!C.trim()||C.trim().length<8){ae("Password must be at least 8 characters");return}if(C!==P){ae("Passwords do not match");return}Y(!0),ae(null);try{if(!(await hK(C.trim())).authenticated){ae("Setup failed");return}I(""),T(""),X(!1),Je(!1),f(null),v(!0),i("checking");try{const Ie=await _f();f(Ie),v(!1),i("ready")}catch(Ie){ae(Ie instanceof Error?Ie.message:"Could not verify API key access"),i("api-key-error")}}catch(pe){ae(pe instanceof _n||pe instanceof Error?pe.message:"Setup failed")}finally{Y(!1)}},J=Q=>{I(Q),ae(null)},be=Q=>{T(Q),ae(null)},Se=async Q=>{if(Q.preventDefault(),!!C.trim()){Y(!0),ae(null);try{if(!(L==="api-key"?await gK(C.trim()):await fK(C.trim())).authenticated){ae(L==="api-key"?"Invalid API key":"Incorrect password");return}const Ie=await _f();f(Ie),v(!1),I(""),X(!1),Je(!1),i("ready")}catch(pe){ae(pe instanceof _n||pe instanceof Error?pe.message:"Authentication failed")}finally{Y(!1)}}},ee=Q=>{H(Q),I(""),X(!1),ae(null)},Ce=async Q=>{if(Q.preventDefault(),!(!S.trim()||!C)){Y(!0),ae(null);try{const pe=await bK(S.trim(),C);if(!pe.user){ae("Incorrect name or password.");return}I(""),Je(!1),u(pe.user),f(null),v(!1),i("ready")}catch(pe){ae(pe instanceof _n?pe.message:"Incorrect name or password.")}finally{Y(!1)}}};if(n==="ready"){const{queryClient:Q,router:pe}=ke();return l.jsx(LK,{account:r,apiKey:h,apiKeyPending:b,children:l.jsx(p5,{client:Q,children:l.jsx(h5,{router:pe})})})}const Pe=C.trim(),ve=C.length>0&&Pe.length<8,de=P.length>0&&C!==P,ce=Pe.length>=8&&C===P;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(Na,{className:"surface-card w-full",children:n==="checking"?l.jsx(ho,{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(Sr,{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(ho,{className:"space-y-4",children:[l.jsx("p",{className:"supporting-copy",children:Z??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),l.jsx(re,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?l.jsxs(l.Fragment,{children:[l.jsxs(Sr,{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(ho,{children:[le?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:hn(Ce),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:S,onChange:Q=>{_(Q.target.value),ae(null)},"aria-invalid":!!Z,"aria-describedby":Z?"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:C,onChange:Q=>J(Q.target.value),"aria-invalid":!!Z,"aria-describedby":Z?"account-login-error":void 0})]}),Z?l.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(re,{type:"submit",disabled:M||!S.trim()||!C,children:M?"Signing in…":"Sign in"})]})]})]}):n==="setup"?l.jsxs(l.Fragment,{children:[l.jsxs(Sr,{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(im,{children:"This password protects the dashboard on this computer."})]}),l.jsx(ho,{children:l.jsxs("form",{className:"space-y-4",onSubmit:hn(q),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:U?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:C,onChange:Q=>J(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:U?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:P,onChange:Q=>be(Q.target.value),"aria-invalid":de,"aria-describedby":"dashboard-password-confirm-help"}),l.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:de?"block text-sm text-negative-400":"block text-sm text-secondary",children:de?"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:U,onChange:Q=>X(Q.target.checked)}),"Show passwords"]}),Z?l.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(re,{type:"submit",disabled:M||!ce,children:M?"Creating password…":"Create password and continue"})]})})]}):l.jsxs(l.Fragment,{children:[l.jsxs(Sr,{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(im,{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(ho,{children:[le?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:hn(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:U?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:C,onChange:Q=>J(Q.target.value),"aria-invalid":!!Z,"aria-describedby":Z?"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:U,onChange:Q=>X(Q.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),Z?l.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(re,{type:"submit",disabled:M||!C.trim(),children:M?"Signing in…":"Open dashboard"}),l.jsx(re,{type:"button",variant:"ghost",onClick:()=>ee(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const t4=document.getElementById("root");if(!t4)throw new Error("Expected #root element for web app bootstrap.");zW();$5.createRoot(t4).render(l.jsx(N.StrictMode,{children:l.jsx(VW,{})}));export{sae as $,Mn as A,re as B,pc as C,hn as D,Aae as E,_ae as F,Cae as G,Rte as H,la as I,zte as J,Dte as K,pa as L,Xae as M,tH as N,hie as O,fie as P,mZ as Q,Ua as R,qk as S,bn as T,lH as U,Dee as V,tne as W,sne as X,ate as Y,Wte as Z,nae as _,Yae as a,ine as a$,iae as a0,mte as a1,dte as a2,kte as a3,xn as a4,lae as a5,cae as a6,yte as a7,uae as a8,bte as a9,Zte as aA,_n as aB,Yte as aC,Fee as aD,nH as aE,dF as aF,c0 as aG,Xte as aH,_d as aI,Eae as aJ,x0 as aK,po as aL,sH as aM,Zt as aN,QK as aO,yne as aP,mY as aQ,fte as aR,Oee as aS,zee as aT,Ii as aU,cie as aV,Eee as aW,Kee as aX,YO as aY,Vee as aZ,Tee as a_,hte as aa,gte as ab,oae as ac,rae as ad,aae as ae,pte as af,dae as ag,bae as ah,hae as ai,gae as aj,fae as ak,yae as al,Bte as am,f1 as an,De as ao,pae as ap,pN as aq,Vi as ar,mae as as,j0 as at,T9 as au,E9 as av,bee as aw,yee as ax,Vte as ay,Fte as az,rH as b,eee as b$,_ee as b0,bH as b1,LH as b2,Sne as b3,_ne as b4,jne as b5,Mee as b6,Lee as b7,SV as b8,Uee as b9,Pne as bA,Kne as bB,Hne as bC,Qne as bD,qne as bE,Gne as bF,Mne as bG,Fne as bH,Bne as bI,Zne as bJ,Vne as bK,Xne as bL,eae as bM,FX as bN,Lne as bO,he as bP,fee as bQ,hee as bR,pee as bS,mee as bT,cee as bU,lee as bV,dee as bW,uee as bX,ree as bY,oee as bZ,WW as b_,TH as ba,kne as bb,AV as bc,r0 as bd,Bee as be,XG as bf,Ane as bg,wne as bh,RH as bi,Nne as bj,iie as bk,Cne as bl,Oae as bm,qae as bn,vte as bo,p1 as bp,Tae as bq,lN as br,zne as bs,One as bt,$ne as bu,Wne as bv,Jne as bw,Une as bx,Yne as by,tae as bz,gee as c,hne as c$,see as c0,iee as c1,aee as c2,tee as c3,nee as c4,JW as c5,XW as c6,YW as c7,ZW as c8,h6 as c9,une as cA,YZ as cB,g0 as cC,tm as cD,y0 as cE,nm as cF,am as cG,dY as cH,kH as cI,fo as cJ,sm as cK,QH as cL,iJ as cM,gie as cN,nie as cO,cY as cP,tie as cQ,JX as cR,Tne as cS,mne as cT,eie as cU,gne as cV,pne as cW,D9 as cX,kO as cY,Ene as cZ,Wae as c_,$ee as ca,tte as cb,ete as cc,Wee as cd,Ete as ce,YG as cf,H2 as cg,xm as ch,Q2 as ci,$H as cj,Ine as ck,lne as cl,Iee as cm,nk as cn,ste as co,ote as cp,one as cq,rne as cr,rte as cs,lte as ct,ute as cu,cte as cv,Fc as cw,Ro as cx,ZA as cy,dne as cz,oH as d,GX as d$,Qae as d0,bY as d1,lK as d2,dH as d3,vY as d4,Yee as d5,Xee as d6,Zee as d7,dK as d8,aie as d9,pie as dA,Pm as dB,Rne as dC,Dne as dD,tK as dE,Hee as dF,Qee as dG,ite as dH,xte as dI,wte as dJ,k1 as dK,Mm as dL,v1 as dM,aJ as dN,Tte as dO,qr as dP,ik as dQ,Lte as dR,$te as dS,Kte as dT,Hte as dU,Ute as dV,Gte as dW,Qte as dX,Af as dY,Mte as dZ,zae as d_,sie as da,oie as db,lie as dc,Jee as dd,_s as de,yH as df,wH as dg,nte as dh,rZ as di,vae as dj,kK as dk,Cte as dl,wae as dm,kae as dn,Sae as dp,xae as dq,nne as dr,Ste as ds,jte as dt,Ate as du,_te as dv,Nte as dw,b1 as dx,Or as dy,zm as dz,uie as e,Pee as e0,Xg as e1,cne as e2,Rae as e3,Iae as e4,Pte as e5,qee as e6,Ote as e7,qte as e8,Ite as e9,vee as eA,$ae as eB,Hae as eC,Vae as eD,Kae as eE,So as eF,Cee as eG,See as eH,Gae as eI,kee as eJ,VI as eK,Aee as eL,jee as eM,Dae as ea,ene as eb,W9 as ec,bne as ed,fne as ee,xne as ef,vne as eg,fk as eh,Nee as ei,iw as ej,wee as ek,Ki as el,Ra as em,xee as en,Xd as eo,Gee as ep,BQ as eq,Mae as er,Pae as es,WX as et,Uae as eu,fY as ev,Fae as ew,Zae as ex,Bae as ey,Lae as ez,Kd as f,rie as g,die as h,mie as i,b0 as j,Ic as k,pZ as l,Jae as m,qU as n,CG as o,Jte as p,jae as q,Nae as r,ane as s,iH as t,x1 as u,Na as v,Ree as w,W as x,l1 as y,bo as z};
|